SalesTransaction Model

Defines the model for submitting transactions (order) to the EPOS system

Required
SalesTransactionID : string (GUID)

The globally unique identifier for the overall Transaction

Required
Active_RevisionID : number (int)

This represents the revision of the configuration data that was being used when this transaction 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 MaxLength(36)
OrderNumberOpened : string

This is a user friendly visual reference number for an order. This is not required to be sequential and is not required to be unique, although it should be unique for a reasonable period of time.
In PowerEPOS, this is an 8 digit string consisting of a simple Terminal Display Identifier followed by an incrementing numeric sequence. eg For Terminal P1 it would be P1000001, P1000002, P1000003 etc
In PowerEPOS, this value is generated and allocated when the transaction is first started. If the transaction is aborted, this number sequence is still considered used, even through the transaction no longer exists.
Once the numeric part of the sequence reaches the maximum, it simply loops around. eg P1999999 loops around to P1000001. It is common to see gaps in this number in the sales history due to things like aborted transactions
or merged transactions.

Required MaxLength(36)
OrderNumberClosed : string

This is a user friendly final reference number for an order. This is should be sequential but is not required to be unique, although it should be unique for a reasonable period of time.
In PowerEPOS, this is an 8 digit string consisting of a simple Terminal Display Identifier followed by an incrementing numeric sequence. eg For Terminal P1 it would be P1000001, P1000002, P1000003 etc
In PowerEPOS, this value is generated and allocated when the transaction is finalised and closed. This means that there should be a complete sequence of numbers in the sales history with no gaps, as once
a transaction has been finalised, it can no longer be changed/aborted directly. This number is used for taxation purposes in countries that require sequential order numbers for all historical transactions.

Required MaxLength(32) Truncates
CreatedBy_UserName : string

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

Required MaxLength(32) Truncates
OwnedBy_UserName : string

The name of the POS User / person who is considered the owner / staff member responsible for overseeing the order (used for tip ownership in US)
3rd Party integrations should specify a user name (where applicable), or use the integration name as a fallback.
Example: John

Required MaxLength(32) Truncates
ServiceModeCommonName : string

The name of the Service Mode the transaction was created in.
3rd Party integrations can make up their own names, or they can base them on the existing Service Mode configuration if available.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: Table

Required MaxLength(32) Truncates
ServiceModeLocalizedName : string

The localised name of the Service Mode the transaction was created in.
3rd Party integrations can make up their own names, or they can base them on the existing Service Mode configuration if available.
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: Table

Required MaxLength(8) Truncates
ServiceModeCommonShortPrefix : string

The short prefix of the Service Mode the transaction was created in.
3rd Party integrations can make up their own short names, or they can base them on the existing Service Mode configuration if available.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: TBL

Required MaxLength(8) Truncates
ServiceModeLocalizedShortPrefix : string

The localised short prefix of the Service Mode the transaction was created in.
3rd Party integrations can make up their own names, or they can base them on the existing Service Mode configuration if available.
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: TBL

Required MaxLength(8)
ServiceModeEntityID : string

This is the reference ID relating to the Service Mode assigned to this transaction. If you had a service mode called "Table", a ServiceModeEntityID might be "10", indicating table number 10.
Example: 10

Required MaxLength(32) Truncates
Tax1CommonName : string

The name of the tax method used for Tax 1 calculations.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: VAT or GST
Leave blank if this tax level is not used.

Required MaxLength(32) Truncates
Tax1LocalizedName : string

The localised name of the tax method used for Tax 1 calculations.
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: VAT or GST
Leave blank if this tax level is not used.

Required decimal(18, 3)
Tax1Rate : number (decimal)

The tax percentage(%) used to calculate tax for Tax 1
Leave as 0 if this tax level is not used, or you are indicating a Tax Free tax level

Required MaxLength(32) Truncates
Tax2CommonName : string

The name of the tax method used for Tax 2 calculations.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: VAT or GST
Leave blank if this tax level is not used.

Required MaxLength(32) Truncates
Tax2LocalizedName : string

The localised name of the tax method used for Tax 2 calculations.
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: VAT or GST
Leave blank if this tax level is not used.

Required decimal(18, 3)
Tax2Rate : number (decimal)

The tax percentage(%) used to calculate tax for Tax 2
Leave as 0 if this tax level is not used, or you are indicating a Tax Free tax level

Required MaxLength(32) Truncates
Tax3CommonName : string

The name of the tax method used for Tax 3 calculations.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: VAT or GST
Leave blank if this tax level is not used.

Required MaxLength(32) Truncates
Tax3LocalizedName : string

