You can access various data from Locaboo, available in JSON format.
Here is an overview of how to access these, and what data is available.
You need to use the 'API Access Data', found at 'Profile' section of manager's dashboard.
Every call requires the following auth parameter: api_secret_key
. This can either be POST
or GET
parameter.
Endpoint base : https://app.locaboo.com
Return response 200
only for successful API calls.
GET /api/v2/resource_list
: List of resources along with the fields available for each resource.
Example response can be found below,
/api/v2/resource_list?api_secret_key=<api_secret_key>
{
"data":[
{
"id":5721,
"title":"test audit",
"parts":[
{
"id":8795,
"title":"The only child"
}
]
},
{
"id":48,
"title":"Stefan Test",
"parts":[
{
"id":49,
"title":"Kleine Halle"
},
{
"id":50,
"title":"Gro\u00dfe Halle"
}
]
},
{
"id":51,
"title":"Matthias Dome",
"parts":[
{
"id":52,
"title":"Basketball Field"
},
{
"id":53,
"title":"Eishockey Field"
}
]
},
{
"id":47,
"title":"Sandkasten",
"parts":[
]
}
],
"total":4,
"free_text_fields":[
{
"id":1,
"name":"Persons",
"type":"numeric"
},
{
"id":2,
"name":"Seat Type",
"type":"select",
"options":[
"A",
"B"
],
},
],
"success":true
}
GET /api/v2/resource/<resource-id>
: Details of resource based on ID.
Example response can be found below,
/api/v2/resource/51?api_secret_key=<api_secret_key>
{
"data":{
"id":51,
"manager":46,
"title":"Matthias Dome",
"image":"https:\/\/app.locaboo\/files\/location\/51\/thumb_Buzz Aldrin on the moon_HD.jpg",
"category_id":564,
"category_name":"Box",
"street_hnr":"",
"zip":"",
"city":"",
"country":"DE",
"phone":"",
"fax":"",
"public_comment":"",
"today_opening_times": [
[
"10:30",
"23:59"
]
],
"today_holidays": [
{
"title": "New Holiday",
"from": "2020-07-06",
"to": "2020-07-06"
}
]
},
"total":1,
"success":true
}
GET /api/v2/booking_list
: List of bookings under a manager.
resource_id
, date_from
, date_to
, time_from
, time_to
, show_details
resource_id
field should contain the unique ID of the Resource at locaboo.date_from
and date_to
are the date-range of the bookings to retrieve. The expected format is Y-m-d
.time_from
and time_to
are the time-range of the bookings to retrieve. The expected format is H:i
. This is optional.show_details
is a flag to retrieve additional information of the bookings. Expected values are true
|false
. This is optional, and defaults to false
.Example response can be found below,
/api/v2/booking_list?&api_secret_key=<api_secret_key>&date_from=2023-10-11&date_to=2023-10-13&show_details=true
{
"data": [
{
"id": 312834,
"title": "",
"resources": [
{
"resource_id": 48,
"resource": "Sample Resource B",
"instances": {
"39518": {
"id": 39518,
"resource_id": 49,
"resource": "Sample Resource B > Kleine Halle",
"from": "2023-10-11 11:00",
"to": "2023-10-11 14:00",
"custom_fields": []
},
"39519": {
"id": 39519,
"resource_id": 49,
"resource": "Sample Resource B > Kleine Halle",
"from": "2023-10-12 11:00",
"to": "2023-10-12 14:00",
"custom_fields": []
}
}
}
],
"custom_fields": {
"48": {
"mf_56": {
"label": "New MF field ",
"value": "Geschäftleitungsmeeting / Managementtagung",
"category": 0
}
}
},
"comments": "",
"customer_id": "21749",
"customer": "DemoStore GmbH",
"color": "#17df26"
},
{
"id": 312838,
"title": "",
"resources": [
{
"resource_id": 48,
"resource": "Sample Resource B",
"instances": {
"39526": {
"id": 39526,
"resource_id": 50,
"resource": "Sample Resource B > Große Halle",
"from": "2023-10-11 00:00",
"to": "2023-10-11 23:59",
"custom_fields": []
},
"39527": {
"id": 39527,
"resource_id": 50,
"resource": "Sample Resource B > Große Halle",
"from": "2023-10-12 00:00",
"to": "2023-10-12 23:59",
"custom_fields": []
},
"39528": {
"id": 39528,
"resource_id": 50,
"resource": "Sample Resource B > Große Halle",
"from": "2023-10-13 00:00",
"to": "2023-10-13 18:00",
"custom_fields": []
}
}
}
],
"custom_fields": {
"48": {
"mf_56": {
"label": "New MF field ",
"value": "Geschäftleitungsmeeting / Managementtagung",
"category": 0
}
}
},
"comments": "",
"customer_id": "21749",
"customer": "DemoStore GmbH",
"color": "#17df26"
},
{
"id": 312886,
"title": "Test booking for api",
"resources": [
{
"resource_id": 5721,
"resource": "Conference Room C",
"instances": {
"39593": {
"id": 39593,
"resource_id": 8795,
"resource": "Conference Room C > The only child",
"from": "2023-10-11 11:00",
"to": "2023-10-11 16:00",
"custom_fields": []
},
"39594": {
"id": 39594,
"resource_id": 8795,
"resource": "Conference Room C > The only child",
"from": "2023-10-12 11:00",
"to": "2023-10-12 16:00",
"custom_fields": {
"5721": {
"mf_49": {
"label": "Radi-O",
"value": "Yo!",
"category": null
},
"mf_58": {
"label": "Your comment",
"value": "Sample comment for API from instance",
"category": 0
},
"mf_56": {
"label": "New MF field ",
"value": "Tagung / Konferenz",
"category": 0
},
"mf_55": {
"label": "Seat Type",
"value": "L shape",
"category": 0
},
"mf_36": {
"label": "Just admin",
"value": "off",
"category": null
},
"mf_33": {
"label": "Manager input field",
"value": "test input field",
"category": null
},
"mf_32": {
"label": "Mumbo Jumbo",
"value": "off",
"category": null
},
"mf_28": {
"label": "Just admin",
"value": "off",
"category": null
},
"mf_22": {
"label": "Manager input field",
"value": "",
"category": null
},
"mf_21": {
"label": "Yolo cb?",
"value": "off",
"category": null
},
"mf_5": {
"label": "Select Field B",
"value": "A",
"category": null
},
"mf_4": {
"label": "Input Field C",
"value": "API input C",
"category": null
},
"mf_1": {
"label": "Test Seats A",
"value": "8",
"category": null
}
}
}
},
"39595": {
"id": 39595,
"resource_id": 8795,
"resource": "Conference Room C > The only child",
"from": "2023-10-13 11:00",
"to": "2023-10-13 16:00",
"custom_fields": []
}
}
}
],
"custom_fields": {
"5721": {
"mf_49": {
"label": "Radi-O",
"value": "Hey",
"category": null
},
"mf_58": {
"label": "Your comment",
"value": "Sample comment for api",
"category": 0
},
"mf_56": {
"label": "New MF field ",
"value": "Tagung / Konferenz",
"category": 0
},
"mf_55": {
"label": "Seat Type",
"value": "L shape",
"category": 0
},
"mf_36": {
"label": "Just admin",
"value": "off",
"category": null
},
"mf_33": {
"label": "Manager input field",
"value": "test input field",
"category": null
},
"mf_32": {
"label": "Mumbo Jumbo",
"value": "on",
"category": null
},
"mf_28": {
"label": "Just admin",
"value": "on",
"category": null
},
"mf_21": {
"label": "Yolo cb?",
"value": "on",
"category": null
},
"mf_5": {
"label": "Select Field B",
"value": "A",
"category": null
},
"mf_4": {
"label": "Input Field C",
"value": "API input C",
"category": null
},
"mf_1": {
"label": "Test Seats A",
"value": "11",
"category": null
}
}
},
"color": "#17df26",
"comments": "",
"customer_id": "21749",
"persons": [],
"customer": "DemoStore GmbH"
}
],
"total": 3,
"success": true
}
GET /api/v2/booking/<booking-id>
: Details of booking based on ID.
Example response can be found below,
/api/v2/booking/312842?api_secret_key=<api_secret_key>
{
"data": {
"id": 312842,
"title": "",
"resources": [
{
"resource_id": 5721,
"resource": "Conference Room C",
"instances": [
{
"id": 39535,
"resource_id": 8795,
"resource": "Conference Room C > The only child",
"from": "2023-10-10 05:00",
"to": "2023-10-10 09:00",
"custom_fields": []
},
{
"id": 39536,
"resource_id": 8795,
"resource": "Conference Room C > The only child",
"from": "2023-10-11 05:00",
"to": "2023-10-11 09:00",
"custom_fields": []
},
{
"id": 39537,
"resource_id": 8795,
"resource": "Conference Room C > The only child",
"from": "2023-10-12 05:00",
"to": "2023-10-12 09:00",
"custom_fields": []
}
],
"features": {
"451": {
"rule_interval": "per_quantity",
"rule_price": 10.149,
"rule_name": "Projectors",
"price_cost": 0,
"quantity": "0"
},
"699": {
"rule_interval": "per_hour",
"rule_price": 0,
"rule_name": "t1",
"price_cost": 0,
"quantity": "0"
}
},
"inventory": {
"13": {
"rule_interval": "per_hour",
"rule_price": 2.371,
"rule_name": "Inv_item1",
"price_cost": 0,
"quantity": "0"
}
},
"custom_fields": {
"5721": {
"mf_58": {
"label": "Your comment",
"value": "",
"category": 0
},
"mf_56": {
"label": "New MF field ",
"value": "Geschäftleitungsmeeting / Managementtagung",
"category": 0
},
"mf_36": {
"label": "Just admin",
"value": "off",
"category": null
},
"mf_28": {
"label": "Just admin",
"value": "off",
"category": null
},
"mf_21": {
"label": "Yolo cb?",
"value": "off",
"category": null
},
"mf_5": {
"label": "Select Field B",
"value": "A",
"category": null
},
"mf_4": {
"label": "Input Field C",
"value": "",
"category": null
},
"mf_1": {
"label": "Test Seats A",
"value": "11",
"category": null
}
}
}
}
],
"comments": "",
"customer_id": "21749",
"persons": [],
"color": "#17df26"
},
"total": 1,
"success": true
}
GET /api/v2/availability
: List of available time-slots at resource.
resource_id
, date_from
, date_to
, time_from
, time_to
, duration
, limit
resource_id
field should contain either a single Resource ID or a comma separated string containing Resource IDs. This is optional.date_from
and date_to
are the date-range of the results to retrieve. The expected format is Y-m-d
.time_from
and time_to
are the time-range of the results to retrieve. The expected format is H:i
. This is optional.duration
is the time-duration of the results to retrieve. The expected format is H:i
. This is optional, and defaults to 01:00.free_text_field_ids_str
is a comma separated value of all Custom field id's. The expected format is id1,id2..
. This is optional. The Custom field id's can be obtained from GET /api/v2/resource_list
call, inside free_text_fields
list.free_text_field_conditions_str
is a comma separated value of all Custom field conditions. The expected format is less_than
,less_than_et
,et
,great_than
,great_than_et
, or empty. This is required if free_text_field_ids_str
is passed. The order is important and should follow the order of corresponding free_text_field_ids_str
value.free_text_field_values_str
is a comma separated value of all Custom field values. The expected format is value1,value2..
. Empty values can also be passed. This is required if free_text_field_ids_str
is passed. The order is important and should follow the order of corresponding free_text_field_ids_str
value.limit
is the number of the results to retrieve. This is optional.Example response can be found below,
/api/v2/availability?resource_id=48&date_from=2018-11-01&date_to=2019-01-01&duration=02:00&free_text_field_ids=1,2,3&free_text_field_conditions=great_than_et,,et&free_text_field_values=0,True,10&limit=4&api_secret_key=<api_secret_key>
{
"data":[
{
"resource_id":49,
"dates":{
"2018-11-01":[
{
"time_from":"08:00",
"time_to":"10:00"
},
{
"time_from":"10:00",
"time_to":"12:00"
},
{
"time_from":"12:00",
"time_to":"14:00"
},
{
"time_from":"14:00",
"time_to":"16:00"
}
]
}
},
{
"resource_id":50,
"dates":[
]
}
],
"total":4,
"success":true
}
GET /api/v2/profile
: Get details of a manager.
Example response can be found below,
/api/v2/profile?api_secret_key=<api_secret_key>
{
"data":{
"first_name": "LOY",
"last_name": "Manager",
"company_name": "The Manager",
"email": "manager@locaboo.com",
"logo":"https:\/\/app.locaboo\/files\/user\/46\/28227338c515a8369c92800f3299d4bc-d9sxx8q.jpg",
"logo_thumbnail":"https:\/\/app.locaboo\/files\/user\/46\/thumb_28227338c515a8369c92800f3299d4bc-d9sxx8q.jpg",
"currency": "EUR",
"language": "en",
"created": "2016-06-02",
"age": "3",
"zip": "55555",
"city": "Testhausen",
"country": "DE",
"phone": "123456789456",
"fax": "123456789123",
"address": "Test-Str. 1"
},
"total":16,
"success":true
}
GET /api/v2/customer_list
: List of customers along with the fields available for each customer.
Example response can be found below,
/api/v2/customer_list?api_secret_key=<api_secret_key>
{
"data":[
{
"id":41,
"email":"matthias1@loy.info",
"company_name":"Locaboo G",
"first_name":"Matthias",
"last_name":"Dillmann",
"show_name":"Locaboo G",
"group_id":145,
"created":"2015-05-13T14:49:41+02:00",
"street":null,
"zip":null,
"city":null,
"phone":null,
"noletter":null,
"color":null,
"salutation":null,
"country":null,
"customer_number":null,
"active":"",
"last_login":"2017-03-10T16:34:37+01:00"
},
{
"id":48,
"email":"customer@locaboo.com",
"company_name":"Locaboo B",
"first_name":"Test",
"last_name":"Customer",
"show_name":"Locaboo B",
"group_id":0,
"created":"2015-06-01T15:47:18+02:00",
"street":null,
"zip":null,
"city":null,
"phone":null,
"noletter":null,
"color":null,
"salutation":null,
"country":null,
"customer_number":null,
"active":"",
"last_login":""
},
{
"id":54,
"email":"customer_d@locaboo.com",
"company_name":"Locaboo D",
"first_name":"Customer",
"last_name":"D",
"show_name":"Locaboo D",
"group_id":0,
"created":"2015-06-12T07:25:55+02:00",
"street":null,
"zip":null,
"city":null,
"phone":null,
"noletter":null,
"color":null,
"salutation":null,
"country":null,
"customer_number":null,
"active":"",
"last_login":""
}
],
"total":3,
"success":true
}
GET /api/v2/inventory_list
: List of inventory along with the fields available for each inventory.
Example response can be found below,
/api/v2/inventory_list?api_secret_key=<api_secret_key>
{
"data":[
{
"id":1890,
"name":"Inv_item1",
"image":"",
"created_on":"2020-09-02T12:53:05+02:00",
"description":"",
"inventory_no":"",
"i_type":"",
"model":"",
"serial_no":"",
"quantity":"1",
"price_cost":"0",
"prices":[
{
"price":"20",
"customer_groups":["All"],
"interval":"per_hour",
"tax":19
},
{
"price":"2",
"customer_groups":{
"1182":"Group 1",
"1183":"group 2"
},
"interval":"per_hour",
"tax":"34"
}
],
"resources":
{
"48":"Sample Resource A",
"49":"Sample Resource B"
}
}
],
"total":1,
"success":true
}
GET /api/v2/service_list
: List of services along with the fields available for each service.
Example response can be found below,
/api/v2/service_list?api_secret_key=<api_secret_key>
{
"data":[
{
"id":686,
"name":"CJ Service",
"image":"",
"created_on":"2019-02-25T08:37:30+01:00",
"description":"",
"prices":[
{
"price":"20",
"customer_groups":["All"],
"interval":"per_hour",
"tax":19
},
{
"price":"2",
"customer_groups":{
"1182":"Group 1",
"1183":"group 2"
},
"interval":"per_hour",
"tax":"34"
}
],
"resources":
{
"48":"Sample Resource A",
"49":"Sample Resource B"
}
}
],
"total":1,
"success":true
}
GET /api/v2/invoice_list
: List of invoices along with the fields available for each invlice.
Example response can be found below,
/api/v2/invoice_list?api_secret_key=<api_secret_key>
{
"data":[
{
"id": 46475,
"invoice_number": "2022T2022T77",
"created": "21.05.2022 21:38",
"file": "Invoice_77.pdf",
"discount_price": 0,
"total_price": 0,
"currency": "EUR",
"text": "sample public comment",
"discount": {
"type": "amount",
"rate": 2
},
"payment_status": "Bezahlt",
"payment_type": "Auf Rechnung",
"status": "Fertig",
"due_date": "05.06.2022",
"customer": {
"id": 20904,
"company": "Sample Company Name",
"first_name": "Lorem",
"last_name": "Ipsum",
"street": "Sample street",
"house_number": "500",
"zip": "777",
"city": "Sample city",
"country": "DE"
},
"invoice_rows": [
{
"id": 245219,
"date": "12.04.2022",
"resource_id": 49,
"booking_id": 214736,
"type": "Einzel",
"rate": "0 Pro Stunde",
"duration": 1,
"unit": "hours",
"price": 10,
"discount": 2,
"tax_rate": 19,
"tax": 1.9,
"total": 11.9
},
{
"id": 245220,
"date": "12.04.2022",
"resource_id": 49,
"booking_id": 214730,
"type": "Einzel",
"rate": "0 Pro Stunde",
"duration": 1,
"unit": "hours",
"price": 0,
"discount": null,
"tax_rate": 19,
"tax": 0,
"total": 0
}
]
}
],
"total":1,
"success":true
}
GET /api/v2/booking_save
: Create/Update the bookings.
booking_id
, resource_id
, date_from
, date_to
, time_from
, time_to
, booking_status
, customer_first_name
, customer_last_name
, customer_email
, customer_company
, customer_salutation
, customer_street
, customer_zip
, customer_phone
, customer_city
booking_id
field should contain the unique ID of the Booking at locaboo. This is optional. This field required only for updating the booking.resource_id
field should contain the unique ID of the Resource at locaboo.date_from
and date_to
are the date-range of the booking to create. The expected format is Y-m-d
.time_from
and time_to
are the time-range of the booking to create. The expected format is H:i
. This is optional.booking_status
is the status of the booking. Expected values are Live
|Draft
|Complete
|Cancel
. This is optional, and defaults to Live
.customer_first_name
is the first name of customer associated with the booking. This is optional.customer_last_name
is the last name of customer associated with the booking. This is optional.customer_email
is the email of customer associated with the booking. This is optional.customer_company
is the company name of customer associated with the booking. This is optional.customer_salutation
is the salutation of customer associated with the booking. . Expected values are Mr
|Ms/Mrs
|Pr
|Dr
. This is optional.customer_street
is the street name of customer associated with the booking. This is optional.customer_zip
is the zip code of customer associated with the booking. This is optional.customer_phone
is the phone number of customer associated with the booking. This is optional.customer_city
is the city name of customer associated with the booking. This is optional.Example response can be found below,
/api/v2/booking_save?api_secret_key=<api_secret_key>
{
"data":[
{
"id":46330,
"message":"Successfully cerated the booking."
}
],
"total":0,
"success":true
}
GET /api/v2/event_list
: List of events under a manager.
date_from
and date_to
are the date-range of the events to retrieve. The expected format is Y-m-d
.Example response can be found below,
/api/v2/event_list?date_from=2021-05-10&date_to=2021-05-20&api_secret_key=<api_secret_key>
{
"data":[
{
"id":1,
"event_title":"Event 1",
"marketing_data_title":"Test marketing title",
"marketing_data_description":"Description",
"date_from":"13.05.2021",
"date_to":"14.05.2021",
"time_from":"03:00",
"time_to":"05:00",
"entrance_time":"05:00",
"beginning_time":"08:00",
"marketing_data_ticket_link":"https:\/\/app.locaboo.com\/",
"marketing_data_price":"12",
"marketing_data_notice_text":"Test",
"image":"https:\/\/app.locaboo.com\/files\/eplanning\/marketingdata\/262\/test_file1.jpg"
},
{
"id":2,
"event_title":"Event 2",
"marketing_data_title":"Test marketing title",
"marketing_data_description":"Description",
"date_from":"15.05.2021",
"date_to":"16.05.2021",
"time_from":"03:00",
"time_to":"05:00",
"entrance_time":"05:00",
"beginning_time":"08:00",
"marketing_data_ticket_link":"https:\/\/app.locaboo.com\/",
"marketing_data_price":"12",
"marketing_data_notice_text":"Test",
"image":"https:\/\/app.locaboo.com\/files\/eplanning\/marketingdata\/262\/test_file2.jpg"
}
],
"total":2,
"success":true
}
GET /api/v2/event_details/<event-id>
: Details of event based on ID.
Example response can be found below,
/api/v2/event_details/<event-id>?api_secret_key=<api_secret_key>
{
"data":[
{
"id":"1",
"event_title":"Event 1",
"marketing_data_title":"Test Title",
"marketing_data_description":"Test",
"date_from":"13.05.2021",
"date_to":"14.05.2021",
"time_from":"06:28",
"time_to":"12:00",
"entrance_time":"04:00",
"beginning_time":"09:00",
"marketing_data_ticket_link":"",
"marketing_data_price":"",
"marketing_data_notice_text":"",
"image":"https:\/\/app.locaboo.com\/files\/eplanning\/marketingdata\/262\/test_file1.jpg",
"documents":[
{
"document_type":"Offer",
"document_number":"OFFER 1",
"price":11.5,
"document_date":"13.05.2021",
"processed_status":1,
"processed_date":"14.05.2021"
"bookings":[
{
"id":149293,
"title":"Document test booking",
"resources":[
"resource_id":47,
"resource":"Sandkasten",
"instances":[
{
"id":6201748,
"resource_id":47,
"resource":"Sandkasten",
"from":"16.05.2021 09:00",
"to":"16.05.2021 17:00"
},
{
"id":6201749,
"resource_id":47,
"resource":"Sandkasten",
"from":"16.05.2021 09:00",
"to":"16.05.2021 17:00"
}
]
]
},
{
"id":193527,
"title":"Test",
"resources":[
"resource_id":48,
"resource":"Stefan Test",
"instances":[
{
"id":5693679,
"resource_id":49,
"resource":"Stefan Test > Kleine Halle",
"from":"16.05.2021 12:00",
"to":"16.05.2021 12:15"
}
]
]
}
]
},
{
"document_type":"Order confirmation",
"document_number":"CONF 1",
"price":12.65,
"document_date":"14.05.2021",
"processed_status":1,
"processed_date":"15.05.2021"
"bookings":[]"
},
{
"document_type":"Invoice",
"document_number":"INVOICE 1",
"price":12.65,
"document_date":"15.05.2021",
"processed_status":0,
"processed_date":null
"bookings":[]"
}
]
}
],
"total":2,
"success":true
}
POST /api/v2/booking_add
: Add new booking or booking request.
booking_mode
,
title
,customer_id
,persons
,recurring
,season_id
,date_from
,date_to
,recurrence_type
,daily_recurrence
,weekly_type_select
,weekly_recurrence
,monthly_recurrence
,yearly_recurrence
,time_from
,time_to
,category_fields
,multi_day
,main_resource
,resource_parts
,custom_color
,color
,entrance_hall
,booking_hidden_widget
,internal_comments
,comments
,inventory
,services
booking_mode
field accepts the values direct_booking
|booking_request
. This is required.title
is title of booking. This is optional.customer_id
is customer_id of customer. This is optional.persons
is array of person ID's for the booking. This is optional.recurring
field accepts the values 0
if it is a single booking, and 1
if it is a recurring booking. This is required.season_id
is the Season ID if it is a season booking. This is only required for season bookings.date_from
is the start date of the booking in format YYYY-MM-DD
. This is required.date_to
is the end date of the booking in format YYYY-MM-DD
. This is required.recurrence_type
is the type of recurring booking. Accepted values are day
,week
,month
,year
. This is required if recurring
is 1.daily_recurrence
is an array that define the daily recurring timings. Accepted format is [
'from' => '09:00',
'to' => '10:00',
'full_day' => 0
]
full_day
is passed as 1
if full day booking. This is required if recurrence_type
is day
.weekly_type_select
is the repeats of weekly recurring. Accepted values are week
,biweek
,triweek
,quadweek
. This is optional, defaults to week
.weekly_recurrence
is an array that define the weekly recurring timings. Accepted format is [
['day' => 'mon', 'full_day' => 1],
['day' => 'tue', 'from' => '09:00', 'to' => '10:00']
]
full_day
is passed as 1
if full day booking. This is required if recurrence_type
is week
.monthly_recurrence
is an array that define the monthly recurring timings. Accepted format is [
'mode' => 'day',
'days' => ['day' => '01', 'month' => '01'],
'from' => '09:00',
'to' => '10:00',
'full_day' => 0
]
mode
is passed as day
. So it means it repeats every nth day
of every nth month
. full_day
is passed as 1
if full day booking.
[
'mode' => 'week',
'days' => [week_number' => 1, 'week_day' => 'tue', 'month' => '01'],
'from' => '09:00',
'to' => '10:00',
'full_day' => 0
];
mode
is passed as week
. So it means it repeats every nth week_number
of every week_day
day of every nth month
. full_day
is passed as 1
if full day booking.
recurrence_type
is month
.yearly_recurrence
is an array that define the yearly recurring timings. Accepted format is [
'day' => '01',
'month' => '06',
'from' => '09:00',
'to' => '10:00',
'full_day' => 0
];
day
of every nth month
of every year. full_day
is passed as 1
if full day booking.
recurrence_type
is year
.time_from
is the start time of the booking in format HH:MM
(24 hr format). This is required if recurring
is 0.time_to
is the end time of the booking in format HH:MM
(24 hr format). This is required if recurring
is 0.category_fields
is the custom fields for the booking. Allowed format is [
'resource_id' => [
'free_text_field_id1' => 'value1',
'free_text_field_id2' => 'value2',
...
],
...
]
[
'48' => [
'52' => '21',
'58' => 'B'
],
'5721' => [
'5' => 'A'
]
]
multi_day
field accepts the values 0
if it is a booking with from and to time, and 1
if it is a full day booking. This is optional and defaults to 0
.main_resource
is the ID of main resource of booking. This is required.resource_parts
is an array of main resources and it's parts of the booking. Allowed format is
[
48 => [49],
5721 => [8795]
]
custom_color
field accepts the values 0
if no custom color is defined, and 1
if custom color is defined. This is optional and defaults to 0
.color
is the custom color value in Hex Code format. Eg#ff0000
. This is required if custom_color
is 1
.entrance_hall
field accepts the values 1
if booking needs to be shown in Entrance hall widget, and 0
if not needed. This is optional and defaults to 0
.booking_hidden_widget
field accepts the values 1
if booking needs to be hidden in widget, and 0
if not hidden. This is optional and defaults to 0
.internal_comments
is the internal comments for the booking. This is optional.comments
is the public comments for the booking. This is optional.inventory
is an array of inventory booked for this booking. Allowed format is
[
'resource_id' => [
'inventory_id' => [
'checked => 'on',
'quantity' => 1
]
]
]
Eg:
[
'48' => [
'1317' => [
'checked => 'on',
'quantity' => 1
]
]
]
services
is an array of services booked for this booking. Allowed format is
[
'resource_id' => [
'service_id' => [
'checked => 'on',
'quantity' => 1
]
]
]
Eg:
[
'48' => [
'1317' => [
'checked => 'on',
'quantity' => 1
]
]
]
Example response can be found below,
/api/v2/booking_add
{
"data":[
{
"id":46330,
"message":"Successfully created the booking."
}
],
"total":1,
"success":true
}
POST /api/v2/customer_add
: Add new customer.
color
,
customer_number
,customer_number_prefix
,customer_account_number
,debtor_account_number
,
customer_group_id
,customer_tags
,default_customer_group
,company_name
,customer_department
,
matriculation_number
,salutation
,salutation_title
,customer_function
,first_name
,
last_name
,show_name
,street
,house_number
,zip
,city
,country
,ust_id
,email
,phone
,website
,
mobile
,customer_newsletter
,bank_owner
,iban
,bic
,mandate
,internal_comment
,reference_sign_shown_invoice
,
reference_sign
,financial_number_shown_invoice
,financial_number
,cost_centre_shown_invoice
,
cost_centre
,reference_number_shown_invoice
,reference_number
,master_id
,primion_id
color
field accepts the color value in Hex Code format eg:#ff0000
.customer_number
field accepts the customer number.customer_number_prefix
field accepts the prefix for customer number.customer_account_number
field accepts the customer account number.debtor_account_number
field accepts the customer debtor account number.debtor_account_number
field accepts the customer debtor account number.customer_group_id
field accepts the customer group ID.customer_tags
field accepts the customer tags.default_customer_group
field accepts the customer default group.company_name
field accepts the customer company name.customer_department
field accepts the customer department.matriculation_number
field accepts the customer matriculation number.salutation
field accepts the customer salutation, accepted values 0
/1
(0 = Mr., 1 = Ms./Mrs.).salutation_title
field accepts the customer salutation title, accepted values 0
/1
(0 = Dr., 1 = Pr.).customer_function
field accepts the customer function.first_name
field accepts the customer first name.last_name
field accepts the customer last name.show_name
field accepts the customer shown name.street
,house_number
,zip
,city
,country
fields accepts the customer address details.ust_id
,email
,phone
,website
,mobile
fields accepts the customer communication details.customer_newsletter
field accepts the customer newsletter agreement, accepted values 0
/1
bank_owner
,iban
,bic
,mandate
fields accepts the customer payment info.internal_comment
,reference_sign_shown_invoice
,reference_sign
,financial_number_shown_invoice
,financial_number
,
cost_centre_shown_invoice
,cost_centre
,reference_number_shown_invoice
,reference_number
,master_id
,primion_id
fields accepts the customer additional settings.Example response can be found below,
/api/v2/customer_add
{
"data":[
{
"id":1234,
"message":"Successfully Added"
}
],
"success":true
}
POST /api/v2/customer_edit
: Edit existing customer.
customer_id
,color
,
customer_number
,customer_number_prefix
,customer_account_number
,debtor_account_number
,
customer_group_id
,customer_tags
,default_customer_group
,company_name
,customer_department
,
matriculation_number
,salutation
,salutation_title
,customer_function
,first_name
,
last_name
,show_name
,street
,house_number
,zip
,city
,country
,ust_id
,email
,phone
,website
,
mobile
,customer_newsletter
,bank_owner
,iban
,bic
,mandate
,internal_comment
,reference_sign_shown_invoice
,
reference_sign
,financial_number_shown_invoice
,financial_number
,cost_centre_shown_invoice
,
cost_centre
,reference_number_shown_invoice
,reference_number
,master_id
,primion_id
customer_id
field accepts the customer's ID. This is required.color
field accepts the color value in Hex Code format eg:#ff0000
.customer_number
field accepts the customer number.customer_number_prefix
field accepts the prefix for customer number.customer_account_number
field accepts the customer account number.debtor_account_number
field accepts the customer debtor account number.debtor_account_number
field accepts the customer debtor account number.customer_group_id
field accepts the customer group ID.customer_tags
field accepts the customer tags.default_customer_group
field accepts the customer default group.company_name
field accepts the customer company name.customer_department
field accepts the customer department.matriculation_number
field accepts the customer matriculation number.salutation
field accepts the customer salutation, accepted values 0
/1
(0 = Mr., 1 = Ms./Mrs.).salutation_title
field accepts the customer salutation title, accepted values 0
/1
(0 = Dr., 1 = Pr.).customer_function
field accepts the customer function.first_name
field accepts the customer first name.last_name
field accepts the customer last name.show_name
field accepts the customer shown name.street
,house_number
,zip
,city
,country
fields accepts the customer address details.ust_id
,email
,phone
,website
,mobile
fields accepts the customer communication details.customer_newsletter
field accepts the customer newsletter agreement, accepted values 0
/1
bank_owner
,iban
,bic
,mandate
fields accepts the customer payment info.internal_comment
,reference_sign_shown_invoice
,reference_sign
,financial_number_shown_invoice
,financial_number
,
cost_centre_shown_invoice
,cost_centre
,reference_number_shown_invoice
,reference_number
,master_id
,primion_id
fields accepts the customer additional settings.Example response can be found below,
/api/v2/customer_edit
{
"data":[
{
"id":1234,
"message":"Edited successfully"
}
],
"success":true
}
POST /api/v2/customer_address_add
: Add customer addresses.
customer_id
,address
customer_id
field accepts the customer's ID. This is required.address
field accepts an array of addresses. The format of address array is as follows:
'address': [{
'company_name' => '',
'salutation' => 0/1 (0 = Mr., 1 = Ms./Mrs.),
'salutation_title' => 0/1 (0 = Dr., 1 = Pr.),
'function' => '',
'first_name' => '',
'last_name' => '',
'street' => '',
'house_number' => '',
'zip' => '',
'city' => '',
'country' => 'DE',
'UstID' => '',
'address_type' => '' / 'secondary',
'phone' => '',
'email' => '',
'mobile' => '',
}, {...}, ..]
.Example response can be found below,
/api/v2/customer_address_add
{
"data":[
{
"id":1234,
"message":"Successfully Added"
}
],
"success":true
}