{"openapi":"3.0.0","servers":[{"description":"SwaggerHub API Auto Mocking","url":"https://virtserver.swaggerhub.com/etermin.net/eTermin-API/1.0.0"}],"info":{"version":"1.0.0","title":"eTermin API","description":"With the eTermin API, you can connect your software directly to the eTermin booking system. The API allows you to read all information that is available on the eTermin platform and also allows you to add/modify objects.<br><br>\nMoreover, eTermin will send HTTP(s) push notifications (Webhooks) to an address that can be specified by you after an appointment was created, modified or deleted. All the appointment booking details will be transferred automatically to the 3rd party system. Thus, manual work can be eliminated. <br><br> All Information according to the authentication is available <a href=\"https://www.etermin.net/online-terminplaner-api\" target=\"_blank\">here</a>. <br> For more information about webhooks <a href='https://support.etermin.net/hc/de/articles/22997114721564-eTermin-connection-via-Webhook' target='_blank'>check this article.</a> <br><br>\nIn case you need an API functionality that is not available yet, please contact us and we will check if it can be implemented!"},"paths":{"/api/anchortime":{"post":{"tags":["AnchorTime"],"summary":"Create anchortimes","description":"Use this function to create a new weekly anchortime.","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar. Use the \"Calendar - Get calendar details\" function to get a list with all available calendars.","required":true,"schema":{"type":"integer"}},{"name":"starttime","in":"query","description":"Time of the anchor, e.g. 17:00.","required":true,"schema":{"type":"string"}},{"name":"weekday","in":"query","description":"ID of the weekday 1 = Sunday, 7 = Saturday.","required":true,"schema":{"type":"string"}},{"name":"ignoreonceappbooked","in":"query","description":"If true the anchortime will be ignored once an appointment is booked this day.","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Created successfully!"}}},"put":{"tags":["AnchorTime"],"summary":"Update anchortimes","description":"Use this function to update a weekly anchortime.","parameters":[{"name":"id","in":"query","description":"ID of the anchortime.","required":true,"schema":{"type":"integer"}},{"name":"calendarid","in":"query","description":"ID of the calendar. Use the \"Calendar - Get calendar details\" function to get a list with all available calendars.","required":false,"schema":{"type":"integer"}},{"name":"starttime","in":"query","description":"Time of the anchor, e.g. 17:00.","required":false,"schema":{"type":"string"}},{"name":"weekday","in":"query","description":"ID of the weekday 1 = Sunday, 7 = Saturday.","required":false,"schema":{"type":"integer"}},{"name":"ignoreonceappbooked","in":"query","description":"If true the anchortime will be ignored once an appointment is booked this day.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"1 records updated!"}}},"get":{"tags":["AnchorTime"],"summary":"Get anchortimes details","description":"Use this function if you want to get all information about weekly anchortimes.","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar. Use this parameter if you want to get existing anchortimes for a specific calendar.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":5321},"calendarid":{"type":"integer","example":2342332},"starttime":{"type":"string","example":"18:00:00"},"weekday":{"type":"integer","example":4},"ignoreonceappbooked":{"type":"boolean","example":true}}}}}}}}},"delete":{"tags":["AnchorTime"],"summary":"Delete anchortimes","description":"Use this function to delete a weekly anchortime.","parameters":[{"name":"id","in":"query","description":"ID of the anchortime.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Deleted successfully!"}}}},"/api/anchortimedate":{"post":{"tags":["AnchorTimeDate"],"summary":"Create anchortimes by date","description":"Use this function to create a new anchortime for a specific date.","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar. Use the \"Calendar - Get calendar details\" function to get a list with all available calendars.","required":true,"schema":{"type":"integer"}},{"name":"startdate","in":"query","description":"Date and time of the anchortime. Format is yyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":true,"schema":{"type":"string"}},{"name":"ignoreonceappbooked","in":"query","description":"If true the anchortime will be ignored once an appointment is booked this day.","required":true,"schema":{"type":"boolean"}},{"name":"reason","in":"query","description":"Reason why this anchortime is created.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Created successfully!"}}},"put":{"summary":"Update anchortimes by date","tags":["AnchorTimeDate"],"description":"Use this function to update an anchortime by date.","parameters":[{"name":"id","in":"query","description":"ID of the anchortime.","required":true,"schema":{"type":"integer"}},{"name":"calendarid","in":"query","description":"ID of the calendar. Use the \"Calendar - Get calendar details\" function to get a list with all available calendars.","required":true,"schema":{"type":"integer"}},{"name":"startdate","in":"query","description":"Date and time of the anchortime. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"ignoreonceappbooked","in":"query","description":"If true the anchortime will be ignored once an appointment is booked this day","required":true,"schema":{"type":"boolean"}},{"name":"reason","in":"query","description":"Reason why this anchortime is created","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"1 records updated!"}}},"get":{"tags":["AnchorTimeDate"],"summary":"Get anchortimes by date","description":"Use this function if you want to get all information about anchortimes by date.","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar. Use this parameter if you want to get existing anchortimes for a specific calendar.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":478},"calendarid":{"type":"integer","example":2342332},"startdate":{"type":"string","example":"2022-09-21T10:00:00"},"reason":{"type":"string","example":"Reason"},"ignoreonceappbooked":{"type":"boolean","example":true}}}}}}}}},"delete":{"tags":["AnchorTimeDate"],"summary":"Delete anchortimes by date","description":"Use this function to delete an anchortime by date.","parameters":[{"name":"id","in":"query","description":"ID of the anchortime by date.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Deleted successfully!"}}}},"/api/appointment":{"post":{"tags":["Appointment"],"summary":"Create appointment","description":"Use this function to create a new appointment in the eTermin calendar","parameters":[{"name":"start","in":"query","description":"Start date and time of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End date and time of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 19:00","required":true,"schema":{"type":"string"}},{"name":"calendarid","in":"query","description":"ID of the calendar. Use the 'Calendar - Get calendar details' function to get a list with all available calendars","required":true,"schema":{"type":"integer"}},{"name":"calendarname","in":"query","description":"Name of the calendar (needed for Webpush)","required":false,"schema":{"type":"string"}},{"name":"services","in":"query","description":"ID of the service. Use the 'Service - Get service details' function to get a list with all available services. To use multiple services use a comma (,) to seperate the IDs","schema":{"type":"string"}},{"name":"servicestext","in":"query","description":"Name of the services","required":false,"schema":{"type":"string"}},{"name":"servicesinclsgtext","in":"query","description":"Name of the services including the service groups","required":false,"schema":{"type":"string"}},{"name":"servicesabb","in":"query","description":"Abbreviation of the services","required":false,"schema":{"type":"string"}},{"name":"capacity","in":"query","description":"Defines the capacity of the appointment","schema":{"type":"integer"}},{"name":"capused","in":"query","description":"true if the capacity of the appointment needs to be checked","schema":{"type":"boolean"}},{"name":"capmaxused","in":"query","description":"Maximum capacity that can't be exceeded","schema":{"type":"integer"}},{"name":"location","in":"query","description":"Location of the appointment","schema":{"type":"string"}},{"name":"bookingtype","in":"query","description":"Information about how the appointment is booked","schema":{"type":"string"}},{"name":"bookingurl","in":"query","description":"Information from which URL the appointment got booked","schema":{"type":"string"}},{"name":"checkexist","in":"query","description":"Checks if the appointment start/end time is available (1 = yes, 0 = no). May not work with multiple capacity","schema":{"type":"boolean"}},{"name":"manualconfirmed","in":"query","description":"Set to 0 to have the appointment manually confirmed by the appoinment provider","schema":{"type":"integer"}},{"name":"confirmappointment","in":"query","description":"Set to 1 to have the appointment manually confirmed by the booker, won't work if manualconfirmed is set to 0","schema":{"type":"integer"}},{"name":"confirmtime","in":"query","description":"Time in minutes that the booker is able to confirm the appointment before it gets deleted","schema":{"type":"integer"}},{"name":"language","in":"query","description":"Languagecode, defines in which language the emails are sent","schema":{"type":"string"}},{"name":"sendemail","in":"query","description":"Send a confirmation email to the adress that was specified in the email parameter (1 = yes, 0 = no)","schema":{"type":"boolean"}},{"name":"sms","in":"query","description":"Send a confirmation sms to the phone number that was specified in the phone field (1 = yes, 0 = no).","schema":{"type":"boolean"}},{"name":"notificationmsg","in":"query","description":"Send an information email to the appointment provider (1 = yes, 0 = no).","schema":{"type":"boolean"}},{"name":"sync","in":"query","description":"True if the appointment should be synchronized with external calendars (1 = yes, 0 = no).","schema":{"type":"boolean"}},{"name":"calselid","in":"query","description":"Use this parameter with the value -1 to also use the Calendar Linking function (also requires a valid value for the parameter services)","schema":{"type":"integer"}},{"name":"appointmentreminderhours","in":"query","description":"Defines when the first reminder is sent in hours (needs to be a negative value)","schema":{"type":"integer"}},{"name":"appointmentreminderhours2","in":"query","description":"Defines when the second reminder is sent in hours (needs to be a negative value)","schema":{"type":"integer"}},{"name":"canceldeadline","in":"query","description":"Minutes how long before the startdate the appointment can be cancelled","schema":{"type":"integer"}},{"name":"recurrencerule","in":"query","description":"Recurrence rule. e.g. DTSTART:{20171126T083000Z} DTEND:{20171126T090000Z} RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=WE;","schema":{"type":"string"}},{"name":"recurrenceparentid","in":"query","description":"ID of the parent recurring appointment","schema":{"type":"string"}},{"name":"pricegross","in":"query","description":"Price including vat multiplied by 100 (e.g. 18.50€ = 1850)","schema":{"type":"integer"}},{"name":"pricenet","in":"query","description":"Price excluding vat multiplied by 100 (e.g. 18.50€ = 1850)","schema":{"type":"integer"}},{"name":"vat","in":"query","description":"Vat multiplied by 100 (e.g. 18.50€ = 1850)","schema":{"type":"integer"}},{"name":"salutation","in":"query","description":"Salutation of the person","schema":{"type":"string"}},{"name":"title","in":"query","description":"Title of the person","schema":{"type":"string"}},{"name":"lastname","in":"query","description":"Lastname of the person","schema":{"type":"string"}},{"name":"firstname","in":"query","description":"Firstname of the person","schema":{"type":"string"}},{"name":"email","in":"query","description":"E-Mail of the person","schema":{"type":"string"}},{"name":"phone","in":"query","description":"Phone of the person","schema":{"type":"string"}},{"name":"company","in":"query","description":"Company of the person (make sure this field exists in your account)","schema":{"type":"string"}},{"name":"notes","in":"query","description":"Appointment notes","schema":{"type":"string"}},{"name":"street","in":"query","description":"Street of the person that booked appointment","schema":{"type":"string"}},{"name":"zip","in":"query","description":"Zip of the person that booked appointment","schema":{"type":"string"}},{"name":"city","in":"query","description":"City of the person that booked appointment","schema":{"type":"string"}},{"name":"customernumber","in":"query","description":"ID of the person that booked appointment","schema":{"type":"string"}},{"name":"birthday","in":"query","description":"Date of birth of the person that booked appointment","schema":{"type":"string"}},{"name":"additional1","in":"query","description":"Additional appointment field 1","schema":{"type":"string"}},{"name":"additional2","in":"query","description":"Additional appointment field 2","schema":{"type":"string"}},{"name":"additional3","in":"query","description":"Additional appointment field 3","schema":{"type":"string"}},{"name":"additional4","in":"query","description":"Additional appointment field 4","schema":{"type":"string"}},{"name":"additional5","in":"query","description":"Additional appointment field 5","schema":{"type":"string"}},{"name":"additional6","in":"query","description":"Additional appointment field 6","schema":{"type":"string"}},{"name":"additional7","in":"query","description":"Additional appointment field 7","schema":{"type":"string"}},{"name":"additional8","in":"query","description":"Additional appointment field 8","schema":{"type":"string"}},{"name":"additional9","in":"query","description":"Additional appointment field 9","schema":{"type":"string"}},{"name":"additional10","in":"query","description":"Additional appointment field 10","schema":{"type":"string"}},{"name":"additional11","in":"query","description":"Additional appointment field 11","schema":{"type":"string"}},{"name":"additional12","in":"query","description":"Additional appointment field 12","schema":{"type":"string"}},{"name":"additional13","in":"query","description":"Additional appointment field 13","schema":{"type":"string"}},{"name":"additional14","in":"query","description":"Additional appointment field 14","schema":{"type":"string"}},{"name":"additional15","in":"query","description":"Additional appointment field 15","schema":{"type":"string"}},{"name":"additional16","in":"query","description":"Additional appointment field 16","schema":{"type":"string"}},{"name":"additional17","in":"query","description":"Additional appointment field 17","schema":{"type":"string"}},{"name":"additional18","in":"query","description":"Additional appointment field 18","schema":{"type":"string"}},{"name":"additional19","in":"query","description":"Additional appointment field 19","schema":{"type":"string"}},{"name":"additional20","in":"query","description":"Additional appointment field 20","schema":{"type":"string"}},{"name":"agbaccepted","in":"query","description":"true if customer accepted the terms of service","schema":{"type":"boolean"}},{"name":"dataprivacyaccepted","in":"query","description":"true if customer accepted the privacy terms","schema":{"type":"boolean"}},{"name":"feedbackpermissionaccepted","in":"query","description":"true if the customer should get a feedback mail","schema":{"type":"boolean"}},{"name":"newsletter","in":"query","description":"true if the customer accepted to get newsletters","schema":{"type":"boolean"}},{"name":"bookerinfo","in":"query","description":"Parameter that includes information for the notification message to the appointment provider","schema":{"type":"string"}},{"name":"emailm","in":"query","description":"Checks if there is an email, if set to 1","schema":{"type":"integer"}},{"name":"lnm","in":"query","description":"Checks if there is a lastname, if set to 1","schema":{"type":"integer"}},{"name":"blacklist","in":"query","description":"Checks if the email is on the blacklist, if set to 1","schema":{"type":"integer"}}],"responses":{"200":{"description":"Appointment created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"ID":{"type":"string","example":"3df7eae2-7bd6-4c96-ad79-61d53d7f78b5"},"IID":{"type":"number","example":104201803},"IIDE":{"type":"string","example":"MTA0MjAxODAz"},"Status":{"type":"number","example":200},"StatusMsg":{"type":"string","example":"Appointment created successfully!"},"AdditionalInformation":{"type":"string","example":"3DF7EAE2"}}}}}}}},"put":{"tags":["Appointment"],"summary":"Update appointment","description":"Use this function if you want to update details of an existing appointment.","parameters":[{"name":"id","in":"query","description":"ID of the appointment that you want to modify.","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start date and time of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","schema":{"type":"string","format":"date-time"}},{"name":"end","in":"query","description":"End date and time of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 19:00","schema":{"type":"string","format":"date-time"}},{"name":"calendarid","in":"query","description":"ID of the calendar.","schema":{"type":"integer"}},{"name":"calendarname","in":"query","description":"Name of the calendar (needed for Webpush)","required":false,"schema":{"type":"string"}},{"name":"services","in":"query","description":"ID of the service. Use the 'Service - Get service details' function to get a list with all available services. To use multiple services use a comma (,) to seperate the IDs","schema":{"type":"string"}},{"name":"servicestext","in":"query","description":"Name of the services","required":false,"schema":{"type":"string"}},{"name":"servicesinclsgtext","in":"query","description":"Name of the services including the service groups","required":false,"schema":{"type":"string"}},{"name":"servicesabb","in":"query","description":"Abbreviation of the services","required":false,"schema":{"type":"string"}},{"name":"capacity","in":"query","description":"Defines the capacity of the appointment","schema":{"type":"integer"}},{"name":"location","in":"query","description":"Location of the appointment","schema":{"type":"string"}},{"name":"manualconfirmed","in":"query","description":"Set to 0 to have the appointment manually confirmed by the appoinment provider, set to 1 if the appointment got confirmed","schema":{"type":"integer"}},{"name":"sendemail","in":"query","description":"Send a confirmation email to the adress that was specified in the email parameter (1 = yes, 0 = no).","schema":{"type":"boolean"}},{"name":"msgtype","in":"query","description":"ID of the template that is sent to the customer with the API call","schema":{"type":"integer"}},{"name":"sendsms","in":"query","description":"Send a confirmation SMS to the phone number that was specified in the phone parameter (1 = yes, 0 = no).","schema":{"type":"boolean"}},{"name":"msgtypesms","in":"query","description":"ID of the template that is sent to the customer via SMS with the API call (required to send a SMS)","schema":{"type":"integer"}},{"name":"notificationmsg","in":"query","description":"Send an information email to the appointment provider (1 = yes, 0 = no).","schema":{"type":"boolean"}},{"name":"sync","in":"query","description":"True if the appointment should be synchronized with external calendars (1 = yes, 0 = no).","schema":{"type":"boolean"}},{"name":"appointmentreminderhours","in":"query","description":"Defines when the first reminder is sent in hours (needs to be a negative value)","schema":{"type":"integer"}},{"name":"appointmentreminderhours2","in":"query","description":"Defines when the second reminder is sent in hours (needs to be a negative value)","schema":{"type":"integer"}},{"name":"canceldeadline","in":"query","description":"Minutes how long before the startdate the appointment can be cancelled","schema":{"type":"integer"}},{"name":"recurrencerule","in":"query","description":"Recurrence rule. e.g. DTSTART:20171126T083000Z DTEND:20181126T090000Z RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=WE;","schema":{"type":"string"}},{"name":"pricegross","in":"query","description":"Price including vat multiplied by 100 (e.g. 18.50€ = 1850)","schema":{"type":"integer"}},{"name":"pricenet","in":"query","description":"Price excluding vat multiplied by 100 (e.g. 18.50€ = 1850)","schema":{"type":"integer"}},{"name":"vat","in":"query","description":"Vat multiplied by 100 (e.g. 18.50€ = 1850)","schema":{"type":"integer"}},{"name":"linkedappidmanual","in":"query","description":"AppID of the linked app if the calendar linking should be applied after two appointments are booked. Keep in mind to update the second appointment aswell","schema":{"type":"integer"}},{"name":"salutation","in":"query","description":"Salutation of the person.","schema":{"type":"string"}},{"name":"title","in":"query","description":"Title of the person.","schema":{"type":"string"}},{"name":"lastname","in":"query","description":"Lastname of the person.","schema":{"type":"string"}},{"name":"firstname","in":"query","description":"Firstname of the person.","schema":{"type":"string"}},{"name":"email","in":"query","description":"E-Mail of the person.","schema":{"type":"string"}},{"name":"phone","in":"query","description":"Phone of the person.","schema":{"type":"string"}},{"name":"company","in":"query","description":"Company of the person (make sure this field exists in your account)","schema":{"type":"string"}},{"name":"notes","in":"query","description":"Appointment notes.","schema":{"type":"string"}},{"name":"street","in":"query","description":"Street.","schema":{"type":"string"}},{"name":"zip","in":"query","description":"Zip.","schema":{"type":"string"}},{"name":"city","in":"query","description":"City.","schema":{"type":"string"}},{"name":"customernumber","in":"query","description":"ID of the person that booked appointment.","schema":{"type":"string"}},{"name":"additional1","in":"query","description":"Additional appointment field 1.","schema":{"type":"string"}},{"name":"additional2","in":"query","description":"Additional appointment field 2.","schema":{"type":"string"}},{"name":"additional3","in":"query","description":"Additional appointment field 3.","schema":{"type":"string"}},{"name":"additional4","in":"query","description":"Additional appointment field 4.","schema":{"type":"string"}},{"name":"additional5","in":"query","description":"Additional appointment field 5.","schema":{"type":"string"}},{"name":"additional6","in":"query","description":"Additional appointment field 6.","schema":{"type":"string"}},{"name":"additional7","in":"query","description":"Additional appointment field 7.","schema":{"type":"string"}},{"name":"additional8","in":"query","description":"Additional appointment field 8.","schema":{"type":"string"}},{"name":"additional9","in":"query","description":"Additional appointment field 9.","schema":{"type":"string"}},{"name":"additional10","in":"query","description":"Additional appointment field 10.","schema":{"type":"string"}},{"name":"additional11","in":"query","description":"Additional appointment field 11.","schema":{"type":"string"}},{"name":"additional12","in":"query","description":"Additional appointment field 12.","schema":{"type":"string"}},{"name":"additional13","in":"query","description":"Additional appointment field 13.","schema":{"type":"string"}},{"name":"additional14","in":"query","description":"Additional appointment field 14.","schema":{"type":"string"}},{"name":"additional15","in":"query","description":"Additional appointment field 15.","schema":{"type":"string"}},{"name":"additional16","in":"query","description":"Additional appointment field 16.","schema":{"type":"string"}},{"name":"additional17","in":"query","description":"Additional appointment field 17.","schema":{"type":"string"}},{"name":"additional18","in":"query","description":"Additional appointment field 18.","schema":{"type":"string"}},{"name":"additional19","in":"query","description":"Additional appointment field 19.","schema":{"type":"string"}},{"name":"additional20","in":"query","description":"Additional appointment field 20.","schema":{"type":"string"}}],"responses":{"200":{"description":"1 record(s) updated!"}}},"get":{"tags":["Appointment"],"summary":"Get appointment details","description":"Use this function if you want to get all appointment details that are stored on the eTermin platform. You can use the start/end parameters the get all appointments within a specific time span or the id parameter to get the appointment details of a specific appointment. <br><b>At least one parameter is mandatory!</b>","parameters":[{"name":"appid","in":"query","description":"ID of an appointment. (relates to the ID)","required":false,"schema":{"type":"number"}},{"name":"id","in":"query","description":"ID of an appointment. (relates to the ExternalID)","required":false,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start date of the appointments. Format yyyy-mm-dd. It will return a list with all appointments that are between \"start\" and \"end\".","required":false,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End date of the appointments. Format yyyy-mm-dd. It will return a list with all appointments that are between \"start\" and \"end\".","required":false,"schema":{"type":"string"}},{"name":"bycreationdate","in":"query","description":"Changes the start and end parameters to look for the creation date instead of the date, the appointment takes place","required":false,"schema":{"type":"boolean"}},{"name":"calendarid","in":"query","description":"IDs of the calendars that you want to get appointments from, you can separate multiple calendars with a \",\"","required":false,"schema":{"type":"string"}},{"name":"wl","in":"query","description":"Set to 1 if you want to get all appointments on the Waiting List (start and end parameters required)","required":false,"schema":{"type":"boolean"}},{"name":"pbl","in":"query","description":"Set to 1 if you want to get all appointments on the Reservation List (start and end parameters not required)","required":false,"schema":{"type":"boolean"}},{"name":"cid","in":"query","description":"Use a customer ID to see all appointments that are related to this customer. (start and end parameters not required)","required":false,"schema":{"type":"integer"}},{"name":"email","in":"query","description":"Use an email address to see all appointments that are related to this email. (start and end parameters required)","required":false,"schema":{"type":"string"}},{"name":"limited","in":"query","description":"Reduces the amount of information that the response have. Set to 1 if you want basic information about a lot of appointments.","required":false,"schema":{"type":"boolean"}},{"name":"manualconfirmed","in":"query","description":"If set to 0 shows all appointments in the specified timeframe (start and end) that are not confirmed yet","required":false,"schema":{"type":"boolean"}},{"name":"noholidays","in":"query","description":"Only shows appointments that are no holidays and not blocked appointments.","required":false,"schema":{"type":"boolean"}},{"name":"noholidays2","in":"query","description":"Only shows appointments that are no holidays. (bookingtype <> \"Holiday\")","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"ID":{"type":"number","example":18341775},"ExternalID":{"type":"string","example":"D0F61844-C056-4443-A628-F85F7F2F235D"},"StartDateTime":{"type":"string","example":"2017-03-21T10:00:00"},"EndDateTime":{"type":"string","example":"2017-03-21T11:00:00"},"StartDateTimeUTC":{"type":"string","example":"2017-03-20T11:00:00"},"EndDateTimeUTC":{"type":"string","example":"2017-03-21T12:00:00"},"CreationDate":{"type":"string","example":"2017-03-21T12:44:56.187"},"CalendarID":{"type":"integer","example":2342332},"Title":{"type":"string","example":""},"LastName":{"type":"string","example":"Test"},"FirstName":{"type":"string","example":"Test"},"Email":{"type":"string","example":"test@example.com"},"Phone":{"type":"string","example":""},"Birthday":{"type":"string","example":""},"Notes":{"type":"string","example":""},"Salutation":{"type":"string","example":""},"Street":{"type":"string","example":""},"ZIP":{"type":"string","example":""},"Town":{"type":"string","example":""},"CustomerNumber":{"type":"string","example":""},"Additional1":{"type":"string","example":""},"Additional2":{"type":"string","example":""},"Additional3":{"type":"string","example":""},"Additional4":{"type":"string","example":""},"Additional5":{"type":"string","example":""},"Additional6":{"type":"string","example":""},"Additional7":{"type":"string","example":""},"Additional8":{"type":"string","example":""},"Additional9":{"type":"string","example":""},"Additional10":{"type":"string","example":""},"Additional11":{"type":"string","example":""},"Additional12":{"type":"string","example":""},"Additional13":{"type":"string","example":""},"Additional14":{"type":"string","example":""},"Additional15":{"type":"string","example":""},"Additional16":{"type":"string","example":""},"Additional17":{"type":"string","example":""},"Additional18":{"type":"string","example":""},"Additional19":{"type":"string","example":""},"Additional20":{"type":"string","example":""},"SelectedAnswers":{"type":"string","example":"42983,45345"},"Status":{"type":"integer","example":0},"BookingType":{"type":"string","example":""},"BookingTypeOriginal":{"type":"string","example":""},"BookingLanguage":{"type":"string","example":""},"AppCapacity":{"type":"integer","example":1},"LinkedAppID":{"type":"integer","example":-1},"SummaryCalDav":{"type":"string","example":null},"RecurrenceRule":{"type":"string","example":null},"RecurrenceParentID":{"type":"integer","example":null},"RecurrenceID":{"type":"integer","example":null},"Sequence":{"type":"integer","example":-1},"MultiAppID":{"type":"integer","example":-1},"SeveralTimeSlots":{"type":"string","example":""},"AttachmentLink1":{"type":"string","example":null},"AttachmentLink2":{"type":"string","example":null},"AttachmentLink3":{"type":"string","example":null},"AttachmentLink4":{"type":"string","example":null},"AttachmentLink5":{"type":"string","example":null},"AttachmentLink6":{"type":"string","example":null},"appattrib":{"type":"number","example":0},"WaitNumber":{"type":"string","example":null},"Location":{"type":"string","example":""},"PreTimeMin":{"type":"number","example":0},"PostTimeMin":{"type":"number","example":0},"RecurrenceState":{"type":"number","example":0},"ServicesCapacity":{"type":"string","example":""},"BlockedApp":{"type":"boolean","example":false},"VoucherValue":{"type":"number","example":0},"VoucherCode":{"type":"string","example":""},"ManualConfirmed":{"type":"number","example":-1},"ServicesText":{"type":"string","example":""},"PriceGross":{"type":"number","example":0},"BookingURL":{"type":"string","example":""},"IsReadOnly":{"type":"boolean","example":false},"PaymentMethod":{"type":"number","example":-1},"TransactionID":{"type":"string","example":""},"CalendarName":{"type":"string","example":"Employee A"},"CalendarsSyncReadOnly":{"type":"number","example":-1},"State":{"type":"string","example":""},"Reference":{"type":"string","example":"D0F61844"},"contactid":{"type":"number","example":null},"meetingtype":{"type":"number","example":-1},"meetingid":{"type":"string","example":-1},"isfirst":{"type":"boolean","example":false},"servicescapacitytext":{"type":"string","example":""},"country":{"type":"string","example":""},"timezone":{"type":"string","example":"W. Europe Standard Time"},"company":{"type":"string","example":""}}}}}}}}},"delete":{"tags":["Appointment"],"summary":"Delete appointment","description":"Use this function to delete an appointment in the eTermin calendar. You can either use the id of a specific appointment or the start/end parameters to delete all appointments within a specific time span.","parameters":[{"name":"appid","in":"query","description":"AppID of the appointment (relates to the ID)","required":false,"schema":{"type":"number"}},{"name":"id","in":"query","description":"ID of the appointment, <b>use externalid instead, if you use the parameter sync=1 or sendemail=1</b> (relates to the ExternalID)","required":false,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start date of the appointments.","required":false,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End date of the appointments.","required":false,"schema":{"type":"string"}},{"name":"sync","in":"query","description":"True if the appointment should be synchronized with external calendars (use externalid instead of id Parameter)","required":false,"schema":{"type":"boolean"}},{"name":"sendemail","in":"query","description":"True if an email should be sent to the customer (use externalid instead of id Parameter)","required":false,"schema":{"type":"boolean"}},{"name":"msgtype","in":"query","description":"Defines which template should be sent","required":false,"schema":{"type":"number"}}],"responses":{"200":{"description":"1 record(s) deleted"}}}},"/api/appointmentdeleted":{"get":{"tags":["AppointmentDeleted"],"summary":"Get Deleted Appointments","description":"Returns all appointments that got deleted during the specified time span.","parameters":[{"name":"start","in":"query","description":"Start day when appointment(s) got deleted. Format: yyyy-mm-dd. It will return a list with all appointments that are between start and end","required":false,"schema":{"type":"string","format":"date"}},{"name":"end","in":"query","description":"End day when appointment(s) got deleted. Format: yyyy-mm-dd. It will return a list with all appointments there are between start and end","required":false,"schema":{"type":"string","format":"date"}},{"name":"id","in":"query","description":"External ID of an appointment, it returns only the information of the specific appointment. Start and end parameters are getting ignored if used","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"rc":{"type":"number","example":1},"ExternalID":{"type":"string","example":"0858C2F1-1C3E-4539-A345-5BCD7944BC43"},"AppID":{"type":"number","example":86955186},"TimeStamp":{"type":"string","example":"2017-05-15T23:14:26.843"},"calendarid":{"type":"integer","example":2342332},"CalendarName":{"type":"string","example":"Name of the calendar"},"StartDateTime":{"type":"string","example":"2017-05-15T11:30:00"},"EndDateTime":{"type":"string","example":"2017-05-15T12:30:00"},"StartDateTimeUTC":{"type":"string","example":"2017-05-15T10:30:00"},"EndDateTimeUTC":{"type":"string","example":"2017-05-15T11:30:00"},"LastName":{"type":"string","example":"customer last name"},"FirstName":{"type":"string","example":"customer first name"},"Email":{"type":"string","example":""},"Phone":{"type":"string","example":""},"DeletedBy":{"type":"string","example":"Online"},"ServicesText":{"type":"string","example":"service description"},"Notes":{"type":"string","example":"reason"},"CustomerNumber":{"type":"string","example":""}}}}}}}}}},"/api/appointmentsync":{"post":{"tags":["AppointmentSync"],"summary":"Create Appointment","description":"Create a new appointment","parameters":[{"name":"appointmentid","in":"query","description":"ID of the appointment","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start date and time of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End date and time of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 19:00","required":true,"schema":{"type":"string"}},{"name":"startutc","in":"query","description":"Start date and time(utc) of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":true,"schema":{"type":"string"}},{"name":"endutc","in":"query","description":"End date and time (utc) of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 19:00","required":true,"schema":{"type":"string"}},{"name":"calendarid","in":"query","description":"ID of the calendar","required":true,"schema":{"type":"integer"}},{"name":"summary","in":"query","description":"Title (subject) of the appointment","required":true,"schema":{"type":"string"}},{"name":"description","in":"query","description":"Body text of the appointment","required":true,"schema":{"type":"string"}},{"name":"email","in":"query","description":"E-Mail","required":false,"schema":{"type":"string"}},{"name":"recurrencerule","in":"query","description":"Recurrence rule","required":false,"schema":{"type":"string"}},{"name":"recurrenceparentid","in":"query","description":"ID of the parent recurring appointment","required":false,"schema":{"type":"string"}},{"name":"sequence","in":"query","description":"Sequence of the recurring appointment. Leave it empty if it is not an recurring appointment","required":false,"schema":{"type":"string"}},{"name":"location","in":"query","description":"Location","required":false,"schema":{"type":"string"}},{"name":"sendemail","in":"query","description":"Send a confirmation email to the adress that was specified in the email parameter (1 = yes, 0 = no)","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Appointment created successfully!"}}},"put":{"tags":["AppointmentSync"],"summary":"Update Appointment","description":"Update an existing appointment","parameters":[{"name":"appointmentid","in":"query","description":"ID of the appointment","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start date and time of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End date and time of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 19:00","required":true,"schema":{"type":"string"}},{"name":"startutc","in":"query","description":"Start date and time(utc) of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":true,"schema":{"type":"string"}},{"name":"endutc","in":"query","description":"End date and time (utc) of the appointment. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 19:00","required":true,"schema":{"type":"string"}},{"name":"calendarid","in":"query","description":"ID of the calendar","required":true,"schema":{"type":"integer"}},{"name":"summary","in":"query","description":"Title (subject) of the appointment","required":true,"schema":{"type":"string"}},{"name":"description","in":"query","description":"Body text of the appointment","required":true,"schema":{"type":"string"}},{"name":"email","in":"query","description":"E-Mail","required":false,"schema":{"type":"string"}},{"name":"recurrencerule","in":"query","description":"Recurrence rule","required":false,"schema":{"type":"string"}},{"name":"recurrenceparentid","in":"query","description":"ID if the parent recurring appointment","required":false,"schema":{"type":"string"}},{"name":"sequence","in":"query","description":"Sequence of the recurring appointment. Leave it empty if it is not an recurring appointment","required":false,"schema":{"type":"string"}},{"name":"location","in":"query","description":"Location","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"1 record(s) updated!"}}},"get":{"tags":["AppointmentSync"],"summary":"Sync Appointments","description":"Gets all inserted (I), modified (U) and deleted (D) appointments that were modified on the eTermin platform. The parameter 'SyncStatus' contains the status of the appointment (U, I, D). You can call this function e.g. every 5 minutes to get all appointments that were added, modified or deleted within the last 5 minutes on the eTermin platform. Important: If the SyncStatus returns 'U' and the appointment does not exist in your application, please insert this appointment in your application. There can be cases that the 'SyncStatus' returns 'U' although the appointment does not yet exist in your application.","parameters":[{"name":"synctoken","in":"query","description":"SyncToken. If you start the synchronization the first time, please use 1. eTermin will return a (new) SyncToken after each call. This value can be found in the header. Please use then the new SnycToken when you call the api function again.","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":"Successful operation","headers":{"SyncToken":{"description":"SyncToken","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"SyncStatus":{"type":"string","example":"I"},"ID":{"type":"integer","example":18341775},"ExternalID":{"type":"string","example":"D0F61844-C056-4443-A628-F85F7F2F235D"},"StartDateTime":{"type":"string","example":"2017-03-21T10:00:00"},"EndDateTime":{"type":"string","example":"2017-03-21T11:00:00"},"BookingDate":{"type":"string","example":"2017-03-21T12:44:56.19"},"StartDateTimeUTC":{"type":"string","example":"2017-03-20T11:00:00"},"EndDateTimeUTC":{"type":"string","example":"2017-03-21T12:00:00"},"BookingDateUTC":{"type":"string","example":"2017-03-21T11:44:56.19"},"CreationDate":{"type":"string","example":"2017-03-21T12:44:56.187"},"CalendarID":{"type":"integer","example":2342332},"Title":{"type":"string","example":""},"LastName":{"type":"string","example":"Test"},"FirstName":{"type":"string","example":"Test"},"Email":{"type":"string","example":"test@example.com"},"Phone":{"type":"string","example":""},"Birthday":{"type":"string","example":""},"Notes":{"type":"string","example":""},"Salutation":{"type":"string","example":""},"Street":{"type":"string","example":""},"ZIP":{"type":"string","example":""},"Town":{"type":"string","example":""},"CustomerNumber":{"type":"string","example":""},"Additional1":{"type":"string","example":""},"Additional2":{"type":"string","example":""},"Additional3":{"type":"string","example":""},"Additional4":{"type":"string","example":""},"Additional5":{"type":"string","example":""},"Additional6":{"type":"string","example":""},"SelectedAnswers":{"type":"string","example":"service description"},"ServiceIDs":{"type":"string","example":"42983,45345"},"Status":{"type":"integer","example":0},"BookingType":{"type":"string","example":""},"BookingLanguage":{"type":"string","example":""},"AppCapacity":{"type":"integer","example":1},"LinkedAppID":{"type":"integer","example":-1},"SummaryCalDav":{"type":"string","example":null},"RecurrenceRule":{"type":"string","example":null},"RecurrenceParentID":{"type":"string","example":null},"RecurrenceID":{"type":"string","example":null},"Sequence":{"type":"integer","example":-1},"MultiAppID":{"type":"integer","example":-1},"AttachmentLink1":{"type":"string","example":null},"AttachmentLink2":{"type":"string","example":null},"AttachmentLink3":{"type":"string","example":null},"AttachmentLink4":{"type":"string","example":null},"AttachmentLink5":{"type":"string","example":null},"AttachmentLink6":{"type":"string","example":null},"LinkedMaster":{"type":"boolean","example":false},"Location":{"type":"string","example":""},"SyncKey":{"type":"integer","example":90},"ManualConfirmed":{"type":"number","example":-1},"BlockedApp":{"type":"number","example":0},"CalendarsSyncReadOnly":{"type":"number","example":-1},"BookingTypeOriginal":{"type":"string","example":""},"Reference":{"type":"string","example":"D0F61844"},"ContactID":{"type":"number","example":29824065},"a7":{"type":"string","example":""},"a8":{"type":"string","example":""},"a9":{"type":"string","example":""},"a10":{"type":"string","example":""},"a11":{"type":"string","example":""},"a12":{"type":"string","example":""},"a13":{"type":"string","example":""},"a14":{"type":"string","example":""},"a15":{"type":"string","example":""},"a16":{"type":"string","example":""},"a17":{"type":"string","example":""},"a18":{"type":"string","example":""},"a19":{"type":"string","example":""},"a20":{"type":"string","example":""},"AppAttrib":{"type":"number","example":0}}}}}}}}},"delete":{"tags":["AppointmentSync"],"summary":"Delete Appointment","description":"Use this function to delete an appointment in the eTermin calendar. You can either use the id of a specific appointment or the start/end parameters to delete all appointments within a specific time span.","parameters":[{"name":"appointmentid","in":"query","description":"ID of the appointment","required":false,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start date of the appointments.","required":false,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End date of the appointments.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"1 record(s) deleted"}}}},"/api/bookingpagelogs":{"get":{"tags":["BookingPageLogs"],"summary":"Get requests bookingpage","description":"Use this function if you want to get all requests of your booking page. You can only get the booking page requests of the last 30 days.","parameters":[{"name":"datefrom","in":"query","description":"Start date of the requests. Format: yyyy-mm-dd.","required":true,"schema":{"type":"string"}},{"name":"summaryonly","in":"query","description":"Set to 1 to only get a summary of all requests, not every single request.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success-Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"datetime":{"type":"string","example":"2023-12-15T15:14:59.347"},"ip":{"type":"string","example":"1.1.1.1"},"pi":{"type":"integer","example":1},"browser":{"type":"string","example":"Firefox 120.0 WinNT"},"rc":{"type":"integer","example":5}}}}}}}}}},"/api/calendar":{"post":{"tags":["Calendar"],"summary":"Create calendar","description":"Use this function to create a new calendar","responses":{"200":{"description":"Calendar created successfully!"}}},"put":{"tags":["Calendar"],"summary":"Update calendar","description":"Use this function if you want to update details of an existing calendar/employee/ressource.","parameters":[{"name":"id","in":"query","description":"ID of the calendar","required":true,"schema":{"type":"integer"}},{"name":"calendarname","in":"query","description":"Name of the calendar. This name is used for all languages","required":false,"schema":{"type":"string"}},{"name":"descriptionlanguagecode","in":"query","description":"e.g. descriptionde adds additional information for this calendar in German language. descriptionen in English etc.","required":false,"schema":{"type":"string"}},{"name":"descriptiondisplaytype","in":"query","description":"defines if the description is shown on the bookingpage <br> 0 = not shown<br> 1 = shown under calendar name<br> 2 = shown as tooltip","required":false,"schema":{"type":"integer"}},{"name":"enablecapacity","in":"query","description":"Several appointments can be booked at the same time","required":false,"schema":{"type":"boolean"}},{"name":"maxcapacity","in":"query","description":"Maximum capacity of appointments that can be booked at the same time","required":false,"schema":{"type":"integer"}},{"name":"differentlocation","in":"query","description":"The location of the calendar is different than the main location","required":false,"schema":{"type":"boolean"}},{"name":"name","in":"query","description":"Name of the different company name","required":false,"schema":{"type":"string"}},{"name":"street","in":"query","description":"Street","required":false,"schema":{"type":"string"}},{"name":"zip","in":"query","description":"ZIP","required":false,"schema":{"type":"string"}},{"name":"city","in":"query","description":"City","required":false,"schema":{"type":"string"}},{"name":"country","in":"query","description":"Country","required":false,"schema":{"type":"string"}},{"name":"telephone","in":"query","description":"Telephone","required":false,"schema":{"type":"string"}},{"name":"mobilephone","in":"query","description":"MobilePhone","required":false,"schema":{"type":"string"}},{"name":"emaillocation","in":"query","description":"Email","required":false,"schema":{"type":"string"}},{"name":"web","in":"query","description":"Internet address","required":false,"schema":{"type":"string"}},{"name":"completeappointmentwithinopeninghours","in":"query","description":"If you have configured services where free, idle or down times between appointments occur, you can define whether these should be within the defined available times.","required":false,"schema":{"type":"boolean"}},{"name":"smsnotification","in":"query","description":"Employee will be informed by SMS if an appointment was booked","required":false,"schema":{"type":"boolean"}},{"name":"smsphonenumber","in":"query","description":"Number of the phone","required":false,"schema":{"type":"string"}},{"name":"smstimespanhours","in":"query","description":"Threshold (in hours) if SMS should be sent","required":false,"schema":{"type":"number"}},{"name":"calendartype","in":"query","description":"Main calendar (0) or sub calendar (1)","required":false,"schema":{"type":"boolean"}},{"name":"limittoduration","in":"query","description":"Calendar can only handle appointments that have a certain length (defined in maxduration)","required":false,"schema":{"type":"number"}},{"name":"maxduration","in":"query","description":"Maximum appointment duration (minutes)","required":false,"schema":{"type":"number"}},{"name":"waitingnr","in":"query","description":"Calculate waiting number","required":false,"schema":{"type":"boolean"}},{"name":"wnprefix","in":"query","description":"Prefix of the waiting number","required":false,"schema":{"type":"string"}},{"name":"wnstartnr","in":"query","description":"Start number of the waiting number","required":false,"schema":{"type":"number"}}],"responses":{"200":{"description":"1 records updated!"}}},"get":{"tags":["Calendar"],"summary":"Get calendar details","description":"Returns all calendars that are available for the specific account.","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar, if you only need to get the details of a single calendar","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success-Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"CalendarID":{"type":"integer","example":34611},"TimeSlotMinutes":{"type":"integer","example":0},"CalendarName":{"type":"string","example":"Employee A"},"DescriptionDE":{"type":"string","example":null},"DescriptionEN":{"type":"string","example":null},"DescriptionBG":{"type":"string","example":null},"DescriptionIT":{"type":"string","example":null},"DescriptionFR":{"type":"string","example":null},"DescriptionJA":{"type":"string","example":null},"DescriptionRU":{"type":"string","example":null},"DescriptionHU":{"type":"string","example":null},"DescriptionES":{"type":"string","example":null},"DescriptionNL":{"type":"string","example":null},"DescriptionPL":{"type":"string","example":null},"DescriptionAR":{"type":"string","example":null},"DescriptionPT":{"type":"string","example":null},"DefaultAppDuration":{"type":"integer","example":null},"DefaultTimePattern":{"type":"string","example":null},"AllAnswersSupported":{"type":"boolean","example":false},"EnableCapacity":{"type":"boolean","example":false},"MinCapacity":{"type":"integer","example":1},"MaxCapacity":{"type":"integer","example":30},"AppInterval":{"type":"integer","example":0},"DifferentIntervals":{"type":"boolean","example":false},"CheckStartTimeOnlyWhenCapacity":{"type":"boolean","example":false},"EMail":{"type":"string","example":""},"Enabled":{"type":"boolean","example":true},"DifferentLocation":{"type":"boolean","example":false},"Name":{"type":"string","example":null},"Street":{"type":"string","example":null},"ZIP":{"type":"string","example":null},"Town":{"type":"string","example":null},"Country":{"type":"string","example":null},"Telephone":{"type":"string","example":null},"MobilePhone":{"type":"string","example":null},"EMailLocation":{"type":"string","example":null},"Web":{"type":"string","example":null},"CompleteAppointmentWithinOpeningHours":{"type":"boolean","example":false},"TransparentMarkAsOccupied":{"type":"boolean","example":false},"SMSNotification":{"type":"boolean","example":false},"SMSPhoneNumber":{"type":"string","example":null},"SMSTimeSpanHours":{"type":"string","example":"-1"},"SeveralLocations":{"type":"boolean","example":false},"CalendarType":{"type":"integer","example":0},"LastBookingDateTime":{"type":"number","example":1702653368000},"LimitToDuration":{"type":"boolean","example":false},"MaxDuration":{"type":"integer","example":10000},"WaitingNr":{"type":"boolean","example":false},"WNPrefix":{"type":"string","example":null},"WNStartNr":{"type":"integer","example":100},"UseReceiverAsSenderEmail":{"type":"boolean","example":false},"EMailManualConfirm":{"type":"string","example":null},"CalendarGroup":{"type":"string","example":null},"Cluster":{"type":"integer","example":-1},"SortIdx":{"type":"integer","example":1},"DurationFactor":{"type":"integer","example":100},"ExternalReference":{"type":"string","example":null},"EMailConfirmMsg":{"type":"boolean","example":true}}}}}}}}},"delete":{"tags":["Calendar"],"summary":"Delete calendar","description":"Use this function if you want to delete a calendar","parameters":[{"name":"id","in":"query","description":"ID of the calendar","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"1 record(s) deleted!"}}}},"/api/calendarreturntime":{"post":{"tags":["CalendarReturnTime"],"summary":"Create a return time","description":"Use this function to create a new return time.","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar. Use the \"Calendar - Get calendar details\" function to get a list with all available calendars.","required":true,"schema":{"type":"integer"}},{"name":"starttime","in":"query","description":"Start time of the return time. Format: HH:MM e.g. 18:00","required":true,"schema":{"type":"string"}},{"name":"endtime","in":"query","description":"End time of the return time. Format: HH:MM e.g. 18:00","required":true,"schema":{"type":"string"}},{"name":"weekdayidx","in":"query","description":"ID of the weekday 1=Sunday, 7 = Saturday.","required":true,"schema":{"type":"integer"}},{"name":"newday","in":"query","description":"If true the return time will end on the next day. Use this if you have a return time over midnight.","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Return time created successfully!"}}},"put":{"tags":["CalendarReturnTime"],"summary":"Update a return time","description":"Use this function to update a return time.","parameters":[{"name":"id","in":"query","description":"ID of the return time.","required":true,"schema":{"type":"integer"}},{"name":"calendarid","in":"query","description":"ID of the calendar. Use the \"Calendar - Get calendar details\" function to get a list with all available calendars.","required":false,"schema":{"type":"integer"}},{"name":"starttime","in":"query","description":"Start time of the return time. Format: HH:MM e.g. 18:00","required":false,"schema":{"type":"string"}},{"name":"endtime","in":"query","description":"End time of the return time. Format: HH:MM e.g. 18:00","required":false,"schema":{"type":"string"}},{"name":"weekdayidx","in":"query","description":"ID of the weekday 1=Sunday, 7 = Saturday.","required":false,"schema":{"type":"integer"}},{"name":"newday","in":"query","description":"If true the return time will end on the next day. Use this if you have a return time over midnight.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"1 records updated!"}}},"get":{"tags":["CalendarReturnTime"],"summary":"Get return times","description":"Use this function if you want to get information about return times for a calendar.","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"A JSON object containing the return time information.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":12345},"weekdayidx":{"type":"integer","example":5},"starttime":{"type":"string","example":"12:00:00"},"endtime":{"type":"string","example":"19:00:00"},"enable":{"type":"boolean","example":true},"serviceids":{"type":"string","example":"-1"},"weektype":{"type":"integer","example":0},"newday":{"type":"boolean","example":false}}}}}}}}},"delete":{"tags":["CalendarReturnTime"],"summary":"Delete a return time","description":"Use this function to delete a return time by its ID.","parameters":[{"name":"id","in":"query","description":"ID of the return time.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Return time deleted successfully!"}}}},"/api/calendarservice":{"post":{"summary":"Creates assigned services","tags":["CalendarService"],"description":"Creates a new service assignment of a calendar","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar","required":true,"schema":{"type":"string"}},{"name":"serviceid","in":"query","description":"ID of the service","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Calendar/Service created successfully!"}}},"get":{"summary":"Get assigned services","tags":["CalendarService"],"description":"Returns all assigned services of a calendar","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar you want the service assignments","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success-Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":3449313},"calendarid":{"type":"integer","example":154556},"serviceid":{"type":"integer","example":197664}}}}}}}}},"delete":{"summary":"Deletes assigned services","tags":["CalendarService"],"description":"Use this function if you want to delete a calendar/service assignment","parameters":[{"name":"id","in":"query","description":"ID of the calendar service assignment","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"1 record(s) deleted!"}}}},"/api/calendarsnonworkingtimes":{"post":{"summary":"Create an absence","description":"Use this function to create a new absence.","operationId":"Post","tags":["CalendarsNonWorkingTimes"],"parameters":[{"name":"appcalendarid","in":"query","description":"ID of the calendar. Use the \"Calendar - Get calendar details\" function to get a list with all available calendars.","required":true,"schema":{"type":"integer"}},{"name":"startdate","in":"query","description":"Start time of the absence. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":true,"schema":{"type":"string"}},{"name":"enddate","in":"query","description":"End time of the absence. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":true,"schema":{"type":"string"}},{"name":"reason","in":"query","description":"Reason or note for the absence.","required":false,"schema":{"type":"string"}},{"name":"nwtype","in":"query","description":"Indicates if the absence is dynamic.","required":false,"schema":{"type":"boolean"}},{"name":"dynamicdays","in":"query","description":"Number of days for the dynamic absence to begin (nwtype has to be 1).","required":false,"schema":{"type":"integer"}},{"name":"dynamicdaysduration","in":"query","description":"Number of days for the dynamic absence to last (nwtype has to be 1).","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success-Response"}}},"put":{"summary":"Update an absence","description":"Use this function to update an absence.","operationId":"Put","tags":["CalendarsNonWorkingTimes"],"parameters":[{"name":"id","in":"query","description":"ID of the absence.","required":true,"schema":{"type":"integer"}},{"name":"appcalendarid","in":"query","description":"ID of the calendar. Use the \"Calendar - Get calendar details\" function to get a list with all available calendars.","required":false,"schema":{"type":"integer"}},{"name":"startdate","in":"query","description":"Start time of the absence. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":false,"schema":{"type":"string"}},{"name":"enddate","in":"query","description":"End time of the absence. Format: yyyy-mm-dd HH:MM e.g. 2017-10-24 18:00","required":false,"schema":{"type":"string"}},{"name":"reason","in":"query","description":"Reason or note for the absence.","required":false,"schema":{"type":"string"}},{"name":"nwtype","in":"query","description":"Indicates if the absence is dynamic.","required":false,"schema":{"type":"boolean"}},{"name":"dynamicdays","in":"query","description":"Number of days for the dynamic absence (nwtype has to be 1).","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"1 records updated!"}}},"get":{"summary":"Get absences","description":"Use this function if you want to get information about absences for a calendar.","operationId":"Get","tags":["CalendarsNonWorkingTimes"],"parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Success-Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":408258},"startdate":{"type":"string","example":"2022-11-10T08:00:00"},"enddate":{"type":"string","example":"2022-11-10T20:00:00"},"reason":{"type":"string","example":""},"nwtype":{"type":"integer","example":0},"dynamicdays":{"type":"integer","example":1}}}}}}}}},"delete":{"summary":"Delete an absence","description":"Use this function to delete an absence.","operationId":"Delete","tags":["CalendarsNonWorkingTimes"],"parameters":[{"name":"id","in":"query","description":"ID of the absence.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"1 record(s) deleted"}}}},"/api/contact":{"post":{"summary":"Create contact","description":"Creates a new contact. You can see the new contact in the eTermin CRM.","tags":["Contact"],"parameters":[{"name":"updatewhenexistsgdt","in":"query","description":"Set to 1 to check if the contact is already existing. If so the existing contact gets updated. Needs email or firstname, lastname, birthday.","schema":{"type":"integer"}},{"name":"salutation","in":"query","description":"Salutation of the person.","schema":{"type":"string"}},{"name":"title","in":"query","description":"Title of the person.","schema":{"type":"string"}},{"name":"lastname","in":"query","description":"Lastname of the person.","schema":{"type":"string"}},{"name":"firstname","in":"query","description":"Firstname of the person.","schema":{"type":"string"}},{"name":"birthday","in":"query","description":"Birthday of the person.","schema":{"type":"string"}},{"name":"email","in":"query","description":"E-Mail of the person.","schema":{"type":"string"}},{"name":"phone","in":"query","description":"Phone of the person.","schema":{"type":"string"}},{"name":"company","in":"query","description":"Company of the person (make sure this field exists in your account)","schema":{"type":"string"}},{"name":"street","in":"query","description":"Street of the person.","schema":{"type":"string"}},{"name":"zip","in":"query","description":"Zip of the person.","schema":{"type":"string"}},{"name":"city","in":"query","description":"City of the person.","schema":{"type":"string"}},{"name":"state","in":"query","description":"State of the person.","schema":{"type":"string"}},{"name":"country","in":"query","description":"Country of the person.","schema":{"type":"string"}},{"name":"customernumber","in":"query","description":"ID of the person.","schema":{"type":"string"}},{"name":"loginid","in":"query","description":"Sets the loginID for the contact (if Login is used on Bookingpage).","schema":{"type":"string"}},{"name":"password","in":"query","description":"Sets the initial password for the contact.","schema":{"type":"string"}},{"name":"newsletter","in":"query","description":"Opts the contact into the newsletter.","schema":{"type":"boolean"}},{"name":"additional1","in":"query","description":"Additional appointment field 1.","schema":{"type":"string"}},{"name":"additional2","in":"query","description":"Additional appointment field 2.","schema":{"type":"string"}},{"name":"additional3","in":"query","description":"Additional appointment field 3.","schema":{"type":"string"}},{"name":"additional4","in":"query","description":"Additional appointment field 4.","schema":{"type":"string"}},{"name":"additional5","in":"query","description":"Additional appointment field 5.","schema":{"type":"string"}},{"name":"additional6","in":"query","description":"Additional appointment field 6.","schema":{"type":"string"}},{"name":"additional7","in":"query","description":"Additional appointment field 7.","schema":{"type":"string"}},{"name":"additional8","in":"query","description":"Additional appointment field 8.","schema":{"type":"string"}},{"name":"additional9","in":"query","description":"Additional appointment field 9.","schema":{"type":"string"}},{"name":"additional10","in":"query","description":"Additional appointment field 10.","schema":{"type":"string"}},{"name":"additional11","in":"query","description":"Additional appointment field 11.","schema":{"type":"string"}},{"name":"additional12","in":"query","description":"Additional appointment field 12.","schema":{"type":"string"}},{"name":"additional13","in":"query","description":"Additional appointment field 13.","schema":{"type":"string"}},{"name":"additional14","in":"query","description":"Additional appointment field 14.","schema":{"type":"string"}},{"name":"additional15","in":"query","description":"Additional appointment field 15.","schema":{"type":"string"}},{"name":"additional16","in":"query","description":"Additional appointment field 16.","schema":{"type":"string"}},{"name":"additional17","in":"query","description":"Additional appointment field 17.","schema":{"type":"string"}},{"name":"additional18","in":"query","description":"Additional appointment field 18.","schema":{"type":"string"}},{"name":"additional19","in":"query","description":"Additional appointment field 19.","schema":{"type":"string"}},{"name":"additional20","in":"query","description":"Additional appointment field 20.","schema":{"type":"string"}}],"responses":{"200":{"description":"Contact created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"ID":{"type":"number","example":33855073},"IID":{"type":"string","example":"D0F61844-C056-4443-A628-F85F7F2F235D"},"IIDE":{"type":"string","example":"RjlxQTBEOUUtOTczNi00MzVELUI4NTktRUVENkExMDY0OENB"},"Status":{"type":"number","example":200},"StatusMsg":{"type":"string","example":"Contact created successfully!"}}}}}}}},"put":{"summary":"Update contact","description":"Use this function if you want to update details of an existing contact.","tags":["Contact"],"parameters":[{"name":"salutation","in":"query","description":"Salutation of the person.","schema":{"type":"string"}},{"name":"title","in":"query","description":"Title of the person.","schema":{"type":"string"}},{"name":"lastname","in":"query","description":"Lastname of the person.","schema":{"type":"string"}},{"name":"birthday","in":"query","description":"Birthday of the person.","schema":{"type":"string"}},{"name":"email","in":"query","description":"E-Mail of the person.","schema":{"type":"string"}},{"name":"phone","in":"query","description":"Phone of the person.","schema":{"type":"string"}},{"name":"company","in":"query","description":"Company of the person (make sure this field exists in your account)","schema":{"type":"string"}},{"name":"street","in":"query","description":"Street of the person.","schema":{"type":"string"}},{"name":"zip","in":"query","description":"Zip of the person.","schema":{"type":"string"}},{"name":"city","in":"query","description":"City of the person.","schema":{"type":"string"}},{"name":"state","in":"query","description":"State of the person.","schema":{"type":"string"}},{"name":"country","in":"query","description":"Country of the person.","schema":{"type":"string"}},{"name":"customernumber","in":"query","description":"ID of the person.","schema":{"type":"string"}},{"name":"loginid","in":"query","description":"Sets the loginID for the contact (if Login is used on Bookingpage).","schema":{"type":"string"}},{"name":"password","in":"query","description":"Sets the initial password for the contact.","schema":{"type":"string"}},{"name":"newsletter","in":"query","description":"Opts the contact into the newsletter.","schema":{"type":"boolean"}},{"name":"additional1","in":"query","description":"Additional appointment field 1.","schema":{"type":"string"}},{"name":"additional2","in":"query","description":"Additional appointment field 2.","schema":{"type":"string"}},{"name":"additional3","in":"query","description":"Additional appointment field 3.","schema":{"type":"string"}},{"name":"additional4","in":"query","description":"Additional appointment field 4.","schema":{"type":"string"}},{"name":"additional5","in":"query","description":"Additional appointment field 5.","schema":{"type":"string"}},{"name":"additional6","in":"query","description":"Additional appointment field 6.","schema":{"type":"string"}},{"name":"additional7","in":"query","description":"Additional appointment field 7.","schema":{"type":"string"}},{"name":"additional8","in":"query","description":"Additional appointment field 8.","schema":{"type":"string"}},{"name":"additional9","in":"query","description":"Additional appointment field 9.","schema":{"type":"string"}},{"name":"additional10","in":"query","description":"Additional appointment field 10.","schema":{"type":"string"}},{"name":"additional11","in":"query","description":"Additional appointment field 11.","schema":{"type":"string"}},{"name":"additional12","in":"query","description":"Additional appointment field 12.","schema":{"type":"string"}},{"name":"additional13","in":"query","description":"Additional appointment field 13.","schema":{"type":"string"}},{"name":"additional14","in":"query","description":"Additional appointment field 14.","schema":{"type":"string"}},{"name":"additional15","in":"query","description":"Additional appointment field 15.","schema":{"type":"string"}},{"name":"additional16","in":"query","description":"Additional appointment field 16.","schema":{"type":"string"}},{"name":"additional17","in":"query","description":"Additional appointment field 17.","schema":{"type":"string"}},{"name":"additional18","in":"query","description":"Additional appointment field 18.","schema":{"type":"string"}},{"name":"additional19","in":"query","description":"Additional appointment field 19.","schema":{"type":"string"}},{"name":"additional20","in":"query","description":"Additional appointment field 20.","schema":{"type":"string"}},{"name":"tags","in":"query","description":"Tags of the person. To add multiple tags use a comma (,)","schema":{"type":"string"}},{"name":"limitedservices","in":"query","description":"Set to 1 if you want to limit the services for the contact. Also see <br> /api/contactpermission and <br> /api/contactfrequency <br> for more information. The login on the booking page needs to be activated to use this feature","schema":{"type":"string"}}],"responses":{"200":{"description":"Contact updated successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"Status":{"type":"number","example":200},"StatusMsg":{"type":"string","example":"1 records updated!"}}}}}}}},"get":{"summary":"Get contact details","description":"Returns a list with all contacts that are maintained in the eTermin CRM.","tags":["Contact"],"parameters":[{"name":"email","in":"query","description":"E-Mail of the contact","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","description":"ExternalID of the contact","required":false,"schema":{"type":"string"}},{"name":"cid","in":"query","description":"CID of the contact","required":false,"schema":{"type":"string"}},{"name":"creationdate","in":"query","description":"Displays all contacts that were created on this date","required":false,"schema":{"type":"string"}},{"name":"creationdateall","in":"query","description":"Displays all contacts that were created since this date","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success-Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"cid":{"type":"number","example":123456},"ExternalID":{"type":"string","example":"66a6915c-a668-4631-b281-a9715e92ee93"},"CreationDate":{"type":"string","example":"2017-03-21T00:00:00"},"Title":{"type":"string"},"LastName":{"type":"string","example":"Name"},"FirstName":{"type":"string","example":"Firstname"},"Email":{"type":"string","example":"Email"},"Phone":{"type":"string","example":""},"Birthday":{"type":"string","example":""},"Salutation":{"type":"string","example":""},"Street":{"type":"string","example":""},"ZIP":{"type":"string","example":""},"City":{"type":"string","example":""},"CustomerNumber":{"type":"string","example":""},"Additional1":{"type":"string","example":""},"Additional2":{"type":"string","example":""},"Additional3":{"type":"string","example":""},"Additional4":{"type":"string","example":""},"Additional5":{"type":"string","example":""},"Additional6":{"type":"string","example":""},"Additional7":{"type":"string","example":""},"Additional8":{"type":"string","example":""},"Additional9":{"type":"string","example":""},"Additional10":{"type":"string","example":""},"Additional11":{"type":"string","example":""},"Additional12":{"type":"string","example":""},"Additional13":{"type":"string","example":""},"Additional14":{"type":"string","example":""},"Additional15":{"type":"string","example":""},"Additional16":{"type":"string","example":""},"Additional17":{"type":"string","example":""},"Additional18":{"type":"string","example":""},"Additional19":{"type":"string","example":""},"Additional20":{"type":"string","example":""},"State":{"type":"string","example":""},"Notes":{"type":"string","example":""},"LoginID":{"type":"string","example":"Email"},"Activated":{"type":"boolean","example":true},"Language":{"type":"string","example":""},"LastAppointmentDate":{"type":"string","example":"2017-03-21T08:30:00"},"Newsletter":{"type":"boolean","example":false},"LimitedServices":{"type":"boolean","example":false},"Tags":{"type":"string","example":""},"Country":{"type":"string","example":""},"Company":{"type":"string","example":""}}}}}}}}},"delete":{"summary":"Delete contact","description":"Use this function if you want to delete a contact in the eTermin CRM. You can either use the email address or the ID to delete the contact.","tags":["Contact"],"parameters":[{"name":"email","in":"query","description":"E-Mail of the contact (this can lead to the deletion of multiple contacts with the same Email)","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","description":"ExternalID of the contact","required":false,"schema":{"type":"string"}},{"name":"cid","in":"query","description":"CID of the contact","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Contact deleted successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"Status":{"type":"number","example":200},"StatusMsg":{"type":"string","example":"1 record(s) deleted!"}}}}}}}}},"/api/contactfrequency":{"post":{"summary":"Create contact frequency","description":"Creates contact frequency that limites the amount of bookings a contact can have. The login on the booking page has to be activated to use this function.","tags":["Contactfrequency"],"parameters":[{"name":"cid","in":"query","description":"CID of the contact that should get a frequency","required":true,"schema":{"type":"integer"}},{"name":"limited","in":"query","description":"Set to true if the frequency limitation should apply","required":true,"schema":{"type":"boolean"}},{"name":"frequency","in":"query","description":"Defines how many appointments can be booked in the specific timeframe","required":true,"schema":{"type":"integer"}},{"name":"frequencytype","in":"query","description":"Defines the timeframe of the frequency limitation:<br>0 = per week<br>1 = per month<br>2 = per quarter<br>3 = per year","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Contactservice created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"Status":{"type":"number","example":200}}}}}}}},"get":{"summary":"Get details of contact frequency","description":"Returns the frequency setting of the contact.","tags":["Contactfrequency"],"parameters":[{"name":"cid","in":"query","description":"CID of the contact","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success-Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"cid":{"type":"number","example":123456},"frequency":{"type":"number","example":2},"frequencytype":{"type":"number","example":0}}}}}}}}}},"/api/contactservice":{"post":{"summary":"Create contact permission","description":"Creates contact permission to specific service groups. The login on the booking page has to be activated to use this function.","tags":["Contactservice"],"parameters":[{"name":"cid","in":"query","description":"CID of the contact that should get permissions","required":true,"schema":{"type":"integer"}},{"name":"sgid","in":"query","description":"Servicegroupids of the servicegroups that the contact should have permission to. Multiple servicegroups are separated by a comma (,). Leave empty for no restrictions","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Contactservice created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"Status":{"type":"number","example":200}}}}}}}},"get":{"summary":"Get details of contact permissions","description":"Returns a list of the permissions of the contact.","tags":["Contactservice"],"parameters":[{"name":"cid","in":"query","description":"CID of the contact","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success-Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"cid":{"type":"number","example":123456},"sgid":{"type":"number","example":120034},"sid":{"type":"string","example":null}}}}}}}}}},"/api/messagelogs":{"get":{"tags":["Messagelogs"],"summary":"Get message logs","description":"Returns a list with all messages that are sent via eTermin. Note: You can only get the list for the last 30 days or less, depending on your privacy settings in the account","parameters":[{"name":"id","in":"query","description":"ID of a messagelog entry. Gives the email text that is sent in this specific email.","required":false,"schema":{"type":"integer"}},{"name":"appid","in":"query","description":"Gives a list of all emails and SMS that are sent relating to the numeric appointmentid (not externalid)","required":false,"schema":{"type":"integer"}},{"name":"smsonly","in":"query","description":"Only gives you a list how many SMS are sent this month and last month. It won't contain the list of SMS that are actually sent, only the amount.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":8329868},"receiver":{"type":"string","example":"test@etermin.net"},"subject":{"type":"string","example":"Subject line of email"},"nrsms":{"type":"integer","example":null},"status":{"type":"integer","example":null},"datesent":{"type":"string","example":"2025-03-12T11:45:00"},"msgtype":{"type":"integer","example":4},"bcc":{"type":"string","example":""},"rc":{"type":"integer","example":120}}}}}}}}}},"/api/rating":{"get":{"tags":["Rating"],"summary":"Get Customer ratings","description":"Returns all the ratings that were received from the customers.","responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"ID":{"type":"integer","example":33758},"AppointmentExternalID":{"type":"string","example":"93A18B49-48CE-43C0-BB3C-4DA1873E1C2C"},"CustomerFeedback":{"type":"string","example":"Outstanding service! I like your online booking reservation system!"},"Rating":{"type":"number","example":5.0},"CustomerInfo":{"type":"string","example":"First, lastname (name@example.com)"},"RatingDate":{"type":"string","example":"2017-04-16T12:21:14.223"},"CalendarID":{"type":"integer","example":342344},"CalendarName":{"type":"string","example":"Employee name"},"ServiceID":{"type":"string","example":"275122,208054"},"Publish":{"type":"boolean","example":true},"Reply":{"type":"string","example":"Thanks for this feedback!"}}}}}}}}}},"/api/service":{"post":{"summary":"Create service","description":"Use this function if you want to create a service. Note: Most services only need the first few parameters. However, since the services are very versatile, they have much more parameters, especially because they may override global settings.","tags":["Service"],"parameters":[{"name":"servicegroupid","in":"query","description":"ID of the service group","required":true,"schema":{"type":"integer"}},{"name":"servicede","in":"query","description":"Name of the service in german. For other languages use serviceLANGUAGECODE e.g. serviceen","required":true,"schema":{"type":"string"}},{"name":"timeslotminutes","in":"query","description":"Duration of the service in minutes","required":true,"schema":{"type":"integer"}},{"name":"infode","in":"query","description":"Additional description of the service in german. For other languages use serviceLANGUAGECODE e.g. infoen","required":false,"schema":{"type":"string"}},{"name":"infodisplay","in":"query","description":"Defines where the information is shown (0 = below service name, 1 = informationtext page 2, 2 = summary after booking, 3 = below service name and summary after booking)","required":false,"schema":{"type":"integer"}},{"name":"differenttimeresource","in":"query","description":"True if you want to add pre- or post processing times","required":false,"schema":{"type":"boolean"}},{"name":"timeslotminutesresstart","in":"query","description":"Busy by minute (use negative number to have a pre-processing time)","required":false,"schema":{"type":"integer"}},{"name":"timeslotminutesresend","in":"query","description":"Busy until minute (use a number greater than timeslotminutes to have a post-processing time)","required":false,"schema":{"type":"integer"}},{"name":"price","in":"query","description":"Price of the service","required":false,"schema":{"type":"number"}},{"name":"priceispercentage","in":"query","description":"True if price is a percentage","required":false,"schema":{"type":"boolean"}},{"name":"abbreviation","in":"query","description":"abbreviation of the service","required":false,"schema":{"type":"string"}},{"name":"enablecapacity","in":"query","description":"True to enable the capacity of the service","required":false,"schema":{"type":"boolean"}},{"name":"showcapselectionbox","in":"query","description":"True if the customer is able to select the capacity","required":false,"schema":{"type":"boolean"}},{"name":"maxcapacity","in":"query","description":"Sets the maximum capacity of the service","required":false,"schema":{"type":"number"}},{"name":"maxcapacityusersel","in":"query","description":"Sets the maximum capacity the user can set on the booking page (needs showcapselectionbox to be true)","required":false,"schema":{"type":"number"}},{"name":"capacitynonsel","in":"query","description":"Sets the capacity if selected on the booking page (needs showcapselectionbox to be false)","required":false,"schema":{"type":"number"}},{"name":"image","in":"query","description":"Image of the service","required":false,"schema":{"type":"string","format":"binary"}},{"name":"appdeadline","in":"query","description":"Time the appointment must be booked in advance in minutes","required":false,"schema":{"type":"integer"}},{"name":"appfuture","in":"query","description":"Time the appointment can be booked in the future in days","required":false,"schema":{"type":"integer"}},{"name":"startedapp","in":"query","description":"Time the appointment can be booked if already started in minutes (has to be a negative value)","required":false,"schema":{"type":"integer"}},{"name":"canceldeadline","in":"query","description":"Time the appointment can be cancelled in hours","required":false,"schema":{"type":"integer"}},{"name":"dayselectiontype","in":"query","description":"Defines how page 2 shows the available days (0 = Calendar, 1 = list of days)","required":false,"schema":{"type":"integer"}},{"name":"appointmentlocation","in":"query","description":"Defines the location of the appointment","required":false,"schema":{"type":"integer"}},{"name":"appointmentlocationtext","in":"query","description":"Defines the location text if appointmentlocation = 3","required":false,"schema":{"type":"string"}},{"name":"vendorconfirmation","in":"query","description":"Defines if the appointment provider needs to manually confirm the appointment (0 = manually, 1 = automatically)","required":false,"schema":{"type":"integer"}},{"name":"smsconfirmation","in":"query","description":"Defines if a SMS confirmation is sent after booking (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"reminderhours","in":"query","description":"Defines when the first reminder is sent in hours (needs to be a negative value)","required":false,"schema":{"type":"integer"}},{"name":"reminderhours2","in":"query","description":"Defines when the second reminder is sent in hours (needs to be a negative value)","required":false,"schema":{"type":"integer"}},{"name":"cluster","in":"query","description":"Defines if the cluster is applied to this service (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"customerconfirm","in":"query","description":"Defines if the customer needs to confirm the appointment (1 = enabled, 0 = disabled; doesn't work with online payments or vendorconfirmation)","required":false,"schema":{"type":"integer"}},{"name":"customerconfirmtime","in":"query","description":"Time in minutes the customer has time to confirm the appointment (customerconfirm must be set to 1)","required":false,"schema":{"type":"integer"}},{"name":"PM0","in":"query","description":"Shows online payment options (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"PM1","in":"query","description":"Shows on site payment options (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"PM2","in":"query","description":"Shows by invoice payment options (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"paymentamountpercentage","in":"query","description":"Defines the payment amount that needs to be paid at the end of booking","required":false,"schema":{"type":"integer"}},{"name":"paymentamountisabsolute","in":"query","description":"Defines if paymentamountpercentage is abolute or a percentage (1 = absolute, 0 = percentage)","required":false,"schema":{"type":"integer"}},{"name":"currency","in":"query","description":"Defines the currency of the service","required":false,"schema":{"type":"string"}},{"name":"voucherfield","in":"query","description":"Defines if the voucherfield is shown (0 = not shown, 1 = shown, 2 = shown and mandatory)","required":false,"schema":{"type":"integer"}},{"name":"mpbs","in":"query","description":"Defines if the price is multiplied by the amount of booked appointments","required":false,"schema":{"type":"integer"}},{"name":"timeslotformat","in":"query","description":"Defines how the timeslots are shown on page 2 on the bookingpage (0 = starttime - endtime, 1 = starttime, 2 = only date, 3 = calendar week, 4 = like 0 but with dates, 5 = startdate only)","required":false,"schema":{"type":"integer"}},{"name":"multiappointment","in":"query","description":"Defines if multiple appointments can be booked in one booking (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"multiservicedurationcalcmethod","in":"query","description":"Defines how the duration is calculated if multiple services are selected (0 = all durations are summed up, 1 = only duration of the longest service, 2 = all durations are halfed, 3 = like 2 except the longest service)","required":false,"schema":{"type":"integer"}},{"name":"calendarselection","in":"query","description":"Defines if the calendar selection should be shown (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"ssca","in":"query","description":"Defines if in the calendar selection the entry all calendars is shown (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"showcalname","in":"query","description":"Defines if in the calendar name is shown in the time slot (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"showcalpic","in":"query","description":"Defines if in the calendar picture is shown after the timeslot is selected (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"showavcap","in":"query","description":"Defines if the available capacity is shown in time slots (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"limitbooking","in":"query","description":"Defines if this service can be booked a limited amount of times per customer (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"limitappointmentstype","in":"query","description":"Defines how the appointments are limited (0 = per booking day, 1 = per week, 2 = per month, 3 = per year, 4 = per booked day)","required":false,"schema":{"type":"integer"}},{"name":"limitappointments","in":"query","description":"Defines how many appointments can be booked per customer","required":false,"schema":{"type":"integer"}},{"name":"limitservice","in":"query","description":"Defines if the limitation only applies to this specific service","required":false,"schema":{"type":"integer"}},{"name":"wowing","in":"query","description":"Set to 0 if the Wowing interface should be disabled for this service","required":false,"schema":{"type":"integer"}},{"name":"wowingautomationid","in":"query","description":"Defines the Woing Automation ID","required":false,"schema":{"type":"integer"}},{"name":"paymentduration","in":"query","description":"Defines the payment term for LexOffice","required":false,"schema":{"type":"integer"}},{"name":"workloadperc","in":"query","description":"Defines the percentage of time slots that are not shown","required":false,"schema":{"type":"integer"}},{"name":"nrtimeslotentries","in":"query","description":"Defines the maximum amount of time slots that are shown","required":false,"schema":{"type":"integer"}},{"name":"feedback","in":"query","description":"Set to 0 if the feedback checkbox should not be shown","required":false,"schema":{"type":"integer"}},{"name":"calcdrivingtime","in":"query","description":"Defines if driving time should be calculated (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"fillcalendarstrategy","in":"query","description":"Defines how the calender should be filled (0 = standard, 1 = random, 2 = round Robin, 3 = sequential, 4 = skills, 5 = strict round Robin)","required":false,"schema":{"type":"integer"}},{"name":"waitinglist","in":"query","description":"Defines if the waiting list should be available (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"notearlyapp","in":"query","description":"Defines if the customer should get an email if an earlier appointment is available (0 = not active, 1 = for appointments that were cancelled online, 2 = for appointments cancelled online and manually, 3 = like 1 but per calendar, 4 = like 2 but per calendar)","required":false,"schema":{"type":"integer"}},{"name":"sortorder","in":"query","description":"Defines the position in the servicegroup","required":false,"schema":{"type":"integer"}},{"name":"bookingtype","in":"query","description":"Defines the bookingtype (0 = appointment, 1 = no appointment booking allowed, 2 = 'negative' appointment, 3 = reservation list, 4 = voucher sale)","required":false,"schema":{"type":"integer"}},{"name":"showinternal","in":"query","description":"Defines if the service is shown in the backend","required":false,"schema":{"type":"boolean"}},{"name":"enabled","in":"query","description":"Defines if the service is shown in the frontend","required":false,"schema":{"type":"boolean"}},{"name":"showindb","in":"query","description":"Defines if the service is shown in the most booked area of the Dashboard","required":false,"schema":{"type":"boolean"}},{"name":"emailsender","in":"query","description":"Defines the sender adress of the email for this service","required":false,"schema":{"type":"string"}},{"name":"emailtxtde","in":"query","description":"A special placeholder %SERVICETEXT% for emails, use other language codes to set the text (for example emailtxten for english)","required":false,"schema":{"type":"string"}},{"name":"infotxtp2","in":"query","description":"A special placeholder %INFOTEXTP2% for page 2 of the booking page","required":false,"schema":{"type":"string"}},{"name":"pricesuffixde","in":"query","description":"Additional information for the price, use other language codes to set the text (for example emailtxten for english)","required":false,"schema":{"type":"string"}},{"name":"priceinfopos","in":"query","description":"Defines where the pricesuffix is shown (0 = left side, 1 = right side)","required":false,"schema":{"type":"integer"}},{"name":"vat","in":"query","description":"Defines the vat rate of the service","required":false,"schema":{"type":"integer"}},{"name":"multiplypricewithcap","in":"query","description":"Defines if the price is multiplied with the capacity","required":false,"schema":{"type":"boolean"}},{"name":"pricediffperday","in":"query","description":"Defines if different prices per weekday are applied","required":false,"schema":{"type":"boolean"}},{"name":"issubscription","in":"query","description":"Defines if the service is a subscription","required":false,"schema":{"type":"boolean"}},{"name":"capseltextde","in":"query","description":"Defines the text if there is a capacity selection on that service, use other language codes to set the text (for example capseltexten for english)","required":false,"schema":{"type":"string"}},{"name":"mstextpos","in":"query","description":"Defines the position of capseltext (0 = above selection, 1 = to the right)","required":false,"schema":{"type":"integer"}},{"name":"allowonlythisservice","in":"query","description":"If there are multiple services with capacity available at the same time, this option prevents that they will get mixed, if set to true","required":false,"schema":{"type":"boolean"}},{"name":"multiservicesel","in":"query","description":"True, if the service can be booked multiple times after another. This won't work if the parameter enablecapacity is true aswell","required":false,"schema":{"type":"boolean"}},{"name":"multiservicemin","in":"query","description":"Defines the minimum amount that can be choosen for multi service selection","required":false,"schema":{"type":"integer"}},{"name":"multiservicemax","in":"query","description":"Defines the maximum amount that can be choosen for multi service selection","required":false,"schema":{"type":"integer"}},{"name":"extramin","in":"query","description":"Defines total wrap up time","required":false,"schema":{"type":"integer"}},{"name":"extramintype","in":"query","description":"0 if extramin should not be applied if differenttimeresource is true, 1 if extramin should be added to timeslotminutesresend","required":false,"schema":{"type":"integer"}},{"name":"maxappsel","in":"query","description":"Defines the maximum amount of appointments that can be selected on the booking page if multiappointment is true (in this service or globally)","required":false,"schema":{"type":"integer"}},{"name":"nrappsel","in":"query","description":"Defines the maximum / minimum amount of appointments that MUST be selected on the booking page if multiappointment is true (in this service or globally)","required":false,"schema":{"type":"integer"}},{"name":"maxminslots","in":"query","description":"Defines if nrappsel is maximum (0) or minimum (1)","required":false,"schema":{"type":"boolean"}},{"name":"nrappseladjacent","in":"query","description":"True, if the selected appointments have to be adjacent","required":false,"schema":{"type":"boolean"}},{"name":"nrappseladjacenttype","in":"query","description":"0 = the date and time need to be adjacent, 1 = only the day need to be adjacent","required":false,"schema":{"type":"integer"}},{"name":"specificrangenextslot","in":"query","description":"True, if the next appointment needs to be after a specific timeframe","required":false,"schema":{"type":"boolean"}},{"name":"rangestart","in":"query","description":"Days after the last appoinment","required":false,"schema":{"type":"integer"}},{"name":"rangeend","in":"query","description":"Days range for the new appointment","required":false,"schema":{"type":"integer"}},{"name":"infotextinslots","in":"query","description":"True, if the info text should be shown in the slot text in page 2 of the booking page","required":false,"schema":{"type":"boolean"}},{"name":"appattrib","in":"query","description":"Defines which attribute is set automatically in appointment. Attributes are binary encoded (1st attribute = 1, 2nd = 2, 3rd = 4; 1st + 2nd = 3)","required":false,"schema":{"type":"integer"}},{"name":"addapphours","in":"query","description":"Hours after the first appointment, where a second appointment is booked","required":false,"schema":{"type":"integer"}},{"name":"rrule","in":"query","description":"Defines the RRULE for this service","required":false,"schema":{"type":"string"}},{"name":"bookingminute","in":"query","description":"Defines when the timeslots are shown (61 = no restrictions, 0 = every full hour, 31 = every full and half hour, 15 or 30 or 45 = x minutes after a full hour)","required":false,"schema":{"type":"integer"}},{"name":"showserviceids","in":"query","description":"Service(s) that have to be selected to show this service","required":false,"schema":{"type":"string"}},{"name":"hideserviceids","in":"query","description":"Service(s) that should be hidden, if this service is selected","required":false,"schema":{"type":"string"}},{"name":"uselogo","in":"query","description":"True, if the the picture of this service should be used for the email logo","required":false,"schema":{"type":"boolean"}},{"name":"severalcalendarsused","in":"query","description":"True, if the service can only be booked if another calendar is available","required":false,"schema":{"type":"boolean"}},{"name":"differenttimecombined","in":"query","description":"True, if the service has a different time if booked with another service","required":false,"schema":{"type":"boolean"}},{"name":"timeslotcombined","in":"query","description":"Defines the time of the appointment if booked with another service. differenttimecombined has to be true","required":false,"schema":{"type":"integer"}},{"name":"tags","in":"query","description":"ID of the tags that the contact gets after booking","required":false,"schema":{"type":"string"}},{"name":"tagscancel","in":"query","description":"ID of the tags that the contact gets after cancellation of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreference","in":"query","description":"Used for a tag ID or external reference after booking","required":false,"schema":{"type":"string"}},{"name":"externalreferencedelete","in":"query","description":"Used for a tag ID or external reference after cancellation of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencechange","in":"query","description":"Used for a tag ID or external reference after a change of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencedate","in":"query","description":"ID of a field that should contain the date of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencelocation","in":"query","description":"ID of a field that should contain the location of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencecalname","in":"query","description":"ID of a field that should contain the calendar name of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencecancel","in":"query","description":"ID of a field that should contain the cancellation link of the appointment","required":false,"schema":{"type":"string"}},{"name":"jscode","in":"query","description":"Used for JavaScript code that will be executed after the booking of the appointment (for example to redirect to another website)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Service created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"ID":{"type":"number","example":123456},"Status":{"type":"number","example":200},"StatusMsg":{"type":"string","example":"Service created successfully!"}}}}}}}},"put":{"summary":"Update service","description":"Use this function if you want to update details of an existing service.","tags":["Service"],"parameters":[{"name":"id","in":"query","description":"ID of the service","required":true,"schema":{"type":"integer"}},{"name":"servicegroupid","in":"query","description":"ID of the service group","required":false,"schema":{"type":"integer"}},{"name":"servicede","in":"query","description":"Name of the service in german. For other languages use serviceLANGUAGECODE e.g. serviceen","required":false,"schema":{"type":"string"}},{"name":"timeslotminutes","in":"query","description":"Duration of the service in minutes","required":false,"schema":{"type":"integer"}},{"name":"infode","in":"query","description":"Additional description of the service in german. For other languages use serviceLANGUAGECODE e.g. infoen","required":false,"schema":{"type":"string"}},{"name":"infodisplay","in":"query","description":"Defines where the information is shown (0 = below service name, 1 = informationtext page 2, 2 = summary after booking, 3 = below service name and summary after booking)","required":false,"schema":{"type":"integer"}},{"name":"differenttimeresource","in":"query","description":"True if you want to add pre- or post processing times","required":false,"schema":{"type":"boolean"}},{"name":"timeslotminutesresstart","in":"query","description":"Busy by minute (use negative number to have a pre-processing time)","required":false,"schema":{"type":"integer"}},{"name":"timeslotminutesresend","in":"query","description":"Busy until minute (use a number greater than timeslotminutes to have a post-processing time)","required":false,"schema":{"type":"integer"}},{"name":"price","in":"query","description":"Price of the service","required":false,"schema":{"type":"number"}},{"name":"priceispercentage","in":"query","description":"True if price is a percentage","required":false,"schema":{"type":"boolean"}},{"name":"abbreviation","in":"query","description":"abbreviation of the service","required":false,"schema":{"type":"string"}},{"name":"enablecapacity","in":"query","description":"True to enable the capacity of the service","required":false,"schema":{"type":"boolean"}},{"name":"showcapselectionbox","in":"query","description":"True if the customer is able to select the capacity","required":false,"schema":{"type":"boolean"}},{"name":"maxcapacity","in":"query","description":"Sets the maximum capacity of the service","required":false,"schema":{"type":"number"}},{"name":"maxcapacityusersel","in":"query","description":"Sets the maximum capacity the user can set on the booking page (needs showcapselectionbox to be true)","required":false,"schema":{"type":"number"}},{"name":"capacitynonsel","in":"query","description":"Sets the capacity if selected on the booking page (needs showcapselectionbox to be false)","required":false,"schema":{"type":"number"}},{"name":"image","in":"query","description":"Image of the service","required":false,"schema":{"type":"string","format":"binary"}},{"name":"appdeadline","in":"query","description":"Time the appointment must be booked in advance in minutes","required":false,"schema":{"type":"integer"}},{"name":"appfuture","in":"query","description":"Time the appointment can be booked in the future in days","required":false,"schema":{"type":"integer"}},{"name":"startedapp","in":"query","description":"Time the appointment can be booked if already started in minutes (has to be a negative value)","required":false,"schema":{"type":"integer"}},{"name":"canceldeadline","in":"query","description":"Time the appointment can be cancelled in hours","required":false,"schema":{"type":"integer"}},{"name":"dayselectiontype","in":"query","description":"Defines how page 2 shows the available days (0 = Calendar, 1 = list of days)","required":false,"schema":{"type":"integer"}},{"name":"appointmentlocation","in":"query","description":"Defines the location of the appointment","required":false,"schema":{"type":"integer"}},{"name":"appointmentlocationtext","in":"query","description":"Defines the location text if appointmentlocation = 3","required":false,"schema":{"type":"string"}},{"name":"vendorconfirmation","in":"query","description":"Defines if the appointment provider needs to manually confirm the appointment (0 = manually, 1 = automatically)","required":false,"schema":{"type":"integer"}},{"name":"smsconfirmation","in":"query","description":"Defines if a SMS confirmation is sent after booking (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"reminderhours","in":"query","description":"Defines when the first reminder is sent in hours (needs to be a negative value)","required":false,"schema":{"type":"integer"}},{"name":"reminderhours2","in":"query","description":"Defines when the second reminder is sent in hours (needs to be a negative value)","required":false,"schema":{"type":"integer"}},{"name":"cluster","in":"query","description":"Defines if the cluster is applied to this service (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"customerconfirm","in":"query","description":"Defines if the customer needs to confirm the appointment (1 = enabled, 0 = disabled; doesn't work with online payments or vendorconfirmation)","required":false,"schema":{"type":"integer"}},{"name":"customerconfirmtime","in":"query","description":"Time in minutes the customer has time to confirm the appointment (customerconfirm must be set to 1)","required":false,"schema":{"type":"integer"}},{"name":"PM0","in":"query","description":"Shows online payment options (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"PM1","in":"query","description":"Shows on site payment options (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"PM2","in":"query","description":"Shows by invoice payment options (1 = enabled, 0 = disabled)","required":false,"schema":{"type":"integer"}},{"name":"paymentamountpercentage","in":"query","description":"Defines the payment amount that needs to be paid at the end of booking","required":false,"schema":{"type":"integer"}},{"name":"paymentamountisabsolute","in":"query","description":"Defines if paymentamountpercentage is abolute or a percentage (1 = absolute, 0 = percentage)","required":false,"schema":{"type":"integer"}},{"name":"currency","in":"query","description":"Defines the currency of the service","required":false,"schema":{"type":"string"}},{"name":"voucherfield","in":"query","description":"Defines if the voucherfield is shown (0 = not shown, 1 = shown, 2 = shown and mandatory)","required":false,"schema":{"type":"integer"}},{"name":"mpbs","in":"query","description":"Defines if the price is multiplied by the amount of booked appointments","required":false,"schema":{"type":"integer"}},{"name":"timeslotformat","in":"query","description":"Defines how the timeslots are shown on page 2 on the bookingpage (0 = starttime - endtime, 1 = starttime, 2 = only date, 3 = calendar week, 4 = like 0 but with dates, 5 = startdate only)","required":false,"schema":{"type":"integer"}},{"name":"multiappointment","in":"query","description":"Defines if multiple appointments can be booked in one booking (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"multiservicedurationcalcmethod","in":"query","description":"Defines how the duration is calculated if multiple services are selected (0 = all durations are summed up, 1 = only duration of the longest service, 2 = all durations are halfed, 3 = like 2 except the longest service)","required":false,"schema":{"type":"integer"}},{"name":"calendarselection","in":"query","description":"Defines if the calendar selection should be shown (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"ssca","in":"query","description":"Defines if in the calendar selection the entry all calendars is shown (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"showcalname","in":"query","description":"Defines if in the calendar name is shown in the time slot (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"showcalpic","in":"query","description":"Defines if in the calendar picture is shown after the timeslot is selected (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"showavcap","in":"query","description":"Defines if the available capacity is shown in time slots (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"limitbooking","in":"query","description":"Defines if this service can be booked a limited amount of times per customer (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"limitappointmentstype","in":"query","description":"Defines how the appointments are limited (0 = per booking day, 1 = per week, 2 = per month, 3 = per year, 4 = per booked day)","required":false,"schema":{"type":"integer"}},{"name":"limitappointments","in":"query","description":"Defines how many appointments can be booked per customer","required":false,"schema":{"type":"integer"}},{"name":"limitservice","in":"query","description":"Defines if the limitation only applies to this specific service","required":false,"schema":{"type":"integer"}},{"name":"wowing","in":"query","description":"Set to 0 if the Wowing interface should be disabled for this service","required":false,"schema":{"type":"integer"}},{"name":"wowingautomationid","in":"query","description":"Defines the Woing Automation ID","required":false,"schema":{"type":"integer"}},{"name":"paymentduration","in":"query","description":"Defines the payment term for LexOffice","required":false,"schema":{"type":"integer"}},{"name":"workloadperc","in":"query","description":"Defines the percentage of time slots that are not shown","required":false,"schema":{"type":"integer"}},{"name":"nrtimeslotentries","in":"query","description":"Defines the maximum amount of time slots that are shown","required":false,"schema":{"type":"integer"}},{"name":"feedback","in":"query","description":"Set to 0 if the feedback checkbox should not be shown","required":false,"schema":{"type":"integer"}},{"name":"calcdrivingtime","in":"query","description":"Defines if driving time should be calculated (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"fillcalendarstrategy","in":"query","description":"Defines how the calender should be filled (0 = standard, 1 = random, 2 = round Robin, 3 = sequential, 4 = skills, 5 = strict round Robin)","required":false,"schema":{"type":"integer"}},{"name":"waitinglist","in":"query","description":"Defines if the waiting list should be available (0 = no, 1 = yes)","required":false,"schema":{"type":"integer"}},{"name":"notearlyapp","in":"query","description":"Defines if the customer should get an email if an earlier appointment is available (0 = not active, 1 = for appointments that were cancelled online, 2 = for appointments cancelled online and manually, 3 = like 1 but per calendar, 4 = like 2 but per calendar)","required":false,"schema":{"type":"integer"}},{"name":"sortorder","in":"query","description":"Defines the position in the servicegroup","required":false,"schema":{"type":"integer"}},{"name":"bookingtype","in":"query","description":"Defines the bookingtype (0 = appointment, 1 = no appointment booking allowed, 2 = 'negative' appointment, 3 = reservation list, 4 = voucher sale)","required":false,"schema":{"type":"integer"}},{"name":"showinternal","in":"query","description":"Defines if the service is shown in the backend","required":false,"schema":{"type":"boolean"}},{"name":"enabled","in":"query","description":"Defines if the service is shown in the frontend","required":false,"schema":{"type":"boolean"}},{"name":"showindb","in":"query","description":"Defines if the service is shown in the most booked area of the Dashboard","required":false,"schema":{"type":"boolean"}},{"name":"emailsender","in":"query","description":"Defines the sender adress of the email for this service","required":false,"schema":{"type":"string"}},{"name":"emailtxtde","in":"query","description":"A special placeholder %SERVICETEXT% for emails, use other language codes to set the text (for example emailtxten for english)","required":false,"schema":{"type":"string"}},{"name":"infotxtp2","in":"query","description":"A special placeholder %INFOTEXTP2% for page 2 of the booking page","required":false,"schema":{"type":"string"}},{"name":"pricesuffixde","in":"query","description":"Additional information for the price, use other language codes to set the text (for example emailtxten for english)","required":false,"schema":{"type":"string"}},{"name":"priceinfopos","in":"query","description":"Defines where the pricesuffix is shown (0 = left side, 1 = right side)","required":false,"schema":{"type":"integer"}},{"name":"vat","in":"query","description":"Defines the vat rate of the service","required":false,"schema":{"type":"integer"}},{"name":"multiplypricewithcap","in":"query","description":"Defines if the price is multiplied with the capacity","required":false,"schema":{"type":"boolean"}},{"name":"pricediffperday","in":"query","description":"Defines if different prices per weekday are applied","required":false,"schema":{"type":"boolean"}},{"name":"issubscription","in":"query","description":"Defines if the service is a subscription","required":false,"schema":{"type":"boolean"}},{"name":"capseltextde","in":"query","description":"Defines the text if there is a capacity selection on that service, use other language codes to set the text (for example capseltexten for english)","required":false,"schema":{"type":"string"}},{"name":"mstextpos","in":"query","description":"Defines the position of capseltext (0 = above selection, 1 = to the right)","required":false,"schema":{"type":"integer"}},{"name":"allowonlythisservice","in":"query","description":"If there are multiple services with capacity available at the same time, this option prevents that they will get mixed, if set to true","required":false,"schema":{"type":"boolean"}},{"name":"multiservicesel","in":"query","description":"True, if the service can be booked multiple times after another. This won't work if the parameter enablecapacity is true aswell","required":false,"schema":{"type":"boolean"}},{"name":"multiservicemin","in":"query","description":"Defines the minimum amount that can be choosen for multi service selection","required":false,"schema":{"type":"integer"}},{"name":"multiservicemax","in":"query","description":"Defines the maximum amount that can be choosen for multi service selection","required":false,"schema":{"type":"integer"}},{"name":"extramin","in":"query","description":"Defines total wrap up time","required":false,"schema":{"type":"integer"}},{"name":"extramintype","in":"query","description":"0 if extramin should not be applied if differenttimeresource is true, 1 if extramin should be added to timeslotminutesresend","required":false,"schema":{"type":"integer"}},{"name":"maxappsel","in":"query","description":"Defines the maximum amount of appointments that can be selected on the booking page if multiappointment is true (in this service or globally)","required":false,"schema":{"type":"integer"}},{"name":"nrappsel","in":"query","description":"Defines the maximum / minimum amount of appointments that MUST be selected on the booking page if multiappointment is true (in this service or globally)","required":false,"schema":{"type":"integer"}},{"name":"maxminslots","in":"query","description":"Defines if nrappsel is maximum (0) or minimum (1)","required":false,"schema":{"type":"boolean"}},{"name":"nrappseladjacent","in":"query","description":"True, if the selected appointments have to be adjacent","required":false,"schema":{"type":"boolean"}},{"name":"nrappseladjacenttype","in":"query","description":"0 = the date and time need to be adjacent, 1 = only the day need to be adjacent","required":false,"schema":{"type":"integer"}},{"name":"specificrangenextslot","in":"query","description":"True, if the next appointment needs to be after a specific timeframe","required":false,"schema":{"type":"boolean"}},{"name":"rangestart","in":"query","description":"Days after the last appoinment","required":false,"schema":{"type":"integer"}},{"name":"rangeend","in":"query","description":"Days range for the new appointment","required":false,"schema":{"type":"integer"}},{"name":"infotextinslots","in":"query","description":"True, if the info text should be shown in the slot text in page 2 of the booking page","required":false,"schema":{"type":"boolean"}},{"name":"appattrib","in":"query","description":"Defines which attribute is set automatically in appointment. Attributes are binary encoded (1st attribute = 1, 2nd = 2, 3rd = 4; 1st + 2nd = 3)","required":false,"schema":{"type":"integer"}},{"name":"addapphours","in":"query","description":"Hours after the first appointment, where a second appointment is booked","required":false,"schema":{"type":"integer"}},{"name":"rrule","in":"query","description":"Defines the RRULE for this service","required":false,"schema":{"type":"string"}},{"name":"bookingminute","in":"query","description":"Defines when the timeslots are shown (61 = no restrictions, 0 = every full hour, 31 = every full and half hour, 15 or 30 or 45 = x minutes after a full hour)","required":false,"schema":{"type":"integer"}},{"name":"showserviceids","in":"query","description":"Service(s) that have to be selected to show this service","required":false,"schema":{"type":"string"}},{"name":"hideserviceids","in":"query","description":"Service(s) that should be hidden, if this service is selected","required":false,"schema":{"type":"string"}},{"name":"uselogo","in":"query","description":"True, if the the picture of this service should be used for the email logo","required":false,"schema":{"type":"boolean"}},{"name":"severalcalendarsused","in":"query","description":"True, if the service can only be booked if another calendar is available","required":false,"schema":{"type":"boolean"}},{"name":"differenttimecombined","in":"query","description":"True, if the service has a different time if booked with another service","required":false,"schema":{"type":"boolean"}},{"name":"timeslotcombined","in":"query","description":"Defines the time of the appointment if booked with another service. differenttimecombined has to be true","required":false,"schema":{"type":"integer"}},{"name":"tags","in":"query","description":"ID of the tags that the contact gets after booking","required":false,"schema":{"type":"string"}},{"name":"tagscancel","in":"query","description":"ID of the tags that the contact gets after cancellation of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreference","in":"query","description":"Used for a tag ID or external reference after booking","required":false,"schema":{"type":"string"}},{"name":"externalreferencedelete","in":"query","description":"Used for a tag ID or external reference after cancellation of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencechange","in":"query","description":"Used for a tag ID or external reference after a change of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencedate","in":"query","description":"ID of a field that should contain the date of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencelocation","in":"query","description":"ID of a field that should contain the location of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencecalname","in":"query","description":"ID of a field that should contain the calendar name of the appointment","required":false,"schema":{"type":"string"}},{"name":"externalreferencecancel","in":"query","description":"ID of a field that should contain the cancellation link of the appointment","required":false,"schema":{"type":"string"}},{"name":"jscode","in":"query","description":"Used for JavaScript code that will be executed after the booking of the appointment (for example to redirect to another website)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Service updated successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"ID":{"type":"number","example":123456},"Status":{"type":"number","example":200},"StatusMsg":{"type":"string","example":"3 records updated!","description":"Since there are more tables that get updated, you get the message 3 records updated"}}}}}}}},"get":{"summary":"Get service details","description":"Use this function if you want to get details of an existing service or all services.","tags":["Service"],"parameters":[{"name":"languageid","in":"query","description":"Use the language code in which you want the name and description of the service (e.g., DE, EN, etc.)","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","description":"ID of the service to get the information of a specific service","required":false,"schema":{"type":"integer"}},{"name":"ServiceGroupID","in":"query","description":"Use if you want only services of a specific service group","required":false,"schema":{"type":"integer"}},{"name":"addimage","in":"query","description":"true if you want to also get the image-data in your response","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"ServiceID":{"type":"number","example":199418},"ServiceGroupID":{"type":"number","example":79085},"Service":{"type":"string","example":"Servicename"},"Info":{"type":"string","example":"Servicedescription"},"CapSelText":{"type":"string","example":""},"EmailTxt":{"type":"string","example":""},"PriceSuffix":{"type":"string","example":""},"InfoTxtP2":{"type":"string","example":""},"SubQuestionID":{"type":"number","example":""},"TimeSlotMinutes":{"type":"number","example":30},"DifferentTimeResource":{"type":"boolean","example":false},"TimeSlotMinutesResStart":{"type":"number","example":0},"TimeSlotMinutesResEnd":{"type":"number","example":30},"GlobalAnswerSortIdx":{"type":"number","example":0},"Abbreviation":{"type":"string","example":""},"Price":{"type":"number","example":100},"PriceIsPercentage":{"type":"boolean","example":false},"Currency":{"type":"number","example":-1},"SortOrder":{"type":"number","example":10},"Color":{"type":"string","example":"#FFBC5E"},"ForeColor":{"type":"string","example":"#FFBC5E"},"RRule":{"type":"string","example":""},"EnableCapacity":{"type":"boolean","example":false},"MinCapacity":{"type":"number","example":0},"MaxCapacity":{"type":"number","example":30},"MaxCapacityUserSel":{"type":"number","example":3},"ExternalReference":{"type":"string","example":""},"ExternalReferenceDelete":{"type":"string","example":""},"ExternalReferenceChange":{"type":"string","example":""},"ExternalReferenceCancel":{"type":"string","example":""},"ExternalReferenceDate":{"type":"string","example":""},"DaySelectionType":{"type":"number","example":-1},"AppDeadline":{"type":"number","example":-1},"AppFuture":{"type":"number","example":-1},"Tags":{"type":"string","example":"1643"},"MultiServiceSel":{"type":"boolean","example":false},"MultiServiceMax":{"type":"number","example":5},"MultiServiceMin":{"type":"number","example":1},"ShowCapSelectionBox":{"type":"boolean","example":false},"JSCode":{"type":"string","example":""},"ShowInternal":{"type":"boolean","example":true},"AllowOnlyThisService":{"type":"boolean","example":false},"AppointmentLocation":{"type":"number","example":-1},"AppointmentLocationText":{"type":"string","example":""},"Enabled":{"type":"boolean","example":true},"DifferentTimeCombined":{"type":"boolean","example":false},"TimeSlotCombined":{"type":"number","example":0},"VendorConfirmation":{"type":"number","example":-1},"CancelDeadline":{"type":"number","example":-1},"SMSConfirmation":{"type":"number","example":-1},"WorkloadPerc":{"type":"number","example":-1},"VoucherField":{"type":"number","example":-1},"Feedback":{"type":"number","example":-1},"InfoTextInSlots":{"type":"boolean","example":false},"Pap":{"type":"number","example":-1},"Paa":{"type":"number","example":-1},"CurrencyNew":{"type":"number","example":-1},"PM0":{"type":"number","example":-1},"PM1":{"type":"number","example":-1},"PM2":{"type":"number","example":-1},"MultiServiceDurationCalcMethod":{"type":"number","example":-1},"SeveralCalendarsUsed":{"type":"boolean","example":false},"NrAppSel":{"type":"number","example":3},"TimeSlotFormat":{"type":"number","example":-1},"FillCalendarStrategy":{"type":"number","example":-1},"ShowServiceIDs":{"type":"number","example":-1},"HideServiceIDs":{"type":"number","example":-1},"NrAppSelAdjacent":{"type":"boolean","example":false},"NrAppSelAdjacentType":{"type":"number","example":0},"CalendarSelection":{"type":"number","example":-1},"MultiAppointment":{"type":"number","example":-1},"MultiplyPriceWithCap":{"type":"boolean","example":false},"BookingType":{"type":"number","example":0},"WaitingList":{"type":"number","example":-1},"AddAppHours":{"type":"number","example":0},"VAT":{"type":"number","example":-1.0},"CWA":{"type":"number","example":-1},"Wowing":{"type":"number","example":-1},"PriceInfoPos":{"type":"number","example":0},"NrTimeSlotEntries":{"type":"number","example":-1},"ReminderHours":{"type":"number","example":-1},"ReminderHours2":{"type":"number","example":-1},"PaymentDuration":{"type":"number","example":-1},"ShowAvCap":{"type":"number","example":-1},"LimitBooking":{"type":"number","example":-1},"ExtraMin":{"type":"number","example":0},"ExtraMinType":{"type":"number","example":0},"ExternalReferenceLocation":{"type":"string","example":""},"ExternalReferenceCalName":{"type":"string","example":""},"WowingAutomationId":{"type":"number","example":-1},"EmailSender":{"type":"string","example":""},"Mpbs":{"type":"number","example":-1},"Category":{"type":"number","example":0},"Code":{"type":"string","example":""},"ShowCalName":{"type":"number","example":-1},"ShowCalPic":{"type":"number","example":-1},"CalcDrivingTime":{"type":"number","example":-1},"DeletedTime":{"type":"number","example":-1},"SpecificRangeNextSlot":{"type":"boolean","example":false},"RangeStart":{"type":"number","example":7},"RangeEnd":{"type":"number","example":14},"MSTextPos":{"type":"number","example":0},"StartedApp":{"type":"number","example":-1},"UseLogo":{"type":"boolean","example":true},"ShowInDB":{"type":"boolean","example":true},"MaxAppSel":{"type":"number","example":99},"InfoDisplay":{"type":"number","example":0},"PriceDiffPerDay":{"type":"boolean","example":true},"Cluster":{"type":"number","example":-1},"CustomerConfirm":{"type":"number","example":-1},"CustomerConfirmTime":{"type":"number","example":120},"BookingMinute":{"type":"number","example":61},"TagsCancel":{"type":"number","example":-1},"CapacityNonSel":{"type":"number","example":1},"LimitAppointmentsType":{"type":"number","example":0},"LimitAppointments":{"type":"number","example":1},"SSCA":{"type":"number","example":-1},"MaxMinSlots":{"type":"number","example":0},"AppAttrib":{"type":"number","example":0},"NotEarlyApp":{"type":"number","example":-1},"IsSubscription":{"type":"boolean","example":false},"LimitService":{"type":"boolean","example":false}}}}}}}}},"delete":{"summary":"Delete service","description":"Use this function if you want to delete a service.","tags":["Service"],"parameters":[{"name":"id","in":"query","description":"ID of the service","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"example":{"ID":null,"Status":"200","StatusMsg":"2 record(s) deleted!","description":"Since there are more tables that get updated, you get the message 2 records deleted"}}}}}}},"/api/servicecalendar":{"get":{"tags":["Servicecalendar"],"summary":"Get calendars according to a serviceID","description":"Returns a list of all calendars that are compatible with one of the provided serviceid(s)","parameters":[{"name":"serviceid","in":"query","description":"ID of a service. Several service ID's can be separated with a comma (,). e.g. 45345,45346 etc.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"calendarid":{"type":"integer","example":832986}}}}}}}}}},"/api/servicegroup":{"post":{"summary":"Create service group","description":"Creates a new service group","tags":["Servicegroup"],"parameters":[{"name":"servicegroupde","in":"query","description":"Name of the service group in german. For other languages use servicegroupLANGUAGECODE e.g. servicegroupen","required":false,"schema":{"type":"string"}},{"name":"additionaltextde","in":"query","description":"Additional information of the service group in german. For other languages use additionaltextLANGUAGECODE e.g. additionaltexten","required":false,"schema":{"type":"string"}},{"name":"addtextdisplaymode","in":"query","description":"Defines the location of the additional text (0 = via Tooltip; 1 = under the name of the service group)","required":false,"schema":{"type":"integer"}},{"name":"servicegrouptype","in":"query","description":"Defines the service group type (0 = Service selection; 2 = Text field; 5 = location selection; 8 = Day amount selection; 9 = Number search; 10 = Minutes amount selection)","required":false,"schema":{"type":"integer"}},{"name":"answerselection","in":"query","description":"Selection type for services (0 = Single selection; 1 = Multi selection; 2 = list selection). Has to be -1 if servicegrouptype is not 0!","required":false,"schema":{"type":"integer"}},{"name":"isoptional","in":"query","description":"Defines if a selection of a service is mandatory","required":false,"schema":{"type":"boolean"}},{"name":"showprice","in":"query","description":"Defines if the price of the service is shown","required":false,"schema":{"type":"boolean"}},{"name":"showduration","in":"query","description":"Defines if the duration of the service is shown","required":false,"schema":{"type":"boolean"}},{"name":"nrservicecolumns","in":"query","description":"Defines how many columns the services should be displayed in","required":false,"schema":{"type":"integer"}},{"name":"showtoggle","in":"query","description":"true if the service group can be collapsed","required":false,"schema":{"type":"boolean"}},{"name":"collapse","in":"query","description":"true if the service group is shown collapsed as default (need showtoggle to be true)","required":false,"schema":{"type":"boolean"}},{"name":"enabled","in":"query","description":"false if the service group should not appear on the bookingpage (only via direct link or for internal services)","required":false,"schema":{"type":"boolean"}},{"name":"showinsummary","in":"query","description":"false if the selected service should not appear in the summary box","required":false,"schema":{"type":"boolean"}},{"name":"showwhencertainanswerselected","in":"query","description":"List of services that have to be selected to show this service group. Set to -1 if the service group should be shown initially","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Service group created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","example":123456},"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"Service group created successfully!"}}}}}}}},"put":{"summary":"Update service group","description":"Updates attributes of a service group","tags":["Servicegroup"],"parameters":[{"name":"servicegroupid","in":"query","description":"ID of the service group that gets updated","required":true,"schema":{"type":"integer"}},{"name":"servicegroupde","in":"query","description":"Name of the service group in german. For other languages use servicegroupLANGUAGECODE e.g. servicegroupen","required":false,"schema":{"type":"string"}},{"name":"additionaltextde","in":"query","description":"Additional information of the service group in german. For other languages use additionaltextLANGUAGECODE e.g. additionaltexten","required":false,"schema":{"type":"string"}},{"name":"addtextdisplaymode","in":"query","description":"Defines the location of the additional text (0 = via Tooltip; 1 = under the name of the service group)","required":false,"schema":{"type":"integer"}},{"name":"servicegrouptype","in":"query","description":"Defines the service group type (0 = Service selection; 2 = Text field; 5 = location selection; 8 = Day amount selection; 9 = Number search; 10 = Minutes amount selection)","required":false,"schema":{"type":"integer"}},{"name":"answerselection","in":"query","description":"Selection type for services (0 = Single selection; 1 = Multi selection; 2 = list selection). Has to be -1 if servicegrouptype is not 0!","required":false,"schema":{"type":"integer"}},{"name":"isoptional","in":"query","description":"Defines if a selection of a service is mandatory","required":false,"schema":{"type":"boolean"}},{"name":"showprice","in":"query","description":"Defines if the price of the service is shown","required":false,"schema":{"type":"boolean"}},{"name":"showduration","in":"query","description":"Defines if the duration of the service is shown","required":false,"schema":{"type":"boolean"}},{"name":"nrservicecolumns","in":"query","description":"Defines how many columns the services should be displayed in","required":false,"schema":{"type":"integer"}},{"name":"showimgfull","in":"query","description":"true if the picture of the service should be shown as big as possible","required":false,"schema":{"type":"boolean"}},{"name":"showtoggle","in":"query","description":"true if the service group can be collapsed","required":false,"schema":{"type":"boolean"}},{"name":"collapse","in":"query","description":"true if the service group is shown collapsed as default (need showtoggle to be true)","required":false,"schema":{"type":"boolean"}},{"name":"enabled","in":"query","description":"false if the service group should not appear on the bookingpage (only via direct link or for internal services)","required":false,"schema":{"type":"boolean"}},{"name":"answersortorder","in":"query","description":"Defines in which order the services are shown (0 = according to position in service; 1 = Ascending by name; 2 = Descending by name)","required":false,"schema":{"type":"integer"}},{"name":"showinsummary","in":"query","description":"false if the selected service should not appear in the summary box","required":false,"schema":{"type":"boolean"}},{"name":"showinemailsummary","in":"query","description":"false if the selected service should not appear in the summary of the emails","required":false,"schema":{"type":"boolean"}},{"name":"pageidx","in":"query","description":"If set to 1 the service group will be shown on a second service selection page. Default value is 0","required":false,"schema":{"type":"integer"}},{"name":"displayindex","in":"query","description":"Index in which order the service group should be shown","required":true,"schema":{"type":"integer"}},{"name":"showwhencertainanswerselected","in":"query","description":"List of services that have to be selected to show this service group. Set to -1 if the service group should be shown initially","required":false,"schema":{"type":"string"}},{"name":"countrylimitation","in":"query","description":"Languagecodes that are supported by the location lookup (servicegrouptype has to be 5)","required":false,"schema":{"type":"string"}},{"name":"regex","in":"query","description":"Is a validation rule. Can be used if you want to have your location written in a certain way (servicegrouptype has to be 5)","required":false,"schema":{"type":"string"}},{"name":"errormsgde","in":"query","description":"Error message, if the regex isn't valid or a wrong number on the number search is used. For other languages use errormsgLANGUAGECODE e.g. errormsgen (servicegrouptype has to be 5 or 9)","required":false,"schema":{"type":"string"}},{"name":"selminduration","in":"query","description":"The interval of minutes you can switch up or down with the minute selection (servicegrouptype has to be 10)","required":false,"schema":{"type":"integer"}},{"name":"selminprice","in":"query","description":"The price of every minute selection interval (servicegrouptype has to be 10)","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Service group updated successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"1 records updated!"}}}}}}}},"get":{"summary":"Get service groups details","description":"Returns all service groups that are available for the specific account.","tags":["Servicegroup"],"parameters":[{"name":"servicegroupid","in":"query","description":"ID of the servicegroup that you want information on","required":false,"schema":{"type":"integer"}},{"name":"languageid","in":"query","description":"Language code if you only want the information for a specific language e.g. DE, EN, etc.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"ServiceGroupDE":{"type":"string","example":"Service group name"},"AdditionalTextDE":{"type":"string","example":""},"DisplayIndex":{"type":"integer","example":1},"AnswerSelection":{"type":"integer","example":0},"StandardAnswerIndex":{"type":"integer","example":1},"AnswerSortOrder":{"type":"integer","example":0},"ShowWhenCertainAnswerSelected":{"type":"string","example":"-1"},"Enabled":{"type":"boolean","example":true},"ServiceGroupType":{"type":"integer","example":0},"IsOptional":{"type":"boolean","example":true},"ShowPrice":{"type":"boolean","example":true},"IsSimple":{"type":"boolean","example":false},"Collapse":{"type":"boolean","example":false},"ShowToggle":{"type":"boolean","example":false},"NrServiceColumns":{"type":"integer","example":2},"ShowImgFull":{"type":"boolean","example":false},"AddTextDisplayMode":{"type":"integer","example":0},"ShowInSummary":{"type":"boolean","example":true},"ShowDuration":{"type":"boolean","example":true},"CountryLimitation":{"type":"string","example":"de,at,ch"},"ShowInEmailSummary":{"type":"boolean","example":true},"SelMinDuration":{"type":"integer","example":15},"SelMinPrice":{"type":"integer","example":"14.49"},"regex":{"type":"string","example":""},"pageidx":{"type":"integer","example":0}}}}}}}}},"delete":{"summary":"Delete service group","description":"Use this function if you want to delete a service group. All services that are linked to this service group will be deleted automatically as well.","tags":["Servicegroup"],"parameters":[{"name":"servicegroupid","in":"query","description":"ID of the servicegroup that you want information on","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"object","properties":{"Status":{"type":"number","example":200},"StatusMsg":{"type":"string","example":"1 record(s) deleted"}}}}}}}}},"/api/surveyresults":{"get":{"tags":["SurveyResults"],"summary":"Get Survey results","description":"Returns all survey results that were received from the customers.","parameters":[{"name":"date","in":"query","description":"Date when the survey result was created","required":false,"schema":{"type":"string"}},{"name":"appid","in":"query","description":"Get all survey results of the appointment with this ID (not externalid).","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"SurveyID":{"type":"integer","example":35},"Question":{"type":"string","example":"How satisfied are you with the online appointment booking process?"},"Result":{"type":"string","example":"5.0"},"TimeStamp":{"type":"string","example":"2024-01-11T17:06:56.047"},"CalendarID":{"type":"integer","example":342344},"CalendarName":{"type":"string","example":"Employee name"}}}}}}}}}},"/api/timeslots":{"get":{"tags":["Timeslots"],"summary":"Get available time slots","description":"Get available time slots of a specific day or a time range.<br><br> <font color=red>Important:</font> Please pay attention that <b>some fields might be mandatory</b> to not get an empty response, <b>depending how the account is set up</b> (for example serviceid).","parameters":[{"name":"date","in":"query","description":"Day that you want to check if there are available slots. Format: yyyy-mm-dd","required":true,"schema":{"type":"string"}},{"name":"rangesearch","in":"query","description":"0 - All slots of a specific day will be displayed <br> 1 - Searches until it found a date when slots are available. Returns the number of slots that are available on a specific day (according to the account settings, the available slots may differ)","required":false,"schema":{"type":"integer"}},{"name":"end","in":"query","description":"End date of the time range. Only works if rangesearch=1. Format: yyyy-mm-dd","required":false,"schema":{"type":"string"}},{"name":"serviceid","in":"query","description":"ID(s) of the selected service(s). This parameter is required if you restrict the calendar or working times to specific services. Several service ID's can be separated with a comma (,). e.g. 45345,45346 etc.","required":false,"schema":{"type":"string"}},{"name":"calendarid","in":"query","description":"ID of the calendar. Use this parameter if you want to get available time slots for a specific calendar. If this parameter is empty, available time slots for all calendars will be returned.","required":false,"schema":{"type":"string"}},{"name":"capacity","in":"query","description":"Defines the capacity that is searched for, if you have capacity enabled","required":false,"schema":{"type":"integer"}},{"name":"duration","in":"query","description":"Appointment duration in minutes. Use this parameter if you want to use a different duration than specified for the service","required":false,"schema":{"type":"integer"}},{"name":"cluster","in":"query","description":"Appointment cluster on (1) or off (0)","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string","example":"2024-09-24T15:30:00"},"end":{"type":"string","example":"2024-09-24T16:00:00"},"calendarid":{"type":"integer","example":120034},"calendarname":{"type":"string","example":"Coworker"},"idandtimeslot":{"type":"string","example":"120034|2024-09-24 15:30|2024-09-24 16:00|Coworker|2"},"available":{"type":"integer","example":0,"description":"tells how many appointments are available for the day, that rangesearch=1 offers"},"f":{"type":"boolean","example":true,"description":"found, that is true every time."},"wl":{"type":"integer","example":0,"description":"waitinglist, True if you can use the waiting list function for this day"},"wlstart":{"type":"integer","example":0,"description":"start time when the waiting list is available. Should be the earliest full hour workingtime that a calendar can offer"},"wlend":{"type":"integer","example":0,"description":"end time, same as above, only the last full hour of the workingtime that a calendar can offer"},"ecap":{"type":"boolean","example":false,"description":"true if capacity is used. This is useful for workshops, if more people book for the same timeslot"},"cap":{"type":"integer","example":2,"description":"Amount of available capacity"},"capmax":{"type":"integer","example":2,"description":"Amount of maximum capacity"},"adw":{"type":"integer","example":0,"description":"additional days weekend which resembles the days that are added if you activated that a weekend would extend the maximum booking time frame. For example you give a 30 days booking period where customers can choose an appointment, but you want to add 2 days for every Saturday and Sunday, so adw would be 8."},"ads":{"type":"string","example":"","description":"additional slots, used if you use a service as a course that has additional slots that are booked at the same time"}}}}}}}}}},"/api/usermapping":{"post":{"tags":["UserMapping"],"summary":"Create Usermapping","description":"Usermapping is used for the number search. Use this function to create a new entry for the number search.","parameters":[{"name":"valuetype","in":"query","description":"Type of the number search Values:<br> 0 = Equals <br> 1 = From - To <br> 2 = Last two digits <br> 3 = Last 3 digits <br> 5 = Last digit <br> 6 = First digit <br> 7 = First two digits <br> 8 = First three digits","required":false,"schema":{"type":"integer"}},{"name":"value","in":"query","description":"Value that should be matched (valuetype has to be 0, 2 or 3). If you use last x digits, only use x digits for the value.","required":false,"schema":{"type":"integer"}},{"name":"valuefrom","in":"query","description":"First number that works for this range (valuetype has to be 1)","required":false,"schema":{"type":"integer"}},{"name":"valueto","in":"query","description":"Last number that works for this range (valuetype has to be 1)","required":false,"schema":{"type":"integer"}},{"name":"calendarid","in":"query","description":"List of calendars that work with the searchvalue (default = -1)","required":false,"schema":{"type":"string"}},{"name":"servicegroupid","in":"query","description":"List of servicegroups that work with the searchvalue (default = -1)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","example":417416},"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"Created successfully!"}}}}}}}},"put":{"tags":["UserMapping"],"summary":"Update Usermapping","description":"Usermapping is used for the number search. Use this function to update an existing entry for the number search.","parameters":[{"name":"id","in":"query","description":"ID of the value that gets updated","required":false,"schema":{"type":"integer"}},{"name":"valuetype","in":"query","description":"Type of the number search (0 = Equals; 1 = From - To; 2 = Last two digits; 3 = Last 3 digits)","required":false,"schema":{"type":"integer"}},{"name":"value","in":"query","description":"Value that should be matched (valuetype has to be 0, 2 or 3). If you use last x digits, only use x digits for the value.","required":false,"schema":{"type":"integer"}},{"name":"valuefrom","in":"query","description":"First number that works for this range (valuetype has to be 1)","required":false,"schema":{"type":"integer"}},{"name":"valueto","in":"query","description":"Last number that works for this range (valuetype has to be 1)","required":false,"schema":{"type":"integer"}},{"name":"calendarid","in":"query","description":"List of calendars that work with the searchvalue (default = -1)","required":false,"schema":{"type":"string"}},{"name":"servicegroupid","in":"query","description":"List of servicegroups that work with the searchvalue (default = -1)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"1 records updated!","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"1 records updated!"}}}}}}}},"get":{"tags":["UserMapping"],"summary":"Get Usermapping information","description":"Usermapping is used for the number search. Use this function to validate a searchvalue to get the according calendarids and servicegroupids","parameters":[{"name":"searchvalue","in":"query","description":"Value that needs to be validated by the number search (use no parameter to get all usermappings)","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":618},"valuetype":{"type":"integer","example":0},"value":{"type":"integer","example":1800},"valuefrom":{"type":"integer","example":0},"valueto":{"type":"integer","example":1},"calendarid":{"type":"string","example":"90475"},"servicegroupid":{"type":"string","example":"125237,198850"}}}}}}}}},"delete":{"tags":["UserMapping"],"summary":"Delete Usermapping","description":"Usermapping is used for the number search. Use this function to update an existing entry for the number search.","parameters":[{"name":"id","in":"query","description":"ID of the value that gets updated","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"1 records deleted!","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"1 records deleted!"}}}}}}}}},"/api/voucher":{"post":{"tags":["Voucher"],"summary":"Create voucher","description":"Creates a new voucher","parameters":[{"name":"id","in":"query","description":"ID of the voucher","required":true,"schema":{"type":"string"}},{"name":"description","in":"query","description":"Description of the voucher","required":false,"schema":{"type":"string"}},{"name":"priceinclvat","in":"query","description":"Price including vat of the voucher","required":false,"schema":{"type":"number"}},{"name":"priceoriginal","in":"query","description":"Should be the same value as in priceinclvat, important with contingent","required":false,"schema":{"type":"number"}},{"name":"ispercentage","in":"query","description":"true, if the value of the voucher is percentage","required":false,"schema":{"type":"boolean"}},{"name":"contingentmax","in":"query","description":"Max. contingent","required":false,"schema":{"type":"integer"}},{"name":"contingentcounter","in":"query","description":"Counter of the contingent. Typically for a new voucher the value is 0","required":false,"schema":{"type":"integer"}},{"name":"validfrom","in":"query","description":"Date from which date the voucher is valid. Format YYYY-MM-DD","required":false,"schema":{"type":"string"}},{"name":"validuntil","in":"query","description":"Date until the voucher is valid. Format YYYY-MM-DD","required":false,"schema":{"type":"string"}},{"name":"calendarsassigned","in":"query","description":"ID(s) of the calendar(s) for which the voucher is valid","required":false,"schema":{"type":"string"}},{"name":"servicesassigned","in":"query","description":"ID(s) of the service(s) for which the voucher is valid","required":false,"schema":{"type":"string"}},{"name":"customeremail","in":"query","description":"E-Mail of the customer that is assigned to this voucher/contingent","required":false,"schema":{"type":"string"}},{"name":"sendreminder","in":"query","description":"true for a reminder to be sent if complete contingent is used","required":false,"schema":{"type":"boolean"}},{"name":"onetimevalidperemail","in":"query","description":"true if the voucher can only be used x times for one email","required":false,"schema":{"type":"boolean"}},{"name":"validxtimes","in":"query","description":"Number of times the voucher is usable per email, needs onetimevalidperemail to be true","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Voucher created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","example":123456},"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"Voucher created successfully!"}}}}}}}},"put":{"tags":["Voucher"],"summary":"Update voucher","description":"Update an existing voucher","parameters":[{"name":"id","in":"query","description":"ID of the voucher","required":true,"schema":{"type":"string"}},{"name":"description","in":"query","description":"Description of the voucher","required":false,"schema":{"type":"string"}},{"name":"priceinclvat","in":"query","description":"Price including vat of the voucher","required":false,"schema":{"type":"number"}},{"name":"priceoriginal","in":"query","description":"Should be the same value as in priceinclvat, important with contingent","required":false,"schema":{"type":"number"}},{"name":"ispercentage","in":"query","description":"true, if the value of the voucher is percentage","required":false,"schema":{"type":"boolean"}},{"name":"contingentmax","in":"query","description":"Max. contingent","required":false,"schema":{"type":"integer"}},{"name":"contingentcounter","in":"query","description":"Counter of the contingent. Typically for a new voucher the value is 0","required":false,"schema":{"type":"integer"}},{"name":"validfrom","in":"query","description":"Date from which date the voucher is valid. Format YYYY-MM-DD","required":false,"schema":{"type":"string"}},{"name":"validuntil","in":"query","description":"Date until the voucher is valid. Format YYYY-MM-DD","required":false,"schema":{"type":"string"}},{"name":"calendarsassigned","in":"query","description":"ID(s) of the calendar(s) for which the voucher is valid","required":false,"schema":{"type":"string"}},{"name":"servicesassigned","in":"query","description":"ID(s) of the service(s) for which the voucher is valid","required":false,"schema":{"type":"string"}},{"name":"customeremail","in":"query","description":"E-Mail of the customer that is assigned to this voucher/contingent","required":false,"schema":{"type":"string"}},{"name":"sendreminder","in":"query","description":"true for a reminder to be sent if complete contingent is used","required":false,"schema":{"type":"boolean"}},{"name":"onetimevalidperemail","in":"query","description":"true if the voucher can only be used x times for one email","required":false,"schema":{"type":"boolean"}},{"name":"validxtimes","in":"query","description":"Number of times the voucher is usable per email, needs onetimevalidperemail to be true","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"1 records updated!","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"1 records updated!"}}}}}}}},"get":{"tags":["Voucher"],"summary":"Get voucher details","description":"Returns a list with all vouchers","responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"BDD639E9"},"iid":{"type":"integer","example":1709508},"Description":{"type":"string","example":"Test"},"PriceWoVAT":{"type":"integer","example":0},"PriceInclVAT":{"type":"integer","example":37.5},"PriceOriginal":{"type":"integer","example":37.5},"Currency":{"type":"string","example":""},"ContingentMax":{"type":"integer","example":5},"ContingentCounter":{"type":"integer","example":3},"ValidUntil":{"type":"string","example":"2027-12-31T00:00:00"},"CalendarsAssigned":{"type":"string","example":""},"CustomerEMail":{"type":"string","example":""},"SendReminder":{"type":"boolean","example":false},"ServicesAssigned":{"type":"string","example":""},"IsPercentage":{"type":"boolean","example":false},"OneTimeValidPerEMail":{"type":"boolean","example":false},"validxtimes":{"type":"integer","example":1},"ValidFrom":{"type":"string","example":"2023-12-31T00:00:00"}}}}}}}}},"delete":{"tags":["Voucher"],"summary":"Delete voucher","description":"Use this function if you want to delete a voucher. Use one of the given parameters!","parameters":[{"name":"id","in":"query","description":"ID of the voucher that should be deleted","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"1 record(s) deleted","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","example":123456},"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"1 record(s) deleted"}}}}}}}}},"/api/workingtimes":{"post":{"tags":["WorkingTimes"],"summary":"Create Working times","description":"Creates a new working slot","parameters":[{"name":"start","in":"query","description":"Start time of the slot, e.g. 09:00","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End time of the slot, e.g. 17:00","required":true,"schema":{"type":"string"}},{"name":"calendarid","in":"query","description":"ID of the calendar","required":true,"schema":{"type":"integer"}},{"name":"weekday","in":"query","description":"ID of the weekday 1 = Sunday, 7 = Saturday. You can add several weekdays separated by a comma e.g. 2,3,5","required":true,"schema":{"type":"string"}},{"name":"enable","in":"query","description":"0 if the time slot should exist but not being considered yet","required":false,"schema":{"type":"integer"}},{"name":"slottype","in":"query","description":"0 if time slots should be valid for internal and external (online booked) appointments. 1 if timeslots are only valid for interal (manually entered) appointments","required":false,"schema":{"type":"integer"}},{"name":"validwithserviceid","in":"query","description":"List of services that work with this working slot","required":false,"schema":{"type":"string"}},{"name":"allserviceidsrequired","in":"query","description":"Defines how the validity of the services are checked. Exclusive means that only the services provided with the parameter validwithserviceid are allowed. If not exclusive, every service the calendar is activated for can be used. <br> 0 = one service needs to be selected <br> 1 = all services need to be selected exclusively <br> 2 = all services need to be selected <br> 3 = one service needs to be selected exclusively)","required":false,"schema":{"type":"integer"}},{"name":"nrapps","in":"query","description":"Amount of appointments that are bookable in this working slot. (-1 = unlimited)","required":false,"schema":{"type":"integer"}},{"name":"weektype","in":"query","description":"Defines in which interval the time slot should be shown <br> 0 = Every week <br> 1 = Odd weeks <br> 2 = Even weeks <br> 3 = First occurrence in month <br> 4 = second occurrence in month <br> 5 = third occurrence in month <br> 6 = fourth occurrence in month <br> 7 = Every 3 weeks first occurrence <br> 8 = Every 3 weeks second occurrence <br> 9 = Every 3 weeks third occurrence <br> 10 = fifth occurrence in month <br> 11 = Every 4 weeks first occurrence <br> 12 = Every 4 weeks second occurrence <br> 13 = Every 4 weeks third occurrence <br> 14 = Every 4 weeks fourth occurrence","required":false,"schema":{"type":"integer"}},{"name":"locationid","in":"query","description":"ID of the location for this working slot if locations are used in working times","required":false,"schema":{"type":"integer"}},{"name":"calendarintervalid","in":"query","description":"ID of the period for this working slot if periods are used in working times","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Working slot created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"Working slot created successfully!"}}}}}}}},"put":{"tags":["WorkingTimes"],"summary":"Update Working times","description":"Update an existing working slot","parameters":[{"name":"id","in":"query","description":"ID of the working time that needs to be changed","required":true,"schema":{"type":"integer"}},{"name":"start","in":"query","description":"Start time of the slot, e.g. 09:00","required":false,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End time of the slot, e.g. 17:00","required":false,"schema":{"type":"string"}},{"name":"calendarid","in":"query","description":"ID of the calendar","required":false,"schema":{"type":"integer"}},{"name":"weekday","in":"query","description":"ID of the weekday 1 = Sunday, 7 = Saturday. You can add several weekdays separated by a comma e.g. 2,3,5","required":false,"schema":{"type":"string"}},{"name":"enable","in":"query","description":"0 if the time slot should exist but not being considered yet","required":false,"schema":{"type":"integer"}},{"name":"slottype","in":"query","description":"0 if time slots should be valid for internal and external (online booked) appointments. 1 if timeslots are only valid for interal (manually entered) appointments","required":false,"schema":{"type":"integer"}},{"name":"validwithserviceid","in":"query","description":"List of services that work with this working slot","required":false,"schema":{"type":"string"}},{"name":"allserviceidsrequired","in":"query","description":"Defines how the validity of the services are checked. Exclusive means that only the services provided with the parameter validwithserviceid are allowed. If not exclusive, every service the calendar is activated for can be used. <br> 0 = one service needs to be selected <br> 1 = all services need to be selected exclusively <br> 2 = all services need to be selected <br> 3 = one service needs to be selected exclusively)","required":false,"schema":{"type":"integer"}},{"name":"nrapps","in":"query","description":"Amount of appointments that are bookable in this working slot. (-1 = unlimited)","required":false,"schema":{"type":"integer"}},{"name":"weektype","in":"query","description":"Defines in which interval the time slot should be shown <br> 0 = Every week <br> 1 = Odd weeks <br> 2 = Even weeks <br> 3 = First occurrence in month <br> 4 = second occurrence in month <br> 5 = third occurrence in month <br> 6 = fourth occurrence in month <br> 7 = Every 3 weeks first occurrence <br> 8 = Every 3 weeks second occurrence <br> 9 = Every 3 weeks third occurrence <br> 10 = fifth occurrence in month <br> 11 = Every 4 weeks first occurrence <br> 12 = Every 4 weeks second occurrence <br> 13 = Every 4 weeks third occurrence <br> 14 = Every 4 weeks fourth occurrence","required":false,"schema":{"type":"integer"}},{"name":"locationid","in":"query","description":"ID of the location for this working slot if locations are used in working times","required":false,"schema":{"type":"integer"}},{"name":"calendarintervalid","in":"query","description":"ID of the period for this working slot if periods are used in working times","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"1 records updated!","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"1 records updated!"}}}}}}}},"get":{"tags":["WorkingTimes"],"summary":"Get Working times","description":"Get working time slots for weekdays","parameters":[{"name":"calendarid","in":"query","description":"CalendarID of the calendar you need the working times for","required":true,"schema":{"type":"integer"}},{"name":"all","in":"query","description":"Use this parameter instead of calendarid, if you want the workingtimes of all calendars","required":false,"schema":{"type":"boolean"}},{"name":"join","in":"query","description":"Set to 1 for the same information but with names instead of numbers","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":209019},"StartTime":{"type":"string","example":"08:00:00"},"EndTime":{"type":"string","example":"18:00:00"},"WeekDayIdx":{"type":"integer","example":1},"WeekDay":{"type":"string","example":"Montag"},"CalendarIntervalID":{"type":"integer","example":-1},"ValidWithServiceID":{"type":"integer","example":-1},"SlotType":{"type":"integer","example":1},"AllServiceIDsRequired":{"type":"integer","example":0},"ServiceIDs":{"type":"string","example":-1},"WeekType":{"type":"integer","example":0},"LocationID":{"type":"integer","example":-1},"Enabled":{"type":"boolean","example":true}}}}}}}}},"delete":{"tags":["WorkingTimes"],"summary":"Delete Working times","description":"Deletes a working slot","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar","required":true,"schema":{"type":"integer"}},{"name":"id","in":"query","description":"ID of the working time that needs to be deleted. If not provided, every working slot of the calendar will be deleted","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Working slot was deleted successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"Working slot was deleted successfully!"}}}}}}}}},"/api/workingtimesdate":{"post":{"tags":["WorkingTimesDate"],"summary":"Create Working times date","description":"Creates a new working slot for a specific day","parameters":[{"name":"start","in":"query","description":"Start date/time of working time e.g. 2019-07-14 09:00","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End date/time of working time e.g. 2019-07-14 18:00","required":true,"schema":{"type":"string"}},{"name":"calendarid","in":"query","description":"ID of the calendar","required":true,"schema":{"type":"integer"}},{"name":"reason","in":"query","description":"Reason of the specific working time (this is only visible internally)","required":false,"schema":{"type":"string"}},{"name":"slottype","in":"query","description":"0 if time slots should be valid for internal and external (online booked) appointments. 1 if timeslots are only valid for interal (manually entered) appointments","required":false,"schema":{"type":"integer"}},{"name":"nrapps","in":"query","description":"Amount of appointments that are bookable in this working slot. (-1 = unlimited)","required":false,"schema":{"type":"integer"}},{"name":"overwriteday","in":"query","description":"true, if the workingtime for this day should be disabled","required":false,"schema":{"type":"boolean"}},{"name":"serviceids","in":"query","description":"List of services that work with this working slot","required":false,"schema":{"type":"string"}},{"name":"allserviceidsrequired","in":"query","description":"Defines how the validity of the services are checked. Exclusive means that only the services provided with the parameter validwithserviceid are allowed. If not exclusive, every service the calendar is activated for can be used. <br> 0 = one service needs to be selected <br> 1 = all services need to be selected exclusively <br> 2 = all services need to be selected <br> 3 = one service needs to be selected exclusively)","required":false,"schema":{"type":"integer"}},{"name":"locationid","in":"query","description":"ID of the location for this working slot if locations are used in working times","required":false,"schema":{"type":"integer"}},{"name":"oneoff","in":"query","description":"true, if this timeslot needs a specific link (requires exactly one service for the validwithserviceid parameter)","required":false,"schema":{"type":"boolean"}},{"name":"oneoffcode","in":"query","description":"Specific code that is used for the oneoff-link if oneoff is true","required":false,"schema":{"type":"string"}},{"name":"waitinglist","in":"query","description":"true, if this timeslot should be filled with appointments from the waitinglist","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Working slot created successfully!","content":{"application/json":{"schema":{"type":"object","properties":{"ID":{"type":"number","example":18423518},"Status":{"type":"number","example":200},"StatusMsg":{"type":"string","example":"Working slot created successfully!"}}}}}}}},"put":{"tags":["WorkingTimesDate"],"summary":"Update Working times date","description":"Update an existing working slot for a specific date","parameters":[{"name":"id","in":"query","description":"ID of the working time that needs to be changed","required":true,"schema":{"type":"integer"}},{"name":"start","in":"query","description":"Start date/time of working time e.g. 2019-07-14 09:00","required":true,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End date/time of working time e.g. 2019-07-14 18:00","required":true,"schema":{"type":"string"}},{"name":"calendarid","in":"query","description":"ID of the calendar","required":true,"schema":{"type":"integer"}},{"name":"reason","in":"query","description":"Reason of the specific working time (this is only visible internally)","required":false,"schema":{"type":"string"}},{"name":"slottype","in":"query","description":"0 if time slots should be valid for internal and external (online booked) appointments. 1 if timeslots are only valid for interal (manually entered) appointments","required":false,"schema":{"type":"integer"}},{"name":"nrapps","in":"query","description":"Amount of appointments that are bookable in this working slot. (-1 = unlimited)","required":false,"schema":{"type":"integer"}},{"name":"overwriteday","in":"query","description":"true, if the workingtime for this day should be disabled","required":false,"schema":{"type":"boolean"}},{"name":"serviceids","in":"query","description":"List of services that work with this working slot","required":false,"schema":{"type":"string"}},{"name":"allserviceidsrequired","in":"query","description":"Defines how the validity of the services are checked. Exclusive means that only the services provided with the parameter validwithserviceid are allowed. If not exclusive, every service the calendar is activated for can be used. <br> 0 = one service needs to be selected <br> 1 = all services need to be selected exclusively <br> 2 = all services need to be selected <br> 3 = one service needs to be selected exclusively)","required":false,"schema":{"type":"integer"}},{"name":"locationid","in":"query","description":"ID of the location for this working slot if locations are used in working times","required":false,"schema":{"type":"integer"}},{"name":"oneoff","in":"query","description":"true, if this timeslot needs a specific link (requires exactly one service for the validwithserviceid parameter)","required":false,"schema":{"type":"boolean"}},{"name":"oneoffcode","in":"query","description":"Specific code that is used for the oneoff-link if oneoff is true","required":false,"schema":{"type":"string"}},{"name":"waitinglist","in":"query","description":"true, if this timeslot should be filled with appointments from the waitinglist","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"1 records updated!","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"1 records updated!"}}}}}}}},"get":{"tags":["WorkingTimesDate"],"summary":"Get Working times date","description":"Get working time slots for specific dates","parameters":[{"name":"calendarid","in":"query","description":"CalendarID of the calendar you need the working times for","required":true,"schema":{"type":"integer"}},{"name":"join","in":"query","description":"Set to 1 for the same information but with names instead of numbers","required":false,"schema":{"type":"integer"}},{"name":"start","in":"query","description":"Start date from when the workingtimes should be shown. Format needs to be yyyy-mm-dd","required":false,"schema":{"type":"string"}},{"name":"end","in":"query","description":"End date until the workingtimes should be shown. Needs the start parameter. Format needs to be yyyy-mm-dd","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"ID":{"type":"integer","example":18407762},"CalendarID":{"type":"integer","example":120034},"StartDate":{"type":"string","example":"2024-08-21T08:00:00"},"EndDate":{"type":"string","example":"2024-08-21T17:00:00"},"Reason":{"type":"string","example":""},"ExternalUID":{"type":"string","example":""},"LocationName":{"type":"string","example":null},"AllServiceIDsRequired":{"type":"integer","example":0},"ServiceIDs":{"type":"string","example":-1},"LocationID":{"type":"integer","example":0},"OverwriteDay":{"type":"boolean","example":false},"NrApps":{"type":"integer","example":-1},"SlotType":{"type":"integer","example":0},"OneOff":{"type":"boolean","example":true},"OneOffCode":{"type":"string","example":"m041pp9l6i"}}}}}}}}},"delete":{"tags":["WorkingTimesDate"],"summary":"Delete Working times date","description":"Delete a working slot for a specific date. Only one of the following parameters are needed","parameters":[{"name":"calendarid","in":"query","description":"ID of the calendar, every working slot for specific days will be deleted","required":false,"schema":{"type":"integer"}},{"name":"id","in":"query","description":"ID of the working time that needs to be deleted","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"1 record(s) deleted","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"number","example":200},"statusmsg":{"type":"string","example":"1 record(s) deleted"}}}}}}}}}}}