# PromotionDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

A promotion as read back over the API and rendered in the administrative grid.

## Fields
- `extraProperties` (object): (nullable, read only)
- `id` (string(uuid))
- `creationTime` (string(date-time)): The date and time when this entity was created.
- `creatorId` (string(uuid)): The ID of the user who created this entity. (nullable)
- `lastModificationTime` (string(date-time)): The date and time when this entity was last modified. (nullable)
- `lastModifierId` (string(uuid)): The ID of the user who last modified this entity. (nullable)
- `isDeleted` (boolean): Indicates whether this entity has been deleted.
- `deleterId` (string(uuid)): The ID of the user who deleted this entity, if it is deleted. (nullable)
- `deletionTime` (string(date-time)): The date and time when this entity was deleted, if it is deleted. (nullable)
- `merchantId` (string(uuid)): The merchant that owns this promotion.
- `code` (string): The code a payer types, in its stored normalized form. (nullable)
- `name` (string): Operator-facing promotion name. (nullable)
- `description` (string): Free-text description of the promotion. (nullable)
- `discountType` ([PromotionDiscountType](https://devportal.demo.winkpg.io/docs/api/models/PromotionDiscountType.md)): Whether the value is a percentage or a flat amount.
  Values:
  - `Percent`: A percentage of the amount, for example 10 meaning 10%.
  - `Flat`: A flat amount in the promotion's currency, for example 5 meaning 5.00.
- `value` (number(double)): The percentage, or the flat amount in `currency`.
- `currency` (string): The ISO 4217 currency, when the promotion is pinned to one. (nullable)
- `startsAtUtc` (string(date-time)): UTC moment the promotion starts being accepted. (nullable)
- `endsAtUtc` (string(date-time)): UTC moment the promotion stops being accepted. (nullable)
- `maxRedemptions` (integer(int32)): How many times the promotion may be redeemed in total. (nullable)
- `maxRedemptionsPerCustomer` (integer(int32)): How many times one customer may redeem it. (nullable)
- `minimumSubtotal` (number(double)): The smallest amount the promotion applies to. (nullable)
- `redemptionCount` (integer(int32)): How many times the promotion has been redeemed.
- `remainingRedemptions` (integer(int32)): How many redemptions remain before the total ceiling, or `null` when there is no ceiling. (nullable)
- `appliesToScope` ([PromotionAppliesToScope](https://devportal.demo.winkpg.io/docs/api/models/PromotionAppliesToScope.md)): What the promotion may be applied to.
  Values:
  - `Any`: Anything the merchant charges for. No target list is consulted.
  - `HostedPages`: Only the named hosted payment pages.
  - `Products`: Only the named products.
  - `Plans`: Only the named contract plans.
- `appliesToTargetIds` (array<string(uuid)>): The pages, products or plans the scope names. (nullable)
- `durationMode` ([PromotionDurationMode](https://devportal.demo.winkpg.io/docs/api/models/PromotionDurationMode.md)): How long the discount runs on a recurring charge.
  Values:
  - `FirstBillOnly`: Discount only the first bill.
  - `Cycles`: Discount a fixed number of billing cycles.
  - `UntilRemoved`: Discount every bill until someone takes the promotion off the subscription.
- `durationCycles` (integer(int32)): How many billing cycles the discount runs for, when the duration counts cycles. (nullable)
- `isActive` (boolean): Whether the promotion is accepted.
- `isRedeemable` (boolean): Whether the promotion would be accepted right now: active, inside its window, and with  redemptions left. It says nothing about any particular order, which only an evaluation  against a real amount and target can answer.
- `concurrencyStamp` (string): Optimistic concurrency token. (nullable)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
