Server definition
- Hash
- sha256:c1bc0074aa356c0cf1af614c21cdd470c9180b24910d753c4612d7e00f914772
- What it is
- What a remote MCP server returned when asked what it offers: 5 tools
The blob, as servednamed by its sha256
{
"instructions": "Help customers prepare a chauffeur transfer. Language defaults to English; pass locale=de for German where supported. get_offer_status preserves the original language and accepts no locale. Ask for complete ride facts. All times use the service time zone. Quotes are price previews, not vehicle availability or bookings. Read published customer terms with get_customer_policy. Call prepare_offer only after an explicit customer request with offerRequested=true and one email or E.164 phone. It can create one unpaid reservation and binding offer for an eligible ride. The customer must review the complete bound terms and explicitly confirm on checkoutUrl. Use get_offer_status for the original submission only, including recorded booking/payment/fulfillment after payment. Open customerPortalUrl for existing Samuelz ID login and private own-booking view. Never imply that these tools created payment, dispatch or a message.",
"tools": [
{
"description": "Use after get_service_options and before prepare_offer to retrieve current account, guest-booking and minimum-lead-time rules. Returns observedAt and revalidationRequired: refresh the rules before preparing an offer; no terms-validity window is promised. Review bound waiting and cancellation terms on the current offer before confirmation. On unavailable, report that the rules could not be read; do not invent them. For a price use quote_ride.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"locale": {
"default": "en",
"description": "Use the customer's requested language for text and booking links: en by default, de for German. Preserve it on retries; pickup times stay in the provider time zone.",
"enum": [
"de",
"en"
],
"type": "string"
},
"offerKey": {
"description": "Optional existing published provider offer key. Selects its configured service location; not booking authority.",
"pattern": "^[a-z0-9][a-z0-9_-]{0,79}$",
"type": "string"
}
},
"type": "object"
},
"name": "get_customer_policy",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"status": {
"const": "invalid_request",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"status": {
"const": "unavailable",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingConfirmed": {
"const": false,
"type": "boolean"
},
"bookingUrl": {
"format": "uri",
"type": "string"
},
"observedAt": {
"type": "string"
},
"revalidationRequired": {
"const": true,
"type": "boolean"
},
"scope": {
"const": "booking_preparation",
"type": "string"
},
"status": {
"const": "available",
"type": "string"
},
"terms": {
"additionalProperties": false,
"properties": {
"accountRequired": {
"type": "boolean"
},
"bookerForGuestAllowed": {
"type": "boolean"
},
"bookingConfirmation": {
"const": "after_confirmed_full_payment",
"type": "string"
},
"minimumLeadTimeMinutes": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"serviceSpecificTerms": {
"const": "review_the_current_offer_before_confirmation",
"type": "string"
}
},
"required": [
"minimumLeadTimeMinutes",
"accountRequired",
"bookerForGuestAllowed",
"bookingConfirmation",
"serviceSpecificTerms"
],
"type": "object"
},
"timeZone": {
"type": "string"
}
},
"required": [
"status",
"bookingUrl",
"timeZone",
"observedAt",
"scope",
"revalidationRequired",
"terms",
"bookingConfirmed"
],
"type": "object"
}
],
"type": "object"
}
},
{
"description": "Use to read one existing request with its original submissionId/resumeToken pair within the original 24-hour window. Returns offer state or recorded booking/payment/fulfillment after payment; no pricing call or new business action. For pending, wait retryAfterSeconds and retry that pair. For ambiguous/conflict inspect that intent; not_found denies access and unavailable is not vehicle evidence. Open customerPortalUrl for private login. No locale (original language), history, cancellation or modification.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"resumeToken": {
"description": "Private 64-character hexadecimal secret generated for this submission. Reuse its original pair with submissionId for retries and status; never substitute account credentials.",
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"submissionId": {
"description": "Identifies one offer intent. Generate a UUID for a requested new offer; keep it with the same resumeToken for unchanged retries and status.",
"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)$",
"type": "string"
}
},
"required": [
"submissionId",
"resumeToken"
],
"type": "object"
},
"name": "get_offer_status",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"status": {
"const": "invalid_request",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"status": {
"const": "unavailable",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"retryAfterSeconds": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"status": {
"const": "pending",
"type": "string"
}
},
"required": [
"status",
"retryAfterSeconds"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"retryAfterSeconds": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"status": {
"const": "rate_limited",
"type": "string"
}
},
"required": [
"status",
"retryAfterSeconds"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"status": {
"enum": [
"conflict",
"ambiguous",
"not_found"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"booking": {
"additionalProperties": false,
"properties": {
"recordedStatus": {
"maxLength": 64,
"minLength": 1,
"type": "string"
}
},
"required": [
"recordedStatus"
],
"type": "object"
},
"bookingKey": {
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"bookingReference": {
"minLength": 1,
"type": "string"
},
"customerPortalUrl": {
"format": "uri",
"type": "string"
},
"fulfillment": {
"additionalProperties": false,
"properties": {
"chauffeurAssignmentRecorded": {
"type": "boolean"
},
"completionRecorded": {
"type": "boolean"
},
"vehicleAssignmentRecorded": {
"type": "boolean"
}
},
"required": [
"chauffeurAssignmentRecorded",
"vehicleAssignmentRecorded",
"completionRecorded"
],
"type": "object"
},
"payment": {
"additionalProperties": false,
"properties": {
"recordedStatus": {
"maxLength": 64,
"minLength": 1,
"type": "string"
}
},
"required": [
"recordedStatus"
],
"type": "object"
},
"status": {
"const": "available",
"type": "string"
}
},
"required": [
"status",
"bookingKey",
"bookingReference",
"booking",
"payment",
"fulfillment",
"customerPortalUrl"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"message": {
"type": "string"
},
"review": {
"additionalProperties": false,
"properties": {
"availabilityConfirmed": {
"const": false,
"type": "boolean"
},
"code": {
"enum": [
"additional_requirements_review",
"model_guarantee_review",
"address_review",
"service_scope_review",
"booking_window_review",
"route_review"
],
"type": "string"
},
"customerContactRequired": {
"const": false,
"type": "boolean"
},
"nextAction": {
"const": "review_requirements",
"type": "string"
}
},
"required": [
"code",
"customerContactRequired",
"availabilityConfirmed",
"nextAction"
],
"type": "object"
},
"status": {
"const": "review_required",
"type": "string"
}
},
"required": [
"status",
"bookingUrl",
"message",
"review"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"status": {
"const": "expired",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingConfirmed": {
"const": false,
"type": "boolean"
},
"checkoutUrl": {
"format": "uri",
"type": "string"
},
"customerPortalUrl": {
"format": "uri",
"type": "string"
},
"nextAction": {
"type": "string"
},
"offer": {
"additionalProperties": false,
"properties": {
"completeTermsBound": {
"const": true,
"type": "boolean"
},
"currency": {
"const": "EUR",
"type": "string"
},
"customerConfirmationRequired": {
"const": true,
"type": "boolean"
},
"expiresAt": {
"type": "string"
},
"grossTotalCents": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"currency",
"grossTotalCents",
"expiresAt",
"customerConfirmationRequired",
"completeTermsBound"
],
"type": "object"
},
"status": {
"const": "prepared",
"type": "string"
},
"termsUrl": {
"format": "uri",
"type": "string"
}
},
"required": [
"status",
"bookingConfirmed",
"checkoutUrl",
"termsUrl",
"offer",
"nextAction"
],
"type": "object"
}
],
"type": "object"
}
},
{
"description": "Use first to learn this provider's service scope, required ride facts and local timeZone. Read current published facts; do not assume additional locations. Language defaults to English; pass locale=de for German, without changing timeZone. It gives no price or availability confirmation. Use get_customer_policy for booking rules, quote_ride for a price, or prepare_offer only after an explicit offer request.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"locale": {
"default": "en",
"description": "Use the customer's requested language for text and booking links: en by default, de for German. Preserve it on retries; pickup times stay in the provider time zone.",
"enum": [
"de",
"en"
],
"type": "string"
},
"offerKey": {
"description": "Optional existing published provider offer key. Selects its configured service location; not booking authority.",
"pattern": "^[a-z0-9][a-z0-9_-]{0,79}$",
"type": "string"
}
},
"type": "object"
},
"name": "get_service_options",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"status": {
"const": "invalid_request",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"status": {
"const": "unavailable",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"hourlyRideFacts": {
"items": {
"type": "string"
},
"type": "array"
},
"location": {
"additionalProperties": false,
"properties": {
"countryCode": {
"type": "string"
},
"key": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"key",
"countryCode",
"label"
],
"type": "object"
},
"nextAction": {
"type": "string"
},
"provider": {
"type": "string"
},
"requiredRideFacts": {
"items": {
"type": "string"
},
"type": "array"
},
"returnRideFacts": {
"items": {
"type": "string"
},
"type": "array"
},
"services": {
"items": {
"additionalProperties": false,
"properties": {
"availability": {
"const": "requires_offer_review",
"type": "string"
},
"key": {
"type": "string"
},
"tripTypes": {
"items": {
"enum": [
"one_way",
"return"
],
"type": "string"
},
"type": "array"
}
},
"required": [
"key",
"tripTypes",
"availability"
],
"type": "object"
},
"type": "array"
},
"status": {
"const": "available",
"type": "string"
},
"timeZone": {
"type": "string"
}
},
"required": [
"status",
"provider",
"timeZone",
"bookingUrl",
"services",
"requiredRideFacts",
"returnRideFacts",
"hourlyRideFacts",
"nextAction"
],
"type": "object"
}
],
"type": "object"
}
},
{
"description": "Use only for an explicit offer request with offerRequested=true, complete ride facts and email OR E.164 phone. Creates one unpaid draft and an offer link; the customer reviews bound terms and confirms via checkoutUrl. No charge or booking confirmation. Use quote_ride for price-only questions. Keep submissionId, resumeToken and inputs unchanged on retries; inspect get_offer_status on ambiguous/conflict. On rate_limited wait retryAfterSeconds. Changed facts need an explicitly requested new intent; expired or revised offers require current review.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"contact": {
"additionalProperties": false,
"description": "Customer/booker contact for this explicitly requested offer: email OR E.164 phone is required. Contact does not authorize private booking/history access.",
"properties": {
"email": {
"description": "Reachable customer/booker email, at most 254 characters; required if no phone is supplied.",
"format": "email",
"maxLength": 254,
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"fullName": {
"description": "Optional customer/booker full name, 2–120 characters.",
"maxLength": 120,
"minLength": 2,
"type": "string"
},
"phone": {
"description": "Reachable international E.164 phone, + followed by 7–15 digits, no spaces; required if no email is supplied.",
"pattern": "^\\+[1-9][0-9]{6,14}$",
"type": "string"
}
},
"type": "object"
},
"distributionPartnerCapability": {
"description": "Optional existing opaque dp_live_ capability issued to an approved distribution partner. Omit for normal customers; do not create or guess one.",
"pattern": "^dp_live_[a-f0-9]{64}$",
"type": "string"
},
"firstTouchTrackingToken": {
"description": "Optional existing server-issued first-touch UUID token for this tenant and consented attribution. Omit if none; never invent a token or source.",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
"type": "string"
},
"locale": {
"default": "en",
"description": "Use the customer's requested language for text and booking links: en by default, de for German. Preserve it on retries; pickup times stay in the provider time zone.",
"enum": [
"de",
"en"
],
"type": "string"
},
"offerKey": {
"description": "Optional existing published provider offer key. Selects its configured service location; not booking authority.",
"pattern": "^[a-z0-9][a-z0-9_-]{0,79}$",
"type": "string"
},
"offerRequested": {
"const": true,
"description": "Must be true only after the customer explicitly requests an offer; a price question alone is insufficient consent.",
"type": "boolean"
},
"resumeToken": {
"description": "Private 64-character hexadecimal secret generated for this submission. Reuse its original pair with submissionId for retries and status; never substitute account credentials.",
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"ride": {
"additionalProperties": false,
"description": "Ride facts with distinct pickup/destination and valid local dates/times. Return requires returnDate/returnTime after pickup; one_way omits both. Hourly requires one_way and hours; transfers omit hours.",
"properties": {
"date": {
"description": "Service date as YYYY-MM-DD in the provider timeZone returned by get_service_options; resolve relative dates first.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"destination": {
"description": "Destination distinct from pickup, with city/municipality or postcode; e.g. München Hauptbahnhof, 80335 München. For hourly service describe the planned route or As directed.",
"maxLength": 240,
"minLength": 2,
"type": "string"
},
"flightNumber": {
"description": "Flight number for an airport pickup, such as LH123; omit when not applicable.",
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"hours": {
"description": "Booked duration for hourly service; omit for transfers.",
"maximum": 24,
"minimum": 1,
"type": "integer"
},
"luggage": {
"description": "Luggage count/type or fit requirements; unusual luggage may require review.",
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"passengers": {
"description": "Total people travelling; determines vehicle requirements, not availability or acceptance.",
"maximum": 60,
"minimum": 1,
"type": "integer"
},
"pickup": {
"description": "Pickup address or named place with city/municipality or postcode; e.g. Flughafen München (MUC), 85356 München-Flughafen.",
"maxLength": 240,
"minLength": 2,
"type": "string"
},
"returnDate": {
"description": "Return pickup date in the same local format as date, in the provider timeZone; provide only for return trips, after the outbound pickup.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"returnTime": {
"description": "Return pickup time in the same local format as time and the same provider timeZone; provide only for return trips.",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$",
"type": "string"
},
"serviceType": {
"description": "Set hourly for service booked by duration; omit for transfers.",
"enum": [
"hourly"
],
"type": "string"
},
"time": {
"description": "Local pickup time in 24-hour HH:mm format, in the provider timeZone (Samuelz: Europe/Berlin); not UTC or an offset timestamp.",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$",
"type": "string"
},
"tripType": {
"description": "one_way for a single transfer or hourly service; return for outbound plus a separate later return transfer.",
"enum": [
"one_way",
"return"
],
"type": "string"
},
"vehiclePreference": {
"description": "Volunteered vehicle preference only; no class, price or availability guarantee. Additional requirements may require review.",
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"pickup",
"destination",
"date",
"time",
"passengers",
"tripType"
],
"type": "object"
},
"specialRequests": {
"description": "Optional ride requirements, at most 500 characters. Additional stops or unusual requirements may require review; do not include contact details in a quote.",
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"submissionId": {
"description": "Identifies one offer intent. Generate a UUID for a requested new offer; keep it with the same resumeToken for unchanged retries and status.",
"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)$",
"type": "string"
}
},
"required": [
"submissionId",
"resumeToken",
"offerRequested",
"contact",
"ride"
],
"type": "object"
},
"name": "prepare_offer",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"status": {
"const": "invalid_request",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"status": {
"const": "unavailable",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"retryAfterSeconds": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"status": {
"const": "pending",
"type": "string"
}
},
"required": [
"status",
"retryAfterSeconds"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"retryAfterSeconds": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"status": {
"const": "rate_limited",
"type": "string"
}
},
"required": [
"status",
"retryAfterSeconds"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"status": {
"enum": [
"conflict",
"ambiguous",
"not_found"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"booking": {
"additionalProperties": false,
"properties": {
"recordedStatus": {
"maxLength": 64,
"minLength": 1,
"type": "string"
}
},
"required": [
"recordedStatus"
],
"type": "object"
},
"bookingKey": {
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"bookingReference": {
"minLength": 1,
"type": "string"
},
"customerPortalUrl": {
"format": "uri",
"type": "string"
},
"fulfillment": {
"additionalProperties": false,
"properties": {
"chauffeurAssignmentRecorded": {
"type": "boolean"
},
"completionRecorded": {
"type": "boolean"
},
"vehicleAssignmentRecorded": {
"type": "boolean"
}
},
"required": [
"chauffeurAssignmentRecorded",
"vehicleAssignmentRecorded",
"completionRecorded"
],
"type": "object"
},
"payment": {
"additionalProperties": false,
"properties": {
"recordedStatus": {
"maxLength": 64,
"minLength": 1,
"type": "string"
}
},
"required": [
"recordedStatus"
],
"type": "object"
},
"status": {
"const": "available",
"type": "string"
}
},
"required": [
"status",
"bookingKey",
"bookingReference",
"booking",
"payment",
"fulfillment",
"customerPortalUrl"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"message": {
"type": "string"
},
"review": {
"additionalProperties": false,
"properties": {
"availabilityConfirmed": {
"const": false,
"type": "boolean"
},
"code": {
"enum": [
"additional_requirements_review",
"model_guarantee_review",
"address_review",
"service_scope_review",
"booking_window_review",
"route_review"
],
"type": "string"
},
"customerContactRequired": {
"const": false,
"type": "boolean"
},
"nextAction": {
"const": "review_requirements",
"type": "string"
}
},
"required": [
"code",
"customerContactRequired",
"availabilityConfirmed",
"nextAction"
],
"type": "object"
},
"status": {
"const": "review_required",
"type": "string"
}
},
"required": [
"status",
"bookingUrl",
"message",
"review"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"status": {
"const": "expired",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingConfirmed": {
"const": false,
"type": "boolean"
},
"checkoutUrl": {
"format": "uri",
"type": "string"
},
"customerPortalUrl": {
"format": "uri",
"type": "string"
},
"nextAction": {
"type": "string"
},
"offer": {
"additionalProperties": false,
"properties": {
"completeTermsBound": {
"const": true,
"type": "boolean"
},
"currency": {
"const": "EUR",
"type": "string"
},
"customerConfirmationRequired": {
"const": true,
"type": "boolean"
},
"expiresAt": {
"type": "string"
},
"grossTotalCents": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"currency",
"grossTotalCents",
"expiresAt",
"customerConfirmationRequired",
"completeTermsBound"
],
"type": "object"
},
"status": {
"const": "prepared",
"type": "string"
},
"termsUrl": {
"format": "uri",
"type": "string"
}
},
"required": [
"status",
"bookingConfirmed",
"checkoutUrl",
"termsUrl",
"offer",
"nextAction"
],
"type": "object"
}
],
"type": "object"
}
},
{
"description": "Use after get_service_options to calculate an anonymous price preview for complete ride facts in the provider timeZone. No contact is needed. Resolve missing return or hourly facts before quoting. The calculatedAt preview requires revalidation; no price-validity window is guaranteed. For rate_limited wait retryAfterSeconds. For review_required follow the returned guidance; it does not prove vehicle unavailability. No offer, reservation, charge or message is created. Call prepare_offer only for an explicit offer request.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"locale": {
"default": "en",
"description": "Use the customer's requested language for text and booking links: en by default, de for German. Preserve it on retries; pickup times stay in the provider time zone.",
"enum": [
"de",
"en"
],
"type": "string"
},
"offerKey": {
"description": "Optional existing published provider offer key. Selects its configured service location; not booking authority.",
"pattern": "^[a-z0-9][a-z0-9_-]{0,79}$",
"type": "string"
},
"ride": {
"additionalProperties": false,
"description": "Ride facts with distinct pickup/destination and valid local dates/times. Return requires returnDate/returnTime after pickup; one_way omits both. Hourly requires one_way and hours; transfers omit hours.",
"properties": {
"date": {
"description": "Service date as YYYY-MM-DD in the provider timeZone returned by get_service_options; resolve relative dates first.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"destination": {
"description": "Destination distinct from pickup, with city/municipality or postcode; e.g. München Hauptbahnhof, 80335 München. For hourly service describe the planned route or As directed.",
"maxLength": 240,
"minLength": 2,
"type": "string"
},
"flightNumber": {
"description": "Flight number for an airport pickup, such as LH123; omit when not applicable.",
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"hours": {
"description": "Booked duration for hourly service; omit for transfers.",
"maximum": 24,
"minimum": 1,
"type": "integer"
},
"luggage": {
"description": "Luggage count/type or fit requirements; unusual luggage may require review.",
"maxLength": 240,
"minLength": 1,
"type": "string"
},
"passengers": {
"description": "Total people travelling; determines vehicle requirements, not availability or acceptance.",
"maximum": 60,
"minimum": 1,
"type": "integer"
},
"pickup": {
"description": "Pickup address or named place with city/municipality or postcode; e.g. Flughafen München (MUC), 85356 München-Flughafen.",
"maxLength": 240,
"minLength": 2,
"type": "string"
},
"returnDate": {
"description": "Return pickup date in the same local format as date, in the provider timeZone; provide only for return trips, after the outbound pickup.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"returnTime": {
"description": "Return pickup time in the same local format as time and the same provider timeZone; provide only for return trips.",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$",
"type": "string"
},
"serviceType": {
"description": "Set hourly for service booked by duration; omit for transfers.",
"enum": [
"hourly"
],
"type": "string"
},
"time": {
"description": "Local pickup time in 24-hour HH:mm format, in the provider timeZone (Samuelz: Europe/Berlin); not UTC or an offset timestamp.",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$",
"type": "string"
},
"tripType": {
"description": "one_way for a single transfer or hourly service; return for outbound plus a separate later return transfer.",
"enum": [
"one_way",
"return"
],
"type": "string"
},
"vehiclePreference": {
"description": "Volunteered vehicle preference only; no class, price or availability guarantee. Additional requirements may require review.",
"maxLength": 240,
"minLength": 1,
"type": "string"
}
},
"required": [
"pickup",
"destination",
"date",
"time",
"passengers",
"tripType"
],
"type": "object"
},
"specialRequests": {
"description": "Optional ride requirements, at most 500 characters. Additional stops or unusual requirements may require review; do not include contact details in a quote.",
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"ride"
],
"type": "object"
},
"name": "quote_ride",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"additionalProperties": false,
"properties": {
"status": {
"const": "invalid_request",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"status": {
"const": "unavailable",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"retryAfterSeconds": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"status": {
"const": "rate_limited",
"type": "string"
}
},
"required": [
"status",
"bookingUrl",
"retryAfterSeconds"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingUrl": {
"format": "uri",
"type": "string"
},
"message": {
"type": "string"
},
"review": {
"additionalProperties": false,
"properties": {
"availabilityConfirmed": {
"const": false,
"type": "boolean"
},
"code": {
"enum": [
"additional_requirements_review",
"model_guarantee_review",
"address_review",
"service_scope_review",
"booking_window_review",
"route_review"
],
"type": "string"
},
"customerContactRequired": {
"const": false,
"type": "boolean"
},
"nextAction": {
"const": "review_requirements",
"type": "string"
}
},
"required": [
"code",
"customerContactRequired",
"availabilityConfirmed",
"nextAction"
],
"type": "object"
},
"status": {
"const": "review_required",
"type": "string"
}
},
"required": [
"status",
"bookingUrl",
"message"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bookingConfirmed": {
"const": false,
"type": "boolean"
},
"bookingUrl": {
"format": "uri",
"type": "string"
},
"nextAction": {
"type": "string"
},
"quote": {
"additionalProperties": false,
"properties": {
"billableHoursPerServiceLine": {
"exclusiveMinimum": 0,
"type": "number"
},
"calculatedAt": {
"type": "string"
},
"currency": {
"type": "string"
},
"grossTotalCents": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"parkingIncluded": {
"type": "boolean"
},
"pricesIncludeVat": {
"type": "boolean"
},
"revalidationRequired": {
"const": true,
"type": "boolean"
},
"serviceLines": {
"items": {
"additionalProperties": false,
"properties": {
"direction": {
"enum": [
"outbound",
"return"
],
"type": "string"
},
"grossAmountCents": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"direction",
"grossAmountCents"
],
"type": "object"
},
"type": "array"
},
"tollsIncluded": {
"type": "boolean"
},
"vatRateBasisPoints": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"vehicleCount": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"currency",
"grossTotalCents",
"pricesIncludeVat",
"vatRateBasisPoints",
"parkingIncluded",
"tollsIncluded",
"vehicleCount",
"billableHoursPerServiceLine",
"serviceLines",
"calculatedAt",
"revalidationRequired"
],
"type": "object"
},
"status": {
"const": "quoted",
"type": "string"
}
},
"required": [
"status",
"bookingUrl",
"bookingConfirmed",
"quote",
"nextAction"
],
"type": "object"
}
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c1bc0074aa356c0cf1af614c21cdd470c9180b24910d753c4612d7e00f914772 | sha256sum