Skip to main content

Locations

TypeBase PathTrigger Name
REST resource~{realm}/locations/locations

This resource holds all sales locations. Cash registers, bookable resources (like dinner tables), tabs, stock balances etc. may be associated with a location. A location also defines how the receipts will look.

Endpoints

NameMethodRelative PathPayloadResponseDescription
addLocationPOST~{realm}/locations/LocationStored_LocationAdds a new location to the list.
listLocationsGET~{realm}/locations/N/AStored_Location[]Retrieves a list of locations.
getLocationGET~{realm}/locations/{id}N/AStored_LocationRetrieves a location.
putLocationPUT~{realm}/locations/{id}LocationStored_LocationReplaces a location.
updateLocationPATCH~{realm}/locations/{id}Partial_LocationStored_LocationUpdates specified location fields.
removeLocationDELETE~{realm}/locations/{id}N/AN/ADeletes a location.

Permissions

PermissionDescription
edit-locationsClient is allowed to add new locations and to modify or delete existing locations.
show-locationsClient is allowed to query the location list and to fetch individual locations.

Entities

Interface Location

interface Location {
'name': string;
'account-config'?: AccountConfig;
'take-out-config'?: TakeOutConfig;
'company-name'?: string;
'address'?: string;
'phone-number'?: string;
'web-address'?: string;
'email'?: string;
'receipt-header'?: string;
'receipt-footer'?: string;
'receipt-logo-mono'?: Base64String;
'receipt-logo-gray'?: Base64String;
'customer-screen-logo'?: File;
'config'?: LocationConfig;
'id'?: number;
'created'?: DateTime;
'updated'?: DateTime;
'deleted'?: DateTime;
'updated-by'?: number;
'updated-from'?: number;
'tags'?: string[];
'labels'?: number[];
}
PropertyData TypeDescription
nameStringName of location.
account-configAccountConfig?Account configuration overrides for devices bound to this location. See the documentation of the Till entity for a description.
take-out-configTakeOutConfig?Take-out/Take-away configuration.
company-nameString?Company/Store name to be displayed on receipts. If unset, the name from the Company entity is used.
addressString?Address to be displayed on receipts. If unset, the address from the Company entity is used.
phone-numberString?Phone number to be displayed on receipts. If unset, the phone-number from the Company entity is used.
web-addressString?Web address to be displayed on receipts. If unset, the web-address from the Company entity is used.
emailString?E-mail address to be displayed on receipts. If unset, the email from the Company entity is used.
receipt-headerString?Optional message to be displayed in the receipt header. May contain multiple lines.
receipt-footerString?Optional message to be displayed in the receipt header. May contain multiple lines. If unset, "Welcome back!" will be printed.
receipt-logo-monoBase64String?Deprecated. Use receipt-logo instead.
receipt-logo-grayBase64String?Deprecated. Use receipt-logo instead.
receipt-logoFile?An image to be used as receipt logo.
customer-screen-logoFile?An image to be displayed on customer screens.
configLocationConfig?Settings that applies to devices bound to this location only. See below.
idInt64?The resource ID of this entity.
createdDateTime?Date and time when this entity was first created.
updatedDateTime?Date and time when this entity was last modified.
deletedDateTime?Date and time when this entity was deleted.
updated-byInt64?ID of User who last modified this entity.
updated-fromInt64?ID of Till (trusted device) which last modified this entity.
labelsInt64[]?A list of Label IDs associated with this entity.

Interface LocationConfig

interface LocationConfig {
'register-customer'?: boolean;
'customer-screen-registration'?: boolean;
'auto-close-batch-schedules'?: string[];
'button-map'?: number;
}
PropertyData TypeDescription
register-customerBoolean?Remind cashier to register customer information on each transaction.
customer-screen-registrationBoolean?Enables customer self-registration via the cash register's customer screen.
auto-close-batch-schedulesCronExpr[]?A location-specific schedule for automatic Z-reports/reconciliations.
button-mapInt64?A reference to this locations's default button map (if unset, the global default will be used).

Interface TakeOutConfig

interface TakeOutConfig {
'button-map': number;
'banner'?: File;
'logo'?: File;
'schedules'?: string[];
'last-order'?: string;
'order-times'?: string[];
'customer-message'?: string;
}
PropertyData TypeDescription
button-mapInt64A reference to the button map (with type menu) that specifies the take-out menu.
bannerFile?An image that will be displayed at the top of the order site.
logoFile?An image/high-resololution icon for the order site. Will also be used to generate the launch image for the order site.
schedulesCronExpr[]?A schedule that defines when the order site should accept customer orders.
last-orderDuration?A duration that specifies how long before the order site closes a new order must be placed.
order-timesDuration[]?A list of durations used on accept order buttons. The times specifies how long it takes to complete an order.
customer-messageString?A custom message that will be displayed as-is to customers on the order site.

Interface File

interface File {
'name': string;
'content-type': string;
'length': number;
'blob': Base64String;
}
PropertyData TypeDescription
nameStringName of the file.
content-typeStringMIME type of file.
lengthInt64Length of file, in bytes.
blobBase64StringUnique file idenfitier calculated from checksums of the the file's content.

See Binary Properties and Direct Property Access for information about how to access the actual content of the file.