Setting up the Resivo integration: steps on the Resivo and i-Reserve side
The Resivo integration needs configuration on two sides: first API credentials in the Resivo portal, then the integration itself in i-Reserve.
1. On the Resivo side (portal)
Sign in to portal.resivo.io. Open the organisation/site menu top right and choose API.
1.1 Note the Customer ID (= Site Owner ID)
Under General → Getting started there is a Customer ID field. In i-Reserve this is the Site Owner ID. Note this value.
1.2 Generate credentials
- Click Generate new credentials.
- Give a recognisable Name (e.g.
ireserve). - For Scope choose Customer — one credential then covers all of the organisation’s sites. (Choose Site only if you deliberately want to limit access to a single site.)
- After saving, Resivo shows a Client ID and a Secret once. Copy both immediately — the secret cannot be retrieved afterwards.
1.3 Find the Site ID (optional)
If you want to populate the mapping or tie access to one specific site, also note the Site ID. You find it via the Site list in the same menu (or in the site URL: …/sites/<site-id>/overview).
2. On the i-Reserve side
Go to Administration → Integrations and add a Resivo integration.
2.1 Authentication tab
| Field | What to enter |
|---|---|
| Site Owner ID | The Customer ID from the Resivo portal (organisation level). Required. |
| Client ID | The OAuth Client ID of the generated credential. Required. |
| Client secret | The Secret of the generated credential (shown once). Required. |
| Site ID | The specific site within the Site Owner; used to fetch the components (doors) for the mapping. Optional. |
| Target mobile app id | (Optional) Numeric Legic door app id, only needed for mobile credentials via the resivo app. |
Save and test the connection: i-Reserve fetches a token and can list the sites and components of the Site Owner.
2.2 Details tab
| Field | What it does |
|---|---|
| Trigger statuses (create) | At which booking statuses access is created (e.g. “Confirmed”). Multiple selection. |
| Revoke statuses | At which booking statuses access is revoked (e.g. “Cancelled”). Multiple selection. |
| Time before (minutes) | Number of minutes before the start time that access already becomes valid (0 = exactly at start time). The end time stays the booking end time. |
| Booking field for authorisation id | The booking field that stores the id of the Resivo authorisation. Required to revoke access. |
| Default language (fallback) | Two-letter language code (nl, en, de, …) used when the customer has no language set. |
2.3 Mapping: object → door
On the Mapping tab you link each i-Reserve object (room/resource) to one or more Resivo components (doors). The dropdown shows the display names of the configured site’s components. The mapping is stored by name; on every trigger i-Reserve resolves the current ids. If no components appear in the list, check the entered Site ID and the connection.
Objects and sub-objects. The object dropdown on the left now lists both main objects and their sub-objects. This lets you map at the level of a specific sub-object (for example one studio within a parent object), not just the main object. A booking on a sub-object carries that sub-object, so the most specific mapping applies. Existing main-object mappings keep working.
2.4 Activate
Save and set the integration to active. Test by moving a booking to a trigger status and checking that the visitor receives the Resivo door link; then verify revocation via a revoke status.





