Fields on a Talabat store card, menu item and mart product
A store row in a Talabat listing is a wide object rather than a card with four labels. It carries a restaurant id for the brand and a separate branch id for the outlet that actually cooks, both slugs, the branch name with its area appended, latitude and longitude, a cuisine string plus a cuisines array of id, name and slug, a hero image and a logo, the rating, the ratings count, the delivery fee, the minimum order amount, the average delivery time written twice - once as an integer of minutes and once as the phrase Within 27 mins - the delivery schedule, a status code, a preorder flag, a new flag, a catering flag, a VAT-inclusive flag, card and cash acceptance flags, a payment-methods array, a vertical type, a shop type such as TGO for own-fleet delivery, and a sponsored block with a campaign category, a cpc marker and a signed token.
Open a branch and the menu arrives whole. Categories carry an id and a name, and merchandised ones use negative ids, because Picks for you and Offers are assembled rather than authored. Each item ships an id, name, description, price, an old price that sits at minus one when nothing is discounted, an item-discount flag, a rating, an image and an original image, a section id and section name, a with-image flag, a top-rated flag and a hasChoices flag. Where that flag is set the modifier tree is its own object: a choice section with a name, a minimum and a maximum quantity, a selection string, and options that each hold an id, name, price, old price, a discount and a marker saying whether the option opens a second level of choices. Section ids and item ids are identical across the Arabic and English renderings of one branch, so to extract Talabat data in both languages you join on the id and never on the name.
Grocery and mart products use a third shape: a uuid, a Delivery Hero vendor uuid, title, slug, a long marketing description, original price, price, discount and discount percentage, an image list, a live stock amount, a merchant sku, and an attribute bag holding barcodes, pack size, gross weight, unit of measure, per-unit price and a returns policy, alongside a small localisation object keyed ar, en and ku.