Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
stylenone

Store availability

Question

Answer

  • Webhook for store status?

Yes. You need to subcribe to the organizationsNotification webhook. you can get the callbackUrl from calling this endpoint: {{baseUrl}}/notifications/subscriptions

Code Block
languagejson

    {
        "subscriptionId": "6fe17e58-ffb3-4829-ab3d-62f5888f0859",
        "callbackUri": "https://play.svix.com/in/e_8c35PkfkLdaGK7Rv5oVfLVySc8b/",
        "messageType": {
            "id": "OrganizationsNotification" // notifies of changes in any of our locations. If a store goes offline, this should be notified in this webhook
        },
        "postOfficeOptions": {
            "postOfficeType": "PushOnePostOffice"
        },
        "orgShortName": "uat",
        "locRef": "99990",
        "rvcRef": "101"
    }
]

Menu pricing & availability

Question

Answer

  • What endpoints do we use to check availability?

To check availability, the following endpoints must be checked in this order:

  1. /menus endpoint – general availability of items in a restaurant.

  2. /menus/items/unavailable stock-out endpoint – item is temporarily out of stock at a restaurant.

In the /menus endpoint

– general availability of items in a restaurant.

:

  • For in-restaurant:

    • A product is available if it has both definitionSequence 1 and priceSequence 1 defined.

  • For delivery:

    • A product in available if it has both definitionSequence 2 and priceSequence 2 1 defined.

  • priceSequence can only be defined if definitionSequence is defined.

  • How do we calculate combo prices?

  • 2 ways to price combos:

    • Combo level

    • Combo item level

  • To calculate the combo price:

    • Add the prices of: combo price + main item price + side 1 price + side 2 price.

    • Any premium comboslot will have a price > 0. Non-premium comboslots will be priced at 0.

  • To get the price from Oracle’s /menus payload:

    • For the combo:

      1. Retrieve the menuItemRef in the ComboMeals object

        Image Added
      2. Using the menuItemRef, find the menu item that defines the combo and get its price for the applicable definitionSequence. That is the combo price.

        Image Added
    • For main item and sides:

      • In the ComboMeals object, use the prices defined at comboGrouplevel. If the price is not defined ("prices":[ ]), the price is 0.

        Image Added
      • The comboGroup with "isMainGroup":true contains the main item. The comboGroup with "isMainGroup":false contains the sides.

  • Webhook for pricing & availability changes? Khumbu relies on a daily sync to get that information and update P&A in RBI’s platform.

    • If so:

      • Does the webhook expose the actual DIFF (e.g. items created, updated or deleted with associated PLUs) or only notifies ‘'something changed’'?

      • Does the webhook do any bundling? For example, are the frequent updates within a short time period (e.g. 1 minute) sent as one update or every single change is published separately?

      • Is there versioning for the menu available within the webhook or part of a separate API call? (E.g. Version x.y. becoming version x.y+1 after a change)

  • P&A sync failure handling: Re-tries and backups

    • Caching and latency

  • Automated POS PLU sync from Oracle to Sanity (RBI CMS):

    • Does Oracle expose the full menu configured in the POS with its corresponding PLUs? Is it possible to have an automated process (e.g. with APIs) without having to export files to upload like done within the Deliverect POS sync capability?

  • RBI operates with Cloud Pricing and Availability in its most advanced markets. Is Oracle capable of receiving P&A data, rather than exposing? (RBI source of truth for P&A)

  • RBI operates with personalized pricing per channel in its most advanced markets (up to 32 price channels). How many pricing tiers can Oracle support?

  • RBI operates with Late Night pricing in its most advanced markets, increasing prices during a time interval on specific days. Is Oracle capable of operating with such information (receiving and / or exposing)?