Skip to main content

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