Planner
Beschikbaarheid opvragen en afspraken inplannen bij een vestiging, ongeacht welk agendasysteem die garage gebruikt.
De volledige request- en responsestructuur staat in de API-referentie, onder Planner.
Alle planner-endpoints staan onder /api/{franchiseId}/planner/...; zie Client types voor hoe je een vestiging aanspreekt en wie waar bij mag.
Eén interface, meerdere systemen
Achter de planner zitten verschillende agendasystemen: Carsys, Carsys Online, Plan-It, AutoFlex Ten en Automaat.
Welk systeem een vestiging gebruikt is door de beheerder ingesteld — daar hoef je als afnemer niets voor te doen, en je merkt het niet aan de antwoorden. De API vertaalt je verzoek naar het juiste systeem en geeft altijd dezelfde genormaliseerde vorm terug.
Endpoints
| Methode | Pad | Waarvoor |
|---|---|---|
GET |
/planner/activities |
welke werkzaamheden deze garage aanbiedt |
GET |
/planner/first-available-dates |
de eerstvolgende open dagen |
GET |
/planner/available-dates |
kalenderoverzicht van een maand |
GET |
/planner/available-times |
tijdsloten op een datum |
GET |
/planner/replacement-vehicles |
beschikbaar vervangend vervoer |
POST |
/planner/appointments |
de afspraak boeken |
Werkzaamheden
Verzoek
GET /api/{franchiseId}/planner/activities
Antwoord
[
{
"id": "c4813820-92cf-48c6-6861-0b8314403db7",
"name": "APK",
"duration": 60,
"enabled": true,
"description": ""
},
{
"id": "96cde5e5-049f-4347-490a-18918f15c62a",
"name": "Grote beurt",
"duration": 60,
"enabled": true,
"description": ""
}
]
| Veld | Beschrijving |
|---|---|
id |
meesturen bij het opvragen van datums en bij het boeken |
duration |
verwachte duur in minuten |
enabled |
false betekent: wel bekend, maar nu niet te kiezen |
description |
toelichting; vaak leeg |
Beschikbare datums
Verzoek
GET /api/{franchiseId}/planner/available-dates?month=11&year=2026
| Parameter | Verplicht | Beschrijving |
|---|---|---|
month |
ja | maandnummer, 1–12 |
year |
ja | jaartal |
Antwoord
Elke dag van de maand, ook de gesloten dagen — zo kun je een kalender vullen zonder gaten.
[
{ "date": "2026-11-01", "status": "disabled" },
{ "date": "2026-11-02", "status": "available" },
{ "date": "2026-11-03", "status": "partially_available" }
]
De statussen
| Status | Betekenis |
|---|---|
available |
de hele dag is er ruimte |
partially_available |
er is nog beperkt ruimte |
unavailable |
vol |
disabled |
die dag werkt de garage niet, of hij ligt in het verleden |
Behandel unavailable en disabled allebei als "niet te kiezen", maar toon ze desgewenst verschillend: vol is iets anders dan gesloten.
Eerstvolgende open dagen
GET /api/{franchiseId}/planner/first-available-dates
Dezelfde vorm, maar alleen de eerstvolgende bruikbare dagen in plaats van een hele maand. Een lege lijst betekent dat er binnen de doorzochte periode geen ruimte is — dat is een geldig antwoord, geen fout.
Tijdsloten
Verzoek
GET /api/{franchiseId}/planner/available-times?date=2026-11-10
Antwoord
Een platte lijst met tijden, in HH:MM:
["08:00","08:15","08:30","08:45","09:00","09:15","09:30"]
Bij Carsys en AutoFlex Ten komen de tijden uit de inlevertijden van de garage en niet uit de agenda; de datum is daar dus niet bepalend voor welke tijden je terugkrijgt.
Vervangend vervoer
Verzoek
GET /api/{franchiseId}/planner/replacement-vehicles
Antwoord
[
{
"id": "68db4e21-72be-49d2-5e1b-0c73733719c2",
"name": "Geen",
"enabled": true,
"description": "Ik heb geen vervangend vervoer nodig"
},
{
"id": "4bb0814f-1829-4ef2-5075-678be6611f03",
"name": "Leenauto",
"enabled": true,
"description": "Leenauto"
}
]
Let op: "Geen" is zelf een keuze in de lijst. Toon hem gewoon mee; de klant kiest actief dat hij niets nodig heeft.
Een afspraak boeken
Het boeken gaat in stappen; elke stap levert wat je nodig hebt voor de volgende.
1. Werkzaamheid kiezen
Haal de activiteiten op en laat de klant kiezen. Onthoud het id.
2. Datum kiezen
Vraag de eerstvolgende datums op, of een maandoverzicht. Geef de gekozen activiteit mee.
3. Tijdslot kiezen
Haal de tijdsloten op voor die datum.
4. Vervangend vervoer, als de garage dat aanbiedt
Is de lijst leeg, sla deze stap dan over.
5. Boeken
POST /api/{franchiseId}/planner/appointments
Wat je minimaal meestuurt:
- het
idvan de werkzaamheid uit stap 1 - de datum en het tijdslot uit stap 2 en 3
- het kenteken van het voertuig
- klantgegevens: naam, e-mailadres en telefoonnummer
Je krijgt een bevestiging terug met een afspraak-id.
De exacte veldnamen en welke velden verplicht zijn, staan in de API-referentie, onder Planner.