The localised name of the tax method used for Tax 3 calculations.
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: VAT or GST
Leave blank if this tax level is not used.

Required decimal(18, 3)
Tax3Rate : number (decimal)

The tax percentage(%) used to calculate tax for Tax 3
Leave as 0 if this tax level is not used, or you are indicating a Tax Free tax level

Required MaxLength(32) Truncates
Tax4CommonName : string

The name of the tax method used for Tax 4 calculations.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: VAT or GST
Leave blank if this tax level is not used.

Required MaxLength(32) Truncates
Tax4LocalizedName : string

The localised name of the tax method used for Tax 4 calculations.
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: VAT or GST
Leave blank if this tax level is not used.

Required decimal(18, 3)
Tax4Rate : number (decimal)

The tax percentage(%) used to calculate tax for Tax 4
Leave as 0 if this tax level is not used, or you are indicating a Tax Free tax level

Required
OutletID : string (GUID)

The unique OutletID for the outlet the transaction 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 transactions if the transaction 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 transaction 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 transaction 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 transaction 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 transaction 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(256)
Created_DeviceIdentifier : string

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

Required MaxLength(64) Truncates
Created_TerminalCommonName : string

The name of the terminal (typically the POS terminal) that created the transaction.
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 transactions, 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 transaction.
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 transactions, 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 transaction, 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(4)
CurrencyCode : string

An ISO 4217 currency code indicating the currency that all values in this transaction represent. This MUST be a valid currency code.
Example: "GBP" or "AUD" or "USD" or "EUR"

Required MaxLength(8)
CurrencySymbol : string

The currency symbol displayed for values in this currency
Example: "$" or "£" or "€"

Required MaxLength(64) Truncates
CurrencyCommonName : string

The name of the currency that all values in this transaction represent.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: "Euro" or "Pound Stirling" or "Australian Dollar" or "US Dollar"

Required MaxLength(64) Truncates
CurrencyLocalizedName : string

The localised name of the currency that all values in this transaction represent.
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: "Euro" or "Pound Stirling" or "Australian Dollar" or "US Dollar"

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

This is the unique ID of the Z Report that this transaction's sales figures have been included in. This should be set for finalised (fully paid) transactions where Z integration is occuring.
NULL means the transaction is open (unfinalised) or not linked to any actual Z Report.
Related Fields: ZReportCounter, TradingDate

Nullable
ZReportCounter : number (int)

This is the Z Counter from the Z Report that this transaction's sales figures have been included in. This should be set for finalised (fully paid) transactions where Z integration is occuring.
NULL means the transaction is open (unfinalised) or not linked to any actual Z Report.
Related Fields: ZReportID, TradingDate

Nullable
TradingDate : string (ISO 8601 DateTime)

This is the Trading Date of the Z Report that this transaction's sales figures have been included in. This should be set for finalised (fully paid) transactions where Z integration is occuring.
NULL means the transaction is open (unfinalised) or not linked to any actual Z Report.
When populated, this should be just the trading date itself, with no time component. eg 2020-01-01 00:00:00
Related Fields: ZReportID, ZReportCounter

IsTraining : bool

Is this a training mode order (ie not part of official sales figures)

IsTransactionReversal : bool

Is this the reversed version of a source transaction

IsTransactionRefund : bool

Is this the refund version of a source transaction

IsTransactionReopen : bool

Is this the reopened version of a source transaction

WasReversed : bool

Is this a transaction that has been reversed (ie the source transaction)

WasRefunded : bool

Is this a transaction that has been refunded (ie the source transaction)

WasReopened : bool

Is this a transaction that has been reopened (ie the source transaction)

Nullable
DateTimeOpened : string (ISO 8601 DateTime)

This is the Date and Time that the transaction was started in the outlet's local time.

Nullable
DateTimeClosed : string (ISO 8601 DateTime)

This is the Date and Time that the transaction was finalised (fully paid and closed) in the outlet's local time.
Set this to NULL if the transaction is still in an open (unfinalised/unpaid) state.

Nullable
Covers : number (int)

This represents the number of Covers/Guests associated with the order. For example a table with 4 people sitting at it should have a Covers count of 4.
Some order types may use a default of 1 covers, or possibly even 0. This often depends on how the customer using the software would like to report average spend and guest counts for different types of orders.

Nullable
BillNumber : number (int)

[Deprecated] Set as 0

Nullable
StatusFlags : number (int)

This is the numeric representation of the POSCorePublic.Enums.Sales.TransactionStatusFlags applicable to this transaction.

Nullable
TableStatusMask : number (int)

