Côte Privée: private driver in Burgundy
Private driver in Beaune, Burgundy: places, events, prices, availability, quotes, bookings.
使うべきか
品質と安全性
検出事項(1)
- LOWget_prices 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"beaune-private-driver": {
"url": "https://www.cote-privee.com/mcp"
}
}
}リモートエンドポイント
https://www.cote-privee.com/mcpstreamable-httpできること
ツール一覧
ツール(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.
入力スキーマ
{
"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."
}
}
}出力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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."
}
}
}出力スキーマ
{
"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.
入力スキーマ
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
}
}出力スキーマ
{
"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.
入力スキーマ
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"zh",
"ar"
],
"description": "ar: Arabic notes, data in English."
}
}
}出力スキーマ
{
"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.
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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.
入力スキーマ
{
"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."
}
}
}出力スキーマ
{
"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.
入力スキーマ
{
"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"
]
}出力スキーマ
{
"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.
入力スキーマ
{
"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."
}
}
}出力スキーマ
{
"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).
入力スキーマ
{
"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.
入力スキーマ
{
"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"
]
}コミュニティ
エビデンス