Buchungen
Buchungen auflisten
https://open-api.mynextdays.com/v1/reservationsBuchungen des Betriebs, gefiltert.
Sortiert nach Anreise, dann ID — eine stabile Ordnung, damit Blättern keine Zeilen doppelt oder gar nicht liefert.
Zum Sortieren „neueste zuerst" nimm booked_at auf deiner Seite und
behandle null als unbekannt. NICHT received_at dafür verwenden: das ist
unser Eingang, und bei einem Sammel-Import tragen Dutzende Buchungen
dieselbe Sekunde.
Query-Parameter
property_idstringNur Buchungen dieses Objekts.
statusstringStatus-Filter: pending | confirmed | cancelled | completed | requested | declined | expired. Mehrere durch Komma getrennt.
channelstringKanal-Filter.
check_in_fromdateAnreise ab (einschließlich).
check_in_todateAnreise bis (einschließlich).
updated_sincestringNur Buchungen, die seit diesem Zeitpunkt geändert wurden (ISO 8601). Der sparsame Weg für einen laufenden Abgleich.
limitintegeroffsetintegerstarting_afterstringID des letzten Elements der Vorseite — der empfohlene Weg zum Blättern. Stabil, auch wenn sich die Liste zwischen zwei Seiten ändert. Schließt offset aus. Den Wert liefert pagination.next_starting_after der Vorseite.
Die übrigen Filter musst du beim Weiterblättern unverändert mitschicken. Änderst du sie, beschreibt der Cursor eine Stelle in einer anderen Liste, und das Ergebnis ist nicht vorhersagbar. limit darf sich ändern.
Der Cursor läuft nicht ab. Er wird ungültig, wenn der Datensatz gelöscht wird — dann kommt ein 422, und du beginnst den Durchgang ohne starting_after neu.
include_totalbooleanStandard falseAntworten
dataarray of Buchungpflichtbooked_atdate-timeWann der GAST gebucht hat — aus der Quelle des Portals. null, wenn das Portal den Zeitpunkt nicht liefert. Dann ist received_at das Einzige, was wir wissen; verwende NICHT received_at als Buchungszeitpunkt.
cancelled_atdate-timecancelled_by_partystringWer storniert hat: guest | host | ota | system.
channelstringpflichtBuchungskanal: direct (Betrieb selbst, auch über diese API), portal (myBestDays-Marktplatz), website (eigene Seite), booking, airbnb, vrbo, ota_other.
check_indatepflichtcheck_outdatepflichtexternal_refstringBuchungsnummer beim Portal.
guestGastpflichtcountrystringemailstringfirst_namestringidstringlanguagestringlast_namestringnamestringphonestringguestsGuestspflichtAufschlüsselung: adults, children, infants, pets.
idstringpflichtnightsintegerpflichtnotestringota_namestringName des Portals, wenn die Buchung von dort kommt.
paidBetragpflichtEin Betrag mit seiner Währung. Nie eine Zahl ohne Währung.
amountstringpflichtcurrencystringpflichtpayment_statusstringproperty_idstringpflichtrate_plan_idstringreceived_atdate-timepflichtWann die Buchung bei uns eingegangen ist (unsere Uhr).
statusstringpflichttotalBetragpflichtEin Betrag mit seiner Währung. Nie eine Zahl ohne Währung.
amountstringpflichtcurrencystringpflichtunit_idstringBelegte Einheit. null bei Altbestand ohne Zuweisung oder wenn die Einheit gelöscht wurde.
updated_atdate-timepflichtpaginationBlaetterinfopflichtDer pagination-Block, der bei JEDER Liste gleich aussieht.
has_morebooleanpflichtEs gibt eine weitere Seite. Dann steht next_starting_after dabei.
limitintegerpflichtnext_starting_afterstringCursor für die nächste Seite — unverändert als starting_after mitschicken. Fehlt das Feld, ist der Durchgang fertig.
offsetintegerpflichttotalintegerGesamtzahl der Treffer. Nur vorhanden, wenn include_total=true.
detailarray of ValidationErrorctxContextinputInputlocarray of string | integerpflichtmsgstringpflichttypestringpflichtSprache
Nur in diesem Browser, nur für „Ausprobieren“ — der Wert wird nicht gespeichert und nicht an uns geschickt.
curl -X GET 'https://open-api.mynextdays.com/v1/reservations' \
-H 'Authorization: Bearer <access_token>'Ohne Token antwortet der Aufruf mit 401 — das ist der erwartete Weg.
{
"data": [
{
"id": "…",
"property_id": "…",
"status": "pending",
"channel": "…",
"check_in": "2026-09-10",
"check_out": "2026-09-10",
"nights": 1,
"guests": {},
"total": {
"amount": "…",
"currency": "…"
},
"paid": {
"amount": "…",
"currency": "…"
},
"received_at": "2026-09-10T14:00:00Z",
"updated_at": "2026-09-10T14:00:00Z",
"guest": {
"country": "…",
"email": "…",
"first_name": "…",
"id": "…"
}
}
],
"pagination": {
"limit": 1,
"offset": 1,
"has_more": false
}
}