This is the table status scheme rule's bit mask that has been applied to the transaction (for things like advancing order state, entrees away, mains away etc)

Nullable decimal(18, 2)
Amount : number (decimal)

This is the total sale value of the order (ie the sum of the Amount field from all SalesTransactionItems records within the transaction)
This value must include any Inclusive Tax amounts and exclude any Exclusive (addon) tax amounts.
Note: This value does NOT include the RecommendedRemainingServiceCharge amount.

Nullable decimal(18, 7)
Cost : number (decimal)

This is the total cost associated with the order (ie the sum of the Cost field from all SalesTransactionItems records within the transaction)
This can be set to zero if cost is not known or you want cost to be automatically populated via the Stock Control integration once it has been submitted (where applicable)

Nullable decimal(18, 2)
TaxSales1 : number (decimal)

This is the total value of all sale items that are considered taxable for the purpose of Tax 1 calculations.

Nullable decimal(18, 2)
TaxSales2 : number (decimal)

This is the total value of all sale items that are considered taxable for the purpose of Tax 2 calculations.

Nullable decimal(18, 2)
TaxSales3 : number (decimal)

This is the total value of all sale items that are considered taxable for the purpose of Tax 3 calculations.

Nullable decimal(18, 2)
TaxSales4 : number (decimal)

This is the total value of all sale items that are considered taxable for the purpose of Tax 4 calculations.

Nullable decimal(18, 7)
IncTax1 : number (decimal)

This is the total amount of Inclusive Tax (rounded to 2 decimal places) calculated for Tax 1 from all sale items.
This is the Tax 1 amount that may be presented to the customer and the business would notmally be liable for.
IMPORTANT: This value should be the sum of all high precision IncTax1 fields in the linked SalesTransactionItems, which is then rounded (once all summed together) to 2 decimal places.

Nullable decimal(18, 7)
IncTax2 : number (decimal)

This is the total amount of Inclusive Tax (rounded to 2 decimal places) calculated for Tax 2 from all sale items.
This is the Tax 2 amount that may be presented to the customer and the business would notmally be liable for.
IMPORTANT: This value should be the sum of all high precision IncTax2 fields in the linked SalesTransactionItems, which is then rounded (once all summed together) to 2 decimal places.

Nullable decimal(18, 7)
IncTax3 : number (decimal)

This is the total amount of Inclusive Tax (rounded to 2 decimal places) calculated for Tax 3 from all sale items.
This is the Tax 3 amount that may be presented to the customer and the business would notmally be liable for.
IMPORTANT: This value should be the sum of all high precision IncTax3 fields in the linked SalesTransactionItems, which is then rounded (once all summed together) to 2 decimal places.

Nullable decimal(18, 7)
IncTax4 : number (decimal)

This is the total amount of Inclusive Tax (rounded to 2 decimal places) calculated for Tax 4 from all sale items.
This is the Tax 4 amount that may be presented to the customer and the business would notmally be liable for.
IMPORTANT: This value should be the sum of all high precision IncTax4 fields in the linked SalesTransactionItems, which is then rounded (once all summed together) to 2 decimal places.

Nullable decimal(18, 7)
ExTax1 : number (decimal)

This is the total amount of Exclusive (Addon) Tax (rounded to 2 decimal places) calculated for Tax 1 from all sale items.
This is the Tax 1 amount that may be presented to the customer and the business would notmally be liable for.
IMPORTANT: This value should be the sum of all high precision ExTax1 fields in the linked SalesTransactionItems, which is then rounded (once all summed together) to 2 decimal places.

Nullable decimal(18, 7)
ExTax2 : number (decimal)

This is the total amount of Exclusive (Addon) Tax (rounded to 2 decimal places) calculated for Tax 2 from all sale items.
This is the Tax 2 amount that may be presented to the customer and the business would notmally be liable for.
IMPORTANT: This value should be the sum of all high precision ExTax2 fields in the linked SalesTransactionItems, which is then rounded (once all summed together) to 2 decimal places.

Nullable decimal(18, 7)
ExTax3 : number (decimal)

This is the total amount of Exclusive (Addon) Tax (rounded to 2 decimal places) calculated for Tax 3 from all sale items.
This is the Tax 3 amount that may be presented to the customer and the business would notmally be liable for.
IMPORTANT: This value should be the sum of all high precision ExTax3 fields in the linked SalesTransactionItems, which is then rounded (once all summed together) to 2 decimal places.

Nullable decimal(18, 7)
ExTax4 : number (decimal)

