Line 126: |
Line 126: |
| | | |
| * [http://wiki.simplybook.me/index.php/Settings#Timeframe Timeframe information] | | * [http://wiki.simplybook.me/index.php/Settings#Timeframe Timeframe information] |
| + | |
| + | ---- |
| + | |
| + | === calculateEndTime === |
| + | |
| + | <code>calculateEndTime($startDateTime, $eventId, $unitId)</code> |
| + | |
| + | 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 |
| + | |
| | | |
| ---- | | ---- |
Line 233: |
Line 250: |
| Confirm booking payment. Signature is required.$sign = md5($bookingId . $bookingHash . $secretKey); | | Confirm booking payment. Signature is required.$sign = md5($bookingId . $bookingHash . $secretKey); |
| Call this method from server side only | | Call this method from server side only |
| + | |
| + | |
| + | ---- |
| + | |
| + | === createBatch === |
| + | |
| + | <code>createBatch()</code> |
| + | |
| + | No arguments. |
| + | Returns Integer. |
| + | |
| + | Creates new booking batch record. Returns newly created batch id. You can use this id in <code>[[#book|book]]</code> |
| + | API method. |
| + | |
| + | |
| + | ---- |
| + | |
| + | === filterAvailableUnits === |
| + | |
| + | <code>filterAvailableUnits($eventId, $dateTime, $unitIds, $count)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$eventId''' Integer |
| + | * '''$dateTime''' String a date and time string in format 'Y-m-d H:i:s' |
| + | * '''$unitIds''' |
| + | * '''$count''' Integer |
| + | |
| + | Returns Array. |
| + | |
| + | Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with location plugin. |
| + | Returns empty array if all units are not allowed. |
| + | Eg.: <code>[1, 2, 3]</code> |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getAdditionalFields === |
| + | |
| + | <code>getAdditionalFields($eventId)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$eventId''' Integer |
| + | |
| + | Returns Array. |
| + | |
| + | Return additional fields for certain event if [[Plugins#Additional_fields|Additional fields plugin]] is |
| + | activated. Returns empty array otherwise. Call <code>[[#isPluginActivated|isPluginActivated('event_field')]]</code> |
| + | API method to check if 'event_field' plugin activated. |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getAnyUnitData === |
| + | |
| + | <code>getAnyUnitData()</code> |
| + | |
| + | No arguments. |
| + | Returns Object|null. |
| + | |
| + | Returns information about [[Plugins#Any_Employee_selector|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 |
| + | } |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getAvailableTimeIntervals === |
| + | |
| + | <code>getAvailableTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$dateFrom''' String |
| + | * '''$dateTo''' String |
| + | * '''$eventId''' Integer |
| + | * '''$unitId''' Mixed can be Integer or Array of Integers |
| + | * '''$count''' Integer |
| + | |
| + | Returns Object. |
| + | |
| + | Returns available time intervals for all service providers for given period, taking into account breaktimes, start and end working time |
| + | Eg.: <code>{['2016-03-04': ['1': [['09:00:00','09:30:00'], ['11:15:00','14:45:00']] , ...], ...]}</code> |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getAvailableUnits === |
| + | |
| + | <code>getAvailableUnits($eventId, $dateTime, $count)</code> |
| + | |
| + | 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 specified date and service or empty array if all units are not allowed.Eg.: <code>[1, 2, 3]</code> |
| | | |
| | | |
Line 267: |
Line 392: |
| Returns Object. | | Returns Object. |
| | | |
− | Returns cart information by bookings ids.<code>cart_id</code> and <code>cart_hash</code> is used to create secure signature to confirm cart payment. | + | Returns cart information by bookings ids. |
− | <code>amount</code> - is total amount to payment | + | |
− | <code>currency</code> - cart currency | + | * <code>cart_id</code> and <code>cart_hash</code> is used to create secure signature to confirm cart payment. |
− | <code>cart</code> - contains cart items. You can use them to provide information for payment system. Each item is object with following fields: | + | * <code>amount</code> - is total amount to payment |
− | <code>id</code> - booking id | + | * <code>currency</code> - cart currency |
− | <code>event_id</code> - service id | + | * <code>cart</code> - contains cart items. You can use them to provide information for payment system. Each item is object with following fields: |
− | <code>name</code> - event name + start date time (use it to provide cart information for payment system) | + | * <code>id</code> - booking id |
− | <code>price</code> - booking price | + | * <code>event_id</code> - service id |
− | <code>qty</code> - qty of bookings | + | * <code>name</code> - event name + start date time (use it to provide cart information for payment system) |
| + | * <code>price</code> - booking price |
| + | * <code>qty</code> - qty of bookings |
| | | |
| | | |
Line 310: |
Line 437: |
| Returns Array. | | Returns Array. |
| | | |
− | {@inheritdoc}
| + | Returns company categories list if [[Plugins#Service categories|Service categories plugin]] is activated. Returns |
| + | an error with code -32001 if plugin is not activated. Use <code>[[#isPluginActivated|isPluginActivated('event_category')]]</code> |
| + | API method to check if plugin activated. |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getCompanyInfo === |
| + | |
| + | <code>getCompanyInfo()</code> |
| + | |
| + | No arguments. |
| + | Returns Object. |
| + | |
| + | Returns an object with detailed information about company. See [[#getCompanyInfo response|example of response]]. |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getCompanyParam === |
| + | |
| + | <code>getCompanyParam($key)</code> |
| + | |
| + | 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 [[#Company_params|list of available keys]]. |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getCompanyParams === |
| + | |
| + | <code>getCompanyParams($keys)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$keys''' Array |
| + | |
| + | Returns Array. |
| + | |
| + | Returns company config values for keys. 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 [[#Company_params|list of available keys]].For non-existent and not-allowed params it will return false as result |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getCompanyTimezoneOffset === |
| + | |
| + | <code>getCompanyTimezoneOffset()</code> |
| + | |
| + | No arguments. |
| + | Returns array. |
| + | |
| + | Returns company timezone offset and company timezone |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getCountryPhoneCodes === |
| + | |
| + | <code>getCountryPhoneCodes()</code> |
| + | |
| + | No arguments. |
| + | Returns Array. |
| + | |
| + | Returns country phone code list |
| | | |
| | | |
Line 326: |
Line 525: |
| Returns Array. | | Returns Array. |
| | | |
− | {@inheritdoc}
| + | Returns company's events list. If <code>$asArray</code> is false then method returns a map with event id as key |
| + | and details object as value. If parameter set to true then method returns a list sorted by 'position' property of |
| + | event's details object. |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getFirstWorkingDay === |
| + | |
| + | <code>getFirstWorkingDay($unitId)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$unitId''' Integer |
| + | |
| + | Returns String. |
| + | |
| + | Returns first working date for unit |
| | | |
| | | |
Line 337: |
Line 553: |
| Parameters: | | Parameters: |
| | | |
− | * '''$isPublic''' Boolean | + | * '''$isPublic''' Boolean Optional. Default value is '''false'''. |
− | * '''$asArray''' | + | * '''$asArray''' boolean Optional. Default value is '''false'''. |
| | | |
| Returns Array. | | Returns Array. |
| | | |
− | {@inheritdoc}
| + | Returns available locations for company if plugin [[Plugins#Unit location|Unit location plugin]] is activated. Return |
| + | an error with code -32001 if plugin is not activated. Use <code>[[#isPluginActivated|isPluginActivated('location')]]</code> |
| + | API method to check if plugin activated.This method accepts two boolean flags as parameters. If '''isPublic''' flag is '''true''' then method returns only |
| + | public locations. If '''asArray''' flag is '''true''' method returns list of objects. Otherwise method returns |
| + | map of objects with object id as key. You can omit both parameters. |
| | | |
| | | |
Line 358: |
Line 578: |
| | | |
| Returns payment processor config | | Returns payment processor config |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getPluginPromoInfoByCode === |
| + | |
| + | <code>getPluginPromoInfoByCode($code)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$code''' |
| + | |
| + | Returns Array. |
| + | |
| + | Returns an object with detailed information about promotion by promotion code. You can get promotion code |
| + | using <code>[[Catalogue#getPromotionList|getPromotionList]]</code> API method. If promotion record with specified |
| + | code not found then method returns an empty array (an empty object). If [[Plugins#Simply Smart Promotions|Simply Smart Promotions plugin]] |
| + | not enabled then method returns an error with code -32001 (Plugin is not activated). Use |
| + | <code>[[#isPluginActivated|isPluginActivated('promo')]]</code> API method call to check if plugin enabled.See [[#getPromotionList response|example]] of <code>getPromotionList</code> API method response. Please note that |
| + | response contains a list of services for wich promotion discount can be applied (<code>service_ids</code> key). |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getPluginStatuses === |
| + | |
| + | <code>getPluginStatuses($pluginNames)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$pluginNames''' Array |
| + | |
| + | Returns Array. |
| + | |
| + | Return plugin status true if status active, else false. See [[#Plugin's identifiers|list of available plugin's names]]. |
| | | |
| | | |
Line 410: |
Line 665: |
| | | |
| Get list of dates for recurring booking | | Get list of dates for recurring booking |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getReservedTime === |
| + | |
| + | <code>getReservedTime($from, $to, $eventId, $unitId, $count)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$from''' String |
| + | * '''$to''' String |
| + | * '''$eventId''' Integer |
| + | * '''$unitId''' Integer |
| + | * '''$count''' Integer |
| + | |
| + | Returns Object. |
| + | |
| + | Returns map of objects for each day in specified date range. The key of the result mps is a date string. The value |
| + | is an array of two objects. Both objects contains list of time slots for type <code>reserved_time</code> and type |
| + | <code>not_worked_time</code>. <code>reserved_time</code> type represents time slots working time but already booked |
| + | by clients. Nobody knows what kind of data represented by <code>not_worked_time</code> type. Please don't use it.If [[Plugins#Google calendar sync plugin|Google calendar sync plugin]] enabled then object with |
| + | <code>reserved_time</code> type will contain not empty list of time slots marked as busy in Google calendar. Call |
| + | <code>[[#isPluginActivated|isPluginActivated('google_calendar_export')]]</code> API method to check if Google |
| + | calendar sync plugin activated. |
| + | |
| + | |
| + | Example: |
| + | <pre> |
| + | { |
| + | "2016-02-05": [ |
| + | { |
| + | "dd": [], // time slots from Google calendar |
| + | "events": [ // reserved time slots |
| + | { "from": "16:00", "to": "16:30" }, |
| + | { "from": "16:30", "to": "17:00" }, |
| + | ... ], |
| + | "type": "reserved_time", |
| + | }, |
| + | { |
| + | "events": [ |
| + | { "from": "09:00", "to": "09:30" }, |
| + | { "from": "09:30", "to": "10:00" }, |
| + | ... ], |
| + | "type": "not_worked_time" |
| + | }], |
| + | ... |
| + | } |
| + | </pre> |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getReservedTimeIntervals === |
| + | |
| + | <code>getReservedTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$dateFrom''' String |
| + | * '''$dateTo''' String |
| + | * '''$eventId''' Integer |
| + | * '''$unitId''' Integer|Array |
| + | * '''$count''' Integer |
| + | |
| + | Returns Object. |
| + | |
| + | Returns not available time |
| + | Eg.: <code>{'2014-05-14': [{'reserved_time': [{'from': '14:00', 'to': '16:30'}], 'type': "reserved_time"}, ...], ...}</code> |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getStartTimeMatrix === |
| + | |
| + | <code>getStartTimeMatrix($from, $to, $eventId, $unitId, $count)</code> |
| + | |
| + | 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.: <code>{'2014-05-14': ['09:00:00', ...], ...}</code> |
| + | |
| + | 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 [[Plugins#Unit_location|Unit location]] plugin description for |
| + | more details. |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getTimeframe === |
| + | |
| + | <code>getTimeframe()</code> |
| + | |
| + | No arguments. |
| + | Returns Integer. |
| + | |
| + | Returns company's timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Settings#Timeframe|here]]. |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getTimelineType === |
| + | |
| + | <code>getTimelineType()</code> |
| + | |
| + | No arguments. |
| + | Returns String. |
| + | |
| + | Returns company timeline type |
| | | |
| | | |
Line 425: |
Line 797: |
| Returns Array. | | Returns Array. |
| | | |
− | {@inheritdoc}
| + | Returns list of service performers. If <code>$asArray</code> is false then method returns a map with event id as |
| + | key and details object as value. If parameter set to true then method returns a list sorted by 'position' property |
| + | of event's details object. |
| | | |
| | | |
Line 439: |
Line 813: |
| Returns user license text if user license plugin is turned on, | | Returns user license text if user license plugin is turned on, |
| otherwise throws exception | | otherwise throws exception |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getWorkCalendar === |
| + | |
| + | <code>getWorkCalendar($year, $month, $unitId)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$year''' Integer |
| + | * '''$month''' Integer |
| + | * '''$unitId''' Integer |
| + | |
| + | Returns Object. |
| + | |
| + | Returns company work schedule as array |
| + | Eg.: <code>{'2014-05-01': {'from': '09:00:00', 'to': '21:00:00', 'is_day_off': '0'}, '2014-05-02': ...}</code> |
| + | |
| + | |
| + | ---- |
| + | |
| + | === getWorkDaysInfo === |
| + | |
| + | <code>getWorkDaysInfo($from, $to, $unitId, $eventId, $count)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$from''' String |
| + | * '''$to''' String |
| + | * '''$unitId''' Integer (optional) |
| + | * '''$eventId''' Integer (optional) |
| + | * '''$count''' Integer (optional) |
| + | |
| + | Returns Object. |
| + | |
| + | Returns an information about working hours and break times for specified service and performer for a period |
| + | between two dates. If only service specified then information about performer (or performers) will be taken from |
| + | service configuration. Method returns a list of objects for each date in specified period. Count of objects in |
| + | list depends on break times. For example if performer works from 9:00 till 19:00 with one hour break at 13:00 method |
| + | returns: |
| + | |
| + | <pre> |
| + | {'2014-05-14' : [ |
| + | {'from': '09:00:00', 'to': '13:00:00'}, |
| + | {'from': '14:00:00', 'to': '19:00:00'} |
| + | ] } |
| + | </pre> |
| + | |
| + | Warning! Method can return a time string '24:00:00' as right edge of time range. This happens in case if time |
| + | range finishes on midnight. |
| | | |
| | | |
Line 467: |
Line 892: |
| Return true if event payments plugin is turned on and prices were set, | | Return true if event payments plugin is turned on and prices were set, |
| else return false. | | else return false. |
| + | |
| + | |
| + | ---- |
| + | |
| + | === isPluginActivated === |
| + | |
| + | <code>isPluginActivated($pluginName)</code> |
| + | |
| + | Parameters: |
| + | |
| + | * '''$pluginName''' String |
| + | |
| + | Returns Boolean. |
| + | |
| + | Return plugin status true if status active, else false. <var>$pluginName</var> parameter is a plugin identifier.See [[Plugins|plugins]] page for full plugins description. See [[#Plugin's identifiers|list of available plugin's names]]. |
| | | |
| | | |
Line 589: |
Line 1,029: |
| ** flexible_week | | ** flexible_week |
| ** modern_week | | ** modern_week |
| + | ** classes |
| ** classic | | ** classic |
| *: Please note that <code>classic</code> timeline type is deprecated and not supported anymore. | | *: Please note that <code>classic</code> timeline type is deprecated and not supported anymore. |