Tips for building a POS integration

A number of companies have integrated their POS with Flipdish. Here are some things we have learned along the way.

1. Use MetaData

The Flipdish v1 API exposes internal IDs for menu entities (MenuItem, MenuOptionSetItem etc). These are liable to change without warning and should not be used to map to your own products.
You should only use the PublicId properties to reference menu entities, or add MetaData to the menu entities and use this to map to your products.

2. Use an Open Item fallback

If an item is not mapped correctly then we recommend that your POS falls back to using an "Open Item". The alternative is either that the item is not sent to the POS (bad as the customer will not receive that item in their order) or that the entire order is rejected (also not good).

3. Do not validate the prices

We recommend that you accept the item prices that are sent in the order instead of using the item that you have stored in your POS. Doing this will mean that you do not need to duplicate data and keep the prices in sync.

If you validate the price and the price in the POS is incorrect then the order will be either be incorrectly rejected or the price charged to the customer will be different to that recorded in your POS.