Scan and Go¶
customer action transactional
Outcome¶
Customer completes payment on their device or at an exit terminal without queuing at a staffed checkout
Service Flow¶
flowchart LR
S0["Create Basket"]
S1["Add Basket Item"]
S0 --> S1
S2["Calculate Basket"]
S1 --> S2
S3["Evaluate Promotions"]
S2 --> S3
S4["Checkout Basket"]
S3 --> S4
S5["Authorize Payment"]
S4 --> S5
S6["Capture Payment"]
S5 --> S6
Capabilities¶
Basket Management Checkout Payment Processing Store Operations Promotions
Domains¶
commerce order payment store
Business Objects¶
| Object | Classification | Domain |
|---|---|---|
| basket | aggregate-root |
commerce |
| basket-line | entity |
commerce |
| order | aggregate-root |
order |
| payment | aggregate-root |
payment |
| promotion | aggregate-root |
promotion |
| terminal | entity |
store |
Business Services¶
create-basketadd-basket-itemcalculate-basketevaluate-promotionscheckout-basketauthorize-paymentcapture-payment
Applications¶
| Application | Classification |
|---|---|
POS pos |
system-of-engagement |
eCommerce Platform ecommerce-platform |
system-of-engagement |
Promotion Engine promotion-engine |
system-of-intelligence |
Payment Hub payment-hub |
platform |
Related Events¶
| Event | Classification | Object | Terminal |
|---|---|---|---|
BasketCreated |
created | basket | — |
BasketUpdated |
updated | basket | — |
BasketCalculated |
calculated | basket | — |
BasketCheckedOut |
transitioned | basket | ✓ |
BasketCheckoutStarted |
transitioned | basket | — |
BasketAbandoned |
transitioned | basket | ✓ |
BasketMerged |
transitioned | basket | ✓ |
PromotionApplied |
transitioned | promotion | — |
PromotionEvaluated |
calculated | promotion | — |
CouponValidated |
calculated | coupon | — |
CouponRedeemed |
transitioned | coupon | ✓ |
PaymentAuthorized |
transitioned | payment | — |
PaymentCaptured |
transitioned | payment | — |
PaymentVoided |
transitioned | payment | ✓ |
PaymentRefunded |
transitioned | payment | — |
PaymentSettled |
transitioned | payment | ✓ |
StoreDayOpened |
created | store-day | — |
StoreDayClosed |
transitioned | store-day | ✓ |
StoreTaskAssigned |
created | store-task | — |
StoreTaskCompleted |
transitioned | store-task | ✓ |
EmployeeActivated |
transitioned | employee | — |
EmployeeDeactivated |
transitioned | employee | — |
EmployeeOffboarded |
transitioned | employee | — |
EmployeeArchived |
transitioned | employee | — |
GiftCardActivated |
transitioned | gift-card | — |
GiftCardRedeemed |
updated | gift-card | — |
GiftCardToppedUp |
updated | gift-card | — |
GiftCardExpired |
transitioned | gift-card | — |
GiftCardCancelled |
transitioned | gift-card | — |
GiftCardRefunded |
transitioned | gift-card | — |
ReceiptIssued |
created | receipt | — |
ReceiptAmended |
updated | receipt | — |
ReceiptVoided |
transitioned | receipt | — |
ReceiptArchived |
transitioned | receipt | — |
RefundProcessed |
updated | refund | — |
RefundFailed |
transitioned | refund | — |
RefundConvertedToCredit |
transitioned | refund | — |
StoreDayPreOpeningStarted |
transitioned | store-day | — |
StoreDayOpened |
transitioned | store-day | — |
StoreDayClosingStarted |
transitioned | store-day | — |
StoreDayReconciliationStarted |
transitioned | store-day | — |
StoreDayClosed |
transitioned | store-day | — |
StoreDayReopened |
updated | store-day | — |
StoreDayExceptionDeclared |
transitioned | store-day | — |
CheckoutStarted |
transitioned | basket | — |
CheckoutCancelled |
transitioned | basket | — |
BasketLineAdded |
created | basket-line | — |
Related APIs¶
| Endpoint | Method | Service | Description |
|---|---|---|---|
/payments/authorizations |
POST | authorize-payment |
Submits a payment authorisation request for the order t… |
/payments/authorizations/{id}/capture |
POST | capture-payment |
Captures a previously authorised Payment. Requires paym… |
/payments/authorizations/{id}/void |
POST | void-payment |
Voids a payment authorisation that has not yet been cap… |
/payments/{id}/refunds |
POST | refund-payment |
Initiates a full or partial refund against a captured p… |
/promotions/evaluate |
POST | evaluate-promotions |
Evaluates all applicable promotions against a basket, a… |
/transactions |
POST | checkout-basket |
Opens a new POS transaction, initialising the basket fo… |
/transactions/{id}/payment |
POST | authorize-payment |
Adds a payment tender to an in-progress POS transaction… |
/transactions/{id}/void |
POST | cancel-order |
Voids an in-progress POS transaction before payment com… |
/baskets |
POST | create-basket |
Creates a new digital basket for an anonymous or authen… |
/baskets/{id}/lines |
POST | add-basket-item |
Adds a product line to an existing basket, validating a… |
/baskets/{id}/checkout |
POST | checkout-basket |
Converts a validated basket into an order, triggering p… |