ZReportInterfaceItem Model

Defines the model for a Z Report Interface Item record

Required
ZReportInterfaceItemID : string (GUID)

The Unique identifier for this record

Required
DateTimeCreated : string (ISO 8601 DateTime)

The date and time the record was created in outlet local time.

Required
InterfaceType : number (int)

The type of interface this record is associated with. This is taken from the POSCorePublic.Enums.Sales.InterfaceItemInterfaceTypes enum.
This should always be a non-zero valid entry from the InterfaceItemInterfaceTypes enum.

Required MaxLength(32) Truncates
CreatedBy_UserName : string

The name of the POS User / person who created the record.
3rd Party integrations should specify a user name (where applicable), or use the integration name as a fallback.
Example: John

Required MaxLength(256)
Created_DeviceIdentifier : string

This is an identifier for the device which created the record. PowerEPOS uses a combination of MAC Address, Hostname and OS.
3rd Party integrators can leave this blank, or set this to something meaningful if a need arises to track records created by a certain device.

Required MaxLength(64) Truncates
Created_TerminalCommonName : string

The name of the terminal (typically the POS terminal) that created the record.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
3rd Party integrations should specify a meaningful name (possibly the integration name) to group the source of the records, as Terminal is main filter that can be used by the Reporting system.
Example: "POS 1" or "Bar POS" or "Online Orders"

Required MaxLength(64) Truncates
Created_TerminalLocalizedName : string

The localised name of the terminal (typically the POS terminal) that created the record.
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
3rd Party integrations should specify a meaningful name (possibly the integration name) to group the source of the records, as Terminal is main filter that can be used by the Reporting system.
Example: "POS 1" or "Bar POS" or "Online Orders"

Required MaxLength(4)
Created_TerminalDisplayID : string

A short ID for the terminal that created the record, typically matching the ID from the POS_Terminals (configuration) record.
3rd Party integrations can leave this blank or come up with their own short name for the terminal.
Example: P1 or TRM1 or INTG

Required
JSONDataType : number (int)

The type of json data this record has stored. This is taken from the POSCorePublic.Enums.Sales.InterfaceItemJSONDataTypes enum.
This should always be a non-zero valid entry from the InterfaceItemJSONDataTypes enum.

Required MaxLength(1048576)
JSONData : string

A blob of raw json that this record holds as the interface item data.

Nullable
DateTimeExpires : string (ISO 8601 DateTime)

An optional expiry for the record. Expired records may be deleted from the Power EPOS cloud servers once that have expired as part of an automated maintenance.
Set to NULL to retain the record indefinately, otherwise set the expiry to be an appropriate number of days after the date of creation.
Consideration should be made with regards to the size of the data stored in this record and how long it is retained for. It is recommended to set an expiry for any interface data that is not needed to be stored long term.

Nullable
CreatedBy_EmployeeID : string (GUID)

The unique employee record ID of the employee / staff member who created the record.
This may be NULL for 3rd party integrations or where no Employee (Time Clocking / HR) integration exists.

Nullable
CreatedBy_UserID : string (GUID)

This unique UserID from the POS_Users (configuration) table representing the POS user that created the record.
This may be NULL for 3rd party integrations

Nullable
Created_TerminalID : string (GUID)

This is the unique TerminalID of a record from the POS_Terminals (configuration) table representing the Terminal which created the record.
3rd Party integrations would normally set this to be NULL

Nullable MaxLength(64)
LookupKey : string

An optional lookup key relating to the data stored in this record

Example
{
  "ZReportInterfaceItemID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "DateTimeCreated": "2012-04-03T09:40:59.736Z",
  "InterfaceType": 321,
  "CreatedBy_UserName": "string value",
  "Created_DeviceIdentifier": "string value",
  "Created_TerminalCommonName": "string value",
  "Created_TerminalLocalizedName": "string value",
  "Created_TerminalDisplayID": "string value",
  "JSONDataType": 321,
  "JSONData": "string value",
  "DateTimeExpires": "2012-04-03T09:40:59.736Z",
  "CreatedBy_EmployeeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "CreatedBy_UserID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Created_TerminalID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "LookupKey": "string value"
}