Skip to main content

Checkout

What it does: Guides the customer from cart to placed order β€” collecting delivery details, validating everything, and submitting the order intent.

Why it matters: Checkout is the highest-stakes step. Any failure here means a lost sale. Checkout must handle guest users, delivery vs. collection differences, and be resilient to submission errors.


Feature Table​

FeatureProblem It SolvesWhat It DoesHow It WorksDependenciesPrerequisitesLimitationsImpacted Metrics
Guest CheckoutNot every customer wants to create an accountLets customers place an order without signing inSession-based checkout: OTP email or anonymous session used; cart tied to sessionCheckout Orchestrator, Address serviceValid cart with itemsNo order history or loyalty for guest sessions; addresses not savedGuest checkout conversion rate
Checkout β€” DeliveryCustomer wants food delivered to their addressCollects delivery address, shows fees, submits orderAddress validated β†’ delivery fees quoted β†’ order submitted with delivery info attachedCheckout Orchestrator, Address service, Geo serviceDelivery mode set; store with delivery coverage activeAddress must be within coverage zone; fees are backend-calculated (not Byte Helium-owned)Delivery checkout rate
Checkout β€” CollectionCustomer picking up in storeSimplified checkout with store selection and pickup timeStore confirmed β†’ no address needed β†’ order submittedCheckout OrchestratorCollection mode set; store openStore must be in open state; throttling policies may limit ordersCollection checkout rate
Checkout Delivery VariantsDifferent markets/scenarios have different checkout flowsSupports market-specific checkout step configurationsOrchestrator manages variant-aware checkout sessions; steps vary by contextCheckout OrchestratorMarket variant configuredVariants must be configured by the market team β€” not self-serve from Byte HeliumCheckout completion rate by variant
Order AgainCustomer wants to repeat a previous orderRepopulates cart with items from a past orderPrevious order detail fetched β†’ items added back to cart β†’ checkout resumedOrders service, Cart ServiceCustomer must be signed in; previous orders must existItems unavailable in current menu will be excluded with a warningReorder rate

Technical Sources​

πŸ“Ž Technical Source: Guest Checkout / Delivery Checkout
  • FRD References: FRD-HEL-012, FRD-HEL-013, FRD-HEL-014, FRD-HEL-015
  • TRD Domain: Checkout (Core)
  • Key Interfaces / APIs: Start/Resume Checkout, Address Create/Validate, Fees & Taxes Quote, Submit Order
  • Data Contracts: CheckoutSession (id, cartRef, mode, steps); OrderIntent (totals, tenders, deliveryInfo β€” with idempotency keys)
  • Source Summary:
    • Checkout submission p99: β‰₯99.5% success
    • Idempotency keys prevent duplicate orders on resubmit (409 replay returns original orderRef)
    • Fees and taxes calculated by backend β€” Byte Helium displays only
    • Orchestrator APIs: additive changes only, 120-day deprecation
    • Correlation IDs tracked for all submission events

See it in the wiki