---
title: "Allows to get a merchant by id and find similar merchants"
method: GET
path: "/v1/merchants/{merchantId}/similar"
tags: ["merchants"]
---

# Allows to get a merchant by id and find similar merchants

`GET /v1/merchants/{merchantId}/similar`

This endpoint allows to receive detailed information for a particular merchant in the system and for restaurants that are similar to this one.
A merchant is similar if all the following conditions are met:
1. Location: the recommended merchants are within 30 km radius from the main merchant
2. The similar merchants are bookable online
3. The similar merchants have the main cuisine in common

This merchant should be specified by their identifier **merchantId**, which is mandatory.
The endpoint can take optional request header **Accept-Language**.
This header is used to determine correct locale and has an effect on translation of merchant's entity fields, that may be omitted.

The expected value of the header **Accept-Language** should contain language and can contain country, e.g. "de_DE" or "de". Locale by default is "en_GB".

The endpoint returns status `HTTP 200` if the request is successful. In a successful requests the specified merchant was found.

If the merchant has no products allowed for a web search, i.e. is not bookable, response data with `HTTP 200` is returned, but the field `merchant` is not set. Instead, the merchant search message is set.

The endpoint will return status `HTTP 404` if the merchant, specified by identifier, was not found.

Example curl:
```
curl  -H 'X-Quandoo-AuthToken: {INSERT_KEY_HERE}' -H 'Accept-Language: de_DE' 'https://{host}/v{X}/merchants/11/similar'
```

Example responses:
`merchant bookable`
```
{
    "merchant": {
        "id":11,
        "name":"Test merchant",
        "phoneNumber":"+27113901837",
        "currency":"ZAR",
        "locale":"en_ZA",
        "timezone":"Africa/Johannesburg",
        "location":{
            "coordinates":{
                "latitude":33.9,
                "longitude":18.4
            },
            "address":{
                "street":"Tamerlan street",
                "number":"6A",
                "zipcode":"10787",
                "city":"Cape Town",
                "country":"ZAF"
            }
        },
        "reviewScore": "5.3",
        "tagGroups":[
            {
                "type":"CUISINE",
                "tags":[
                    {
                        "id":25,
                        "name":"Testküche Hauptkategorie"
                    },
                    {
                        "id":28,
                        "name":"Test cuisine"
                    }
                ]
            }
        ],
        "images":[
            {
                "url":"https://dci5ez2ey8tr9.cloudfront.net/8e4d1063-9171-40b1-94b7-5e9337591a90/7_sld.jpg"
            }
        ],
        "documents":[],
        "links":[
            {
                "href":"https://{host}/{path}?aid=16",
                "method":"GET",
                "rel":"DETAILS"
            },
            {
                "href":"https://{host}/{path}?aid=16&countryId=NLD",
                "method":"GET",
                "rel":"WIDGET"
            },
            {
                "href":"https://{host}/{path}/details?aid=16&countryId=NLD",
                "method":"GET",
                "rel":"WIDGET_DETAILS"
            }
        ],
        "bookable": true,
        "openingTimes": {
          "standardOpeningTimes": {
            "SATURDAY": [
              {
                "start": "09:00:00",
                "end": "20:00:00"
              }
            ],
            "SUNDAY": [
              {
                "start": "09:00:00",
                "end": "18:00:00"
              }
            ]
          }
        },
        "ccvEnabled": true,
        "chain": {
           "id": 1,
           "name": "Test chain"
        }
    },
   "recommendedMerchants": {
        "merchants": [
            {
                "id":12,
                "name":"similar merchant",
                "phoneNumber":"+27113901838",
                "currency":"ZAR",
                "locale":"en_ZA",
                "timezone":"Africa/Johannesburg",
                "location":{
                    "coordinates":{
                        "latitude":33.8,
                        "longitude":18.4
                    },
                    "address":{
                        "street":"Tamerlan street",
                        "number":"5A",
                        "zipcode":"10787",
                        "city":"Cape Town",
                        "country":"ZAF"
                    }
                },
                "reviewScore": "5.3",
                "tagGroups":[
                    {
                        "type":"CUISINE",
                        "tags":[
                            {
                                "id":25,
                                "name":"Testküche Hauptkategorie"
                            },
                            {
                                "id":28,
                                "name":"Test cuisine"
                            }
                        ]
                    }
                ],
                "images":[
                    {
                        "url":"https://dci5ez2ey8tr9.cloudfront.net/8e4d1063-9171-40b1-94b7-5e9337591a90/7_sld.jpg"
                    }
                ],
                "documents":[],
                "links":[
                    {
                        "href":"https://{host}/{path}?aid=16",
                        "method":"GET",
                        "rel":"DETAILS"
                    },
                    {
                        "href":"https://{host}/{path}?aid=16&countryId=NLD",
                        "method":"GET",
                        "rel":"WIDGET"
                    },
                    {
                        "href":"https://{host}/{path}/details?aid=16&countryId=NLD",
                        "method":"GET",
                        "rel":"WIDGET_DETAILS"
                    }
                ],
                "bookable": true,
                "openingTimes": {
                  "standardOpeningTimes": {
                    "SATURDAY": [
                      {
                        "start": "09:00:00",
                        "end": "20:00:00"
                      }
                    ],
                    "SUNDAY": [
                      {
                        "start": "09:00:00",
                        "end": "18:00:00"
                      }
                    ]
                  }
                },
                "ccvEnabled": true,
                "chain": {
                   "id": 1,
                   "name": "Test chain"
                }
            }
        ],
        "size": 1,
        "offset": 0,
        "limit": 10
    }
}
```

