Guidelines - How to#
At this point we will assume you got the info from Introduction and Quick Start sections to get full access to our API.
These guidelines cover the same process for the Sandbox API where you should make your tests for integration, and for the production API where the booking happens.
Step 1 : Import suppliers#
/api/supplier
) endpoint to create suppliers.ALENTOUR / DISCOVER Channel
Amadeus Discover is operating under Alentour branding for the French market. In your import, please make sure “Channel” field is filled properly for each supplier:
Channel = ALENTOUR for all products located in FRANCE
Channel = DISCOVER for all products located OUTSIDE OF FRANCE
Booking Engine
Supplier contact
Step 2 : Import products for suppliers#
Guidelines for Products Quality#
Products granularity#
For example, a 1h kayak initiation shouldn’t be under the same product as a half day kayak ride, even though they are both kayak offers.
Key elements for production Sign Off#
Product location :#
Product title and description#
ALENTOUR / DISCOVER Channel#
Booking URL#
Booking Engine#
Online_Bookable#
Price the product#
Images#
Product opening days, hours, slots#
The 1st way is a classical opening hours for typically a restaurant, or a shop (this reflects Octo “availabilityType”: “OPENING_HOURS”)
The 2nd way is the event like type, typically for concert / opera event (this reflects Octo “availabilityType”: “START_TIME”)

Restaurant example opening period
"availabilityType": "OPENING_HOURS",
"availabilityPeriods": {
"weeklyPeriods": [
{
"description": "Open all year - Tuesday to saturday",
"startDate": "2023-01-01",
"endDate": "2023-12-31",
"sunday": { "open": false, "hours": null },
"monday": { "open": false, "hours": null },
"tuesday": { "open": true, "hours": [ [ "T1000", "T2300" ] ] },
"wednesday": { "open": true, "hours": [ [ "T1000", "T2300" ] ] },
"thursday": { "open": true, "hours": [ [ "T1000", "T2300" ] ] },
"friday": { "open": true, "hours": [ [ "T1000", "T2300" ] ] },
"saturday": { "open": true, "hours": [ [ "T1000", "T2300" ] ] },
}
]
}

Diving centre example opening periods with closing periods
"availabilityType": "OPENING_HOURS",
"availabilityPeriods": {
"weeklyPeriods": [
{
"description": "Spring time opening on saturdays",
"startDate": "2023-05-06",
"endDate": "2023-06-24",
"sunday": { "open": false, "hours": null },
"monday": { "open": false, "hours": null },
"tuesday": { "open": false, "hours": null },
"wednesday": { "open": false, "hours": null },
"thursday": { "open": false, "hours": null },
"friday": { "open": false, "hours": null },
"saturday": { "open": true, "hours": [ [ "T1200", "T1700" ] ] }
},
{
"description": "Summertime opening",
"startDate": "2023-07-01",
"endDate": "2023-08-31",
"sunday": { "open": true, "hours": null },
"monday": { "open": true, "hours": null },
"tuesday": { "open": true, "hours": null },
"wednesday": { "open": true, "hours": null },
"thursday": { "open": true, "hours": null },
"friday": { "open": true, "hours": null },
"saturday": { "open": true, "hours": null },
"closedDayList": ["2023-07-14", "2023-08-15"]
}
]
}
Note
Multiple object in weeklyPeriods can exist yet they cannot overlap each others
“closedDayList” must be enclosed in between startDate & endDate - can be null or empty
“startDate” is mandatory ISO 8601
“endDate” is optional ISO 8601 - can be null → means open until endoftime.
“endDate” must be after the “startDate”
“sunday” –> “saturday” fields must all exist with the following conditions:
subfield “open”, a boolean, must be set at TRUE OR FALSE - cannot be null
subfield “hours” (ISO 8601 time only) matrix [ [ start-time , end-time ], [ …, … ], ] - can be fully or partially fed as:
Valid Ex : [ “T1200”, “T2100” ] - Means open from 12:00 to 21:00
Valid Ex : [ “T1200”, null ] - Means open from 12:00, no info on the closing time
Valid Ex : null - Means we have no info
Valid Ex : [ [“T1200”, “T2100” ], [“T2200”, null ] ] - Means opens from 12:00 to 21:00 and after 22:00
Invalid Ex (Time spans must not overlap each other) : [ [“T1200”, “T2100” ], [“T1400”, “T1500” ] ]

Opera example opening period
"availabilityType": "START_TIME",
"availabilityPeriods": {
"spontaneousPeriod": {
"description": "Opera 2 weeks performance and Special 31st august night",
"eventDateList": [
"2023-08-02T20:00", "2023-08-03T20:00", "2023-08-04T20:00", "2023-08-05T20:00", "2023-08-06T20:00",
"2023-08-09T20:00", "2023-08-10T20:00", "2023-08-11T20:00", "2023-08-12T20:00", "2023-08-13T20:00",
"2023-08-31T19:00", "2023-08-31T23:00" ]
}
}
Note
Only one ‘spontaneousPeriod’ JSON object can exist - independent from another “weeklyPeriods” object if any exist.
“eventDateList”: [“20230111T07:00”, “2023-01-12T07:40”, “2023-01-12T09:40”, “20230113”], defined as an array[n] of DateTime ISO 8601
Must be date or datetime ISO 8601 - cannot hold duplicates - cannot be null or empty
Nice to have elements to boost product visibility#
Categories (impact rate : x/5) RESTAURANTS + list
Activity duration (impact rate : x/5)
Price – pricing unit (impact rate : x/5)
Website (impact rate : x/5)
Ratings
GO LIVE on production DB#
Create new products
Update products
Deprecate a product (make it unavailable)
Undeprecate a product (make it available)
Delete a product