The table below provides sample JSON schemas for specific use cases when using the Point of Sale Get Order SPI.
| Use Case | Refer to Attribute | Notes |
|---|---|---|
| Sale | ||
| Single-item sale | orderProductList | |
| Multi-item sale | orderProductList | |
| Sale with customer | customerProfile<br>email<br>phoneNumber<br>billingAddress | |
| Item-level discount | priceOverrideReason<br>priceOverrideReasonCode<br>orderProductList.priceAdjustments<br>orderProductList.discount<br>orderProductList.promotionTitle<br>orderProductList.reasons<br>productPriceAdjustments<br>reasons | • To calculate item-level discounts, use orderProductList.price - orderProductList.discount |
| Transaction-level discount | orderProductList.priceAdjustments<br>orderProductList.discount<br>orderProductList.promotionTitle<br>orderProductList.reasons<br>productPriceAdjustments<br>reasons<br>transactionDiscountAmount<br>transactionDiscountReason | |
| Promotion | orderProductList.priceAdjustments<br>orderProductList.discount<br>orderProductList.promotionTitle<br>orderProductList.reasons<br>productPriceAdjustments | |
| Single-Use Promotion Code (SUPC) | priceOverrideReason<br>priceOverrideReasonCode<br>orderProductList.priceAdjustments<br>orderProductList.discount<br>orderProductList.promotionTitle<br>orderProductList.reasons<br>productPriceAdjustments<br>reasons<br>coupons | |
| Tax exemption | taxExemptions<br>orderProductList.taxExemption<br>orderProductList.productTax.taxExemption | |
| Item-level note | orderProductList.notesList | |
| Order-level note | notesList | |
| Split sales attribution | orderProductList.salesAssociateAttribution | |
| Sale / Omni | ||
| Charge & send / Endless aisle | shippingAddress<br>orderProductList.omniFulfillmentType | • omniFulfillmentType = SHIP_TO_HOME |
| Ship from store / Ship from another store | fulfillmentType<br>fulfillmentsubtype<br>shippingAddress<br>orderProductList.fulfillmentLocation<br>orderProductList.omniFulfillmentLocationType<br>orderProductList.omniFulfillmentType | • omniFulfillmentLocationType: Regular<br>• omniFulfillmentType: SHIP_TO_HOME_CURRENT_STORE |
| Tenders | ||
| Cash payment | tenders.paymentMethod<br>tenders.cardType | |
| Credit card payment | requestId<br>paymentDetails.alternateRequestId<br>paymentDetails.authorizationDate<br>paymentDetails.cardExpirationMonth<br>paymentDetails.cardExpirationYear<br>paymentDetails.cardNumber<br>paymentDetails.fundingSource | • fundingSource = CREDIT |
| Debit card payment | requestId<br>tenders.alternateRequestId<br>tenders.authorizationDate<br>tenders.cardExpirationMonth<br>tenders.cardExpirationYear<br>tenders.cardNumber<br>tenders.fundingSource | • fundingSource = DEBIT |
| Gift card payment | requestId<br>tenders.alternateRequestId<br>tenders.authorizationDate<br>tenders.cardExpirationMonth<br>tenders.cardExpirationYear<br>tenders.cardNumber<br>tenders.fundingSource | |
| Miscellaneous payment | tenders.accountNumber<br>tenders.externalPaymentReferenceId<br>tenders.requestId | |
| Split payment | requestId<br>tenders.alternateRequestId<br>tenders.authorizationDate<br>tenders.cardExpirationMonth<br>tenders.cardExpirationYear<br>tenders.cardNumber<br>tenders.fundingSource | • paymentDetails will show two payment objects if paid with two tenders |
| In-store pay by link | requestId<br>tenders.alternateRequestId<br>tenders.authorizationDate<br>tenders.cardExpirationMonth<br>tenders.cardExpirationYear<br>tenders.cardNumber<br>tenders.fundingSource<br>tenders.paymentSource | • paymentMethod = Paybylink<br>• paymentSource = Paybylink |
| Remote pay by link | requestId<br>tenders.alternateRequestId<br>tenders.authorizationDate<br>tenders.cardExpirationMonth<br>tenders.cardExpirationYear<br>tenders.cardNumber<br>tenders.fundingSource<br>tenders.paymentSource | • paymentMethod = RemotePaybylink<br>• paymentSource = RemotePaybylink |