Skip to main content

Localisation & Order Mode

What it does: Detects the customer's market and language, lets them choose how they want to order (delivery or collection), and selects their store or delivery address.

Why it matters: Every subsequent experience β€” menu, pricing, promotions, checkout β€” depends on the market context being correctly established first. Getting this wrong means customers see the wrong menu, wrong prices, or can't check out at all.


Feature Table​

FeatureProblem It SolvesWhat It DoesHow It WorksDependenciesPrerequisitesLimitationsImpacted Metrics
Start LocalisationCustomers need to be matched to the right marketDetects customer's market via geo-IP or explicit selection; sets localeApp calls Config service β†’ gets available markets; Geo service resolves location β†’ market confirmedGeo service, Config service, Context serviceMarket must be configured in Byte PortalContext fetch must be ≀150ms p95; market detection can fail if geo blockedLocalisation success rate, drop-off rate
Set Order Mode β€” CollectionCustomer wants to pick up from a storeLets customer search for and select a KFC store for collectionCustomer selects store β†’ store ID stored in session contextStore Locator, Context serviceStore must be active and openCannot collect from closed or limited storesCollection order rate
Set Order Mode β€” DeliveryCustomer wants food deliveredLets customer enter a delivery address and validates coverageCustomer enters address β†’ coverage check β†’ delivery zone confirmedGeo service, Coverage service, Context serviceStore with delivery coverage must be availableNo fallback if no stores cover address; coverage varies by marketDelivery order rate, coverage hit rate
Find a KFC (Store Locator)Customer wants to find their nearest restaurantShows a map/list of KFC stores with hours, distance, and featuresCalls Store Locator with customer location; returns store list with status and hoursStore Locator, Maps provider, Store dataGPS/location permission or manual address entryTrading hours managed in Byte Portal; real-time state (open/closed) must be accurateStore locator engagement
View & Edit Saved AddressesRegistered customers want to reuse delivery addressesShows saved addresses and lets customers edit or delete themFetches address list from Address service; updates written backAddress serviceCustomer must be signed inNot available to guest usersAddress save rate, checkout speed

Technical Sources​

πŸ“Ž Technical Source: Start Localisation
  • FRD References: FRD-HEL-005, FRD-HEL-082
  • TRD Domain: Localisation & Order Mode
  • Key Interfaces / APIs: Locale Config, Geo Resolve Market, Set Fulfilment Mode
  • Data Contracts: Context (market, language, mode, storeId β€” signed context IDs)
  • Source Summary:
    • Context persisted per user/device; signed for integrity
    • p95 fetch target: ≀150ms
    • Fallback: if coverage unavailable (5xx), offer collection mode with error telemetry
    • Context API: backward compatible minor, 90-day deprecation
    • Market config owned by Byte Portal / Shared Catalogues
πŸ“Ž Technical Source: Set Order Mode β€” Delivery
  • FRD References: FRD-HEL-007
  • TRD Domain: Localisation & Order Mode
  • Key Interfaces / APIs: Set Fulfilment Mode, Coverage Check, Address Validate
  • Data Contracts: Context (mode=delivery, storeId, coverageZoneId)
  • Source Summary:
    • Coverage check runs before mode is confirmed
    • Failure (no coverage): user offered collection mode instead
    • Context signed and persisted across session
    • Delivery tracking availability is market-dependent (optional)
    • Trading hours from Byte Portal Stores module must be accurate

See it in the wiki