Versions Compared

Key

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

Contents

Table of Contents
stylenone

Oracle

For rewards we need a distinct ID per reward with a price associated to it. The only exception is with cart level discounts that only need a discount ID associated to it. For cart level and product discounts FE logic is done to calculate prices in the app.

Sanity

Note

To be added

Payloads

Scenario

Payload

Reward items

  • Standard reward added to the basket (as seen in the screenshot below)

    • Discount ID = 105

    • Menu item ID = 100-1-1

  • Regular menu item also added to the basket (not shown in the screenshot):

    • Menu item ID = 200-1-1

image-20240315-235844.pngImage Added
Code Block
languagejson
{
    "callbackUrl": "https://euc1-staging-plk-partners-api.rbictg.com/api/v1/orders/773c6655-a9ad-4e5b-9581-143d43c4f463/price/callback",
    "cart": {
        "menuSelections": [
            {
                "externalReferenceId": "D-105", // Oracle Discount ID
                "id": "31049d5a-4047-4965-8780-8ff2f37775dc", // Sanity Discount ID
                "menuSelections": [
                    {
                        "externalReferenceId": "100-1-1", // item PLU
                        "id": "ba322af6-a956-4c6b-8bf2-d6fea3c351fd",
                        "menuSelections": [],
                        "price": {
                            "amount": 2495,
                            "currency": "PLN"
                        },
                        "quantity": 1,
                        "type": "Item"
                    }
                ],
                "price": {
                    "amount": 0, // reward price
                    "currency": "PLN"
                },
                "quantity": 1,
                "type": "Reward" 
            },
            {
                "externalReferenceId": "200-1-1", // item PLU
                "id": "31049d5a-4047-4965-8780-8ff2f37775dc",
                "price": {
                    "amount": 2400,
                    "currency": "PLN"
                },
                "quantity": 1,
                "type": "Item" 
            }
        ]
    },
    "channel": "WHITELABEL_IN_STORE",
    "fees": [],
    "id": "773c6655-a9ad-4e5b-9581-143d43c4f463",
    "instructions": [],
    "number": "M360",
    "orderDiscounts": [],
    "serviceMode": "TAKEOUT",
    "storeId": "48002"
}

Reward combos

  • Standard reward added to the basket (as seen in the screenshot below)

    • Discount ID = 105

    • Menu Combo ID = 100-1-1

    • Menu Item 1 ID = 101-1-1

    • Menu Item 2 ID = 102-1-1

    • Menu Item 3 ID = 103-1-1

Code Block
"cart": {
  "menuSelections": [
    {
      "externalReferenceId": "D-105", // Oracle Discount ID
      "id": "43b4cf07-79c9-4aff-98d1-bce9cf2d890f", // Sanity Discount ID
        "menuSelections": [
            {
                "externalReferenceId": "100-1-1", // combo plu
                "id": "43b4cf07-79c9-4aff-98d1-bce9cf2d890f", //combo sanity id
                "menuSelections": [
                    {
                        "externalReferenceId": "101-1-1", // item 1 plu
                        "id": "item_1852",
                        "menuSelections": [],
                        "price": {
                            "amount": 0,
                            "currency": "SAR"
                        },
                        "quantity": 1,
                        "type": "Item"
                    },
                    {
                        "externalReferenceId": "102-1-1", // item 2 plu
                        "id": "4f99db1e-128a-4e53-b23b-dffc0fedf636",
                        "menuSelections": [],
                        "price": {
                            "amount": 0,
                            "currency": "SAR"
                        },
                        "quantity": 1,
                        "type": "Item"
                    },
                    {
                        "externalReferenceId": "103-1-1", // item 3 plu
                        "id": "16f482db-2f13-4476-88d3-d2eec26057f3",
                        "menuSelections": [],
                        "price": {
                            "amount": 0,
                            "currency": "SAR"
                        },
                        "quantity": 1,
                        "type": "Item"
                    },
                ],
                "price": {
                    "amount": 300, // original price of combo
                    "currency": "SAR"
                 },
                 "quantity": 1,
                 "type": "Combo"
                 }
              ],
              "price": {
              "amount": 0, // final price of the reward
              "currency": "SAR"
              },
              "quantity": 1,
              "type": "Reward"
            }
        ]
    },

Reward with prices

Reward that costs $3 and 1,000 loyalty points

Note

This will not be in scope for first Oracle rollout and release (BK UK, BK DE, CEE, etc.)

  • Discount ID = D-106

  • Menu item ID = 100-1-1

