Offers & Rewards - Payload Format

Requirements for the JSON payload to be sent by the Partners API to Khumbu.

Contents

Reward payload structures

Rewards are an item benefit that can be redeemed in exchange for points (and sometimes money + points). Read more about it here: https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4921819186 .

Oracle documentation: https://docs.oracle.com/en/industries/food-beverage/simphony/19.7/simcg/c_discounts_automatic_discount_rules.htm

Online

  • 0 Priced reward item - discount it 100%.

    • discounts have a discount ID.

    • each offer / reward has a unique discount ID

In Restaurant

  • 0 priced reward item - pre select and offer and reward. discount it 100%.

Next steps:

  • Send all offer and reward information to Oracle team. Multiple different discounts that can be used (100% discount off, item price substitution)

  • Talk with TRX team about Rewards with prices + loyalty points (using item price substitution discount)

  • Have internal discussion and setup a call with Oracle team to validate

  • Understand if there are any implications to analytics (understanding the difference between offers and rewards)

 

 

Reward with an item

"cart": [ { "menuSelections": [ { "id": "7ee7338a-a016-47c6-aef6-3783d40c003e", // Reward Sanity id "externalReferenceId": "123", // Reward constant plu defined in Sanity "quantity": 1, "price": { "amount": 0, "currency": "SAR", } "type": "Reward", "menuSelections": [ { "externalReferenceId": "51056", // item constant plu "id": "item_1862", // item Sanity id "menuSelections": [], "price": { "amount": 2495, // normal price "currency": "SAR" }, "quantity": 1, "type": "Item" } ] } ] } ]
{ "header": { "orgShortName": "{{OrgShortName}}", "locRef": "{{LocRef}}", "rvcRef": {{RvcRef}}, "idempotencyId": "{{$guid}}", "orderTypeRef": 9, "checkEmployeeRef": {{check_employee_ref}} }, "menuItems": [], "comboMeals": [ { "comboMealId": 51002003, // Cheeseburger reward "comboItem": { "menuItemId": 51002003, // Cheeseburger reward PLU "definitionSequence": 1, "quantity": 1 }, "mainItem": { "menuItemId": 1002003, // A la carte cheeseburger "definitionSequence": 1, "quantity": 1 }, "sideItems": [] } ], "tenders": [ { "tenderId": 901 // payment method ID. Pay at Counter for this example. } ] }

Reward with an item + premium modifier

"cart": [ { "menuSelections": [ { "id": "7ee7338a-a016-47c6-aef6-3783d40c003e", // Reward Sanity id "externalReferenceId": "123", // Reward constant plu defined in Sanity "quantity": 1, "price": { "amount": 0, "currency": "SAR", } "type": "Reward", "menuSelections": [ { "externalReferenceId": "51056", // item constant plu "id": "item_1862", // item Sanity id "menuSelections": [], "price": { "amount": 2495, // normal price "currency": "SAR" }, "quantity": 1, "type": "Item" } ] } ] } ]

Reward with a combo

Reward with a combo + premium modifier

Reward with a cart discount

The reward is the cart discount. You use points to buy a discount.

Reward with a product discount

Offer Payload Structure

Offers are a discount on the order or item. Can take the form of a discounted bundle, cheaper item, order-level % discount, or order-level $ off. Also known as a “coupon” in some markets. Read more about it here: https://rbictg.atlassian.net/wiki/spaces/HELP/pages/4854349911 .

Offer with an item

Offer with a combo

Offer with a cart discount

Offer with a product discount

Reference

NMS guides on how to set up offers and rewards in Sanity for Oracle: https://rbictg.atlassian.net/wiki/spaces/MS/pages/4057661622