{"openapi":"3.0.0","servers":[{"description":"SwaggerHub API Auto Mocking","url":"https://virtserver.swaggerhub.com/Revention1/HungerRushAPI/1.0.0"}],"info":{"description":"# **HungerRush API**\n\nThe HungerRush API allows you to post orders to a ReventionPOS\nthrough HungerRush.\n\n## *Authentication*\n\nTo authenticate, you must provide an API key, a timestamp, and a signature. Some operations specific to a store require the store number.\n\nThe API Key, API Secret, and store number are provided by Revention.\n\nThe timestamp is the number of seconds from the Epoch (1/1/1970)\n\nThe signature is computed from the HMAC\n1. Concatenate the API Key, timestamp, storeNmber, request URI, request method, and raw data. Ex: apikey+TimeStamp+storeNumber+URL+POST+rawdata (See sample code below)\n2. Using the HMACSHA256 algorithm with the API Secret from Revention as the key, compute the hash of the concatenated string and base64 encode the value.\n3. Send the base64 encoded hash as the signature.\n\nBelow is a sample call using NodeJS\n```\n// Make sure to NPM Install crypto-js and request\nvar CryptoJS = require('crypto-js');\nvar request = require('request');\n// Install/uncomment for greater request detail.\n// require('request-debug')(request);\n\nvar key = 'APIKEY';\nvar Secret = 'APISECRET';\n// Replace * with store domain\nvar encodedUri = 'https://*.hungerrush.com/api/v1/order/processorder';\n\n// Change these variables for each call.\nvar store = 999999;\nvar req = {\n  \"OrdType\": \"string\", \"Subtotal\": 0, \"Tax\": 0,\n  \"DeliveryFee\": 0, \"Total\": 0,\n  \"ReferenceID\": \"string\",\n  \"Items\": [\n    {\n      \"Qty\": 0, \"SKU\": \"string\",\n      \"GroupName\": \"string\", \"ItemName\": \"string\",\n      \"StyleName\": \"string\", \"SizeName\": \"string\",\n      \"Price\": 0, \"StyPrice\": 0, \"NoteText\": \"string\",\n      \"Cpn\": {\n        \"Name\": \"string\", \"Discount\": 0,\n        \"CpnType\": 0, \"CpnPct\": 0\n      },\n      \"Mods\": [\n        {\n          \"Qty\": 0, \"SKU\": \"string\", \"Name\": \"string\",\n          \"Price\": 0, \"HalfStatus\": 0, \"IsLite\": true\n        }\n      ],\n      \"NoMods\": [\n        {\n          \"Qty\": 0, \"SKU\": \"string\", \"Name\": \"string\",\n          \"Price\": 0, \"HalfStatus\": 0, \"IsLite\": true\n        }\n      ],\n      \"Prefs\": [\n        {\n          \"Qty\": 0, \"SKU\": \"string\", \"Name\": \"string\",\n          \"Price\": 0, \"PrefName\": \"string\"\n        }\n      ]\n    }\n  ],\n  \"Taxes\": [\n    {\n      \"TaxName\": \"string\", \"TaxableAmount\": 0,\n      \"TaxAmount\": 0\n    }\n  ],\n  \"Payments\": [\n    {\n      \"TransID\": \"string\", \"CardType\": \"string\",\n      \"PaymentType\": \"Credit\", \"Amount\": 0,\n      \"Last4Digits\": \"0000\", \"PayerName\": \"string\"\n    }\n  ],\n  \"Cpns\": [\n    {\n      \"Name\": \"string\", \"Discount\": 0, \n      \"CpnType\": 0, \"CpnPct\": 0\n    }\n  ],\n  \"Customer\": {\n    \"FirstName\": \"string\", \"LastName\": \"string\",\n    \"MobilePhone\": \"string\", \"Email\": \"nobody@nowhere.com\",\n    \"StNum\": \"string\", \"Street\": \"string\",\n    \"Loc\": \"string\", \"Apt\": \"string\",\n    \"City\": \"string\", \"State\": \"string\",\n    \"Zip\": \"string\"\n  }\n};\n\nfunction epochTime() {\n    var d = new Date();\n    var t = d.getTime();\n    var o = t + \"\";\n    return o.substring(0, 10);\n}\n\nvar time = epochTime();\nvar method = 'POST';\n\nvar rawSignature = key + time + store + encodedUri + method + JSON.stringify(req);\n\nvar signature = CryptoJS.HmacSHA256(rawSignature, Secret).toString(CryptoJS.enc.Base64);\n\nvar reqOpts = {\n  url: encodedUri,\n  method: \"POST\",\n  headers: {\n    'X-PSK': key,\n    'X-Stamp': time,\n    'X-Signature': signature,\n    'X-Store': store\n  },\n  json: req\n}\n\nfunction callback(error, response, body) {\n  if (!error && response.statusCode == 200) {\n    console.log(body);\n  } else {\n    console.log(response);\n    console.log(\"Error calling API\");\n    console.log(\"Status=\" + response.statusCode);\n    console.log(\"StatusMsg=\" + response.statusMessage);\n    console.log(error);\n    console.log(body);\n  }\n}\n\nrequest(reqOpts, callback);\n```\n---\n---\nBelow is an example of getting the menu, based on the code above:\n\n```\n// Replace * with store domain\nvar menuUri = 'https://*.hungerrush.com/api/v1/order/getmenu';\n\nmethod = 'GET';\n\nrawSignature = key + time + store + menuUri + method;\n\nsignature = CryptoJS.HmacSHA256(rawSignature, Secret).toString(CryptoJS.enc.Base64);\n\nreqOpts = {\n  url: menuUri,\n  method: method,\n  headers: {\n    'X-PSK': key,\n    'X-Stamp': time,\n    'X-Signature': signature,\n    'X-Store': store\n  }\n}\n\nrequest(reqOpts, callback);\n\n```\n","version":"1.0.0","title":"HungerRush Online Ordering API","contact":{"email":"dev@revention.com"},"license":{"name":"Proprietary Copyright 2018 Revention Inc.","url":"http://www.revention.com/"}},"tags":[{"name":"orders","description":"Order Operations"},{"name":"menu","description":"Menu Operations"}],"paths":{"/api/v1/order/processorder":{"post":{"tags":["orders"],"summary":"submits order","parameters":[{"in":"header","name":"X-Stamp","schema":{"type":"integer","format":"int64"},"required":true},{"in":"header","name":"X-Signature","schema":{"type":"string"},"required":true},{"in":"header","name":"X-Store","schema":{"type":"integer","format":"int32"},"required":true}],"operationId":"processorder","description":"Submit an order object to HungerRush for validation\nand submission to the store.\n","responses":{"200":{"description":"Order Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderRspModel"}}}},"400":{"description":"Validation Errors","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderRspModel"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ord"}}},"description":"Order to submit for validation and processing"}}},"/api/v1/order/getmenu":{"get":{"tags":["menu"],"summary":"Gets store online menu","parameters":[{"in":"header","name":"X-Stamp","schema":{"type":"integer","format":"int64"},"required":true},{"in":"header","name":"X-Signature","schema":{"type":"string"},"required":true},{"in":"header","name":"X-Store","schema":{"type":"integer","format":"int32"},"required":true}],"operationId":"getmenu","description":"Gets the current online HungerRush menu for the store.\n","responses":{"200":{"description":"Successfully Retrieved Menu","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Menu"}}}},"401":{"description":"Unauthorized"}}}},"/api/v1/order/getesttime":{"get":{"summary":"Gets order estimated time","parameters":[{"in":"path","name":"BusinessID","description":"This is the HungerRush store business ID from the URL","schema":{"type":"integer","format":"int32"},"required":true},{"in":"path","name":"Delivery","description":"true for Delivery and false for Pickup","schema":{"type":"boolean"},"required":true}],"operationId":"getesttime","description":"Gets the order estimated time for the store.\n","responses":{"200":{"description":"Retrieved Estimated Time - Check Success","content":{"application/json":{"schema":{"type":"object","properties":{"EstTimeInMin":{"type":"integer"},"Success":{"type":"boolean"}}}}}}}}}},"components":{"schemas":{"Ord":{"type":"object","required":["OrdType","Subtotal","Tax","Total","Items","Taxes","Payments","Customer","DeferDue"],"properties":{"OrdType":{"type":"string","minLength":1,"maxLength":15,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Subtotal":{"type":"number"},"Tax":{"type":"number","description":"Must equal sum of tax"},"DeliveryFee":{"type":"number"},"Total":{"type":"number","description":"Must equal sum of subtotal, tax, and delivery fee"},"ReferenceID":{"type":"string","minLength":0,"maxLength":25,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Items":{"type":"array","items":{"$ref":"#/components/schemas/OrdItem"}},"Taxes":{"type":"array","items":{"$ref":"#/components/schemas/Tax"}},"Payments":{"type":"array","items":{"$ref":"#/components/schemas/Payment"}},"Cpns":{"type":"array","items":{"$ref":"#/components/schemas/Discount"}},"Customer":{"$ref":"#/components/schemas/Customer"},"DeferDue":{"type":"string","format":"date-time","description":"This is the date and time that the order is due, or the store local time for an ASAP order."},"ValidateOnly":{"type":"boolean","description":"If this is [True], the order is Validated but not committed to the database and if it is [False] the order is committed to Database barring any errors"},"TPOrder":{"$ref":"#/components/schemas/OrdTags"}}},"OrdTags":{"type":"string","enum":["POS","PostMates","UberEats","DoorDash","GrubHub","ThirdParty"]},"OrdItem":{"type":"object","required":["GroupName","ItemName"],"properties":{"Qty":{"type":"integer"},"SKU":{"type":"string","minLength":0,"maxLength":15,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"GroupName":{"type":"string","minLength":1,"maxLength":25,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"ItemName":{"type":"string","minLength":1,"maxLength":25,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"StyleName":{"type":"string","minLength":0,"maxLength":15,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"SizeName":{"type":"string","minLength":0,"maxLength":15,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Price":{"type":"number"},"StyPrice":{"type":"number"},"NoteText":{"type":"string","minLength":0,"maxLength":100,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Cpn":{"$ref":"#/components/schemas/Discount"},"Mods":{"type":"array","items":{"$ref":"#/components/schemas/Mod"}},"NoMods":{"type":"array","items":{"$ref":"#/components/schemas/Mod"}},"Prefs":{"type":"array","items":{"$ref":"#/components/schemas/Pref"}}}},"Tax":{"type":"object","required":["TaxName","TaxAmount","TaxableAmount"],"properties":{"TaxName":{"type":"string","minLength":1,"maxLength":25,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"TaxableAmount":{"type":"number"},"TaxAmount":{"type":"number"}}},"Payment":{"type":"object","required":["TransID","CardType","PaymentType","Amount"],"properties":{"TransID":{"type":"string","minLength":1,"maxLength":15,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"CardType":{"type":"string","minLength":1,"maxLength":15,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"PaymentType":{"$ref":"#/components/schemas/PaymentTypes"},"Amount":{"type":"number"},"Last4Digits":{"type":"string","minLength":0,"maxLength":4,"pattern":"^-{0,1}\\d+$"},"PayerName":{"type":"string","minLength":0,"maxLength":26,"pattern":"^(?=.{1,40}$)([a-zA-Z\\s]+((['.-][a-zA-Z]|[,]\\s?[a-zA-Z])?[a-zA-Z\\s]*)*[.]?)$"},"Tip":{"type":"number"}}},"Discount":{"type":"object","required":["Name","Discount","CpnType"],"properties":{"Name":{"type":"string","minLength":1,"maxLength":25,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Discount":{"type":"number"},"CpnType":{"type":"string","enum":["Amount_Off","Percent_Off"]},"CpnPct":{"type":"number"}}},"Customer":{"type":"object","required":["FirstName","LastName","MobilePhone","Email"],"properties":{"FirstName":{"type":"string","minLength":0,"maxLength":25,"pattern":"^(?=.{1,40}$)([a-zA-Z\\s]+((['.-][a-zA-Z]|[,]\\s?[a-zA-Z])?[a-zA-Z\\s]*)*[.]?)$"},"LastName":{"type":"string","minLength":0,"maxLength":25,"pattern":"^(?=.{1,40}$)([a-zA-Z\\s]+((['.-][a-zA-Z]|[,]\\s?[a-zA-Z])?[a-zA-Z\\s]*)*[.]?)$"},"MobilePhone":{"type":"string","minLength":0,"maxLength":20,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Email":{"type":"string","minLength":0,"maxLength":80,"pattern":"^[a-zA-Z0-9_\\+-]+(\\.[a-zA-Z0-9_\\+-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.([a-zA-Z]{2,6})$"},"StNum":{"type":"string","minLength":0,"maxLength":10,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Street":{"type":"string","minLength":0,"maxLength":40,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Loc":{"type":"string","minLength":0,"maxLength":40,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Apt":{"type":"string","minLength":0,"maxLength":25,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"City":{"type":"string","minLength":0,"maxLength":25,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"State":{"type":"string","minLength":0,"maxLength":15,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Zip":{"type":"string","minLength":0,"maxLength":10,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"}}},"Mod":{"allOf":[{"$ref":"#/components/schemas/OrdItemOpt"}],"type":"object","required":["HalfStatus"],"properties":{"HalfStatus":{"type":"string","enum":["Whole","Half1","Half2"]},"IsLite":{"type":"boolean"}}},"Pref":{"allOf":[{"$ref":"#/components/schemas/OrdItemOpt"}],"type":"object","required":["PrefName"],"properties":{"PrefName":{"type":"string","minLength":0,"maxLength":25,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"}}},"PaymentTypes":{"type":"string","enum":["Credit","Gift"]},"OrdItemOpt":{"type":"object","required":["Name"],"properties":{"Qty":{"type":"integer"},"SKU":{"type":"string","minLength":0,"maxLength":15,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Name":{"type":"string","minLength":0,"maxLength":25,"pattern":"^$|^[A-Za-z0-9 !\\/\\\\$@^&'(),.:;\\[\\]\\+\\=?#*%\\n\\r\\u2122\\u00A9\\u00AE\\-_]+$"},"Price":{"type":"number"}}},"ResponseModel":{"type":"object","properties":{"Success":{"type":"boolean"},"Message":{"type":"string"},"Errors":{"type":"array","items":{"type":"string"}}}},"OrderRspModel":{"allOf":[{"$ref":"#/components/schemas/ResponseModel"}],"type":"object","properties":{"EstTimeInMin":{"type":"integer"},"OrderID":{"type":"string"}}},"Menu":{"type":"object","required":["Name"],"properties":{"Name":{"type":"string"},"ExtraModMax":{"type":"integer"},"Groups":{"type":"array","items":{"$ref":"#/components/schemas/MenuGroup"}},"TaxTypes":{"type":"array","items":{"$ref":"#/components/schemas/MenuTax"}},"OrdTypes":{"type":"array","items":{"$ref":"#/components/schemas/MenuOrdType"}},"DelivOpts":{"$ref":"#/components/schemas/DeliveryOptions"}}},"MenuBase":{"type":"object","required":["Name"],"properties":{"Name":{"type":"string"},"DisplayName":{"type":"string"}}},"MenuGroup":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object","required":["Items"],"properties":{"AllowHalf":{"type":"boolean"},"StyleLabel":{"type":"string"},"UseOrdTypePricing":{"type":"boolean"},"Items":{"type":"array","items":{"$ref":"#/components/schemas/MenuItem"}},"Mods":{"type":"array","items":{"$ref":"#/components/schemas/MenuGroupMod"}},"Sizes":{"type":"array","items":{"$ref":"#/components/schemas/MenuGroupSize"}},"Styles":{"type":"array","items":{"$ref":"#/components/schemas/MenuGroupStyle"}}}},"MenuCpn":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object","required":["CpnType","CpnScope"],"properties":{"CpnType":{"$ref":"#/components/schemas/CpnTypes"},"CpnScope":{"$ref":"#/components/schemas/CpnScopes"},"CpnValue":{"type":"number"},"CpnPct":{"type":"number"},"Menu":{"type":"string"},"MenuGroup":{"type":"string"},"MenuItem":{"type":"string"},"MenuSize":{"type":"string"},"MenuStyle":{"type":"string"},"MinPrice()":{"type":"number"}}},"MenuTax":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object","required":["TaxRate","TaxIncluded"],"properties":{"TaxRate":{"type":"number"},"TaxIncluded":{"type":"boolean"},"IsAlchohol":{"type":"boolean"},"OrdTypes":{"type":"array","items":{"$ref":"#/components/schemas/MenuTaxOrdType"}}}},"MenuOrdType":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object","properties":{"IsDelivery":{"type":"boolean"},"DeferPrepMin":{"type":"integer"},"MinOrd":{"type":"number"},"OrdTypePriceIdx":{"type":"integer","description":"This is used for price by ord type fields. 0 or missing, no order type pricing. 1 uses OrdTypePrice1 and 2 uses OrdTypePrice2."},"OrderTypeCategory":{"$ref":"#/components/schemas/OrderTypeCategory"}}},"MenuItem":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object","properties":{"OrdTypePrice1":{"type":"number"},"OrdTypePrice2":{"type":"number"},"Price":{"type":"number"},"IsAvailable":{"type":"boolean"},"IsAvailable1":{"type":"boolean"},"IsAvailable2":{"type":"boolean"},"TaxType":{"type":"string"},"Description":{"type":"string"},"Sizes":{"type":"array","items":{"$ref":"#/components/schemas/MenuSize"}},"PreMods":{"type":"array","items":{"$ref":"#/components/schemas/MenuItemPreMod"}},"ReqMods":{"type":"array","items":{"$ref":"#/components/schemas/MenuItemReqMod"}},"Prefs":{"type":"array","items":{"$ref":"#/components/schemas/MenuItemPref"}},"ExcldMods":{"type":"array","items":{"type":"string"}}}},"DeliveryOptions":{"type":"object","properties":{"HasDeliveryFee":{"type":"boolean"},"DeliveryFeeType":{"type":"integer"},"DeliveryFeeValue":{"type":"number"},"DeliveryFeeTaxType":{"type":"string"},"DeliveryFeeLabel":{"type":"string"}}},"MenuPriceBase":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object","required":["Price"],"properties":{"Price":{"type":"number"}}},"MenuGroupMod":{"allOf":[{"$ref":"#/components/schemas/MenuPriceBase"}],"type":"object","properties":{"TaxType":{"type":"string"},"ModCatKey":{"type":"integer"},"NoHalf":{"type":"boolean"},"ModMaxQty":{"type":"integer"},"Sizes":{"type":"array","items":{"$ref":"#/components/schemas/MenuSize"}}}},"MenuGroupSize":{"allOf":[{"$ref":"#/components/schemas/MenuPriceBase"}],"type":"object","properties":{"IsDefault":{"type":"boolean"},"OrdTypePrice1":{"type":"number"},"OrdTypePrice2":{"type":"number"}}},"MenuGroupStyle":{"allOf":[{"$ref":"#/components/schemas/MenuPriceBase"}],"type":"object","properties":{"IsDefault":{"type":"boolean"},"Sizes":{"type":"array","items":{"$ref":"#/components/schemas/MenuSize"}}}},"CpnTypes":{"type":"string","enum":["Amount_Off","Percent_Off"]},"CpnScopes":{"type":"string","enum":["Order","Item","MultiItem","BOGO"]},"MenuTaxOrdType":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object","required":["TaxRate"],"properties":{"TaxRate":{"type":"number"}}},"OrderTypeCategory":{"type":"string","enum":["Pickup","Delivery","Curbside","Catering","DineIn"]},"MenuSize":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object","properties":{"OrdTypePrice1":{"type":"number"},"OrdTypePrice2":{"type":"number"},"Price":{"type":"number"},"IsAvailable":{"type":"boolean"},"IsAvailable1":{"type":"boolean"},"IsAvailable2":{"type":"boolean"},"ModValue":{"type":"number"},"Mod2ndValue":{"type":"number"}}},"MenuItemPreMod":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object"},"MenuItemReqMod":{"type":"object","properties":{"ModCatKey":{"type":"integer"},"MaxReqMods":{"type":"integer"}}},"MenuItemPref":{"allOf":[{"$ref":"#/components/schemas/MenuBase"}],"type":"object","required":["Members"],"properties":{"Description":{"type":"string"},"DefaultMember":{"type":"string"},"Members":{"type":"array","items":{"$ref":"#/components/schemas/MenuItemPrefMbr"}}}},"MenuItemPrefMbr":{"allOf":[{"$ref":"#/components/schemas/MenuPriceBase"}],"type":"object","properties":{"TaxType":{"type":"string"}}}},"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"X-PSK"}}},"security":[{"ApiKey":[]}]}