Product Modifiers
Type | Base Path | Trigger Name |
---|---|---|
REST resource | ~{realm}/product-modifiers/ | product-modifiers |
This resource holds all product modifiers. A product modifier is a string value, label or product that may be added to a product/item when it is added to a tab. Product modifiers are used to add extra information to kitchen tickets or to add extra charges to a product.
Endpoints
Name | Method | Relative Path | Payload | Response | Description |
---|---|---|---|---|---|
addProductModifier | POST | ~{realm}/product-modifiers/ | ProductModifier | Stored_ProductModifier | Adds a new product modifier to the list. |
listProductModifiers | GET | ~{realm}/product-modifiers/ | N/A | Stored_ProductModifier[] | Retrieves a list of product modifiers. |
getProductModifier | GET | ~{realm}/product-modifiers/{id} | N/A | Stored_ProductModifier | Retrieves a product modifier. |
putProductModifier | PUT | ~{realm}/product-modifiers/{id} | ProductModifier | Stored_ProductModifier | Replaces a product modifier. |
updateProductModifier | PATCH | ~{realm}/product-modifiers/{id} | Partial_ProductModifier | Stored_ProductModifier | Updates specified product modifier fields. |
removeProductModifier | DELETE | ~{realm}/product-modifiers/{id} | N/A | N/A | Deletes a product modifier. |
Permissions
Permission | Description |
---|---|
edit-product-modifiers | Client is allowed to add new product modifiers and to modify or delete existing product modifiers. |
show-product-modifiers | Client is allowed to query the product modifier list and to fetch individual product modifiers. |
Entities
Interface ProductModifier
namespace ProductModifier {
type Title = 'heading' | 'inline' | 'hidden';
type Type = 'single-value' | 'multiple-values' | 'single-product' | 'multiple-products' | 'products' | 'single-label' | 'multiple-labels';;
}
interface ProductModifier {
'name': string;
'title'?: ProductModifier.Title;
'values'?: string[];
'required'?: boolean;
'label-values'?: number[];
'products'?: number[];
'automatic': boolean;
'type': ProductModifier.Type;
'id'?: number;
'created'?: DateTime;
'updated'?: DateTime;
'deleted'?: DateTime;
'updated-by'?: number;
'updated-from'?: number;
'tags'?: string[];
'labels'?: number[];
}
Property | Data Type | Description |
---|---|---|
name | String | Name of product modifier. Must be unique. |
title | ProductModifier.Title? | How the modifier name is displayed on kitchen tickets. Default is heading for values and hidden for products. |
values | String[]? | List of possible values; used for modifier types single-value and multiple-value . |
required | Boolean | If true, the cash register will prevent the cashier from adding a product to the tab until one modifier has been checked. |
label-values | Int64[]? | List of possible labels; used for modifier types single-label and multiple-labels . |
products | Int64[]? | List of possible products; used for modifier type single-product , multiple-products or products . |
automatic | Boolean | If true, the cash register will trigger a modifier dialog automatically when a product using this modifier is added to the current tab. |
type | ProductModifier.Type | Kind of modifier. See below. |
id | Int64? | The resource ID of this entity. |
created | DateTime? | Date and time when this entity was first created. |
updated | DateTime? | Date and time when this entity was last modified. |
deleted | DateTime? | Date and time when this entity was deleted. |
updated-by | Int64? | ID of User who last modified this entity. |
updated-from | Int64? | ID of Till (trusted device) which last modified this entity. |
labels | Int64[]? | A list of Label IDs associated with this entity. |
The following product modifier types are available:
Type | Description |
---|---|
single-value | A list of named options is presented and the cashier is allowed to select a single item from the list. |
multiple-values | A list of named options is presented and the cashier is allowed to select any number of items from the list. |
single-product | A list of products is presented and the cashier is allowed to select one product from the list. |
multiple-products | A list of products is presented and the cashier is allowed to select any number of items from the list. The products can have a non-zero price that will be added to the total. |
products | A list of products is presented and the cashier is allowed to select any number of items from the list. The products can have a non-zero price that will be added to the total. |
single-label | A list of labels is presented and the cashier is allowed to select one label from the list. |
multiple-labels | A list of labels is presented and the cashier is allowed to select any number of labels from the list. |
- Values are used to add a small piece of information to a product, such as "rare", "medium" or "well done" for a steak.
- Products are used to add an extra product to an item, such as "Double Cheese" or "Bacon" for a burger, if such extras are not free.
- Labels, finally, can be used to attach extra labels to a specific item, in order to force an item into a
non-default kitchen ticket section (as configured by
section-labels
inKitchenPrinterConfig
).
For presentation on kitchen tickets, the following title types are supported:
Type | Description |
---|---|
heading | The modifier name is displayed as a heading, on a separate line. |
inline | The modifier name is displayed before the value, on the same line. |
hidden | The modifier name is not displayed on the kitchen ticket at all. |