Wocart

@wocart/storefront v3.1.0


@wocart/storefront / index / CheckoutDraft

Interface: CheckoutDraft

Mutable checkout intent before the server accepts an order.

Invariant: mode: "single" has exactly one line; mode: "basket" has one or more lines. This is intentionally a domain contract, not a second copy of merchant checkout-policy validation: the server remains the owner of required fields, legal pages, prices, stock and delivery rules.

Properties

address?

readonly optional address?: string


attribution

readonly attribution: CheckoutAttribution


couponCode?

readonly optional couponCode?: string

The code the shopper typed, if any; the server decides whether it applies.


customerName

readonly customerName: string


customFieldResponses

readonly customFieldResponses: readonly CheckoutFieldAnswer[]


delivery

readonly delivery: object

address?

optional address?: string

communeId

communeId: string

deliveryType

deliveryType: "home" | "stop_desk"

wilayaId

wilayaId: number


email?

readonly optional email?: string


lines

readonly lines: readonly object[]


mode

readonly mode: "single" | "basket"


notes?

readonly optional notes?: string


otpProof

readonly otpProof: { kind: "verified"; phone: string; token: string; } | { kind: "bypass"; phone: string; reason: string; token: string; }


phone

readonly phone: string