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 2 Next »

Contents

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

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.png
{
    "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

"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

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

{
    "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

{
  "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

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)

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

{
  "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"
}
  • No labels