Côte Privée: private driver in Burgundy
Private driver in Beaune, Burgundy: places, events, prices, availability, quotes, bookings.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen get_prices
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"beaune-private-driver": {
"url": "https://www.cote-privee.com/mcp"
}
}
}Puntos de conexión remotos
https://www.cote-privee.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (11)
🟢search_places(query, kind, area, near, radiusKm, ...)
Wine villages, châteaux, things to do and MICHELIN-starred restaurants: id, commune, drive and price by private driver from Beaune (per vehicle, one way / same-day return), the wine day of its page and its price, page and booking link; a restaurant's stars and cheapest menu (no opening days in the data). near and radiusKm: the places around a place, nearest first. 8 results unless limit; compact drops summaries.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"description": "Words in names, communes and summaries, e.g. \"abbey\", \"grand cru\"."
},
"kind": {
"type": "string",
"enum": [
"village",
"chateau",
"sight",
"restaurant"
]
},
"area": {
"type": "string",
"enum": [
"beaune",
"cote",
"dijon",
"south",
"north",
"beyond"
],
"description": "cote: Côtes de Nuits and de Beaune; north: Chablis, Yonne, Auxois; south: Chalonnais, Mâconnais."
},
"near": {
"type": "string",
"maxLength": 200,
"description": "A place id or name."
},
"radiusKm": {
"type": "integer",
"minimum": 1,
"maximum": 60,
"description": "Default 10."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
},
"compact": {
"type": "boolean"
},
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
}
}Esquema de salida
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": 0
},
"near": {
"type": "object",
"required": [
"id",
"name",
"radiusKm"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"radiusKm": {
"type": "number"
}
}
},
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"kind",
"name",
"commune",
"area",
"lat",
"lon",
"driveFromBeaune",
"priceFromBeaune",
"url",
"bookUrl"
],
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"village",
"chateau",
"sight",
"restaurant"
]
},
"name": {
"type": "string"
},
"summary": {
"type": "string"
},
"commune": {
"type": "string"
},
"area": {
"type": "string",
"enum": [
"beaune",
"cote",
"dijon",
"south",
"north",
"beyond"
]
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"restaurant": {
"type": "object",
"required": [
"stars",
"menuFrom",
"cuisine"
],
"properties": {
"stars": {
"type": "integer",
"minimum": 1,
"maximum": 3
},
"menuFrom": {
"type": [
"number",
"null"
]
},
"cuisine": {
"type": [
"string",
"null"
]
}
}
},
"distanceKm": {
"type": "number"
},
"driveFromBeaune": {
"type": "object",
"required": [
"km",
"minutes"
],
"properties": {
"km": {
"type": "number"
},
"minutes": {
"type": "number"
}
}
},
"priceFromBeaune": {
"type": [
"object",
"null"
],
"required": [
"oneWay",
"return",
"currency",
"perVehicle"
],
"properties": {
"oneWay": {
"type": "number"
},
"return": {
"type": "number"
},
"returnLater": {
"type": "number"
},
"currency": {
"type": "string",
"enum": [
"EUR"
]
},
"perVehicle": {
"type": "boolean"
}
}
},
"wineDay": {
"type": [
"object",
"null"
],
"required": [
"option",
"extraHours",
"hours",
"price"
],
"properties": {
"option": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"extraHours": {
"type": "integer",
"minimum": 0
},
"hours": {
"type": "integer"
},
"price": {
"type": "number"
}
}
},
"url": {
"type": "string",
"format": "uri"
},
"markdown": {
"type": "string",
"format": "uri"
},
"service": {
"type": "string",
"format": "uri"
},
"bookUrl": {
"type": "string",
"format": "uri"
}
}
}
}
},
"required": [
"count",
"results"
]
}🟢get_page(ref, id, url, path, lang)
A page in Markdown (a place, event, guide, service, prices, policies): facts, history, visiting, nearby, sources. ref: an id from search_places ("chateau:closvougeot"), a page address or path ("/prices") or a place name; id, url and path are the same. Without lang, an address in /fr, /de or /zh gives that language.
Esquema de entrada
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"maxLength": 300,
"description": "An id, address, path or name."
},
"id": {
"type": "string",
"maxLength": 300,
"description": "Same as ref."
},
"url": {
"type": "string",
"maxLength": 300,
"description": "Same as ref."
},
"path": {
"type": "string",
"maxLength": 300,
"description": "Same as ref."
},
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
}
}🟢find_events(from, to, query, origin, limit, ...)
Wine fairs, festivals, auctions and cultural events between two dates, at their next appearance: id (event:<id>, which quote takes as to), placeId, dates and whether they are confirmed, website, and a driver quote for the day asked within the event (dated once confirmed): a wine day for a wine event in a wine village, else the ride from Beaune (or origin) and back later the same day.
Esquema de entrada
{
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date",
"description": "Default today."
},
"to": {
"type": "string",
"format": "date",
"description": "Default a year after from."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Words, e.g. \"Hospices\", \"jazz\"."
},
"origin": {
"type": "string",
"enum": [
"beaune",
"dijon",
"lyon",
"paris",
"geneva",
"creusot",
"lfsd",
"lfgj",
"lfgf",
"lfgz",
"lflh",
"lfgi",
"lfep"
],
"description": "Start of the driver quote (default beaune)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 40
},
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
}
}Esquema de salida
{
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date"
},
"to": {
"type": "string",
"format": "date"
},
"count": {
"type": "integer",
"minimum": 0
},
"events": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"summary",
"start",
"end",
"datesConfirmed",
"where",
"placeId",
"category",
"free",
"website",
"url",
"bookDriver"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"summary": {
"type": "string"
},
"start": {
"type": "string",
"format": "date"
},
"end": {
"type": "string",
"format": "date"
},
"datesConfirmed": {
"type": "boolean"
},
"where": {
"type": "string"
},
"placeId": {
"type": [
"string",
"null"
]
},
"category": {
"type": "string"
},
"free": {
"type": [
"boolean",
"null"
]
},
"website": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string",
"format": "uri"
},
"bookDriver": {
"type": "string",
"format": "uri"
},
"driverQuote": {
"type": "object",
"required": [
"service",
"title",
"price",
"deposit",
"bookUrl"
],
"properties": {
"service": {
"type": "string",
"enum": [
"wine-tour",
"driver",
"transfer"
]
},
"title": {
"type": "string"
},
"date": {
"type": "string",
"format": "date"
},
"price": {
"type": "number"
},
"deposit": {
"type": "number"
},
"bookUrl": {
"type": "string",
"format": "uri"
},
"note": {
"type": "string"
}
}
}
}
}
}
},
"required": [
"from",
"to",
"count",
"events"
]
}🟢get_prices(lang)
Every price per vehicle, taxes, tolls and parking included: the cars (the Polestar 2, 4 guests, included; a Mercedes E-Class or V-Class, up to 7, on request for a supplement per day of service), wine days and which one a place needs by its distance (wineDayByDistance), driver by the hour, trips from Beaune and same-day returns, transfers, the deposit rate. Tastings are paid to the estates.
Esquema de entrada
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
}
}Esquema de salida
{
"type": "object",
"properties": {
"updated": {
"type": "string",
"format": "date"
},
"validThrough": {
"type": "string",
"format": "date"
},
"currency": {
"type": "string",
"enum": [
"EUR"
]
},
"perVehicle": {
"type": "boolean"
},
"maxGuests": {
"type": "integer"
},
"vehicle": {
"type": "string"
},
"cars": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"seats",
"included",
"onRequest",
"supplementPerDay"
],
"properties": {
"id": {
"type": "string",
"enum": [
"polestar",
"eclass",
"vclass"
]
},
"name": {
"type": "string"
},
"seats": {
"type": "integer"
},
"included": {
"type": "boolean"
},
"onRequest": {
"type": "boolean"
},
"supplementPerDay": {
"type": "number"
}
}
}
},
"taxesIncluded": {
"type": "boolean"
},
"tollsAndParkingIncluded": {
"type": "boolean"
},
"tastingsIncluded": {
"type": "boolean"
},
"tastingsNote": {
"type": "string"
},
"depositRate": {
"type": "number"
},
"wineDays": {
"type": "array",
"items": {
"type": "object",
"required": [
"option",
"name",
"hours",
"price",
"extraHour",
"url"
],
"properties": {
"option": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"name": {
"type": "string"
},
"hours": {
"type": "integer"
},
"price": {
"type": "number"
},
"extraHour": {
"type": "number"
},
"url": {
"type": "string",
"format": "uri"
}
}
}
},
"wineDayByDistance": {
"type": "array",
"items": {
"type": "object",
"required": [
"upToKm",
"option",
"extraHours",
"hours",
"price",
"name",
"examples"
],
"properties": {
"upToKm": {
"type": [
"number",
"null"
]
},
"option": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"extraHours": {
"type": "integer",
"minimum": 0
},
"hours": {
"type": "integer"
},
"price": {
"type": "number"
},
"name": {
"type": "string"
},
"examples": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"driverByTheHour": {
"type": "object",
"required": [
"price",
"minHours",
"maxHours",
"url"
],
"properties": {
"price": {
"type": "number"
},
"minHours": {
"type": "integer"
},
"maxHours": {
"type": "integer"
},
"url": {
"type": "string",
"format": "uri"
}
}
},
"tripsFromBeaune": {
"type": "object",
"required": [
"from",
"url"
],
"properties": {
"from": {
"type": "number"
},
"url": {
"type": "string",
"format": "uri"
},
"returnWaitHours": {
"type": "number"
},
"returnFactor": {
"type": "number"
},
"laterRides": {
"type": "integer"
}
}
},
"transfers": {
"type": "array",
"items": {
"type": "object",
"required": [
"route",
"name",
"oneWay",
"returnTrip",
"url"
],
"properties": {
"route": {
"type": "string",
"enum": [
"lyon",
"paris",
"dijon",
"geneva",
"creusot",
"lfsd",
"lfgj"
]
},
"name": {
"type": "string"
},
"oneWay": {
"type": "number"
},
"returnTrip": {
"type": "number"
},
"url": {
"type": "string",
"format": "uri"
}
}
}
},
"pricesPage": {
"type": "string",
"format": "uri"
}
},
"required": [
"updated",
"validThrough",
"currency",
"perVehicle",
"maxGuests",
"vehicle",
"cars",
"taxesIncluded",
"tollsAndParkingIncluded",
"tastingsIncluded",
"depositRate",
"wineDays",
"wineDayByDistance",
"driverByTheHour",
"tripsFromBeaune",
"transfers",
"pricesPage"
]
}🟢get_policies(lang)
The booking rules as facts: the cars and the guests each takes, deposit, booking window and today in Beaune, service hours, luggage, waiting, cancellation, child seats, languages, the hours bookings are answered, the kind of licence and the SIREN, and the FAQ answers about them. A rule not published yet is null or left out.
Esquema de entrada
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
}
}Esquema de salida
{
"type": "object",
"properties": {
"vehicle": {
"type": "object",
"required": [
"model",
"electric",
"seats",
"features"
],
"properties": {
"model": {
"type": "string"
},
"electric": {
"type": "boolean"
},
"seats": {
"type": "integer"
},
"features": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"cars": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"seats",
"included",
"onRequest",
"supplementPerDay"
],
"properties": {
"id": {
"type": "string",
"enum": [
"polestar",
"eclass",
"vclass"
]
},
"name": {
"type": "string"
},
"seats": {
"type": "integer"
},
"included": {
"type": "boolean"
},
"onRequest": {
"type": "boolean"
},
"supplementPerDay": {
"type": "number"
}
}
}
},
"guests": {
"type": "object",
"required": [
"max",
"standardCar",
"pricesPerVehicle",
"byCar",
"note"
],
"properties": {
"max": {
"type": "integer"
},
"standardCar": {
"type": "integer"
},
"pricesPerVehicle": {
"type": "boolean"
},
"byCar": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"note": {
"type": "string"
}
}
},
"deposit": {
"type": "object",
"required": [
"rate",
"payment"
],
"properties": {
"rate": {
"type": "number"
},
"payment": {
"type": "string"
}
}
},
"booking": {
"type": "object",
"required": [
"advanceOnly",
"earliest",
"latest",
"monthsAhead",
"page",
"today",
"timezone"
],
"properties": {
"advanceOnly": {
"type": "boolean"
},
"earliest": {
"type": "string",
"format": "date"
},
"latest": {
"type": "string",
"format": "date"
},
"monthsAhead": {
"type": "integer"
},
"page": {
"type": "string",
"format": "uri"
},
"today": {
"type": "string",
"format": "date"
},
"timezone": {
"type": "string"
}
}
},
"serviceHours": {
"type": "object",
"additionalProperties": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
}
}
},
"luggage": {
"type": "object",
"required": [
"maxBags",
"bagsWithoutNote",
"largeWithFourGuests",
"cabinWithFourGuests",
"wineCases",
"notes"
],
"properties": {
"maxBags": {
"type": "integer"
},
"bagsWithoutNote": {
"type": "integer"
},
"largeWithFourGuests": {
"type": [
"number",
"null"
]
},
"cabinWithFourGuests": {
"type": [
"number",
"null"
]
},
"wineCases": {
"type": [
"number",
"null"
]
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"waiting": {
"type": "object",
"required": [
"returnWaitHours",
"freeMinutes",
"feePer15Min",
"delays"
],
"properties": {
"returnWaitHours": {
"type": "number"
},
"freeMinutes": {
"type": "object",
"required": [
"airport",
"station",
"address"
],
"properties": {
"airport": {
"type": [
"number",
"null"
]
},
"station": {
"type": [
"number",
"null"
]
},
"address": {
"type": [
"number",
"null"
]
}
}
},
"feePer15Min": {
"type": [
"number",
"null"
]
},
"delays": {
"type": "string"
}
}
},
"cancellation": {
"type": "object",
"required": [
"freeUntilHoursBefore",
"refundDays"
],
"properties": {
"freeUntilHoursBefore": {
"type": [
"number",
"null"
]
},
"refundDays": {
"type": [
"number",
"null"
]
}
}
},
"childSeats": {
"type": "object",
"required": [
"onRequest",
"seats",
"answer"
],
"properties": {
"onRequest": {
"type": "boolean"
},
"seats": {
"type": [
"number",
"null"
]
},
"answer": {
"type": "string"
}
}
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"hours": {
"type": "array",
"items": {
"type": "object",
"required": [
"days",
"opens",
"closes"
],
"properties": {
"days": {
"type": "array",
"items": {
"type": "string"
}
},
"opens": {
"type": "string"
},
"closes": {
"type": "string"
}
}
}
},
"licence": {
"type": "object",
"required": [
"kind",
"siren",
"insurer"
],
"properties": {
"kind": {
"type": "string"
},
"siren": {
"type": [
"string",
"null"
]
},
"insurer": {
"type": [
"string",
"null"
]
}
}
},
"answers": {
"type": "array",
"items": {
"type": "object",
"required": [
"question",
"answer",
"url"
],
"properties": {
"question": {
"type": "string"
},
"answer": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
}
}
},
"termsFinal": {
"type": "boolean"
},
"pages": {
"type": "object",
"required": [
"prices",
"faq",
"terms"
],
"properties": {
"prices": {
"type": "string",
"format": "uri"
},
"faq": {
"type": "string",
"format": "uri"
},
"terms": {
"type": "string",
"format": "uri"
}
}
}
},
"required": [
"vehicle",
"cars",
"guests",
"deposit",
"booking",
"serviceHours",
"luggage",
"waiting",
"cancellation",
"childSeats",
"languages",
"hours",
"licence",
"answers",
"termsFinal",
"pages"
]
}🟢check_availability(date, days, service, time, lang)
Whether the one car and its driver are free on a day and the next days: free; pending (a request awaits the driver's answer and may still be confirmed); busy; unbookable (outside the booking rules: tomorrow to 18 months ahead, Beaune time, within the service's hours). With the hours held, the next free days, the sources read, when, today's date, the page to cite (url, pricesUrl) and a booking link. The driver confirms every booking.
Esquema de entrada
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 31
},
"service": {
"type": "string",
"enum": [
"wine-tour",
"driver",
"transfer"
]
},
"time": {
"type": "string",
"pattern": "^\\d\\d:\\d\\d$",
"description": "Pickup."
},
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
},
"required": [
"date"
]
}Esquema de salida
{
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date"
},
"service": {
"type": "string",
"enum": [
"wine-tour",
"driver",
"transfer"
]
},
"time": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"free",
"pending",
"busy",
"unbookable",
"unknown"
]
},
"days": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"state",
"held"
],
"properties": {
"date": {
"type": "string",
"format": "date"
},
"state": {
"type": "string",
"enum": [
"free",
"pending",
"busy",
"unbookable"
]
},
"held": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to",
"state"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"pending",
"busy"
]
}
}
}
}
}
}
},
"nextFree": {
"type": "array",
"items": {
"type": "string",
"format": "date"
}
},
"sources": {
"type": "array",
"items": {
"type": "string",
"enum": [
"bookings",
"calendar"
]
}
},
"checkedAt": {
"type": "string",
"format": "date-time"
},
"rules": {
"type": "object",
"required": [
"accepted",
"earliest",
"latest",
"problems"
],
"properties": {
"accepted": {
"type": "boolean"
},
"earliest": {
"type": "string",
"format": "date"
},
"latest": {
"type": "string",
"format": "date"
},
"hours": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
}
}
},
"problems": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"code",
"message"
],
"properties": {
"field": {
"type": "string"
},
"code": {
"type": "string"
},
"allowed": {
"type": [
"object",
"array"
],
"additionalProperties": {
"type": "string"
},
"items": {
"type": "string"
}
},
"expected": {
"type": "string"
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"kind",
"name"
],
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"message": {
"type": "string"
},
"messageLocalized": {
"type": "string"
}
}
}
}
}
},
"today": {
"type": "string",
"format": "date"
},
"timezone": {
"type": "string"
},
"note": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"pricesUrl": {
"type": "string",
"format": "uri"
},
"bookUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"date",
"state",
"days",
"nextFree",
"sources",
"checkedAt",
"rules",
"today",
"timezone",
"note",
"url",
"pricesUrl"
]
}🟢quote(service, option, route, from, to, ...)
The exact price the booking page charges for one service, or a whole trip (items: one total, one deposit), the page of the priced service to cite (url; pricesUrl: every price) and a link that opens the booking page filled in (time, guests and bags too). Wine day: option and stops; a day too short for its stops is priced as the one they need (optionRaised). Driver: hours (and stops), or to from Beaune or from; returnTrip: the driver waits up to 3 h; returnLater: back later (2 rides). Transfer: route (its id, its page slug such as lyon-beaune, or a name such as "Lyon airport"), or from and to. A Mercedes adds its supplement per day of service; over 4 guests, the V-Class (carRaised). resolved: what each name became (an unknown place or route is an error with candidates); alternatives: cheaper products for the same job; availability: with date.
Esquema de entrada
{
"type": "object",
"properties": {
"service": {
"type": "string",
"enum": [
"wine-tour",
"driver",
"transfer"
]
},
"option": {
"type": "string",
"enum": [
"half",
"full",
"long"
],
"description": "Wine day: half 4 h, full 8 h, long 12 h."
},
"route": {
"type": "string",
"maxLength": 120,
"description": "A transfer route, by id or page slug (lyon (lyon-beaune), paris (paris-beaune), dijon (dijon-beaune), geneva (geneva-beaune), creusot (le-creusot-tgv-beaune), lfsd (dijon-airport-beaune), lfgj (dole-jura-airport-beaune)) or by name (\"Lyon airport\", \"Dijon-Bourgogne\", \"Dole\"): a transfer to or from Beaune (creusot: Le Creusot TGV; lfsd, lfgj: the airports)."
},
"from": {
"type": "string",
"enum": [
"beaune",
"dijon",
"lyon",
"paris",
"geneva",
"creusot",
"lfsd",
"lfgj",
"lfgf",
"lfgz",
"lflh",
"lfgi",
"lfep"
],
"description": "Start of a driver trip, or of a transfer to another place; airfields by ICAO code."
},
"to": {
"type": "string",
"maxLength": 200,
"description": "A place id or name, or event:<id>."
},
"hours": {
"type": "integer",
"minimum": 3,
"maximum": 12,
"description": "Driver by the hour."
},
"extraHours": {
"type": "integer",
"minimum": 0,
"maximum": 3,
"description": "Wine day; default what its stops need."
},
"returnTrip": {
"type": "boolean",
"description": "Driver: back the same day, the driver waiting. Transfer: a trip back another day."
},
"returnLater": {
"type": "boolean",
"description": "Driver: back later the same day (two rides)."
},
"stops": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"maxItems": 12,
"description": "Places of a wine day, or of the driver by the hour."
},
"date": {
"type": "string",
"format": "date"
},
"time": {
"type": "string",
"pattern": "^\\d\\d:\\d\\d$",
"description": "Pickup (a transfer to Beaune: the arrival)."
},
"guests": {
"type": "integer",
"minimum": 1,
"maximum": 7,
"description": "4 in the Polestar 2 or the E-Class, 7 in the V-Class."
},
"luggage": {
"type": "integer",
"minimum": 0,
"maximum": 6,
"description": "Bags."
},
"notes": {
"type": "string",
"maxLength": 1000,
"description": "For the driver: estates to visit, child seats…"
},
"items": {
"type": "array",
"items": {
"type": "object"
},
"maxItems": 6,
"description": "Several services (at most 6), each with the fields above."
},
"car": {
"type": "string",
"enum": [
"polestar",
"eclass",
"vclass"
],
"description": "polestar (included), eclass (4 guests) or vclass (7): the Mercedes on request, a supplement per day of service."
},
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
}
}Esquema de salida
{
"type": "object",
"properties": {
"service": {
"type": "string",
"enum": [
"wine-tour",
"driver",
"transfer",
"trip"
]
},
"option": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"extraHours": {
"type": "integer",
"minimum": 0
},
"optionRaised": {
"type": "object",
"required": [
"from",
"to",
"reason"
],
"properties": {
"from": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"to": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"extraHours": {
"type": "integer",
"minimum": 0
},
"reason": {
"type": "string"
}
}
},
"title": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"type": "string"
}
},
"drive": {
"type": "object",
"required": [
"km",
"minutes"
],
"properties": {
"km": {
"type": "number"
},
"minutes": {
"type": "number"
}
}
},
"date": {
"type": "string",
"format": "date"
},
"time": {
"type": "string"
},
"luggage": {
"type": "integer"
},
"services": {
"type": "array",
"items": {
"type": "object",
"required": [
"service",
"title",
"details",
"servicePrice",
"url"
],
"properties": {
"service": {
"type": "string",
"enum": [
"wine-tour",
"driver",
"transfer"
]
},
"option": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"extraHours": {
"type": "integer",
"minimum": 0
},
"optionRaised": {
"type": "object",
"required": [
"from",
"to",
"reason"
],
"properties": {
"from": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"to": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"extraHours": {
"type": "integer",
"minimum": 0
},
"reason": {
"type": "string"
}
}
},
"title": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"type": "string"
}
},
"drive": {
"type": "object",
"required": [
"km",
"minutes"
],
"properties": {
"km": {
"type": "number"
},
"minutes": {
"type": "number"
}
}
},
"date": {
"type": "string",
"format": "date"
},
"time": {
"type": "string"
},
"luggage": {
"type": "integer"
},
"servicePrice": {
"type": "number"
},
"url": {
"type": "string",
"format": "uri"
},
"availability": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"enum": [
"free",
"pending",
"busy"
]
},
"nextFree": {
"type": "array",
"items": {
"type": "string",
"format": "date"
}
},
"conflicts": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"date",
"from",
"to",
"state"
],
"properties": {
"item": {
"type": "integer"
},
"date": {
"type": "string",
"format": "date"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"pending",
"busy"
]
}
}
}
}
}
}
}
}
},
"price": {
"type": "number"
},
"servicePrice": {
"type": "number"
},
"car": {
"type": "object",
"required": [
"id",
"name",
"seats",
"onRequest",
"supplementPerDay",
"days",
"supplement"
],
"properties": {
"id": {
"type": "string",
"enum": [
"polestar",
"eclass",
"vclass"
]
},
"name": {
"type": "string"
},
"seats": {
"type": "integer"
},
"onRequest": {
"type": "boolean"
},
"supplementPerDay": {
"type": "number"
},
"days": {
"type": "integer",
"minimum": 1
},
"supplement": {
"type": "number"
}
}
},
"carRaised": {
"type": "object",
"required": [
"from",
"to",
"reason"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string",
"enum": [
"polestar",
"eclass",
"vclass"
]
},
"reason": {
"type": "string"
}
}
},
"currency": {
"type": "string",
"enum": [
"EUR"
]
},
"perVehicle": {
"type": "boolean"
},
"guests": {
"type": "integer"
},
"maxGuests": {
"type": "integer"
},
"deposit": {
"type": "number"
},
"balance": {
"type": "number"
},
"tastingsIncluded": {
"type": "boolean"
},
"fits": {
"type": "object",
"required": [
"guests",
"luggage"
],
"properties": {
"guests": {
"type": "boolean"
},
"luggage": {
"type": [
"boolean",
"null"
]
},
"suggestCar": {
"type": "string",
"enum": [
"polestar",
"eclass",
"vclass"
]
},
"note": {
"type": "string"
}
}
},
"alternatives": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"price",
"bookUrl",
"why"
],
"properties": {
"label": {
"type": "string"
},
"price": {
"type": "number"
},
"bookUrl": {
"type": "string",
"format": "uri"
},
"why": {
"type": "string"
}
}
}
},
"availability": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"enum": [
"free",
"pending",
"busy"
]
},
"nextFree": {
"type": "array",
"items": {
"type": "string",
"format": "date"
}
},
"conflicts": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"date",
"from",
"to",
"state"
],
"properties": {
"item": {
"type": "integer"
},
"date": {
"type": "string",
"format": "date"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"pending",
"busy"
]
}
}
}
}
}
},
"resolved": {
"type": "array",
"items": {
"type": "object",
"required": [
"asked",
"id",
"kind",
"name",
"how"
],
"properties": {
"asked": {
"type": "string"
},
"id": {
"type": "string"
},
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"how": {
"type": "string",
"enum": [
"id",
"name",
"typo",
"partial",
"event"
]
},
"place": {
"type": "string"
}
}
}
},
"notFound": {
"type": "array",
"items": {
"type": "string"
}
},
"url": {
"type": "string",
"format": "uri"
},
"pricesUrl": {
"type": "string",
"format": "uri"
},
"bookUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"service",
"title",
"details",
"price",
"servicePrice",
"car",
"currency",
"perVehicle",
"guests",
"maxGuests",
"deposit",
"tastingsIncluded",
"resolved",
"notFound",
"url",
"pricesUrl",
"bookUrl"
]
}🟢plan_wine_day(stops, date, time, guests, car, ...)
A timed wine day through the places asked: its length (with the extra hours their distance needs), the stops in order, the drives from and back to Beaune (or from), lunch where the day reaches midday (at a starred table among the stops, else a slot with the starred tables near it), the end time, the price for the guests and their car (the V-Class beyond 4), the page of that wine day (url) and a booking link.
Esquema de entrada
{
"type": "object",
"properties": {
"stops": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"maxItems": 12,
"description": "Place ids or names."
},
"date": {
"type": "string",
"format": "date"
},
"time": {
"type": "string",
"pattern": "^\\d\\d:\\d\\d$",
"description": "Pickup."
},
"guests": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"car": {
"type": "string",
"enum": [
"polestar",
"eclass",
"vclass"
],
"description": "polestar (included), eclass (4 guests) or vclass (7): the Mercedes on request, a supplement per day of service."
},
"from": {
"type": "string",
"enum": [
"beaune",
"dijon",
"lyon",
"paris",
"geneva",
"creusot",
"lfsd",
"lfgj",
"lfgf",
"lfgz",
"lflh",
"lfgi",
"lfep"
],
"description": "Start and end (default beaune)."
},
"lunch": {
"type": "string",
"maxLength": 120,
"description": "\"yes\", or a place to have lunch near."
},
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
},
"required": [
"stops"
]
}Esquema de salida
{
"type": "object",
"properties": {
"day": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"extraHours": {
"type": "integer",
"minimum": 0
},
"hours": {
"type": "integer"
},
"start": {
"type": "string"
},
"end": {
"type": "string"
},
"guests": {
"type": "integer"
},
"car": {
"type": "object",
"required": [
"id",
"name",
"seats",
"onRequest",
"supplementPerDay",
"days",
"supplement"
],
"properties": {
"id": {
"type": "string",
"enum": [
"polestar",
"eclass",
"vclass"
]
},
"name": {
"type": "string"
},
"seats": {
"type": "integer"
},
"onRequest": {
"type": "boolean"
},
"supplementPerDay": {
"type": "number"
},
"days": {
"type": "integer",
"minimum": 1
},
"supplement": {
"type": "number"
}
}
},
"price": {
"type": "number"
},
"deposit": {
"type": "number"
},
"schedule": {
"type": "array",
"items": {
"type": "object",
"required": [
"time",
"kind"
],
"properties": {
"time": {
"type": "string"
},
"until": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"pickup",
"visit",
"lunch",
"back"
]
},
"place": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
}
}
},
"legs": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to",
"minutes"
],
"properties": {
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"minutes": {
"type": "number"
}
}
}
},
"stops": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"kind",
"name",
"line"
],
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"village",
"chateau",
"sight",
"restaurant"
]
},
"name": {
"type": "string"
},
"line": {
"type": "string"
}
}
}
},
"lunch": {
"type": "object",
"required": [
"at",
"until",
"near",
"tables",
"note"
],
"properties": {
"at": {
"type": "string"
},
"until": {
"type": "string"
},
"near": {
"type": "string"
},
"note": {
"type": "string"
},
"tables": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"commune",
"stars",
"menuFrom",
"distanceKm"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"commune": {
"type": "string"
},
"stars": {
"type": "integer"
},
"menuFrom": {
"type": [
"number",
"null"
]
},
"distanceKm": {
"type": "number"
}
}
}
}
}
},
"availability": {
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"enum": [
"free",
"pending",
"busy"
]
},
"nextFree": {
"type": "array",
"items": {
"type": "string",
"format": "date"
}
},
"conflicts": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"date",
"from",
"to",
"state"
],
"properties": {
"item": {
"type": "integer"
},
"date": {
"type": "string",
"format": "date"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"pending",
"busy"
]
}
}
}
}
}
},
"resolved": {
"type": "array",
"items": {
"type": "object",
"required": [
"asked",
"id",
"kind",
"name",
"how"
],
"properties": {
"asked": {
"type": "string"
},
"id": {
"type": "string"
},
"kind": {
"type": "string"
},
"name": {
"type": "string"
},
"how": {
"type": "string",
"enum": [
"id",
"name",
"typo",
"partial",
"event"
]
},
"place": {
"type": "string"
}
}
}
},
"notFound": {
"type": "array",
"items": {
"type": "string"
}
},
"url": {
"type": "string",
"format": "uri"
},
"pricesUrl": {
"type": "string",
"format": "uri"
},
"bookUrl": {
"type": "string",
"format": "uri"
},
"note": {
"type": "string"
}
},
"required": [
"day",
"extraHours",
"hours",
"start",
"end",
"guests",
"car",
"price",
"deposit",
"schedule",
"legs",
"stops",
"resolved",
"notFound",
"url",
"pricesUrl",
"bookUrl",
"note"
]
}🟢find_packages(query, days, arrive, pace, theme, ...)
Ready-made trips of one to seven days from Beaune, in plans (where the travellers arrive, the pace): the driver meets them at a station or airport, takes them to the vineyards, abbeys or tables and back. Each plan is priced per vehicle as the sum of its services; hotels, tastings, meals and visits are the traveller's own. startDate dates each service and the booking link; request_booking takes the plan's id as package. 6 results unless limit, cheapest first.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"arrive": {
"type": "string",
"enum": [
"beaune",
"dijon",
"lyon",
"paris",
"geneva",
"creusot",
"lfsd",
"lfgj",
"lfgf",
"lfgz",
"lflh",
"lfgi",
"lfep",
"air"
],
"description": "beaune (its station or the hotel), dijon (Dijon-Ville: the TGV from Paris), paris (collected in Paris), an airport or airfield, or air for any."
},
"pace": {
"type": "string",
"enum": [
"light",
"full"
],
"description": "light: one or two outings a day; full: with wine days."
},
"theme": {
"type": "string",
"enum": [
"first",
"nuits",
"whites",
"chablis",
"south",
"heritage",
"food",
"family",
"cycling",
"seasons",
"journeys"
]
},
"maxPrice": {
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"startDate": {
"type": "string",
"format": "date"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
},
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
}
}Esquema de salida
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": 0
},
"packages": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"itinerary",
"variant",
"title",
"days",
"pace",
"theme",
"arrive",
"depart",
"route",
"price",
"currency",
"perVehicle",
"deposit",
"services",
"plan",
"url",
"markdown",
"bookUrl"
],
"properties": {
"id": {
"type": "string"
},
"itinerary": {
"type": "string"
},
"variant": {
"type": "string"
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"pace": {
"type": "string",
"enum": [
"light",
"full"
]
},
"theme": {
"type": "string",
"enum": [
"first",
"nuits",
"whites",
"chablis",
"south",
"heritage",
"food",
"family",
"cycling",
"seasons",
"journeys"
]
},
"themeName": {
"type": "string"
},
"arrive": {
"type": "string"
},
"depart": {
"type": "string"
},
"route": {
"type": "string"
},
"price": {
"type": "number"
},
"currency": {
"type": "string",
"enum": [
"EUR"
]
},
"perVehicle": {
"type": "boolean"
},
"deposit": {
"type": "number"
},
"startDate": {
"type": "string",
"format": "date"
},
"endDate": {
"type": "string",
"format": "date"
},
"services": {
"type": "array",
"items": {
"type": "object",
"required": [
"day",
"service",
"title",
"price"
],
"properties": {
"day": {
"type": "integer"
},
"date": {
"type": "string",
"format": "date"
},
"service": {
"type": "string"
},
"title": {
"type": "string"
},
"price": {
"type": "number"
}
}
}
},
"plan": {
"type": "array",
"items": {
"type": "object",
"required": [
"day",
"title",
"legs"
],
"properties": {
"day": {
"type": "integer"
},
"title": {
"type": "string"
},
"legs": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"detail"
],
"properties": {
"time": {
"type": "string"
},
"until": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"detail": {
"type": "string"
},
"note": {
"type": "string"
},
"price": {
"type": "number"
},
"places": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"url"
],
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
}
}
}
}
}
}
}
}
},
"url": {
"type": "string",
"format": "uri"
},
"markdown": {
"type": "string",
"format": "uri"
},
"bookUrl": {
"type": "string",
"format": "uri"
}
}
}
}
},
"required": [
"count",
"packages"
]
}🟢request_booking(service, option, route, from, to, ...)
Sends a booking request as the booking page does, once the traveller has seen the price and accepted the terms of sale (https://www.cote-privee.com/terms): one service (the fields of quote, with date, time and pickup), several (items) or a plan of find_packages (package, startDate), and the traveller's details. Nothing is charged: the traveller gets the request by e-mail, the driver confirms or declines it, and the confirmation says how to pay the 30% deposit (next says it for this request). dry_run checks and prices without sending; the same request within a day, or the same requestId, answers the same reference. Only valid requests count against the limits; a refusal names each argument to fix and what is allowed (retryAfter after a limit).
Esquema de entrada
{
"type": "object",
"properties": {
"service": {
"type": "string",
"enum": [
"wine-tour",
"driver",
"transfer"
]
},
"option": {
"type": "string",
"enum": [
"half",
"full",
"long"
]
},
"route": {
"type": "string",
"maxLength": 120
},
"from": {
"type": "string",
"enum": [
"beaune",
"dijon",
"lyon",
"paris",
"geneva",
"creusot",
"lfsd",
"lfgj",
"lfgf",
"lfgz",
"lflh",
"lfgi",
"lfep"
]
},
"to": {
"type": "string",
"maxLength": 200
},
"hours": {
"type": "integer",
"minimum": 3,
"maximum": 12
},
"extraHours": {
"type": "integer",
"minimum": 0,
"maximum": 3
},
"returnTrip": {
"type": "boolean"
},
"returnLater": {
"type": "boolean"
},
"stops": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"maxItems": 12
},
"date": {
"type": "string",
"format": "date"
},
"time": {
"type": "string",
"pattern": "^\\d\\d:\\d\\d$"
},
"guests": {
"type": "integer",
"minimum": 1,
"maximum": 7
},
"luggage": {
"type": "integer",
"minimum": 0,
"maximum": 6
},
"notes": {
"type": "string",
"maxLength": 1500
},
"pickup": {
"type": "string",
"maxLength": 300,
"description": "Pickup address (a hotel, a street); a transfer to Beaune: the drop-off."
},
"flight": {
"type": "string",
"maxLength": 20,
"description": "Flight or train."
},
"direction": {
"type": "string",
"enum": [
"to",
"from"
],
"description": "Transfer: to Beaune (default) or from it."
},
"returnDate": {
"type": "string",
"format": "date"
},
"returnTime": {
"type": "string",
"pattern": "^\\d\\d:\\d\\d$"
},
"returnFlight": {
"type": "string",
"maxLength": 20
},
"items": {
"type": "array",
"items": {
"type": "object"
},
"maxItems": 6,
"description": "Several services (at most 6), each with the fields above."
},
"package": {
"type": "string",
"maxLength": 80,
"description": "A plan id of find_packages."
},
"startDate": {
"type": "string",
"format": "date",
"description": "The package's first day."
},
"car": {
"type": "string",
"enum": [
"polestar",
"eclass",
"vclass"
]
},
"name": {
"type": "string",
"maxLength": 120
},
"email": {
"type": "string",
"format": "email",
"maxLength": 160
},
"phone": {
"type": "string",
"maxLength": 40
},
"accept_terms": {
"type": "boolean",
"description": "true only once the traveller has accepted the terms of sale."
},
"dry_run": {
"type": "boolean"
},
"requestId": {
"type": "string",
"maxLength": 64,
"description": "8 to 64 letters, digits, - or _."
},
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
},
"required": [
"name",
"email",
"phone",
"accept_terms"
]
}🟢get_booking_status(ref, email, lang)
What became of a booking request: requested (no answer yet), confirmed (with the deposit link once it can be paid), declined (with the driver's note), deposit_paid or cancelled, its days and amounts. Needs the reference and the e-mail address of the request.
Esquema de entrada
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"maxLength": 20,
"description": "CP-XXX-XXX"
},
"email": {
"type": "string",
"format": "email",
"maxLength": 160
},
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
},
"required": [
"ref",
"email"
]
}Comunidad
Evidencia