Fixed-price airport transfers and long rides from Upper Austria, Salzburg, Passau
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Cancels a booking, free of charge, any time before the pickup. Requires reference, access code, customer_confirmed=true after the customer explicitly confirmed, and an idempotency_key. Cannot be undone.
8-character access code given at booking time.
Unique key for this one intended action. Reuse it only when retrying the same action.
Public booking reference, e.g. RT-K7QM.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Cancels a booking, free of charge, any time before the pickup. Requires reference, access code, customer_confirmed=true after the customer explicitly confirmed, and an idempotency_key. Cannot be undone.
| Argument | Type | Description |
|---|---|---|
| reason | string | |
| access_code* | string | 8-character access code given at booking time. |
| idempotency_key* | string | Unique key for this one intended action. Reuse it only when retrying the same action. |
| booking_reference* | string | Public booking reference, e.g. RT-K7QM. |
| customer_confirmed* | boolean |
{
"type": "object",
"required": [
"booking_reference",
"access_code",
"idempotency_key",
"customer_confirmed"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 200
},
"access_code": {
"type": "string",
"maxLength": 8,
"minLength": 8,
"description": "8-character access code given at booking time."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]+$",
"maxLength": 80,
"minLength": 8,
"description": "Unique key for this one intended action. Reuse it only when retrying the same action."
},
"booking_reference": {
"type": "string",
"pattern": "^RT-[A-Z0-9]{4,10}$",
"description": "Public booking reference, e.g. RT-K7QM."
},
"customer_confirmed": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
}Checks RIED.TAXI's real calendar (bookings, the owner's own calendar and other customers' temporary holds). One car, one driver: availability depends on the whole day including driving to the pickup and back, not only the minute. Read-only; a free result is NOT a reservation. Returns alternatives when unavailable.
| Argument | Type | Description |
|---|---|---|
| passengers | integer | |
| pickup_date* | string | YYYY-MM-DD (Europe/Vienna). |
| pickup_time* | string | HH:MM, 24h, Europe/Vienna. |
| pickup_address | string | |
| destination_address | string |
{
"type": "object",
"required": [
"pickup_date",
"pickup_time"
],
"properties": {
"passengers": {
"type": "integer",
"maximum": 5,
"minimum": 1
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD (Europe/Vienna)."
},
"pickup_time": {
"type": "string",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"description": "HH:MM, 24h, Europe/Vienna."
},
"pickup_address": {
"type": "string",
"maxLength": 200
},
"destination_address": {
"type": "string",
"maxLength": 200
}
},
"additionalProperties": false
}Creates a REAL, CONFIRMED booking in RIED.TAXI's booking system and blocks the day. Only call after the customer has seen the complete trip and price and explicitly said yes. Requires the quote_id, customer_confirmed=true, accepted_terms=true and an idempotency_key (retrying with the same key never creates a second booking). Returns the booking reference and an access code for the customer.
| Argument | Type | Description |
|---|---|---|
| string | ||
| notes | string | Optional short note for the driver about the ride itself (e.g. meeting point details). Leave empty unless the customer asks to add something. Never repeat name, phone, email or other personal data here; the WhatsApp preference goes in whatsapp_opt_in. |
| phone* | string | Mobile number in international format, e.g. +43 660 1234567. |
| stops | array | Not bookable online; must be empty. |
| hold_id | string | |
| language* | string | |
| quote_id* | string | |
| last_name* | string |
Returns status, pickup time, addresses, price and flight of ONE booking. Requires the booking reference and the access code the customer received when booking. Read-only.
| Argument | Type | Description |
|---|---|---|
| access_code* | string | 8-character access code given at booking time. |
| booking_reference* | string | Public booking reference, e.g. RT-K7QM. |
{
"type": "object",
"required": [
"booking_reference",
"access_code"
],
"properties": {
"access_code": {
"type": "string",
"maxLength": 8,
"minLength": 8,
"description": "8-character access code given at booking time."
},
"booking_reference": {
"type": "string",
"pattern": "^RT-[A-Z0-9]{4,10}$",
"description": "Public booking reference, e.g. RT-K7QM."
}
},
"additionalProperties": false
}Returns RIED.TAXI's current price for one journey, calculated by the ried.taxi backend (the only valid price source). Read-only: it never books or reserves anything. Returns quote_id (valid 30 min), status priced | manual_quote_required | not_offered, and the resolved pickup/destination - show those names to the customer. If the result is ambiguous_place, ask the customer which place they mean and resend with the postcode.
| Argument | Type | Description |
|---|---|---|
| stops | array | Intermediate stops. Any stop means manual_quote_required. |
| passengers* | integer | |
| child_seats | string | Ages of children needing a seat. Means manual_quote_required. |
| pickup_date | string | YYYY-MM-DD (Europe/Vienna). |
| pickup_time | string | HH:MM, 24h, Europe/Vienna. |
| flight_number | string | |
| pickup_address* | string | Street address, hotel, town with postcode, or airport name/code (MUC, SZG, LNZ, VIE). |
| large_suitcases |
Re-checks that the quoted date is still free right before the booking. It does NOT block or reserve the day - RIED.TAXI only blocks a day with a created booking. Returns available=true/false (with alternative dates) and held=false. Call it when the customer wants to proceed, then show the summary and create the booking right after their explicit yes.
| Argument | Type | Description |
|---|---|---|
| quote_id* | string | |
| pickup_date* | string | YYYY-MM-DD (Europe/Vienna). |
| pickup_time* | string | HH:MM, 24h, Europe/Vienna. |
{
"type": "object",
"required": [
"quote_id",
"pickup_date",
"pickup_time"
],
"properties": {
"quote_id": {
"type": "string",
"maxLength": 40
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD (Europe/Vienna)."
},
"pickup_time": {
"type": "string",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"description": "HH:MM, 24h, Europe/Vienna."
}
},
"additionalProperties": false
}Changes a booking. Always call first with mode='preview' and show the result to the customer; then call with mode='apply', customer_confirmed=true and an idempotency_key. Same-day time changes, flight number, passengers (max 5), notes and new addresses with the same price apply immediately; a new date or a different price is sent to Ronald for approval (status change_requested).
| Argument | Type | Description |
|---|---|---|
| mode* | string | |
| changes* | object | |
| access_code* | string | 8-character access code given at booking time. |
| idempotency_key | string | Unique key for this one intended action. Reuse it only when retrying the same action. |
| booking_reference* | string | Public booking reference, e.g. RT-K7QM. |
| customer_confirmed | boolean |
{
"type": "object",
"required": [
"booking_reference",
"access_code",
"mode",
"changes"
],
"properties": {
"mode": {
"enum": [
"preview",
"apply"
],
"type": "string"
},
"changes": {
"type": "object",
"properties": {
"notes": {
"type": "string",
"maxLength": 400
},
"passengers": {
"type": "integer",
"maximum": 5,
"minimum": 1
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD (Europe/Vienna)."
},
"pickup_time": {
"type": "string",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"description": "HH:MM, 24h, Europe/Vienna."
},
"flight_number": {
"type": "string",
"maxLength": 12
},
"pickup_address": {
"type": "string",
"maxLength": 200
},
"destination_address": {
"type": "string",
"maxLength": 200
}
},
"minProperties": 1,
"additionalProperties": false
},
"access_code": {
"type": "string",
"maxLength": 8,
"minLength": 8,
"description": "8-character access code given at booking time."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]+$",
"maxLength": 80,
"minLength": 8,
"description": "Unique key for this one intended action. Reuse it only when retrying the same action."
},
"booking_reference": {
"type": "string",
"pattern": "^RT-[A-Z0-9]{4,10}$",
"description": "Public booking reference, e.g. RT-K7QM."
},
"customer_confirmed": {
"type": "boolean"
}
},
"additionalProperties": false
}| first_name* | string |
| passengers* | integer |
| child_seats | string | Not bookable online; must be empty. |
| pickup_date* | string | YYYY-MM-DD (Europe/Vienna). |
| pickup_time* | string | Requested DRIVER PICKUP time, HH:MM Europe/Vienna. For an airport arrival this is normally the scheduled landing time; the driver monitors the flight. |
| hand_luggage | integer |
| flight_number | string | Required when picking up at an airport. |
| accepted_terms* | boolean | Customer accepted that RIED.TAXI processes their details to carry out the ride (https://ried.taxi/en/privacy/) and the booking terms (https://ried.taxi/en/terms/; cancellation is free of charge). |
| pickup_address* | string | Exact pickup address (street + number + town, hotel, or airport + terminal). |
| idempotency_key* | string | Unique key for this one intended action. Reuse it only when retrying the same action. |
| large_suitcases* | integer |
| whatsapp_opt_in* | boolean | True only if the customer agreed to WhatsApp messages about this ride. |
| customer_confirmed* | boolean | Customer saw the full booking summary and explicitly said to book it. |
| destination_address* | string |
| flight_arrival_time | string | Scheduled landing time (local) - required for airport pickups. |
| pickup_instructions | string |
| flight_departure_time | string | Scheduled departure time for rides TO the airport (optional). |
{
"type": "object",
"required": [
"idempotency_key",
"quote_id",
"first_name",
"last_name",
"phone",
"language",
"pickup_date",
"pickup_time",
"pickup_address",
"destination_address",
"passengers",
"large_suitcases",
"whatsapp_opt_in",
"accepted_terms",
"customer_confirmed"
],
"properties": {
"email": {
"type": "string",
"maxLength": 160
},
"notes": {
"type": "string",
"maxLength": 600,
"description": "Optional short note for the driver about the ride itself (e.g. meeting point details). Leave empty unless the customer asks to add something. Never repeat name, phone, email or other personal data here; the WhatsApp preference goes in whatsapp_opt_in."
},
"phone": {
"type": "string",
"pattern": "^\\+[1-9][0-9 ()/-]{6,22}$",
"description": "Mobile number in international format, e.g. +43 660 1234567."
},
"stops": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 0,
"description": "Not bookable online; must be empty."
},
"hold_id": {
"type": "string",
"maxLength": 40
},
"language": {
"enum": [
"en",
"de"
],
"type": "string"
},
"quote_id": {
"type": "string",
"maxLength": 40
},
"last_name": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"first_name": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"passengers": {
"type": "integer",
"maximum": 5,
"minimum": 1
},
"child_seats": {
"type": "string",
"maxLength": 0,
"description": "Not bookable online; must be empty."
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD (Europe/Vienna)."
},
"pickup_time": {
"type": "string",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"description": "Requested DRIVER PICKUP time, HH:MM Europe/Vienna. For an airport arrival this is normally the scheduled landing time; the driver monitors the flight."
},
"hand_luggage": {
"type": "integer",
"maximum": 10,
"minimum": 0
},
"flight_number": {
"type": "string",
"maxLength": 12,
"description": "Required when picking up at an airport."
},
"accepted_terms": {
"type": "boolean",
"const": true,
"description": "Customer accepted that RIED.TAXI processes their details to carry out the ride (https://ried.taxi/en/privacy/) and the booking terms (https://ried.taxi/en/terms/; cancellation is free of charge)."
},
"pickup_address": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Exact pickup address (street + number + town, hotel, or airport + terminal)."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]+$",
"maxLength": 80,
"minLength": 8,
"description": "Unique key for this one intended action. Reuse it only when retrying the same action."
},
"large_suitcases": {
"type": "integer",
"maximum": 10,
"minimum": 0
},
"whatsapp_opt_in": {
"type": "boolean",
"description": "True only if the customer agreed to WhatsApp messages about this ride."
},
"customer_confirmed": {
"type": "boolean",
"const": true,
"description": "Customer saw the full booking summary and explicitly said to book it."
},
"destination_address": {
"type": "string",
"maxLength": 200,
"minLength": 2
},
"flight_arrival_time": {
"type": "string",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"description": "Scheduled landing time (local) - required for airport pickups."
},
"pickup_instructions": {
"type": "string",
"maxLength": 300
},
"flight_departure_time": {
"type": "string",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"description": "Scheduled departure time for rides TO the airport (optional)."
}
},
"additionalProperties": false
}| integer |
| destination_address* | string |
| special_requirements | string |
{
"type": "object",
"required": [
"pickup_address",
"destination_address",
"passengers"
],
"properties": {
"stops": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 3,
"description": "Intermediate stops. Any stop means manual_quote_required."
},
"passengers": {
"type": "integer",
"maximum": 5,
"minimum": 1
},
"child_seats": {
"type": "string",
"maxLength": 100,
"description": "Ages of children needing a seat. Means manual_quote_required."
},
"pickup_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD (Europe/Vienna)."
},
"pickup_time": {
"type": "string",
"pattern": "^([01]?\\d|2[0-3]):[0-5]\\d$",
"description": "HH:MM, 24h, Europe/Vienna."
},
"flight_number": {
"type": "string",
"maxLength": 12
},
"pickup_address": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Street address, hotel, town with postcode, or airport name/code (MUC, SZG, LNZ, VIE)."
},
"large_suitcases": {
"type": "integer",
"maximum": 10,
"minimum": 0
},
"destination_address": {
"type": "string",
"maxLength": 200,
"minLength": 2
},
"special_requirements": {
"type": "string",
"maxLength": 300
}
},
"additionalProperties": false
}