# ContractPlanPriceDto

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

One priced revision of a plan, as published to callers.

## Fields
- `id` (string(uuid)): Identifies this revision.
- `billSubtotalAmount` (number(double)): The base amount charged each cycle, before tax.
- `taxAmount` (number(double)): The tax added to the base amount each cycle, or null when the plan carries no tax line. (nullable)
- `totalAmount` (number(double)): The total charged to the subscriber's payment method each cycle.
- `effectiveFrom` (string(date-time)): The moment this revision starts applying, in UTC.
- `policy` ([ContractPlanPriceChangePolicy](https://devportal.demo.winkpg.io/docs/api/models/ContractPlanPriceChangePolicy.md)): The propagation policy the revision was saved under.
  Values:
  - `Immediate`: The new price applies to every charge executed from the moment the change was saved, including a charge that was already due and has not run yet.
  - `NextCycle`: The new price applies only to charges that fall due after the change was saved. A charge that was already due when the price changed still bills at the old price, so a subscriber is never re-priced part-way through a cycle they have already entered.
  - `Scheduled`: The new price applies to charges executed on or after an operator-chosen effective moment. Until then every subscriber keeps billing at the previous price.
- `recordedAt` (string(date-time)): When the revision was saved, in UTC.
- `recordedByUserId` (string(uuid)): The operator who saved the revision, or null when the platform wrote it. (nullable)
- `note` (string): Why the price changed, in the operator's own words. (nullable)

## See also

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