# CashPolicyDto

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

The merchant's rules for sales and refunds taken in cash. Additive and optional on the merchant
create, update and read surfaces: a caller that omits it keeps today's behavior, which is that no
cash rule applies.

## Fields
- `maxTransactionAmount` (number(double)): The largest amount a single cash sale may be, in major units of the transaction currency  (500.00 means five hundred). Omitted or null sets no maximum. Zero or greater when set. Conditional: When MaxTransactionAmount is not null. Must be >= 0. (nullable)
- `managerApprovalThreshold` (number(double)): The amount above which a cash sale needs a manager's approval, in major units of the  transaction currency. Omitted or null never requires approval. Zero or greater when set, and no greater than `maxTransactionAmount`  when both are set. Conditional: When ManagerApprovalThreshold is not null. Must be >= 0. Conditional: When ManagerApprovalThreshold is not null and MaxTransactionAmount is not null. (nullable)
- `refundPolicy` ([CashRefundPolicy](https://devportal.demo.winkpg.io/docs/api/models/CashRefundPolicy.md)): How a sale paid in cash is refunded. Omitted or null means `ManagerDiscretion`, which  leaves the choice to the person taking the refund. Conditional: When RefundPolicy is not null. (nullable)
  Values:
  - `CashBack`: The refund is paid out in cash.
  - `StoreCredit`: The refund is issued as store credit rather than cash.
  - `OriginalTenderOnly`: The refund goes back only to the tender the sale was paid with, and no other refund method is offered.
  - `ManagerDiscretion`: A manager decides how each refund is paid.
- `tillTrackingRequired` (boolean): Whether a cash transaction has to name the till (cash drawer) it was taken into. Omitted or  null does not require one. (nullable)
- `allowNonTerminalSources` (boolean): Whether a cash transaction may be recorded from a source other than the Virtual Terminal,  such as the API, recurring billing, invoicing or an offline batch. Omitted, null and  `true` allow it; only `false` restricts cash to the Virtual Terminal. (nullable)
- `cashBackRefundMaxAmount` (number(double)): The largest refund of a cash sale that may be paid back in cash, in major units of the  transaction currency. Omitted or null sets no cap.  Zero or greater when set, and no greater than `maxTransactionAmount` when both  are set. Conditional: When CashBackRefundMaxAmount is not null. Must be >= 0. Conditional: When CashBackRefundMaxAmount is not null and MaxTransactionAmount is not null. (nullable)

## See also

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