Note: This integration is provided on a conditional basis.
Overview
Yellow Dog has a 1-Way integration with MyVenue in which Codes (Outlets/Locations and Products) are pulled from the API. Sales are shared via AWS SQS Queue. All MyVenue (MV) customer sales are sent to a single queue where YD reads and partitions them by customers YD ClientId and MyVenue Venue/TenantId. This allows us to support multiple Venues in a single YD customer database.
Sync Approach
This interface now uses our new MyVenueConsole.
MV API
Automated pull of MV Products for direct mapping to YD Items. This can be scheduled no less than an hourly interval
Automated pull of MV Outlets for mapping to YD Stores. This can be scheduled no less than an hourly interval
AWS SQS Queue
MV sends ‘completed’ sales to a shared AWS SQS Queue. No other sale status’ are supported through this integration. This is a limitation from MV.
YD reads from the SQS Queue at no less than a 15 minute interval and processes these orders into the database. (15 minute processing is an absolute best case scenario and is not guaranteed. Other processes and integrations can extend the length of time to seeing fully processed sales).
Configuration
This integration can be used to connect single or multiple MV instances (an instance = a single TenantId/VenueId) to a single Yellow Dog database.
NOTE: multiple instances of MV against a single YD db has NOT been tested, but should work.
This integration can NOT be used to connect a single MV instance to multiple Yellow Dog databases
Our sync does support mapping multiple MV Outlets per YD Store
Requirements
Client
The Yellow Dog Sync program is required to be installed in the YD application environment and does not support local hosting in a customers environment
How will sales will be matched to YD Items?
Options are SKU, Barcode, Item (mapping the items in Balto), or POS Item Mapping; see Matching Sales for details and requirements for each
NOTE: If matching on MyVenue SKU, this is an integer only field, meaning that it MUST be a whole number with NO leading zeros in order to match in YD
Revenue Center Mappings: Confirm which LocationIds from MyVenue should be mapped to which Stores in Yellow Dog
Yellow Dog
Client database must be on YD v375 or higher
We recommend that Yellow Dog is hosted by us, otherwise additional steps will be required to set up Non-Hosted API access.
Mapping of the client integration to the MV Venue/TenantId through a configured lookupKey. Once mapped, sales for this venue will be associated with this specific YD ClientId.
MyVenue
TenantId/VenueId (these are the same values, but are named differently through the MV system)
API userNameOrEmailAddress
API password
SQS queue has to be set up for the customer on MV side
NOTE: w e do NOT know what their steps are here and whether this is fully automated for them or if they have to actually turn something on and/or set something up for each new integration
Data Exchange
Sales Data
We pull in the following sales data:
MyVenue Field | Yellow Dog Field |
---|---|
order.locationid | Revenue Center |
order.orderId | TransactionNumber |
order.completedAT.ToDateTimeOffsetUTC | CheckClosed |
item.productID | ItemNumber |
item.product.sku | SKU |
item.productname | Item |
item.productPrice + ItemDiscount | ItemRetail |
item.Discount / item.quantity | ItemDiscount |
item.quantity.EnforceDouble | Quantity |
item.voidedState | Void |
isRefund | Return |
order.State | Order Status |
order.receiptNumber | Order Number |
Accounting Export Ability
This integration does not support the export of tender or tax data to an accounting system.
Modifiers
See limitations below: We support modifiers but only real products (has product id); we ignore any modifiers without a productId. When configuring modifiers in MV, the modifier must first be configured as a Product and then selected in the associated item.
Item/Product data pulled from MV API
ID
SKU
Name
Location/Outlet data pulled from MV API
ID
Name
Code
Workflows - Where Performed
Workflow | Yellow Dog Inventory | MyVenue POS |
---|---|---|
Create POS Items | X | X |
Create Stadium Stand POS Items | X | X |
Create Menu Items | X | X |
Modifer Creation | X | X |
Modifer Assignment to Items | Done Only in MyVenue | |
Screen Placement for Items | Done Only in MyVenue | |
Discount Setup | Done Only in MyVenue | |
Discount Assignment | Done Only in MyVenue | |
Tax Setup | Done Only in MyVenue | |
Tax Assignment | Done Only in MyVenue | |
Actions in MyVenue - Result in Yellow Dog Inventory
MyVenue Action | Yellow Dog Inventory Result |
---|---|
Item Returned | NNegative quantity transaction line |
Item Voided | Quantity zeroed out |
Previous Check Voided | Quantity zeroed out |
User Created Item in MyVenue, not in YD | Item populates in YD POS Item mapping |
Item deleted in MyVenue | None |
Item sold in MyVenue that is removed in YD | Sale will NOT match to the YD item. |
Item sold in MyVenue that is Inactive in YD | Sale will still match to the YD item |
Menu Item Sold at POS | Populates in YD POS Item Mapping |
Menu Item Created at POS | Populates in YD POS Item Mapping |
Modifier Sold at POS | Populates in YD POS Item Mapping |
Modifier Created at POS | Populates in YD POS Item Mapping as long as it is an actual item with an ID |
Additional Information
Limitations
If matching on SKU, there cannot be any leading zeros in the YD SKU
The MyVenue SKU is an integer (meaning it has to be a whole number without leading zeros).
We do NOT support the possible workflow where check has been completely deleted; We DO support returns and voids
We support modifiers but only real products (has product id); we ignore any modifiers without a productId
If the Venue to Client Integration sales mapping needs to be changed, there is a 15 minute buffer wherein sales will still flow in from the previously assigned key
i.e., you may not get sales completed in MV the first 15 minutes after configuring the lookup key, or you may still get the sales from the previous lookup key for the first 15 minutes
We only receive ‘completed’ orders from MV. Not other orders status’ are supported per MV
MV has several fields that could be used for EmployeeNumber in the sales data in YD, but none are consistently populated, so we are NOT supporting EmployeeNumber in our transaction data from MV
Our sales data will match MV product sales data; there will be a slight rounding effect if comparing revenue/tender sales reporting in MV to YD's sales reporting
This is due to the precision on the item level (more precise than the two digit rounding that occurs on tenders/revenue)
Suites in MV are NOT supported in this integration
This is due to the fact that suites sales are presented later than regular stand sales (next day) AND because we are not clear on how those sales are presented
We do NOT support discounts that include fees, taxes, or similar additions as this can result in a discount that is greater than the item retail
Part of the reason behind this is that we already remove the included tax from the item retail before we save it in YD
There is no way to get historical data with this integration because it is using an SQS Queue which only includes current orders. Sales are only ever stored in our staging environment after the Client Integration is mapped to the MV Venue through our internal lookupKey hash table. This process typically happens during initial configuration and takes roughly 15 minutes to take effect. If the wrong Venue was mapped, only orders posted to the SQS Queue after fixing the mapping will be pulled in.