Recommendation Restaurants#

Recommended restaurants are activities proposed by the traveler application based on various input parameters such like customer’s interests. Based on those parameters, a recommendation engine finds the activities that fit the needs of the customer.

The following sections will describe the exposed endpoints dedicated recommendations.

Get recommendation restaurants#

The following section describes how to get recommendation restaurants based on various inputs.

Path

POST /recommendation/v1/restaurants

Input parameters

Field

Mandatory

Type

Format

Description

Example

maxRecommendations

N

integer

N/A

The maximum number of recommendations returned by the recommendation engine

10

restaurantFilters

Y

Object

N/A

The inputs needed for the recommendation engine

restaurantFilters/city

N

string

N/A

The city name from which the recommendations engine is doing the search

Nice

restaurantFilters/countryCode

N

string

N/A

The country ISO code from which the recommendations engine is doing the search

FR

restaurantFilters/countryCodes

N

Object

N/A

The list of country ISO codes (inclusion/exlusion) from which the recommendations engine is doing the search

{ include: [“FR”, “ES”], exclude: []}

restaurantFilters/countryCodes/include

N

Array

N/A

The list of country ISO codes from which the recommendations engine is doing the search

include: [“FR”, “ES”]

restaurantFilters/countryCodes/exclude

N

Array

N/A

The list of country ISO codes from which the recommendations engine is exluding from the search

exclude: [“FR”]

restaurantFilters/iataCode

N

string

N/A

The iata code from which the recommendations engine is doing the search

NCE

restaurantFilters/radius

N

double

N/A

Positive value to define the radius in km for the search

100.0

restaurantFilters/geoLocation

N

Object

N/A

The geolocation coordinates from which the recommendation engine is doing the search

N/A

restaurantFilters/geoLocation/latitude

N

double

N/A

The latitude coordinate from which the recommendation engine is doing the search

52.520008

restaurantFilters/geoLocation/longitude

N

double

N/A

The longitude coordinate from which the recommendation engine is doing the search

13.404954

restaurantFilters/categories

N

Array

N/A

List of the categories suggested for the search

[“activities-action-entertainment”]

restaurantFilters/interests

N

Array

N/A

List of the interests suggested for the search. The reco engine will search in multiple fields of the products (title,description).

[“I like eating ice cream”]

restaurantFilters/title

N

string

N/A

Title suggested for the search

Saut en parachute

restaurantFilters/maxPriceLevel

N

integer

between 1 and 4

Maximum Price Level for restaurants

3

restaurantFilters/minPriceLevel

N

integer

between 1 and 4

Minimum Price Level for restaurants

1

restaurantFilters/currency

N

string

ISO-4217

Currency in which activities are to be displayed

EUR

restaurantFilters/tripContext

N

string

N/A

Trip context to adapt recommendations. Accepted values: “Business” or “Leisure” or “Staycation”

Business

restaurantFilters/travelerType

N

string

N/A

Type of traveler for personalized recommendation. Accepted values: “Solo” or “Couple” or “Family” or “Group”

Solo

restaurantFilters/travelDate

N

string

YYYY-MM-DD

Date of the travel. Not compatible with countryCode(s)

2025-12-25

restaurantFilters/computationWeight

N

object

json

Customizer weight to set the fields to be focused by the reco engine

restaurantFilters/computationWeight/interest

N

double

N/A

Weight of interests in the recommendation. The default value is 1

1

restaurantFilters/computationWeight/price

N

double

N/A

Weight of price level in the recommendation. The default value is 1

1

restaurantFilters/computationWeight/rating

N

double

N/A

Weight of ratings in the recommendation. The default value is 1

1

restaurantFilters/computationWeight/title

N

double

N/A

Weight of title in the recommendation. The default value is 1

1

restaurantFilters/computationWeight/travelerType

N

double

N/A

Weight of travelerType in the recommendation. The default value is 1

1

restaurantFilters/computationWeight/tripContext

N

double

N/A

Weight of tripContext in the recommendation. The default value is 1

1

restaurantFilters/computationWeight/season

