⚙️ Vendor Configs
Last update:
The current vendor configs setup has the following fields:
SimplyDelivery Tablet
SimplyDelivery Tablet Delivery
Toshiba Loyalty
Partner
Partner Delivery
Deprecated Vendor Config fields:
rPOS fields: those fields we’re added to enable the direct integration between our platform and rPOS. Given that we’re no longer pursuing an integration with rPOS.
Tablet fields: these are legacy fields which we planned to use for SimplyDelivery at the beginning of the project.
We aren’t using these fields anymore. We removed these fields to declutter and simplify the UI - 17th May 2024.
SimplyDelivery Tablet fields: these fields are used for the SimplyDelivery order payload. Currently we only have Delivery enabled (Simply Delivery Tablet Delivery field), although Pick Up might be enabled in the future (Simply Delivery Tablet).
However, SIDES does not perform a PLU check on items we’re sending – that’s because we’re not sending the order directly to the POS, but instead sending it to the SIDES’ tablet. Therefore, SIDES will generally accept items as long as they have a name and a price.
That’s why all the SimplyDelivery PLUs are set to match the Sanity ID (which is a long alphanumeric code – e.g. 75e80b14-5548-4a39-8bc2-3267450feb61) as a Constant PLU.
So SIDES does not ‘care’ about the PLU we’re sending and the actual value of the PLU is not relevant to them.
However, the PLU type (whether it is a Constant PLU, Ignore, etc) matters for SIDES. That’s because SIDES checks whether the sum of the item prices in an order match with the total order price. When an item’s VendorConfig is set to Ignore in Sanity, our platform assumes it’s priced at 0.
Whenever an order is placed with an item that has its PLU set to Ignore, the order total sent to SIDES is different to the sum of all the item’s prices. Hence, SIDES will automatically cancel orders with the message diffecence between payments and overall sum detected
.
Note that SIDES and Simply Delivery are the same company.
Partner fields: the Partner fields will be used for POS integrations via our Partner API. They will store the Pick Up and Delivery PLUs for Oracle POS.
Note that in the past we were using the Partner fields to input Toshiba PLUs for offers and rewards. We have now created a new Toshiba Loyalty field for that purpose, see below.
Toshiba Loyalty field: this field will be used to input the Toshiba PLUs which Toshiba, Acrelec and Tillster use as part of the Loyalty integration.
Princing & Availability
The Digital Operation Portal - DOP is used to manage availability & pricing. Sanity is used to manage content.
Sanity and the DOP must be used in conjunction when setting up the ordering menu. Teams using each tool must coordinate for any new launches or menu changes.
For an item to be orderable, it needs to be available and have a price in the DOP. The DOP will then connect that price with the menu item using the PLU in Sanity.
E.g. Medium/Small menus need to be set as unavailable in the DOP if they are not available for ordering in the App. Sanity PLU configuration should not be used to manage availability.
🔍 Root cause analysis
Product launch (07th March 2024)
Problem
BK DE has experienced a delay to make new products (HD BoGof) available on the App:
Long Chicken® 2 for 1
Plant-based Long Chicken® 2 für 1
After publish the Sanity document multiple times, the product was still not available on the App.
Root cause analysis
Based on our instructions, BK DE setup the PLUs as constant PLU under Vendor Configs:
SimplyDelivery Tablet fields:
SimplyDelivery Tablet
SimplyDelivery Tablet Delivery
Partner field set to Ignore;
BK DE reviewed the vendor configuration and didn’t find any error and the ticket was submitted - IREQ-1743Getting issue details... STATUS on Tech Support.
BK DE decided to delete the current Sanity document and re-created the documents with the same vendor config setup and the products were available on the App.
Sanity cache issue may cause the issue on products were not available on a short period of time.
After re-create a new Sanity document, the App took into consideration the new Document_ID.
Steps for solution
Address Sanity cache issue to engineer team start investigation: https://rbictg.atlassian.net/jira/servicedesk/projects/IREQ/queues/issue/IREQ-1859
Free products available (10th May 2024)
Problem
6 items were available to order for free in production.
Root cause analysis
It has been determined that the root cause of the issues stems from the following points:
those items were included in the CSV file with prices;
their PLU type was set to Ignore;
products that were not set as unavailable on the DOP.
To prevent such occurrences in the future, we should set the PLU for all items that are included in the CSV and manage availability on DOP.
More details below:
After thorough investigation, we identified the issue started on the CSV Upload file.
We found that the products that were not supposed to be orderable were actually included in the CSV file with a price, and then set as Ignore in Sanity.
This meant that when the CSV was uploaded, those items were set as available with the price included in the CSV. However, as the PLU type of those items in Sanity was set to Ignore, our platform considered that these items should be ‘Ignored’ and priced at 0.00.
Additionally, these items couldn’t be manually disabled in the DOP Editor also because the PLU was set to Ignore. We have since changed this DOP behavior to prevent this situation.
One example:
Chicken Chili Cheese (Sanity ID item_53178) https://prod-bk-menu.de.rbi.tools/desk/orderLevelContent;menu;item;item_53178
It was set as Ignore in Sanity which was displayed as price 0.00, because this product was not set as unavailable on the DOP. We updated this product, set a random PLU 123456 and then we are able to make it unavailable on the DOP for all stores.
As a result, this item is available on the Static Menu, however since the user selects a specific store, this item is not available and the user will get a message to inform this behaviour.