# Get information of a Merchant

Endpoint to get data of a specific merchant, such as basic info, menus, and services.
- this endpoint can **optionally** require an **apiKey** for authentication, and the Software Service that hosts the endpoint can decide whether it is needed.
- The Software Service can pass the data through the [PUT /v1/merchantOnboarding](#operation/putMerchantOnboarding) endpoint.
- The endpoint is designed so that each merchant has its own URL.
- The specification recommends that the endpoint ends with the `/merchant` route, but this is not mandatory. The `Software Service` can implement the URL in any way it sees fit, as long as it contains information from only one merchant.

> **An item must have either a delivery price or a pickup price. Currently, item with only `indoor` price is not permitted.**


HOST: **SOFTWARE SERVICE**
DIRECTION:

Endpoint: GET /v1/merchant
Version: v.1.0.7
Security: apiKey

## Security:

  - `apiKey` (unknown)
    apiKey in header X-API-KEY

## Response 200:

  - `200` (unknown)
    Successful returns Merchant information.

## Response 200 fields (application/json):

  - `lastUpdate` (string)
    The last modified date and time in ISO timestamp format but with type String.
This should be used in conjuction of the TTL field to update the information on the ordering aplication.
(UTC date-time in ISO timestamp format. See [Guidelines](#section/General-Guidelines) for more info)."
> **Keeta does not support this field and will be ignored.**
    Example: 2021-05-27T20:45:10.332Z

  - `TTL` (integer)
    Time to Live (in seconds).
- Min: 500
- Max: 86400

A new request must be done when the TTL expires.
> **Keeta does not support this field and will be ignored.**
    Example: 500

  - `id` (string, required)
    Unique Identifier. Identifies the merchant in the different systems that the merchant will communicate.
This id must be generated by the merchant's **`Software Service`**.
> The software service should ensure that merchantId is unique.

> If this is not possible, it is recommended to at least use a UUID.
    Example: 22815773000169-dbc7e35a-c936-4665-9e13-eb55eb8b6824

  - `status` (string, required)
    Indicates if the Merchant is Available or Unavailable. Only use this type when you must close (disable) the merchant due to an unexpected event and you don't know when the service will be re-established (e.g. do not use for holidays).
    Enum: "AVAILABLE", "UNAVAILABLE"

  - `basicInfo` (object, required)
    A required entity to implement. Describes basic info of a merchant.

  - `basicInfo.name` (string)
    Merchant Public Name
> **Keeta does not support this field and will be ignored.**
    Example: Pizza Plaza

  - `basicInfo.document` (string)
    Merchant Document
> **Keeta does not support this field and will be ignored.**
    Example: 22815773000169

  - `basicInfo.corporateName` (string)
    Merchant Corporate Name
> **Keeta does not support this field and will be ignored.**
    Example: Food Company

  - `basicInfo.description` (string)
    Merchant Description
> **Keeta does not support this field and will be ignored.**
    Example: Food company specializing in pizzas.

  - `basicInfo.averageTicket` (number)
    Average Ticket. Can be used to show the price range of items available at the merchant. It is not mandatory, but recommended to be used.
> **Keeta does not support this field and will be ignored.**
    Example: 90

  - `basicInfo.averagePreparationTime` (number)
    Average amount of time preparing an order takes, in minutes.
> **Keeta does not support this field and will be ignored.**
    Example: 20

  - `basicInfo.minOrderValue` (object)
    Minimum order value that the merchant accepts.
> **Keeta does not support this field and will be ignored.**

  - `basicInfo.minOrderValue.value` (number, required)
    Price value. 4 decimals places are accepted
    Example: 40

  - `basicInfo.minOrderValue.currency` (string, required)
    The 3-letter ISO 4217 currency code.
    Example: BRL

  - `basicInfo.merchantType` (string)
    Merchant Type.Currently, only `RESTAURANT` is accepted.
> **Keeta does not support this field and will be ignored.**
    Enum: "RESTAURANT"

  - `basicInfo.merchantCategories` (array)
    Merchant Categories
> **Keeta does not support this field and will be ignored.**
    Example: ["PIZZA","FAMILY_MEALS","PREMIUM"]

  - `basicInfo.address` (object)
    Merchant Address
> **Keeta does not support this field and will be ignored.**

  - `basicInfo.address.country` (string, required)
    Two-letter [ISO 3166-1 alpha-2](https://www.iso.org/standard/72482.html) country code.
    Example: BR

  - `basicInfo.address.state` (string, required)
    State or country subdivision. It is recommended (but not required) that you use the [ISO 3166-2](https://www.iso.org/standard/72483.html) representation.
    Example: BR-SP

  - `basicInfo.address.city` (string, required)
    City name.
    Example: São Paulo

  - `basicInfo.address.district` (string, required)
    District or Neighborhood name.
    Example: Moema

  - `basicInfo.address.street` (string, required)
    Street Name.
    Example: Plaza Avenue

  - `basicInfo.address.number` (string, required)
    Street Number.
    Example: 100

  - `basicInfo.address.postalCode` (string, required)
    Postal Code
    Example: 20111-000

  - `basicInfo.address.complement` (string, required)
    Address complement.
    Example: BL 02 AP 31

  - `basicInfo.address.reference` (string)
    Address reference.
    Example: Yellow House

  - `basicInfo.address.latitude` (number, required)
    Latitude in degrees. Values are restricted to the range [[-90, 90]].
    Example: -23.54809

  - `basicInfo.address.longitude` (number, required)
    Longitude in degrees. Values are restricted to the range [[-180, 180]].
    Example: -46.63638

  - `basicInfo.contactEmails` (array, required)
    Merchant Contact Emails. **Only supports up to 3**.
    Example: ["food@company.com"]

  - `basicInfo.contactPhones` (object, required)
    Merchant Contact Phones.

  - `basicInfo.contactPhones.commercialNumber` (string, required)
    Telephone number of the merchant. **Please note that the area code is required.**
    Example: 55-11999999999

  - `basicInfo.contactPhones.whatsappNumber` (string)
    Whatsapp number of the merchant, Keeta will temporarily ignore this information.
> **Keeta does not support this field and will be ignored.**
    Example: 11998888888

  - `basicInfo.logoImage` (object)
    Image to be used as the merchant logo.
> **Keeta does not support this field and will be ignored.**

  - `basicInfo.logoImage.URL` (string, required)
    URL pointing to an image of the merchant logo.
Image requirements:
- Supports standard HTTP/HTTPS external image URLs.
- File size must be less than 5MB, it is recommended to be less than 2MB.
- Support JPG, PNG, JPEG format.
- The width of the image cannot be less than 600px, and the height cannot be less than 450px. The recommended aspect ratio is 4:3, but this is not a constraint.

> It is expected that the images referenced in the URL are downloaded from the server that is making the request, because the URL may no longer be valid after a period of time.
    Example: https://food-company.com/image.jpg

  - `basicInfo.logoImage.CRC-32` (string)
    CRC-32 of the image file. This field can be used to check for changes in the image file.
    Example: 96b41025

  - `basicInfo.bannerImage` (object)
    Image to be used as the merchant banner (the banner display depends on the client application interface).
> **Keeta does not support this field and will be ignored.**

  - `basicInfo.createdAt` (string)
    Merchant creation date and time. \n\n(UTC date-time in ISO timestamp format. See [Guidelines](#section/General-Guidelines) for more info).
> **Keeta does not support this field and will be ignored.**

  - `basicInfo.acceptedCards` (array)
    Indicates which card brands are accepted by the merchant.
> **Keeta does not support this field and will be ignored.**

  - `services` (array, required)
    A required entity to implement. Describes food ordering services details for a merchant.

  - `services.id` (string, required)
    Unique Identifier
    Example: f078e8e2-3044-4eec-b4a8-8359810de123

  - `services.status` (string)
    Indicates if the entity is Avaliable or Unavaliable. Only use this type when you must disable the entity due to an unexpected event and you don't know when the service will be re-established (e.g. do not use for holidays).
> **Keeta does not support this field and will be ignored.**
    Enum: "AVAILABLE", "UNAVAILABLE"

  - `services.serviceType` (string, required)
    The type of service being offered:
`DELIVERY` - for orders that will be delivered to the customer's address.
`TAKEOUT` - orders that will be picked up at the establishment by the customer
`INDOOR` - orders that will be consumed inside the establishment.
    Enum: "DELIVERY", "TAKEOUT", "INDOOR"

  - `services.serviceTiming` (object)
    Information regarding the accepted service times.
> **Keeta does not support this field and will be ignored.**

  - `services.serviceTiming.timing` (array)
    Indicates the timings that the service accepts:
`INSTANT`: for orders that must be prepared immediately.
`SCHEDULED`: for orders scheduled for a specific date and time.
`ONDEMAND`: for orders that will only be delivered when the consumer indicates that they are going to pick it up.
Please inform all accepted types in the field.
If not informed, defaults to the `INSTANT` option.
    Example: ["INSTANT","SCHEDULED"]

  - `services.serviceTiming.schedule` (object)
    Information regarding the time windows for scheduling.
This only applies to the `SCHEDULED` service timing.

  - `services.serviceTiming.schedule.scheduleTimeWindow` (string, required)
    Time window where scheduling will be possible.
> Example: If `15_MINUTES` is chosen, then the available scheduling times will be displayed every 15 minutes (e.g. 9:15, 9:30, 9:45, 10:00).
    Enum: "15_MINUTES", "30_MINUTES", "45_MINUTES", "60_MINUTES", "90_MINUTES", "120_MINUTES"

  - `services.serviceTiming.schedule.scheduleStartWindow` (string, required)
    Informs how long after the merchant has opened (considering the `serviceHours` entity) the first schedule time will be displayed.
> Example: Service starts at 9:00 and the option `45_MINUTES` was entered, then the first available time for scheduling will be 9:45.
    Enum: "15_MINUTES", "30_MINUTES", "45_MINUTES", "60_MINUTES", "90_MINUTES", "120_MINUTES"

  - `services.serviceTiming.schedule.scheduleEndWindow` (string, required)
    Informs how long before the merchant closes (considering the `serviceHours` entity) the last schedule time will be displayed.
> Example: Service ends at 23:00 and the option `60_MINUTES` was entered, then the last available time for scheduling will be 22:00.
    Enum: "15_MINUTES", "30_MINUTES", "45_MINUTES", "60_MINUTES", "90_MINUTES", "120_MINUTES"

  - `services.servicePriority` (array)
    Indicates to the Ordering Application whether the merchant works with different order preparation and delivery priorities.
Must enter up to how many priority levels the merchant serves.
If not entered, it means that the merchant does not have any specific configuration for working with priority, and may or may not be able to do so.
> **Keeta does not support this field and will be ignored.**
    Example: ["PRIORITY1","PRIORITY2"]

  - `services.menuId` (string, required)
    The id value of the `Menu` entity correlated to this `Service` entity.
    Example: f627ccdc-6789-456f-a782-148538d5035b

  - `services.targetAppId` (string)
    This field is for situations in which the merchant needs to send different menus for the same `serviceType` to different Ordering Applications (this can occur when there is an integration software between the merchant software and the Ordering Application). In this case this field must be filled in with the `AppId` of the OrderingApplication which will receive this `service` info.
> **Keeta does not support this field and will be ignored.**

  - `services.serviceArea` (object)
    A conditional entity to implement (required if the Service entity associated has serviceType set to `DELIVERY`). Describes the geographical region in which food can be delivered.
> **Keeta does not support this field and will be ignored.**

  - `services.serviceArea.id` (string, required)
    A unique identifier of the service area.
    Example: 01339e6d-520b-429e-bc7c-dcfd2df42278

  - `services.serviceArea.polygon` (array)
    If the `polygon` is chosen to be used, `geoRadius` is not required.
A polygon or multipolygon expressed as a series of three or more space delimited points.

  - `services.serviceArea.polygon.geoCoordinates` (array, required)
    Coordinates of each point of the polygon. It is recommended that the first and last points be the same, but it is not required.



Each point in a polygon or multipolygon is defined by a latitude point followed by a longitude point. You also must specify the points in a counter-clockwise direction.

  - `services.serviceArea.polygon.geoCoordinates.latitude` (number, required)
    Indicates the latitude coordinate of the polygon point.
Latitude in degrees. Values are restricted to the range [[-90, 90]].
    Example: -23.54809

  - `services.serviceArea.polygon.geoCoordinates.longitude` (number, required)
    Indicates the longitude coordinate of the polygon point.
Longitude in degrees. Values are restricted to the range [[-180, 180]].
    Example: -46.63638

  - `services.serviceArea.polygon.price` (object)
    Price of the fee for this polygon
    Example: {"value":5,"currency":"BRL"}

  - `services.serviceArea.polygon.estimateDeliveryTime` (integer)
    Estimate delivery time for this polygon in minutes

  - `services.serviceArea.geoRadius` (object)
    If the `geoRadius` is chosen to be used, `polygon` is not required. Indicates the approximate radius (in meters) of the CIRCLE area.

  - `services.serviceArea.geoRadius.geoMidpointLatitude` (number, required)
    Indicates the latitude coordinate at the center of the CIRCLE area.
Latitude in degrees. Values are restricted to the range [[-90, 90]].
    Example: -23.54809

  - `services.serviceArea.geoRadius.geoMidpointLongitude` (number, required)
    Indicates the longitude coordinate at the center of the CIRCLE area.
Longitude in degrees. Values are restricted to the range [[-180, 180]].
    Example: -46.63638

  - `services.serviceArea.geoRadius.radius` (array, required)
    Informations about each radius of the CIRCLE that the merchant serves.

  - `services.serviceArea.geoRadius.radius.size` (integer, required)
    The size of the CIRCLE radius in meters.

  - `services.serviceArea.geoRadius.radius.price` (object)
    Price of the fee for this CIRCLE size.
    Example: {"value":5,"currency":"BRL"}

  - `services.serviceArea.geoRadius.radius.estimateDeliveryTime` (integer)
    Estimate delivery time for this CIRCLE size in minutes.

  - `services.serviceArea.exclusionAreaPolygon` (array)
    This object will act as a complement, indicating specific polygons within the previously mapped delivery area, where NO deliveries will be made.
This field can be filled in regardless of whether `polygon` or `geoRadius` is used.

  - `services.serviceArea.exclusionAreaPolygon.geoCoordinates` (array, required)
    Coordinates of each point of the polygon. It is recommended that the first and last points be the same, but it is not required.



Each point in a polygon or multipolygon is defined by a latitude point followed by a longitude point. You also must specify the points in a counter-clockwise direction.

  - `services.serviceArea.exclusionAreaPolygon.geoCoordinates.latitude` (number, required)
    Indicates the latitude coordinate of the polygon point.
Latitude in degrees. Values are restricted to the range [[-90, 90]].
    Example: -23.54809

  - `services.serviceArea.exclusionAreaPolygon.geoCoordinates.longitude` (number, required)
    Indicates the longitude coordinate of the polygon point.
Longitude in degrees. Values are restricted to the range [[-180, 180]].
    Example: -46.63638

  - `services.serviceHours` (object, required)
    A required entity to implement. Describes the time window which users can place orders.

  - `services.serviceHours.id` (string, required)
    A unique identifier of the service hours.
    Example: fb093d8c-2ca5-40fb-afcf-472fbdae81cc

  - `services.serviceHours.weekHours` (array, required)
    A list of the day(s) of the week and time periods for which the service is valid.

  - `services.serviceHours.weekHours.dayOfWeek` (array, required)
    Day of the week for which these service hours are valid
    Example: ["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"]

  - `services.serviceHours.weekHours.timePeriods` (object, required)
    Time window from which users' orders can be placed.

  - `services.serviceHours.weekHours.timePeriods.startTime` (string, required)
    Indicates the specific time of day in ISO format starting from which users' orders can be placed.
    Example: 10:00:00.000Z

  - `services.serviceHours.weekHours.timePeriods.endTime` (string, required)
    Indicates the specific time of day in ISO format beyond which users' orders cannot be placed.
    Example: 18:00:00.000Z

  - `services.serviceHours.holidayHours` (array)
    Map of holiday dates, each with optional `timePeriods`. If a date does not have a time period specified, the restaurant will be closed for that date.

  - `services.serviceHours.holidayHours.date` (string, required)
    date
    Example: 2021-04-07

  - `services.serviceHours.holidayHours.timePeriods` (object, required)
    hours

  - `menus` (array, required)
    A required entity to implement. Describes an array of menus.

  - `menus.id` (string, required)
    A unique identifier of the menu.
    Example: f627ccdc-6789-456f-a782-148538d5035b

  - `menus.name` (string, required)
    Menu name
    Example: Pizzas

  - `menus.description` (string)
    Menu Description
    Example: Pizza menu

  - `menus.externalCode` (string, required)
    Menu External Code. (Tipically the merchant Software Service menu code)
    Example: 123

  - `menus.disclaimer` (string)
    Disclaimer.
> **Keeta does not support this field and will be ignored.**
    Example: Lorem Ipsum is simply dummy text of the printing and typesetting industry.

  - `menus.disclaimerURL` (string)
    Disclaimer URL.
> **Keeta does not support this field and will be ignored.**
    Example: http://example.com

  - `menus.categoryId` (array, required)
    A list of the id values of the child `Category` entities that correspond to this `Menu` entity. Default assumes all `Category` entities are available in this menu.
    Example: ["92fad022-2c28-4239-a026-989f5b555cb7","6bb71850-1d40-49f9-8046-b13e068c0cca"]

  - `categories` (array, required)
    A required entity to implement. Describes an array of sections in the menu where `ItemOffers` will be showed.

  - `categories.id` (string, required)
    A unique identifier of the category.
    Example: 92fad022-2c28-4239-a026-989f5b555cb7

  - `categories.index` (integer, required)
    Category display index.
    Example: 0

  - `categories.name` (string, required)
    Category name.
    Example: Salted Pizza

  - `categories.description` (string)
    Category description.
    Example: Salted pizza flavors.

  - `categories.image` (object)
    Image of the category.

  - `categories.externalCode` (string, required)
    Category External Code. (Tipically the merchant Software Service category code)
    Example: 13

  - `categories.status` (string, required)
    This parameter is currently not processed by Keeta.
    Enum: "AVAILABLE", "UNAVAILABLE"

  - `categories.availabilityId` (array)
    The id values of `Availability` entities which provide details on when the category is available.
> **If not informed, assumes a `Category` is AVAILABLE at all times.**
    Example: ["11d063c4-73a7-4f87-a0eb-71636cc02029"]

  - `categories.itemOfferId` (array, required)
    A list of the id values of the child `ItemOffer` entities that correspond to this `Category` entity.
    Example: ["f080cfb3-5c4a-4eb7-907d-2de3bbb5dfb9"]

  - `itemOffers` (array, required)
    A required entity to implement. Describes an array of offers for the `Items`.

  - `itemOffers.id` (string, required)
    A unique identifier of the item offer.
    Example: f080cfb3-5c4a-4eb7-907d-2de3bbb5dfb9

  - `itemOffers.itemId` (string, required)
    The id value of the `Item` entity correlated to this `ItemOffer` entity.
    Example: 732bd31e-77fc-47ee-88ee-a0437f97b198

  - `itemOffers.index` (integer, required)
    ItemOffer display index.
    Example: 0

  - `itemOffers.status` (string, required)
    Indicates if the entity is Available or Unavailable. Only use this type when you must disable the entity due to an unexpected event and you don't know when the service will be re-established (e.g. do not use for holidays). Default is `AVAILABLE`.
    Enum: "AVAILABLE", "UNAVAILABLE"

  - `itemOffers.price` (object, required)
    Price of the menu item offer. Original and actual values can be informed, for showing discounts.
    Example: {"value":43,"originalValue":43,"currency":"BRL"}

  - `itemOffers.price.value` (number)
    The actual price value. 4 decimals places are accepted.
    Example: 50

  - `itemOffers.price.originalValue` (number, required)
    The orginal price value. 4 decimals places are accepted
    Example: 50

  - `itemOffers.price.currency` (string)
    The 3-letter ISO 4217 currency code.
> **Keeta does not use this field as the currency unit and will be ignored.**
    Example: BRL

  - `itemOffers.availabilityId` (array)
    The id values of `Availability` entities which provide details on when the menu item offer is available.
> **If not informed, assumes an `ItemOffer` is AVAILABLE at all times.**
    Example: ["11d063c4-73a7-4f87-a0eb-71636cc02029"]

  - `itemOffers.optionGroupsId` (array)
    A list of the id values of the child `OptionGroup` entities that correspond to this `ItemOffer` entity.
    Example: ["fe67e551-f42f-499a-8afb-0ed893c71fa3"]

  - `items` (array, required)
    A required entity to implement. Describes an array of items. To be used with an `ItemOffer` or an `Option`.

  - `items.id` (string, required)
    A unique identifier of the item.
    Example: 732bd31e-77fc-47ee-88ee-a0437f97b198

  - `items.name` (string, required)
    Item name
    Example: 1/2 Pepperoni

  - `items.description` (string)
    Item Description
    Example: Pepperoni flavored pizza with LOTS of pepperoni.

  - `items.externalCode` (string, required)
    Item External Code. (Tipically the merchant Software Service item code)
    Example: 233467

  - `items.status` (string, required)
    Indicates if the entity is Available or Unavailable. Only use this type when you must disable the entity due to an unexpected event and you don't know when the service will be re-established (e.g. do not use for holidays). Default is `AVAILABLE`.
    Enum: "AVAILABLE", "UNAVAILABLE"

  - `items.image` (object)
    Image of the item. This field should be used when there is only one image for the item without size variations.
It must **be considered** only if the `images` array **is empty**.
If `images` **contains any value**, this field must **be ignored** even if it is filled.

  - `items.images` (array)
    Array of images of the item. This field should be used when you need size variations for the images.

  - `items.images.URL` (string, required)
    URL pointing to an image of the merchant logo.
Image requirements:
- Supports standard HTTP/HTTPS external image URLs.
- File size must be less than 5MB, it is recommended to be less than 2MB.
- Support JPG, PNG, JPEG format.
- The width of the image cannot be less than 600px, and the height cannot be less than 450px. The recommended aspect ratio is 4:3, but this is not a constraint.

> It is expected that the images referenced in the URL are downloaded from the server that is making the request, because the URL may no longer be valid after a period of time.
    Example: https://food-company.com/image.jpg

  - `items.images.CRC-32` (string)
    CRC-32 of the image file. This field can be used to check for changes in the image file.
    Example: 96b41025

  - `items.images.type` (string, required)
    The type of the image. The `main` type is generally used for larger images, such as in the item detail, while the `thumb` type is for smaller images, typically used in the menu listing.
    Enum: "main", "thumb"

  - `items.nutritionalInfo` (object)
    Nutrition information for the dish.

  - `items.nutritionalInfo.description` (string, required)
    Nutrition information in free text. For example "Contains preservatives".
    Example: Contains preservatives

  - `items.nutritionalInfo.calories` (string, required)
    The number of calories in Cal, kcal, or kJ, using the following format: value Cal or min-max Cal
    Example: 2000 Cal

  - `items.nutritionalInfo.allergen` (array)
    Allergens of this Item

  - `items.nutritionalInfo.additives` (array)
    Additives of this Item

  - `items.nutritionalInfo.suitableDiet` (array)
    The dish complies with the described dietary restriction

  - `items.nutritionalInfo.isAlcoholic` (boolean)
    Indicates if an item is alcoholic.
    Example: false

  - `items.serving` (integer)
    Field to show the number of people the portion serves.
    Example: 2

  - `items.unit` (string)
    Item's Unit of Measurement.
Possible values:
- `UN` - Unit
- `KG` - Kilogram (Keeta is not currently supported)
- `L` - Liter (Keeta is not currently supported)
- `OZ` - Ounce (Keeta is not currently supported)
- `LB` - Pound (Keeta is not currently supported)
- `GAL` - Gallon (Keeta is not currently supported)
    Enum: "UN", "KG", "L", "OZ", "LB", "GAL"

  - `items.ean` (string)
    EAN (European Article Number). **Keeta does not support this field and will be ignored.**
    Example: 7896005202074

  - `optionGroups` (array)
    An optional entity to implement. Describes additional options of an `ItemOffer`.

  - `optionGroups.id` (string, required)
    A unique identifier of the option group.
    Example: fe67e551-f42f-499a-8afb-0ed893c71fa3

  - `optionGroups.index` (integer, required)
    Option Group display index.
    Example: 0

  - `optionGroups.name` (string, required)
    Option Group Name.
    Example: Choose your salted pizza flavor

  - `optionGroups.description` (string)
    Option Group Description.
    Example: Choose your salted pizza flavor.

  - `optionGroups.externalCode` (string, required)
    Option External Code. (Tipically the merchant Software Service option group code)
    Example: 12

  - `optionGroups.status` (string, required)
    Indicates if the entity is Available or Unavailable. Only use this type when you must disable the entity due to an unexpected event and you don't know when the service will be re-established (e.g. do not use for holidays).
    Enum: "AVAILABLE", "UNAVAILABLE"

  - `optionGroups.minPermitted` (integer, required)
    The minimum number of options which should be selected in the option group.
    Example: 2

  - `optionGroups.maxPermitted` (integer, required)
    The maximum number of options which should be selected in the option group.
    Example: 2

  - `optionGroups.priceMethod` (string)
    **Keeta does not support this field and will be ignored.**
Instructions on how this `optionGroup` should be calculated before being applied to the item.
**- SUM**: It will be added to the other optionGroups without any additional rules. **Default** option.
**- MAX**: The highest `optionGroup` value between all `optionGroups` with `priceMethod` = `MAX` will be applied to the calculation.
**- AVG**: The average between `optionGroup` with `priceMethod` = `AVG` will be applied to the calculation.
Example:
item base price: $25,00
optionGroup1 - priceMethod = **AVG**
- **option 1 = $5,00 (selected)**
- option 2 = $10,00 (not selected)

optionGroup2 - priceMethod = **AVG**
- option 1 = $7,00 (not selected)
- **option 2 = $10,00 (selected)**

optionGroup3 - priceMethod = **MAX**
- **option 1 = $15,00 (selected)**
- option 2 = $20,00 (not selected)

optionGroup4 - priceMethod = **MAX**
- option 1 = $30,00 (not selected)
- **option 2 = $35,00 (selected)**

optionGroup5 - priceMethod = **SUM**
- option 1 = $2,00 (not selected)
- **option 2 = $3,00 (selected)**
- option 3 = $5,00 (not selected)

**optionsPrice** = avg(optionGroup1, optionGroup2) + max(optionGroup3, optionGroup4) + optionGroup5
**optionsPrice** = 7,50 + 35,00 + 3,00
**optionPrice** = 45,50
**itemPrice** = 25,00 + 45,50 = 70,50
    Enum: "SUM", "MAX", "AVG"

  - `optionGroups.options` (array)
    A list of `Option` entities that correspond to this option group

  - `optionGroups.options.id` (string, required)
    A unique identifier of the option.
    Example: e5232f14-430c-4a94-8ff6-289d5a16a87a

  - `optionGroups.options.itemId` (string, required)
    The id value of the `Item` entity correlated to this `Option` entity.
    Example: 502ecf11-0509-48ed-b63c-6211c48fd9b9

  - `optionGroups.options.index` (integer, required)
    Option display index.
    Example: 0

  - `optionGroups.options.status` (string, required)
    Indicates if the entity is Available or Unavailable. Only use this type when you must disable the entity due to an unexpected event and you don't know when the service will be re-established (e.g. do not use for holidays). Default is `AVAILABLE`.
    Enum: "AVAILABLE", "UNAVAILABLE"

  - `optionGroups.options.price` (object)
    Price of the option. Original and actual values can be informed, for showing discounts.

  - `optionGroups.options.maxPermitted` (integer)
    The maximum quantity of this option which can be selected in the option group. **Keeta does not support this field and will be ignored.**
    Example: 2

  - `availabilities` (array)
    An optional entity to implement. Describes the time period during which a `Category` or an `ItemOffer` entity is served.
> **Note:**
Our current menu model supports the following options for configuring product availability:
     1. Specific date ranges defined by the startDate and endDate fields
     2. A weekly schedule defined by the hours array
**Combination of 1 and 2 are not supported.**

  - `availabilities.id` (string, required)
    A unique identifier of the availability.
    Example: 11d063c4-73a7-4f87-a0eb-71636cc02029

  - `availabilities.startDate` (string)
    Availability start date. If not informed, the availabilty is already available
> **Keeta does not support this field and will be ignored.**
    Example: 2021-05-01

  - `availabilities.endDate` (string)
    Availability end date. If not informed, the availabilty is always available.
> **Keeta does not support this field and will be ignored.**
    Example: 2021-05-30

  - `availabilities.hours` (array, required)
    Hours

## Response 403:

  - `403` (unknown)
    Authenticated participant request that violates some authorization rule.

## Response 403 fields (application/problem+json):

  - `title` (string, required)
    Short description of the problem.
    Example: Unexpected error

  - `status` (integer, required)
    HTTP code of the returned status.
    Example: 500

## Response 404:

  - `404` (unknown)
    The requested resource was not found.

## Response 404 fields (application/problem+json):

  - `title` (string, required)
    Short description of the problem.
    Example: Unexpected error

  - `status` (integer, required)
    HTTP code of the returned status.
    Example: 500

## Response 503:

  - `503` (unknown)
    Service is not currently available. Requested service may be under maintenance or outside the operating window.

## Response 503 fields (application/problem+json):

  - `title` (string, required)
    Short description of the problem.
    Example: Unexpected error

  - `status` (integer, required)
    HTTP code of the returned status.
    Example: 500

## Response 200 examples:

  - `Merchant Example` (unknown)

