CHAddBlock
1.1 Advanced
Voeg een beschikbaarheid blok toe.
Let op: de voorkeur is om met roosters te werken. Het aanmaken van losse blokken kan administratief erg onduidelijk worden.
- Request
- Response
- Voorbeeld
AgendaId integer | Id van de agenda. required |
AppointmentType integer | Optioneel, id van een appointmentType. |
ResourceId integer | Optioneel, id van een resource. |
Date yyyy-mm-dd | Datum van het blok required |
StartTime hh:mm | Starttijd van het blok required |
EndTime hh:mm | Eindtijd van het blok required |
Id integer | Id van het blok. Let op: dit is het enige moment waarop dit id op te halen is. Zonder dit id is het niet mogelijk om op een later tijdstip over de API het blok weer te verwijderen. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 14:01:10</Date> <Timestamp>1648562470</Timestamp> <Status>success</Status> </Status> <Objects> <Block> <Id>123</Id> </Block> </Objects> </Response>
CHRemoveBlock
1.1 Advanced
Verwijdert een blok dat eerder is aangemaakt met CHAddBlock
- Request
- Response
- Voorbeeld
AgendaId integer | Id van de agenda. required |
id integer | Id van het block. required |
None
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 14:05:29</Date> <Timestamp>1648562729</Timestamp> <Message></Message> <Status>success</Status> </Status> </Response>
getCalculationModelSettings
1.1 Advanced
Haalt de rekenmodel instellingen op van een afspraaktype. Deze plugins zijn in te schakelen via instellingen => extra functionaliteit.
specificTimes: Specifieke tijden plugin
multiple: Meerdere personen plugin
travel: Meerdere dagen plugin
limit:Beperking aantal afspraken plugin
combination: Combinatieafspraken plugin
complex: Complexe afspraaktypen plugin
connectingApps: Aansluitende afspraken plugin
- Request
- Response
- Voorbeeld
AgendaId integer | Id van de agenda. required |
AppTypeId integer | Id van het appointmentType. required |
CalculationModel string | Naam van het rekenmodel. Geldige waarden zijn: specificTimes,multiple,limit,combination,complex,travel,connectingApps required |
CalculationModel Naam van het rekenmodel. | |
AppTypeId integer | Id van het appointmentType. |
Config JSON-encoded string met de configuratie | |
Enabled integer | 0 = uit, 1 = aan, of het rekenmodel ingeschakeld is |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 13:54:34</Date> <Timestamp>1648562074</Timestamp> <Status>success</Status> </Status> <CalculationModelConfig> <CalculationModel>connectingApps</CalculationModel> <AppTypeId>123</AppTypeId> <Config>a:0:{}</Config> <Enabled>0</Enabled> </CalculationModelConfig> </Response>
setCalculationModelSettings
1.1 Advanced
Slaat de rekenmodel instellingen op van een afspraaktype. Deze plugins zijn in te schakelen via instellingen => extra functionaliteit.
specificTimes: Specifieke tijden plugin
multiple: Meerdere personen plugin
travel: Meerdere dagen plugin
limit:Beperking aantal afspraken plugin
combination: Combinatieafspraken plugin
complex: Complexe afspraaktypen plugin
connectingApps: Aansluitende afspraken plugin
- Request
- Response
- Voorbeeld
AgendaId integer | Id van de agenda. required |
AppTypeId integer | Id van het appointmentType. required |
CalculationModel string | Naam van het rekenmodel. Geldige waarden zijn: specificTimes,multiple,limit,combination,complex,travel,connectingApps required |
Value string | JSON-encoded string met de configuratie van het rekenmodel required |
Enabled integer | Optioneel, 1 = aan, 0 = uit, schakelt het rekenmodel aan of uit |
CalculationModel Naam van het rekenmodel. | |
AppTypeId integer | Id van het appointmentType. |
Config JSON-encoded string met de configuratie |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 13:58:15</Date> <Timestamp>1648562295</Timestamp> <Status>success</Status> </Status> <CalculationModelConfig> <CalculationModel>connectingApps</CalculationModel> <AppTypeId>123</AppTypeId> <Config></Config> </CalculationModelConfig> </Response>
cancelAppointment
1.1 Appointments
Annuleert een afspraak.
N.B. om een afspraak definitief te verwijderen, gebruik je removeAppointment.
- Request
- Response
- Voorbeeld
Id integer | Id van de afspraak required |
Mode string | De manier waarop de afspraak geannuleerd wordt. 'customer' (standaardwaarde) annuleert op de manier waarop de klant het zou doen. Dit houdt bijvoorbeeld rekening met de maximale tijd voor annuleren. 'company' annuleert alsof het bedrijf het zou doen. Hierbij is meer vrijheid en zijn meer configuratiemogelijkheden. |
Remarks string | Opmerkingen bij het annuleren (alleen als Mode='company') |
Confirmations integer | Geeft aan of er een bevestiging naar de klant gestuurd wordt. Deze waarde heeft alleen invloed als Mode='company'; als Mode='customer' worden de instellingen van het systeem gevolgd. Mogelijke waarden: 0 = geen bevestigingen, 1 = bevestiging per e-mail,2 = bevestiging per sms,3 = bevestiging per mail en sms |
DryRun integer | Als deze parameter wordt gebruikt met de waarde 1, worden alleen de voorwaarden gecontroleerd zonder de afspraak te annuleren. Dit kan nuttig zijn om te bepalen of de klant nog op tijd is voor het annuleren van de afspraak. Als de parameter niet wordt gebruikt, of de waarde 0 heeft, wordt de afspraak direct geannuleerd. |
niets Deze functie geeft geen data terug. Controleer de status in de response om te zien of het annuleren is gelukt. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 11:55:03</Date> <Timestamp>1648554903</Timestamp> <Status>success</Status> </Status> </Response>
confirmAppointment
1.1 Appointments
Confirms an appointment with a previously sent confirmation code. This code is sent to the customer by mail or SMS, depending on the backend configuration. If the code is valid the appointment status is changed from PENDING to CONFIRMED.
- Request
- Response
- Voorbeeld
id integer | Id if the appointment required |
ConfirmationCode integer | Alphanumeric value that the consumer has received by mail or SMS. required |
Confirmed integer | Possible values: 1 success0 failed |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:00:45</Date> <Timestamp>1648555245</Timestamp> <Message></Message> <Status>success</Status> </Status> </Response>
getAppointment
1.1 Appointments
Retrieves a specific appointment.
- Request
- Response
- Voorbeeld
Id integer | Id of the appointment required |
Id integer | Id of the appointment |
Name Name | |
Description Description | |
StartTime date | Start time of the appointment Format: yyyy-mm-dd hh:mm:ss |
FinishTime date | End time of the appointment Format: yyyy-mm-dd hh:mm:ss |
BlockedTime date | End time of the appointment including buffertime Format: yyyy-mm-dd hh:mm:ss |
AppointmentTypeId integer | Id of the appointmentType |
CustomerId integer | Id of the customer |
CustomerName Full name of the %HDcustomer%EHD (if applicable) | |
Status Status of the appointment %HL1 = enabled, 2 = disabled (cancelled), 3 = deleted%EHL | |
Label Label of the appointment %HL1 = pending, 2 = approved, 3 = finished, 4 = cancelled, 5 = in progress%EHL | |
Resources List of %HDresources%EHD linked to the appointment. Per resource there are three (sub)fields: %HDResourceId%EHD, %HDStartTime%EHD and %HDFinishTime%EHD | |
[variabel] Possible extra fields linked to the appointment. These fields use the Key as their field name ( see getFields ). |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2024-02-07 11:59:40</Date> <Timestamp>1707303580</Timestamp> <Status>success</Status> </Status> <Appointment> <Id>123</Id> <Name>Springkussen</Name> <Description></Description> <AgendaId>123</AgendaId> <StartTime>2022-03-31 13:05:00</StartTime> <FinishTime>2022-03-31 14:05:00</FinishTime> <BlockedTime>2022-03-31 14:05:00</BlockedTime> <Capacity>1</Capacity> <AppointmentTypeId>123</AppointmentTypeId> <CustomerId>123</CustomerId> <CustomerName>Test Persoon</CustomerName> <Status>2</Status> <Label>4</Label> <Resources> <ResourceId>123</ResourceId> <StartTime>2022-03-31 13:05:00</StartTime> <FinishTime>2022-03-31 14:05:00</FinishTime> </Resources> <CreateTime>2022-03-22 10:32:25</CreateTime> <UpdateTime>2022-03-29 11:55:03</UpdateTime> </Appointment> </Response>
getAppointments
1.1 Appointments
Retrieves all appointments for a specific calendar. Optionally a start and/or end date can be used to limit the query.
- Request
- Response
- Voorbeeld
StartDate yyyy-mm-dd | Start date |
EndDate yyyy-mm-dd | End date |
UpdatedAfter [tijd] | If specified only the appointments that were modified after this time are returned. Format: yyyy-mm-dd hh:mm:ss |
CreatedAfter [tijd] | If specified only the appointments that were created after this time are returned. Format: yyyy-mm-dd hh:mm:ss |
CustomerId integer | If specified the query is filtered to this customer. |
AppointmentTypeId integer | If specified the query is filtered to this appointmentType. |
ResourceId integer | If specified the query is filtered to this resource. |
AgendaId integer | Id of the calendar |
The format of the returned appointments is the same as used for getAppointment() |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:04:14</Date> <Timestamp>1648555454</Timestamp> <Status>success</Status> <Stats> <Limit>500</Limit> <Offset>0</Offset> <Records>2</Records> <TotalRecords>2</TotalRecords> </Stats> </Status> <Objects> <Appointment> <Id>123</Id> <Name>Intro buikspieren</Name> <Description></Description> <AgendaId>133</AgendaId> <StartTime>2020-03-31 16:30:00</StartTime> <FinishTime>2020-03-31 17:30:00</FinishTime> <BlockedTime>2020-03-31 17:30:00</BlockedTime> <Capacity>1</Capacity> <AppointmentTypeId>274</AppointmentTypeId> <CustomerId>123</CustomerId> <CustomerName>Ien Troh</CustomerName> <Status>1</Status> <Label>2</Label> <Resources> <ResourceId>123</ResourceId> <StartTime>2020-03-31 16:30:00</StartTime> <FinishTime>2020-03-31 17:30:00</FinishTime> </Resources> <CreateTime>2020-03-31 13:29:41</CreateTime> <UpdateTime>2020-03-31 13:29:51</UpdateTime> </Appointment> <Appointment> <Id>124</Id> <Name>Intro buikspieren</Name> <Description></Description> <AgendaId>123</AgendaId> <StartTime>2020-03-31 19:00:00</StartTime> <FinishTime>2020-03-31 20:00:00</FinishTime> <BlockedTime>2020-03-31 20:00:00</BlockedTime> <Capacity>1</Capacity> <AppointmentTypeId>123</AppointmentTypeId> <CustomerId>123</CustomerId> <CustomerName>Ien Troh</CustomerName> <Status>1</Status> <Label>2</Label> <Resources> <ResourceId>123</ResourceId> <StartTime>2020-03-31 19:00:00</StartTime> <FinishTime>2020-03-31 20:00:00</FinishTime> </Resources> <CreateTime>2020-03-31 13:29:16</CreateTime> <UpdateTime>2020-03-31 13:29:25</UpdateTime> </Appointment> </Objects> </Response>
removeAppointment
1.1 Appointments
Deletes an appointment.
- Request
- Response
- Voorbeeld
Id integer | Id of the appointment. required |
None
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:06:47</Date> <Timestamp>1648555607</Timestamp> <Message></Message> <Status>success</Status> </Status> </Response>
setAppointment
1.1 Appointments
Saves an appointment for a customer.
If additional required fields are configured, to be retrieved by getFields API, these values are required for this API request.
- Request
- Response
- Voorbeeld
AgendaId integer | Id of the agenda. required |
CustomerId integer | Id of the customer. required |
AppointmentTypeId integer | Id of the appointmentType. This parameter is ignored when editing an existing appointment. required |
ResourceId integer | Id of the selected resource. If this parameter is not used the backend will autoselect an available resource. This parameter is ignored when editing an existing appointment. |
Date yyyy-mm-dd | Date of the appointment required |
StartTime hh:mm | Start time of the appointment required |
EndTime hh:mm | End time of the appointment. The end time can only be set when BookingMode=customer. required |
Id integer | Optionally an appointment id can be supplied of a valid appointment. This will modify this appointment. If no Id is supplied, a new appointment is created. |
Name string | Name |
Description string | Note for the appointment. Note that when editing an existing appointment, the note will be added to the existing notes. |
[variabel] string | Possible extra fields, as retrieved with the getFields API. Use the Key of a field as the parameter name in this request. |
BookingMode string | Optional, consumer or customer. Default value is consumer. In consumer mode, an appointment can only be created or canceled. Modifying an existing appointment is only possible in customer mode. |
OverrideMode integer | Optional, 1 = on, 0 = off. Disables multiple validations. Note that if the appointment is moved outside the bookable times then the appointment is not assigned a resource. |
RequiredFieldsCheck integer | Optional, 1 = on, 0 = off, on by default. If 0, mandatory fields validations are disabled. Note that this can lead to unexpected results if there are assumptions regarding the status of a mandatory field. |
Id integer | |
Status integer | Status of the appointment. Possible values: 1 pending2 approved3 finished4 cancelled5 in progress If the status is 1 ( pending ) it is very likely it requires confirmation. For more information, see the requiresConfirmation and confirmAppointment API. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:10:20</Date> <Timestamp>1648555820</Timestamp> <Status>success</Status> </Status> <Objects> <Appointment> <Id>123</Id> <Status>2</Status> </Appointment> </Objects> </Response>
getBookableBlocks
1.1 Availability
Haalt de boekbare blokken van een bepaald afspraaktype en voor een bepaalde resource zonder deze op te splitsen in boekbare tijden zoals in de widget getoond worden. Optioneel kan een start en/of einddatum opgegeven worden.
Deze API past eventuele plugins etc niet toe op de beschikbaarheid. Gebruik bij voorkeur getBookableDates en getBookableTimes.
- Request
- Response
- Voorbeeld
AgendaId integer | Id van de agenda. required |
AppointmentTypeId, integer | id van het appointmentType waar de beschikbaarheid van gecontroleerd wordt. required |
ResourceId integer | Id van de resource waar de beschikbaarheid van gecontroleerd wordt. |
Date yyyy-mm-dd | Startdatum required |
EndDate yyyy-mm-dd | Einddatum |
ConsumerBookable integer | Indien 1 komen alleen blokken terug die door consumenten te boeken zijn. |
Date integer | Datum Format: yyyy-mm-dd |
Month integer | Maand, zonder voorloopnul. |
Day integer | Dag, zonder voorloopnul. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 14:09:27</Date> <Timestamp>1648562967</Timestamp> <Status>success</Status> </Status> <BookableBlock> </BookableBlock> </Response>
getBookableDays
1.1 Availability
Retrieves the bookable days for a specific appoitnment type and resource. Optionally the query can be filtered with a start date and end date.
- Request
- Response
- Voorbeeld
AgendaId integer | Id of the agenda. required |
AppointmentTypeId integer | Id of the appointmentType to get the availability for. required |
ResourceId integer | Id of the resource to get the availability for. |
StartDate yyyy-mm-dd | Start date |
EndDate yyyy-mm-dd | End date |
Date integer | Date Format: yyyy-mm-dd |
Month integer | Month, without prefix zero. |
Day integer | Day, without prefix zero. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:37:01</Date> <Timestamp>1648557421</Timestamp> <Status>success</Status> </Status> <Objects> <BookableDay> <Date>2022-04-04</Date> <Month>04</Month> <Day>4</Day> </BookableDay> <BookableDay> <Date>2022-04-05</Date> <Month>04</Month> <Day>5</Day> </BookableDay> <BookableDay> <Date>2022-04-11</Date> <Month>04</Month> <Day>11</Day> </BookableDay> <BookableDay> <Date>2022-04-12</Date> <Month>04</Month> <Day>12</Day> </BookableDay> </Objects> </Response>
getBookableTimes
1.1 Availability
Retrieves the bookable times for a specific appoitnment type and resource. Optionally the query can be filtered with a start date and end date.
- Request
- Response
- Voorbeeld
AgendaId integer | Id of the agenda. required |
Date date | Date to get the available times for. required |
EndDate date | End date. If not specified, the times for a single day are returned |
AppointmentTypeId integer | Id of the appointmentType. required |
ResourceId integer | Id of the resource. If not supplied, bookable times for all resources are returned. |
Date date | Date Format: yyyy-mm-dd |
StartTime date | Start time Format: hh:mm |
EndTime date | End time, Format: hh:mm |
Timestamp integer | Timestamp of the start time. |
AppointmentTypeId integer | Id of the appointmentType. |
ResourceId integer | Id of the resource, or 0 if no specific resource is linked. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:39:47</Date> <Timestamp>1648557587</Timestamp> <Status>success</Status> </Status> <Objects> <BookableTime> <Date>2022-04-05</Date> <StartTime>09:00</StartTime> <LabelTime>09:00</LabelTime> <EndTime>10:00</EndTime> <Timestamp>1649149200</Timestamp> <AppointmentTypeId>123</AppointmentTypeId> <ResourceId>123</ResourceId> </BookableTime> <BookableTime> <Date>2022-04-05</Date> <StartTime>10:00</StartTime> <LabelTime>10:00</LabelTime> <EndTime>11:00</EndTime> <Timestamp>1649152800</Timestamp> <AppointmentTypeId>123</AppointmentTypeId> <ResourceId>123</ResourceId> </BookableTime> <BookableTime> <Date>2022-04-05</Date> <StartTime>11:00</StartTime> <LabelTime>11:00</LabelTime> <EndTime>12:00</EndTime> <Timestamp>1649156400</Timestamp> <AppointmentTypeId>123</AppointmentTypeId> <ResourceId>123</ResourceId> </BookableTime> </Objects> </Response>
getCustomer
1.1 Customers
Retrieves a specific customer.
- Request
- Response
- Voorbeeld
Id integer | Id of the customer. required |
Id integer | |
Type Customer type %HLConsumer=Normal customer,Business=business%EHL | |
AccountNumber Account number | |
FirstName First name | |
LastName Last name | |
Insertions Name insertions | |
BirthDate date | Date of birth Format: yyyy-mm-dd |
Gender Gender %HLM = male, F = female%EHL | |
Street Address | |
HouseNr integer | House number |
HouseNrAddition House number postfix, like A. | |
ZipCode Zipcode | |
City City | |
Country Country | |
Phone Phone number | |
MobilePhone Mobile phone number | |
Email Email address | |
Status integer | Status of the customer Possible values: 1 enabled2 disabled3 deleted |
UpdateTime date | Date and time when the customer data was modified last. Format: yyyy-mm-dd HH:mm:ss |
CreateTime date | Date and time when the customer was created. Format: yyyy-mm-dd HH:mm:ss |
[variabel] Optional extra fields linked to this customer. These fields use Key as parameter name ( see getFields ). | |
Business array | business data (only if Type=Business) |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:47:35</Date> <Timestamp>1648558055</Timestamp> <Status>success</Status> </Status> <Customer> <Id>123</Id> <Type>Consumer</Type> <AccountNumber>1</AccountNumber> <FirstName>Gerrit</FirstName> <LastName>Pieterse</LastName> <Insertions></Insertions> <BirthDate></BirthDate> <Gender>M</Gender> <Street>Stationstraat</Street> <HouseNr>123</HouseNr> <HouseNrAddition>b</HouseNrAddition> <ZipCode>1234AA</ZipCode> <City>Driehuizen</City> <Country>Nederland</Country> <Phone></Phone> <MobilePhone>0612345678</MobilePhone> <Email>dev@onlineafspraken.nl</Email> <Status>1</Status> <UpdateTime>2020-03-26 15:50:13</UpdateTime> <CreateTime>2020-03-26 15:50:13</CreateTime> <SingleSignon>165329255|30860|9bd9c91b</SingleSignon> </Customer> </Response>
getCustomers
1.1 Customers
Retrieves all customers.
- Request
- Response
- Voorbeeld
Limit integer | Query limit of customers to retrieve in one call.By default a maximum of 500 customers are returned. |
Offset integer | Query offset of which customers to retrieve. |
UpdatedAfter date | Only retrieve customers with an modify date after this value Format: YYYY-MM-DD HH:mm:ss If this parameter is used also deleted customers are returned. These customers only retrieve Id and Status. If this parameter is not used, all customers are returned. |
Email string | If used, only customers with this email address are returned. |
BirthDate date | If used, only customers with this date of birth are returned. Format: YYYY-MM-DD |
AccountNumber string | If used, only customers with this account number are returned. |
Id integer | |
Type Type van de klant %HLConsumer=Normale klant,Business=Zakelijke klant%EHL | |
AccountNumber Account number | |
FirstName First name | |
LastName Last name | |
Insertions Name insertions | |
BirthDate date | Date of birth Format: yyyy-mm-dd |
Gender Gender %HLM = male, F = female%EHL | |
Street Address | |
HouseNr integer | House number |
HouseNrAddition House number postfix, like A. | |
ZipCode Zipcode | |
City City | |
Country Country | |
Phone Phone number | |
MobilePhone Mobile phone number | |
Email Email address | |
Status integer | Status of the customer Possible values: 1 enabled2 disabled3 deleted |
UpdateTime date | Date and time when the customer data was modified last. Format: yyyy-mm-dd HH:mm:ss |
CreateTime date | Date and time when the customer was created. Format: yyyy-mm-dd HH:mm:ss |
[variabel] Optional extra fields linked to this customer. These fields use Key as parameter name ( see getFields ). | |
Business array | business data (only if Type=Business) |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:43:06</Date> <Timestamp>1648557786</Timestamp> <Status>success</Status> <Stats> <Limit>500</Limit> <Offset>0</Offset> <Records>130</Records> <TotalRecords>130</TotalRecords> </Stats> </Status> <Objects> <Customer> <Id>123</Id> <Type>Consumer</Type> <AccountNumber>1</AccountNumber> <FirstName>Gerrit</FirstName> <LastName>Pieterse</LastName> <Insertions></Insertions> <BirthDate></BirthDate> <Gender>M</Gender> <Street></Street> <HouseNr></HouseNr> <HouseNrAddition></HouseNrAddition> <ZipCode></ZipCode> <City>Driehuizen</City> <Country>Nederland</Country> <Phone></Phone> <MobilePhone></MobilePhone> <Email>dev@onlineafspraken.nl</Email> <Status>1</Status> <UpdateTime>2020-03-26 15:50:13</UpdateTime> <CreateTime>2020-03-26 15:50:13</CreateTime> </Customer> <Customer> <Id>124</Id> <AccountNumber>3</AccountNumber> <FirstName>David</FirstName> <LastName>Dubbel</LastName> <Insertions></Insertions> <BirthDate></BirthDate> <Gender>O</Gender> <Street></Street> <HouseNr></HouseNr> <HouseNrAddition></HouseNrAddition> <ZipCode></ZipCode> <City></City> <Country>Nederland</Country> <Phone></Phone> <MobilePhone></MobilePhone> <Email>dev@onlineafspraken.nl</Email> <Status>1</Status> <UpdateTime>2020-03-30 15:16:10</UpdateTime> <CreateTime>2020-03-30 15:16:10</CreateTime> <Foto_voor> <Id>196</Id> <Uuid>61a411a7-08db-4dfb-a512-cce37297767c</Uuid> <FileName>logo-conservatrix-2.png</FileName> <Url>/forms/upload/view/uuid/61a411a7-08db-4dfb-a512cce37297767c/logo-conservatrix.png</Url> <Thumbnail>/forms/upload/thumbnail/uuid/61a411a7-08db-4dfb-a512-cce37297767c/logo-conservatrix.png</Thumbnail> <Size>126679</Size> <Image> <Mime>image/png</Mime> <Orientation>0</Orientation> </Image> </Foto_voor> <Foto_voor> <Id>197</Id> <Uuid>e3c9fe06-67b6-43e1-9b39-c8b6636e46b4</Uuid> <FileName>old-40095_1280-13.png</FileName> <Url>/forms/upload/view/uuid/e3c9fe06-67b6-43e1-9b39-c8b6636e46b4/old-40095_1280.png</Url> <Thumbnail>/forms/upload/thumbnail/uuid/e3c9fe06-67b6-43e1-9b39-c8b6636e46b4/old-40095_1280.png</Thumbnail> <Size>252290</Size> <Image> <Mime>image/png</Mime> <Orientation>0</Orientation> </Image> </Foto_voor> </Customer> </Objects> </Response>
getFields
1.1 Customers
Retrieves the extra fields for registration and appointment forms.
- Request
- Response
- Voorbeeld
AgendaId integer | Id of the calendar. required |
AppointmentTypeId integer | If you specify the id of an appointmentType only fields that apply to that appointment type are returned. |
Id integer | |
Label Label of the form element | |
Key Internal name of the element, to be used in the setCustomer and setAppointment API calls. This name is derived from the element label, but contains for instance no spaces or special characters. | |
Type Form type, on which form this element should be shown according the backend configuration. %HLAppointment = appointment form, Registration = registration form%EHL | |
Required integer | Signals if this field is required Possible values: 1 required0 not required |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:50:43</Date> <Timestamp>1648558243</Timestamp> <Status>success</Status> </Status> <Objects> <Field> <Id>123</Id> <Label>test</Label> <Key>test</Key> <Type>Registration</Type> <Required>0</Required> </Field> </Objects> </Response>
loginCustomer
1.1 Customers
Login a customer with their credentials. If the login was valid a customer object is returned.
Important: this API only validates credentials and thus can be used in your own custom widget implementation. This API does NOT log in a user and has no relation to the default bookingswidget.
Please contact support for info about our SSO solution.
- Request
- Response
- Voorbeeld
Username integer | Username required |
Password integer | Password required |
Id integer | |
FirstName First name | |
LastName Last name | |
Insertions Name insertions | |
BirthDate date | Date of birth Format: yyyy-mm-dd |
Gender Gender %HLm = male, f = female%EHL | |
Street Address | |
HouseNr integer | House number |
HouseNrAddition House nummber postfix, like A | |
ZipCode Zipcode | |
City City | |
Country Country | |
Phone Phone number | |
MobilePhone Mobile phone | |
Email Email address | |
Status integer | Status of the customer Possible values: 1 enabled2 disabled3 deleted |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 13:09:34</Date> <Timestamp>1648559374</Timestamp> <Status>success</Status> </Status> <Objects> <Customer> <Id>123</Id> <FirstName>Richard</FirstName> <LastName>Rat</LastName> <Insertions>de</Insertions> <BirthDate></BirthDate> <Gender></Gender> <Street></Street> <HouseNr></HouseNr> <HouseNrAddition></HouseNrAddition> <ZipCode></ZipCode> <City></City> <Country>Curaçao</Country> <Phone>0701234567</Phone> <MobilePhone>0612345678</MobilePhone> <Email>dev@onlineafspraken.nl</Email> <Status>1</Status> <OwnCompany>1</OwnCompany> <SingleSignon>165330574|30864|8aee6a00</SingleSignon> </Customer> </Objects> </Response>
passwordRecovery
1.1 Customers
Sends an email to reset the password to a customer.
- Request
- Response
- Voorbeeld
Email string | Email address of the customer. required |
Message string | Status message after sending the mail. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 13:15:06</Date> <Timestamp>1648559706</Timestamp> <Status>success</Status> </Status> <Customer> <Message>PasswordRecovery link sent</Message> </Customer> </Response>
setCustomer
1.1 Customers
Stores a customer.
- Request
- Response
- Voorbeeld
id integer | If an id is supplied, an existing customer is modified. If not, a new customer is created. |
AccountNumber string | Account number |
Email string | Email address required |
FirstName string | First name required |
LastName string | Last name required |
Insertions string | Name insertions |
BirthDate date | Date of birth Format: yyyy-mm-dd |
Gender string | GenderM male, F female |
Street string | Street |
HouseNr integer | House number |
HouseNrAddition string | House number addition |
ZipCode string | Zipcode |
City string | City |
Country string | Country |
Phone string | Phone number. If this field is not empty it has to be valid. |
MobilePhone string | Mobile phone number. If this field is not empty it has to be valid. |
Status integer | Status of the customer 1enabled 2disabled 3 deleted |
[variabel] string | Possible extra field as retrieved by getFields. Use the Key of the field as the name of the paraneter. |
Username string | Username of the account that the customer can use to login to their account. User account can only be created for new customers. For existing customers this parameter is ignored. If you don't want to create a user account leave this parameter empty. |
Password string | The password of the user account. The password has to be at least 6 characters long. This parameter is required if you use the Username parameter to create a new user account. For existing customers this parameter is ignored. |
Id integer | |
Status integer | Status of the customer Possible values: 1 enabled2 disabled3 deleted |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 14:11:50</Date> <Timestamp>1648563110</Timestamp> <Status>success</Status> </Status> <Objects> <Customer> <Id>123</Id> <Status>1</Status> </Customer> </Objects> </Response>
getAgenda
1.1 General
Retrieves the calendar for the company.
- Request
- Response
- Voorbeeld
Id integer | Id of the calendar |
Id integer | |
Name Name of the calendar | |
DateFormat date | PHP date() date format, example D d/m/Y |
TimeFormat date | PHP date() date format, example H:i |
AlignGrid integer | No. of minutes on which the grid is aligned. Default: 15 |
IsDefault integer | Possible values: 1 Primary calendar0 Secundairy calendar |
BookingUrl Url for the default booking widget |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:14:02</Date> <Timestamp>1648556042</Timestamp> <Status>success</Status> </Status> <Agenda> <Id>1337</Id> <Name></Name> <DateFormat>D d/m/Y</DateFormat> <TimeFormat>H:i</TimeFormat> <AlignGrid>5</AlignGrid> <IsDefault>1</IsDefault> <BookingUrl>https://widget.onlineafspraken.nl/consumer/booking/book/key/xxxxxx-xxxx/l/11111/ln/nl/at/0/rs/0/output/html</BookingUrl> </Agenda> </Response>
getAgendas
1.1 General
Retrieves all calendars of a company.
- Request
- Response
- Voorbeeld
None
Id integer | |
Name Name of the calendar | |
DateFormat date | PHP date() date format, example D d/m/Y |
TimeFormat date | PHP date() date format, example H:i |
AlignGrid integer | Grid alignment in minutes Default: 15 |
IsDefault integer | Possible values: 1 primary calendar0 secundary calendar |
BookingUrl Url for the default booking widget |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:13:15</Date> <Timestamp>1648555995</Timestamp> <Status>success</Status> </Status> <Objects> <Agenda> <Id>1337</Id> <Name></Name> <DateFormat>D d/m/Y</DateFormat> <TimeFormat>H:i</TimeFormat> <AlignGrid>5</AlignGrid> <IsDefault>1</IsDefault> <BookingUrl>https://widget.onlineafspraken.nl/consumer/booking/book/key/xxxxxx-xxxx/l/11111/ln/nl/at/0/rs/0/output/html</BookingUrl> </Agenda> </Objects> </Response>
getAppointmentType
1.1 General
Retrieves a specific appointment type.
- Request
- Response
- Voorbeeld
Id integer | Id of the appointment type required |
Id integer | |
Name Name | |
Description Description | |
SchedulingType Appointment type schedule%HLcapacity, resource%EHL | |
PriceType integer | Pricing type Possible values: 1 fixed price2 from price3 not applicable |
Price float | Price |
Duration integer | Duration of the appointment, in minutes. |
MinTimeBeforeAppointment integer | Mimimum time before appointment, in minutes |
MaxTimeBeforeAppointment integer | Maximum time before appointment, in minutes |
Buffer integer | Buffertime which is reserved after the appointment, in minutes. The total time for the appointment is Duration plus the Buffer. |
CanBeBookedByConsumer integer | Signals if this appointment type can be booked by consumer. Possible values: 1 bookable0 not bookable |
CategoryId integer | Id of the category linked to this appointmentType. |
Capacity integer | Capacity of the appointmentType, if Type is set to capacity. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:27:04</Date> <Timestamp>1648556824</Timestamp> <Status>success</Status> </Status> <Objects> <AppointmentType> <Id>123</Id> <Name>Springkussen</Name> <Description></Description> <Status>1</Status> <SchedulingType>resource</SchedulingType> <PriceType>1</PriceType> <Price>15.00</Price> <Duration>60</Duration> <MinTimeBeforeAppointment>1</MinTimeBeforeAppointment> <MaxTimeBeforeAppointment>4320</MaxTimeBeforeAppointment> <Buffer>0</Buffer> <CanBeBookedByConsumer>1</CanBeBookedByConsumer> <ExplicitEndDate></ExplicitEndDate> <Category>Luilakken</Category> <CategoryId>112</CategoryId> <Capacity>1</Capacity> <ResourceId>187,188,189</ResourceId> </AppointmentType> </Objects> </Response>
getAppointmentTypes
1.1 General
Retrieves all appointment types.
- Request
- Response
- Voorbeeld
None
Id integer | |
Name Name | |
Description Description | |
SchedulingType Appointment type schedule%HLcapacity, resource%EHL | |
PriceType integer | Pricing type Possible values: 1 fixed price2 from price3 not applicable |
Price float | Price |
Duration integer | Duration of the appointment, in minutes. |
MinTimeBeforeAppointment integer | Mimimum time before appointment, in minutes |
MaxTimeBeforeAppointment integer | Maximum time before appointment, in minutes |
Buffer integer | Buffertime which is reserved after the appointment, in minutes. The total time for the appointment is Duration plus the Buffer. |
CanBeBookedByConsumer integer | Signals if this appointment type can be booked by consumer. Possible values: 1 bookable0 not bookable |
CategoryId integer | Id of the category linked to this appointmentType. |
Capacity integer | Capacity of the appointmentType, if Type is set to capacity. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 12:14:48</Date> <Timestamp>1648556088</Timestamp> <Status>success</Status> </Status> <Objects> <AppointmentType> <Id>123</Id> <Name>Buikspieren</Name> <Description></Description> <Status>2</Status> <SchedulingType>resource</SchedulingType> <PriceType>3</PriceType> <Price>0.00</Price> <Duration>30</Duration> <MinTimeBeforeAppointment>1</MinTimeBeforeAppointment> <MaxTimeBeforeAppointment>4320</MaxTimeBeforeAppointment> <Buffer>0</Buffer> <CanBeBookedByConsumer>1</CanBeBookedByConsumer> <ExplicitEndDate></ExplicitEndDate> <Category>Personal Training</Category> <CategoryId>110</CategoryId> <Capacity>1</Capacity> <ResourceId>187,188,189,197</ResourceId> </AppointmentType> <AppointmentType> <Id>124</Id> <Name>Intro buikspieren</Name> <Description></Description> <Status>1</Status> <SchedulingType>resource</SchedulingType> <PriceType>1</PriceType> <Price>20.00</Price> <Duration>60</Duration> <MinTimeBeforeAppointment>1</MinTimeBeforeAppointment> <MaxTimeBeforeAppointment>4320</MaxTimeBeforeAppointment> <Buffer>0</Buffer> <CanBeBookedByConsumer>1</CanBeBookedByConsumer> <ExplicitEndDate></ExplicitEndDate> <Category>Introductieles</Category> <CategoryId>111</CategoryId> <Capacity>1</Capacity> <ResourceId>187,188,189</ResourceId> </AppointmentType> </Objects> </Response>
getResource
1.1 General
Retrieves a specific resource.
- Request
- Response
- Voorbeeld
Id integer | Id of the resource required |
Id integer | |
Name Name | |
Phone Phone number | |
MobilePhone Mobile phone number | |
Email Email address | |
Status integer | Status of the resource Possible values: 1 enabled2 disabled . |
Label integer | [unused field as of API 1.1]. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 13:06:37</Date> <Timestamp>1648559197</Timestamp> <Status>success</Status> </Status> <Resource> <Id>123</Id> <Name>Workout room WO 1</Name> <Code></Code> <Description></Description> <Phone></Phone> <MobilePhone></MobilePhone> <Email></Email> <Status>2</Status> <Label>1</Label> </Resource> </Response>
getResources
1.1 General
Retrieves all resources.
- Request
- Response
- Voorbeeld
None
Id integer | |
Name Name | |
Phone Phone number | |
MobilePhone Mobile phone number | |
Email Email address | |
Status integer | Status of the resource Possible values: 1 enabled2 disabled . |
Label integer | [unused field as of API 1.1]. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 13:01:37</Date> <Timestamp>1648558897</Timestamp> <Status>success</Status> </Status> <Objects> <Resource> <Id>123</Id> <Name>Ies O'Latie PT</Name> <Code></Code> <Description></Description> <Phone></Phone> <MobilePhone></MobilePhone> <Email></Email> <Status>1</Status> <Label>1</Label> </Resource> <Resource> <Id>124</Id> <Name>Workout room WO 1</Name> <Code></Code> <Description></Description> <Phone></Phone> <MobilePhone></MobilePhone> <Email></Email> <Status>2</Status> <Label>1</Label> </Resource> </Objects> </Response>
requiresConfirmation
1.1 General
Determines whether a confirmation code is required to book the appointment. When true, the appointment booking with the setAppointment API remains in PENDING status until confirmation is completed.
This is a global setting. You should retrieve this value once, and not for every appointment.
- Request
- Response
- Voorbeeld
None
Required Signals confirmation is required %HL1 = required, 0 = not required%EHL. |
Voorbeeld request
Response XML
<?xml version="1.0" encoding="UTF-8"?> <Response> <Status> <APIVersion>1.0</APIVersion> <Date>2022-03-29 13:16:27</Date> <Timestamp>1648559787</Timestamp> <Status>success</Status> </Status> <Confirmation> <Required>0</Required> </Confirmation> </Response>