N

double

N/A

Weight of season in the recommendation. The default value is 1

1

Important : At least one of those parameter (geoLocation, iata code or city) must be set to enable the search. If they are all filled in, the recommendation engine takes in priority, geoLocation then iataCode and finally city.

Computation weight

Each computation weight parameter can have a float value between 0 and 5, with default values set to 1. The higher criteria weight, the more important it is in the recommendation engine. For each criteria you can set the value depending on your needs as follow :

Value

Description

0

Criteria is not important at all and you can ignore it

1

Criteria is slightly important, but not very much

2

Criteria is somewhat important, more than a little but not a lot

3

Criteria is moderately important, right in the middle

4

Criteria is very important, almost at the top

5

Criteria is extremely important and has the highest priority

The scores for price, rating, interest, travelerType, tripContext, season… are calculated by the recommendation engine, these scores are normalized between 0 and 1. When computing relevanceScore, each internal scores are multiplied by its corresponding computation weight. This allows you to adjust the importance of each factor in determining the overall relevance score.

RelevanceScore is the sum of these weighted scores:

relevanceScore = price_score*priceWeight + rating_score*ratingWeight + …

By setting custom weights, you can influence the recommendation behavior and fine-tune it to better match your expectations. Take time to define a set of weights that suits your needs, as this will impact how the API responds with recommendations.

Note: The calculated scores for price, rating, interest, travelerType, tripContext and season are internal calculations performed by the recommendation engine and cannot be directly entered or modified through these computation weight parameters.

For instance

{
  ...
  "restaurantFilters": {
    "tripContext": "leisure",
    "travelerType": "solo",
    "computationWeight": {
      "price": 3 // price score will be 3 times more important than other scores rating, interest, travelerType, tripContext, season
    }
  }
}
Let's imagine all scores are 0.5, relevance score will be 3x0.5(price) + 1x0.5(rating) + 1x0.5(interest) + 1x0.5(tripContext) + 1x0.5(travelerType) + 1x0.5(season)
{
  ...
  "restaurantFilters": {
    "tripContext": "leisure",
    "travelerType": "solo",
    "computationWeight": {
      "price": 0.2,
      "rating": 1.5,
      "interest": 2 // Rating and interest are prioritized while price is not important in this request
    }
  }
}
If all scores are 0.5, relevance score will be 0.2x0.5(price) + 1.5x0.5(rating) + 2x0.5(interest) + 1x0.5(tripContext) + 1x0.5(travelerType) + 1x0.5(season)

If the tripContext and/or travelerType and/or season are not sent in input, their scores are not included in the relevance score

Output

Field

Type

Format

Description

Example

id

integer

N/A

id of the product

43557

externalId

string

N/A

external id of the product

75b9874c-cfde-476c-977b-2c1e360380a3

title

string

N/A

title of the product

E-bike tour from Marseille to Calanques

creationDate

date

DateTime

date of creation of the product

11/15/2021 4:03

updateDate

date

DateTime

date of the last update of the product

11/16/2021 4:03

shortDescription

string

N/A

short description of the product

With this e-bike tour from Marseille to Calanques, the seaside will have no more secret for you. After 35 km (22 miles) with your local guide, you will enjoy the wild beauty that lies on the outskirts of the city and which seems at the end of the world.The bike ride creeks punctuated by a meal in a local restaurant (not included). For lunch you will have two options: buy a sandwich or snacks to eat on the beach, or sit down at a nice restaurant (from 25€ per person) in the little port of Les Goudes.During this bike ride, you will visit the following places: The Pharo, the Vallon des Auffes, the Corniche Kennedy, the beaches of Prado, wearing Madrague Montredon the fishing village Goudes, Maronaise beach, Callelongue Cove, the Pastré or Borely Park, and Notre Dame de la Garde Basilica.

description

string

N/A

description of the product

