Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Order injection capabilities and requirements of Oracle

Content

Service modes

Question

Answer

How are PLUs managed for different service modes?

Same PLU for both in-restaurant and delivery service modes. Different pricing is managed through definitionSequence.

  • definitionSequence = 1 is in-store.

  • definitionSequence = 2 is delivery.

Not all items have both definitions (e.g. some items aren’t sold in delivery).

image-20241006-171746.png

How do we distinguish service modes?

  • Use definitionSequence

  • Do not use different revenue centers – this means multiple configurations.

How do we send the table order number for table service orders?

Fees

Question

Answer

Sugar tax – is it added as surcharge to the product (included in priceSequence)?

E.g. Classic Coca-cola

Do we get the sugar tax as a separate line in the tax object?

Bottle deposit (Pfand)

Does it have a separate PLU?

Pfand has its own PLU and is treated as a condiment (modifier) to drinks. RBI does not need to send the pfand modifier, but Oracle will return the price with the pfand included.

Clarify requirement for market (BK DE) – do we need to show price of bottle deposit in the menu?

Does Oracle require a separate PLU for each fee?

Are the following fees supported: bag fee, service fee, delivery fee?

Fees are sent to Oracle in the commit call as serviceChargeId, which are configured in the oracle portal. They can retrieved using the {{baseUrl}}/serviceCharges/collection?OrgShortName={{OrgShortName}}&LocRef={{LocRef}}&RvcRef={{RvcRef}} endpoint.

{
    "items": [
        {
            "serviceChargeId": 101,
            "name": "% Tip",
            "type": "percentage",
            "value": 0
        },
        {
            "serviceChargeId": 102,
            "name": "$ Tip",
            "type": "amount",
            "value": 0
        },
        {
            "serviceChargeId": 106,
            "name": "Delivery Chrg",
            "type": "amount",
            "value": 5
        }
      ]
  }

Order firing & cancelation

Question

Answer

FireOrder webhook. Does Symphony support ’suspended’ orders? That is, orders sent with fireOrderInSeconds=null which need to get fired at a later time.

For pre-ordering outside opening hours – does Oracle support pricing & committing orders outside restaurant opening hours?

E.g.: An order is priced and committed, at 6:00 AM. The order is set with the attribute fireOrderInSeconds = null to wait for an explicit FIRE_ORDER webhook at a later time to be sent to kitchen. While the restaurant opens at 9:00 AM.

Can orders be canceled in the POS?

If so, how does Simphony notify our system of canceled orders? Is there a Webhook?

Yes.

  1. Unpaid orders comes into the POS. Team member can void unpaid open order.

  2. Paid order comes into the POS. Team member can void closed order.

Check notification webhook should inform RBI when an order is canceled.

{
        "subscriptionId": "ba637437-b666-4ff9-91ee-a6b11cc62d8e",
        "callbackUri": "https://play.svix.com/in/e_8c35PkfkLdaGK7Rv5oVfLVySc8b/",
        "messageType": {
            "id": "CheckNotification"
        },
        "postOfficeOptions": {
            "postOfficeType": "PushOnePostOffice"
        },
        "orgShortName": "uat",
        "locRef": "99990",
        "rvcRef": "101"
    }

Pricing/Commit errors

Question

Answer

Actionable Feedback for Pricing / Commit errors.

How do we move towards having only actionable feedback?

  • Example of current non-actionable feedback: Incorrect side count for Combo Meal Side #2. Expect 1 but found 0

  • Example of current actionable feedback: 52325 is not a part of combo with id 8763

Fiscal integrations

Question

Answer

Do we need to pass any information for fiscal integrations to work?

Is this standard across markets?

E.g. in BK MX in the commit call we need to send the following information for the Harmony fiscal integration:

"extensions": [
{
"displayName": "DocumentId",
"appName": "Harmonized",
"dataName": "DocumentId",
"dataType": "strings",
"data": "1",
"options": []
},
{
"displayName": "DocumentType",
"appName": "Harmony",
"dataName": "DocumentType",
"dataType": "strings",
"data": "01",
"options": []
}

This information always stays the same as it’s needed for the fiscal integration to work.

  • No labels