`merchant not bookable`
```
{
    "merchantSearchMessage": "MERCHANT_NOT_BOOKABLE",
    "recommendedMerchants": {
        "limit": 10,
        "merchants": [...],
        "offset": 0,
        "size": 0
    }
}
```

## Path parameters

- `merchantId` integer, required

## Query parameters

- `sort` 'CLOSEST'
- `limit` integer

## Headers

- `Accept-Language` string

## Response `200`

OK

- MerchantWithRecommendationsDto
  - `merchant` MerchantDetailsDto, required
    - `id` integer, required — The id of the merchant.
    - `name` string, required — The name of the merchant.
    - `phoneNumber` string, required — The phone number of the merchant.
    - `currency` string — The currency of the merchant.
    - `locale` string — The locale of the merchant.
    - `timezone` string, required — The timezone of the merchant.
    - `location` LocationDto, required
      - `coordinates` CoordinatesDto
        - `latitude` number, double
        - `longitude` number, double
      - `address` MerchantAddressDto
        - `street` string
        - `number` string
        - `zipcode` string
        - `city` string
        - `country` string
        - `district` string
    - `reviewScore` string, required — The review score of the merchant.
    - `tagGroups` TagGroupDto[] — The tag groups this merchant belongs to, requires permission. Without permissions returns only CUISINE and PRICE.
      - `type` 'CUISINE' | 'MEAL_TYPE' | 'ESTABLISHMENT_TYPE' | 'AREA' | 'INTERNET' | 'FOOD_RELATED' | 'ACCESSIBILITY' | 'PAYMENT' | 'PRICE' | 'ATMOSPHERE' | 'PARKING' | 'EXTRAS' | 'GOOD_FOR' | 'MENU_DETAILS'
      - `tags` TranslatedTagDto[]
        - `id` string, uuid
        - `name` string
    - `images` ImageDto[] — The slider images this merchant has.
      - `url` string, url
    - `documents` DocumentDto[] — The documents this merchant has, requires permission.
      - `name` string
      - `url` string
      - `format` string
      - `description` string
    - `links` LinkRelationDto[], required — The links related to this entity.
      - `href` string, url
      - `method` string
      - `rel` 'DETAILS' | 'WIDGET' | 'WIDGET_DETAILS' | 'GET_MERCHANT' | 'PARENT' | 'SELF' | 'SETTINGS' | 'AVAILABILITY_DAYS' | 'AVAILABILITIES' | 'CREATE_RESERVATION' | 'GET_RESERVATION' | 'UPDATE_RESERVATION' | 'GET_CUSTOMER_RESERVATION' | 'GET_REVIEW' | 'PORTAL_PREORDER_FORM' | 'RESERVATION_CHECKOUT_PAGE' | 'CREDIT_CARD_DETAILS_PAGE' | 'CUSTOMER_EDIT_RESERVATION'
    - `bookable` boolean, required — The flag indicates whether the merchant is bookable or not.
    - `openingTimes` OpeningTimesDto, required
      - `standardOpeningTimes` StandardOpeningTimesDto, required
    - `ccvEnabled` boolean, required — If true, credit card information is required when creating a reservation.
    - `chain` ChainDto
      - `id` integer
      - `name` string
    - `ivrRedirectNumber` string — The IVR forwarding phone number, requires permission.
    - `shortDescription` string — Merchant short description, requires permission.
    - `longDescription` string — Merchant long description, requires permission.
  - `merchantSearchMessage` 'MERCHANT_NOT_BOOKABLE', required — Additional information about the search result: MERCHANT_NOT_BOOKABLE if the merchant exists but is not bookable
  - `recommendedMerchants` MerchantDetailsDtoList
    - `merchants` MerchantDetailsDto[], required — Merchant details collection.
      - `id` integer, required — The id of the merchant.
      - `name` string, required — The name of the merchant.
      - `phoneNumber` string, required — The phone number of the merchant.
      - `currency` string — The currency of the merchant.
      - `locale` string — The locale of the merchant.
      - `timezone` string, required — The timezone of the merchant.
      - `location` LocationDto, required
        - `coordinates` CoordinatesDto
          - `latitude` number, double
          - `longitude` number, double
        - `address` MerchantAddressDto
          - `street` string
          - `number` string
          - `zipcode` string
          - `city` string
          - `country` string
          - `district` string
      - `reviewScore` string, required — The review score of the merchant.
      - `tagGroups` TagGroupDto[] — The tag groups this merchant belongs to, requires permission. Without permissions returns only CUISINE and PRICE.
        - `type` 'CUISINE' | 'MEAL_TYPE' | 'ESTABLISHMENT_TYPE' | 'AREA' | 'INTERNET' | 'FOOD_RELATED' | 'ACCESSIBILITY' | 'PAYMENT' | 'PRICE' | 'ATMOSPHERE' | 'PARKING' | 'EXTRAS' | 'GOOD_FOR' | 'MENU_DETAILS'
        - `tags` TranslatedTagDto[]
          - `id` string, uuid
          - `name` string
      - `images` ImageDto[] — The slider images this merchant has.
        - `url` string, url
      - `documents` DocumentDto[] — The documents this merchant has, requires permission.
        - `name` string
        - `url` string
        - `format` string
        - `description` string
      - `links` LinkRelationDto[], required — The links related to this entity.
        - `href` string, url
        - `method` string
        - `rel` 'DETAILS' | 'WIDGET' | 'WIDGET_DETAILS' | 'GET_MERCHANT' | 'PARENT' | 'SELF' | 'SETTINGS' | 'AVAILABILITY_DAYS' | 'AVAILABILITIES' | 'CREATE_RESERVATION' | 'GET_RESERVATION' | 'UPDATE_RESERVATION' | 'GET_CUSTOMER_RESERVATION' | 'GET_REVIEW' | 'PORTAL_PREORDER_FORM' | 'RESERVATION_CHECKOUT_PAGE' | 'CREDIT_CARD_DETAILS_PAGE' | 'CUSTOMER_EDIT_RESERVATION'
      - `bookable` boolean, required — The flag indicates whether the merchant is bookable or not.
      - `openingTimes` OpeningTimesDto, required
        - `standardOpeningTimes` StandardOpeningTimesDto, required
      - `ccvEnabled` boolean, required — If true, credit card information is required when creating a reservation.
      - `chain` ChainDto
        - `id` integer
        - `name` string
      - `ivrRedirectNumber` string — The IVR forwarding phone number, requires permission.
      - `shortDescription` string — Merchant short description, requires permission.
      - `longDescription` string — Merchant long description, requires permission.
    - `size` integer
    - `offset` integer
    - `limit` integer

## Other responses

- `404` — Merchant not found error

---

[API](https://skmtc.net/quandoo/apis/quandooapidocumentation.md) · [All operations](https://skmtc.net/quandoo/apis/quandooapidocumentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/quandoo/quandooapidocumentation/revisions/6863a5956792/schema)
