Skip to content
Anmelden
Veridien Docs

Unterkunft und Katalog

Die Katalog-Endpunkte sind schreibgeschützt und beschreiben, was Sie verkaufen können: die Unterkunft selbst, ihre Zimmertypen, die Verfügbarkeit in Echtzeit und die Ratenpläne, die ein Gast buchen darf.


GET /property

Liefert die Metadaten der Unterkunft, an die der Schlüssel gebunden ist. Jeder authentifizierte Schlüssel darf den Endpunkt aufrufen.

curl "$VRDN_BASE/property" -H "Authorization: Bearer $VRDN_KEY"
{
  "id": "p_8f2a1c",
  "slug": "sunrise-bay",
  "name": "Sunrise Bay Resort",
  "currency": "USD",
  "timezone": "Pacific/Fiji",
  "child_max_age": 12,
  "infant_max_age": 2
}
FeldTypHinweise
idstringKennung der Unterkunft.
slugstringURL-Slug.
namestringAnzeigename.
currencystringDie Basiswährung der Unterkunft (ISO 4217).
timezonestringIANA-Zeitzone, bestimmt, was in Ratenfenstern als „heute“ gilt.
child_max_ageintegerGäste bis einschließlich dieses Alters werden als Kinder bepreist.
infant_max_ageintegerGäste bis einschließlich dieses Alters werden als Kleinkinder bepreist.

GET /room-types

Scope: availability:read

Jeder Zimmertyp mit seinen Vermarktungsdaten: Beschreibung, Belegung, Ausstattung, Bettkonfigurationen und Fotos (Hauptfoto zuerst).

curl "$VRDN_BASE/room-types" -H "Authorization: Bearer $VRDN_KEY"
{
  "data": [
    {
      "id": "9b2f6c3e-8d1a-4f5b-a7c9-4e0d2b8f1a63",
      "name": "Deluxe Ocean Villa",
      "description": "A private villa over the lagoon.",
      "max_occupancy": 3,
      "currency": "USD",
      "amenities": ["Ocean view", "Private deck"],
      "bed_configs": [{ "id": "bc_king", "label": "1 King" }],
      "photos": ["https://cdn.veridien.app/p_8f2a1c/deluxe-1.jpg"]
    }
  ]
}

GET /availability

Scope: availability:read

Die kleinste Zahl verfügbarer Zimmer über alle Nächte des Zeitraums, je Zimmertyp. Zurückgegeben werden nur Zimmertypen, deren max_occupancy zur Personenzahl passt.

Query-ParameterErforderlichHinweise
check_injaYYYY-MM-DD.
check_outjaYYYY-MM-DD, nach check_in. Aufenthalte sind auf 30 Nächte begrenzt.
adultsjaGanzzahl ≥ 1.
childrenneinGanzzahl ≥ 0, Standard 0.
child_agesneinKommagetrennte Kinderalter (z. B. 5,7).
curl "$VRDN_BASE/availability?check_in=2026-08-01&check_out=2026-08-04&adults=2" \
  -H "Authorization: Bearer $VRDN_KEY"
{
  "check_in": "2026-08-01",
  "check_out": "2026-08-04",
  "data": [
    {
      "room_type_id": "9b2f6c3e-8d1a-4f5b-a7c9-4e0d2b8f1a63",
      "name": "Deluxe Ocean Villa",
      "description": "A private villa over the lagoon.",
      "max_occupancy": 3,
      "available": 4,
      "currency": "USD",
      "amenities": ["Ocean view", "Private deck"],
      "bed_configs": [{ "id": "bc_king", "label": "1 King" }],
      "photos": ["https://cdn.veridien.app/p_8f2a1c/deluxe-1.jpg"]
    }
  ]
}

available ist die Anzahl, die Sie noch buchen können. 0 bedeutet, dass mindestens eine Nacht im Zeitraum ausgebucht ist.


GET /rates

Scope: availability:read

Jeder Zimmertyp mit seinen sichtbaren Ratenplänen und einer Preisaufschlüsselung pro Nacht für den Zeitraum. Das ist der Endpunkt, den eine Buchungsmaschine darstellt.

Query-ParameterErforderlichHinweise
check_injaYYYY-MM-DD.
check_outjaYYYY-MM-DD, nach check_in.
adultsjaGanzzahl ≥ 1.
childrenneinGanzzahl ≥ 0, Standard 0.
child_agesneinKommagetrennte Kinderalter (z. B. 5,7). Wenn vorhanden, ist das die maßgebliche Kinderzahl und steuert die Bepreisung nach Altersklassen.
guest_idneinSchaltet gastspezifische Raten frei (Einheimischen-Verifizierung, Treuestufe).
promo_codeneinSchaltet Raten frei, die hinter einem Promo-Code liegen.

Die Sichtbarkeit wird serverseitig durchgesetzt

Ratenpläne können Regeln tragen: nur für Einheimische, Promo-Code erforderlich, Mindestaufenthalt, Vorausbuchungsfenster oder eine Treuestufe. Die API wertet diese gegen den Kontext der Anfrage aus und liefert nur die Pläne, für die der Gast berechtigt ist. Dieselben Regeln werden beim Anlegen eines Holds erneut geprüft, ein nie angezeigter Plan lässt sich also auch nicht über seine ID buchen.

