Entity Posting API - Sale Location Add/Update

If the SaleLocationId does not exist, a new Sale Location record will be created. If it does, it will be updated.

Triggered Updates:

Standard ShowTimeAnalytics Message Parameters:

Fields for Sale Location Entity:

Sale Location can be modelled at an overall circuit (HQ) level where all sites in the circuit sell the exact same sale locations with the exact same IDs or at an individual sale location where each site manages their own list of sale location locally.
Worked Example of Sale Devices and Sale Locations:
 BackOfficeTillAtmWebsiteApp
SaleDeviceMgr-PCTill-Pos 1Atm-Pos 5WebsitePhone App
SaleDevice TypeInternal Web (3)Manned POS (2)Atm (7)External Web (5)Mobile Phone (4)
SaleLocationBackOfficeBoxOfficeFoyerReviews PageListings Page
SaleLocation TypeLocal (2)Local (2)Local (2)Remote (3)Remote (3)
Order DeviceMeta---ChromeiOS9

PLEASE NOTE: All field and attribute names are case sensitive

Message Structure - XML:

POST https://{{CIRCUIT_URL}}/data/pos/

POST - XML

<?xml version="1.0" encoding="UTF-8"?>
<ShowTimeAnalytics dataSupplierId="XXX" messageSequence="XXX">
	<CallbackUrl>https://XXX</CallbackUrl>
	<SaleLocations>
		<SaleLocation id="XXX" siteId="XXX">
			<Name>XXX</Name>
			<Type>XXX</Type>
			<Tags>
				<Tag>XXX</Tag>
			</Tags>
		</SaleLocation>
	</SaleLocations>
</ShowTimeAnalytics>

Callback Post Fields:

Message Structure - XML:

<?xml version="1.0" encoding="UTF-8"?>
<ShowTimeAnalyticsResponse dataSupplierId="XXX" messageSequence="XXX">
    <Responses>
        <Response id="XXX" siteId="XXX" entity="SaleLocation">
            <Status>XXX</Status>
            <Warnings>
            	<Warning>XXX</Warning>
            </Warnings>
            <Errors>
            	<Error>XXX</Error>
            </Errors>
        </Response>
    </Responses>
</ShowTimeAnalyticsResponse>