AuditLogLine Model

Defines the model for submitting AuditLines to the EPOS system

Required
AuditLogLineID : string (GUID)

The globally unique identifier for the overall AuditLine

Required MaxLength(512) Truncates
Notes : string

This is the AuditLine notes
This field may be an empty string, but cannot be NULL

Required
OutletID : string (GUID)

The unique OutletID for the outlet the deposit belongs to based on the POS_Outlets (configuration) table.
3rd party integrations can use an existing configuration based outlet ID, or can allocate their own outlet ID for deposits if the deposit does not belong to a standard POS outlet.

Required MaxLength(64) Truncates
OutletGroupCommonName : string

The name of the Outlet group (at the time of sale) that this AuditLine belongs to.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: Australian Outlets

Required MaxLength(64) Truncates
OutletGroupLocalizedName : string

The localised name of the Outlet group (at the time of sale) that this AuditLine belongs to.
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.
Example: Australian Outlets

Required MaxLength(64) Truncates
OutletCommonName : string

The name of the Outlet that this AuditLine belongs to.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: Little Johns Pizza

Required MaxLength(64) Truncates
OutletLocalizedName : string

The localised name of the Outlet that this AuditLine belongs to.
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.
Example: Little Johns Pizza

Required MaxLength(32) Truncates
UserName : string

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

Required MaxLength(256)
DeviceIdentifier : string

This is an identifier for the device which created the AuditLine. 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 AuditLines created by a certain device.

Required MaxLength(64) Truncates
TerminalCommonName : string

The name of the terminal (typically the POS terminal) that created the AuditLine.
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 AuditLines, as Terminal is main filter that can be used by the Reporting system.
Example: "POS 1" or "Bar POS"

Required MaxLength(64) Truncates
TerminalLocalizedName : string

The localised name of the terminal (typically the POS terminal) that created the AuditLine.
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 AuditLines, as Terminal is main filter that can be used by the Reporting system.
Example: "POS 1" or "Bar POS"

Required MaxLength(4)
TerminalDisplayID : string

A short ID for the terminal that created the AuditLine, 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 MaxLength(128) Truncates
ClientName : string

The name of the software application that has created the AuditLine.
3rd Party integrations should enter their application or integration name here.
Example: "My POS App" or "My Website App"

Required MaxLength(128) Truncates
ClientVersion : string

The version of the software application that has created the AuditLine.
3rd Party integrations should enter their application version name here.
Example: "1.0.0.0" or "1" or "2.5a" etc

Nullable
DBGen : number (int)

This represents an identifier for a unique database operation that last updated/created this entity. The value is not unique as it can be shared across multiple entities if they were all inserted/updated
from within a single operation. These values are always incrementing so all entities with DBGen > X can be assumed that they were edited/inserted since the operation X occured.

Expect a 64 bit integer.

This is a readonly property. Setting it will have no effect. It will be assigned internally and made visible when querying for this model

Nullable
DateTimeUTC : object

The UTC date and time the record was created

Nullable
LineType : AuditLogLineTypes

The type of audit log line from the AuditLogLineTypes enum

Nullable
ParentForeignKeyContextType : AuditLogLineForeignKeyContextType

Defines the "parent" record type this audit log line relates to (Eg StockInvoice for a StockInvoiceLineItem)

Nullable
ParentForeignKeyContextID : string (GUID)

Defines the "parent" record ID related to the ParentForeignKeyContextType

Nullable
ForeignKeyContextType : AuditLogLineForeignKeyContextType

Defines the direct record type this audit log line relates to (Eg StockInvoiceLineItem)

Nullable
ForeignKeyContextID : string (GUID)

Defines the direct record ID related to the ParentForeignKeyContextType

Nullable
EmployeeID : string (GUID)

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

Nullable
UserID : string (GUID)

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

Nullable
TerminalID : string (GUID)

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

Example
{
  "AuditLogLineID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Notes": "string value",
  "OutletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "OutletGroupCommonName": "string value",
  "OutletGroupLocalizedName": "string value",
  "OutletCommonName": "string value",
  "OutletLocalizedName": "string value",
  "UserName": "string value",
  "DeviceIdentifier": "string value",
  "TerminalCommonName": "string value",
  "TerminalLocalizedName": "string value",
  "TerminalDisplayID": "string value",
  "ClientName": "string value",
  "ClientVersion": "string value",
  "DBGen": 321,
  "DateTimeUTC": {},
  "LineType": 1,
  "ParentForeignKeyContextType": 1,
  "ParentForeignKeyContextID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "ForeignKeyContextType": 1,
  "ForeignKeyContextID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "EmployeeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "UserID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "TerminalID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512"
}