Servidor MCP

Samuelz Chauffeur Booking

io.github.samuelzcom/chauffeur-booking
Viajes y hospitalidad Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides chauffeur service options, ride price previews, customer policies, and prepared unpaid offers for transfers or hourly service.

get_customer_policy
Published customer terms
Read current booking preparation terms, account requirement, guest booking and minimum lead time. Service-specific cancellation and waiting terms must be checked on the current offer before confirmation. This does not confirm a booking.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'invalid_request'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'unavailable'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'bookingUrl', 'timeZone', 'observedAt', 'scope', 'revalidationRequired', 'terms', 'bookingConfirmed'], 'properties': {'scope': {'type': 'string', 'const': 'booking_preparation'}, 'terms': {'type': 'object', 'required': ['minimumLeadTimeMinutes', 'accountRequired', 'bookerForGuestAllowed', 'bookingConfirmation', 'serviceSpecificTerms'], 'properties': {'accountRequired': {'type': 'boolean'}, 'bookingConfirmation': {'type': 'string', 'const': 'after_confirmed_full_payment'}, 'serviceSpecificTerms': {'type': 'string', 'const': 'review_the_current_offer_before_confirmation'}, 'bookerForGuestAllowed': {'type': 'boolean'}, 'minimumLeadTimeMinutes': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'available'}, 'timeZone': {'type': 'string'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}, 'observedAt': {'type': 'string'}, 'bookingConfirmed': {'type': 'boolean', 'const': False}, 'revalidationRequired': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
get_offer_status
Read prepared offer status
Read one prepared offer by its submissionId and resumeToken. No quote, booking, payment, message or provider request is created.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['submissionId', 'resumeToken'], 'properties': {'resumeToken': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'submissionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'invalid_request'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'unavailable'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'retryAfterSeconds'], 'properties': {'status': {'type': 'string', 'const': 'pending'}, 'retryAfterSeconds': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'retryAfterSeconds'], 'properties': {'status': {'type': 'string', 'const': 'rate_limited'}, 'retryAfterSeconds': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status'], 'properties': {'status': {'enum': ['conflict', 'ambiguous', 'not_found'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'bookingConfirmed', 'checkoutUrl', 'termsUrl', 'offer', 'nextAction'], 'properties': {'offer': {'type': 'object', 'required': ['currency', 'grossTotalCents', 'expiresAt', 'customerConfirmationRequired', 'completeTermsBound'], 'properties': {'currency': {'type': 'string', 'const': 'EUR'}, 'expiresAt': {'type': 'string'}, 'grossTotalCents': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'completeTermsBound': {'type': 'boolean', 'const': True}, 'customerConfirmationRequired': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'prepared'}, 'termsUrl': {'type': 'string', 'format': 'uri'}, 'nextAction': {'type': 'string'}, 'checkoutUrl': {'type': 'string', 'format': 'uri'}, 'bookingConfirmed': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
get_service_options
Chauffeur service options
Read this provider's public service, required ride facts and booking link.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'invalid_request'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'unavailable'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'provider', 'timeZone', 'bookingUrl', 'services', 'requiredRideFacts', 'returnRideFacts', 'nextAction'], 'properties': {'status': {'type': 'string', 'const': 'available'}, 'provider': {'type': 'string'}, 'services': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'tripTypes', 'availability'], 'properties': {'key': {'type': 'string'}, 'tripTypes': {'type': 'array', 'items': {'enum': ['one_way', 'return'], 'type': 'string'}}, 'availability': {'type': 'string', 'const': 'requires_offer_review'}}, 'additionalProperties': False}}, 'timeZone': {'type': 'string'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}, 'nextAction': {'type': 'string'}, 'returnRideFacts': {'type': 'array', 'items': {'type': 'string'}}, 'requiredRideFacts': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
prepare_offer
Prepare a binding chauffeur offer
Prepare exactly one unpaid reservation and binding offer for an authorized transfer, return transfer or hourly service. Requires real customer contact data and a client-generated submissionId and resumeToken. Approved distribution partners may add their opaque capability for tenant-bound attribution. The customer must review the complete bound terms and confirm on checkoutUrl; this does not charge or confirm the booking.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['submissionId', 'resumeToken', 'contact', 'ride'], 'properties': {'ride': {'type': 'object', 'required': ['pickup', 'destination', 'date', 'time', 'passengers', 'tripType'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'time': {'type': 'string', 'pattern': '^(?:[01]\\d|2[0-3]):[0-5]\\d$'}, 'hours': {'type': 'integer', 'maximum': 24, 'minimum': 1}, 'pickup': {'type': 'string', 'maxLength': 240, 'minLength': 2}, 'luggage': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'tripType': {'enum': ['one_way', 'return'], 'type': 'string'}, 'passengers': {'type': 'integer', 'maximum': 60, 'minimum': 1}, 'returnDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'returnTime': {'type': 'string', 'pattern': '^(?:[01]\\d|2[0-3]):[0-5]\\d$'}, 'destination': {'type': 'string', 'maxLength': 240, 'minLength': 2}, 'serviceType': {'enum': ['hourly'], 'type': 'string'}, 'flightNumber': {'type': 'string', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, 'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}, 'contact': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254}, 'phone': {'type': 'string', 'pattern': '^\\+[1-9][0-9]{6,14}$'}, 'fullName': {'type': 'string', 'maxLength': 120, 'minLength': 2}}, 'additionalProperties': False}, 'resumeToken': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}, 'submissionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'specialRequests': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'firstTouchTrackingToken': {'type': 'string', 'pattern': '^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'}, 'distributionPartnerCapability': {'type': 'string', 'pattern': '^dp_live_[a-f0-9]{64}$'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'invalid_request'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'unavailable'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'retryAfterSeconds'], 'properties': {'status': {'type': 'string', 'const': 'pending'}, 'retryAfterSeconds': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'retryAfterSeconds'], 'properties': {'status': {'type': 'string', 'const': 'rate_limited'}, 'retryAfterSeconds': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status'], 'properties': {'status': {'enum': ['conflict', 'ambiguous', 'not_found'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'bookingConfirmed', 'checkoutUrl', 'termsUrl', 'offer', 'nextAction'], 'properties': {'offer': {'type': 'object', 'required': ['currency', 'grossTotalCents', 'expiresAt', 'customerConfirmationRequired', 'completeTermsBound'], 'properties': {'currency': {'type': 'string', 'const': 'EUR'}, 'expiresAt': {'type': 'string'}, 'grossTotalCents': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'completeTermsBound': {'type': 'boolean', 'const': True}, 'customerConfirmationRequired': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'prepared'}, 'termsUrl': {'type': 'string', 'format': 'uri'}, 'nextAction': {'type': 'string'}, 'checkoutUrl': {'type': 'string', 'format': 'uri'}, 'bookingConfirmed': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
quote_ride
Chauffeur price preview
Get a current price preview for complete ride facts, using local service time and addresses with city or postcode. No availability guarantee, booking, charge, message or reservation. Do not include customer contact details.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['ride'], 'properties': {'ride': {'type': 'object', 'required': ['pickup', 'destination', 'date', 'time', 'passengers', 'tripType'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'time': {'type': 'string', 'pattern': '^(?:[01]\\d|2[0-3]):[0-5]\\d$'}, 'hours': {'type': 'integer', 'maximum': 24, 'minimum': 1}, 'pickup': {'type': 'string', 'maxLength': 240, 'minLength': 2}, 'luggage': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'tripType': {'enum': ['one_way', 'return'], 'type': 'string'}, 'passengers': {'type': 'integer', 'maximum': 60, 'minimum': 1}, 'returnDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'returnTime': {'type': 'string', 'pattern': '^(?:[01]\\d|2[0-3]):[0-5]\\d$'}, 'destination': {'type': 'string', 'maxLength': 240, 'minLength': 2}, 'serviceType': {'enum': ['hourly'], 'type': 'string'}, 'flightNumber': {'type': 'string', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, 'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}, 'specialRequests': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'invalid_request'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'unavailable'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'bookingUrl', 'retryAfterSeconds'], 'properties': {'status': {'type': 'string', 'const': 'rate_limited'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}, 'retryAfterSeconds': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'bookingUrl', 'message'], 'properties': {'status': {'type': 'string', 'const': 'review_required'}, 'message': {'type': 'string'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'bookingUrl', 'bookingConfirmed', 'quote', 'nextAction'], 'properties': {'quote': {'type': 'object', 'required': ['currency', 'grossTotalCents', 'pricesIncludeVat', 'vatRateBasisPoints', 'parkingIncluded', 'tollsIncluded', 'vehicleCount', 'billableHoursPerServiceLine', 'serviceLines', 'calculatedAt', 'revalidationRequired'], 'properties': {'currency': {'type': 'string'}, 'calculatedAt': {'type': 'string'}, 'serviceLines': {'type': 'array', 'items': {'type': 'object', 'required': ['direction', 'grossAmountCents'], 'properties': {'direction': {'enum': ['outbound', 'return'], 'type': 'string'}, 'grossAmountCents': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'vehicleCount': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'tollsIncluded': {'type': 'boolean'}, 'grossTotalCents': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'parkingIncluded': {'type': 'boolean'}, 'pricesIncludeVat': {'type': 'boolean'}, 'vatRateBasisPoints': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'revalidationRequired': {'type': 'boolean', 'const': True}, 'billableHoursPerServiceLine': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'quoted'}, 'bookingUrl': {'type': 'string', 'format': 'uri'}, 'nextAction': {'type': 'string'}, 'bookingConfirmed': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
Modificado
prepare_offer
29 de September de 2026 a las 02:50
Modificado
quote_ride
29 de September de 2026 a las 02:50
Modificado
prepare_offer
25 de September de 2026 a las 02:49
Modificado
quote_ride
25 de September de 2026 a las 02:49
Añadido
get_offer_status
23 de September de 2026 a las 02:40
Añadido
prepare_offer
23 de September de 2026 a las 02:40
Añadido
quote_ride
23 de September de 2026 a las 02:40
Añadido
get_customer_policy
23 de September de 2026 a las 02:40
Añadido
get_service_options
23 de September de 2026 a las 02:40