# ApplyTenderInput

input type

Apply-input for applyTender: collectedMinor = the cash physically handed over (BEFORE change, tip included) or the externally-authorized amount. cash REQUIRES the open till session and REFUSES the capture block; external_card the exact mirror; foreign_cash names the tendered currency (collectedCurrency — collectedMinor is in ITS minor units), REQUIRES the till, is converted at OUR stored BUY rate (settle + change in the org default currency; no covering rate = CONFLICT/NO_EFFECTIVE_RATE, retryable), and carries no tip (a named deferral). Dormant types refuse VALIDATION/UNSUPPORTED naming their arrival.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `orderId` | [ID](/types/#scalars) `ID!` | yes | No further notes. |
| `expectedRevision` | [ID](/types/#scalars) `ID!` | yes | The Order revision the caller read. |
| `tenderType` | [TenderType](/types/TenderType/) `TenderType!` | yes | No further notes. |
| `collectedMinor` | [Int](/types/#scalars) `Int!` | yes | The POSITIVE physical/authorized amount in minor units. |
| `collectedCurrency` | [String](/types/#scalars) | no | The TENDERED currency — REQUIRED iff foreign_cash, REFUSED otherwise. |
| `tipMinor` | [Int](/types/#scalars) | no | The tip portion of collectedMinor. REFUSED on foreign_cash. |
| `tillSessionId` | [ID](/types/#scalars) | no | The OPEN drawer session — REQUIRED for cash/foreign_cash, REFUSED otherwise. |
| `externalCard` | [TenderExternalCardInput](/types/TenderExternalCardInput/) | no | The pinpad capture — REQUIRED for external_card, REFUSED otherwise. |
| `card` | [TenderCardInput](/types/TenderCardInput/) | no | The tokenized method presentation — REQUIRED for card, REFUSED otherwise. |
| `instrument` | [TenderInstrumentInput](/types/TenderInstrumentInput/) | no | The instrument presentation — REQUIRED for gift_card/gift_certificate/store_credit, REFUSED otherwise. The redeem lane: active-only · type⟺tender · same-currency · ≤ the remaining due (NO change — the no-cash-out strict default) · ≤ the balance (CONFLICT/INSUFFICIENT_BALANCE — exhaust exactly + split-tender the remainder); NO tip; NO tillSessionId (no drawer money). |
| `reason` | [String](/types/#scalars) | no | Optional — why this tender (at most 256 characters). When the tender charges a house account (on_account) the reason is recorded on that ledger too — at most 256 characters there. |
| `caption` | [String](/types/#scalars) | no | Optional caption override. |
| `refs` | [String](/types/#scalars) `[String!]` | no | Provenance document refs (bounded free strings). |

## Used by

- [applyTender](/reference/selling/applyTender/)
