PartnerSalesTransactionItem Model

This model defines simplified PLU sale line items within a Partner Sales Transaction.

Nullable
salesTransactionItemID : string (GUID)

(Optional) A Unique identifier for this sale item record.
Default: A new unique ID will be generated automatically if it is not supplied.
3rd Party integrations that have a suitable unique identifier for sale items can set this to allow them to have a way to match items to their original source records.

Nullable
dateTimeOrdered : string (ISO 8601 DateTime)

(Optional) The date and time the item was created/ordered in outlet local time.
Default: PartnerSalesTransaction.DateTimeClosed value

Nullable
seat : number (int)

(Optional) The seat number this item belongs to (where applicable).
Default: 0

Nullable decimal(13, 2)
saleQty : number (decimal)

(Optional) The sale item count of this line represents.
Default: 1
Example: 1 (eg if line item is for 1 x Garlic Bread)
3 (eg if the line item is for 3 x Garlic Bread)

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

(Optional) The unit count of stock items affected by this sale. A standard product would normally be 1:1 with SaleQty, modified products quite often affect the StockQty.
Default: 1
Example: 1 x Garlic Bread would have a SaleQty of 1 and a StockQty of 1
1 x DBL Jacks on Ice would have a SaleQty of 1 and a StockQty of 2 (as its a double shot)

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

The total value of the line item. This should include any INCLUSIVE taxes, but exclude any EXCLUSIVE/ADDON taxes.
Example: 1 x Garlic Bread (SaleQty 1, Unit Price $5.00, Amount $5.00)
Example: 3 x Garlic Bread (SaleQty 3, Unit Price $5.00, Amount $15.00)

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

(Optional) The single unit cost of the item (if available).
Default: 0

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

(Optional) This is the amount of Inclusive Tax (accurate to 7 decimal places) calculated for Tax level 1 for this line item.
Default: 0
This value should remain high precision, ie do not round any further than 7 decimal places. Using high precision reduces the tax rounding error at the overall transaction level and this accuracy is required in some tax juristictions.
Set to zero if no tax inclusive tax is required, or this tax level is not used
Example: 10% inclusive tax on $10.00, value would be 0.9090909

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

(Optional) This is the amount of Inclusive Tax (accurate to 7 decimal places) calculated for Tax level 2 for this line item.
Default: 0
This value should remain high precision, ie do not round any further than 7 decimal places. Using high precision reduces the tax rounding error at the overall transaction level and this accuracy is required in some tax juristictions.
Set to zero if no tax inclusive tax is required, or this tax level is not used
Example: 10% inclusive tax on $10.00, value would be 0.9090909

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

(Optional) This is the amount of Inclusive Tax (accurate to 7 decimal places) calculated for Tax level 3 for this line item.
Default: 0
This value should remain high precision, ie do not round any further than 7 decimal places. Using high precision reduces the tax rounding error at the overall transaction level and this accuracy is required in some tax juristictions.
Set to zero if no tax inclusive tax is required, or this tax level is not used
Example: 10% inclusive tax on $10.00, value would be 0.9090909

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

(Optional) This is the amount of Inclusive Tax (accurate to 7 decimal places) calculated for Tax level 4 for this line item.
Default: 0
This value should remain high precision, ie do not round any further than 7 decimal places. Using high precision reduces the tax rounding error at the overall transaction level and this accuracy is required in some tax juristictions.
Set to zero if no tax inclusive tax is required, or this tax level is not used
Example: 10% inclusive tax on $10.00, value would be 0.9090909

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

(Optional) This is the amount of Exclusive Tax (accurate to 7 decimal places) calculated for Tax level 1 for this line item.
Default: 0
This value should remain high precision, ie do not round any further than 7 decimal places. Using high precision reduces the tax rounding error at the overall transaction level and this accuracy is required in some tax juristictions.
Set to zero if no tax exclusive/addon tax is required, or this tax level is not used
Example: 8.125% exclusive tax on $2.50, value would be 0.2031250

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