With this e-bike tour from Marseille to Calanques, the seaside will have no more secret for you. After 35 km (22 miles) with your local guide, you will enjoy the wild beauty that lies on the outskirts of the city and which seems at the end of the world.The bike ride creeks punctuated by a meal in a local restaurant (not included). For lunch you will have two options: buy a sandwich or snacks to eat on the beach, or sit down at a nice restaurant (from 25€ per person) in the little port of Les Goudes.During this bike ride, you will visit the following places: The Pharo, the Vallon des Auffes, the Corniche Kennedy, the beaches of Prado, wearing Madrague Montredon the fishing village Goudes, Maronaise beach, Callelongue Cove, the Pastré or Borely Park, and Notre Dame de la Garde Basilica.

thumbnailImage

string

UUID

UUID of the image in google bucket

73248de4-4a6f-40de-84ef-c3f691b33242

bookingEngine

string

string

website used to book the activity

HOLIBOB

bookingEngineName

string

string

website used to book the activity

Holibob

bookingURL

string

URL

url to book the product

https://alentour.booking.holibob.tech/product/75b9874c-cfde-476c-977b-2c1e360380a3?bookingExternalReference=Pq9wTahRc7TCooNu9MF9

minPrice

double

N/A

price minimum for this product

77

maxPrice

double

N/A

price maximum for this product

77

priceLevel

integer

Value between 1 and 4

price level for this product

2

priceCurrency

string

ISO 4217

currency to book the product

EUR

pricingUnit

string

PER_PERSON, PER_VEHICLE, GROUP, FAMILY, PER_EQUIPMENT, PACKAGE, PER_BOAT, NONE,

unit for the price

NONE

address

string

N/A

adress of the product

1 Quai du Port, 13002 Marseille, France

website

string

URL

website url of the product

geolocation

object

N/A

geolocation of the product

geolocation/latitude

float

decimal degrees format from -90 to 90

latitude

43.2920142

geolocation/longitude

float

decimal degrees format from -180 to 180

longitude

5.3674021

geolocation/geoHash

string

N/A

hash of the coordinate

spey61h6m

duration

string

ISO 8601

duration of the product

30 minutes

durationHours

integer

N/A

duration of the activity in hours

0.5

galleryImages

object

N/A

list of images

galleryImages/url

string

URL

url of the image

https://images.holibob.tech/eyJrZXkiOiJwcm9kdWN0SW1hZ2VzLzFmMDU1MzhmLWZjYjItMTFlYi04MDFmLTA2YjgxYWQ0YzU3OSJ9

galleryImages/order

integer

N/A

order of appearance in the gallery

0

categories

object

N/A

list of categories of the product

categories/level

integer

N/A

level of the categorie

1

categories/code

string

N/A

code of the categorie

sights_landmarks

supplier

object

N/A

Object containing informations about the supplier

N/A

supplier/id

integer

N/A

Supplier id

55648

supplier/name

string

N/A

Supplier name

Amazing tours

supplier/externalId

string

N/A

Supplier external id

d15247898

supplier/creationDate

date

datetime

Supplier date of creation

2022-02-22T00:46:40.663Z

supplier/updateDate

date

datetime

Supplier last update date

2022-02-22T00:46:40.663Z

supplier/contact

object

N/A

Containing information about supplier points of contact

N/A

supplier/contact/website

string

url

Supplier website url

https://google.com

supplier/contact/email

string

N/A

Supplier mail of contact

supplier@email.com

supplier/contact/telephone

string

N/A

Supplier phone number

3.31E+11

supplier/contact/address

string

N/A

Supplier address

34 avenue du Mistral, 06200 Nice, France

supplier/countryCode

string

iso 3166-1 alpha-2

Supplier country code

FR

supplier/countryName

string

N/A

supplier country name

France

onlineBookable

boolean

true or false

Defines if the product is bookable online (true) or not (false)

TRUE

placeDetail

object

N/A

Object that contains all the place details

N/a

placeDetail/id

UUID

N/A

Uuid of the place detail

ac799a01-bba9-449e-92db-5e8f9c2083df

placeDetail/formattedAddress

string

N/A

Formatted address

Borough High St, London SE1 9QG, UK

placeDetail/addressComponents

Array

N/A

List of the address component details

