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 FieldYellow Dog Field
populated by YD: TPAPISyncConfigIdClientSyncID
pouplated by YD: Xenial_[SiteId]_[LocationId]_[transactionNumber]Third Party ID
populated by YD: [ThirdPartyId]_[TransactionLineNumber]Converted
LocationIdRevenue Center
data.order_sourceSales Channel
populated by YD based on location mappingStoreId
data_idTransactionNumber
order_item_idTransactionLineNumber
time.last_modifiedCheck Closed
items.entity_idItem Number
items.product_idSKU
items.nameItem Description
items.unit_priceItem Retail
discount_info_totalItem Discount
QuantityQuantity
employee_idEmployee Number
employee_titleEmployee 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 returnReference
terminal_numberRegister Number
terminal_titleRegister Name
populated on modifier lines with the converted of the item being modifiedParent Number
Order.stateVoid
Order.stateReturn
order.stateOrder Status
data_idOrder 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 FieldYellow Dog Field
populated by YD: TPAPISyncConfigIdClientSyncID
pouplated by YD: Xenial_[SiteId]_[LocationId]_[transactionNumber]Third Party ID
populated by YD: [ThirdPartyId]_[TransactionLineNumber]Converted
LocationIdRevenue Center
data.order_sourceSales Channel
populated by YD based on location mappingStoreId
data_idTransactionNumber
order_item_idTransactionLineNumber
time.last_modifiedCheck Closed
items.entity_idItem Number
items.product_idSKU
items.nameItem Description
items.unit_priceItem Retail
discount_info_totalItem Discount
QuantityQuantity
employee_idEmployee Number
employee_titleEmployee 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 returnReference
terminal_numberRegister Number
terminal_titleRegister Name
populated on modifier lines with the converted of the item being modifiedParent Number
Order.stateVoid
Order.stateReturn
order.stateOrder Status
data_idOrder Number


Item Data

Xenial pulls the following item data from Yellow Dog’s API

Xenial FieldYellow Dog Field
ProductItem
External_idsId
Product IDSKU
Item DescriptionDescripiton
NamePOS Description 1
Short DescriptionPOS Description 2
Alternate_PLU_CodesUPC
Standard PriceRetail Price 1
CostVendor Price
Major Reporting CategoryLevel 1
Minor Reporting CategoryLevel 2
Size Variation TypeDimension 1
Color Variation TypeDimension 2


This integration does not look at the following Yellow Dog Fields:

  • POS Blocked

  • Publish

  • On Hands

Workflow Actions

Action In Yellow DogResult in Xenial
New Item CreatedItem Populates in POS during next sync run
Item EditedItem Update Populated in POS during next sync run
New Store AddedClient will need to add site to Xenial and then Xenial will need to add Yellow Dog Store ID to the service
SKU EditedHistorical data altered
UPC EditedUPC is updated in POS during next sync run
UPC AddedAdditional UPC is added to item during next sync run
Item InactivatedNo Change in POS
RemovedNo Change in POS
Level is ChangedMajor Category is changed during next sync run
Vendor Price is ChangedPrice changed during next sync run
Dimension 1 ChangedItem Changes during next sync run
Dimension 1 is CreatedNew Dimension is created during next sync run and Item updates
Unchecked Availabilty to on locationItem Location will be Disabled during next sync run
Image Added to Itemn/a
Retail ChangedItem 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

  1. No Historical Sales can be pulled or processed. We only are able to process orders that have been provided by Xenial. (3/3/2023)

  2. Pulling codes can only be done once every four hours (3/3/2023)

  3. Split checks and shared items have not been fully vetted and may not be supported (3/3/2023)

  4. Weighted Item Sales have not been fully vetted and may not be supported (3/3/2023)

  5. This integration does not support TpTransactionDetail (tax/tender/revenue data for account exports).

  6. If changes occur to an already processed order outside of 30 days, Yellow Dog support will need to be contacted (3/3/2023)

  7. Changing a SKU in Yellow Dog will result in changing historical data. This can not be edited once pulled from Xenila. (3/15/2024)