# Restaurant API Resources v1.0

Each resource used in the Restaurant API version 1.0 is listed below.

# Brand

Describes the brand that the restaurant is a member of.

Name Required Type Description
key false string The unique key for the brand.
name false string The full, official name of the brand.
displayName true string The display name for the brand.
enabled true boolean Indicates if the brand is enabled.
createdOn true date-time The date and time the brand was created.
modifiedOn true date-time The date and time the brand was modified.

# Sample

{
    "key": "SPUR",
    "name": "Spur",
    "displayName": "Spur Steak Ranches",
    "enabled": true,
    "createdOn": "2013-09-25T13:37:28.8966667",
    "modifiedOn": "2020-11-19T12:15:05.04"
}

Describes a menu that will be linked to restaurants.

Name Required Type Description
key true string The unique key for the menu.
version true int The menu version. The same menu will have multiple versions over time. Each version will contain different items, pricing and so on.
name true string The name of the menu.
displayName true string A display name for the menu for use within apps and websites.
description true string A description for the menu.
brandKey true string The brand key of brand that the menu is for.
defaultForBrand true boolean Indicates if the menu is the default menu for the brand. The sit down menu in each brand would typically be marked as default.
status false string The current status of the menu.
publishStatus false string The current published status of the menu.
countryCode true string The ISO 3166-1 Alpha-2 code for the country that the menu is intended to be used in.
currency true string The currency applicable for the pricing on the menu.
enabled true boolean Indicates if the menu is enabled.
effectiveFrom true date The date the menu version is effective from.
effectiveTo true date The date the menu version is effective to.
createdOn true date-time The date and time the menu was created.
modifiedOn true date-time The date and time the menu was modified.

# Sample

{
    "key": "SPUR-ZA-19",
    "version": 202012,
    "name": "Spur - Standard - Take-away - 1st Party",
    "displayName": "Take-Away",
    "description": "Standard Menu available for the brand app",
    "brandKey": "SPUR",
    "defaultForBrand": false,
    "status": "Approved",
    "publishStatus": "Published",
    "countryCode": "ZA",
    "enabled": true,
    "effectiveFrom": "2020-11-25T00:00:00",
    "effectiveTo": "2021-06-30T23:59:59.9999999",
    "createdOn": "2020-04-14T21:20:29",
    "modifiedOn": "2020-11-25T00:00:00"
}

# OrderingService

Describes an ordering service that restaurants make use of.

Name Required Type Description
key true string The key for the service.
name true string The name for the service that can be displayed to the customer.
sortOrder true int The order to display the services in, if required.
url false string The URL to the service.

# Sample

{
    "key": "UberEats",
    "name": "Uber Eats",
    "sortOrder": 11,
    "url": "https://www.ubereats.com"
}

# Restaurant

Describes the restaurant and its properties, linked menus, URLs and services.

Name Required Type Description
key true int The unique key for the restaurant.
accountKey true int64 The unique account key for the restaurant.
name true string The name for the restaurant. Should not be displayed to customers. Use displayName rather.
displayName true string The display name for the restaurant. Suitable for displaying to customers.
brand false Brand The brand for the restaurant.
outletType true string The type of outlet the restaurant is classified as. Values are either Restaurant or Virtual Kitchen
restaurantType true string Describes the type that the restaurant is classified as.
restaurantStatus true string Describes the current status of the restaurant.
tradingStatus true string Describes the current trading status of the restaurant.
active true boolean Indicates if the restaurant is in an active state or not.
emailAddress false string The primary email address for the restaurant.
alternateEmailAddress false string The alternate email address for the restaurant.
telephoneNumber false string The primary telephone number for the restaurant.
alternateTelephoneNumber false string The alternate telephone number for the restaurant.
streetAddress false string The street address for the restaurant. Made up of addressLine1 and addressLine2.
addressLine1 false string The first line of the address.
addressLine2 false string The second line of the address.
suburb false string The suburb for the address.
city false string The city for the address.
province false string The province or state for the address.
countryCode true string The ISO 3166-1 Alpha-2 code of the country that the restaurant trades in.
countryName true string The name of the country that the restaurant trades in.
latitude false double The latitude of the restaurant.
longitude false double The longitude of the restaurant.
utcOffset false string The UTC time offset of the restaurant.
utcOffsetMinutes false int The UTC time offset of the restaurant in minutes.
tradingTimes false TradingTime[] The array of restaurantTradingTime objects.
playArea true boolean Indicates if the restaurant has a kiddies play area.
caterForDisabled true boolean Indicates if the restaurant caters for disabled patrons.
smokingSection true boolean Indicates if the restaurant has a smoking section.
wireless true boolean Indicates if the restaurant provides wireless internet access.
halaal true boolean Indicates if the restaurant is certified as Halaal.
liquorLicence true boolean Indicates if the restaurant serves alcohol.
tradeOffPowerGrid true boolean Indicates if the restaurant has the ability to trade during load shedding.
floorArea false int The floor area of the restaurant in square meters.
numberOfTables false int The number of tables available in the restaurant.
numberOfSeats false int The number of seats available in the restaurant.
greenEcoStatusRating false int The green eco status rating score for the restaurant.
orderingServices false OrderingService[] The array of orderingService objects.
urls false RestaurantUrl[] The array of restaurantUrl objects.
pointOfSale false string The type of POS used by the restaurant.
posLinkCode false string The code used to identify the restaurant in the POS system that the restaurant uses.
menus false Menu[] The array of menus available to the restaurant.
createdOn true date-time The date and time the restaurant was created.
modifiedOn true date-time The date and time the restaurant was modified.