Code Block
languagejson
{
    "callbackUrl": "https://euc1-staging-plk-partners-api.rbictg.com/api/v1/orders/773c6655-a9ad-4e5b-9581-143d43c4f463/price/callback",
    "cart": {
        "menuSelections": [
            {
                "externalReferenceId": "D-106", // Oracle Discount ID
                "id": "31049d5a-4047-4965-8780-8ff2f37775dc", // Sanity Discount ID
                "menuSelections": [
                    {
                        "externalReferenceId": "100-1-1", // item PLU
                        "id": "ba322af6-a956-4c6b-8bf2-d6fea3c351fd",
                        "menuSelections": [],
                        "price": {
                            "amount": 2495,
                            "currency": "PLN"
                        },
                        "quantity": 1,
                        "type": "Item"
                    }
                ],
                "price": {
                    "amount": 300, // reward price
                    "currency": "PLN"
                },
                "quantity": 1,
                "type": "Reward" 
            }
        ]
    },
    "channel": "WHITELABEL_IN_STORE",
    "fees": [],
    "id": "773c6655-a9ad-4e5b-9581-143d43c4f463",
    "instructions": [],
    "number": "M360",
    "orderDiscounts": [],
    "serviceMode": "TAKEOUT",
    "storeId": "48002"
}

Reward cart level discount

If guests spend 200 loyalty points, they can unlock a 20% off in the total value of the cart discount.

  • Discount ID = D-107

  • Combo item ID = 100-1-1 (this is a normal menu item added to the cart. Other menu items could be added to the cart and the 20% off discount would apply to the total of the cart)

    • Item 1 ID = 101-1-1

    • Item 2 ID = 102-1-1

Code Block
{
  "callbackUrl": "https://euw3-staging-bk-partners-api.rbictg.com/api/v1/orders/b311434d-e4ee-4bfb-a3b7-c84bb5bcfb1d/price/callback",
  "cart": {
    "menuSelections": [
      {
        "externalReferenceId": "100-1-1",
        "id": "7403727e-949c-42b6-a544-5f2124e17c5c",
        "menuSelections": [
          {
            "externalReferenceId": "101-1-1",
            "id": "item_11177",
            "menuSelections": [],
            "price": {
              "amount": 0,
              "currency": "EUR"
            },
            "quantity": 1,
            "type": "Item"
          },
          {
            "externalReferenceId": "102-1-1",
            "id": "2d874c0a-37da-406e-a50e-cd3cd9c5c710",
            "menuSelections": [],
            "price": {
              "amount": 0,
              "currency": "EUR"
            },
            "quantity": 1,
            "type": "Item"
          }
        ],
        "price": {
          "amount": 425,
          "currency": "EUR"
        },
        "quantity": 1,
        "type": "Combo"
      },
      {
        "externalReferenceId": "D-107", // Oracle Discount ID
        "id": "08e4ccf5-23fc-4bc7-a800-a7703e7228c6",
        "menuSelections": [],
        "price": {
          "amount": 0,
          "currency": "EUR"
        },
        "quantity": 1,
        "type": "Reward"
      }
    ]
  },
  "channel": "WHITELABEL_IN_STORE",
  "fees": [
    {
      "total": {
        "amount": 48,
        "currency": "EUR"
      },
      "type": "BAG_FEE"
    }
  ],
  "id": "b311434d-e4ee-4bfb-a3b7-c84bb5bcfb1d",
  "instructions": [],
  "number": "6406",
  "orderDiscounts": [
    {
      "type": "amount",
      "value": 200
    }
  ],
  "serviceMode": "DRIVE_THRU",
  "storeId": "12349"
}

Reward product discount

Note

This will not be in scope for first Oracle rollout and release (BK UK, BK DE, CEE, etc.)

If guests spend 200 loyalty points, they can unlock a 50% off only in the Whopper a la carte product.

  • Discount ID = D-107

  • Menu item ID = 100-1-1 (this refers to the whopper menu item that needs to be discounted at 50% off)

Warning

Currently Menu Item id 100-1-1 that is inside the reward does not appear on the payload

Code Block
{
  "callbackUrl": "https://euw3-staging-bk-partners-api.rbictg.com/api/v1/orders/612ef61b-3d38-4a04-9756-29fc48586926/price/callback",
  "cart": {
    "menuSelections": [
      {
        "externalReferenceId": "D-107",
        "id": "item_11107",
        "menuSelections": [],
        "price": {
          "amount": 815,
          "currency": "EUR"
        },
        "quantity": 1,
        "type": "Reward"
      }
    ]
  },
  "channel": "WHITELABEL_IN_STORE",
  "fees": [
    {
      "total": {
        "amount": 48,
        "currency": "EUR"
      },
      "type": "BAG_FEE"
    }
  ],
  "id": "612ef61b-3d38-4a04-9756-29fc48586926",
  "instructions": [],
  "number": "6411",
  "orderDiscounts": [
    {
      "type": "amount",
      "value": 200,
      "plu": "D-107"
    }
  ],
  "serviceMode": "DRIVE_THRU",
  "storeId": "12349"
}