SalesTransactionAuditLine Model

Required
SalesTransactionAuditLineID : string (GUID)

The Unique identifier for this record

Required
Active_RevisionID : number (int)

This represents the revision of the configuration data that was being used when this record was generated. This is primarily for use by the PowerEPOS software, however 3rd party integrators can set this too if they
are using our configuration data as a basis for sale information, otherwise just set this to 0.

Required
DateTime : string (ISO 8601 DateTime)

The outlet local time that the audit line was added.

Required
AuditEntryType : number (int)

The type of audit line this record represents. This is from the POSCorePublic.Enums.Sales.AuditLineAuditEntryTypes enum.

Required
ForeignKeyContextType : number (int)

This defines the type of record that this audit record relates to. This is from the POSCorePublic.Enums.Sales.AuditLineForeignKeyContextType enum.

Required MaxLength(512) Truncates
Description : string

The text description of the event the audit line is capturing.
Example: "Transfer from Table 18 to Table 20"
Example: "$5.00 Cash payment cancelled. (Tip: 0, CashOut: 0)"

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

Nullable
ForeignKeyContextID : string (GUID)

The unique ID of the record that this audit line relates to.
Example: If ForeignKeyContextType is AuditLineForeignKeyContextType.None, then ForeignKeyContextID must be NULL indicating that it related to the overall transaction.
Example: If ForeignKeyContextType is AuditLineForeignKeyContextType.SalesTransactionItem, then ForeignKeyContextID would be a reference to the SalesTransactionItemID field of the SalesTransactionItem record it relates to.
Example: If ForeignKeyContextType is AuditLineForeignKeyContextType.SalesTransactionPayment, then ForeignKeyContextID would be a reference to the SalesTransactionPaymentID field of the SalesTransactionPayment record it relates to.

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
Manager_EmployeeID : string (GUID)

The unique employee record ID of the employee / manager who approved the action that created this record (if applicable).
Typically this value will be NULL as manager authorisation is usually only required occasionally.
This will typically be NULL for 3rd party integrations or where no Employee (Time Clocking / HR) integration exists.

Nullable
Manager_UserID : string (GUID)

This unique UserID from the POS_Users (configuration) table representing the POS User who approved the action that created this record (if applicable).
Typically this value will be NULL as manager authorisation is usually only required occasionally.
This will typically be NULL for 3rd party integrations

Nullable MaxLength(32) Truncates
Manager_UserName : string

The name of the POS User / person who approved the action that created this record (if applicable).
Typically this value will be NULL as manager authorisation is usually only required occasionally.
This will typically be NULL for 3rd party integrations
Example: Mary

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

Example
{
  "SalesTransactionAuditLineID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Active_RevisionID": 321,
  "DateTime": "2012-04-03T09:40:59.736Z",
  "AuditEntryType": 321,
  "ForeignKeyContextType": 321,
  "Description": "string value",
  "CreatedBy_UserName": "string value",
  "Created_DeviceIdentifier": "string value",
  "Created_TerminalCommonName": "string value",
  "Created_TerminalLocalizedName": "string value",
  "Created_TerminalDisplayID": "string value",
  "ForeignKeyContextID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "CreatedBy_EmployeeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "CreatedBy_UserID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Manager_EmployeeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Manager_UserID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Manager_UserName": "string value",
  "Created_TerminalID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512"
}