Mergeport Ordering – POS

Mergeport Ordering - POS developer (0.0.2)

Download OpenAPI specification:Download

Menu items are offered for sale by PoS systems. PoS systems can perform CRUD operations on the menu items stored by mergeport. Apps can query menu items.

Orders

Orders contain menu items. They are created by apps and processed (pulled, status updates) by PoS systems. Each order item is represented by its itemId and a list of variants, i.e., additional items that are added to the item (e.g., extra cheese for a pizza).

Specials

The specials menu is a work in progress prototype for the app mittag.at . It features a very basic API for exchanging data on daily menu specials (e.g. Lunch menu).

Tables

Allows the querying and management of tables in different areas of the restaurant (rooms). There is no separate API for areas. To not complicate things unnecessarily an area is simply a string property of the table like 'main room'.

Authentication

password

Security scheme type: OAuth2
password OAuth Flow
Token URL: http://example.com/oauth/token
Scopes:
  • write -

    allows modifying resources

  • read -

    allows reading resources

MenuItem

Retrieve all items

This operation retrieves the list of all available menu items.

Authorizations:
password (readwrite)
path Parameters
posId

required
string

the id of the POS

Responses

200

list of menu items

401

Unauthorized

404

The specified resource was not found

get /{posId}/items

Authentication server mock

https://ordering.mergeport.com/v1/api/pos/{posId}/items

SwaggerHub API Auto Mocking

https://virtserver.swaggerhub.com/Mergeport6/Fidelity/0.0.1/{posId}/items

Response samples

application/json

Copy

Expand all Collapse all

[

  • {

    }

]

Create new item

This operation creates a new menu item.

Authorizations:
password (readwrite)
path Parameters
posId

required
string

the id of the POS

Request Body schema: application/json

asd

id
string <uuid>

unique id assigned by mergeport

posId
string

id of the POS system

itemId
number <int32>

item id assigned by the PoS system (this is the same as the FoodOrderItem.menuItemId)

name
string

name of the item

price
number <int32>

price in cents

comment
string

optional comment

variant
boolean

true if the item is a variant of some otheritem, e.g., extra cheese

active
boolean

true if the item can currently be ordered at all

webOrderingActive
boolean

true if the item can currently be ordered remotely, e.g. from an app or website

tableOrderingActive
boolean

true if the item can currently be ordered at the table using an app (in restaurant)

vat
number <float>

value added tax, percentage 0-100

vatReduced
number <float>

reduced value added tax, if applicable

variantType
string (VariantType)
Default: "OPTIONAL"
Enum:"OPTIONAL" "REQUIRED" "INGREDIENT"
variantRemovePrice
number <int32>

price in cents if this item is removed as a variant (e.g., removing cheese from a pizza instead of extra cheese

variants
Array of object (MenuItem)

optional items which might be added to this item (e.g. extra cheese)

category
string

section in the menu this item belongs to like 'main dishes'

orderItemFailedToMatchItem
boolean

indicates if this is a default item to be used in case an item in the order did not share name or id with any item in mergeport

lastModified
string <date-time>

date of the last modification of this record

Responses

200

single menu item

401

Unauthorized

404

The specified resource was not found

post /{posId}/items

Authentication server mock

https://ordering.mergeport.com/v1/api/pos/{posId}/items

SwaggerHub API Auto Mocking

https://virtserver.swaggerhub.com/Mergeport6/Fidelity/0.0.1/{posId}/items

Request samples

application/json

Copy

Expand all Collapse all

{

  • "id": "string",
  • "posId": "string",
  • "itemId": 0,
  • "name": "string",
  • "price": 0,
  • "comment": "string",
  • "variant": true,
  • "active": true,
  • "webOrderingActive": true,
  • "tableOrderingActive": true,
  • "vat": 0,
  • "vatReduced": 0,
  • "variantType": "OPTIONAL",
  • "variantRemovePrice": 0,
  • "variants":

    [

    ],

  • "category": "string",
  • "orderItemFailedToMatchItem": true,
  • "lastModified": "2019-03-30T13:36:13Z"

}

Response samples

application/json

Copy

Expand all Collapse all

{

  • "id": "string",
  • "posId": "string",
  • "itemId": 0,
  • "name": "string",
  • "price": 0,
  • "comment": "string",
  • "variant": true,
  • "active": true,
  • "webOrderingActive": true,
  • "tableOrderingActive": true,
  • "vat": 0,
  • "vatReduced": 0,
  • "variantType": "OPTIONAL",
  • "variantRemovePrice": 0,
  • "variants":

    [

    ],

  • "category": "string",
  • "orderItemFailedToMatchItem": true,
  • "lastModified": "2019-03-30T13:36:13Z"

}

Retrieve item

This operation retrieves the specified menu item.

Authorizations:
password (readwrite)
path Parameters
posId

required
string

the id of the POS

itemId

required
string

the id of the item

Responses

200

single menu item

401

Unauthorized

404

The specified resource was not found

get /{posId}/items/{itemId}

Authentication server mock

https://ordering.mergeport.com/v1/api/pos/{posId}/items/{itemId}

SwaggerHub API Auto Mocking

https://virtserver.swaggerhub.com/Mergeport6/Fidelity/0.0.1/{posId}/items/{itemId}

Response samples