RemoteOrderProductAttribute Model

Represents a child attribute that can be applied to a parent product

Overview

ProductID / ProductModifierID

For more information about sourcing values for productAttributeId and productAttributeModifierId please see the MenuSync documentation on Modifiers.

Tax

For jurisdictions with inclusive taxes (taxes that are already included in the price of an item like UK/EU VAT or Australian GST) there is no requirement to populate tax fields as the POS will be able to calculate the tax internally. Providers would only need to send the tax amounts if they were planning on either withholding tax/displaying tax receipts.

For jurisdictions with exclusive tax (sometimes called addon taxes - i.e. taxes that are in addition to the list price) the tax fields are mandatory.

Required
remoteOrderProductAttributeID : string (GUID)

Primary key assigned by ROS for this product attribute.

A third party provider should omit this property entirely OR leave this as Guid.Empty. ROS will overwrite it and return the new value at order submission

Required
quantity : number (int)

Quantity of this attribute being ordered (independent of parent product quantity).

This should be set to the full quantity of this attribute that is being ordered (when taking into account the parent product's quantity).

For example if a Breakfast (Product) was being ordered with 3 x Sausages (Attributes) and the consumer decided to order two of this dish then it'd be expected
for the provider to Breakfast with a quantity of 2 and Sausages with a quantity of 6.

Required decimal(18, 2)
price : number (decimal)

price per unit charged to consumer

Required decimal(18, 2)
totalAmount : number (decimal)

Total amount of this attribute (qty * price). Inclusive tax (if any) will be included in this amount. Exclusive tax will NOT

Nullable MaxLength(64)
productAttributeID : string

unique ID received from provider for this product attribute. Could be PLU, could be an actual ID of the PLU record

can also be null

Nullable MaxLength(64)
productAttributeModifierID : string

unique ID received from provider for the sales modifier assigned to this product. May be a valid SalesModifierID guid reference or a SaleModifier Prefix (8 digits max). Null = no modifier

can also be null

Nullable MaxLength(50) Truncates
name : string

fallback attribute name (as ordered by consumer)

Nullable
taxCollected : RemoteOrderTaxCollectedAmount []

The optional tax totals for this product being ordered. Not required if the provider is NOT taking payments.
Missing entries for a RemoteOrderTaxID will indicate that no tax was collected for that particular RemoteOrderTax.

The TaxID's must match the RemoteOrderTax sent with the RemoteOrder Menu.

Example
{
  "remoteOrderProductAttributeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
  "quantity": 321,
  "price": 1.23,
  "totalAmount": 1.23,
  "productAttributeID": "string value",
  "productAttributeModifierID": "string value",
  "name": "string value",
  "taxCollected": []
}