Difference between revisions of "Company administration service methods"

From SimplyBook.me
Line 7: Line 7:
 
Parameters:
 
Parameters:
  
* '''$clientData''' Object
+
* '''$clientData''' Object  
  
 
Returns Integer.
 
Returns Integer.
Line 44: Line 44:
 
Parameters:
 
Parameters:
  
* '''$token''' String- device token
+
* '''$token''' String a device token string
* '''$device''' String- device type (android or apple)
+
* '''$device''' String a device type ('android' or 'apple')
  
 
Returns boolean.
 
Returns boolean.
  
Subscribe a mobile device to push notifications about new bookings or changes in already created bookings.Use <code>'apple'</code> or <code>'android'</code> for <code>device</code> parameter.
+
Subscribe a mobile device to push notifications about new bookings or changes in already created bookings. Use
 +
<code>'apple'</code> or <code>'android'</code> for <code>device</code> parameter.
  
  
Line 60: Line 61:
 
Parameters:
 
Parameters:
  
* '''$eventId''' Integer
+
* '''$eventId''' Integer  
* '''$unitId''' Integer
+
* '''$unitId''' Integer  
* '''$clientId''' Integer
+
* '''$clientId''' Integer  
* '''$startDate'''  
+
* '''$startDate'''
* '''$startTime'''  
+
* '''$startTime'''
* '''$endDate''' null
+
* '''$endDate''' null  
* '''$endTime''' null
+
* '''$endTime''' null  
* '''$clientTimeOffset''' Integer
+
* '''$clientTimeOffset''' Integer  
* '''$additional''' array|Object- additional params and fields.
+
* '''$additional''' array|Object - additional params and fields.
* '''$count''' Integer- bookings count, min. 1 (using for group bookings batch). (optional)
+
* '''$count''' Integer - bookings count, min. 1 (using for group bookings batch). (optional)
* '''$batchId''' Integer- add booking to multiple bookings batch. (optional)
+
* '''$batchId''' Integer - add booking to multiple bookings batch. (optional)
* '''$recurringData''' Array- make booking recurrent. (optional)
+
* '''$recurringData''' Array - make booking recurrent. (optional)
  
 
Returns Object.
 
Returns Object.
  
Book service. Returns object with appointment information or throw exception
+
Creates new booking record. Returns an object with appointment information or throw exception if booking time not
If appointment requires confirm, in result object will be require_confirm = true
+
available or any of required parameters missed. If appointment requires confirmation, in result object will be
You can use $count > 1 or $batchId != null at the same time.
+
<code>require_confirm = true</code>. To create batch booking you can specify either <code>count</code> more then
 +
1 or valid <code>batchId</code> (only one parameter can be specified). You should specify an <code>$additionalFields</code>
 +
