MCP 서버

Samuelz Chauffeur Booking

io.github.samuelzcom/chauffeur-booking
여행 및 호스피탈리티 공개 · 연결 가능 MCP 2025-11-25

이 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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}}, 'additionalProperties': False}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}}, 'additionalProperties': False}
출력 스키마
{'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.
외부 접근 가능 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 외부 접근 가능
입력 스키마
{'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}
출력 스키마
{'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'}
변경됨
prepare_offer
2026년 9월 29일 2:50 AM
변경됨
quote_ride
2026년 9월 29일 2:50 AM
변경됨
prepare_offer
2026년 9월 25일 2:49 AM
변경됨
quote_ride
2026년 9월 25일 2:49 AM
추가됨
get_offer_status
2026년 9월 23일 2:40 AM
추가됨
prepare_offer
2026년 9월 23일 2:40 AM
추가됨
quote_ride
2026년 9월 23일 2:40 AM
추가됨
get_customer_policy
2026년 9월 23일 2:40 AM
추가됨
get_service_options
2026년 9월 23일 2:40 AM