Für Hotel-Concierges
Leistungen und Vorlaufregeln lesen, Transfer ab MUC bepreisen und – mit Gästeauftrag – ein unbezahltes Angebot vorbereiten.
Der Gast prüft die gebundenen Bedingungen und bestätigt im Checkout.
REST API · MCP · v1
Transfer-API für Hotels und Travel Teams: Samuelz-Chauffeurfahrten in München und ab MUC über REST API oder MCP anbieten.
Ohne Login oder API-Key
Keine Sandbox: Preisvorschauen und MCP-Aufrufe treffen die Live-API. REST und MCP teilen sich ein begrenztes Pilotkontingent. Starte mit den lesenden Aufrufen zu Leistungen und Policy; vermeide automatische Wiederholungen.
Demand-/Distributions-API für eigene Samuelz-Fahrten; keine Supplier-API zum Einkauf fremder Fahrten.
Preis und Policy sind ohne Login abrufbar. Für passende Essential-Transfers kann die API ein verbindliches, unbezahltes Angebot vorbereiten; der Kunde prüft die gebundenen Bedingungen und bestätigt erst im Checkout.
Leistungen und Vorlaufregeln lesen, Transfer ab MUC bepreisen und – mit Gästeauftrag – ein unbezahltes Angebot vorbereiten.
Der Gast prüft die gebundenen Bedingungen und bestätigt im Checkout.
Leistungen und Preisvorschau im Reiseablauf anzeigen; nach Auswahl ein tenantgebundenes Angebot mit Checkout-Link übergeben.
Die Vorschau reserviert kein Fahrzeug; Preis und Bedingungen werden vor Bestätigung erneut geprüft.
https://platform-api.samuelz.com/api/v1/mcp/chauffeur/samuelz-chauffeurFür eigene Browseranwendungen verwenden Sie REST. Der MCP-Zugang akzeptiert Browser-Origins nur aus freigegebenen Domains.
Samuelz in der offiziellen MCP Registry ansehen ↗
| Profil | Version | Tools |
|---|---|---|
Full5https://platform-api.samuelz.com/api/v1/mcp/chauffeur/samuelz-chauffeur | 2.2.0 | get_service_options, get_customer_policy, quote_ride, prepare_offer, get_offer_status |
Quote3https://platform-api.samuelz.com/api/v1/mcp/chauffeur/samuelz-chauffeur/quote-only | 1.3.0 | get_service_options, get_customer_policy, quote_ride |
Info2https://platform-api.samuelz.com/api/v1/mcp/chauffeur/samuelz-chauffeur/info-only | 1.1.0 | get_service_options, get_customer_policy |
Info2 liest Informationen. Quote3 ergänzt anonyme Preisvorschauen. Nur Full5 kann ein ausdrücklich angefordertes unbezahltes Angebot vorbereiten.
Generierte Profil-, Feld- und Antwortschemas ↗
| Tool | Funktion |
|---|---|
get_service_options | Leistungen und Pflichtangaben lesen. |
get_customer_policy | Aktuelle Vorbereitungspolicy lesen. |
quote_ride | Unverbindliche Preisvorschau berechnen. |
prepare_offer | Ein verbindliches, unbezahltes Angebot vorbereiten. |
get_offer_status | Angebotsstatus capability-gebunden lesen. |
Sicherer erster Schritt: Leistungen und Vorbereitungspolicy lesen. Diese GET-Aufrufe berechnen keinen Preis und benötigen keine Kundendaten; das gemeinsame Pilotlimit gilt trotzdem.
https://platform-api.samuelz.com/api/v1/public/chauffeur/samuelz-chauffeur | HTTP | Pfad | MCP |
|---|---|---|
| GET | /services | get_service_options |
| GET | /policy | get_customer_policy |
| POST | /quotes | quote_ride |
| POST | /offers/prepare | prepare_offer |
| POST | /offers/status | get_offer_status |
curl --fail-with-body "https://platform-api.samuelz.com/api/v1/public/chauffeur/samuelz-chauffeur/services?locale=de"
curl --fail-with-body "https://platform-api.samuelz.com/api/v1/public/chauffeur/samuelz-chauffeur/policy?locale=de" JavaScript-Beispiel mit synthetischer Strecke und Datum in sieben Tagen. Beim Ausführen wird die echte, begrenzte Preis-API aufgerufen; dies ist keine Sandbox. Auf dieser Seite wird nichts automatisch ausgeführt.
const date = new Date(Date.now() + 7 * 86400000).toISOString().slice(0, 10);
const input = {
"locale": "de",
"ride": {
"pickup": "Munich Airport (MUC)",
"destination": "Marienplatz 1, München",
"date": date,
"time": "10:30",
"passengers": 2,
"tripType": "one_way"
}
};
const response = await fetch("https://platform-api.samuelz.com/api/v1/public/chauffeur/samuelz-chauffeur/quotes", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(input),
signal: AbortSignal.timeout(20000)
});
const result = await response.json();
console.log(response.status, response.headers.get("Retry-After"), result);Datum und Uhrzeit gelten in der servicebezogenen Zeitzone aus /services. Rückfahrten benötigen tripType: "return", returnDate und returnTime nach der Hinfahrt. Geben Sie keine Kundennamen oder Kontaktdaten an.
Prüfen Sie immer status. Bei quoted stehen Geldbeträge als ganze Cent mit Währung in quote. revalidationRequired: true bedeutet: Preis und Angebot vor der Buchung erneut prüfen. Eine Vorschau reserviert kein Fahrzeug.
prepare_offer darf erst nach ausdrücklicher Angebotsanforderung des Kunden ausgeführt werden und verlangt offerRequested: true, eine UUID als submissionId, ein zufälliges 64-stelliges Hex-resumeToken und E-Mail oder E.164-Mobilnummer. Ältere Clients ohne offerRequested werden sicher abgewiesen. Bewahren Sie beide Werte geschützt auf. Freigegebene Pilotpartner können zusätzlich ihre distributionPartnerCapability senden. Wiederholungen mit denselben Werten liefern dasselbe Angebot; Änderungen benötigen eine neue ID und Capability; get_offer_status liest nur diesen Vorgang. prepared reserviert noch keinen Chauffeur und belastet keine Zahlung.
const date = new Date(Date.now() + 7 * 86400000).toISOString().slice(0, 10);
const submissionId = crypto.randomUUID();
const resumeToken = Array.from(crypto.getRandomValues(new Uint8Array(32)),
byte => byte.toString(16).padStart(2, "0")).join("");
const input = { ...{
"locale": "de",
"ride": {
"pickup": "Munich Airport (MUC)",
"destination": "Marienplatz 1, München",
"date": date,
"time": "10:30",
"passengers": 2,
"tripType": "one_way"
}
},
// Only after the customer explicitly requests an offer.
submissionId, resumeToken, offerRequested: true,
contact: { email: "REPLACE ME" } };
const response = await fetch("https://platform-api.samuelz.com/api/v1/public/chauffeur/samuelz-chauffeur/offers/prepare", {
method: "POST", headers: { "Content-Type": "application/json" },
body: JSON.stringify(input)
});
console.log(response.status, await response.json());Ein prepared-Angebot bindet Preis, Ablauf, Route sowie die geltenden Storno-, Warte-, Leistungs- und Rechtsbedingungen. checkoutUrl und termsUrl führen zum selben revisionsgebundenen Kundenentscheid. Erst die ausdrückliche Zustimmung dort kann die Buchung bestätigen; die API nimmt keine Zahlung an.
Die Resume-Capability gilt 24 Stunden; die Angebotsgültigkeit steht separat in offer.expiresAt. not_found kann eine fehlende, falsche oder abgelaufene Capability bedeuten und beweist nicht, dass kein Angebot erstellt wurde. Bei pending retryAfterSeconds beachten und denselben Status lesen. Bei ambiguous/conflict kein neues Angebot automatisch anlegen. unavailable ist keine Zahlungsauskunft; bezahlte, stornierte oder gelöschte Angebote können so antworten.
Für Hotels, Travel Booker und Plattformen: Beschreiben Sie kurz Ihren Ablauf, den geplanten REST- oder MCP-Zugang und Ihr erwartetes Anfragevolumen. Kapazität und Ablauf stimmen wir im Pilotgespräch ab; den tenantgebundenen Zugangscode gibt es auf Anfrage.
Der Pilot hat ein begrenztes, kanalübergreifendes Abrufkontingent. Für einen größeren Einsatz stimmen wir Kapazität und Ablauf gemeinsam ab.
REST und MCP teilen sich Limits je Anbieter und Client. Kanalwechsel erhöht das Kontingent nicht. Keine automatischen Wiederholungsschleifen; nach einem Timeout kann der Abruf bereits gezählt sein.
| HTTP | Nächster Schritt |
|---|---|
200 | status prüfen: available, quoted, review_required oder prepared. |
202 | Vorgang läuft; nach retryAfterSeconds den Status lesen. |
400 | Eingabe korrigieren; unbekannte Felder oder ungültige Werte werden abgewiesen. |
404 / 405 | Veröffentlichte URL und erlaubte HTTP-Methode prüfen. |
413 / 415 | JSON-Body verkleinern bzw. Content-Type: application/json senden. |
429 | Gemeinsames Kontingent erreicht. Retry-After bzw. retryAfterSeconds beachten. |
409 | Idempotenzkonflikt oder mehrdeutiger Zustand; nicht blind neu anlegen. |
503 | Derzeit nicht verfügbar. Buchungsweg nutzen oder später erneut prüfen. |
Ein prepared-Angebot bindet Preis, Ablauf, Route sowie die geltenden Storno-, Warte-, Leistungs- und Rechtsbedingungen. checkoutUrl und termsUrl führen zum selben revisionsgebundenen Kundenentscheid. Erst die ausdrückliche Zustimmung dort kann die Buchung bestätigen; die API nimmt keine Zahlung an.
Ihr System liest die aktuellen Informationen und ermittelt eine Preisvorschau. Über den zurückgegebenen Buchungslink prüft der Kunde das aktuelle Angebot, die geltenden Bedingungen und die Zahlung.
Eine Fahrt buchen →Öffentlich festgelegt sind weder Provisionssatz noch Abrechnungsfrist oder SLA. Pro Partner sind Vergütung und Abrechnung, Storno/Erstattung, Rollen und Datenverarbeitung, Zugangskontingent sowie Support vor dem Pilotstart zu klären. Die Fahrtbedingungen bestätigt der Kunde im Samuelz-Checkout.
Öffentliche REST API v1 (OpenAPI-Informationsversion 1.0.0). MCP-Verträge: Full5 2.2.0 (5 Tools), Quote3 1.3.0 (3 Tools), Info2 1.1.0 (2 Tools). OpenAPI-Vertrag und MCP-Tool-Schemas bestimmen die generierte Referenz. Preise und Regeln kommen aus der aktuellen Anbieterpolicy.
Für dieses Pilotangebot sind weder ein öffentlicher Verfügbarkeitsstatus noch eine Uptime-Zusage veröffentlicht. Technische Fragen an support@samuelz.com; bitte keine Fahrgastdaten, Zugangscodes oder Tokens mitsenden.
Technische Frage stellen →Sie planen eine größere Integration?
Integration besprechen