[
{
“types”: [

“postal_code”

], “long_name”: “SE1 9QG”, “short_name”: “SE1 9QG”

}]

placeDetail/geometry

Object

N/A

Geometry object with location and viewport

N/A

placeDetail/photos

Array

N/A

List of photos related to the place

N/A

descriptors

array

N/A

array containing information about product descriptors

N/A

descriptors/type

string

N/A

string from a restricted list,type of descriptor. Can be can EXCLUDED, PROMOTED, etc

PROMOTED

descriptors/reason

string

N/A

string from a restricted list,reason of why the product type (PROMOTED, EXCLUDED), can be DEPRECATED, etc

PROMOTED

availableLanguages

array

N/A

Array displaying the languages supported by the product

[“en”,”es”, “fr”]

cityName

string

N/A

City name

Nice

rating

double

N/A

Rating of the activity

5.0

numberOfRatings

integer

N/A

The number of rating

3276

countryName

string

N/A

name of the country where the activity takes place

Indonesia

taxonomies

List

N/A

List of the taxonomies linked to this product

[
[
{

“id”: “activities-tours-by-theme”, “name”: “Tours by theme”, “level”: 1

}, {

“id”: “activities-tours-by-theme-walking-tours”, “name”: “Walking tours”, “level”: 2

}

], [

{

“id”: “activities-nature-outdoors”, “name”: “Nature & outdoors”, “level”: 1

}, {

“id”: “activities-nature-outdoors-land-activities”, “name”: “Land activities”, “level”: 2

}

]

]

taxonomies/uuid

UUID

N/A

Uuid of the taxonomy

41a2aefb-2282-40ac-8b33-cdea80a9e358

taxonomies/name

string

N/A

name of the taxonomy

Tours by theme

taxonomies/level

integer

N/A

level of the taxonomy

1

taxonomies/slug

string

N/A

Unique name of the taxonomy

activities-tours-by-theme

taxonomies/family

string

N/A

Family of the taxonomy

activities

taxonomies/nameFullPath

String

N/A

Name full path of the taxonomy

Workshops & classes#Art & crafts

isCancellable

boolean

N/A

Is the product cancellable?

true

cancellationCutOffAmount

integer

N/A

The numeric amount for the cutoff

7

cancellationCutOffUnit

string

N/A

Time units used to determine duration. Three values are available: [hour minute day]

hour

cancellationCutOff

string

N/A

This is how long before the tour the booking can be still be cancelled

For a full refund, cancel at least 24 hours before the scheduled departure time.

modalitiesIncluded

string

N/A

What is included in this product?

Transportation is included

modalitiesExcluded

string

N/A

What is excluded in this product?

Beverages are excluded

modalitiesAdditionalInfo

string

N/A

What are the additionnal info for the product?

Bring an umbrella

handiAccess

boolean

N/A

Is this product handicapped accessible?

true

experienceHighlights

string

N/A

What are the highlight for the product?

An exceptional shownAn unforgettable experience

travelerUrl

string

N/A

short url to access the product details

https://api.amadeus-discover.com/to/4tLfv3Y4chrCJwLJd

relevanceScore

float

N/A

Relevance score of the recommendation

3.9764436501

aiGenerated

Object

N/A

Object containing a list of domain generated by ai

{ “translation”: true}

aiGenerated/translation

boolean

N/A

Flag to indicate if the recommendation is AI generated or not for translation

true

