Customer Identification
This page describes how BookingJs automatically recognizes existing customers – via pData parameters from your CRM or customers' timum login.
Overview
BookingJs can automatically identify customers when configured correctly. This means they don't have to re-enter their personal data before booking.
Identification via pDataId
The most common method is identification via CRM platforms such as onOffice, Flowfact, or Immosolve. If a valid pDataId with a supported platform is present in the URL, the visitor is automatically identified.
timum.init({
ref: 'ihre-ressourcen-referenz',
pData: {
platform: 'onoffice',
personId: '12345'
}
});
URL parameters
The pData values can also be passed as URL parameters:
https://ihre-website.de/booking?ref=ressource@provider&pDataPlatform=onoffice&pDataId=12345
| Parameter | Description |
|---|---|
pDataPlatform | Name of the platform (e.g. onoffice, flowfact, immosolve) |
pDataId | The ID of the contact in the platform |
pDataIdPropName | Optional: name of the ID property (default: personId) |
Identification via login
Customers can also register and log in with timum. If the booking system detects a logged-in user, personal data fields are no longer displayed.
Priority:
Hiding the widget for anonymous visitors
With the hiddenForAnonymous option, you can hide the widget when no customer identification is possible. This is useful if only explicitly invited customers should see the booking frontend.
timum.init({
ref: 'ihre-ressourcen-referenz',
hiddenForAnonymous: true
});
Supported platforms
| Platform | pDataPlatform |
|---|---|
| onOffice | onoffice |
| Flowfact | flowfact |
| Immosolve | immosolve |
| ImmobilienScout24 | is24 |
Example use case: property listing integration
A typical use case is integration into a property listing where the prospect is already known in the CRM:
<!-- In your CRM template -->
<div id="bookingjs"></div>
<script type="module">
import * as timum from 'https://cdn.timum.de/bookingjs/1/booking.js';
timum.init({
ref: '{{ressource_referenz}}',
pData: {
platform: 'onoffice',
personId: '{{kontakt_id}}'
},
hiddenForAnonymous: true // Only for known contacts
});
</script>
