Developer
Instruction
Difficulty level: Intermediate
Beheer > Integraties > Salto KS

The Salto KS integration needs configuration on two sides: first the Salto installation (Site + IQ + locks + account), then the integration in i-Reserve, including activating the IQ PIN.

1. On the Salto side

  1. Make sure a Site exists and note the Site UID (e.g. NL6254340082).
  2. Make sure the IQ online gateway is linked to the site and online; note the IQ id.
  3. Make sure the locks to be operated are registered in the site and reachable via the IQ.
  4. Create/use a Salto KS account (username + password) with sufficient rights on the site.

The OAuth client credentials for Salto KS are managed at platform level by i-Reserve; you provide the account.

2. On the i-Reserve side — Authentication tab

FieldWhat to enter
EnvironmentAcceptance (testing) or Production (live). Required.
Site UIDThe human-readable site code from Salto (e.g. NL6254340082). Required.
Site IDThe internal site id (UUID). Click Resolve site ID to fetch it automatically from the Site UID. Read-only.
UsernameThe username of the Salto KS account. Required.
PasswordThe password of the Salto KS account. Required.

Click Test / request access to fetch a token and verify the connection.

2.1 IQ OTP setup (activate the PIN)

In the IQ OTP setup block you activate the IQ gateway with a PIN. This is required before locks can be opened.

  1. Enter the IQ id (UUID of the IQ gateway).
  2. Click GET PIN to fetch the current PIN from the IQ (appears in current pin).
  3. Enter the desired 4-digit PIN in new pin.
  4. Click Set PIN: i-Reserve sets the new PIN on the IQ (signed with an OTP based on the current PIN + the IQ secret).
  5. On success the status changes to “IQ is activated”. From now on i-Reserve can sign valid open commands.

3. Details tab

FieldWhat it does
Lock may open from statusThe booking status(es) at which opening the lock is allowed. Multiple selection.
Time before (minutes)Number of minutes before the start time that opening is already allowed (0–1440).
Save last open action in fieldBooking field that records the open timestamp. Optional.
Status after opening (check-in)The booking is automatically moved to this status after a successful opening. Optional.

3.1 Mapping: object → lock

On the Mapping tab you link each i-Reserve object (product) to a lock. Choose the product on the left and the lock on the right from the dropdown; populate that list with the GET locks button (fetches the site’s locks). An object without its own mapping can fall back to a default (wildcard) lock.

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.

The integration sends nothing by itself: no e-mail or code goes to the customer automatically, and a status change does not open the lock. The customer opens the lock via a personal link. You include that link in an e-mail or SMS template with the variable {OPENLOCKLINK} (see Reservation variables).

  1. Choose the template that gives the customer the link, for example the confirmation or a reminder shortly before the start.
  2. Include the link, for example: On arrival, open the door via this link: {OPENLOCKLINK}
  3. The customer opens the link on their phone and sees the Open door page with the booking. At the door, the customer presses the Open door button.

When the page is opened and when the button is pressed, i-Reserve checks the following. If a check fails, the page shows the message from the right-hand column and the lock stays closed.

CheckMessage when it fails
The link (booking number + hashkey) is valid.This access link is invalid.
There is an active Salto KS integration.No active lock integration was found for this reservation.
The booking’s object has a lock in the mapping (or there is a wildcard *).No lock mapping found for this reservation object.
The booking’s status is listed under Lock may open from status. Empty = any status.Door opening is not allowed for the current reservation status (…).
It is now between start time minus Time before and the end time of the booking.Door opening is available from … / Door opening is no longer available (reservation ended at …).

After a successful opening, i-Reserve writes the time into the open-action field and moves the booking to the check-in status. That status change runs through the normal status handling, just like a manual change.

Testing tip: send the template to yourself for a test booking and open the link in the browser. The message on the page tells you right away which check is not met yet.

4.1 Lock check from the booking

With an active Salto KS integration, the action block of every booking has a Salto KS lock button. It shows a green check or red cross per criterion, and gives the customer link to copy or open. See Lock check from the booking.

4.2 Opening with a PIN

When a lock has a keypad, the customer can also open it with a PIN. In the integration settings, under PIN on the keypad, set PIN when possible to Yes (default No) and choose the booking field for the PIN.

  • i-Reserve tells whether a lock has a keypad from its lock type in Salto. The settings screen lists those locks under Locks with a keypad. When you add a lock in Salto, fetch the locks again.
  • When a booking gets a status from Slot may open at status, i-Reserve creates a user of its own with a PIN in Salto, valid from the start time minus Time before to the end of the booking. This happens before the status e-mail, so the PIN can go in the confirmation with {LOCKPIN}.
  • A lock without keypad keeps the link. The link also keeps working on a lock with a PIN, for example to send it by SMS on the spot.
  • When you move the booking (date, time or object), the access moves along; the PIN stays the same. When the booking gets another status or is deleted, the PIN is revoked. A day after the end, i-Reserve removes the user in Salto.
  • The customer enters the PIN on the lock. Salto chooses the PIN itself (6 digits).

5. Activate and test

Save and set the integration to active. Open a test booking and use Salto KS lock in the action block to verify all criteria are green (see Lock check from the booking). Then open the link from the template and press Open door. Verify the lock opens and (if configured) the open time and the check-in status are updated.

The IQ gateway must be activated with a PIN ("IQ is activated") before locks can be opened. The PIN + the IQ secret form the OTP that signs every open command.
If you change the IQ PIN outside i-Reserve, you must re-activate the integration (GET PIN / Set PIN). Otherwise the OTP commands no longer match and the door will not open.
Acceptance and production are separate environments with their own account, site and IQ. Test fully in acceptance before configuring production.