Contents
...
Contents
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Action | Tests | Expected Vendor Behavior | Expected Result | ||
---|---|---|---|---|---|
Make an item available for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the menu section of the item. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Item appears in App Menu section with correct price.
| ||
Make an item unavailable for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the menu section of the item. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Item disappears from App Menu section.
| ||
Make a combo available for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the menu section of the combo. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Combo appears in App Menu section with correct price.
| ||
Make a combo unavailable for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the menu section of the combo. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Combo disappears from App Menu section.
| ||
Make a modifier multiplier available for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the item containing the modifier multiplier. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Modifier Multiplier appears in App Menu section with correct price.
| ||
Make a modifier multiplier unavailable for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the item containing the modifier multiplier. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Modifier Multiplier disappears from App Menu section.
| ||
Make a Systemwide Offer available for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the offers page. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Offer appears in App Offers page and is available for Mobile redemption with correct price.
| ||
Make a Systemwide Offer unavailable for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the offers page. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Offer button for Mobile redemption is grayed out.
| ||
Make a premium item (within a comboslot) available as part of a combo | Authenticated user selects ordering for the corresponding store and navigates to the combo containing the premium item.
| Make a request with price and
| → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Item appears inside the Combo with the desired premium price.
| ||
Make a premium item (within a comboslot) unavailable as part of a combo | Authenticated user selects ordering for the corresponding store and navigates to the combo containing the premium item.
| Make a request with price and
| → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Item disappears from the Combo.
| ||
Make a Reward available for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the rewards page. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Reward appears in App Rewards page and is available for Mobile redemption with correct price.
| ||
Make a Reward unavailable for a certain store | Authenticated user selects ordering for the corresponding store and navigates to the rewards page. | Make a request with price and | → Partners API GET Store Menu PLUs endpoint returns the PLUs with the corresponding price and availability. → Reward button for Mobile redemption is grayed out.
|
Order Creation
Action | Tests | Expected Vendor Behavior | Expected Result |
---|---|---|---|
In-Restaurant Service Modes
Action | Tests | Expected Vendor Behavior | Expected Result |
---|
Order Injection: Time to Kitchen
When orders are expected to reach the kitchen immediately:
Select Slot Now on checkout page (/cart
) and finish process of placing order.
→ Order should be injected to POS with fireOrderInSeconds=0
→ The order should be fired immediately to the Kitchen.
→ KDS receives the order
When pre-ordering is expected, orders to reach the kitchen after a determined delay:
Select Future Slot of pickup on checkout page (/cart
) and finish process of placing order.
→ Order should be injected to POS with fireOrderInSeconds={delay}
. delay
being equal in seconds from now to selected time on the checkout page.
→ After delay
seconds have passed, order should be sent to the kitchen, and be displayed in KDS.
In-Restaurant Service Modes
Action | Tests | Expected Vendor Behavior | Expected Result | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Place a Dine In / Pickup / Drive-Thru order
| As per above. | Partner collects the service mode ( Partner collects the order number (
| → Order is injected in the POS. → KDS identifies the service mode. → DSS ticket printed according to the service mode. → Receipt printed with Order Number from RBI. → ORB displays Order Number from RBI.
| ||||||||||||
Place a Table Service order
| As per above. | Partner collects the service mode ( Partner collects the order number (
| → Order is injected in the POS with reference to the table number. → KDS identifies the service mode. → KDS identifies the table number. → DSS ticket printed according to the service mode. → DSS ticket printed with the table number. → Receipt printed with Order Number from RBI.→ ORB displays Order Number from RBIthe table number. → Receipt printed with order number from RBI, though at a less relevant place, since table number should take precedence to the order number.
| ||||||||||||
Place a Table Service Curbside order
| As per above. | Partner collects the service mode ( Partner collects the order number (
| → Order is injected in the POS with reference to the table number. → KDS identifies the service mode. → KDS identifies the table number. → DSS ticket printed according to the service mode. → DSS ticket printed with the table number. → Receipt printed with the table number car plate. → Receipt printed with order number from RBI, though at a less relevant place, since table number car plate should take precedence to the order number.
| ||||||||||||
Place | Order Injection: In Store
| Pickup Order → Pickup Order successfully sent and placed in Partner’s POS. → Order shows in the POS as already paid → Order shows in the POS with RBI’s order number → (If Time Slots flows is activated in the Front-End) Order is kept in the POS and only fired to the kitchen after the amount of seconds sent in the fireOrderInSeconds attribute → POS prints the receipt with order number → Order shows in the KDS with RBI’s order number → Order shows in the ORB with RBI’s order number
| Eat in Order → Pickup Order successfully sent and placed in Partner’s POS. → Order shows in the POS as already paid → Order shows in the POS with RBI’s order number → (If Time Slots flows is activated in the Front-End) Order is kept in the POS and only fired to the kitchen after the amount of seconds sent in the fireOrderInSeconds attribute → POS prints the receipt with order number → Order shows in the KDS with RBI’s order number → Order shows in the ORB with RBI’s order number → The order should include an additional information “Eat in order” | Table Service Order → Pickup Order successfully sent and placed in Partner’s POS. → Order shows in the POS as already paid → Order shows in the POS with RBI’s order number → (If Time Slots flows is activated in the Front-End) Order is kept in the POS and only fired to the kitchen after the amount of seconds sent in the fireOrderInSeconds attribute → POS prints the receipt with order number → Order shows in the KDS with RBI’s order number → Order shows in the ORB with RBI’s order number → The order should include an additional information “Table service” → The order should include the table number provided by the customer in Cart page | Curbside Pickup Order → Pickup Order successfully sent and placed in Partner’s POS. → Order shows in the POS as already paid → Order shows in the POS with RBI’s order number → (If Time Slots flows is activated in the Front-End) Order is kept in the POS and only fired to the kitchen after the amount of seconds sent in the fireOrderInSeconds attribute → POS prints the receipt with order number → Order shows in the KDS with RBI’s order number → Order shows in the ORB with RBI’s order number → The order should include an additional information “Curbside” → The order should include the car plate provided by the customer in Cart pagea Dine In / Pickup / Drive-Thru order
| As per above. | Partner collects the service mode ( Partner collects the order number (
| → Order is injected in the POS. → Order appears in the KDS X seconds after POS order injection. → KDS identifies the service mode. → DSS ticket printed according to the service mode. → Receipt printed with Order Number from RBI. → ORB displays Order Number from RBI.
| |||||||
Place a Table Service order
| As per above. | Partner collects the service mode ( Partner collects the order number (
| → Order is injected in the POS with reference to the table number. → Order appears in the KDS X seconds after POS order injection. → KDS identifies the service mode. → KDS identifies the table number. → DSS ticket printed according to the service mode. → DSS ticket printed with the table number. → Receipt printed with the table number. → Receipt printed with order number from RBI, though at a less relevant place, since table number should take precedence to the order number.
| ||||||||||||
Place a Curbside order
| As per above. | Partner collects the service mode ( Partner collects the order number (
| → Order is injected in the POS with reference to the table number. → Order appears in the KDS X seconds after POS order injection. → KDS identifies the service mode. → KDS identifies the table number. → DSS ticket printed according to the service mode. → DSS ticket printed with the table number. → Receipt printed with the car plate. → Receipt printed with order number from RBI, though at a less relevant place, since car plate should take precedence to the order number.
| ||||||||||||
Delivery Service Mode
Action | Tests | Expected Vendor Behavior | Expected Result |
---|---|---|---|
Place a Delivery order | Partner collects the service mode (
| → Order is injected in the POS. → Order does not appear in the KDS (not fired into the kitchen). | |
Fire a Deliver order into the kitchen | Partner is subscribed to the Partner fires the order through a POST call to the Fire Order endpoint.
| → Order appears in the KDS (is fired into the kitchen). → KDS identifies the service mode. → DSS ticket printed according to the service mode. | |
Cancel a Delivery order Delivery cancelation → Delivery Order successfully sent and placed in Partner’s POS. → If a delivery cancellation is requested:
| |||
Order Number
Action | Tests | Expected Vendor Behavior | Expected Result | ||
---|---|---|---|---|---|
Place a Dine In order | As per above. | Partner collects the order number ( | Order is injected in the POS. | ||
Place a Table Service order | |||||
Place a Delivery In order |
| ||||
...
→ Place Order in Whitelabel App | Order’s cart contains an Item → Order successfully sent and placed in Partner’s POS. | |||||||||
Order’s cart contains a Combo → Order successfully sent and placed in Partner’s POS. | ||||||||||
Order’s cart contains an item, with a Modifier Multiplier without (0) → Order payload contains Modifier Multiplied PLU → Order successfully sent and placed in Partner’s POS, describing the without modifier. | ||||||||||
Order’s cart contains an item, with Modifier Multiplier with (1) → Order payload contains Modifier Multiplied PLU → Order successfully sent and placed in Partner’s POS, describing the “with” modifier. | ||||||||||
Order’s cart contains an item, with Modifier Multiplier extra (2) → Order payload contains Modifier Multiplied PLU → Order successfully sent and placed in Partner’s POS, describing the “extra(2)” modifier. | ||||||||||
Order’s cart contains a combo, with an item that has a Modifier Multiplier without (0) → Order payload contains Modifier Multiplied PLU, inside the item, inside the combo. → Partner Integration successfully handles a 3 level nested structure in the cart. → Order successfully sent and placed in Partner’s POS, describing the without modifier. | ||||||||||
Order’s cart contains a Combo with Premium Items → Order payload contains a Combo, with it’s children priced at 0, and premium items priced normally. → Order successfully sent and placed in Partner’s POS, priced at combo + premium item cost. | ||||||||||
Order’s cart contains a System Wide Offer (Item) → Offer contains an item → Order successfully sent and placed in Partner’s POS, offer is applied successfully. (Burillo, Alejandro) |
| |||||||||
Order’s cart contains a System Wide Offer (Combo) → Offer contains a Combo → Order successfully sent and placed in Partner’s POS, offer is applied successfully. |
| |||||||||
Order’s cart contains a Config Offer (Item) → Offer contains an item → Order successfully sent and placed in Partner’s POS, offer is applied successfully. |
| |||||||||
Order’s cart contains a Config Offer (Combo) → Offer contains a Combo → Order successfully sent and placed in Partner’s POS, offer is applied successfully. |
| |||||||||
Order’s cart contains a Config Offer (Percentage Discount) → Offer contains a Order level percentage discount(e.g. 10% discount) → Order successfully sent and placed in Partner’s POS, offer is applied successfully. |
| |||||||||
Order’s cart contains a Loyalty Reward (Item) → User with enough loyalty points, selects loyalty reward in loyalty page on Whitelabel App. → Order is placed in Whitelabel App, with a cart containing a Loyalty rewards item. → Order successfully sent and placed in Partner’s POS. → Loyalty reward Item is applied successfully. | ||||||||||
Order’s cart contains a Loyalty Reward (Combo) → Reward contains a Combo → Order successfully sent and placed in Partner’s POS. → Loyalty reward Combo is applied successfully. Example calls:
| ||||||||||
Order’s cart contains a Loyalty Reward (Percentage Discount) → Reward contains a Order level percentage discount(e.g. 10% discount) → Reward successfully sent and placed in Partner’s POS, offer is applied successfully. |
| |||||||||
Order discounts -
| ||||||||||
Order Cancellation | After execution call to Partners API with the → Check whether the status has been changed to cancel → Check whether the automatic refund has been processed (if applicable) → Check whether the cancellation email was triggered → Check whether delivery has been cancelled (if applicable) | |||||||||
Payment | → Ensure payments are successfully processed using each payment method | |||||||||
Order cancelation → When the order is canceled in the POS the payment should be refunded. |
...
Menu Availability Validation
...