Developers

Je data blijft van jou. Onze API bewijst het.

Een open, gedocumenteerde REST API voor beschikbaarheid, reserveringen, gastprofielen en kassabonnen. Bouw je eigen boekingsflow, koppel een kassa die er nog niet in zit, of trek alles naar je datawarehouse. Geen exportverzoek, geen wachttijd.

Base URLhttps://api.tavyno.com/v1

Authenticatie

Bearer-token per locatie of per groep, scopes per endpoint

Rate limit

600 verzoeken per minuut, burst tot 100 per seconde

Formaat

JSON, ISO 8601 met tijdzone, bedragen in euro's

Versionering

Padversie /v1. Breaking changes krijgen minimaal 6 maanden overlap

Sandbox

Volledige testomgeving met eigen sleutels en testdata

Beschikbaarheid

99,9% SLA, status live te volgen

Beschikbaarheid

Vraag vrije tijdsloten op zonder een reservering aan te maken. Ideaal voor eigen websites, apps en kiosken.

GET/venues/{venue_id}/availabilityVrije tijdsloten voor een datum

Geeft per tijdslot terug of er plek is, voor welke groepsgrootte en welke service (lunch, diner, borrel).

curl "https://api.tavyno.com/v1/venues/ven_9f2/availability?date=2026-09-18&party=4" \
  -H "Authorization: Bearer tvn_live_..."
GET/venues/{venue_id}/servicesServices en openingstijden

Alle services met tijdvensters, minimale en maximale groepsgrootte en eventuele aanbetalingsregels.

Reserveringen

Aanmaken, wijzigen en annuleren. Elke wijziging triggert dezelfde bevestigingsmails en webhooks als een boeking via de widget.

POST/reservationsReservering aanmaken

Maakt een reservering aan inclusief gastgegevens, allergieën en dieetwensen. Bij onvoldoende capaciteit krijg je 409 met alternatieve tijden.

curl -X POST "https://api.tavyno.com/v1/reservations" \
  -H "Authorization: Bearer tvn_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "venue_id": "ven_9f2",
    "date": "2026-09-18",
    "time": "19:30",
    "party": 4,
    "guest": { "first_name": "Laura", "last_name": "Smit", "email": "laura@example.com" },
    "dietary": [{ "allergen": "nuts", "severity": "allergy", "guests": 1 }],
    "source": "eigen-website"
  }'
GET/reservationsReserveringen ophalen

Filter op datum, status, service of gast. Gepagineerd met cursors.

PATCH/reservations/{id}Reservering wijzigen

Tijd, aantal gasten, tafel, status of notities aanpassen.

DELETE/reservations/{id}Annuleren

Annuleert en verstuurt optioneel de annuleringsmail. Geef een reden mee voor de rapportage.

Gasten

Het gastprofiel met bezoekhistorie, voorkeuren, allergieën, tags en besteding.

GET/guestsGasten zoeken

Zoek op naam, e-mail of telefoonnummer. Ondersteunt segmentfilters (VIP, aantal bezoeken, besteding).

GET/guests/{id}Gastprofiel

Volledig profiel inclusief bezoeken, no-shows, gemiddelde besteding en loyaltystatus.

PATCH/guests/{id}Gast bijwerken

Tags, notities, voorkeuren en marketingtoestemming.

Kassa & omzet

Stuur bonnen in vanuit je eigen kassa als er geen kant-en-klare koppeling is. Wij matchen op tafel en tijdvenster.

POST/pos/checksBon aanleveren

Bon met tafelnummer, open- en sluittijd, bonregels en totaal. Wordt gematcht aan de reservering en gebruikt voor omzet per reservering, menu-engineering en advertentie-optimalisatie.

curl -X POST "https://api.tavyno.com/v1/pos/checks" \
  -H "Authorization: Bearer tvn_live_..." \
  -d '{
    "venue_id": "ven_9f2",
    "table": "12",
    "opened_at": "2026-09-18T19:34:00+02:00",
    "closed_at": "2026-09-18T21:48:00+02:00",
    "covers": 4,
    "total_incl_vat": 412.50,
    "lines": [{ "sku": "MEN-4G", "name": "4-gangen", "qty": 4, "amount": 260.00 }]
  }'
GET/pos/checks/{id}Bon opvragen

Inclusief de reservering waaraan de bon is gekoppeld en de matchmethode.

Webhooks

Wij sturen een POST naar jouw endpoint. Elk bericht is ondertekend met HMAC-SHA256 in de header X-Tavyno-Signature.

POSTreservation.createdNieuwe reservering

Direct na het aanmaken, ongeacht het kanaal.

POSTreservation.updatedWijziging

Tijd, aantal gasten, tafel of status gewijzigd.

POSTreservation.cancelledAnnulering

Inclusief reden en of het binnen de annuleringstermijn viel.

POSTreservation.no_showNo-show

Wordt gebruikt om advertentieconversies te corrigeren.

POSTguest.updatedGastprofiel gewijzigd

Tags, voorkeuren of toestemming aangepast.

POSTcheck.matchedBon gematcht

De kassabon is gekoppeld aan een reservering, inclusief bedrag.

Sleutels aanvragen

API-sleutels maak je zelf aan in TAVYNO onder Beheer → Integraties. Je krijgt direct een sandbox-omgeving met testdata, zodat je kunt bouwen voordat je live gaat. Voor restaurantgroepen leveren we tokens op groepsniveau met toegang tot alle locaties.