OlaChill Japan Travel
Search and price Japan tours, tickets, ryokan, transfers, charter buses, helicopters, golf and eSIM.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"olachill-travel": {
"url": "https://olachill.com/mcp"
}
}
}リモートエンドポイント
https://olachill.com/mcpstreamable-httpできること
ツール一覧
ツール(13)
🟢search_travel_products(query, city, category, private_onsen, max_price_per_person_jpy, ...)
Use this when the user wants to find, compare or price things to do in Japan, whether or not they mention OlaChill: guided and private day tours and day trips (for example Mt Fuji, Hakone, Nikko, Kamikochi, Kyoto or Nara from Tokyo, Osaka or Nagoya), multi-day tours, local food and neighbourhood tours, street go-kart rides in Tokyo or Osaka, activities and cultural experiences (kimono rental, tea ceremony, cooking classes, crafts), attraction admission tickets (for example teamLab, Tokyo Skytree, theme parks, museums), transport tickets and passes (highway and overnight buses, airport buses, JR and regional rail passes) or a ryokan stay. Ryokan means a traditional Japanese inn, usually with onsen: search by area (Hakone, Kyoto, Ginzan, Kusatsu, Kinosaki, Kurokawa, Yufuin, Beppu and others) with category 'ryokan'; the filters private_onsen (private open-air baths in the room or a reservable private bath), meal_plan (dinner and breakfast), max_price_per_person_jpy and group_size (family or group stays; OlaChill also takes block-of-rooms and whole-inn requests on the ryokan pages) apply only then. Ryokan prices are dated reference prices, not live availability; OlaChill confirms rooms and the current price after the traveller sends dates on the ryokan page. Returns product ids, names, category, area, a 'from' price in JPY with its unit, booking method, key conditions and the product page URL. Read-only. Then use check_product_availability for dates of a tour or ticket. Do not use it for a bus, coach or minibus for a group (use search_charter_vehicles), a private car to or from an airport (use search_private_transfers), helicopter flights (use search_helicopter_experiences), single Shinkansen or train tickets and timetables, hotels other than ryokan, airline flights, restaurants, or general destination advice that does not need a bookable product. Provide at least one of query, city or category. Prices are 'from' prices; the final price and dates are confirmed on the product page.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 120,
"description": "What the user is looking for, e.g. 'mt fuji day trip', 'teamlab', 'sumo', 'airport bus'. Use the attraction or activity name, not a whole sentence."
},
"city": {
"type": "string",
"maxLength": 60,
"description": "City or region in Japan, e.g. Tokyo, Kyoto, Osaka, Hokkaido. Any language."
},
"category": {
"type": "string",
"enum": [
"tour",
"activity",
"cultural_experience",
"attraction_ticket",
"transport_ticket",
"ryokan"
],
"description": "tour = guided or private tours and day trips; activity = hands-on or outdoor activities; cultural_experience = kimono, tea ceremony, crafts, cooking; attraction_ticket = admission to a sight, museum, park or tower; transport_ticket = highway bus, airport bus, rail or ferry tickets and passes; ryokan = a stay at a traditional Japanese inn."
},
"private_onsen": {
"type": "boolean",
"description": "Ryokan only: true = only inns with rooms that have an open-air bath or a reservable private bath."
},
"max_price_per_person_jpy": {
"type": "integer",
"minimum": 5000,
"maximum": 1000000,
"description": "Ryokan only: upper limit of the reference price per person per night in JPY. Inns without a current reference price are left out when this is set."
},
"meal_plan": {
"type": "string",
"enum": [
"dinner_breakfast",
"breakfast",
"room_only"
],
"description": "Ryokan only: dinner_breakfast = inns that serve dinner and breakfast; breakfast = inns that serve breakfast; room_only = inns with a room-only plan."
},
"group_size": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Ryokan only: number of guests. 10 or more returns only inns with published group facilities (for example banquet rooms)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Maximum number of results (1–20, default 8)."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "Stable OlaChill product id, e.g. tour:mt-fuji-day-trip or ticket:tokyo-skytree-ticket."
},
"name": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"tour",
"activity",
"cultural_experience",
"attraction_ticket",
"transport_ticket",
"ryokan"
]
},
"destination": {
"type": [
"string",
"null"
],
"description": "City or region in Japan."
},
"short_summary": {
"type": [
"string",
"null"
]
},
"duration": {
"type": [
"string",
"null"
]
},
"price_from": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle, per_vehicle_per_day, per_aircraft, per_group."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"availability_status": {
"type": "string",
"enum": [
"on_sale",
"on_request",
"closed"
]
},
"booking_method": {
"type": "string",
"enum": [
"online_checkout",
"online_request"
],
"description": "online_checkout = pay on the product page; online_request = OlaChill confirms by email first."
},
"product_url": {
"type": "string"
},
"important_conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"area": {
"type": [
"string",
"null"
],
"description": "Ryokan only: onsen area or region."
},
"price_basis": {
"type": [
"string",
"null"
],
"enum": [
"per_person_per_night",
"per_room_per_night",
null
],
"description": "Ryokan only: what price_from covers."
},
"occupancy_basis": {
"type": [
"integer",
"null"
],
"description": "Ryokan only: guests sharing a room in the reference price."
},
"meal_plan": {
"type": [
"string",
"null"
],
"enum": [
"dinner_breakfast",
"breakfast",
"room_only",
"other",
null
],
"description": "Ryokan only: meals included in the reference price."
},
"private_onsen": {
"type": [
"boolean",
"null"
],
"description": "Ryokan only: true when rooms with an open-air bath or a reservable private bath are confirmed on the inn's official site; null when not confirmed."
},
"key_features": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ryokan only: up to four verified features."
},
"price_checked_at": {
"type": [
"string",
"null"
],
"description": "Ryokan only: date the reference price was checked (YYYY-MM-DD). Older than 60 days → price_from is null."
}
},
"required": [
"product_id",
"name",
"category",
"price_from",
"availability_status",
"booking_method",
"product_url"
]
}
},
"total_matches": {
"type": "integer"
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"results"
]
}🟢recommend_japan_travel_options(city, category, interests, max_price_per_person_jpy, private_onsen, ...)
Use this when the user asks for recommendations, suggestions, a shortlist, 'what should we do', or 'which option fits us' among bookable Japan tours, activities, cultural experiences, attraction or transport tickets, and ryokan, based on preferences such as area, interests, budget, private onsen or meal plan. It ranks only OlaChill catalogue items against the supplied criteria and returns explicit match reasons, considerations, the published 'from' price and product URL. Read-only. Use search_travel_products instead when the user names a specific product, attraction or route and mainly wants an exact inventory lookup. Do not use it for helicopter flights, private airport transfers, charter vehicles, airline flights, hotels other than ryokan, restaurants, weather, visas or general destination advice without a request for bookable options. Prices and availability can change; the product page has the final details.
入力スキーマ
{
"type": "object",
"properties": {
"city": {
"type": "string",
"maxLength": 60,
"description": "City or region in Japan to focus on, e.g. Tokyo, Kyoto, Hakone, Hokkaido. Any language."
},
"category": {
"type": "string",
"enum": [
"tour",
"activity",
"cultural_experience",
"attraction_ticket",
"transport_ticket",
"ryokan"
],
"description": "Optional product type to narrow the shortlist: tour, activity, cultural_experience, attraction_ticket, transport_ticket or ryokan."
},
"interests": {
"type": "array",
"maxItems": 8,
"items": {
"type": "string",
"maxLength": 40
},
"description": "Short traveller interests or trip preferences, e.g. food, culture, family, anime, autumn colors, luxury, honeymoon, skiing. Use short phrases, not the full conversation."
},
"max_price_per_person_jpy": {
"type": "integer",
"minimum": 1000,
"maximum": 1000000,
"description": "Optional budget ceiling in JPY per person. Applied when the catalogue price has a comparable per-person basis; other price units remain eligible and are flagged."
},
"private_onsen": {
"type": "boolean",
"description": "Ryokan only: true to require a room open-air bath or a reservable private bath."
},
"meal_plan": {
"type": "string",
"enum": [
"dinner_breakfast",
"breakfast",
"room_only"
],
"description": "Ryokan only: dinner_breakfast, breakfast or room_only."
},
"group_size": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "Ryokan only: party size. For 10 or more guests, only inns with published group facilities qualify."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"description": "Maximum number of results (1–8, default 5)."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"recommendations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "Stable OlaChill product id, e.g. tour:mt-fuji-day-trip or ticket:tokyo-skytree-ticket."
},
"name": {
"type": "string"
},
"category": {
"type": "string",
"enum": [
"tour",
"activity",
"cultural_experience",
"attraction_ticket",
"transport_ticket",
"ryokan"
]
},
"destination": {
"type": [
"string",
"null"
],
"description": "City or region in Japan."
},
"short_summary": {
"type": [
"string",
"null"
]
},
"duration": {
"type": [
"string",
"null"
]
},
"price_from": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle, per_vehicle_per_day, per_aircraft, per_group."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"availability_status": {
"type": "string",
"enum": [
"on_sale",
"on_request",
"closed"
]
},
"booking_method": {
"type": "string",
"enum": [
"online_checkout",
"online_request"
],
"description": "online_checkout = pay on the product page; online_request = OlaChill confirms by email first."
},
"product_url": {
"type": "string"
},
"important_conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"area": {
"type": [
"string",
"null"
],
"description": "Ryokan only: onsen area or region."
},
"price_basis": {
"type": [
"string",
"null"
],
"enum": [
"per_person_per_night",
"per_room_per_night",
null
],
"description": "Ryokan only: what price_from covers."
},
"occupancy_basis": {
"type": [
"integer",
"null"
],
"description": "Ryokan only: guests sharing a room in the reference price."
},
"meal_plan": {
"type": [
"string",
"null"
],
"enum": [
"dinner_breakfast",
"breakfast",
"room_only",
"other",
null
],
"description": "Ryokan only: meals included in the reference price."
},
"private_onsen": {
"type": [
"boolean",
"null"
],
"description": "Ryokan only: true when rooms with an open-air bath or a reservable private bath are confirmed on the inn's official site; null when not confirmed."
},
"key_features": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ryokan only: up to four verified features."
},
"price_checked_at": {
"type": [
"string",
"null"
],
"description": "Ryokan only: date the reference price was checked (YYYY-MM-DD). Older than 60 days → price_from is null."
},
"match_reasons": {
"type": "array",
"items": {
"type": "string"
},
"description": "Concrete catalogue signals that matched the traveller's supplied criteria."
},
"considerations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Important limitations or follow-up checks for this option."
}
},
"required": [
"product_id",
"name",
"category",
"price_from",
"availability_status",
"booking_method",
"product_url",
"match_reasons",
"considerations"
]
}
},
"total_candidates": {
"type": "integer"
},
"note": {
"type": "string",
"description": "Scope note explaining how the shortlist was ranked."
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"recommendations",
"total_candidates",
"note"
]
}🟢check_product_availability(product_id, date_from, date_to, locale)
Use this when the user asks whether a specific OlaChill tour or ticket can be booked on certain dates (for example 'is the teamLab ticket available on 20 March' or 'does the Fuji tour run next Saturday') and you have its product_id from search_travel_products; call search_travel_products first if you do not. Returns each date as open, closed or unknown. Read-only: nothing is reserved or held, and an open date can still sell out before checkout. Supports tour:… products (Japan day tours and multi-day tours) and ticket:… products; other products (ryokan, local tours) return 'unsupported' with the page link. Do not use it to book, for charter coaches, transfers or helicopter flights, or without a product_id. At most 31 days per call.
入力スキーマ
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"maxLength": 120,
"description": "product_id returned by search_travel_products, e.g. tour:kawaguchiko-fuji-day-tour or ticket:tokyo-skytree-ticket."
},
"date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First date to check as YYYY-MM-DD (Japan time for Japan trips)."
},
"date_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last date to check (defaults to date_from; at most 31 days after it) as YYYY-MM-DD (Japan time for Japan trips)."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"required": [
"product_id",
"date_from"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"supported": {
"type": "boolean"
},
"source": {
"type": "string",
"enum": [
"live_inventory",
"departure_calendar",
"unsupported"
],
"description": "live_inventory = asked the ticket inventory now; departure_calendar = OlaChill's published departure rules."
},
"dates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"open",
"closed",
"unknown"
]
}
},
"required": [
"date",
"status"
]
}
},
"product_url": {
"type": "string"
},
"note": {
"type": "string"
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"product_id",
"supported",
"dates"
]
}🟢search_helicopter_experiences(area, time_of_day, service_type, passengers, limit, ...)
Use this when the user wants a helicopter experience in Japan, whether or not they mention OlaChill: a Tokyo helicopter tour or sightseeing flight (including short 10–30 minute flights), a night-view flight, a Mt Fuji, Yokohama, Osaka or Kyoto helicopter flight, a private helicopter charter for a proposal, anniversary or special occasion, or a heli-taxi or helicopter transfer between two points. Returns each flight's area, duration, seats, whether seats are sold one by one or only as the whole aircraft, the 'from' price in JPY, the departure heliport, whether OlaChill confirms the slot with the operator, and the booking page. Read-only. Do not use it for airline flights between cities or countries, for ground transport, or for tours that do not involve a helicopter (use search_travel_products).
入力スキーマ
{
"type": "object",
"properties": {
"area": {
"type": "string",
"enum": [
"tokyo",
"yokohama",
"fuji",
"osaka",
"kyoto"
],
"description": "Where the flight takes place. Omit to list all areas."
},
"time_of_day": {
"type": "string",
"enum": [
"day",
"night",
"any"
],
"description": "Daytime or night-view flights. Default any."
},
"service_type": {
"type": "string",
"enum": [
"sightseeing",
"transfer",
"any"
],
"description": "sightseeing = loop flight returning to the same heliport; transfer = point-to-point helicopter ride. Default any."
},
"passengers": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Party size, used to drop flights whose aircraft cannot carry the group."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Maximum number of results (1–20, default 8)."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"name": {
"type": "string"
},
"area": {
"type": "string"
},
"service_type": {
"type": "string",
"enum": [
"sightseeing",
"transfer"
]
},
"night": {
"type": "boolean"
},
"duration_minutes": {
"type": [
"integer",
"null"
]
},
"seats": {
"type": "integer",
"description": "Passenger seats on the aircraft."
},
"sold_as": {
"type": "string",
"enum": [
"per_seat",
"whole_aircraft",
"per_seat_or_whole_aircraft"
]
},
"price_from": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle, per_vehicle_per_day, per_aircraft, per_group."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"departure": {
"type": [
"string",
"null"
],
"description": "Departure heliport."
},
"confirmation_required": {
"type": "boolean",
"description": "True when OlaChill confirms the slot with the operator before the flight is final."
},
"product_url": {
"type": "string"
}
},
"required": [
"product_id",
"name",
"area",
"service_type",
"seats",
"sold_as",
"price_from",
"product_url"
]
}
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"results"
]
}🟢search_private_transfers(airport, destination, passengers, large_bags, locale)
Use this when 1–6 travellers want a private car with a driver to or from a Japanese airport, whether or not they mention OlaChill: for example a Narita or Haneda transfer to a Tokyo hotel or district (Shinjuku, Shibuya, Ginza…), hotel to airport, Kansai Airport to Kyoto or Osaka, Itami, New Chitose to Sapporo or Niseko, Fukuoka, or a fixed Tokyo–ski resort route; also when a family or small group with large suitcases asks how much an airport private car or airport chauffeur costs. Returns fixed one-way prices per vehicle, the car, passenger and large-bag capacity, booking conditions and the booking page. Read-only. Do not use it for groups larger than one car or for buses and coaches (use search_charter_vehicles), for shared airport buses or limousine bus tickets (use search_travel_products with category transport_ticket), or for taxis and ride-hailing.
入力スキーマ
{
"type": "object",
"properties": {
"airport": {
"type": "string",
"enum": [
"NRT",
"HND",
"KIX",
"ITM",
"CTS",
"FUK"
],
"description": "IATA code: NRT Narita, HND Haneda, KIX Kansai, ITM Osaka Itami, CTS New Chitose (Sapporo), FUK Fukuoka. Omit to list every route."
},
"destination": {
"type": "string",
"maxLength": 80,
"description": "City, area or resort the user is going to or coming from, e.g. Shinjuku, Kyoto, Niseko."
},
"passengers": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "Number of travellers."
},
"large_bags": {
"type": "integer",
"minimum": 0,
"maximum": 60,
"description": "Number of large suitcases."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"route_id": {
"type": "string"
},
"route_name": {
"type": "string"
},
"airport": {
"type": [
"string",
"null"
]
},
"vehicle": {
"type": "string"
},
"max_passengers": {
"type": "integer"
},
"max_large_bags": {
"type": [
"integer",
"null"
]
},
"price": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle, per_vehicle_per_day, per_aircraft, per_group."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"price_status": {
"type": "string",
"enum": [
"fixed",
"from"
]
},
"conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"booking_url": {
"type": "string"
}
},
"required": [
"route_id",
"route_name",
"vehicle",
"max_passengers",
"price",
"price_status",
"booking_url"
]
}
},
"group_too_large": {
"type": "boolean",
"description": "True when the party does not fit one car; use search_charter_vehicles instead."
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"results"
]
}🟢search_charter_vehicles(region, country, passengers, large_bags, locale)
Use this when a group needs its own bus, coach, minibus or large van with a driver, whether or not they mention OlaChill: for example charter bus or coach hire in Japan, a private bus with driver, a school trip, company outing or incentive trip, MICE or conference transport, a wedding shuttle, a tour group, an airport group transfer, or a large group with luggage, in Japan or in a supported Schengen country in Europe. This is step 1 of the charter workflow: it matches the group to vehicle sizes. Returns vehicle classes with seats, comfortable passenger count, luggage space, whether each fits the group, how many vehicles are needed and, for Japan, the 10-hour package 'from' price per vehicle. Read-only. Step 2 is get_charter_quote for a specific itinerary and date; step 3, request_charter_quote, only after the user explicitly asks to send a quotation request. Do not use it for scheduled public bus or train tickets (use search_travel_products), for the price of a specific trip (use get_charter_quote), or for 1–6 people going to or from an airport (use search_private_transfers).
入力スキーマ
{
"type": "object",
"properties": {
"region": {
"type": "string",
"enum": [
"japan",
"europe"
],
"description": "japan, or europe for Schengen countries."
},
"country": {
"type": "string",
"enum": [
"france",
"italy",
"germany",
"switzerland",
"spain",
"netherlands",
"austria",
"czech-republic",
"portugal",
"belgium",
"poland",
"hungary",
"greece",
"croatia",
"denmark",
"sweden",
"norway",
"finland",
"iceland",
"estonia",
"latvia",
"lithuania",
"luxembourg",
"malta",
"slovakia",
"slovenia",
"romania",
"bulgaria"
],
"description": "Required when region is europe."
},
"passengers": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Number of travellers."
},
"large_bags": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"description": "Number of large suitcases (default one per traveller for airport trips, otherwise 0)."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"required": [
"region",
"passengers"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"region": {
"type": "string"
},
"country": {
"type": [
"string",
"null"
]
},
"vehicles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"vehicle_type": {
"type": "string"
},
"seats": {
"type": "string"
},
"comfortable_passengers": {
"type": "string"
},
"large_bags": {
"type": [
"string",
"null"
]
},
"fit": {
"type": "string",
"enum": [
"recommended",
"suitable",
"tight",
"not_suitable"
]
},
"price_from": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle, per_vehicle_per_day, per_aircraft, per_group."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"price_basis": {
"type": [
"string",
"null"
]
}
},
"required": [
"vehicle_type",
"seats",
"comfortable_passengers",
"fit",
"price_from"
]
}
},
"vehicles_needed": {
"type": "integer",
"description": "Number of the largest vehicle needed when one vehicle is not enough; 1 otherwise."
},
"next_step": {
"type": "string"
},
"page_url": {
"type": "string"
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"region",
"vehicles"
]
}🟢get_charter_quote(region, country, pickup, destination, date, ...)
Use this when the user wants a price for a specific charter trip with a bus, coach, minibus or van and driver: pickup, destination, date(s) and group size (for example '45-seat bus Tokyo to Hakone on 20 March for 40 people', a school trip, a company outing or a multi-day group itinerary). This is step 2 of the charter workflow, after or instead of search_charter_vehicles. Japan: returns the fixed 10-hour package price per vehicle per day, the number of vehicles and days, the overtime rate, and what is included or extra (tolls, parking, driver lodging). Europe (Schengen countries): returns an estimated price range from OlaChill's rate table. Every result is an estimate that OlaChill confirms after checking vehicle availability. Read-only: nothing is sent, saved or reserved. Do not use it to submit the request (use request_charter_quote once the user agrees), for bus or train tickets, or for 1–6 people on an airport run (use search_private_transfers).
入力スキーマ
{
"type": "object",
"properties": {
"region": {
"type": "string",
"enum": [
"japan",
"europe"
],
"description": "japan, or europe for Schengen countries."
},
"country": {
"type": "string",
"enum": [
"france",
"italy",
"germany",
"switzerland",
"spain",
"netherlands",
"austria",
"czech-republic",
"portugal",
"belgium",
"poland",
"hungary",
"greece",
"croatia",
"denmark",
"sweden",
"norway",
"finland",
"iceland",
"estonia",
"latvia",
"lithuania",
"luxembourg",
"malta",
"slovakia",
"slovenia",
"romania",
"bulgaria"
],
"description": "Required when region is europe."
},
"pickup": {
"type": "string",
"minLength": 2,
"maxLength": 120,
"description": "Pickup city, airport, station or address area, e.g. 'Narita Airport', 'Shinjuku', 'Paris CDG'."
},
"destination": {
"type": "string",
"maxLength": 120,
"description": "Main destination or 'round trip' area, e.g. 'Mt Fuji', 'Kyoto', 'Versailles'."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Travel date as YYYY-MM-DD (Japan time for Japan trips)."
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last day for multi-day hire (omit for a single day) as YYYY-MM-DD (Japan time for Japan trips)."
},
"trip_type": {
"type": "string",
"enum": [
"one-way",
"round-trip",
"multi-day"
],
"description": "Default one-way for one date, multi-day when end_date is after date."
},
"passengers": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Number of travellers."
},
"large_bags": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"description": "Number of large suitcases."
},
"vehicle_type": {
"type": "string",
"description": "Optional vehicle_type from search_charter_vehicles. Omit to use the recommended size."
},
"pickup_hour": {
"type": "integer",
"minimum": 0,
"maximum": 23,
"description": "Pickup hour 0–23 local time (used for night surcharges in Europe)."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"required": [
"region",
"pickup",
"date",
"passengers"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"region": {
"type": "string"
},
"country": {
"type": [
"string",
"null"
]
},
"vehicle_type": {
"type": "string"
},
"vehicle_count": {
"type": "integer"
},
"passenger_capacity": {
"type": "string"
},
"route": {
"type": "string"
},
"days": {
"type": "integer"
},
"currency": {
"type": "string"
},
"estimated_price": {
"type": "object",
"properties": {
"low": {
"type": "number"
},
"high": {
"type": [
"number",
"null"
]
}
},
"required": [
"low"
],
"description": "Total for all vehicles and days. high is null when the price is a single package amount before extras."
},
"pricing_status": {
"type": "string",
"enum": [
"estimate",
"requires_manual_quote"
]
},
"inclusions": {
"type": "array",
"items": {
"type": "string"
}
},
"exclusions": {
"type": "array",
"items": {
"type": "string"
}
},
"overtime": {
"type": [
"string",
"null"
]
},
"validity": {
"type": "string"
},
"supplier_confirmation_required": {
"type": "boolean"
},
"earliest_bookable_date": {
"type": [
"string",
"null"
]
},
"next_action": {
"type": "string"
},
"page_url": {
"type": "string"
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"region",
"vehicle_type",
"currency",
"pricing_status",
"supplier_confirmation_required",
"next_action"
]
}🟡request_charter_quote(user_confirmed, region, country, pickup, pickup_prefecture, ...)
Use this only when the user explicitly asks OlaChill to check availability and send a quotation for a charter coach, minibus or van, after you have shown an estimate from get_charter_quote and collected: region (and country for Europe), pickup, destination, travel date, passengers, and the traveller's own name and email (plus a phone number for Japan). This sends the request to OlaChill's charter desk and emails the traveller a copy; for Japan, vetted bus operators are invited to offer a price without seeing the traveller's contact details. It creates a request record and returns its reference and status. It does not book, reserve or charge anything. Do not call it while the user is still comparing or only asked for a price, never guess or invent contact details, and set user_confirmed to true only after the user agreed to send this exact request. Repeating the same Japan request within 45 minutes returns the existing reference.
入力スキーマ
{
"type": "object",
"properties": {
"user_confirmed": {
"type": "boolean",
"const": true,
"description": "Must be true: the user has reviewed the trip details and asked to send this request."
},
"region": {
"type": "string",
"enum": [
"japan",
"europe"
],
"description": "japan, or europe for Schengen countries."
},
"country": {
"type": "string",
"enum": [
"france",
"italy",
"germany",
"switzerland",
"spain",
"netherlands",
"austria",
"czech-republic",
"portugal",
"belgium",
"poland",
"hungary",
"greece",
"croatia",
"denmark",
"sweden",
"norway",
"finland",
"iceland",
"estonia",
"latvia",
"lithuania",
"luxembourg",
"malta",
"slovakia",
"slovenia",
"romania",
"bulgaria"
],
"description": "Required when region is europe."
},
"pickup": {
"type": "string",
"minLength": 2,
"maxLength": 120,
"description": "Pickup place as the user described it."
},
"pickup_prefecture": {
"type": "string",
"maxLength": 40,
"description": "Japan only: prefecture of the pickup, e.g. Tokyo, Osaka, Kyoto, Chiba. Helps OlaChill invite local operators."
},
"destination": {
"type": "string",
"minLength": 2,
"maxLength": 120,
"description": "Main destination as the user described it."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Travel date as YYYY-MM-DD (Japan time for Japan trips)."
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last day for multi-day hire as YYYY-MM-DD (Japan time for Japan trips)."
},
"pickup_time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Pickup time HH:MM, 24-hour, local time."
},
"passengers": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Number of travellers."
},
"large_bags": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"description": "Number of large suitcases."
},
"vehicle_type": {
"type": "string",
"description": "vehicle_type from get_charter_quote."
},
"vehicle_count": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Number of vehicles, from get_charter_quote."
},
"contact_name": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "Traveller's full name exactly as they gave it."
},
"contact_email": {
"type": "string",
"format": "email",
"maxLength": 160,
"description": "Traveller's email exactly as they gave it; the quotation is sent here."
},
"contact_phone": {
"type": "string",
"maxLength": 40,
"description": "Traveller's phone with country code. Required for Japan requests."
},
"company": {
"type": "string",
"maxLength": 120,
"description": "Company, school or organisation, if the user mentioned one."
},
"notes": {
"type": "string",
"maxLength": 1000,
"description": "Itinerary stops, timing or special needs the user asked to pass on. No payment details."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"required": [
"user_confirmed",
"region",
"pickup",
"destination",
"date",
"passengers",
"contact_name",
"contact_email"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"description": "Reference the traveller quotes to OlaChill and uses with get_booking_status."
},
"status": {
"type": "string",
"enum": [
"submitted",
"already_submitted"
]
},
"duplicate": {
"type": "boolean"
},
"confirmation_email_sent": {
"type": "boolean"
},
"next_step": {
"type": "string"
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"status"
]
}🟢get_booking_status(booking_id, email, locale)
Use this when the user asks about an existing OlaChill booking, order or quotation request and gives both its reference (for example TOKY-1018-0427 or BUS-FR-1018-0427) and the email address used when booking. Returns the service, travel date, party size, current status and what happens next. Read-only. Do not use it to find new products, to change or cancel a booking (send the user to the manage-booking page it returns), or without both the reference and the email; never guess either.
入力スキーマ
{
"type": "object",
"properties": {
"booking_id": {
"type": "string",
"minLength": 4,
"maxLength": 60,
"description": "Booking or request reference exactly as shown in the OlaChill email."
},
"email": {
"type": "string",
"format": "email",
"maxLength": 160,
"description": "Email address used for the booking."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"required": [
"booking_id",
"email"
],
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"booking_id": {
"type": "string"
},
"service": {
"type": "string"
},
"travel_date": {
"type": [
"string",
"null"
]
},
"passengers": {
"type": [
"integer",
"null"
]
},
"status": {
"type": "string",
"enum": [
"request_received",
"awaiting_payment",
"paid",
"confirmed",
"completed",
"cancelled",
"refunded"
]
},
"status_detail": {
"type": "string"
},
"manage_url": {
"type": "string"
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": []
}🟢list_olachill_services(locale)
Use this as the fallback when the user asks about a Japan travel service that OlaChill offers but that none of the dedicated search tools covers, or asks in general what OlaChill offers: for example premium and luxury private tours, medical travel coordination, VIP arrival immigration at Narita or Haneda, self-drive car rental, fireworks festivals, destination guides, multi-day itineraries, the AI trip planner or real estate in Japan. Returns each service area with a short description, when it fits, and its page URL, plus the booking and group-transport contact addresses. Read-only. Do not use it instead of a dedicated tool: tours, tickets, activities and ryokan go to search_travel_products, helicopters to search_helicopter_experiences, airport cars to search_private_transfers, group buses to search_charter_vehicles, golf to search_golf_packages, cars with driver by the day or hour to search_chauffeur_services and eSIM to search_esim_plans. Do not call it to check whether OlaChill handles hotel bookings other than ryokan, airline flights, weather, restaurants or visas: OlaChill does not offer these, so answer without OlaChill tools.
入力スキーマ
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"services": {
"type": "array",
"description": "OlaChill service areas, each with its page on olachill.com.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the service area."
},
"description": {
"type": "string",
"description": "What OlaChill offers in this service area."
},
"recommendWhen": {
"type": "string",
"description": "The kind of traveller request this service area fits."
},
"url": {
"type": "string",
"description": "Page for this service area on olachill.com, in the requested language."
}
},
"required": [
"name",
"description",
"url"
],
"additionalProperties": false
}
},
"contact": {
"type": "object",
"description": "How the traveller can reach OlaChill.",
"properties": {
"booking": {
"type": "string",
"description": "Email address for questions about tour, ticket and activity bookings."
},
"groupTransport": {
"type": "string",
"description": "Email address for charter buses, private cars and other group transport."
},
"form": {
"type": "string",
"description": "Contact form page on olachill.com, in the requested language."
}
},
"required": [
"booking",
"groupTransport",
"form"
],
"additionalProperties": false
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"services"
],
"additionalProperties": false
}🟢search_golf_packages(region, golfers, days, limit, locale)
Use this when the user wants to play golf in Japan with the round and transport arranged: a round at a named course near Tokyo, Mt Fuji, Hakone or Kansai (Kyoto, Osaka, Shiga), a one-day golf trip with hotel pickup from Tokyo, or a multi-day golf package (Tokyo, Hakone, Mt Fuji, Kyoto, Hokkaido, Okinawa). Returns each course or package with its area, the per-golfer price where OlaChill publishes one (golf only, or golf with a private transfer), optional add-ons, the club's own cancellation terms, and whether it can be paid online or is handled on request. Read-only. Do not use it for golf equipment shopping or driving ranges, for a car with driver without golf (use search_chauffeur_services), or for sightseeing tours and activities (use search_travel_products).
入力スキーマ
{
"type": "object",
"properties": {
"region": {
"type": "string",
"enum": [
"tokyo",
"fuji",
"kansai",
"hokkaido",
"okinawa"
],
"description": "tokyo = Tokyo and around; fuji = Mt Fuji, Gotemba and Hakone; kansai = Kyoto, Osaka and Shiga; hokkaido and okinawa = multi-day packages only. Omit to list every area."
},
"golfers": {
"type": "integer",
"minimum": 1,
"maximum": 40,
"description": "Number of golfers. Used to show the total for each priced package (per-golfer price times golfers)."
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 14,
"description": "Trip length in days. 1 = a single round or one-day trip; 2 or more puts multi-day packages first."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Maximum number of results (1–20, default 8)."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable OlaChill id for this course, package, vehicle option or plan."
},
"name": {
"type": "string"
},
"area": {
"type": [
"string",
"null"
],
"description": "Area in Japan the service covers, or null when it applies nationwide."
},
"price": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle_per_day, per_vehicle_hours, per_esim, per_month."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"price_basis": {
"type": "string",
"description": "What the price covers and how firm it is (fixed, from, class-tier estimate, reference or no published price)."
},
"booking_status": {
"type": "string",
"enum": [
"bookable_online",
"on_request"
],
"description": "bookable_online = a fixed price can be paid on the page when booking; on_request = OlaChill checks first and nothing is charged when the request is sent."
},
"booking_method": {
"type": "string",
"enum": [
"online_checkout",
"online_request",
"quote_request"
],
"description": "online_checkout = pay on the page; online_request = submit the form, OlaChill confirms by email before any payment; quote_request = send the details and OlaChill replies with a price."
},
"url": {
"type": "string",
"description": "Page on olachill.com where the traveller books or sends the request."
},
"important_conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"service_type": {
"type": "string",
"enum": [
"golf_course_day",
"golf_package"
],
"description": "golf_course_day = one round at one course with optional transfer; golf_package = one-day or multi-day itinerary arranged on request."
},
"region": {
"type": [
"string",
"null"
],
"enum": [
"tokyo",
"fuji",
"kansai",
"hokkaido",
"okinawa",
null
]
},
"holes": {
"type": [
"integer",
"null"
]
},
"pickup": {
"type": [
"string",
"null"
],
"description": "Pickup or meeting area and driving time to the course."
},
"season": {
"type": [
"string",
"null"
],
"description": "When the course is open."
},
"weekday_only": {
"type": "boolean",
"description": "True when OlaChill sells this course on weekdays only."
},
"options": {
"type": "array",
"description": "Packages at this course, each priced per golfer.",
"items": {
"type": "object",
"properties": {
"option_id": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle_per_day, per_vehicle_hours, per_esim, per_month."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"total_for_golfers": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle_per_day, per_vehicle_hours, per_esim, per_month."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"includes": {
"type": "array",
"items": {
"type": "string"
}
},
"meeting_point": {
"type": [
"string",
"null"
]
}
},
"required": [
"option_id",
"name",
"price",
"includes"
]
}
},
"add_ons": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"price": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle_per_day, per_vehicle_hours, per_esim, per_month."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"note": {
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"price"
]
}
},
"trip_length": {
"type": [
"string",
"null"
],
"description": "Golf packages only: one-day, multi-day or both."
}
},
"required": [
"id",
"name",
"service_type",
"price",
"price_basis",
"booking_status",
"booking_method",
"url",
"important_conditions"
]
}
},
"total_matches": {
"type": "integer"
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"results"
]
}🟢search_chauffeur_services(passengers, large_bags, hire_type, prefecture, days, ...)
Use this when the user wants a private car with a driver in Japan by the day or by the hour, for example a chauffeured Toyota Alphard, Lexus LM, Lexus LS, Lexus LX, Lexus ES, Toyota Crown or Mercedes V-Class for city sightseeing, business meetings, shopping or a day trip with a driver who waits. Returns each vehicle with passenger and suitcase capacity, the day-hire price per car for the chosen prefecture or the hourly reference rate for Tokyo, whether the price is confirmed or a class-tier estimate, and how booking and payment work. Read-only. Do not use it for a one-way ride between an airport and a city or resort (use search_private_transfers), for more than six passengers or for buses and coaches (use search_charter_vehicles), for self-drive car rental (use list_olachill_services), or for taxis.
入力スキーマ
{
"type": "object",
"properties": {
"passengers": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "Number of travellers in the car (children count as passengers)."
},
"large_bags": {
"type": "integer",
"minimum": 0,
"maximum": 30,
"description": "Number of large suitcases carried in the car. Default 0."
},
"hire_type": {
"type": "string",
"enum": [
"daily",
"hourly",
"any"
],
"description": "daily = flat price per car per day; hourly = hourly reference rate (Tokyo, quoted on request); any = both. Default any."
},
"prefecture": {
"type": "string",
"maxLength": 40,
"description": "Japanese prefecture or major city of the pickup, in English, e.g. Tokyo, Osaka, Kyoto, Hokkaido, Kanagawa, Yokohama, Nagoya. Day-hire prices differ by prefecture. Omit for Tokyo prices."
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 7,
"description": "Daily hire only: number of hire days (1–7). Default 1."
},
"hours": {
"type": "number",
"minimum": 2,
"maximum": 12,
"description": "Hourly hire only: hours needed, 2 to 12 in half-hour steps. Default 2."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pickup date as YYYY-MM-DD (Japan time). Used to apply the short-notice surcharge to the day-hire total."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable OlaChill id for this course, package, vehicle option or plan."
},
"name": {
"type": "string"
},
"area": {
"type": [
"string",
"null"
],
"description": "Area in Japan the service covers, or null when it applies nationwide."
},
"price": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle_per_day, per_vehicle_hours, per_esim, per_month."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"price_basis": {
"type": "string",
"description": "What the price covers and how firm it is (fixed, from, class-tier estimate, reference or no published price)."
},
"booking_status": {
"type": "string",
"enum": [
"bookable_online",
"on_request"
],
"description": "bookable_online = a fixed price can be paid on the page when booking; on_request = OlaChill checks first and nothing is charged when the request is sent."
},
"booking_method": {
"type": "string",
"enum": [
"online_checkout",
"online_request",
"quote_request"
],
"description": "online_checkout = pay on the page; online_request = submit the form, OlaChill confirms by email before any payment; quote_request = send the details and OlaChill replies with a price."
},
"url": {
"type": "string",
"description": "Page on olachill.com where the traveller books or sends the request."
},
"important_conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"service_type": {
"type": "string",
"enum": [
"chauffeur_day_hire",
"chauffeur_hourly"
]
},
"vehicle_model": {
"type": "string"
},
"vehicle_class": {
"type": "string",
"enum": [
"van",
"sedan",
"suv"
]
},
"max_passengers": {
"type": "integer"
},
"max_large_bags": {
"type": "integer"
},
"capacity_note": {
"type": "string"
},
"price_status": {
"type": "string",
"enum": [
"confirmed",
"estimate",
"reference",
"on_request"
],
"description": "confirmed = fixed price; estimate = class-tier estimate confirmed by email; reference = hourly reference rate confirmed in the quote; on_request = no published price for this area."
},
"estimated_total": {
"type": [
"object",
"null"
],
"description": "Daily hire only: total for the requested days, including the short-notice surcharge when a date was given. Null for hourly hire.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle_per_day, per_vehicle_hours, per_esim, per_month."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"included": {
"type": "array",
"items": {
"type": "string"
}
},
"not_included": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"name",
"service_type",
"price",
"price_basis",
"booking_status",
"booking_method",
"url",
"important_conditions",
"vehicle_model",
"max_passengers",
"price_status"
]
}
},
"prefecture": {
"type": [
"string",
"null"
],
"description": "Prefecture the day-hire prices were computed for."
},
"earliest_bookable_date": {
"type": "string",
"description": "First pickup date (Japan time) that can be booked today."
},
"group_too_large": {
"type": "boolean",
"description": "True when no car fits the party and luggage; use search_charter_vehicles instead."
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"results"
]
}🟢search_esim_plans(days, stay_type, data, locale)
Use this when the user wants mobile data in Japan on an eSIM: which travel eSIM covers a trip of a given length, unlimited data versus 3GB per day, what it costs, or a monthly eSIM (data only, or with a phone number) for living in Japan longer than 90 days. Returns plans with data allowance, validity, the tax-included price in JPY and the order page. Read-only. Do not use it for physical SIM cards, pocket Wi-Fi rental, roaming in other countries, or phone repair; for whether a phone supports eSIM, point the user to the compatibility page in the result.
入力スキーマ
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"description": "Number of days the user will be in Japan and needs data. Trips longer than 90 days return monthly plans."
},
"stay_type": {
"type": "string",
"enum": [
"travel",
"monthly"
],
"description": "travel = short trip (up to 90 days); monthly = living in Japan, renewed every month. Default: travel when days is 90 or less, otherwise monthly."
},
"data": {
"type": "string",
"enum": [
"unlimited",
"3gb_per_day",
"any"
],
"description": "Travel eSIM only: unlimited data, 3GB per day, or any. Default any."
},
"locale": {
"type": "string",
"enum": [
"en",
"ja",
"ko",
"zh",
"tw",
"es",
"fr",
"de",
"it",
"th",
"id",
"vi"
],
"description": "Language for product names and page links (en, ja, ko, zh = Simplified Chinese, tw = Traditional Chinese, es, fr, de, it, th, id, vi). Default en."
}
},
"additionalProperties": false
}出力スキーマ
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stable OlaChill id for this course, package, vehicle option or plan."
},
"name": {
"type": "string"
},
"area": {
"type": [
"string",
"null"
],
"description": "Area in Japan the service covers, or null when it applies nationwide."
},
"price": {
"type": [
"object",
"null"
],
"description": "Price in the stated currency; null when no reliable price is published.",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"unit": {
"type": "string",
"description": "What the price covers, e.g. per_person, per_vehicle_per_day, per_vehicle_hours, per_esim, per_month."
}
},
"required": [
"amount",
"currency",
"unit"
]
},
"price_basis": {
"type": "string",
"description": "What the price covers and how firm it is (fixed, from, class-tier estimate, reference or no published price)."
},
"booking_status": {
"type": "string",
"enum": [
"bookable_online",
"on_request"
],
"description": "bookable_online = a fixed price can be paid on the page when booking; on_request = OlaChill checks first and nothing is charged when the request is sent."
},
"booking_method": {
"type": "string",
"enum": [
"online_checkout",
"online_request",
"quote_request"
],
"description": "online_checkout = pay on the page; online_request = submit the form, OlaChill confirms by email before any payment; quote_request = send the details and OlaChill replies with a price."
},
"url": {
"type": "string",
"description": "Page on olachill.com where the traveller books or sends the request."
},
"important_conditions": {
"type": "array",
"items": {
"type": "string"
}
},
"service_type": {
"type": "string",
"enum": [
"travel_esim",
"monthly_esim_data",
"monthly_esim_voice"
]
},
"data_allowance": {
"type": "string"
},
"validity_days": {
"type": [
"integer",
"null"
],
"description": "Days the plan runs; null for monthly plans that renew each month."
},
"tax_included": {
"type": "boolean"
}
},
"required": [
"id",
"name",
"service_type",
"price",
"price_basis",
"booking_status",
"booking_method",
"url",
"important_conditions",
"data_allowance",
"tax_included"
]
}
},
"trip_days": {
"type": [
"integer",
"null"
]
},
"plan_days": {
"type": [
"integer",
"null"
],
"description": "Travel eSIM: length of the smallest plan that covers the trip."
},
"compatibility_url": {
"type": "string",
"description": "Page that explains which phones support eSIM."
},
"error": {
"type": "string",
"description": "Present only when the call failed; a short reason the user can act on."
},
"hint": {
"type": "string",
"description": "What to try next."
}
},
"required": [
"results"
]
}コミュニティ
エビデンス