Google Calendar-koppeling instellen: stappen aan de Google- en i-Reserve-kant
De Google Calendar-koppeling vereist configuratie aan twee kanten: eerst een OAuth-client in Google Cloud, daarna de koppeling zelf in i-Reserve. Dit artikel beschrijft beide kanten in volgorde. De Google Cloud-stappen staan los van i-Reserve en worden in de Google Cloud Console uitgevoerd.
1. Aan de Google Cloud-kant
1.1 Project en API
- Open de Google Cloud Console (
console.cloud.google.com) en maak of kies een project. - Ga naar APIs & Services → Library, zoek Google Calendar API en klik Enable.
1.2 OAuth consent screen
- Ga naar APIs & Services → OAuth consent screen.
- Kies het gebruikerstype: Internal (alleen eigen Workspace) of External.
- Vul app-naam, support-e-mail en eventueel logo in.
- Voeg de scopes toe:
.../auth/calendar.readonlyen.../auth/calendar.events. - Bij External in testmodus: voeg de in te loggen gebruiker toe als test user.
1.3 OAuth-client (credentials)
- Ga naar APIs & Services → Credentials → Create credentials → OAuth client ID.
- Application type: Web application.
- Voeg bij Authorized redirect URIs de redirect-URI toe die i-Reserve toont, doorgaans
{base_url}/integrations/redirect/{int_id}. - Noteer de Client ID en het Client secret.
2. Aan de i-Reserve-kant
Ga naar Beheer → Integraties en voeg een Google Calendar-koppeling toe (of open een bestaande). De koppeling heeft een authenticatie-scherm en een configuratie-scherm.
2.1 Authenticatie-scherm
| Veld | Wat in te vullen |
|---|---|
| Client ID | De OAuth client-ID uit Google Cloud. |
| Client secret | Het bijbehorende client-secret. |
| Return url | De redirect-URI. Gebruik exact de waarde die i-Reserve toont en registreer diezelfde URI in de Google-OAuth-client. |
Doorloop daarna de twee knoppen in volgorde:
- Stap 1: toestemming — opent het Google consent-scherm. Log in met de gewenste Google-gebruiker en keur de gevraagde agenda-permissies goed.
- Stap 2: verbinden met Google Calendar — wisselt de toestemming in voor de opgeslagen tokens (access + refresh). Hierna is de verbinding live en haalt i-Reserve de beschikbare agenda's op.
2.2 Configuratie-scherm — outbound (afspraken vanuit i-Reserve)
| Veld | Wat in te vullen |
|---|---|
| Veld voor i-Reserve event-id | Het boekingsveld dat de Google event-id bewaart (de koppeling boeking ↔ afspraak). Default external_id. |
| Template | De e-mail-/booking-template waarmee titel en omschrijving van de afspraak worden opgebouwd. |
| Google Meet-link aanmaken | Ja/Nee — maak een Google Meet-vergadering bij de afspraak. |
| Veld voor Meet-link | Boekingsveld om de Meet join-URL op te slaan (als bovenstaande Ja is). |
| Herinneringen (popup / e-mail) | Aantal minuten voor aanvang voor een popup- en/of e-mailherinnering (0–1440; 0 = uit). |
| Klantgegevens gebruiken | Ja/Nee — voeg de klant als deelnemer toe. |
| Aanmaken op status | De boekingsstatus(sen) waarop een afspraak in Google wordt aangemaakt. |
| Verwijderen op status | De boekingsstatus(sen) waarop de Google-afspraak wordt verwijderd. |
2.3 Object → agenda-mapping
Koppel per i-Reserve-object de juiste Google-agenda (calendar-id). Een regel met wildcard * dient als standaard-agenda voor objecten zonder eigen regel. Deze mapping bepaalt naar welke agenda outbound-afspraken gaan en welke agenda inbound wordt gevolgd.
2.4 Configuratie-scherm — inbound (afspraken vanuit Google)
| Veld | Wat in te vullen |
|---|---|
| Inbound object | Het i-Reserve-object waarop binnenkomende afspraken landen (leeg = het eerste gekoppelde object). |
| Inbound status | Status waarmee een nieuwe inbound-boeking wordt aangemaakt. |
| Toestaan boeking-update | Ja/Nee — sta toe dat inbound-wijzigingen ook boekingen raken die niet via deze koppeling zijn aangemaakt. |
| Negeer validatiefouten bij update | Ja/Nee — pas inbound-wijzigingen toe ook als validatie ze normaal zou weigeren. |
2.5 Activeren
Sla op en zet de koppeling op actief. Bevestig de verbinding op het test-/diagnosescherm en controleer dat er een watch-channel (webhook) is aangemaakt voor de inbound-agenda.





