CustomerOrderApprovalView
screen 14: an over-limit portal checkout parked for approval. No order exists until an approver says yes; approval replays the snapshot through the canonical checkout path with a fresh reprice.
type CustomerOrderApprovalView {
addressFull: String
addressLabel: String
companyName: String
createdAt: DateTime!
currency: String!
decidedAt: DateTime
decidedByName: String
declineReason: String
deliveryFee: Float
deliveryFeeWaived: Boolean
discountAmount: Float
discountDerived: Boolean
grossSubtotal: Float
id: ID!
limitAtRequest: Float
lineCount: Int!
lines: [CustomerApprovalLine!]!
notes: String
paymentMethod: String
poNumber: String
reason: String!
requestNumber: String!
requestedById: ID!
requestedByName: String!
resultingOrderId: ID
resultingOrderNumber: String
status: String!
subtotal: Float
taxAmount: Float
taxableAmount: Float
totalAmount: Float!
}
Fields
CustomerOrderApprovalView.addressFull ● String scalar
The delivery address in full, resolved live from the snapshot's addressId so requests parked before this existed show it too. Null when the address has since been deleted.
CustomerOrderApprovalView.addressLabel ● String scalar
The label of the delivery address.
CustomerOrderApprovalView.companyName ● String scalar
The buying company (Partner) this request belongs to — resolved live, not snapshotted.
CustomerOrderApprovalView.createdAt ● DateTime! non-null scalar
When the record was created.
CustomerOrderApprovalView.currency ● String! non-null scalar
ISO 4217 currency code.
CustomerOrderApprovalView.decidedAt ● DateTime scalar
When it was decided.
CustomerOrderApprovalView.decidedByName ● String scalar
The name of the person who decided.
CustomerOrderApprovalView.declineReason ● String scalar
Why it was declined.
CustomerOrderApprovalView.deliveryFee ● Float scalar
The delivery fee.
CustomerOrderApprovalView.deliveryFeeWaived ● Boolean scalar
True when the delivery fee was waived.
CustomerOrderApprovalView.discountAmount ● Float scalar
Σ line discounts frozen at request time. Absent (not 0) on requests parked before discounts were snapshotted.
CustomerOrderApprovalView.discountDerived ● Boolean scalar
TRUE when discountAmount was derived from today's prices rather than read from the snapshot (see CustomerApprovalLine.discountDerived).
CustomerOrderApprovalView.grossSubtotal ● Float scalar
The TRUE pre-discount gross — the cart's own 'Subtotal' row. Never reconstruct it by adding the discount back onto the net subtotal: that re-rounds an already-rounded figure and drifts a cent (BUG-20260818).
CustomerOrderApprovalView.id ● ID! non-null scalar
The unique ID of this record.
CustomerOrderApprovalView.limitAtRequest ● Float scalar
The limit at request time — the requester's customerOrderLimit, or the branch orderLimit for OVER_BRANCH_LIMIT (display: "Over her R 20,000 limit").
CustomerOrderApprovalView.lineCount ● Int! non-null scalar
How many lines the order has.
CustomerOrderApprovalView.lines ● [CustomerApprovalLine!]! non-null object
The lines of the order.
CustomerOrderApprovalView.notes ● String scalar
Buyer-supplied checkout note.
CustomerOrderApprovalView.paymentMethod ● String scalar
CustomerPaymentMethod value at checkout, when recorded.
CustomerOrderApprovalView.poNumber ● String scalar
Buyer-supplied PO number (free text).
CustomerOrderApprovalView.reason ● String! non-null scalar
Why it routed to approval: OVER_USER_LIMIT | OVER_CREDIT_LIMIT | OVER_BRANCH_LIMIT.
CustomerOrderApprovalView.requestNumber ● String! non-null scalar
REQ-… (per-org sequence, minted server-side).
CustomerOrderApprovalView.requestedById ● ID! non-null scalar
The ID of the person who asked for approval.
CustomerOrderApprovalView.requestedByName ● String! non-null scalar
The name of the person who asked for approval.
CustomerOrderApprovalView.resultingOrderId ● ID scalar
The ID of the order that was placed once approved.
CustomerOrderApprovalView.resultingOrderNumber ● String scalar
The number of that order.
CustomerOrderApprovalView.status ● String! non-null scalar
Pending | Approved | Declined (DESIGN-SPEC approvals vocabulary).
CustomerOrderApprovalView.subtotal ● Float scalar
Net-of-discount taxable amount — the tax base, not the gross.
CustomerOrderApprovalView.taxAmount ● Float scalar
The tax on the order.
CustomerOrderApprovalView.taxableAmount ● Float scalar
The full tax base taxAmount was computed on — subtotal + deliveryFee (this bill has no INCLUSIVE-tax concept, unlike the mobile order/invoice bill). Distinct from subtotal, which excludes the delivery fee. Absent on requests parked before this was snapshotted.
CustomerOrderApprovalView.totalAmount ● Float! non-null scalar
The order total.
Returned By
customerMyApprovalRequests query ● customerPendingApprovals query
Member Of
CustomerApprovalDecisionResult object ● CustomerOrderApprovalConnection object