Xenial Integration
Last Updated 3/15/2024
Overview
Our integration with Xenial supports both a 1-Way Integration for Food and Beverage operations as well as 2-Way integration for Retai.
For specific detail on our 1- Way Food and Beverage Integration, please refer to the 1 Way Food and Beverage Approach.
For specific detail on our 2-Way Retail integration scroll down to the 2 Way Retail Approach.
1 Way Food and Beverage Approach
Sync Approach
This interface contains three elements:
Xenial’s Sales Webhook that sends sales data to Yellow Dog
Yellow Dog’s Xenial Console application that pulls in location detail and unsold menu items
Yellow Dog’s Process Sales Data application that process the sales data provided by Xenial
Yellow Dog has an additioanl application Balto, that allows user to map inventory items in Yellow Dog to the corresponding Menu Item from Xenial to deplete inventory.
Sync Frequency
This integration supports a manual queue that will allow for sales to be processed manually on demand by the client or can be scheduled every fifteen minutes.
Configuration
This integration supports multiple locations tied to a single Yellow Dog database.
Mutiple instances against a single Yellow Dog database will require additional testing to confirm.
Requirements
Client
The client will be responsible for:
Mapping Xenial Locations to the corresponding stores in Yellow Dog
Mapping inventory items in Yellow Dog to the corresponding Menu Item using Balto
POS Partner
The POS partner is responsible for providing:
Company_ID
API Key ID
Secret Key for the customer’s site
portaURL
dmURL
Configuring their process to send Yellow Dog sales via webhook
Site_ids (Locations) are required to be created in Xenial before we can start pulling codes or processing sales.
Yellow Dog
Yellow Dog will provide the URL for our thirdparty webhook to Xenial for sales and configure the Process Sales Application
Data Exchange and Mapping
In this integration we interact with the following Xenial Endpoints to pull in locations and unsold menu items:
{portaUrl}/integrator/token
{portaUrl}/v1/companies/{_companyId}/sites
{dmUrl}/product/current
Sales Data
Yellow Dog’s integration with Xenial is able to pull sales from Xenial’s webhook. This integration does not support tax or tender data for accounting exports.
We pull in the following Sales summary from Xenial:
Xenial Field | Yellow Dog Field |
---|---|
populated by YD: TPAPISyncConfigId | ClientSyncID |
pouplated by YD: Xenial_[SiteId]_[LocationId]_[transactionNumber] | Third Party ID |
populated by YD: [ThirdPartyId]_[TransactionLineNumber] | Converted |
LocationId | Revenue Center |
data.order_source | Sales Channel |
populated by YD based on location mapping | StoreId |
data_id | TransactionNumber |
order_item_id | TransactionLineNumber |
time.last_modified | Check Closed |
items.entity_id | Item Number |
items.product_id | SKU |
items.name | Item Description |
items.unit_price | Item Retail |
discount_info_total | Item Discount |
Quantity | Quantity |
employee_id | Employee Number |
employee_title | Employee Name |
populates with "Returned on Order:"[transactionnumber of the return] when the line is a sale that has been returned on another order, and "OriginalOrderId:" [transactionnumber for the original sale] when the line is a return | Reference |
terminal_number | Register Number |
terminal_title | Register Name |
populated on modifier lines with the converted of the item being modified | Parent Number |
Order.state | Void |
Order.state | Return |
order.state | Order Status |
data_id | Order Number |
2 Way Retail Approach
Sync Approach
This interface contains five elements:
Xenial’s Sales Webhook that sends sales data to Yellow Dog
Xenial’s sync process to pull updates and new items from Yellow Dog’s API to populate in their DM
Xenial’s sync process to update terminals with detail from their DM
Yellow Dog’s Xenial Console application that pulls in location detail and unsold menu items
Yellow Dog’s Process Sales Data application that process the sales data provided by Xenial
Sync Frequency
This integration supports a manual queue that will allow for sales to be processed manually on demand by the client or can be scheduled every fifteen minutes.
Configuration
This integration supports multiple locations tied to a single Yellow Dog database.
Mutiple instances against a single Yellow Dog database will require additional testing to confirm.
Requirements
Client
The client will be responsible for:
Mapping Xenial Locations to the corresponding stores in Yellow Dog
POS Partner
The POS partner is responsible for providing:
Company_ID
API Key ID
Secret Key for the customer’s site
portaURL
dmURL
Configuring their process to send Yellow Dog sales via webhook
Site_ids (Locations) are required to be created in Xenial before we can start pulling codes or processing sales.
Yellow Dog
Yellow Dog will provide the URL for our thirdparty webhook to Xenial for sales and configure the Process Sales Application
Data Exchange and Mapping
In this integration we interact with the following Xenial Endpoints to pull in locations and unsold menu items:
{portaUrl}/integrator/token
{portaUrl}/v1/companies/{_companyId}/sites
{dmUrl}/product/current
Sales Data
We pull int the same sales data as detailed in the 1 Way Food and Beverage approach.
Xenial Field | Yellow Dog Field |
---|---|
populated by YD: TPAPISyncConfigId | ClientSyncID |
pouplated by YD: Xenial_[SiteId]_[LocationId]_[transactionNumber] | Third Party ID |
populated by YD: [ThirdPartyId]_[TransactionLineNumber] | Converted |
LocationId | Revenue Center |
data.order_source | Sales Channel |
populated by YD based on location mapping | StoreId |
data_id | TransactionNumber |
order_item_id | TransactionLineNumber |
time.last_modified | Check Closed |
items.entity_id | Item Number |
items.product_id | SKU |
items.name | Item Description |
items.unit_price | Item Retail |
discount_info_total | Item Discount |
Quantity | Quantity |
employee_id | Employee Number |
employee_title | Employee Name |
populates with "Returned on Order:"[transactionnumber of the return] when the line is a sale that has been returned on another order, and "OriginalOrderId:" [transactionnumber for the original sale] when the line is a return | Reference |
terminal_number | Register Number |
terminal_title | Register Name |
populated on modifier lines with the converted of the item being modified | Parent Number |
Order.state | Void |
Order.state | Return |
order.state | Order Status |
data_id | Order Number |
Item Data
Xenial pulls the following item data from Yellow Dog’s API
Xenial Field | Yellow Dog Field |
---|---|
Product | Item |
External_ids | Id |
Product ID | SKU |
Item Description | Descripiton |
Name | POS Description 1 |
Short Description | POS Description 2 |
Alternate_PLU_Codes | UPC |
Standard Price | Retail Price 1 |
Cost | Vendor Price |
Major Reporting Category | Level 1 |
Minor Reporting Category | Level 2 |
Size Variation Type | Dimension 1 |
Color Variation Type | Dimension 2 |
This integration does not look at the following Yellow Dog Fields:
POS Blocked
Publish
On Hands
Workflow Actions
Action In Yellow Dog | Result in Xenial |
---|---|
New Item Created | Item Populates in POS during next sync run |
Item Edited | Item Update Populated in POS during next sync run |
New Store Added | Client will need to add site to Xenial and then Xenial will need to add Yellow Dog Store ID to the service |
SKU Edited | Historical data altered |
UPC Edited | UPC is updated in POS during next sync run |
UPC Added | Additional UPC is added to item during next sync run |
Item Inactivated | No Change in POS |
Removed | No Change in POS |
Level is Changed | Major Category is changed during next sync run |
Vendor Price is Changed | Price changed during next sync run |
Dimension 1 Changed | Item Changes during next sync run |
Dimension 1 is Created | New Dimension is created during next sync run and Item updates |
Unchecked Availabilty to on location | Item Location will be Disabled during next sync run |
Image Added to Item | n/a |
Retail Changed | Item Changes during next sync run |
Additional Information
Accounting Export Ability
Neither integration approach supports the export of tender or tax data to an accounting system.
Yellow Dog Mobile Application Compatibility
Stand Dog web-browser and Bloodhoound web-browser are supported with both integration approaches. They are launched directly from the setup of Xenial’s POS.
Limitations
No Historical Sales can be pulled or processed. We only are able to process orders that have been provided by Xenial. (3/3/2023)
Pulling codes can only be done once every four hours (3/3/2023)
Split checks and shared items have not been fully vetted and may not be supported (3/3/2023)
Weighted Item Sales have not been fully vetted and may not be supported (3/3/2023)
This integration does not support TpTransactionDetail (tax/tender/revenue data for account exports).
If changes occur to an already processed order outside of 30 days, Yellow Dog support will need to be contacted (3/3/2023)
Changing a SKU in Yellow Dog will result in changing historical data. This can not be edited once pulled from Xenila. (3/15/2024)