parameter if service requires some additional fields (see [[Plugins#Additional fields|Additional fields plugin]]). To
 +
create a booking with promo code you should pass it as additional field. For
 +
example: <code>{"name": "promocode", "value": "some code", "type": "text"}</code>
  
  
Line 88: Line 93:
 
Parameters:
 
Parameters:
  
* '''$startDateTime''' Stringa date and time string in format &#039;Y-m-d H:i:s&#039;, eg. &#039;2001-10-02 13:30:00&#039;.
+
* '''$startDateTime''' String a date and time string in format &#039;Y-m-d H:i:s&#039;, eg. &#039;2001-10-02 13:30:00&#039;.
* '''$eventId''' Integer
+
* '''$eventId''' Integer  
* '''$unitId''' Integer
+
* '''$unitId''' Integer  
  
 
Returns String|Boolean.
 
Returns String|Boolean.
Line 105: Line 110:
 
Parameters:
 
Parameters:
  
* '''$id''' Integer
+
* '''$id''' Integer  
* '''$bookingIds''' Array
+
* '''$bookingIds''' Array  
  
 
Returns boolean.
 
Returns boolean.
Line 121: Line 126:
 
Parameters:
 
Parameters:
  
* '''$id''' Integer
+
* '''$id''' Integer  
  
 
Returns Boolean.
 
Returns Boolean.
Line 137: Line 142:
 
Returns Integer.
 
Returns Integer.
  
Create booking batch
+
Creates new booking batch record. Returns newly created batch id. You can use this id in <code>[[#book|book]]</code>
Returns batch id
+
API method.
  
  
Line 149: Line 154:
 
Parameters:
 
Parameters:
  
* '''$token''' String- device token
+
* '''$token''' String - device token
  
 
Returns boolean.
 
Returns boolean.
Line 164: Line 169:
 
Parameters:
 
Parameters:
  
* '''$shedulerId''' Integer
+
* '''$shedulerId''' Integer  
* '''$eventId''' Integer
+
* '''$eventId''' Integer  
* '''$unitId''' Integer
+
* '''$unitId''' Integer  
* '''$clientId''' Integer
+
* '''$clientId''' Integer  
* '''$startDate''' String- in Y-m-d format
+
* '''$startDate''' String - in Y-m-d format
* '''$startTime''' String- in H:i:s format
+
* '''$startTime''' String - in H:i:s format
* '''$endDate''' String- in Y-m-d format
+
* '''$endDate''' String - in Y-m-d format
* '''$endTime''' String- in H:i:s format
+
* '''$endTime''' String - in H:i:s format
* '''$clientTimeOffset''' Integer
+
* '''$clientTimeOffset''' Integer  
* '''$additional''' array|Object- additional params and fields.
+
* '''$additional''' array|Object - additional params and fields.
  
 
Returns Object.
 
Returns Object.
  
Edit existing booking
+
Edit existing booking record. See [[#book|book]] API method description for more details about additional fields.
  
  
Line 188: Line 193:
 
Parameters:
 
Parameters:
  
* '''$clientId''' Integer
+
* '''$clientId''' Integer  
* '''$clientData''' Object
+
* '''$clientData''' Object  
  
 
Returns Integer.
 
Returns Integer.
Line 204: Line 209:
 
Parameters:
 
Parameters:
  
* '''$eventId''' Integer
+
* '''$eventId''' Integer  
  
 
Returns Array.
 
Returns Array.
Line 242: Line 247:
 
Parameters:
 
Parameters:
  
* '''$eventId''' Integer
+
* '''$eventId''' Integer  
* '''$dateTime''' Stringa date and time string in format Y-m-d H:i:s
+
* '''$dateTime''' String a date and time string in format &#039;Y-m-d H:i:s&#039;
* '''$count''' Integer
+
* '''$count''' Integer  
  
 
Returns Array.
 
Returns Array.
  
Returns available unit ids for present data or empty array if all units are not allowed
+
Returns list of available unit ids for present data or empty array if all units are not allowed.Eg.: <code>[1, 2, 3]</code>
Eg.: <code>[1, 2, 3]</code>
 
  
  
Line 260: Line 264:
 
Parameters:
 
Parameters:
  
* '''$dateStart''' Stringa date string in format &#039;Y-m-d&#039;. Pass null to get data from first day of current week.
+
* '''$dateStart''' String a date string in format &#039;Y-m-d&#039;. Pass null to get data from first day of current week.
* '''$dateEnd''' Stringa date string in format &#039;Y-m-d&#039;. Pass null to get data filtered to last day of current week.
+
* '''$dateEnd''' String a date string in format &#039;Y-m-d&#039;. Pass null to get data filtered to last day of current week.
  
 
Returns Array.
 
Returns Array.
Line 296: Line 300:
 
Parameters:
 
Parameters:
  
* '''$id''' Integer
+
* '''$id''' Integer  
  
 
Returns String.
 
Returns String.
Line 311: Line 315:
 
Parameters:
 
Parameters:
  
* '''$id''' integerbooking id
+
* '''$id''' integer booking id
  
 
Returns Array.
 
Returns Array.
Line 326: Line 330:
 
Parameters:
 
Parameters:
  
* '''$startDateTime''' stringa date and time string in format &#039;Y-m-d H:i:s&#039;
+
* '''$startDateTime''' string a date and time string in format &#039;Y-m-d H:i:s&#039;
* '''$endDateTime''' stringa date and time string in format &#039;Y-m-d H:i:s&#039;
+
* '''$endDateTime''' string a date and time string in format &#039;Y-m-d H:i:s&#039;
* '''$eventId''' integer
+
* '''$eventId''' integer  
  
 
Returns Array.
 
Returns Array.
Line 344: Line 348:
 
Parameters:
 
Parameters:
  
* '''$dateStart''' null
+
* '''$dateStart''' null  
* '''$dateEnd''' null
+
* '''$dateEnd''' null  
* '''$unitGroupId''' integer
+
* '''$unitGroupId''' integer  
* '''$serviceId''' integer
+
* '''$serviceId''' integer  
  
 
Returns Array.
 
Returns Array.
Line 369: Line 373:
 
Parameters:
 
Parameters:
  
* '''$groupBy''' String
+
* '''$groupBy''' String  
  
 
Returns Array.
 
Returns Array.
Line 384: Line 388:
 
Parameters:
 
Parameters:
  
* '''$params'''  
+
* '''$params'''
  
 
Returns Array.
 
Returns Array.
Line 443: Line 447:
 
Parameters:
 
Parameters:
  
* '''$isPublic''' Boolean
+
* '''$isPublic''' Boolean  
  
 
Returns Array.
 
Returns Array.
Line 460: Line 464:
 
Parameters:
 
Parameters:
  
* '''$clientId'''  
+
* '''$clientId'''
  
 
Returns Array.
 
Returns Array.
  
Get client by id
+
Returns client's data object. See <code>[[#addClient|addClient]]</code> API method for list of available fields
 +
of client data object.
  
  
Line 475: Line 480:
 
Parameters:
 
Parameters:
  
* '''$clientId''' Integer
+
* '''$clientId''' Integer  
* '''$shedulerId''' Integer
+
* '''$shedulerId''' Integer  
  
 
Returns Array.
 
Returns Array.
Line 491: Line 496:
 
Parameters:
 
Parameters:
  
* '''$searchString''' String
+
* '''$searchString''' String  
* '''$limit''' Integer
+
* '''$limit''' Integer  
  
 
Returns Array.
 
Returns Array.
  
Get list of clients
+
Returns list of clients associated with company. You can use either phone number, email address or name as value
 +
for <code>$searchString</code>. Pass an empty string for <code>$searchString</code> and null for <code>$limit</code>
 +
parameters to get all records. See <code>[[#addClient|addClient]]</code> API method for list of available fields
 +
of client data object.
  
  
Line 508: Line 516:
 
Returns String.
 
Returns String.
  
Returns company currency
+
Returns company's currency as three chars code (ISO 4217).
  
  
Line 531: Line 539:
 
Parameters:
 
Parameters:
  
* '''$key''' String
+
* '''$key''' String  
  
 
Returns mixed.
 
Returns mixed.
Line 573: Line 581:
 
Returns Array.
 
Returns Array.
  
Return all information about current tariff
+
Returns all information about current tariff (subscription). For example:{
 +
    "name" : "gold",
 +
    "expire_date" : "2016-02-11 12:32:00",
 +
    "rest" : 41, // number of days until subscription expiration
 +
    "color" : "#fcb322"
 +
  }
  
  
Line 596: Line 609:
 
Parameters:
 
Parameters:
  
* '''$isVisibleOnly''' Boolean
+
* '''$isVisibleOnly''' Boolean  
* '''$asArray''' Boolean
+
* '''$asArray''' Boolean  
  
 
Returns Array.
 
Returns Array.
Line 612: Line 625:
 
Parameters:
 
Parameters:
  
* '''$approvedOnly''' Boolean
+
* '''$approvedOnly''' Boolean  
* '''$reviewsOnly''' Boolean
+
* '''$reviewsOnly''' Boolean  
* '''$lastOnly''' Boolean
+
* '''$lastOnly''' Boolean  
* '''$limit''' Integer
+
* '''$limit''' Integer  
  
 
Returns Array.
 
Returns Array.
Line 630: Line 643:
 
Parameters:
 
Parameters:
  
* '''$unitId''' Integer
+
* '''$unitId''' Integer  
  
 
Returns String.
 
Returns String.
Line 645: Line 658:
 
Parameters:
 
Parameters:
  
* '''$startDateTime''' string
+
* '''$startDateTime''' string  
* '''$endDateTime''' string
+
* '''$endDateTime''' string  
* '''$unitId''' integer
+
* '''$unitId''' integer  
  
 
Returns Array.
 
Returns Array.
Line 674: Line 687:
 
Parameters:
 
Parameters:
  
* '''$type''' String
+
* '''$type''' String  
  
 
Returns String.
 
Returns String.
Line 689: Line 702:
 
Parameters:
 
Parameters:
  
* '''$isPublic''' Boolean
+
* '''$isPublic''' Boolean  
  
 
Returns Array.
 
Returns Array.
Line 707: Line 720:
 
Returns Array.
 
Returns Array.
  
Get list of plugins with status
+
Returns a list of all plugins associated with company with status.
  
  
Line 718: Line 731:
 
Parameters:
 
Parameters:
  
* '''$pluginNames''' Array
+
* '''$pluginNames''' Array  
  
 
Returns Array.
 
Returns Array.
Line 733: Line 746:
 
Parameters:
 
Parameters:
  
* '''$lastOnly''' Boolean
+
* '''$lastOnly''' Boolean  
* '''$limit''' Integer
+
* '''$limit''' Integer  
  
 
Returns Array.
 
Returns Array.
Line 749: Line 762:
 
Parameters:
 
Parameters:
  
* '''$eventId''' Integer
+
* '''$eventId''' Integer  
* '''$unitId''' Integer
+
* '''$unitId''' Integer  
* '''$date''' String
+
* '''$date''' String  
* '''$time''' String
+
* '''$time''' String  
* '''$recurringData''' Array
+
* '''$recurringData''' Array  
* '''$endDateTime''' null
+
* '''$endDateTime''' null  
  
 
Returns Array.
 
Returns Array.
Line 769: Line 782:
 
Parameters:
 
Parameters:
  
* '''$eventId''' Integer
+
* '''$eventId''' Integer  
  
 
Returns Array.
 
Returns Array.
Line 784: Line 797:
 
Parameters:
 
Parameters:
  
* '''$groupBy''' String
+
* '''$groupBy''' String  
  
 
Returns Array.
 
Returns Array.
Line 799: Line 812:
 
Parameters:
 
Parameters:
  
* '''$from''' String
+
* '''$from''' String  
* '''$to''' String
+
* '''$to''' String  
* '''$eventId''' Integer
+
* '''$eventId''' Integer  
* '''$unitId''' Integer
+
* '''$unitId''' Integer  
* '''$count''' Integer
+
* '''$count''' Integer  
  
 
Returns Object.
 
Returns Object.
Line 819: Line 832:
 
Parameters:
 
Parameters:
  
* '''$provider''' String
+
* '''$provider''' String  
  
 
Returns Integer.
 
Returns Integer.
Line 834: Line 847:
 
Parameters:
 
Parameters:
  
* '''$from''' String
+
* '''$from''' String  
* '''$to''' String
+
* '''$to''' String  
* '''$eventId''' Integer
+
* '''$eventId''' Integer  
* '''$unitId''' Mixedcan be Integer or Array of Integers
+
* '''$unitId''' Mixed can be Integer or Array of Integers
* '''$count''' Integer
+
* '''$count''' Integer  
  
 
Returns Object.
 
Returns Object.
Line 859: Line 872:
 
Returns Array.
 
Returns Array.
  
Return list of available statuses
+
Returns list of available statuses or an empty list if [[Plugins#Status|Status plugin]] not enabled.
  
  
Line 883: Line 896:
 
Returns Array.
 
Returns Array.
  
Get list of performers with number of bookings and revenues per service
+
Returns a list with statistics for performers. This data contains number of bookings and revenues value for each performer.
  
  
Line 894: Line 907:
 
Parameters:
 
Parameters:
  
* '''$dateStart''' String
+
* '''$dateStart''' String  
* '''$dateEnd''' String
+
* '''$dateEnd''' String  
  
 
Returns Array.
 
Returns Array.
  
Get list of services with number of bookings and revenues per service
+
Returns a list with statistics for services for a period of time. This data contains number of bookings and
 +
revenues value for each service.
  
  
Line 910: Line 924:
 
Parameters:
 
Parameters:
  
* '''$isVisibleOnly''' Boolean
+
* '''$isVisibleOnly''' Boolean  
* '''$asArray''' Boolean
+
* '''$asArray''' Boolean  
  
 
Returns Array.
 
Returns Array.
Line 926: Line 940:
 
Parameters:
 
Parameters:
  
* '''$dateStart'''  
+
* '''$dateStart'''
* '''$dateEnd'''  
+
* '''$dateEnd'''
* '''$unitGroupId''' integer
+
* '''$unitGroupId''' integer  
  
 
Returns Array.
 
Returns Array.
Line 943: Line 957:
 
Parameters:
 
Parameters:
  
* '''$dateStart''' null
+
* '''$dateStart''' null  
* '''$dateEnd''' null
+
* '''$dateEnd''' null  
* '''$unitGroupId''' integer
+
* '''$unitGroupId''' integer  
  
 
Returns Array.
 
Returns Array.
Line 960: Line 974:
 
Parameters:
 
Parameters:
  
* '''$groupBy''' String
+
* '''$groupBy''' String  
  
 
Returns Array.
 
Returns Array.
Line 975: Line 989:
 
Parameters:
 
Parameters:
  
* '''$year''' Integer
+
* '''$year''' Integer  
* '''$month''' Integer
+
* '''$month''' Integer  
* '''$unitId''' Integer
+
* '''$unitId''' Integer  
  
 
Returns Object.
 
Returns Object.
Line 993: Line 1,007:
 
Parameters:
 
Parameters:
  
* '''$from''' String
+
* '''$from''' String  
* '''$to''' String
+
* '''$to''' String  
* '''$unitId''' Integer
+
* '''$unitId''' Integer  
* '''$eventId''' null
+
* '''$eventId''' null  
  
 
Returns Object.
 
Returns Object.
Line 1,012: Line 1,026:
 
Parameters:
 
Parameters:
  
* '''$startDateTime''' string
+
* '''$startDateTime''' string  
* '''$endDateTime''' string
+
* '''$endDateTime''' string  
  
 
Returns Array.
 
Returns Array.
Line 1,028: Line 1,042:
 
Parameters:
 
Parameters:
  
* '''$dateStart''' null
+
* '''$dateStart''' null  
* '''$dateEnd''' null
+
* '''$dateEnd''' null  
* '''$unitGroupId''' integer
+
* '''$unitGroupId''' integer  
  
 
Returns Array.
 
Returns Array.
Line 1,052: Line 1,066:
 
Parameters:
 
Parameters:
  
* '''$pluginName''' String
+
* '''$pluginName''' String  
  
 
Returns Boolean.
 
Returns Boolean.
Line 1,067: Line 1,081:
 
Parameters:
 
Parameters:
  
* '''$id''' Integer
+
* '''$id''' Integer  
  
 
Returns Array.
 
Returns Array.
Line 1,083: Line 1,097:
 
Parameters:
 
Parameters:
  
* '''$id''' Integer
+
* '''$id''' Integer  
  
 
Returns Boolean.
 
Returns Boolean.
Line 1,122: Line 1,136:
 
Parameters:
 
Parameters:
  
* '''$id''' Integer
+
* '''$id''' Integer  
* '''$comment''' String
+
* '''$comment''' String  
  
 
Returns Integer.
 
Returns Integer.
Line 1,138: Line 1,152:
 
Parameters:
 
Parameters:
  
* '''$bookingId''' Integer
+
* '''$bookingId''' Integer  
* '''$statusId''' Integer
+
* '''$statusId''' Integer  
  
 
Returns Boolean.
 
Returns Boolean.
  
Set status
+
Sets specified status for booking. Returns an error with code -32020 if logged in user don't have access to edit
 +
bookings. This method does nothing if [[Plugins#Status|Status plugin]] not enabled.
  
  
Line 1,154: Line 1,169:
 
Parameters:
 
Parameters:
  
* '''$type''' String
+
* '''$type''' String  
  
 
Returns .
 
Returns .
Line 1,506: Line 1,521:
 
Promo field is present in response only if [[Plugins#Simply Smart Promotions|Simply Smart Promotions plugin]] is enabled. Otherwise this field will be an empty array. This field contains false if plugin is enabled but booking was created without any promo codes.
 
Promo field is present in response only if [[Plugins#Simply Smart Promotions|Simply Smart Promotions plugin]] is enabled. Otherwise this field will be an empty array. This field contains false if plugin is enabled but booking was created without any promo codes.
  
<code>additional_fields</code> fields is present in response only if [[Plugins#Additional fields|Additional fields plugin]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if plugin is enabled but booking was created for a service with no additional fields.
+
<code>additional_fields</code> field is present in response only if [[Plugins#Additional fields|Additional fields plugin]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if plugin is enabled but booking was created for a service with no additional fields.

Revision as of 16:28, 29 December 2015

Methods

addClient

addClient($clientData)

Parameters:

  • $clientData Object

Returns Integer.

Adds new client with specified data. You can specify name, email, phone, address1, address2, city, zip, country_id. If client record with specified data exists method will return an id of this record. Otherwise data will be stored to database and method will return an id of newly created record. NOTE: name is mandatory field.Also email, phone number or both of them can be mandatory fields. You should call getCompanyParam('require_fields') method to check which fields are required.

Method returns an error:

  • -32061 Client name value is wrong
  • -32062 Client email value is wrong
  • -32063 Client phone value is wrong


Example:

 {
    name: "Frances T. Perez",
    phone: "+1502-810-4521",
    email: "FrancesTPerez@teleworm.us",
    address1: "3872 Earnhardt Drive",
    address2: "Louisville, KY 40219",
    city: Louisville,
    zip: 3872
 }



addDeviceToken

addDeviceToken($token, $device)

Parameters:

  • $token String a device token string
  • $device String a device type ('android' or 'apple')

Returns boolean.

Subscribe a mobile device to push notifications about new bookings or changes in already created bookings. Use 'apple' or 'android' for device parameter.



book

book($eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional, $count, $batchId, $recurringData)

Parameters:

  • $eventId Integer
  • $unitId Integer
  • $clientId Integer
  • $startDate
  • $startTime
  • $endDate null
  • $endTime null
  • $clientTimeOffset Integer
  • $additional array|Object - additional params and fields.
  • $count Integer - bookings count, min. 1 (using for group bookings batch). (optional)
  • $batchId Integer - add booking to multiple bookings batch. (optional)
  • $recurringData Array - make booking recurrent. (optional)

Returns Object.

Creates new booking record. Returns an object with appointment information or throw exception if booking time not available or any of required parameters missed. If appointment requires confirmation, in result object will be require_confirm = true. To create batch booking you can specify either count more then 1 or valid batchId (only one parameter can be specified). You should specify an $additionalFields parameter if service requires some additional fields (see Additional fields plugin). To create a booking with promo code you should pass it as additional field. For example: {"name": "promocode", "value": "some code", "type": "text"}



calculateEndTime

calculateEndTime($startDateTime, $eventId, $unitId)

Parameters:

  • $startDateTime String a date and time string in format 'Y-m-d H:i:s', eg. '2001-10-02 13:30:00'.
  • $eventId Integer
  • $unitId Integer

Returns String|Boolean.

Returns end datetime if booking is available, else return false



cancelBatch

cancelBatch($id, $bookingIds)

Parameters:

  • $id Integer
  • $bookingIds Array

Returns boolean.

Cancel batch of bookings. Signature is NOT required.First id is used for information in notifications



cancelBooking

cancelBooking($id)

Parameters:

  • $id Integer

Returns Boolean.

Cancel booking. Signature is NOT required



createBatch

createBatch()

No arguments. Returns Integer.

Creates new booking batch record. Returns newly created batch id. You can use this id in book API method.



deleteDeviceToken

deleteDeviceToken($token)

Parameters:

  • $token String - device token

Returns boolean.

Unsubscribe to push notifications gloabl or company



editBook

editBook($shedulerId, $eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional)

Parameters:

  • $shedulerId Integer
  • $eventId Integer
  • $unitId Integer
  • $clientId Integer
  • $startDate String - in Y-m-d format
  • $startTime String - in H:i:s format
  • $endDate String - in Y-m-d format
  • $endTime String - in H:i:s format
  • $clientTimeOffset Integer
  • $additional array|Object - additional params and fields.

Returns Object.

Edit existing booking record. See book API method description for more details about additional fields.



editClient

editClient($clientId, $clientData)

Parameters:

  • $clientId Integer
  • $clientData Object

Returns Integer.

Edits client's record. See addClient method description for list of available fields.Method returns an id of client's record.



getAdditionalFields

getAdditionalFields($eventId)

Parameters:

  • $eventId Integer

Returns Array.

Return additional fields for certain event if Additional fields plugin is activated. Returns empty array otherwise. Call isPluginActivated('event_field') API method to check if 'event_field' plugin activated.



getAnyUnitData

getAnyUnitData()

No arguments. Returns Object|null.

Returns information about Any Employee selector plugin configuration. Returns null if plugin not enabled.Example:

 {
   "description" : "Select this option, if you want to find an available time with any of the employees",
   "hide_other_units" : 1, // 1 or 0
   "image" : null,
   "name" : "Any employee",
   "picture_path" : null,
   "random_selection" : 0 // 1 or 0
 }



getAvailableUnits

getAvailableUnits($eventId, $dateTime, $count)

Parameters:

  • $eventId Integer
  • $dateTime String a date and time string in format 'Y-m-d H:i:s'
  • $count Integer

Returns Array.

Returns list of available unit ids for present data or empty array if all units are not allowed.Eg.: [1, 2, 3]



getBookingCancellationsInfo

getBookingCancellationsInfo($dateStart, $dateEnd)

Parameters:

  • $dateStart String a date string in format 'Y-m-d'. Pass null to get data from first day of current week.
  • $dateEnd String a date string in format 'Y-m-d'. Pass null to get data filtered to last day of current week.

Returns Array.

Returns statistics about created bookings and cancellations for a time period. Data presented as array of hashes for each type of operation (created or cancelled booking) groped by clients. "type" field can be either "create", "cancel" or "nopayment_cancel". If "user_id" not specified then bookings where created or cancelled by admin or employee. Data with type "nopayment_cancel" represents bookings cancelled automatically by system.Example:

 3 bookings where created by admin or employee and 2 bookings where automatically cancelled by system.
 [{
   "cnt" : 3,
   "firstname" : null,
   "lastname" : null,
   "login" : null,
   "type" : "create",
   "user_id"" : null
 }, {
   "cnt" : 2,
   "firstname" : null,
   "lastname" : null,
   "login" : null,
   "type" : "nopayment_cancel",
   "user_id"" : null
 }]



getBookingComment

getBookingComment($id)

Parameters:

  • $id Integer

Returns String.

Returns booking comment



getBookingDetails

getBookingDetails($id)

Parameters:

  • $id integer booking id

Returns Array.

Returns detailed bookings object by booking id. See response example.



getBookingLimitUnavailableTimeInterval

getBookingLimitUnavailableTimeInterval($startDateTime, $endDateTime, $eventId)

Parameters:

  • $startDateTime string a date and time string in format 'Y-m-d H:i:s'
  • $endDateTime string a date and time string in format 'Y-m-d H:i:s'
  • $eventId integer

Returns Array.

Returns time intervals not available for bookings because of configuration of Limit bookings plugin for period of time. Returns empty array if plugin not available.



getBookingRevenue

getBookingRevenue($dateStart, $dateEnd, $unitGroupId, $serviceId)

Parameters:

  • $dateStart null
  • $dateEnd null
  • $unitGroupId integer
  • $serviceId integer

Returns Array.

Return bookings count and revenue value for each date in specified period. Data grouped by unit id and represented as array with bookings count at index 0 and revenue amount at index 1. You can filter data either by unit or by service.Example:

 ['2015-11-12' : {
    3 : [
      11, // bookings count
      128.53 // revenue
 ]}



getBookingStats

getBookingStats($groupBy)

Parameters:

  • $groupBy String

Returns Array.

Get bookings stats



getBookings

getBookings($params)

Parameters:

  • $params

Returns Array.

Returns list of bookings filtered by given params. Filter params represented as object with following fields:* date_from a date of booking in string format 'Y-m-d'

  • time_from a time string in format 'H:i:s'
  • date_to a date string in format 'Y-m-d'
  • time_to a time string in format 'H:i:s'
  • created_date_from a date string in format 'Y-m-d'
  • created_date_to a date string in format 'Y-m-d'
  • unit_group_id an integer. Use it to get bookings assigned for certain service provider.
  • event_id an integer. Use it to get bookings only for certain service.
  • is_confirmed 1 or 0. If Approve booking plugin enabled then method will return confirmed bookings with approve status 'new'.
  • client_id an integer. Use it to get bookings only for certain client.
  • order string either 'record_date', 'date_start' or 'date_start_asc'. By default used 'date_start' value.
  • booking_type a string. Value of this fiend depends on Approve booking plugin.

If plugin not active:

    • all for all bookings (default value)
    • cancelled alias to 'is_confirmed' equal to 0
    • non_cancelled alias to 'is_confirmed' equal to 1

If plugin active:

    • all for all bookings (default value)
    • cancelled returns bookings with 'is_confirmed' field equals to 0 and approve booking status equals to 'cancelled' (or booking does not have any approve status)
    • non_cancelled returns bookings with either 'is_confirmed' field equals to 1 or approve booking status equals to 'new'
    • cancelled_by_client returns bookings approved by admin but cancelled by client
    • cancelled_by_admin returns bookings cancelled by admin
    • non_approved_yet returns bookings with approve status 'new'
    • approved returns bookings with either 'is_confirmed' field equals to 1 and approve booking status equals to 'approved' (or booking does not have any approve status)

Example:

 {
   "date_from":"2015-12-29",
   "date_to":"2015-12-29",
   "booking_type":"cancelled",
   "event_id":"5",
   "order":"start_date"
 }



getBookingsZapier

getBookingsZapier()

No arguments. Returns Array.

Returns list of bookings filtered by given params



getCategoriesList

getCategoriesList($isPublic)

Parameters:

  • $isPublic Boolean

Returns Array.

Returns company categories list if Service categories plugin is activated. Returns an error with code -32001 if plugin is not activated. Use isPluginActivated('event_category') API method to check if plugin activated.



getClient

getClient($clientId)

Parameters:

  • $clientId

Returns Array.

Returns client's data object. See addClient API method for list of available fields of client data object.



getClientComments

getClientComments($clientId, $shedulerId)

Parameters:

  • $clientId Integer
  • $shedulerId Integer

Returns Array.

Returns list of all comments for given client



getClientList

getClientList($searchString, $limit)

Parameters:

  • $searchString String
  • $limit Integer

Returns Array.

Returns list of clients associated with company. You can use either phone number, email address or name as value for $searchString. Pass an empty string for $searchString and null for $limit parameters to get all records. See addClient API method for list of available fields of client data object.



getCompanyCurrency

getCompanyCurrency()

No arguments. Returns String.

Returns company's currency as three chars code (ISO 4217).



getCompanyInfo

getCompanyInfo()

No arguments. Returns Object.

Returns company information



getCompanyParam

getCompanyParam($key)

Parameters:

  • $key String

Returns mixed.

Returns company config value for key. A different set of keys available for public API and for company administration API. Method return 'invalid params' error (code -32602) in case if access to specified key not allowed. See list of available keys.



getCountryList

getCountryList()

No arguments. Returns Array.

Get list of all countries



getCountryPhoneCodes

getCountryPhoneCodes()

No arguments. Returns Array.

Returns country phone code list



getCurrentTariffInfo

getCurrentTariffInfo()

No arguments. Returns Array.

Returns all information about current tariff (subscription). For example:{

   "name" : "gold",
   "expire_date" : "2016-02-11 12:32:00",
   "rest" : 41, // number of days until subscription expiration
   "color" : "#fcb322"
 }



getCurrentUserDetails

getCurrentUserDetails()

No arguments. Returns Array.

Returns current logged user info



getEventList

getEventList($isVisibleOnly, $asArray)

Parameters:

  • $isVisibleOnly Boolean
  • $asArray Boolean

Returns Array.

Returns company events list



getFeedbacks

getFeedbacks($approvedOnly, $reviewsOnly, $lastOnly, $limit)

Parameters:

  • $approvedOnly Boolean
  • $reviewsOnly Boolean
  • $lastOnly Boolean
  • $limit Integer

Returns Array.

Get list of feedbacks



getFirstWorkingDay

getFirstWorkingDay($unitId)

Parameters:

  • $unitId Integer

Returns String.

Returns first working date for unit



getGoogleCalendarBusyTime

getGoogleCalendarBusyTime($startDateTime, $endDateTime, $unitId)

Parameters:

  • $startDateTime string
  • $endDateTime string
  • $unitId integer

Returns Array.

Return busy time by unit id by GoogleCalendar plugin if enabled.If cache is not expired will return from cache, else load from google and save to cache



getGoogleCalendarBusyTimeAvailableUnits

getGoogleCalendarBusyTimeAvailableUnits()

No arguments. Returns Array.

Returns configured unit ids, allowed to sync busy time



getLastNotificationUpdate

getLastNotificationUpdate($type)

Parameters:

  • $type String

Returns String.

Returns last update datetime



getLocationsList

getLocationsList($isPublic)

Parameters:

  • $isPublic Boolean

Returns Array.

Returns available locations for company if plugin Unit location plugin is activated. Return an error with code -32001 if plugin is not activated. Use isPluginActivated('location') API method to check if plugin activated.



getPluginList

getPluginList()

No arguments. Returns Array.

Returns a list of all plugins associated with company with status.



getPluginStatuses

getPluginStatuses($pluginNames)

Parameters:

  • $pluginNames Array

Returns Array.

Return plugin status true if status active, else false. See list of available plugin's names.



getRecentActions

getRecentActions($lastOnly, $limit)

Parameters:

  • $lastOnly Boolean
  • $limit Integer

Returns Array.

Returns latest actions



getRecurringDatetimes

getRecurringDatetimes($eventId, $unitId, $date, $time, $recurringData, $endDateTime)

Parameters:

  • $eventId Integer
  • $unitId Integer
  • $date String
  • $time String
  • $recurringData Array
  • $endDateTime null

Returns Array.

Get list of dates for recurring booking



getRecurringSettings

getRecurringSettings($eventId)

Parameters:

  • $eventId Integer

Returns Array.

Get recurring settings for event



getRegistrations

getRegistrations($groupBy)

Parameters:

  • $groupBy String

Returns Array.

Get number of registration grouped by day/week/month



getReservedTime

getReservedTime($from, $to, $eventId, $unitId, $count)

Parameters:

  • $from String
  • $to String
  • $eventId Integer
  • $unitId Integer
  • $count Integer

Returns Object.

Returns not available time Eg.: {'2014-05-14': [{'events': [{'from': '14:00', 'to': '14:30'}], 'type': "reserved_time"}, ...], ...}



getSocialCounterStats

getSocialCounterStats($provider)

Parameters:

  • $provider String

Returns Integer.

Returns social counters value for your domain



getStartTimeMatrix

getStartTimeMatrix($from, $to, $eventId, $unitId, $count)

Parameters:

  • $from String
  • $to String
  • $eventId Integer
  • $unitId Mixed can be Integer or Array of Integers
  • $count Integer

Returns Object.

Returns available start time, taking into account breaktimes, start and end working time Eg.: {'2014-05-14': ['09:00:00', ...], ...}

If locations plugin activated for company you should pass a list as $unitID parameter for filter results with units available only for selected location. See Unit location plugin description for more details.



getStatuses

getStatuses()

No arguments. Returns Array.

Returns list of available statuses or an empty list if Status plugin not enabled.



getTimeframe

getTimeframe()

No arguments. Returns Integer.

Returns company timeframe



getTopPerformers

getTopPerformers()

No arguments. Returns Array.

Returns a list with statistics for performers. This data contains number of bookings and revenues value for each performer.



getTopServices

getTopServices($dateStart, $dateEnd)

Parameters:

  • $dateStart String
  • $dateEnd String

Returns Array.

Returns a list with statistics for services for a period of time. This data contains number of bookings and revenues value for each service.



getUnitList

getUnitList($isVisibleOnly, $asArray)

Parameters:

  • $isVisibleOnly Boolean
  • $asArray Boolean

Returns Array.

Returns service performrs list



getUnitWorkdayInfo

getUnitWorkdayInfo($dateStart, $dateEnd, $unitGroupId)

Parameters:

  • $dateStart
  • $dateEnd
  • $unitGroupId integer

Returns Array.

Return workday info (date_start and date_end)



getUnitWorkingDurations

getUnitWorkingDurations($dateStart, $dateEnd, $unitGroupId)

Parameters:

  • $dateStart null
  • $dateEnd null
  • $unitGroupId integer

Returns Array.

Return working durations



getVisitorStats

getVisitorStats($groupBy)

Parameters:

  • $groupBy String

Returns Array.

Get visitor stats



getWorkCalendar

getWorkCalendar($year, $month, $unitId)

Parameters:

  • $year Integer
  • $month Integer
  • $unitId Integer

Returns Object.

Returns company work schedule as array Eg.: {'2014-05-01': {'from': '09:00:00', 'to': '21:00:00', 'is_day_off': '0'}, '2014-05-02': ...}



getWorkDaysInfo

getWorkDaysInfo($from, $to, $unitId, $eventId)

Parameters:

  • $from String
  • $to String
  • $unitId Integer
  • $eventId null

Returns Object.

Returns working time for date period, taking into account breaktimes Eg.: {'2014-05-14': [{'from': '09:00:00', 'to': '10:00:00'}, ...], ...}



getWorkDaysTimes

getWorkDaysTimes($startDateTime, $endDateTime)

Parameters:

  • $startDateTime string
  • $endDateTime string

Returns Array.

Return busy time by unit id by GoogleCalendar plugin if enabled.If cache is not expired will return from cache, else load from google and save to cache



getWorkload

getWorkload($dateStart, $dateEnd, $unitGroupId)

Parameters:

  • $dateStart null
  • $dateEnd null
  • $unitGroupId integer

Returns Array.

Return workload data for units in period of time. Workload for each unit represented as array with work hours at index 0, confirmed booking hours as load at index 1 and cancelled bookings hours at index 2.Example:

 ['2015-10-21' : {
    5 : [
      10, // working hours
      10, // load hours (confirmed bookings hours)
      0   // cancelled bookings hours
 ] }]



isPluginActivated

isPluginActivated($pluginName)

Parameters:

  • $pluginName String

Returns Boolean.

Return plugin status true if status active, else false. $pluginName parameter is a plugin identifier.See plugins page for full plugins description. See list of available plugin's names.



pluginApproveBookingApprove

pluginApproveBookingApprove($id)

Parameters:

  • $id Integer

Returns Array.

Approve booking (approve booking plugin) Return approved booking ids



pluginApproveBookingCancel

pluginApproveBookingCancel($id)

Parameters:

  • $id Integer

Returns Boolean.

Cancel booking (approve booking plugin)



pluginApproveGetPendingBookings

pluginApproveGetPendingBookings()

No arguments. Returns array.

Return list of all pending bookings



pluginApproveGetPendingBookingsCount

pluginApproveGetPendingBookingsCount()

No arguments. Returns Integer.

Return count of pending bookings



setBookingComment

setBookingComment($id, $comment)

Parameters:

  • $id Integer
  • $comment String

Returns Integer.

Set booking comment



setStatus

setStatus($bookingId, $statusId)

Parameters:

  • $bookingId Integer
  • $statusId Integer

Returns Boolean.

Sets specified status for booking. Returns an error with code -32020 if logged in user don't have access to edit bookings. This method does nothing if Status plugin not enabled.



updateNotification

updateNotification($type)

Parameters:

  • $type String

Returns .

Mark notifications as readed




Constants

Error codes

  • ERROR_BOOKING_ACCESS_DENIED
  • ERROR_PLUGIN_DISABLED
  • ERROR_EVENT_ID_VALUE
  • ERROR_UNIT_ID_VALUE
  • ERROR_DATE_VALUE
  • ERROR_TIME_VALUE
  • ERROR_RECURRENT_BOOKING
  • ERROR_LIMIT_BOOKING
  • ERROR_CLIENT_NAME_VALUE
  • ERROR_CLIENT_EMAIL_VALUE
  • ERROR_CLIENT_PHONE_VALUE
  • ERROR_CLIENT_ID
  • ERROR_ADDITIONAL_FIELDS
  • ERROR_APPOINTMENT_NOT_FOUND
  • ERROR_SIGN
  • ERROR_APPLICATION_CONFIRMATION
  • ERROR_BATCH_NOT_FOUND
  • ERROR_UNSUPPORTED_PAYMENT_SYSTEM
  • ERROR_PAYMENT_FAILED
  • ERROR_REQUIRED_PARAMS_MISSED
  • ERROR_PARAMS_IS_NOT_ARRAY
  • ERROR_PARAMS_SHEDULER_ID
  • ERROR_PROMOCODE_INVALID
  • ERROR_PROMOCODE_EXPIRED
  • ERROR_PROMOCODE_NOT_ACTIVE_YET
  • ERROR_PROMOCODE_INVALID_SERVICE
  • ERROR_PROMOCODE_COUNT_EXCEED
  • ERROR_PROMOCODE_COUNT_PER_CUSTOMER_EXCEED
  • ERROR_PROMOCODE_INVALID_BOOKING_DATETIME
  • DATETIME_FORMAT
  • DATE_FORMAT
  • RECURRENT_BOOKING_BATCH
  • GROUP_BOOKING_BATCH
  • MULTIPLE_BOOKING_BATCH

Company params

Use these values to get configuration params for company with getCompanyParam API method.

Administration API inherits all keys allowed for public API and extends this list with keys:

  • attach_ical
  • auto_redirect
  • auto_redirect_text
  • blockchain_address
  • blockchain_secret
  • borgun_merchant_id
  • borgun_payment_gateway_id
  • borgun_secret_code
  • changable_prefix_by_client
  • client_batch_cancel_template
  • client_batch_cancel_template_email
  • client_batch_cancel_template_email_subject
  • client_event_cancel_template
  • client_event_cancel_template_email
  • client_event_cancel_template_email_subject
  • client_event_change_template
  • client_event_change_template_email
  • client_event_change_template_email_subject
  • client_event_creation_template
  • client_event_creation_template_email
  • client_event_creation_template_email_subject
  • client_event_group_creation_template
  • client_event_group_creation_template_email
  • client_event_group_creation_template_email_subject
  • client_event_multiple_creation_template
  • client_event_multiple_creation_template_email
  • client_event_multiple_creation_template_email_subject
  • client_group_notification_template
  • client_group_notification_template_email
  • client_group_notification_template_email_subject
  • client_multiple_notification_template
  • client_multiple_notification_template_email
  • client_multiple_notification_template_email_subject
  • client_notification_template
  • client_notification_template_email
  • client_notification_template_email_subject
  • client_notification_time
  • client_recurring_event_creation_template
  • client_recurring_event_creation_template_email
  • client_recurring_event_creation_template_email_subject
  • common_limit_booking
  • company_currency
  • company_ga_tracking_id
  • default_phone
  • disconnect_on_timeout
  • dwolla_application_key
  • dwolla_id
  • dwolla_secret_key
  • email_event_list
  • email_events_list_template
  • email_group_events_list_template
  • event_list_style
  • feed_back_interval
  • feedback_invite_template_email
  • feedback_invite_template_email_subject
  • google_conversion_color
  • google_conversion_currency
  • google_conversion_format
  • google_conversion_id
  • google_conversion_label
  • google_conversion_language
  • google_conversion_value
  • hide_working_hours_block
  • include_cancel_link
  • kortais_merchant
  • kortais_secret_code
  • kortais_terminal
  • layout_background
  • layout_background_repeat
  • liqpay_merchant_id
  • liqpay_merchant_pass
  • mobile_site_link
  • mobile_site_link_title
  • no_show_period
  • on_success_button_link
  • on_success_button_text
  • paypal_account
  • recap_interval
  • recap_send_after_time
  • recap_send_canceled_bookings
  • recap_send_new_bookings
  • recap_send_upcomming_bookings
  • send_cancel_to_client
  • send_cancel_to_client_email
  • send_cancel_to_unit
  • send_cancel_to_unit_email
  • send_contact_widget_email_notification
  • send_contact_widget_sms_notification
  • send_notify_to_client
  • send_notify_to_client_email
  • send_notify_to_unit
  • send_notify_to_unit_email
  • send_onchange_to_client
  • send_onchange_to_client_email
  • send_onchange_to_unit
  • send_onchange_to_unit_email
  • send_oncreate_to_client
  • send_oncreate_to_client_email
  • send_oncreate_to_unit
  • send_oncreate_to_unit_email
  • send_sms_if_push_enabled
  • site_link
  • site_link_title
  • skip_limits_for_admin
  • skip_show_mobile_app_ads
  • skip_show_on_success_button
  • skrill_account
  • skrill_secret
  • sms_event_list
  • sms_events_list_template
  • sms_group_events_list_template
  • unit_batch_cancel_template
  • unit_batch_cancel_template_email
  • unit_batch_cancel_template_email_subject
  • unit_event_cancel_template
  • unit_event_cancel_template_email
  • unit_event_cancel_template_email_subject
  • unit_event_change_template
  • unit_event_change_template_email
  • unit_event_change_template_email_subject
  • unit_event_creation_template
  • unit_event_creation_template_email
  • unit_event_creation_template_email_subject
  • unit_event_group_creation_template
  • unit_event_group_creation_template_email
  • unit_event_group_creation_template_email_subject
  • unit_group_notification_template
  • unit_group_notification_template_email
  • unit_group_notification_template_email_subject
  • unit_notification_template
  • unit_notification_template_email
  • unit_notification_template_email_subject
  • unit_notification_time
  • unit_recurring_event_creation_template
  • unit_recurring_event_creation_template_email
  • unit_recurring_event_creation_template_email_subject
  • use_common_client_db
  • user_confirmation
  • user_license_text
  • user_public_layout
  • user_public_theme
  • waiting_video
  • zooz_app_id
  • zooz_app_key

Plugin's identifiers

Plugin identifier is a string constant which represents a plugin in system. These constants used in isPluginActivated and getPluginStatuses API methods.

  • advanced_notification
    Book Soon notification system plugin
  • any_unit
    Any Employee selector plugin
  • api
    API plugin
  • approve_booking
    Approve booking plugin
  • back_to_site
    Take me back home plugin
  • contact_widget
    Contact widget plugin
  • counter
    Visitor Counter plugin
  • custom_css
    Custom CSS plugin
  • data_security
    Clean history plugin
  • description
    HTML description field for events
  • event_category
    Service categories plugin
  • event_field
    Additional fields plugin
  • facebookImage
    Facebook client info plugin
  • financial_dashboard
    Insights plugin
  • google_analytics
    Google Adwords and analytics plugin
  • google_calendar_export
    Google calendar sync plugin
  • group_booking
    Group bookings plugin
  • hipaa
    HIPAA plugin
  • limit_bookings
    Limit bookings plugin
  • location
    Unit location plugin
  • mobile_app_backend
    Mobile application plugin
  • multiple_booking
    Multiple bookings plugin
  • news
    News plugin
  • paid_events
    Accept payments plugin
  • promo
    Simply Smart Promotions plugin
  • recap
    Daily report plugin
  • secure
    SSL plugin
  • status
    Status plugin
  • unit_colors
    Providers color coding plugin
  • user_license
    Terms and conditions plugin

See Plugins page for description for each plugin.


Examples

getBookingDetails response

An example of data returned by getBookingDetails API method.

 {
   "id": "321",
   "event_id": "5",
   "event_name": "Massage",
   "unit_id": "3",
   "unit_name": "John",
   "client_id": "1",
   "client_name": "Bob",
   "start_date_time": "2015-11-25 15:00:00",
   "end_date_time": "2015-11-25 16:00:00",
   "is_confirmed": "1",
   "code": "h8v8w5ls",
   "record_date": "2015-11-19 04:06:38",
   "comment": null,
   "company_login": "testzt",
   "company_name": "My Cool Company",
   "company_phone": "+1-555-55-55",
   "company_email": "into@mycoolcompany.com",
   "additional_fields": [{
     "value": "on",
     "field_name": "201a89517de509f6b3a60858918faac3",
     "field_title": "Include washing",
     "field_position": "4",
     "field_type": "checkbox",
     "field_id": "4"
   }],
   "comments": [],
   "history": [{
     "id": "536",
     "sheduler_id": "321",
     "datetime": "2015-11-19 11:06:38",
     "type": "create",
     "user_id": "1",
     "agent": "SimplyBook.me\/55 CFNetwork\/758.0.2 Darwin\/15.0.0",
     "ip": "213.174.0.53, 158.69.224.50:127.0.0.1",
     "referer": "",
     "login": "admin",
     "firstname": "Mikhail",
     "lastname": ""
   }],
   "status": {
     "id": "3",
     "name": "Fancy Status",
     "description": null,
     "color": "4cbadb",
     "is_default": "1"
   },
   "location": {
     "id": "1",
     "title": "location",
     "description": null,
     "picture": "e1e9409fe9682c78b2f8f294dc151af0.jpg",
     "address1": null,
     "address2": "Saint Margaret Street",
     "city": "\u041b\u043e\u043d\u0434\u043e\u043d",
     "zip": null,
     "country_id": "GB",
     "lat": "51.50013000000000000000",
     "lng": "-0.12630500000000000000",
     "phone": "44",
     "position": "1",
     "is_default": "1"
   },
   "price": [],
   "promo": false
 }

Location field is present in response only if Unit location plugin is enabled. Otherwise this field will be an empty array. If locations plugin is enabled but booking doesn't have any locations this fields also will be an empty array.

Status field is present in response only if Status plugin is enabled. Otherwise this field will be an empty array. If plugin enabled but booking doesn't have any statues specified the default status returned.

Price field is present in response only if Accept payments plugin is enabled. Otherwise this field will be an empty array. This field contains an empty array if plugin is enabled but booking was created for a free service.

Promo field is present in response only if Simply Smart Promotions plugin is enabled. Otherwise this field will be an empty array. This field contains false if plugin is enabled but booking was created without any promo codes.

additional_fields field is present in response only if Additional fields plugin is enabled. Otherwise this field will be an empty array. This field contains an empty array if plugin is enabled but booking was created for a service with no additional fields.