Endless Aisle
associate action transactional
Outcome
A store associate can sell items not physically present in-store and fulfil them from any available location.
Service Flow
flowchart LR
S0["Search Customer"]
S1["Check Availability"]
S0 --> S1
S2["Create Basket"]
S1 --> S2
S3["Create Order"]
S2 --> S3
S4["Authorize Payment"]
S3 --> S4
S5["Route Order"]
S4 --> S5
Capabilities
Customer Identity Inventory Visibility Basket Management Order Management Order Orchestration Payment Processing
Domains
customer commerce inventory order payment fulfillment
Business Objects
| Object |
Classification |
Domain |
| customer |
aggregate-root |
customer |
| basket |
aggregate-root |
commerce |
| inventory |
aggregate-root |
inventory |
| order |
aggregate-root |
order |
| payment |
aggregate-root |
payment |
Business Services
search-customer
check-availability
create-basket
create-order
authorize-payment
route-order
Applications
| Application |
Classification |
POS pos |
system-of-engagement |
Clienteling App clienteling-app |
system-of-engagement |
OMS oms |
system-of-record |
Inventory Service inventory-service |
system-of-intelligence |
Payment Hub payment-hub |
platform |
| Event |
Classification |
Object |
Terminal |
CustomerRegistered |
created |
customer |
— |
CustomerIdentified |
transitioned |
customer |
— |
CustomerMerged |
transitioned |
customer |
— |
BasketCreated |
created |
basket |
— |
BasketUpdated |
updated |
basket |
— |
BasketCalculated |
calculated |
basket |
— |
BasketConverted |
transitioned |
basket |
✓ |
BasketAbandoned |
transitioned |
basket |
✓ |
BasketMerged |
transitioned |
basket |
✓ |
OrderCreated |
created |
order |
— |
OrderValidated |
transitioned |
order |
— |
OrderConfirmed |
transitioned |
order |
— |
OrderModified |
updated |
order |
— |
OrderCancelled |
transitioned |
order |
✓ |
OrderClosed |
transitioned |
order |
✓ |
OrderSplit |
transitioned |
order |
— |
OrderRouted |
transitioned |
order |
— |
FulfillmentLocationReassigned |
transitioned |
order |
— |
AtpCalculated |
calculated |
inventory |
— |
PaymentAuthorized |
transitioned |
payment |
— |
PaymentCaptured |
transitioned |
payment |
— |
PaymentVoided |
transitioned |
payment |
✓ |
PaymentRefunded |
transitioned |
payment |
— |
PaymentSettled |
transitioned |
payment |
✓ |
FulfillmentOrderCreated |
created |
fulfillment-order |
— |
CustomerCreated |
created |
customer |
— |
InventoryChecked |
updated |
inventory |
— |
GiftCardActivated |
transitioned |
gift-card |
— |
GiftCardRedeemed |
updated |
gift-card |
— |
GiftCardToppedUp |
updated |
gift-card |
— |
GiftCardExpired |
transitioned |
gift-card |
— |
GiftCardCancelled |
transitioned |
gift-card |
— |
GiftCardRefunded |
transitioned |
gift-card |
— |
RefundProcessed |
updated |
refund |
— |
RefundFailed |
transitioned |
refund |
— |
RefundConvertedToCredit |
transitioned |
refund |
— |
BasketLineAdded |
created |
basket-line |
— |
| Endpoint |
Method |
Service |
Description |
/orders |
POST |
create-order |
Creates a new Order from a validated Basket, transition… |
/orders/{id} |
GET |
track-order |
Retrieves the full state of an Order including lines, p… |
/orders/{id}/cancel |
POST |
cancel-order |
Cancels a confirmed Order, triggering reversal of payme… |
/orders/{id}/confirm |
POST |
confirm-order |
Confirms a validated Order once payment is authorised, … |
/orders/{id}/route |
POST |
route-order |
Executes routing logic to assign the optimal fulfillmen… |
/inventory/items/{sku} |
GET |
retrieve-location-stock |
Returns available, reserved, and allocated quantities f… |
/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… |
/customers |
POST |
register-customer |
Registers a new Customer, creating a unique identity re… |
/customers |
GET |
search-customer |
Resolves a Customer by email, phone, loyalty card or ex… |
/transactions/{id}/payment |
POST |
authorize-payment |
Adds a payment tender to an in-progress POS transaction… |
/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… |
/inventory/{sku}/availability |
GET |
check-availability |
Returns real-time ATP (Available-to-Promise) quantity f… |
Validation Rules
| Rule |
Type |
Severity |
Condition |
endless-aisle-requires-active-channel |
pre-condition |
invariant |
channel.lifecycle = active AND channel.type = store |
← Back to Process Catalog