Map
Which system each fact comes from, who owns it, and how fresh it is at 23:00:00 GST.Systems
7| System | What it holds | Owner | Refresh | Last refreshed (GST) | Age | Keys | Note |
|---|---|---|---|---|---|---|---|
| Orders API | api | Platform Engineering | streaming | Fri 22:59 | 2 s ago | ||
| POS integration logs | log_stream | Integrations | streaming | Fri 22:59 | 19 s ago | ||
| Menu service | service | Catalogue | every 15 min | Fri 22:45 | 14 min ago | ||
| Billing | erp | Finance | daily 02:00 | Fri 02:04 | 20 h 55 min ago | ||
| CRM | saas | Sales Ops | hourly | Fri 22:00 | 59 min ago | ||
| Support desk | saas | Customer Success | every 5 min | Fri 22:57 | 2 min ago | ||
| Dispatch | api | Logistics | streaming | Fri 22:59 | 10 s ago |
Markets in this world
world preset gulf: shaped after a Gulf delivery platform · clock GST| Code | Market | Currency | Time zone | Cities |
|---|---|---|---|---|
| AE | UAE | AED | Asia/Dubai (GST) | Dubai, Abu Dhabi |
| SA | KSA | SAR | Asia/Riyadh (AST) | Riyadh, Jeddah |
| QA | Qatar | QAR | Asia/Qatar (AST) | Doha |
| KW | Kuwait | KWD | Asia/Kuwait (AST) | Kuwait City |
| BH | Bahrain | BHD | Asia/Bahrain (AST) | Manama |
| GB | UK | GBP | Europe/London (BST) | London |
| ES | Spain | EUR | Europe/Madrid (CEST) | Madrid |
Public knowledge
- Market currencies and their rates to AED come from canon/fx.py: AED, SAR, QAR and BHD are pegged to the US dollar, KWD follows a basket, GBP and EUR are a fixed snapshot.
- VAT on restaurant orders: UAE 5%, Saudi Arabia 15%, Bahrain 10%, Qatar and Kuwait none, UK 20%, Spain 10%.
- Weekends: the UAE rests Saturday and Sunday, the other Gulf states Friday and Saturday.
- IANA time zones; city and neighbourhood names with their approximate centres.
- Which delivery apps operate in which market (Talabat, Deliveroo, Keeta, Noon, HungerStation, Jahez, InstaShop, Smiles, The Chefz, ToYou, Mrsool, Snoonu, Glovo), and which POS vendors, printers, KDS, ERPs and dispatch fleets sell to restaurants there.
Assumed
- Every share and probability: which apps a store is listed on and how its demand splits between them; POS, printer, KDS, ERP and dispatch shares; the cuisine mix.
- Commission ranges, aggregator menu mark-ups, local price levels, order volume per market and the number of stores per city.
- The hourly order curves, the Thursday and Friday lift and the summer dips.
- Vendor version numbers, install weights, error rates and token lifetimes; the POS release regression and every other incident.
- Customer success managers are invented people.
- The second marketplace in the UK and Spain is a generic 'Other marketplace', not a named brand.
Facts and their source
| Fact | System | Table / column | Join key | Used by |
|---|---|---|---|---|
| accepted_at | Orders API | orders.accepted_at | ||
| first_order_at | Orders API | merchants.first_order_at | ||
| order_events | Orders API | order_events.type | ||
| orders_daily | Orders API | orders_daily.orders | ||
| placed_at | Orders API | orders.placed_at | ||
| rejection_reason | Orders API | orders.rejection_reason | ||
| status | Orders API | orders.status | ||
| total | Orders API | orders.total | ||
| auth_expires_at | POS integration logs | integrations.auth_expires_at | ||
| injected_at | POS integration logs | orders.injected_at | ||
| integration_events | POS integration logs | integration_events.type | ||
| integration_status | POS integration logs | integrations.status | ||
| last_sync_at | POS integration logs | integrations.last_sync_at | ||
| pos_version | POS integration logs | integrations.version | ||
| ready_at | POS integration logs | orders.ready_at | ||
| base_price | Menu service | menu_items.base_price | ||
| item_available | Menu service | branch_menu.available | ||
| menu_price | Menu service | branch_menu.price | ||
| menu_synced_at | Menu service | branch_menu.last_synced_at | ||
| commission_pct | Billing | branch_channels.commission_pct | ||
| due_at | Billing | invoices.due_at | ||
| invoice_amount | Billing | invoices.amount | ||
| issued_at | Billing | invoices.issued_at | ||
| paid_at | Billing | invoices.paid_at | ||
| capacity_per_15min | CRM | branches.capacity_per_15min | ||
| channel_status | CRM | branch_channels.status | ||
| churned_at | CRM | merchants.churned_at | ||
| contract_signed_at | CRM | merchants.contract_signed_at | ||
| csm_owner | CRM | merchants.csm_owner | ||
| onboarded_at | CRM | merchants.onboarded_at | ||
| plan | CRM | merchants.plan | ||
| segment | CRM | merchants.segment | ||
| ticket_category | Support desk | tickets.category | ||
| ticket_closed_at | Support desk | tickets.closed_at | ||
| ticket_opened_at | Support desk | tickets.opened_at | ||
| delivered_at | Dispatch | orders.delivered_at | ||
| picked_up_at | Dispatch | orders.picked_up_at |