This is the total amount of Exclusive (Addon) Tax (rounded to 2 decimal places) calculated for Tax 4 from all sale items.
This is the Tax 4 amount that may be presented to the customer and the business would notmally be liable for.
IMPORTANT: This value should be the sum of all high precision ExTax4 fields in the linked SalesTransactionItems, which is then rounded (once all summed together) to 2 decimal places.

Nullable
CreatedBy_EmployeeID : string (GUID)

The unique employee record ID of the employee / staff member who created the order.
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 order.
This may be NULL for 3rd party integrations

Nullable
OwnedBy_EmployeeID : string (GUID)

The unique employee record ID of the employee / staff member who is considered the owner / staff member responsible for overseeing the order (used for tip ownership in US)
This may be NULL for 3rd party integrations or where no Employee (Time Clocking / HR) integration exists.

Nullable
OwnedBy_UserID : string (GUID)

This unique UserID from the POS_Users (configuration) table representing the POS user who is considered the owner / staff member responsible for overseeing the order (used for tip ownership in US)
This may be NULL for 3rd party integrations

Nullable
ClosedBy_EmployeeID : string (GUID)

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

Nullable
ClosedBy_UserID : string (GUID)

This unique UserID from the POS_Users (configuration) table representing the POS user who finalised/closed the order.
This may be NULL for 3rd party integrations

Nullable MaxLength(32) Truncates
ClosedBy_UserName : string

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

Nullable
ServiceModeID : string (GUID)

The unique ID of the POS_ServiceModes (configuration) record matching the Service Mode the transaction was created in.
This may be NULL for 3rd party integrations or where no configuration based service mode was used

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 transaction.
3rd Party integrations would normally set this to be NULL

Nullable MaxLength(256)
Closed_DeviceIdentifier : string

This is an identifier for the device which finalised/closed the transaction. PowerEPOS uses a combination of MAC Address, Hostname and OS.
This should be NULL if the transaction has not yet been finalised/closed.
3rd Party integrators can leave this blank, or set this to something meaningful if a need arises to track transactions created by a certain device.

Nullable
Closed_TerminalID : string (GUID)

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

Nullable MaxLength(64) Truncates
Closed_TerminalCommonName : string

The name of the terminal (typically the POS terminal) that finalised/closed the transaction.
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 transactions, as Terminal is main filter that can be used by the Reporting system.
Example: "POS 1" or "Bar POS" or "Online Orders"

Nullable MaxLength(64) Truncates
Closed_TerminalLocalizedName : string

The localised name of the terminal (typically the POS terminal) that finalised/closed the transaction.
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 transactions, as Terminal is main filter that can be used by the Reporting system.
Example: "POS 1" or "Bar POS" or "Online Orders"

Nullable MaxLength(4)
Closed_TerminalDisplayID : string

A short ID for the terminal that finalised/closed the transaction, 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
EventID : string (GUID)

This is the unique EventID of a record from the POS_Events (configuration) table representing the Event this transaction is considered part of.
3rd Party integrations would normally set this to be NULL

Nullable MaxLength(64) Truncates
EventCommonName : string

The name of the event that this transaction is considered part of, or blank if no Event is related to this transaction.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
3rd Party integrations will usually set this to blank
Example: "" (ie blank) or "Xmas Day" or "Wedding" or "Grand Final"

Nullable MaxLength(64) Truncates
EventLocalizedName : string

The localised name of the event that this transaction is considered part of, or blank if no Event is related to this transaction.
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 transactions, as Terminal is main filter that can be used by the Reporting system.
Example: "" (ie blank) or "Xmas Day" or "Wedding" or "Grand Final"

Nullable MaxLength(128)
ClientName : string

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

Nullable MaxLength(128)
ClientVersion : string

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

Nullable decimal(18, 2)
RecommendedRemainingServiceCharge : number (decimal)

This is the current recommended remaining service charge amount to be paid on the Sales Transaction. Only valid while order is in an unfinalised state.
Note: The Amount field represent the sum of the item amounts and does NOT include this value.

Nullable
Markers : number (int)

This is the numeric representation of the POSCorePublic.Enums.Sales.TransactionMarkers flags enum applicable to this transaction.

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

Nullable
SalesTransactionDescriptors : SalesTransactionDescriptor []

A list of Sales Transaction Descriptors for this transaction.

Nullable
SalesTransactionItemAdjustmentLinks : SalesTransactionItemAdjustmentLink []

A list of Sales Transaction Item Adjustment Links for this transaction.

Nullable
SalesTransactionTags : SalesTransactionTag []

A list of Sales Transaction Tags for this transaction.

Nullable
SalesTransactionTipSummary : SalesTransactionTipSummary []