(Optional) This is the amount of Exclusive Tax (accurate to 7 decimal places) calculated for Tax level 2 for this line item.
Default: 0
This value should remain high precision, ie do not round any further than 7 decimal places. Using high precision reduces the tax rounding error at the overall transaction level and this accuracy is required in some tax juristictions.
Set to zero if no tax exclusive/addon tax is required, or this tax level is not used
Example: 8.125% exclusive tax on $2.50, value would be 0.2031250

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

(Optional) This is the amount of Exclusive Tax (accurate to 7 decimal places) calculated for Tax level 3 for this line item.
Default: 0
This value should remain high precision, ie do not round any further than 7 decimal places. Using high precision reduces the tax rounding error at the overall transaction level and this accuracy is required in some tax juristictions.
Set to zero if no tax exclusive/addon tax is required, or this tax level is not used
Example: 8.125% exclusive tax on $2.50, value would be 0.2031250

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

(Optional) This is the amount of Exclusive Tax (accurate to 7 decimal places) calculated for Tax level 4 for this line item.
Default: 0
This value should remain high precision, ie do not round any further than 7 decimal places. Using high precision reduces the tax rounding error at the overall transaction level and this accuracy is required in some tax juristictions.
Set to zero if no tax exclusive/addon tax is required, or this tax level is not used
Example: 8.125% exclusive tax on $2.50, value would be 0.2031250

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

(Optional) This is the sale value used for any Tax 1 calculations.
Default: 0
Typically this would be the same as the Amount field if the full amount of the item is being taxed.
Set to 0 only if this tax level is not used. For a tax free tax level (tax rate of 0%), this value should still be set to the amount that would be used for any normal tax calculation.

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

(Optional) This is the sale value used for any Tax 2 calculations.
Default: 0
Typically this would be the same as the Amount field if the full amount of the item is being taxed.
Set to 0 only if this tax level is not used. For a tax free tax level (tax rate of 0%), this value should still be set to the amount that would be used for any normal tax calculation.

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

(Optional) This is the sale value used for any Tax 3 calculations.
Default: 0
Typically this would be the same as the Amount field if the full amount of the item is being taxed.
Set to 0 only if this tax level is not used. For a tax free tax level (tax rate of 0%), this value should still be set to the amount that would be used for any normal tax calculation.

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

(Optional) This is the sale value used for any Tax 4 calculations.
Default: 0
Typically this would be the same as the Amount field if the full amount of the item is being taxed.
Set to 0 only if this tax level is not used. For a tax free tax level (tax rate of 0%), this value should still be set to the amount that would be used for any normal tax calculation.

Nullable
isTippable : bool

(Optional) Is this item considered tippable for the purposes of tip allocation and tip liability. Any tip liability would be allocated to the user specified in the PartnerSalesTransaction.
Default: false

Nullable MaxLength(32)
priceLevelName : string

(Optional) The name of the Price Level associated to the item record.
Default: External Integration
3rd Party integrations can make up their own names, or they can base them on the existing Price Level configuration if available.
Example: "Price Level 1" or "Standard Prices" or "Happy Hour"

Nullable MaxLength(32)
groupName : string

(Optional) The name of the Reporting Group this item belongs to.
Default: Automatically resolved from the PLU record. In the event the PLU cannot be resolved, will default to "External Integration"
3rd Party integrations can provide the group name if known or if sales are submitted for PLU's that will not be resolved in the POS systems PLU database.
Example: Entrees or Spirits

Nullable MaxLength(32)
mainGroupName : string

(Optional) The name of the Main Group this item belongs to.
Default: Automatically resolved from the PLU record. In the event the PLU cannot be resolved, will default to "External Integration"
3rd Party integrations can provide the main group name if known or if sales are submitted for PLU's that will not be resolved in the POS systems PLU database.
Example: FOOD or BEVERAGE

Nullable MaxLength(50)
pluName : string

The PLU name for the sale item record.
Default: Automatically resolved from the PLU record. In the event the PLU cannot be resolved, will default to "External Integration"
3rd Party integrations should provide PLU name whenever possible.
Example: "Garlic Bread"
Important: PLUNumber and/or PLUName must be supplied. If both are NULL/Empty, the transaction will be rejected.

