WORK IN PROGRESS
Steps
Create Quotes
Step 1. Access your Customer Account
Step 2. Access store locator
By adding /store-locator to the base URL.
Step 3. Access Delivery
Step 3. Access Delivery
Create Test Orders
Create Quotes
Address within Delivery Area
Address outside Delivery Area
Create Test Orders
1. Integration Scope
1.1 Delivery orders created in RBI App and Delivered by 1P or 3P Delivery Partners
Action | Tests | Expected Vendor Behavior | Expected Result |
---|---|---|---|
Eligible restaurant selection | Authenticated user inputs address on restaurant search in Whitelabel App | Vendor answers successfully to | Desired restaurant is selected for delivery. |
Order confirmation | Authenticated user navigates to checkout page The store must remain eligible | Vendor answers successfully to | The delivery fee amount is displayed on order description at the checkout page. |
Order creation | Authenticated user clicks on “Continue” on the checkout page, and confirms selecting any payment method by clicking “Place Secure Order”. | Vendor answers successfully to |
|
Order is sent to kitchen | Delivery vendor request to move the order to kitchen | Vendor triggers a | Order is sent to kitchen, for preparation. It can be validated by the GET request API |
Order is picked up by driver | User remains in the order confirmation page, meanwhile the driver picks the order up at the restaurant. | Vendor sends a request to the delivery event endpoint (docs), updating the delivery to | “Driver Enroute” state is displayed in the order confirmation page. |
Order is delivered to customer address | User remains in the order confirmation page, driver drops order at customer address. | Vendor sends a request to the delivery event endpoint (docs), updating the delivery to | “Delivered” state is displayed in the order confirmation page. |
Alternative flows | |||
Pre-order scheduling | User places a order with “Delivery Time“ | Vendor should receive the | Order must be send to the kicketn only in the right delivery time indicated in the |
Restaurant not eligible for selection | Inputs address on restaurant search in Whitelabel App. The store tested must not be eligible | Vendor should not receive request for | Another restaurant is selected for delivery or “no-delivery-stores” modal should be displayed if any restaurant is eligible. |
Quote failed by unavailability reason | Inputs address on restaurant search in Whitelabel App. | Vendor should receive the quote request
| Another restaurant is selected for delivery or “no-delivery-stores” modal should be displayed if any restaurant is eligible. |
Order confirmation when the restaurant is no longer eligible | An authenticated user, select a restaurant, add some item to the cart and navigate to the checkout page. The store should no longer be eligible | Vendor should not receive request for | A modal should be displayed to inform that the restaurant is unavailable. |
Order is cancelled by delivery vendor | Order is cancelled during the delivery process. | Vendor sends a request to the delivery event endpoint (docs), updating the delivery to | |
Order is cancelled by another party (POS, RBI, etc.) | Order is cancelled by POS, RBI, or a different party than the delivery vendor. We can simulate it by “Order Event” endpoint (docs) | Vendor reacts to delivery or order status changes from Vendor must cancel the order and send delivery event (docs) to indicate that the delivery order has been canceled in full. |
|
Driver cancels the trip before collecting the order | After the driver has been assigned to deliver the order, he cancels the trip | Vendor should send the | No order status change It can be validated by the GET request API |
Driver cancels the trip after collecting the order | After the driver has been picked up the order, he cancels the trip | Vendor should send the | |
Optional flows | |||
Set restaurant to available/unavailable | When the delivery provider changes store availability It is used when the store stops receiving new delivery orders for a period of time (ie: Pause mode). | Send a event to the RBI to notify the change (docs) | Receive the event from the vendor |
Refund order | The order paid with online payment is canceled by the vendor and the customer receives a refund | Vendor should send a request to refund the order (docs) | The refund must be made successfully |
Create a loyalty vouncher | The order is delivered with problem (ie: missing fry), manager send a voucher to the customer by loyalty offer. | Vendor should send a request to create a voucher to the customer loyalty account (docs) | A voucher must be create in the customer loyalty account. |
We consider the store ineligible for delivery if any criteria is true:
No mobile ordering (Sanity)
Restaurant closed (Delivery hours)
Restaurant heartbeat offline
Restaurant not enabled for delivery (Sanity)
1.2 Delivery orders created by Aggregators and Delivered by 3P Delivery Partners
This case is valid when the delivery partner acts as an aggregator of aggregators receiving injection of orders from aggregators such as UberEats.
Action | Tests | Expected Vendor Behavior | Expected Result |
---|---|---|---|
Order Injection | User places an order in an aggregator | Vendor injects, and integrates, the order to the POS system. Vendor injects order in RBI, using the “Insert an order without price validations“ endpoint that inject the order with | RBI, and POS system, have the order information stored. The order must have the |
Order State Transition | Order progresses to different states, such as: | Vendor notifies RBI of the order state transition, by sending a request to the order event endpoint (docs). | RBI is aware of the most up to date state of the order. |
Order Delivery State Transition | Order delivery progresses to different states, such as: | Vendor notifies RBI of the order delivery state transition, by sending a request to the delivery event endpoint (docs). | RBI is aware of the most up to date state of the order delivery. |
1.3 Delivery orders created and Delivered by Aggregators
This case is valid when the aggregators integrate directly with partners API and the delivery responsibility lies with the aggrregator.
Action | Tests | Expected Vendor Behavior | Expected Result |
---|---|---|---|
Order Injection | User places an order in an aggregator | Aggregator must be call the order injection APIs. Vendor answers successfully to | The order must have the The delivery vendor screen must not be able to change the order. The order is a read-only, managed by the aggregator. |
Order State Transition | Order progresses to different states, such as: | Vendor is notified by the order webhooks (docs). | RBI and the delivery vendor is aware of the most up to date state of the order. |
Order Delivery State Transition | Order delivery progresses to different states. | Vendor is notified by the delivery webhooks (docs). | The status must be reflected in the RBI and delivery vendor |
1.4 Open tickets
Action | Tests | Expected Vendor Behavior | Expected Result |
---|---|---|---|
Open a support ticket for the store | User open a complain in the WL app | Vendor answers successfully to | A ticket must be open to the store |
Open a general support ticket | The store manager opens a ticket to the market support team | Vendor send a request to open a support ticket (docs) | RBI receives the request and call the webhook A ticket on the support system must be created |
2. Vendor interface scope
2.1 Validate some bussiness scenarios in the vendor side
Action | Tests | Expected Vendor Behavior | Expected Result |
---|---|---|---|
Order is sent to kitchen (trigger: DMP action) | Restaurant operator moves the order to kitchen using the DMP interface | Vendor receives request from DMP, to fire the order, then subsequently vendor triggers a | Order is sent to kitchen, for preparation. |
Order is sent to kitchen (trigger: driver geolocation) | Driver arrives within range of restaurant. | Vendor triggers a | Order is sent to kitchen, for preparation. |
Display the order number in the tablet | |||
Display the order in the receipt printed |
References
/wiki/spaces/TRX/pages/4372824251
/wiki/spaces/TRX/pages/4345594036
Burger King Saudi Arabia (BK KSA)
Burger King United Arab Emirates (BK UAE)