A list of Sales Transaction Tip Summary's for this transaction.

Nullable
SalesTransactionPayments : SalesTransactionPayment []

A list of Sales Transaction Payments for this transaction.

Nullable
SalesTransactionItems : SalesTransactionItem []

A list of Sales Transaction Items for this transaction.

Nullable
SalesTransactionItemCorrections : SalesTransactionItemCorrection []

A list of Sales Transaction Item Corrections for this transaction.

Nullable
SalesTransactionAuditLines : SalesTransactionAuditLine []

A list of Sales Transaction Audit Lines for this transaction.

Nullable
SalesTransactionInterfaceItems : SalesTransactionInterfaceItem []

A list of Sales Transaction Interface Items for this transaction.

Example
{
  "SalesTransactionID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Active_RevisionID": 321,
  "OrderNumberOpened": "string value",
  "OrderNumberClosed": "string value",
  "CreatedBy_UserName": "string value",
  "OwnedBy_UserName": "string value",
  "ServiceModeCommonName": "string value",
  "ServiceModeLocalizedName": "string value",
  "ServiceModeCommonShortPrefix": "string value",
  "ServiceModeLocalizedShortPrefix": "string value",
  "ServiceModeEntityID": "string value",
  "Tax1CommonName": "string value",
  "Tax1LocalizedName": "string value",
  "Tax1Rate": 1.23,
  "Tax2CommonName": "string value",
  "Tax2LocalizedName": "string value",
  "Tax2Rate": 1.23,
  "Tax3CommonName": "string value",
  "Tax3LocalizedName": "string value",
  "Tax3Rate": 1.23,
  "Tax4CommonName": "string value",
  "Tax4LocalizedName": "string value",
  "Tax4Rate": 1.23,
  "OutletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "OutletGroupCommonName": "string value",
  "OutletGroupLocalizedName": "string value",
  "OutletCommonName": "string value",
  "OutletLocalizedName": "string value",
  "Created_DeviceIdentifier": "string value",
  "Created_TerminalCommonName": "string value",
  "Created_TerminalLocalizedName": "string value",
  "Created_TerminalDisplayID": "string value",
  "CurrencyCode": "string value",
  "CurrencySymbol": "string value",
  "CurrencyCommonName": "string value",
  "CurrencyLocalizedName": "string value",
  "DBGen": 321,
  "ZReportID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "ZReportCounter": 321,
  "TradingDate": "2012-04-03T09:40:59.736Z",
  "IsTraining": true,
  "IsTransactionReversal": true,
  "IsTransactionRefund": true,
  "IsTransactionReopen": true,
  "WasReversed": true,
  "WasRefunded": true,
  "WasReopened": true,
  "DateTimeOpened": "2012-04-03T09:40:59.736Z",
  "DateTimeClosed": "2012-04-03T09:40:59.736Z",
  "Covers": 321,
  "BillNumber": 321,
  "StatusFlags": 321,
  "TableStatusMask": 321,
  "Amount": 1.23,
  "Cost": 1.23,
  "TaxSales1": 1.23,
  "TaxSales2": 1.23,
  "TaxSales3": 1.23,
  "TaxSales4": 1.23,
  "IncTax1": 1.23,
  "IncTax2": 1.23,
  "IncTax3": 1.23,
  "IncTax4": 1.23,
  "ExTax1": 1.23,
  "ExTax2": 1.23,
  "ExTax3": 1.23,
  "ExTax4": 1.23,
  "CreatedBy_EmployeeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "CreatedBy_UserID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "OwnedBy_EmployeeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "OwnedBy_UserID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "ClosedBy_EmployeeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "ClosedBy_UserID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "ClosedBy_UserName": "string value",
  "ServiceModeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Created_TerminalID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Closed_DeviceIdentifier": "string value",
  "Closed_TerminalID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "Closed_TerminalCommonName": "string value",
  "Closed_TerminalLocalizedName": "string value",
  "Closed_TerminalDisplayID": "string value",
  "EventID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "EventCommonName": "string value",
  "EventLocalizedName": "string value",
  "ClientName": "string value",
  "ClientVersion": "string value",
  "RecommendedRemainingServiceCharge": 1.23,
  "Markers": 321,
  "SalesTransactionDescriptors": [],
  "SalesTransactionItemAdjustmentLinks": [],
  "SalesTransactionTags": [],
  "SalesTransactionTipSummary": [],
  "SalesTransactionPayments": [],
  "SalesTransactionItems": [],
  "SalesTransactionItemCorrections": [],
  "SalesTransactionAuditLines": [],
  "SalesTransactionInterfaceItems": []
}