Nullable
pluNumber : number (int)

The PLU number of the PLU in the EPOS systems configuration database.
Default: NULL
Note: This field is used to lookup the full PLU information from the EPOS configuration database. If this field is not supplied, then PLUName must be supplied as a minimum and the item will be added as a Custom Product.
Example: 1001
Important: PLUNumber and/or PLUName must be supplied. If both are NULL/Empty, the transaction will be rejected.
Important: If PLUNumber is used AND PLUName, MainGroupName and/or GroupName are specified, the PLU information (name, groups etc) will be resolved from the configuration, however the names will be overriden by any name(s) specified in the PLUName/MainGroupName/GroupName fields.

Nullable MaxLength(24)
saleModifierName : string

(Optional) The name of the Sale Modifier applied to this item record (if applicable).
Default: [No Modifier]
If no Sales Modifier was applied then set this NULL.
3rd Party integrations can make up their own sale modifier names if required, or they can base them on the existing configuration records if available.
Example: "Pint" or "Double Shot"

Nullable MaxLength(8)
saleModifierPrefixName : string

(Optional) The prefix of the Sale Modifier applied to this item record (if applicable). Prefix is optional for Sales Modifiers. Prefixes are applied to the front of the PLU Name.
Default: "" (ie blank string)
If no Sales Modifier was applied then this should be NULL or blank (ie empty string).
3rd Party integrations can make up their own sale modifier prefixes if required, or they can base them on the existing configuration records if available.
Example: "PINT" (as in 1 x PINT Carlsberg) or "DBL" (as in 1 x DBL Jack Daniels on ice)

Nullable MaxLength(32)
taxGroupName : string

(Optional) The name of the Tax Group which was used for tax calculations on this item.
Default: "External Integration"
3rd Party integrations can make up their own tax group names if required, or they can base them on the existing configuration records if available.
Tax group name would usually represent the name of the overall taxation system for the country the order originates from.
Example: "VAT" or "GST" or "Tax Free"

Nullable MaxLength(64)
cost_CostCenterName : string

(Optional) The name of the cost center allocated to this item for cost tracking purposes (if available)
Default: "" (ie blank string)
3rd Party integrations can use their own cost center names if required, or they can base them on the existing configuration records if available.
Example: "Restaurant" or "Outlet" or "Front Bar"

Nullable MaxLength(64)
revenue_CostCenterName : string

(Optional) The name of the cost center allocated to this item for revenue tracking purposes (if applicable), otherwise blank (ie empty string)
Default: "" (ie blank string)
3rd Party integrations can use their own revenue center names if required, or they can base them on the existing configuration records if available.
Example: "Restaurant" or "Outlet" or "Front Bar"

Nullable
itemChildren : PartnerSalesTransactionItem []

A list of child PLU sale items for this Item.
Example: 1 x T-Bone Steak (this record)
Medium Rare (add this as a child record)
Pepper Sauce (add this as a child record)

Nullable
itemAdjustments : PartnerSalesTransactionAdjustment []

A list of Adjustments (discounts / surcharges) that directly affect this sale item.
Use this when you have Adjustments (discounts / surcharges) to apply to individual sale items, rather than broadly over the entire transaction.

Example
{
  "salesTransactionItemID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "dateTimeOrdered": "2012-04-03T09:40:59.736Z",
  "seat": 321,
  "saleQty": 1.23,
  "stockQty": 1.23,
  "amount": 1.23,
  "cost": 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,
  "taxSales1": 1.23,
  "taxSales2": 1.23,
  "taxSales3": 1.23,
  "taxSales4": 1.23,
  "isTippable": true,
  "priceLevelName": "string value",
  "groupName": "string value",
  "mainGroupName": "string value",
  "pluName": "string value",
  "pluNumber": 321,
  "saleModifierName": "string value",
  "saleModifierPrefixName": "string value",
  "taxGroupName": "string value",
  "cost_CostCenterName": "string value",
  "revenue_CostCenterName": "string value",
  "itemChildren": [],
  "itemAdjustments": []
}