Response Body
[
  {
    "id": 24106822,
    "externalId": "306564P1",
    "title": "PRIVATE London Food Tours - Borough Market, Soho, East End",
    "creationDate": "2022-11-15T09:20:08.736+00:00",
    "updateDate": "2024-01-15T12:11:21.388+00:00",
    "shortDescription": "Whether you’re travelling to London, planning an event or looking for a unique gift idea, Chubby Fellow is at your service.\n\nChoose from one of our tried and tested Ready-Made Food Experiences hosted by a born and bred Londoner and full time foodie: \n\n- Food tour around the heart of Soho and the famous Chinatown.\n- Best of British food tour around London Bridge and Borough Market.\n- East End food tour around Brick Lane and Spitalfields Market.\n- Camden food tour around its famous markets.\n- Ultimate CHEESE experience around London Bridge and Borough Market.\n- GIN extravaganza around Mayfair and the West End. \n\nAll experiences are Private ensuring you have the most intimate, special and tipity top experience possible! ",
    "description": "Whether you’re travelling to London, planning an event or looking for a unique gift idea, Chubby Fellow is at your service.\n\nChoose from one of our tried and tested Ready-Made Food Experiences hosted by a born and bred Londoner and full time foodie: \n\n- Food tour around the heart of Soho and the famous Chinatown.\n- Best of British food tour around London Bridge and Borough Market.\n- East End food tour around Brick Lane and Spitalfields Market.\n- Camden food tour around its famous markets.\n- Ultimate CHEESE experience around London Bridge and Borough Market.\n- GIN extravaganza around Mayfair and the West End. \n\nAll experiences are Private ensuring you have the most intimate, special and tipity top experience possible! ",
    "thumbnailImage": "daf7d5ad-d98c-428b-9955-db7b496cde8f",
    "bookingEngine": "VIATOR",
    "bookingEngineName": "Viator",
    "bookingUrl": "https://api-test.amadeus-discover.com/to/2tLfv3Y4chrCJwLJd",
    "minPrice": 160.0,
    "maxPrice": 160.0,
    "address": "Borough High St, London SE1 9QG, UK",
    "placeId": "ChIJKccCQlcDdkgRKNift5ldrOE",
    "website": "https://www.viator.com/tours/London/Chubby-Fellow-Food-and-Beverage-Tours/d737-306564P1?mcid=42383&pid=P00056501&medium=api&api_version=2.0",
    "geoLocation": {
      "latitude": 51.5053442,
      "longitude": -0.0895942,
      "geoHash": "gcpvjbqb2k"
    },
    "duration": "3 hours",
    "durationHours": 3.0,
    "galleryImages": [
      {
        "url": "https://media-cdn.tripadvisor.com/media/attractions-splice-spp-720x480/0b/c9/d0/76.jpg",
        "order": 3
      },
      {
        "url": "https://media-cdn.tripadvisor.com/media/attractions-splice-spp-720x480/0b/c9/d1/04.jpg",
        "order": 10
      }
    ],
    "categories": [
      {
        "level": 1,
        "code": "tours"
      }
    ],
    "supplier": {
      "id": 138877672,
      "name": "Chubby Fellow",
      "externalId": "SUPPLIER-x53d3qZJl143g4S8aSewEg==",
      "creationDate": "2024-01-10T15:56:03.232+00:00",
      "contact": {},
      "countryCode": "FR",
      "countryName": "France"
    },
    "onlineBookable": true,
    "placeDetail": {
      "id": "ac799a01-bba9-449e-92db-5e8f9c2083df",
      "formattedAddress": "Borough High St, London SE1 9QG, UK",
      "addressComponents": [
        {
          "types": [
            "postal_code"
          ],
          "long_name": "SE1 9QG",
          "short_name": "SE1 9QG"
        },
        {
          "types": [
            "route"
          ],
          "long_name": "Borough High Street",
          "short_name": "Borough High St"
        },
        {
          "types": [
            "postal_town"
          ],
          "long_name": "London",
          "short_name": "London"
        },
        {
          "types": [
            "administrative_area_level_2",
            "political"
          ],
          "long_name": "Greater London",
          "short_name": "Greater London"
        },
        {
          "types": [
            "administrative_area_level_1",
            "political"
          ],
          "long_name": "England",
          "short_name": "England"
        },
        {
          "types": [
            "country",
            "political"
          ],
          "long_name": "United Kingdom",
          "short_name": "GB"
        }
      ],
      "geometry": {
        "location": {
          "lat": 51.5053442,
          "lng": -0.0895942
        },
        "viewport": {
          "northeast": {
            "lat": 51.50676940368377,
            "lng": -0.0878809116360225
          },
          "southwest": {
            "lat": 51.50407144310077,
            "lng": -0.09057887221902658
          }
        }
      },
      "photos": []
    },
    "descriptors": [],
    "availableLanguages": [
      "fr",
      "de",
      "en",
      "it",
      "es"
    ],
    "cityName": "London",
    "zipCode": "SE1 9QG",
    "rating": 4.9528794,
    "numberOfRatings": 191,
    "countryName": "United Kingdom",
    "taxonomies": [
      [
        {
          "uuid": "8385073f-4317-0889-6bc4-d52fe0337577",
          "name": "Tours by theme",
          "level": 1,
          "slug": "activities-tours-by-theme",
          "family": "activities",
          "parentUuid": "8385073f-4317-0889-6bc4-d52fe0337577",
          "version": 2,
          "isCurrent": true,
          "startDate": "2022-10-26T14:05:58.401751Z",
          "nameTranslation": "Tours by theme",
          "value": 0.9825466275215149
        },
        {
          "uuid": "6af0be4c-998b-240e-0960-14ccba494134",
          "name": "Food & drink tours",
          "level": 2,
          "slug": "activities-tours-by-theme-food-drink-tours",
          "family": "activities",
          "nameFullPath": "Tours by theme#Food & drink tours",
          "parentUuid": "8385073f-4317-0889-6bc4-d52fe0337577#6af0be4c-998b-240e-0960-14ccba494134",
          "version": 2,
          "isCurrent": true,
          "startDate": "2022-10-26T14:05:58.401751Z",
          "nameTranslation": "Food & drink tours",
          "value": 0.9825466275215149
        }
      ],
      [
        {
          "uuid": "18e7a878-acf8-d66d-3db4-197b04295c8e",
          "name": "Food & drink",
          "level": 1,
          "slug": "activities-food-drink",
          "family": "activities",
          "parentUuid": "18e7a878-acf8-d66d-3db4-197b04295c8e",
          "version": 2,
          "isCurrent": true,
          "startDate": "2022-10-26T14:05:58.401751Z",
          "nameTranslation": "Food & drink",
          "value": 0.9825466275215149
        },
        {
          "uuid": "9fc163b8-0ee9-9959-9320-c3a94326cd97",
          "name": "Food & drink tours",
          "level": 2,
          "slug": "activities-food-drink-food-drink-tours",
          "family": "activities",
          "nameFullPath": "Food & drink#Food & drink tours",
          "parentUuid": "18e7a878-acf8-d66d-3db4-197b04295c8e#9fc163b8-0ee9-9959-9320-c3a94326cd97",
          "version": 2,
          "isCurrent": true,
          "startDate": "2022-10-26T14:05:58.401751Z",
          "nameTranslation": "Food & drink tours",
          "value": 0.9825466275215149
        }
      ]
    ],
    "availabilityPeriods": {
      "weeklyPeriods": []
    },
    "isCancellable": true,
    "cancellationCutOffAmount": 1,
    "cancellationCutOffUnit": "day",
    "cancellationCutOff": "For a full refund, cancel at least 24 hours before the scheduled departure time.",
    "modalitiesIncluded": "If you enjoy a drink (or two!) then you'll be pleased to hear than all Chubby Fellow tours include some form of boozy beverages (unless guests specify no alcohol)/nDishes will range from small to large tastings. We strongly advise you come hungry as there is always LOTS of food!/nYou'll be indulging in an array of dishes and drinks leaving you with bellies full and smiles on your faces!",
    "modalitiesAdditionalInfo": "Wheelchair accessible/nInfants and small children can ride in a pram or stroller/nPublic transportation options are available nearby/nSuitable for all physical fitness levels/nPick ups can be arranged at an additional cost from hotels or other locations in London. Simply send us an enquiry and Chubby Fellow will be at your service. ",
    "travelerUrl": "https://api-test.amadeus-discover.com/to/4tLfv3Y4chrCJwLJd"
  }
]

Status code

Code

Description

200

OK

400

Bad Request invalid param

401

Unknown User

403

Forbidden

500

Internal server error