Products
Seasons
Club Med have some mountain resort which are open during summer and winter. Those resort provide totally different services, therefore there is a WINTER product and SUMMER product.
Example
- Punta Cana is a permanent resort, it has one product_id: PCAC.
- Chamonix is open during the winter and the summer, it has two product_id: CHAC_WINTER and CHAC_SUMMER.
Prices
The prices are the best prices available.
Products Pagination
The pagination is not activated by default.
Use of the Pagination
Request
You can require a paginated result with two optional parameters, to be passed in the query string:
- limit: items per page. For example, if limit=10, any call result will contain an array of at most 10 items.
- page: the page you want to reach. By default, page=1 and you get the first items. If there are more than limit items, you may have to repeat the call for pages 2, 3, etc...
Depending on the endpoint, pagination may be activated by default or not, with a default limit parameter.
Response
If the response is paginated, a specific HTTP status code will be sent:
206 Partial Content
The response headers will contain metadata describing the result pagination.
| Header | Description |
|---|---|
| Accept-Ranges | The type of the paginated items (example: products). |
| Content-Range | The range of paginated items for the current response, on format first-last/total. Example: 0-9/256 means items 0 to 9 over a total of 256. |
| Link | Contains the links allowing to navigate to other pages of the same request, typed by the rel. Possible types: self, prev, next, first, last. |
Link examples
Link: <http://...?limit=10&page=2>; rel="self"
Link: <http://...?limit=10&page=1>; rel="prev"
Link: <http://...?limit=10&page=3>; rel="next"
Link: <http://...?limit=10&page=1>; rel="first"
Link: <http://...?limit=10&page=25>; rel="last"
The client will have to iterate over the pages, sending the same request with an increased page parameter (or following the next Link), in order to fetch the complete result.
The Content-Range header, or the lack of the next Link, indicates that the last page is reached.
Request
- Base URL: https://api.clubmed.com
- URL: https://api.clubmed.com/v2/products
- Auth: HTTP bearer
Query parameters
string composed of a field name (can be a path), a comparison operator (>, >=, <=, <, ==, !=) and a value. Logical operator AND applies between filters
Maximum rows count per page
Requested page number, starting from 1 (default: 1)
Headers
Language/Country, as returned by <code>GET /v0/locales</code> ; e.g. "en-US", "fr-FR", "ja-JP"
Api_key provided by ClubMed API team
Response
ok
Example response
[
{
"id": "CHAC_WINTER",
"access_conditions": {
"min_authorized_age_in_months": 24
},
"areas": [
{
"id": "area_comfort_level_5_tridents",
"label": "5 tridents area",
"comfort": {
"level": 5,
"label": "5 tridents"
}
}
],
"associated_product_id": "VMOV_WINTER",
"available_services": [
"WINTER_SPORTS"
],
"category": {
"id": "product_type_sun",
"label": "Village soleil"
},
"clubmed_mobile_app": {
"is_available": true,
"description": "description"
},
"easy_arrival": {
"is_available": true,
"description": "description"
},
"comfort": {
"level": 4,
"label": "4 tridents"
},
"trip_details": {
"departure_details": {
"country": "Guadeloupe",
"city": "Guadeloupe",
"date": "20100430"
},
"arrival_details": {
"country": "Guadeloupe",
"city": "Guadeloupe",
"date": "20180102"
},
"duration": {
"in_nights": 8,
"in_days": 9
}
},
"description_title": "A stay at Chamonix, to enjoy the elegance of a legendary ski resort",
"destination": {
"geographical_area": {
"id": "product_geographical_area_alps",
"label": "Alps"
},
"countries": [
{
"id": "FR",
"label": "France",
"description": "France in brief\n\n\n- Surface area: 632,834 sq km\n\n- Capital: Paris\n\n- Official language: French\n \n- Currency: the Euro."
}
],
"region": {
"id": "REG_000393"
}
},
"full_title": "Clubmed Chamonix Mont-Blanc",
"media": {
"immersive_image": "http://mypicture",
"surroundings_images": [
"http:myresortsurroundingpicture"
],
"map": "http://mymapsurl",
"fact_sheet_url": "https://ns.clubmed.com/icp/factsheet/Factsheet.pdf"
},
"opening_status": "OPEN",
"type": {
"id": "VILLAGE"
},
"price": {
"initial_price": {
"per_trip": 975,
"per_trip_with_fees": 1002.5,
"per_night": 140,
"per_night_with_fees": 144
},
"best_price": {
"per_trip": 824,
"per_trip_with_fees": 851.5,
"per_night": 118,
"per_night_with_fees": 122
},
"fee": {
"per_trip": 27.5,
"per_night": 4
},
"currency": "EUR",
"terms_and_conditions": {
"price_per": "ADULT",
"package": "ALL_INCLUSIVE",
"departure_date": "20171115",
"arrival_date": "20171115",
"stay_duration": 7,
"total_duration": 7,
"number_of_rooms_available_for_this_comfort": 2,
"number_of_adults": 2,
"accomodation": {
"id": "C",
"label": "Club Room"
},
"departure_city": {
"id": "PAR",
"label": "Paris"
},
"departure_location": {
"id": "CDG",
"label": "Charles de Gaulle airport"
},
"default_price_display": "per_trip",
"fees_included": true,
"instalment_count": 8,
"offers": [
{
"id": "EBB",
"label": "Early Booking Bonus"
}
]
}
},
"resort_id": "CHAC",
"range": {
"id": "range_escapade",
"label": "Escapade"
},
"seasons": [
"WINTER"
],
"seo_description": "Enjoy a luxury all-inclusive ski holiday in our France resort. For ski holidays, activity holidays and spa holidays, our Chamonix resort has it all.",
"sibling_id": "CHAC_SUMMER",
"title": "Chamonix Mont-Blanc",
"capacity_max": 1234,
"accommodations_introduction": {
"short_description": "Discover the richness of North African life",
"description": "The Resort has 249 rooms in a hotel with several wings, less than 5 minutes walking distance from the centre of Chamonix...",
"images": [
"http://image.jpg"
],
"rooms_count": 249
},
"tags": [
{
"title": "Tag Title",
"text_color_id": "#FFFFFF",
"background_color_id": "#000000"
}
],
"product_line": [
"CORE"
],
"_links": [
{
"rel": "self",
"deprecated_rel": true,
"method": "GET",
"href": "https://api.clubmed.com/products",
"label": "A label"
}
]
}
]Changes
No recorded changes to this operation across all 1 revision of this API.