curl "$VRDN_BASE/rates?check_in=2026-08-01&check_out=2026-08-04&adults=2&promo_code=SUMMER" \
  -H "Authorization: Bearer $VRDN_KEY"
{
  "check_in": "2026-08-01",
  "check_out": "2026-08-04",
  "data": [
    {
      "room_type_id": "9b2f6c3e-8d1a-4f5b-a7c9-4e0d2b8f1a63",
      "name": "Deluxe Ocean Villa",
      "description": "A private villa over the lagoon.",
      "max_occupancy": 3,
      "base_occupancy": 2,
      "amenities": ["Ocean view", "Private deck"],
      "bed_configs": [{ "id": "bc_king", "label": "1 King" }],
      "photos": ["https://cdn.veridien.app/p_8f2a1c/deluxe-1.jpg"],
      "rate_plans": [
        {
          "rate_plan_id": "5c1e8f4a-2b7d-4a9c-8e6f-1d3b9a5c7e02",
          "name": "Flexible",
          "currency": "USD",
          "total": "1260.00",
          "room_subtotal": "1260.00",
          "base_occupancy": 2,
          "extra_guest_charge": "0.00",
          "single_occupancy_discount": "0.00",
          "extra_guest_total": "0.00",
          "taxes_total": "0.00",
          "tax_breakdown": [
            { "title": "GST", "amount": "135.00", "is_inclusive": true, "rate": "12", "kind": "percent" }
          ],
          "nightly_rates": [
            { "date": "2026-08-01", "day_of_week": 6, "rate": "420.00", "source": "base_price" },
            { "date": "2026-08-02", "day_of_week": 0, "rate": "420.00", "source": "base_price" },
            { "date": "2026-08-03", "day_of_week": 1, "rate": "420.00", "source": "base_price" }
          ]
        }
      ]
    }
  ]
}

Jede Nachtrate nennt ihre source: interval, wenn ein Saisonintervall den Preis für diesen Tag gesetzt hat, oder base_price, wenn der Basispreis des Plans gegriffen hat.

Der Zimmertyp trägt base_occupancy (die Zahl der Gäste, die enthalten sind, bevor der Aufpreis für Zusatzgäste greift) und seine bed_configs. Jeder Ratenplan liefert eine vollständige Preisaufschlüsselung:

FeldTypHinweise
totalstringDer vollständig bepreiste Aufenthaltsgesamtpreis, inklusive aller nicht enthaltenen Steuern. Er entspricht der Summe des Holds.
room_subtotalstringSumme der Nachtraten vor Belegungsanpassungen und Steuern.
base_occupancyintegerGäste, die in der Basisrate enthalten sind; darüber hinaus greift der Aufpreis für Zusatzgäste.
extra_guest_chargestringDer Aufpreis des Plans pro Nacht für jeden Gast über base_occupancy hinaus.
single_occupancy_discountstringGesamter Rabatt, wenn nur eine Person anreist.
extra_guest_totalstringGesamter Zusatzgast-Aufschlag über den Aufenthalt.
taxes_totalstringSumme der nicht enthaltenen Steuern, die zu total addiert werden. Enthaltene Steuern zählen hier nicht mit.
tax_breakdownarrayZeilen je Gebühr: title, amount, is_inclusive, rate, kind. Enthaltene Zeilen werden zur Transparenz gezeigt und erhöhen total nicht.

Weil dieselbe Gebühren-Engine den Hold bepreist, entspricht dieses total immer der Summe, die Sie von POST /holds erhalten.


GET /services

Scope: availability:read

Vom Gast buchbare Zusatzleistungen (zum Beispiel ein Flughafentransfer) für den Schritt „Zum Zimmer hinzufügen“ einer Buchungsmaschine. Liefert nur aktive, vom Gast buchbare Services samt ihren modifiers (den Optionen und Eingabefeldern, die ein Gast ausfüllt). Übergeben Sie ?category=, um nach Kategorie zu filtern.

Query-ParameterErforderlichHinweise
categoryneinNur Services dieser Kategorie zurückgeben (zum Beispiel transport).
curl "$VRDN_BASE/services?category=transport" -H "Authorization: Bearer $VRDN_KEY"
{
  "data": [
    {
      "id": "f1c8e5a3-6b2d-4c9f-8a7e-3d0b5c2f6e94",
      "name": "Airport transfer",
      "category": "transport",
      "provider_name": "Harbour Transfers",
      "image_url": "https://cdn.veridien.app/p_8f2a1c/transfer.jpg",
      "short_description": "Private speedboat from the international airport.",
      "currency": "USD",
      "is_taxable": true,
      "modifiers": []
    }
  ]
}
FeldTypHinweise
idstringKennung des Service, in den add_ons eines Holds als service_id referenziert.
namestringAnzeigename.
categorystring | nullKategoriebezeichnung, die der Filter ?category= verwendet.
provider_namestring | nullDer Anbieter, der den Service erbringt.
image_urlstring | nullBild für die Vermarktung.
short_descriptionstring | nullEinzeilige Beschreibung.
currencystringWährung der Bepreisung, standardmäßig die Basiswährung der Unterkunft.
is_taxablebooleanOb auf die Zusatzleistung Steuern anfallen.
modifiersarrayDie Optionen und Eingabefelder (bepreiste Auswahlen, Datum/Zeit- und Textfelder), die der Gast angibt, wenn er die Leistung zu einem Hold hinzufügt.

Hängen Sie einen gewählten Service über das Feld add_ons an eine Buchung, siehe POST /holds.

  • Reservierungen: eine Rate in einen Hold und eine bestätigte Reservierung überführen.
  • Ratenpläne: wie Ratenpläne und Saisonintervalle konfiguriert werden.