# Sample

{
    "key": 13,
    "accountKey": 411000013,
    "name": "Eagle Eye Spur",
    "displayName": "Eagle Eye Spur",
    "brand": {
        "key": "SPUR",
        "name": "Spur",
        "displayName": "Spur",
        "enabled": true,
        "createdOn": "2013-09-25T13:37:28.8966667",
        "modifiedOn": "2021-02-03T09:55:06.4333333"
    },
    "outletType": "Restaurant",
    "restaurantType": "Standard",
    "restaurantStatus": "Open",
    "tradingStatus": "Open",
    "active": true,
    "emailAddress": "eagleeye@spursteakranch.co.za",
    "alternateEmailAddress": null,
    "telephoneNumber": "021-4480921",
    "alternateTelephoneNumber": null,
    "streetAddress": "Shop 2, St Peters Square, Main Road",
    "addressLine1": "Shop 2, St Peters Square",
    "addressLine2": "Main Road",
    "suburb": "Observatory",
    "city": "Cape Town",
    "province": "Western Cape",
    "countryCode": "ZA",
    "countryName": "South Africa",
    "latitude": -33.942156,
    "longitude": 18.464641,
    "utcOffset": "+02:00",
    "utcOffsetMinutes": 120,
    "tradingTimes": [],
    "playArea": true,
    "caterForDisabled": false,
    "smokingSection": true,
    "wireless": false,
    "halaal": true,
    "liquorLicence": false,
    "tradeOffPowerGrid": false,
    "floorArea": 480,
    "numberOfTables": 64,
    "numberOfSeats": 270,
    "greenEcoStatusRating": 1,
    "orderingServices": [],
    "urls": [],
    "pointOfSale": "Pilot",
    "posLinkCode": "261",
    "menus": [],
    "createdOn": "1999-11-01T00:00:00",
    "modifiedOn": "2021-05-07T00:00:00"
}

# TradingTime

Describes the operating times that the restaurant is open for trade for.

Name Required Type Description
tradingDay true string The day of the week or the name of a public holiday.
closed true boolean Indicates if the restaurant is closed for trade or not.
openingTime false string The opening time on the specific trading day.
closingTime false string The closing time on the specific trading day.
ordersOpeningTime false string The opening time for online orders on the specific trading day.
ordersClosingTime false string The closing time for online orders on the specific trading day.

# Sample

{
    "tradingDay": "Monday",
    "closed": false,
    "openingTime": "09:00:00",
    "closingTime": "21:00:00",
    "ordersOpeningTime": "09:00:00",
    "ordersClosingTime": "21:00:00"
}

# RestaurantUrl

Describes a URL associated to a restaurant.

Name Required Type Description
urlType true string The type of URL indicates what service the URL is for.
url true string The URL to the service.

# Sample

{
    "urlType": "GoReview",
    "url": "https://spur71.goreview.co.za"
}