Integrate Menus

To integrate your POS for menus we have 1 health endpoint that you must integrate and 1 required endpoint to give us the menu. We recommend that you do these all as seperate endpoints, but you can do it as one endpoint and use the "Type" field to determine the type of data sent to you.

Get Menu

To give us the menu

Flyt will call this endpoint with a GET, expecting to be able to get any menus that exist for that location for that order type.

As a response, Flyt will expect a response with the full menu JSON payload.

Headers
AccessToken : XXX (provided by POS)

Parameters
{
  "type" : "GetMenu",
  "posLocationId" : "BBBBBBBBB", // Value stored in Flyt config
}


Response: 200 OK
{
  "baseline_menus" : [{
    "name" : "main summer menu", // Name of the menu
    "type" : "ANY", //COLLECTION,EAT_IN,DELIVERY
    "categories" :[{
      "name" : "category name",
      "description" : "Description of the cateory",
      "items" :[{
        "name" : "Cheeseburger",
        "description" : "Will make you cry with joy",
        "plu" : "AAAAAA",
        "price" : 525, //Price in cents
        "modifiers" :[{
          "name" : "Cheese choice",
          "description" : "Choose your cheese",
          "pick" : {
            "exactly": 1, // Use this or a range 1-3 or omit for unlimited.  This determines if the options are required
          },
          "options" : [{
            // SAME AS ABOVE IS ANOTHER ITEM OBJECT CAN KEEP GOING DOWN
          }],
        }],
        "includes" :  // Includes are items already included that can be removed
        [{
          "name" : "Tomato",
          "plu" : "AAAAA", //PLU To remove this item
          "description" : "Juicy", //Not often used
          "modifiers" :[{
            // AS ABOVE
          }]
        }].
        "ingredients" :
        [{
          "name" : "tomato"
        }]

}

In-Stock Out-of-Stock

We have an endpoint within Flyt that allows you to tell us when an item goes in-stock or out of stock. Each morning at 5am all items will go back in-stock, so if you want them to remain out of stock you need to resend them. You will call this endpoint with a POST.

As a response, you will get a 200 OK from Flyt.

POST v1/pos/push-pull/stock

Headers
X-Flyt-Api-Key : XXX (provided by Flyt)

Parameters
{
  "posLocationId" : "BBBBBBBBB", // Value stored in Flyt config
  "plu" : "AAAAAAA",
  "stockLevel" : 0, // 0 means out of stock, anything greater in in-stock.
}


Response: 200 OK