<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://help.simplybook.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tania</id>
	<title>SimplyBook.me - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://help.simplybook.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tania"/>
	<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Special:Contributions/Tania"/>
	<updated>2026-05-04T07:02:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew/uk&amp;diff=41843</id>
		<title>My SimplyBook.me subscription and how to renew/uk</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew/uk&amp;diff=41843"/>
		<updated>2026-02-02T17:24:14Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{#seo: |title=Моя підписка на SimplyBook.me та як її поновити |description=Ознайомтеся з деталями вашої підписки та процесом її поновлення. Дотримуйтесь інструкцій, щоб зберегти свій обліковий запис SimplyBook.me. |titlemode=додати |keywords=fAQ, поширені запитання, програмне забезпечення для бронювання, запитання щодо системи бронювання, онлайн-бронювання, програмне забезпечення для календаря, система бронювання, календар бронювання, програмне забезпечення для планування, онлайн-планування зустрічей, онлайн-планування, налаштування, допомога з налаштуванням, підтримка, довідкова інформація }}&lt;br /&gt;
 &lt;br /&gt;
__FORCETOC__&lt;br /&gt;
== Де перевірити деталі підписки ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Деталі підписки можна переглянути в декількох місцях &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:1. Панель управління, розділ «Ваш поточний тариф»&lt;br /&gt;
[[File:Subscription info on dashboard redesigned.png|1200px| center|link=https://help.simplybook.me/images/5/5c/Subscription_info_on_dashboard_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:2. Плани та ціни//Підписки над таблицею «Підписки»&lt;br /&gt;
[[File:Plans and prices page subscription info redesigned2.png|1200px|center|link=https://help.simplybook.me/images/8/81/Plans_and_prices_page_subscription_info_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:3. На сторінці «Інформація про обліковий запис», праворуч.&lt;br /&gt;
[[File:Plan info on my account page redesigned.png|1200px|center|link=https://help.simplybook.me/images/1/18/Plan_info_on_my_account_page_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Як поновити підписку ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
У розділі «Плани та ціни» // «Підписки» виберіть потрібний пакет і натисніть «Купити/Поновити» під ним. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Залежно від вашого регіону/валюти, для оплати підписки доступні кілька платіжних шлюзів:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Payment methods for susbscription redesigned2.png|1200px| center|link=https://help.simplybook.me/images/b/b9/Payment_methods_for_susbscription_redesigned2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Кредитна картка&#039;&#039;&#039; через системи SafeCharge або Stripe&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Банківський переказ&#039;&#039;&#039; на рахунок:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Бенефіціар: SimplyBook.me ltd&lt;br /&gt;
:Адреса: 28 Nafpliou, Medical Court, Flat 401, 3025 Limassol, Cyprus&lt;br /&gt;
&lt;br /&gt;
:IBAN EURO: IS800537387113314509189970&lt;br /&gt;
:IBAN GBP: IS920537382003884509189970&lt;br /&gt;
:IBAN USD: IS280537381011334509189970&lt;br /&gt;
:SWIFT: GLITISRE&lt;br /&gt;
&lt;br /&gt;
:ПРИМІТКА: Мінімальна вартість перекладу — 50 доларів США/50 євро/40 фунтів стерлінгів&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Зверніть увагу!&#039;&#039;&#039; Плата за підписку на ваш обліковий запис SimplyBook.me через SafeCharge, Stripe (або PayPal, якщо у вас виникли проблеми з системою Safecharge) встановлюється як періодична і автоматично поновлюється відповідно до обраного періоду підписки.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Ви можете скасувати періодичний платіж у будь-який час у розділі «Плани та ціни» -&amp;amp;gt; «Історія платежів» -&amp;amp;gt; «Профілі періодичних платежів».&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Коли ви обираєте оплату банківською карткою (через системи SafeCharge, Stripe або PayPal), ваш спосіб оплати зберігається в розділі «Плани та ціни» -&amp;amp;gt; «Історія платежів» -&amp;amp;gt; «Способи оплати»&amp;lt;br&amp;gt;&lt;br /&gt;
і ви зможете використовувати ці збережені способи для майбутніх покупок підписок та/або додаткових елементів, щоб не потрібно було запам&#039;ятовувати облікові дані кожного разу, коли потрібно додати щось до вашої системи.&lt;br /&gt;
[[File:Saved payment method redesigned2.png|1200px|center|link=https://help.simplybook.me/images/c/ca/Saved_payment_method_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Ви завжди можете вимкнути методи, які були раніше збережені в розділі «Плани та ціни» -&amp;amp;gt; «Підписки» -&amp;amp;gt; прокрутіть сторінку вниз -&amp;amp;gt; «Редагувати методи оплати».&lt;br /&gt;
[[File:Edit payment methods path redesigned2.png|1200px|center|link=https://help.simplybook.me/images/4/4c/Edit_payment_methods_path_redesigned2.png]]&lt;br /&gt;
[[File:Payment methods list redesigned.png|1200px|center|link=https://help.simplybook.me/images/3/3d/Payment_methods_list_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Як змінити спосіб оплати ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Може статися так, що вам потрібно буде змінити дані своєї кредитної картки або перейти на інший спосіб оплати.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Ви можете просто здійснити новий платіж за бажаний план, натиснувши «Купити»/«Поновити»/«Оновити» під відповідним варіантом на вкладці «Підписки».&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Виберіть бажаний спосіб оплати, вкажіть свої реквізити та підтвердіть оплату. Новий спосіб оплати буде автоматично збережено після підтвердження оплати.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Translations:My_SimplyBook.me_subscription_and_how_to_renew/8/uk&amp;diff=41842</id>
		<title>Translations:My SimplyBook.me subscription and how to renew/8/uk</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Translations:My_SimplyBook.me_subscription_and_how_to_renew/8/uk&amp;diff=41842"/>
		<updated>2026-02-02T17:24:14Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:Бенефіціар: SimplyBook.me ltd&lt;br /&gt;
:Адреса: 28 Nafpliou, Medical Court, Flat 401, 3025 Limassol, Cyprus&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew/fr&amp;diff=41841</id>
		<title>My SimplyBook.me subscription and how to renew/fr</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew/fr&amp;diff=41841"/>
		<updated>2026-02-02T17:23:58Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{#seo: |title=Mon abonnement SimplyBook.me et comment le renouveler |description=Comprenez les détails de votre abonnement et le processus de renouvellement. Suivez le guide pour conserver votre compte SimplyBook.me. |titlemode=ajouter |keywords=fAQ, questions fréquemment posées, logiciel de réservation, questions sur le système de rendez-vous, rendez-vous en ligne, logiciel de calendrier, système de réservation, calendrier de réservation, logiciel de planification, planification de rendez-vous en ligne, planification en ligne, configuration, aide à la configuration, assistance, contenu d&#039;aide }}&lt;br /&gt;
 &lt;br /&gt;
__FORCETOC__&lt;br /&gt;
== Où vérifier les détails de l&#039;abonnement ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Vous pouvez consulter les détails de votre abonnement à plusieurs endroits &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:1. Tableau de bord, section « Votre tarif actuel »&lt;br /&gt;
[[File:Subscription info on dashboard redesigned.png|1200px| center|link=https://help.simplybook.me/images/5/5c/Subscription_info_on_dashboard_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:2. Plans et tarifs//Abonnements au-dessus du tableau des abonnements&lt;br /&gt;
[[File:Plans and prices page subscription info redesigned2.png|1200px|center|link=https://help.simplybook.me/images/8/81/Plans_and_prices_page_subscription_info_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:3. Sur la page « Informations sur le compte », à droite.&lt;br /&gt;
[[File:Plan info on my account page redesigned.png|1200px|center|link=https://help.simplybook.me/images/1/18/Plan_info_on_my_account_page_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Comment renouveler votre abonnement ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Dans la section Plans et tarifs // Abonnements, choisissez le forfait qui vous convient et cliquez sur « Acheter/Renouveler » en dessous. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Plusieurs passerelles de paiement sont disponibles pour régler votre abonnement en fonction de votre région/devise :&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Payment methods for susbscription redesigned2.png|1200px| center|link=https://help.simplybook.me/images/b/b9/Payment_methods_for_susbscription_redesigned2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Carte de crédit&#039;&#039;&#039; via les systèmes SafeCharge ou Stripe&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Virement bancaire&#039;&#039;&#039; sur le compte :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Bénéficiaire : SimplyBook.me ltd&lt;br /&gt;
:Adresse : 28 Nafpliou, Medical Court, Flat 401, 3025 Limassol, Cyprus&lt;br /&gt;
&lt;br /&gt;
:IBAN EURO : IS800537387113314509189970&lt;br /&gt;
:IBAN GBP : IS920537382003884509189970&lt;br /&gt;
:IBAN USD : IS280537381011334509189970&lt;br /&gt;
:SWIFT : GLITISRE&lt;br /&gt;
&lt;br /&gt;
:REMARQUE : le montant minimum pour une traduction est de 50 $/50 €/40 £&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Remarque importante !&#039;&#039;&#039; Les paiements d&#039;abonnement effectués pour votre compte SimplyBook.me via SafeCharge, Stripe (ou PayPal si vous rencontrez des difficultés avec le système Safecharge) sont configurés comme récurrents et seront automatiquement renouvelés en fonction de la période d&#039;abonnement sélectionnée.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Vous pouvez annuler un paiement récurrent à tout moment dans Plans et tarifs -&amp;amp;gt; Historique des paiements -&amp;amp;gt; Profils de paiement récurrent.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Lorsque vous choisissez de payer avec votre carte bancaire (via les systèmes SafeCharge, Stripe ou PayPal), votre mode de paiement est enregistré dans Plans et tarifs -&amp;amp;gt; Historique des paiements -&amp;amp;gt; Modes de paiement&amp;lt;br&amp;gt;&lt;br /&gt;
et vous pourrez utiliser ces modes de paiement enregistrés pour vos futurs achats d&#039;abonnements et/ou d&#039;articles supplémentaires, ce qui vous évitera d&#039;avoir à vous souvenir de vos identifiants à chaque fois que vous souhaitez ajouter quelque chose à votre système.&lt;br /&gt;
[[File:Saved payment method redesigned2.png|1200px|center|link=https://help.simplybook.me/images/c/ca/Saved_payment_method_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Vous pouvez toujours désactiver les méthodes précédemment enregistrées dans Plans et tarifs -&amp;amp;gt; Abonnements -&amp;amp;gt; faites défiler la page vers le bas -&amp;amp;gt; Modifier les méthodes de paiement.&lt;br /&gt;
[[File:Edit payment methods path redesigned2.png|1200px|center|link=https://help.simplybook.me/images/4/4c/Edit_payment_methods_path_redesigned2.png]]&lt;br /&gt;
[[File:Payment methods list redesigned.png|1200px|center|link=https://help.simplybook.me/images/3/3d/Payment_methods_list_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comment modifier le mode de paiement ==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Il peut arriver que vous deviez modifier les informations de votre carte de crédit ou changer de mode de paiement.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Vous pouvez simplement effectuer un nouveau paiement pour le forfait souhaité en cliquant sur « Acheter »/« Renouveler »/« Mettre à niveau » sous l&#039;option correspondante dans l&#039;onglet « Abonnements ».&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Choisissez le mode de paiement souhaité, fournissez vos coordonnées et confirmez le paiement. Le nouveau mode de paiement sera automatiquement enregistré une fois votre paiement confirmé.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Translations:My_SimplyBook.me_subscription_and_how_to_renew/8/fr&amp;diff=41840</id>
		<title>Translations:My SimplyBook.me subscription and how to renew/8/fr</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Translations:My_SimplyBook.me_subscription_and_how_to_renew/8/fr&amp;diff=41840"/>
		<updated>2026-02-02T17:23:58Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:Bénéficiaire : SimplyBook.me ltd&lt;br /&gt;
:Adresse : 28 Nafpliou, Medical Court, Flat 401, 3025 Limassol, Cyprus&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew&amp;diff=41833</id>
		<title>My SimplyBook.me subscription and how to renew</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew&amp;diff=41833"/>
		<updated>2026-02-02T17:21:11Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=My SimplyBook.me subscription and how to renew | SimplyBook.me&lt;br /&gt;
|description=Understand your subscription details and renewal process. Follow the guide to maintain your SimplyBook.me account.&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
==Where to check subscription details==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
There are several places where you can see your subscription details &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:1. Dashboard, Your current tariff section&lt;br /&gt;
[[File:Subscription info on dashboard redesigned.png|1200px| center|link=https://help.simplybook.me/images/5/5c/Subscription_info_on_dashboard_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
:2. Plans&amp;amp;Prices//Subscriptions above Subscriptions table&lt;br /&gt;
[[File:Plans and prices page subscription info redesigned2.png|1200px|center|link=https://help.simplybook.me/images/8/81/Plans_and_prices_page_subscription_info_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
:3. On Account info page, on the right side.&lt;br /&gt;
[[File:Plan info on my account page redesigned.png|1200px|center|link=https://help.simplybook.me/images/1/18/Plan_info_on_my_account_page_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
==How to renew subscription==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Plans&amp;amp;Prices // Subscriptions section choose the package you need and press &amp;quot;Buy/Renew&amp;quot; under it. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
There are several payment gateways to pay for your subscription depending on your region/currency:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Payment methods for susbscription redesigned2.png|1200px| center|link=https://help.simplybook.me/images/b/b9/Payment_methods_for_susbscription_redesigned2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Credit Card&#039;&#039;&#039; via SafeCharge or Stripe systems&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Wire transfer&#039;&#039;&#039; to account:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
:Beneficiary: SimplyBook.me ltd&lt;br /&gt;
:Address: 28 Nafpliou, Medical Court, Flat 401, 3025 Limassol, Cyprus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
:IBAN EURO: IS800537387113314509189970&lt;br /&gt;
:IBAN GBP: IS920537382003884509189970&lt;br /&gt;
:IBAN USD: IS280537381011334509189970&lt;br /&gt;
:SWIFT: GLITISRE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
:REMARK: Minimum transfer is $50/50Eur/40GBP&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Subscription payments made for your SimplyBook.me account via SafeCharge, Stripe (or PayPal if you have difficulties with Safecharge system) are set as recurring and will automatically renew based on the selected subscription period.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;You can cancel recurring payment at any time in Plans &amp;amp; Prices -&amp;gt; Payments history -&amp;gt; Recurring payment profiles.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
When you select to pay with your bank card (via SafeCharge, Stripe systems or PayPal) your payment method gets saved in Plans &amp;amp; Prices -&amp;gt; Payments history -&amp;gt; Payment methods&amp;lt;br&amp;gt;&lt;br /&gt;
and you will be able to use these saved methods for the future purchases of subscriptions and/or additional items so that you will not need to remember the credentials each time you need to add something to your system.&lt;br /&gt;
[[File:Saved payment method redesigned2.png|1200px|center|link=https://help.simplybook.me/images/c/ca/Saved_payment_method_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
You can always disable the methods that were previously saved in Plans &amp;amp; Prices -&amp;gt; Subscriptions -&amp;gt; scroll the page down -&amp;gt; Edit payment methods.&lt;br /&gt;
[[File:Edit payment methods path redesigned2.png|1200px|center|link=https://help.simplybook.me/images/4/4c/Edit_payment_methods_path_redesigned2.png]]&lt;br /&gt;
[[File:Payment methods list redesigned.png|1200px|center|link=https://help.simplybook.me/images/3/3d/Payment_methods_list_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
==How to change payment method==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
It may happen that you need to change either your credit card details or switch between payment options.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can simply make a new payment for the desired plan by clicking on &amp;quot;Buy&amp;quot;/&amp;quot;Renew&amp;quot;/&amp;quot;Upgrade&amp;quot; under the corresponding option in the &amp;quot;Subscriptions&amp;quot; tab.&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Choose the preferred payment method, provide you details and confirm payment. New payment method will be automatically saved when your payment is confirmed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew&amp;diff=41825</id>
		<title>My SimplyBook.me subscription and how to renew</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew&amp;diff=41825"/>
		<updated>2026-02-02T17:18:07Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=My SimplyBook.me subscription and how to renew | SimplyBook.me&lt;br /&gt;
|description=Understand your subscription details and renewal process. Follow the guide to maintain your SimplyBook.me account.&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
==Where to check subscription details==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
There are several places where you can see your subscription details &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:1. Dashboard, Your current tariff section&lt;br /&gt;
[[File:Subscription info on dashboard redesigned.png|1200px| center|link=https://help.simplybook.me/images/5/5c/Subscription_info_on_dashboard_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
:2. Plans&amp;amp;Prices//Subscriptions above Subscriptions table&lt;br /&gt;
[[File:Plans and prices page subscription info redesigned2.png|1200px|center|link=https://help.simplybook.me/images/8/81/Plans_and_prices_page_subscription_info_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
:3. On Account info page, on the right side.&lt;br /&gt;
[[File:Plan info on my account page redesigned.png|1200px|center|link=https://help.simplybook.me/images/1/18/Plan_info_on_my_account_page_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
==How to renew subscription==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Plans&amp;amp;Prices // Subscriptions section choose the package you need and press &amp;quot;Buy/Renew&amp;quot; under it. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
There are several payment gateways to pay for your subscription depending on your region/currency:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Payment methods for susbscription redesigned2.png|1200px| center|link=https://help.simplybook.me/images/b/b9/Payment_methods_for_susbscription_redesigned2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Credit Card&#039;&#039;&#039; via SafeCharge or Stripe systems&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Wire transfer&#039;&#039;&#039; to account:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
:Beneficiary: SimplyBook.me ltd&lt;br /&gt;
:Address: 28 Nafpliou, Medical Court, Flat 401, 3025 Limassol, Cyprus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
:IBAN EURO: IS800537387113314509189970&lt;br /&gt;
:IBAN GBP: IS920537382003884509189970&lt;br /&gt;
:IBAN USD: IS280537381011334509189970&lt;br /&gt;
:SWIFT: GLITISRE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
:REMARK: Minimum transfer is $50/50Eur/40GBP&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Subscription payments made for your SimplyBook.me account via SafeCharge, Stripe (or PayPal if you have difficulties with Safecharge system) are set as recurring and will automatically renew based on the selected subscription period.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;You can cancel recurring payment at any time in Plans &amp;amp; Prices -&amp;gt; Payments history -&amp;gt; Recurring payment profiles.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
When you select to pay with your bank card (via SafeCharge, Stripe systems or PayPal) your payment method gets saved in Plans &amp;amp; Prices -&amp;gt; Payments history -&amp;gt; Payment methods&amp;lt;br&amp;gt;&lt;br /&gt;
and you will be able to use these saved methods for the future purchases of subscriptions and/or additional items so that you will not need to remember the credentials each time you need to add something to your system.&lt;br /&gt;
[[File:Saved payment method redesigned2.png|1200px|center|link=https://help.simplybook.me/images/c/ca/Saved_payment_method_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
You can always disable the methods that were previously saved in Plans &amp;amp; Prices -&amp;gt; Subscriptions -&amp;gt; scroll the page down -&amp;gt; Edit payment methods.&lt;br /&gt;
[[File:Edit payment methods path redesigned2.png|1200px|center|link=https://help.simplybook.me/images/4/4c/Edit_payment_methods_path_redesigned2.png]]&lt;br /&gt;
[[File:Payment methods list redesigned.png|1200px|center|link=https://help.simplybook.me/images/3/3d/Payment_methods_list_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
==How to change payment method==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
It may happen that you need to change either your credit card details or switch between payment options.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can simply make a new payment for the desired plan by clicking on &amp;quot;Buy&amp;quot;/&amp;quot;Renew&amp;quot;/&amp;quot;Upgrade&amp;quot; under the corresponding option in the &amp;quot;Subscriptions&amp;quot; tab.&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Choose the preferred payment method, provide you details and confirm payment. New payment method will be automatically saved when your payment is confirmed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew&amp;diff=40732</id>
		<title>My SimplyBook.me subscription and how to renew</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=My_SimplyBook.me_subscription_and_how_to_renew&amp;diff=40732"/>
		<updated>2026-01-20T14:46:44Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=My SimplyBook.me subscription and how to renew | SimplyBook.me&lt;br /&gt;
|description=Understand your subscription details and renewal process. Follow the guide to maintain your SimplyBook.me account.&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
==Where to check subscription details==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
There are several places where you can see your subscription details &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:1. Dashboard, Your current tariff section&lt;br /&gt;
[[File:Subscription info on dashboard redesigned.png|1200px| center|link=https://help.simplybook.me/images/5/5c/Subscription_info_on_dashboard_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
:2. Plans&amp;amp;Prices//Subscriptions above Subscriptions table&lt;br /&gt;
[[File:Plans and prices page subscription info redesigned2.png|1200px|center|link=https://help.simplybook.me/images/8/81/Plans_and_prices_page_subscription_info_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
:3. On Account info page, on the right side.&lt;br /&gt;
[[File:Plan info on my account page redesigned.png|1200px|center|link=https://help.simplybook.me/images/1/18/Plan_info_on_my_account_page_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
==How to renew subscription==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In Plans&amp;amp;Prices // Subscriptions section choose the package you need and press &amp;quot;Buy/Renew&amp;quot; under it. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
There are several payment gateways to pay for your subscription depending on your region/currency:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Payment methods for susbscription redesigned2.png|1200px| center|link=https://help.simplybook.me/images/b/b9/Payment_methods_for_susbscription_redesigned2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Credit Card&#039;&#039;&#039; via SafeCharge or Stripe systems&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Wire transfer&#039;&#039;&#039; to account:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
:Beneficiary: SimplyBook.me ltd&lt;br /&gt;
:Address: 21 Karaiskaki str., Oasis Center, 3032 Limassol, Cyprus&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
:IBAN EURO: IS800537387113314509189970&lt;br /&gt;
:IBAN GBP: IS920537382003884509189970&lt;br /&gt;
:IBAN USD: IS280537381011334509189970&lt;br /&gt;
:SWIFT: GLITISRE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
:REMARK: Minimum transfer is $50/50Eur/40GBP&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Subscription payments made for your SimplyBook.me account via SafeCharge, Stripe (or PayPal if you have difficulties with Safecharge system) are set as recurring and will automatically renew based on the selected subscription period.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;You can cancel recurring payment at any time in Plans &amp;amp; Prices -&amp;gt; Payments history -&amp;gt; Recurring payment profiles.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
When you select to pay with your bank card (via SafeCharge, Stripe systems or PayPal) your payment method gets saved in Plans &amp;amp; Prices -&amp;gt; Payments history -&amp;gt; Payment methods&amp;lt;br&amp;gt;&lt;br /&gt;
and you will be able to use these saved methods for the future purchases of subscriptions and/or additional items so that you will not need to remember the credentials each time you need to add something to your system.&lt;br /&gt;
[[File:Saved payment method redesigned2.png|1200px|center|link=https://help.simplybook.me/images/c/ca/Saved_payment_method_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
You can always disable the methods that were previously saved in Plans &amp;amp; Prices -&amp;gt; Subscriptions -&amp;gt; scroll the page down -&amp;gt; Edit payment methods.&lt;br /&gt;
[[File:Edit payment methods path redesigned2.png|1200px|center|link=https://help.simplybook.me/images/4/4c/Edit_payment_methods_path_redesigned2.png]]&lt;br /&gt;
[[File:Payment methods list redesigned.png|1200px|center|link=https://help.simplybook.me/images/3/3d/Payment_methods_list_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
==How to change payment method==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
It may happen that you need to change either your credit card details or switch between payment options.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can simply make a new payment for the desired plan by clicking on &amp;quot;Buy&amp;quot;/&amp;quot;Renew&amp;quot;/&amp;quot;Upgrade&amp;quot; under the corresponding option in the &amp;quot;Subscriptions&amp;quot; tab.&lt;br /&gt;
[[File:Buy new subscription path redesigned2.png|1200px| center|link=https://help.simplybook.me/images/3/34/Buy_new_subscription_path_redesigned2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Choose the preferred payment method, provide you details and confirm payment. New payment method will be automatically saved when your payment is confirmed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Link_removal_and_custom_domain&amp;diff=35830</id>
		<title>Link removal and custom domain</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Link_removal_and_custom_domain&amp;diff=35830"/>
		<updated>2025-08-26T12:59:35Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Link removal and custom domain - SimplyBook.me&lt;br /&gt;
|description=Remove SimplyBook.me branding and set up a custom domain for your booking page. Follow our guide to get started!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link Removal (removal of ( c ) [https://simplybook.me/ SimplyBook.me] copyright ) is available for Premium users (former Gold and Platinum). The [https://simplybook.me/ SimplyBook.me] copyright message is removed from the footer of booking page, widgets and from emails footer. This makes it less apparent for clients that you are using the [https://simplybook.me/ SimplyBook.me] system. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
===What White Label is not:===&lt;br /&gt;
:1. It is not custom domain, your booking page will have [https://simplybook.me/ SimplyBook.me] in url. If you want to change simplybook.me in url of your booking page, you can enable [[Special:MyLanguage/Custom Domain custom feature| Custom domain]] feature in your Custom Features page per one-time fee. Then in your Domain controller, you need to find where you set the DNS records. You should set the A record for your website as in instructions displayed in this feature settings. After A-records are set enter domain name you wish to use in this custom feature settings.&lt;br /&gt;
:2. Emails are sent from NO-REPLY@simplybook.me, if you need to send emails from your address, you can use [[Special:MyLanguage/SMTP custom feature| SMTP custom feature]] if you use Gmail or have your own SMTP server.&lt;br /&gt;
:3. SMS are sent from [https://simplybook.me/ SimplyBook.me] number (if the system does not accept your default number in Settings//Email and sms settings), if you need to send sms from your number, you can use [[Special:MyLanguage/SMS Gateway custom feature| SMS Gateway]] custom feature for additional price.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
:4. Admin page will have [https://simplybook.me/ SimplyBook.me] branding.&lt;br /&gt;
:5. Favicon and /v2/ part in the booking site URL cannot be changed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===What if I want to remove SimplyBook.me terms and conditions checkbox from the booking site?=== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note&#039;&#039;&#039;, that you need to confirm that you&#039;ve added information about SimplyBook.me Ltd. as a supplier to your Terms&amp;amp;Conditions.&amp;lt;/span&amp;gt;&lt;br /&gt;
On &#039;&#039;&#039;Premium&#039;&#039;&#039; plan SimplyBook.me terms and conditions checkbox will be removed automatically. &lt;br /&gt;
&lt;br /&gt;
If your subscription plan is different from Premium, please follow the steps provided below to remove the [https://simplybook.me/ SimplyBook.me]  Terms and Conditions checkbox.&lt;br /&gt;
&lt;br /&gt;
To remove the checkbox you need to have enabled and correctly set all the options mentioned:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Either: &amp;lt;br&amp;gt;&lt;br /&gt;
1.  [[Special:MyLanguage/SMTP custom feature| SMTP]] + [[Special:MyLanguage/Custom Domain custom feature| Custom domain]] + [[Special:MyLanguage/Terms and Conditions custom feature| Terms and Conditions]] + [[Special:MyLanguage/Design|theme]] different from blank*. &amp;lt;br&amp;gt;&lt;br /&gt;
Or:&amp;lt;br&amp;gt;&lt;br /&gt;
2.  [[Special:MyLanguage/SMTP custom feature| SMTP]] + [[Special:MyLanguage/Custom Features#Terms and Conditions| Terms and Conditions]] + blank* [[Special:MyLanguage/Design|theme]] + [[Special:MyLanguage/Widgets for your own website| Widget]] on your website.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;*Blank theme is available for paid subscriptions only.&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
After that you will be able to select &amp;quot;Yes&amp;quot; option in Custom features//Terms&amp;amp;Conditions//on the right side of the page//&amp;quot;I confirm that I&#039;ve added information about SimplyBook.me Ltd. as a supplier to my T&amp;amp;C&amp;quot;. after you save settings there the SimplyBook.me terms and conditions checkbox will be removed from the booking site.&lt;br /&gt;
[[File:Terma and conditions consent redesigned.png|1200px | center|link=https://help.simplybook.me/index.php/File:Terma_and_conditions_consent_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Link_removal_and_custom_domain&amp;diff=35829</id>
		<title>Link removal and custom domain</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Link_removal_and_custom_domain&amp;diff=35829"/>
		<updated>2025-08-26T12:58:34Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Link removal and custom domain - SimplyBook.me&lt;br /&gt;
|description=Remove SimplyBook.me branding and set up a custom domain for your booking page. Follow our guide to get started!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link Removal (removal of ( c ) [https://simplybook.me/ SimplyBook.me] copyright ) is available for Premium users (former Gold and Platinum). The [https://simplybook.me/ SimplyBook.me] copyright message is removed from the footer of booking page, widgets and from emails footer. This makes it less apparent for clients that you are using the [https://simplybook.me/ SimplyBook.me] system. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
===What White Label is not:===&lt;br /&gt;
:1. It is not custom domain, your booking page will have [https://simplybook.me/ SimplyBook.me] in url. If you want to change simplybook.me in url of your booking page, you can enable [[Special:MyLanguage/Custom Domain custom feature| Custom domain]] feature in your Custom Features page per one-time fee. Then in your Domain controller, you need to find where you set the DNS records. You should set the A record for your website as in instructions displayed in this feature settings. After A-records are set enter domain name you wish to use in this custom feature settings.&lt;br /&gt;
:2. Emails are sent from NO-REPLY@simplybook.me, if you need to send emails from your address, you can use [[Special:MyLanguage/SMTP custom feature| SMTP custom feature]] if you use Gmail or have your own SMTP server.&lt;br /&gt;
:3. SMS are sent from [https://simplybook.me/ SimplyBook.me] number (if the system does not accept your default number in Settings//Email and sms settings), if you need to send sms from your number, you can use [[Special:MyLanguage/SMS Gateway custom feature| SMS Gateway]] custom feature for additional price.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
:4. Admin page will have [https://simplybook.me/ SimplyBook.me] branding.&lt;br /&gt;
:5. Favicon and /v2/ part in the booking site URL cannot be changed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===What if I want to remove SimplyBook.me terms and conditions checkbox from the booking site?=== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note&#039;&#039;&#039;, that you need to confirm that you&#039;ve added information about SimplyBook.me Ltd. as a supplier to your Terms&amp;amp;Conditions.&amp;lt;/span&amp;gt;&lt;br /&gt;
For Premium plan users SimplyBook.me terms and conditions checkbox will be removed automatically. If you have subscription plan different from Premium, please follow the steps provided below to remove the [https://simplybook.me/ SimplyBook.me]  Terms and Conditions checkbox.&lt;br /&gt;
&lt;br /&gt;
To remove the checkbox you need to have enabled and correctly set all the options mentioned:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Either: &amp;lt;br&amp;gt;&lt;br /&gt;
1.  [[Special:MyLanguage/SMTP custom feature| SMTP]] + [[Special:MyLanguage/Custom Domain custom feature| Custom domain]] + [[Special:MyLanguage/Terms and Conditions custom feature| Terms and Conditions]] + [[Special:MyLanguage/Design|theme]] different from blank*. &amp;lt;br&amp;gt;&lt;br /&gt;
Or:&amp;lt;br&amp;gt;&lt;br /&gt;
2.  [[Special:MyLanguage/SMTP custom feature| SMTP]] + [[Special:MyLanguage/Custom Features#Terms and Conditions| Terms and Conditions]] + blank* [[Special:MyLanguage/Design|theme]] + [[Special:MyLanguage/Widgets for your own website| Widget]] on your website.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;*Blank theme is available for paid subscriptions only.&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
After that you will be able to select &amp;quot;Yes&amp;quot; option in Custom features//Terms&amp;amp;Conditions//on the right side of the page//&amp;quot;I confirm that I&#039;ve added information about SimplyBook.me Ltd. as a supplier to my T&amp;amp;C&amp;quot;. after you save settings there the SimplyBook.me terms and conditions checkbox will be removed from the booking site.&lt;br /&gt;
[[File:Terma and conditions consent redesigned.png|1200px | center|link=https://help.simplybook.me/index.php/File:Terma_and_conditions_consent_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Link_removal_and_custom_domain&amp;diff=35828</id>
		<title>Link removal and custom domain</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Link_removal_and_custom_domain&amp;diff=35828"/>
		<updated>2025-08-26T12:49:15Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Link removal and custom domain - SimplyBook.me&lt;br /&gt;
|description=Remove SimplyBook.me branding and set up a custom domain for your booking page. Follow our guide to get started!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Link Removal (removal of ( c ) [https://simplybook.me/ SimplyBook.me] copyright) is available for Premium users (former Gold and Platinum). The [https://simplybook.me/ SimplyBook.me] copyright message is removed from the footer of booking page, widgets and from emails footer. This makes it less apparent for clients that you are using the [https://simplybook.me/ SimplyBook.me] system. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
===What White Label is not:===&lt;br /&gt;
:1. It is not custom domain, your booking page will have [https://simplybook.me/ SimplyBook.me] in url. If you want to change simplybook.me in url of your booking page, you can enable [[Special:MyLanguage/Custom Domain custom feature| Custom domain]] feature in your Custom Features page per one-time fee. Then in your Domain controller, you need to find where you set the DNS records. You should set the A record for your website as in instructions displayed in this feature settings. After A-records are set enter domain name you wish to use in this custom feature settings.&lt;br /&gt;
:2. Emails are sent from NO-REPLY@simplybook.me, if you need to send emails from your address, you can use [[Special:MyLanguage/SMTP custom feature| SMTP custom feature]] if you use Gmail or have your own SMTP server.&lt;br /&gt;
:3. SMS are sent from [https://simplybook.me/ SimplyBook.me] number (if the system does not accept your default number in Settings//Email and sms settings), if you need to send sms from your number, you can use [[Special:MyLanguage/SMS Gateway custom feature| SMS Gateway]] custom feature for additional price.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
:4. Admin page will have [https://simplybook.me/ SimplyBook.me] branding.&lt;br /&gt;
:5. Favicon and /v2/ part in the booking site URL cannot be changed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===What if I want to remove SimplyBook.me terms and conditions checkbox from the booking site?=== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
:&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note&#039;&#039;&#039;, that you need to confirm that you&#039;ve added information about SimplyBook.me Ltd. as a supplier to your Terms&amp;amp;Conditions.&amp;lt;/span&amp;gt;&lt;br /&gt;
To remove the checkbox you need to have enabled and correctly set all the options mentioned:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Either: &amp;lt;br&amp;gt;&lt;br /&gt;
1.  [[Special:MyLanguage/SMTP custom feature| SMTP]] + [[Special:MyLanguage/Custom Domain custom feature| Custom domain]] + [[Special:MyLanguage/Terms and Conditions custom feature| Terms and Conditions]] + [[Special:MyLanguage/Design|theme]] different from blank*. &amp;lt;br&amp;gt;&lt;br /&gt;
Or:&amp;lt;br&amp;gt;&lt;br /&gt;
2.  [[Special:MyLanguage/SMTP custom feature| SMTP]] + [[Special:MyLanguage/Custom Features#Terms and Conditions| Terms and Conditions]] + blank* [[Special:MyLanguage/Design|theme]] + [[Special:MyLanguage/Widgets for your own website| Widget]] on your website.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;*Blank theme is available for paid subscriptions only.&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
After that you will be able to select &amp;quot;Yes&amp;quot; option in Custom features//Terms&amp;amp;Conditions//on the right side of the page//&amp;quot;I confirm that I&#039;ve added information about SimplyBook.me Ltd. as a supplier to my T&amp;amp;C&amp;quot;. after you save settings there the SimplyBook.me terms and conditions checkbox will be removed from the booking site.&lt;br /&gt;
[[File:Terma and conditions consent redesigned.png|1200px | center|link=https://help.simplybook.me/index.php/File:Terma_and_conditions_consent_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Adjusting_notifications&amp;diff=34740</id>
		<title>Adjusting notifications</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Adjusting_notifications&amp;diff=34740"/>
		<updated>2025-07-22T16:00:57Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Adjusting notifications - SimplyBook.me&lt;br /&gt;
|description=Update notification settings to keep clients informed. Customize messages for a better client experience. Learn more here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content, notifications, notifications settings, emails, booking notifications&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;youtube&amp;gt;https://youtu.be/IZ8h3OmXTjQ&amp;lt;/p&amp;gt;&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=How to enable/disable bookings notifications and adjust your templates=&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;check/uncheck&amp;lt;/span&amp;gt; the corresponding boxes to send/not send notifications. You can change the texts of notifications to better suit your needs by clicking &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;edit template,&amp;lt;/span&amp;gt; making changes and saving system settings.&lt;br /&gt;
[[File:Email and sms settings path redesigned upd.png|1200px|border| center|link=https://help.simplybook.me/images/a/a4/Email_and_sms_settings_path_redesigned_upd.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Notifications statuses upd.png|1200px| center|link=https://help.simplybook.me/images/e/e2/Notifications_statuses_upd.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
==What&#039;sApp Notifications==&lt;br /&gt;
If you and your clients are actively using WhatsApp messenger you can get bookings-related notifications there.&lt;br /&gt;
;How to use&lt;br /&gt;
1. Enable the desired types for WhatsApp Notifications in Settings -&amp;gt; Email and SMS settings&lt;br /&gt;
[[File:Whatapp notofications switchers.png|1200px|center|link=https://help.simplybook.me/images/1/14/Whatapp_notofications_switchers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2. Purchase WhatsApp Credits in Plans &amp;amp; Prices -&amp;gt; Subscriptions or Additional items depending on whether you would like the credits to automatically renew with your subscription or you prefer one-time purchase.  Each message will take -1 credit from the total number of credits purchased.&amp;lt;br&amp;gt;&lt;br /&gt;
(You will also be able to view the messages that were sent from the system as well as the number of credits used in Reports -&amp;gt; SMS (txt messages) -&amp;gt; WhatsApp notifications)&lt;br /&gt;
[[File:Add whatapp credits to subscription.png|1200px|center|link=https://help.simplybook.me/images/c/c8/Add_whatapp_credits_to_subscription.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;To comply with WhatsApp policies, messages use pre-approved templates and cannot be customized. These templates cover essential information clearly and professionally.&amp;lt;/span&amp;gt; &lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Any client interaction in whats app ( client cancellation/booking reschedule, etc ) will cost credits&amp;lt;/span&amp;gt;  &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
==Admin mobile app==&lt;br /&gt;
If you are using admin mobile application you can receive booking related notifications such as booking confirmations, reminders, booking change and cancellation notifications.&amp;lt;br&amp;gt;&lt;br /&gt;
To enable/disable these notifications please navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; tab -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Manage notifications&amp;lt;/span&amp;gt; in the admin mobile application.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
=How to disable Feedbacks=&lt;br /&gt;
You can view all your reviews in the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Reports&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Reviews&amp;lt;/span&amp;gt; tab in left-side menu, delete or reply to them. If you wish to remove the option to leave a review and do not send feedback request in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings for e-mail and SMS notifications&amp;lt;/span&amp;gt; -&amp;gt; set &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Number of days until feedback request is sent to client&amp;lt;/span&amp;gt; to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Disable.&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Feedback disable path redesigned.png|1200px | center|link=https://help.simplybook.me/images/1/12/Feedback_disable_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
=[[Custom Features|Custom features]] related notifications=&lt;br /&gt;
The following custom features have either own notification types or can influence the messages sent by the system:&lt;br /&gt;
--------&lt;br /&gt;
==[[Accept payments custom feature|Accept payments]]==&lt;br /&gt;
Allows to send:&lt;br /&gt;
* Invoices to clients(email template)&lt;br /&gt;
* Notifications about unsuccessful payments to client(Email template)&lt;br /&gt;
* Notifications about unsuccessful payments to company(Email template)&lt;br /&gt;
All these templates can be edited in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Accept payments custom feature|Accept payments]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email template settings.&amp;lt;/span&amp;gt;&lt;br /&gt;
[[File:Accept payments notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/f/fb/Accept_payments_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Accept payments custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
==[[Multiple Bookings custom feature|Multiple bookings]]==&lt;br /&gt;
Has own templates for:&lt;br /&gt;
* Booking confirmation notification to client(Email and SMS templates)&lt;br /&gt;
* Booking reminder notification to client(Email and SMS templates)&lt;br /&gt;
Both types are automatically applied when this custom feature is enabled and the clients makes a batch of appointments at once using &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add another service&amp;lt;/span&amp;gt; button at checkout.&lt;br /&gt;
The templates texts can be adjusted in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Multiple Bookings custom feature|Multiple bookings]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Multiple bookings notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/f/fc/Multiple_bookings_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Multiple Bookings custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
==[[Group Bookings custom feature|Group bookings]]==&lt;br /&gt;
Has special templates for the following types:&lt;br /&gt;
* Booking confirmation notification to client(Email and SMS templates)&lt;br /&gt;
* Booking reminder notification to client(Email and SMS templates)&lt;br /&gt;
* Booking confirmation notification to provider(Email and SMS templates)&lt;br /&gt;
* Booking reminder notification to provider(Email and SMS templates)&lt;br /&gt;
They will be automatically applied when this custom feature is enabled and the client books an appointment selecting several participants on the service step of the booking process.&lt;br /&gt;
All the templates can be adjusted in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Group Bookings custom feature|Group bookings]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Group bookings notifications path.png|1200px|border|center|link=https://help.simplybook.me/images/6/66/Group_bookings_notifications_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Group Bookings custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
==[[Book Soon Notification System custom feature|Book Soon notification system]]==&lt;br /&gt;
Allows to send reminders to come again to the clients who have booked before.&amp;lt;br&amp;gt;&lt;br /&gt;
The templates can be set in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Book Soon Notification System custom feature|Book Soon notification system]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add new&amp;lt;/span&amp;gt; to create a new template(Email and SMS).&lt;br /&gt;
You can create numerous specific templates for certain service(s)/provider(s) and they will be sent when the indicated time has passed from the client appointment.&lt;br /&gt;
[[File:Book soon template redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/3/36/Book_soon_template_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Book Soon Notification System custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
==[[Coupons and Gift Cards custom feature|Coupons &amp;amp; Gift cards]]==&lt;br /&gt;
Can send specific notifications for the following cases when you are using this custom feature:&lt;br /&gt;
* the client purchases a gift card on the booking website(Email and SMS templates)&lt;br /&gt;
This notification template can be enabled/disable and edited in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Coupons and Gift Cards custom feature|Coupons &amp;amp; Gift cards]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Coupons &amp;amp; gift cards notifications redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/7/79/Coupons_%26_gift_cards_notifications_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
As well if you manually issue gift card or coupon to your client(s) the template that will be used in this case can be access in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Manage&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Coupons&amp;amp;Gift Cards&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Issue the gift card&amp;lt;/span&amp;gt; / &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Send coupon message&amp;lt;/span&amp;gt; for the desired gift-card/coupon -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Send Email/Send SMS.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Coupons and Gift Cards custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
==[[Client mobile app]]==&lt;br /&gt;
In case this feature is enabled and the client has allowed notifications, the mobile application will send booking-related push notifications.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no place to edit the template, but you can view the notifications report in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Reports&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Push notifications report.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Push notifications report path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/2/24/Push_notifications_report_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please note!&#039;&#039;&#039; You need to have enough push notifications credits to be able to send such notifications to clients&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Client mobile app|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
==[[Client Login custom feature|Client login]]==&lt;br /&gt;
If you require the clients to sign in/sign up to be able to book the appointments or make purchases on your booking website and have Client login custom feature enabled,&amp;lt;br&amp;gt;&lt;br /&gt;
there are three notification types that can be sent to your clients(they cannot be disabled):&lt;br /&gt;
* new client registration(Email)&lt;br /&gt;
* restore password(Email)&lt;br /&gt;
* reset password or create client from admin interface(Email)&lt;br /&gt;
You can edit the templates in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Client Login custom feature|Client login]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Client login notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/d/d0/Client_login_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Client Login custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
==[[Membership custom feature|Membership]]==&lt;br /&gt;
When you sell memberships on the booking website you may also need to notify your clients about the different points.&amp;lt;br&amp;gt;&lt;br /&gt;
This custom feature allows to send:&lt;br /&gt;
* membership activation notification(Email and SMS templates)&lt;br /&gt;
* recurring payment notification(Email and SMS templates)&lt;br /&gt;
* recurring payment error(Email and SMS templates)&lt;br /&gt;
* recurring payment success(Email and SMS templates)&lt;br /&gt;
* membership period end(Email and SMS templates)&lt;br /&gt;
* membership expires today(Email and SMS templates)&lt;br /&gt;
* membership expired notification(Email and SMS templates)&lt;br /&gt;
You can edit the templates, as well as enable/disable certain notification types in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Membership custom feature|Membership]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Memberships notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/6/6e/Memberships_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Membership custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
==[[Flexible Notifications custom feature|Flexible notifications]]==&lt;br /&gt;
This custom feature allows to customize the booking related notification per certain service/provider or both.&amp;lt;br&amp;gt;&lt;br /&gt;
The following types can be used:&lt;br /&gt;
* booking confirmation to client(Email and SMS templates)&lt;br /&gt;
* booking confirmation to provider(Email and SMS templates)&lt;br /&gt;
* reminder to client(Email and SMS templates)&lt;br /&gt;
* reminder to provider(Email and SMS templates)&lt;br /&gt;
* cancellation notification to client(Email and SMS templates)&lt;br /&gt;
* cancellation notification for provider(Email and SMS templates)&lt;br /&gt;
* booking change notification to client(Email and SMS templates)&lt;br /&gt;
* booking change notification to provider(Email and SMS templates)&lt;br /&gt;
* recurring event confirmation to client(Email and SMS templates)&lt;br /&gt;
* recurring event confirmation to provider(Email and SMS templates)&lt;br /&gt;
* batch cancellation notification to client(Email and SMS templates)&lt;br /&gt;
* batch cancellation notification to provider(Email and SMS templates)&lt;br /&gt;
* [[Multiple Bookings custom feature|multiple bookings]] batch booking confirmation to client(Email and SMS templates)&lt;br /&gt;
* [[Multiple Bookings custom feature|multiple bookings]] event reminder to client(Email and SMS templates)&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] batch booking confirmation to client(Email and SMS templates)&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] batch booking confirmation to provider(Email and SMS templates)&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] reminder to client(Email and SMS templates)&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] reminder to provider(Email and SMS templates)&lt;br /&gt;
You can create all the desired templates in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Flexible Notifications custom feature|Flexible notifications]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Manage.&amp;lt;/span&amp;gt;&lt;br /&gt;
[[File:Flexible notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/5/56/Flexible_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In case you need to enable/disable some of these notification types please navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; -&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;use the table&amp;lt;/span&amp;gt; at the top of the page.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please note!&#039;&#039;&#039; These are general booking notifications settings so if you turn some of them off it will also influence similar types related to other features(i.e. if you disable booking confirmations to providers there then common confirmations, as well as group, recurring batches confirmation notifications will become off)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Flexible Notifications custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
==[[Packages custom feature|Packages]]==&lt;br /&gt;
When you sell the packages of services/classes/products/service add-ons or issue the packages from admin side it is also possible to automatically send the clients the package activation notification(Email and/or SMS).&amp;lt;br&amp;gt;&lt;br /&gt;
To edit the template text or enable/disable the notifications please navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Packages custom feature|Packages]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Packages notification path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/f/fd/Packages_notification_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Packages custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
==[[Tickets custom feature|Tickets]]==&lt;br /&gt;
By default the ticket is automatically sent to client email together with the corresponding service confirmation email.&amp;lt;br&amp;gt;&lt;br /&gt;
But in case you are using online payments and allow to choose &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;pay later&amp;lt;/span&amp;gt; option on the booking website and the client select it,&amp;lt;br&amp;gt;&lt;br /&gt;
in this case the ticket will be sent with the separate email.&lt;br /&gt;
As well you may wish to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;re-send the ticket&amp;lt;/span&amp;gt; to the client in certain cases(it is possible in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Reports&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tickets report).&amp;lt;/span&amp;gt;&lt;br /&gt;
Both notification templates case be edited in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Tickets custom feature|Tickets]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; or the page. There are Email types available only.&lt;br /&gt;
[[File:Tickets notificatons path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/e/ea/Tickets_notificatons_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Tickets custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
==[[Custom Email custom feature|Custom email]]==&lt;br /&gt;
Allows to customize the design of the email notifications to match your branding and taste.&amp;lt;br&amp;gt;&lt;br /&gt;
To create your designs please go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Custom Email custom feature|Custom email]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Create template.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Custom email template path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/4/49/Custom_email_template_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
With the help of this custom feature you can influence the look of the following notification types:&lt;br /&gt;
* common booking related notifications from Settings -&amp;gt; Email and SMS Settings;&lt;br /&gt;
* invoices emails from [[Accept payments custom feature|accept payments]] custom feature;&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] custom feature notifications;&lt;br /&gt;
* [[Multiple Bookings custom feature|multiple bookings]] custom feature notifications;&lt;br /&gt;
* [[Client Login custom feature|client login]] custom feature notifications;&lt;br /&gt;
* [[Membership custom feature|membership]] custom feature notifications;&lt;br /&gt;
* [[Packages custom feature|packages]] custom feature notifications;&lt;br /&gt;
* [[Tickets custom feature|tickets]] custom feature notifications;&lt;br /&gt;
* [[Coupons and Gift Cards custom feature|coupons &amp;amp; gift cards]] custom feature notifications&lt;br /&gt;
* [[Medical test custom feature|medical test]] custom feature notifications;&lt;br /&gt;
* [[Book Soon Notification System custom feature|book soon notification system]] custom feature notifications.&lt;br /&gt;
This feature allows to test each notification type with the pre-created design.&lt;br /&gt;
[[File:Custom email notification types list redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/c/c2/Custom_email_notification_types_list_redesigned.png]]&lt;br /&gt;
The &amp;lt;nowiki&amp;gt;{{content}}&amp;lt;/nowiki&amp;gt; tag that contains the booking/purchase information can be edited in the corresponding feature settings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Custom Email custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
==[[SMTP custom feature|SMTP]]==&lt;br /&gt;
This feature allows you to use your own SMTP server for sending the emails.&amp;lt;br&amp;gt;&lt;br /&gt;
It has only one template for testing this feature after you have entered the settings.&amp;lt;br&amp;gt;&lt;br /&gt;
You can edit and use the test email template in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;SMTP&amp;lt;/span&amp;gt; -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Smtp email path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/e/e4/Smtp_email_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[SMTP custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
==[[Daily Report custom feature|Daily report]]==&lt;br /&gt;
When you enable and set this custom feature it will automatically send the email report about new, upcoming and cancelled appointments to your company email address.&amp;lt;br&amp;gt;&lt;br /&gt;
There is not template to edit as such, but you can adjust the items included in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Daily Report custom feature|Daily report]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Daily report settings path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/e/e2/Daily_report_settings_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Daily Report custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
==[[HIPAA custom feature|HIPAA]]==&lt;br /&gt;
This is security-related custom feature and allows to send email notifications when somebody logs in to your system.&amp;lt;br&amp;gt;&lt;br /&gt;
It does not contain any email template to be edited and can be enabled/disabled by adding/removing the email address in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[HIPAA custom feature|HIPAA]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Notify email.&amp;lt;/span&amp;gt;&lt;br /&gt;
[[File:Hipaa notifications settings path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/6/66/Hipaa_notifications_settings_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[HIPAA custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
==[[Contact Widget custom feature|Contact widget]]==&lt;br /&gt;
As this custom feature allows to add a contact form to your booking website or create the contact button widget, there is also the email/SMS notification to company that is sent when somebody leaves a message on the booking site or widget so that you will be able to respond right away.&lt;br /&gt;
There is no template to edit but you can disable such notifications in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Contact widget notifications.&amp;lt;/span&amp;gt;&lt;br /&gt;
[[File:Contact widget notifications enable path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/b/b5/Contact_widget_notifications_enable_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Contact Widget custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
==[[Medical test custom feature|Medical test]]==&lt;br /&gt;
When you are using this custom feature you definitely need to send the test results to patients&#039; emails.&amp;lt;br&amp;gt;&lt;br /&gt;
In &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Medical test&amp;lt;/span&amp;gt; -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page you can enable/disable or edit the following templates:&lt;br /&gt;
* positive results(Email and SMS templates);&lt;br /&gt;
* negative results(Email and SMS templates);&lt;br /&gt;
* inconclusive results(Email and SMS templates).&lt;br /&gt;
[[File:Medical test notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/4/49/Medical_test_notifications_path_redesigned.png]]&lt;br /&gt;
In case you need to adjust the test result template please use &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom result template&amp;lt;/span&amp;gt; option above the templates.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Medical test custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=What are variables= &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Variables are elements that can be inserted in email and sms templates (&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt;). These variables will denote the chosen item after the booking is made. For example you have 2 providers: Mary and John. In email template you insert text &amp;quot;You have booked a service with [provider]&amp;quot;. If the client chose on the booking page provider Mary, they would receive the following text &amp;quot;You have booked a service with Mary&amp;quot;, if they chose John, they would receive the text &amp;quot;You have booked a service with John.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
You can always find the variables that can be used with the certain notification type near the template either on the right side of the page or in the popup that can be access by click on &amp;quot;Variables&amp;quot; button.&lt;br /&gt;
[[File:Variables overview redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/d/d3/Variables_overview_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=iCals and how to use them= &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
In &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; you can check the box &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Attach iCal to e-mails&amp;lt;/span&amp;gt; and then emails will contain file of .isc format. After clicking that file, it will open in one of your calendars (Google calendar, iCalendar,etc)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
[[File:Ics files options redesigned.png|1200px | center|link=https://help.simplybook.me/images/2/23/Ics_files_options_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Please note&#039;&#039;&#039;, that iCal files do not have set timezone so the time in that file will be displayed according to the IP address/device settings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Clients/Providers do not receive notifications= &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
;Possible reasons&lt;br /&gt;
:1. Corresponding boxes in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; are not checked. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
:2. Client/provider entered wrong email or phone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
:3. Email went to junk (Spam) folder or to Social tab. Please check Whitelisting instructions [[Email whitelisting instructions| here]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
:4. [[Custom Features#SMTP| SMTP]] custom feature is not set correctly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
:5. If sms are not coming, check your sms balance in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Plans&amp;amp;Prices&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Subscriptions&amp;lt;/span&amp;gt; at the bottom of the page.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Clients/Providers receive wrong notifications= &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
:1. Please check if you have [[Custom Features#Multiple Bookings| &#039;&#039;&#039;Multiple Bookings&#039;&#039;&#039;]] or [[Custom Features#Group Bookings| &#039;&#039;&#039;Group Bookings&#039;&#039;&#039;]] Custom Feature enabled. These Custom Features have their own templates.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Multiple bookings template&#039;&#039;&#039; (&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Multiple bookings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;on the right side&amp;lt;/span&amp;gt; of the page)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
[[File:Multiple bookings notifications path redesigned.png|1200px|border | center|link=https://help.simplybook.me/images/f/fc/Multiple_bookings_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Group bookings template&#039;&#039;&#039; (&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Group bookings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;on the right side&amp;lt;/span&amp;gt; of the page)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
[[File:Group bookings notifications path.png|1200px|border| center|link=https://help.simplybook.me/images/6/66/Group_bookings_notifications_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:2. Check if you have Time Zone settings on in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Main configuration,&amp;lt;/span&amp;gt; in this case client may have selected wrong time zone and received notification in wrong time zone too. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
[[File:Timezone settings redesigned.png|1200px | center|link=https://help.simplybook.me/images/3/35/Timezone_settings_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
=Email whitelisting instructions=&lt;br /&gt;
So here are a few things that you can do to make sure you get those all important emails from the team here at SimplyBook.me.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
You can expect system notifications such as when your subscription is up for renewal, notices about bookings, and helpful information on various things such as how to get the most out of your [https://simplybook.me/ SimplyBook.me] service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
As great as technology is, it isn’t perfect, and sometimes email systems and internet service providers mistake legitimate email for spam. To ensure that you don’t miss important communication from us, please take the following steps:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
Please whitelist any emails that come from the &#039;&#039;&#039;@simplybook.me&#039;&#039;&#039; domain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Why?&#039;&#039;&#039; Because that tells your email service or program that you actually want emails from this domain, so that they can then make sure you get them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;How?&#039;&#039;&#039; Well, this differs between email services and programs but below you can see information about some of the main ones. If you aren’t using one of these, please refer to the help section for yourservice for information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using Gmail or Gsuite== &amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
Filter messages from &#039;&#039;&#039;@simplybook.me&#039;&#039;&#039; and tell the system to never send it to spam:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
:1. Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; (click the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;gear&amp;lt;/span&amp;gt; icon at the top to the right)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
[[File:Click settings.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
:2. Select the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Filters and Blocked Addresses&amp;lt;/span&amp;gt; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
[[File:Select filters and blocked addresses.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
:3. Towards the bottom of the tab, click the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Create a new filter&amp;lt;/span&amp;gt; link&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
[[File:Gmail create a new filter.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
:4. In the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;From&amp;lt;/span&amp;gt; field write &#039;&#039;&#039;@simplybook.me&#039;&#039;&#039;&lt;br /&gt;
:5. Click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Create filter with this search&amp;lt;/span&amp;gt; to the bottom right of the window&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
[[File:Gmail create filter with this search.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
:6. Tick the box next to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Never send it to Spam&amp;lt;/span&amp;gt;&lt;br /&gt;
:7. Click the blue button that says &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Create filter&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
[[File:Gmail never send it to spam.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
Great! Now you won’t miss anything from us!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;And to ensure that our emails don’t get lost in that Updates or Promotions tab:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
:1. Find an email from SimplyBook.me in your inbox&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
:2. Click and drag it to the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Primary&amp;lt;/span&amp;gt; tab in your inbox&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
[[File:Gmail move to primary tab.png| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:3. You’ll be asked whether you want to do this for future emails, so tell them &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;yes&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
[[File:Gmail do this with future emails from SimplyBook.me.png| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using Yahoo! mail== &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
:1. When you open an email message, hover your mouse on the Sender&#039;s name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
:2. Click the the three dots in the Sender&#039;s info window that appears and click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add to contacts.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
[[File:Add to contacts yahoo.png| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:3. When &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add Contact&amp;lt;/span&amp;gt; form comes up, click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Save.&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
[[File:Add contact yahoo form.PNG| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using Mac Mail== &amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
:1. From the top menu select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Mail&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Preferences&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
[[File:Step 1 - open Mail preferences.jpg| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:2. Then select the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Rules&amp;lt;/span&amp;gt; icon, click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add Rule&amp;lt;/span&amp;gt; and type a name for the rule in the description field. Use the following settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
[[File:Step 2 - open Rules configuration.jpg| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:3. “If any of the following conditions are met: From Contains”. In the text field besides &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Contains&amp;lt;/span&amp;gt; type &#039;&#039;&#039;@simplybook.me&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
[[File:Step 3 - add a rule for SimplyBook.me mails.jpg| center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
:4. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Move Message&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Inbox&amp;lt;/span&amp;gt; from the drop down menus and then click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; to save the rule.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using Outlook== &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
:1. Right-click on the message in your inbox.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
:2. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Junk E-mail&amp;lt;/span&amp;gt; from the menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
:3. Click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Never Block Sender&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Never Block Sender&#039;s Domain (@example.com).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
[[File:Outlook not junk.jpg| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Great, you’re all set! We look forward to being in touch and seeing your business blossom!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Adjusting_notifications&amp;diff=34739</id>
		<title>Adjusting notifications</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Adjusting_notifications&amp;diff=34739"/>
		<updated>2025-07-22T12:26:16Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Adjusting notifications - SimplyBook.me&lt;br /&gt;
|description=Update notification settings to keep clients informed. Customize messages for a better client experience. Learn more here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content, notifications, notifications settings, emails, booking notifications&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;youtube&amp;gt;https://youtu.be/IZ8h3OmXTjQ&amp;lt;/p&amp;gt;&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=How to enable/disable bookings notifications and adjust your templates=&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;check/uncheck&amp;lt;/span&amp;gt; the corresponding boxes to send/not send notifications. You can change the texts of notifications to better suit your needs by clicking &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;edit template,&amp;lt;/span&amp;gt; making changes and saving system settings.&lt;br /&gt;
[[File:Email and sms settings path redesigned upd.png|1200px|border| center|link=https://help.simplybook.me/images/a/a4/Email_and_sms_settings_path_redesigned_upd.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Notifications statuses upd.png|1200px| center|link=https://help.simplybook.me/images/e/e2/Notifications_statuses_upd.png]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
==What&#039;sApp Notifications==&lt;br /&gt;
If you and your clients are actively using WhatsApp messenger you can get bookings-related notifications there.&lt;br /&gt;
;How to use&lt;br /&gt;
1. Enable the desired types for WhatsApp Notifications in Settings -&amp;gt; Email and SMS settings&lt;br /&gt;
[[File:Whatapp notofications switchers.png|1200px|center|link=https://help.simplybook.me/images/1/14/Whatapp_notofications_switchers.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2. Purchase WhatsApp Credits in Plans &amp;amp; Prices -&amp;gt; Subscriptions or Additional items depending on whether you would like the credits to automatically renew with your subscription or you prefer one-time purchase.  Each message will take -1 credit from the total number of credits purchased.&amp;lt;br&amp;gt;&lt;br /&gt;
(You will also be able to view the messages that were sent from the system as well as the number of credits used in Reports -&amp;gt; SMS (txt messages) -&amp;gt; WhatsApp notifications)&lt;br /&gt;
[[File:Add whatapp credits to subscription.png|1200px|center|link=https://help.simplybook.me/images/c/c8/Add_whatapp_credits_to_subscription.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; To comply with WhatsApp policies, messages use pre-approved templates and cannot be customized. These templates cover essential information clearly and professionally.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
==Admin mobile app==&lt;br /&gt;
If you are using admin mobile application you can receive booking related notifications such as booking confirmations, reminders, booking change and cancellation notifications.&amp;lt;br&amp;gt;&lt;br /&gt;
To enable/disable these notifications please navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; tab -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Manage notifications&amp;lt;/span&amp;gt; in the admin mobile application.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
=How to disable Feedbacks=&lt;br /&gt;
You can view all your reviews in the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Reports&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Reviews&amp;lt;/span&amp;gt; tab in left-side menu, delete or reply to them. If you wish to remove the option to leave a review and do not send feedback request in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings for e-mail and SMS notifications&amp;lt;/span&amp;gt; -&amp;gt; set &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Number of days until feedback request is sent to client&amp;lt;/span&amp;gt; to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Disable.&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Feedback disable path redesigned.png|1200px | center|link=https://help.simplybook.me/images/1/12/Feedback_disable_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
=[[Custom Features|Custom features]] related notifications=&lt;br /&gt;
The following custom features have either own notification types or can influence the messages sent by the system:&lt;br /&gt;
--------&lt;br /&gt;
==[[Accept payments custom feature|Accept payments]]==&lt;br /&gt;
Allows to send:&lt;br /&gt;
* Invoices to clients(email template)&lt;br /&gt;
* Notifications about unsuccessful payments to client(Email template)&lt;br /&gt;
* Notifications about unsuccessful payments to company(Email template)&lt;br /&gt;
All these templates can be edited in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Accept payments custom feature|Accept payments]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email template settings.&amp;lt;/span&amp;gt;&lt;br /&gt;
[[File:Accept payments notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/f/fb/Accept_payments_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Accept payments custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
==[[Multiple Bookings custom feature|Multiple bookings]]==&lt;br /&gt;
Has own templates for:&lt;br /&gt;
* Booking confirmation notification to client(Email and SMS templates)&lt;br /&gt;
* Booking reminder notification to client(Email and SMS templates)&lt;br /&gt;
Both types are automatically applied when this custom feature is enabled and the clients makes a batch of appointments at once using &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add another service&amp;lt;/span&amp;gt; button at checkout.&lt;br /&gt;
The templates texts can be adjusted in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Multiple Bookings custom feature|Multiple bookings]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Multiple bookings notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/f/fc/Multiple_bookings_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Multiple Bookings custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
==[[Group Bookings custom feature|Group bookings]]==&lt;br /&gt;
Has special templates for the following types:&lt;br /&gt;
* Booking confirmation notification to client(Email and SMS templates)&lt;br /&gt;
* Booking reminder notification to client(Email and SMS templates)&lt;br /&gt;
* Booking confirmation notification to provider(Email and SMS templates)&lt;br /&gt;
* Booking reminder notification to provider(Email and SMS templates)&lt;br /&gt;
They will be automatically applied when this custom feature is enabled and the client books an appointment selecting several participants on the service step of the booking process.&lt;br /&gt;
All the templates can be adjusted in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Group Bookings custom feature|Group bookings]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Group bookings notifications path.png|1200px|border|center|link=https://help.simplybook.me/images/6/66/Group_bookings_notifications_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Group Bookings custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
==[[Book Soon Notification System custom feature|Book Soon notification system]]==&lt;br /&gt;
Allows to send reminders to come again to the clients who have booked before.&amp;lt;br&amp;gt;&lt;br /&gt;
The templates can be set in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Book Soon Notification System custom feature|Book Soon notification system]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add new&amp;lt;/span&amp;gt; to create a new template(Email and SMS).&lt;br /&gt;
You can create numerous specific templates for certain service(s)/provider(s) and they will be sent when the indicated time has passed from the client appointment.&lt;br /&gt;
[[File:Book soon template redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/3/36/Book_soon_template_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Book Soon Notification System custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
==[[Coupons and Gift Cards custom feature|Coupons &amp;amp; Gift cards]]==&lt;br /&gt;
Can send specific notifications for the following cases when you are using this custom feature:&lt;br /&gt;
* the client purchases a gift card on the booking website(Email and SMS templates)&lt;br /&gt;
This notification template can be enabled/disable and edited in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Coupons and Gift Cards custom feature|Coupons &amp;amp; Gift cards]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Coupons &amp;amp; gift cards notifications redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/7/79/Coupons_%26_gift_cards_notifications_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
As well if you manually issue gift card or coupon to your client(s) the template that will be used in this case can be access in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Manage&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Coupons&amp;amp;Gift Cards&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Issue the gift card&amp;lt;/span&amp;gt; / &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Send coupon message&amp;lt;/span&amp;gt; for the desired gift-card/coupon -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Send Email/Send SMS.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Coupons and Gift Cards custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
==[[Client mobile app]]==&lt;br /&gt;
In case this feature is enabled and the client has allowed notifications, the mobile application will send booking-related push notifications.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no place to edit the template, but you can view the notifications report in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Reports&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Push notifications report.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Push notifications report path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/2/24/Push_notifications_report_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please note!&#039;&#039;&#039; You need to have enough push notifications credits to be able to send such notifications to clients&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Client mobile app|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
==[[Client Login custom feature|Client login]]==&lt;br /&gt;
If you require the clients to sign in/sign up to be able to book the appointments or make purchases on your booking website and have Client login custom feature enabled,&amp;lt;br&amp;gt;&lt;br /&gt;
there are three notification types that can be sent to your clients(they cannot be disabled):&lt;br /&gt;
* new client registration(Email)&lt;br /&gt;
* restore password(Email)&lt;br /&gt;
* reset password or create client from admin interface(Email)&lt;br /&gt;
You can edit the templates in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Client Login custom feature|Client login]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Client login notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/d/d0/Client_login_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Client Login custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
==[[Membership custom feature|Membership]]==&lt;br /&gt;
When you sell memberships on the booking website you may also need to notify your clients about the different points.&amp;lt;br&amp;gt;&lt;br /&gt;
This custom feature allows to send:&lt;br /&gt;
* membership activation notification(Email and SMS templates)&lt;br /&gt;
* recurring payment notification(Email and SMS templates)&lt;br /&gt;
* recurring payment error(Email and SMS templates)&lt;br /&gt;
* recurring payment success(Email and SMS templates)&lt;br /&gt;
* membership period end(Email and SMS templates)&lt;br /&gt;
* membership expires today(Email and SMS templates)&lt;br /&gt;
* membership expired notification(Email and SMS templates)&lt;br /&gt;
You can edit the templates, as well as enable/disable certain notification types in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Membership custom feature|Membership]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Memberships notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/6/6e/Memberships_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Membership custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
==[[Flexible Notifications custom feature|Flexible notifications]]==&lt;br /&gt;
This custom feature allows to customize the booking related notification per certain service/provider or both.&amp;lt;br&amp;gt;&lt;br /&gt;
The following types can be used:&lt;br /&gt;
* booking confirmation to client(Email and SMS templates)&lt;br /&gt;
* booking confirmation to provider(Email and SMS templates)&lt;br /&gt;
* reminder to client(Email and SMS templates)&lt;br /&gt;
* reminder to provider(Email and SMS templates)&lt;br /&gt;
* cancellation notification to client(Email and SMS templates)&lt;br /&gt;
* cancellation notification for provider(Email and SMS templates)&lt;br /&gt;
* booking change notification to client(Email and SMS templates)&lt;br /&gt;
* booking change notification to provider(Email and SMS templates)&lt;br /&gt;
* recurring event confirmation to client(Email and SMS templates)&lt;br /&gt;
* recurring event confirmation to provider(Email and SMS templates)&lt;br /&gt;
* batch cancellation notification to client(Email and SMS templates)&lt;br /&gt;
* batch cancellation notification to provider(Email and SMS templates)&lt;br /&gt;
* [[Multiple Bookings custom feature|multiple bookings]] batch booking confirmation to client(Email and SMS templates)&lt;br /&gt;
* [[Multiple Bookings custom feature|multiple bookings]] event reminder to client(Email and SMS templates)&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] batch booking confirmation to client(Email and SMS templates)&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] batch booking confirmation to provider(Email and SMS templates)&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] reminder to client(Email and SMS templates)&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] reminder to provider(Email and SMS templates)&lt;br /&gt;
You can create all the desired templates in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Flexible Notifications custom feature|Flexible notifications]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Manage.&amp;lt;/span&amp;gt;&lt;br /&gt;
[[File:Flexible notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/5/56/Flexible_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In case you need to enable/disable some of these notification types please navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; -&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;use the table&amp;lt;/span&amp;gt; at the top of the page.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please note!&#039;&#039;&#039; These are general booking notifications settings so if you turn some of them off it will also influence similar types related to other features(i.e. if you disable booking confirmations to providers there then common confirmations, as well as group, recurring batches confirmation notifications will become off)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Flexible Notifications custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
==[[Packages custom feature|Packages]]==&lt;br /&gt;
When you sell the packages of services/classes/products/service add-ons or issue the packages from admin side it is also possible to automatically send the clients the package activation notification(Email and/or SMS).&amp;lt;br&amp;gt;&lt;br /&gt;
To edit the template text or enable/disable the notifications please navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Packages custom feature|Packages]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Packages notification path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/f/fd/Packages_notification_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Packages custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
==[[Tickets custom feature|Tickets]]==&lt;br /&gt;
By default the ticket is automatically sent to client email together with the corresponding service confirmation email.&amp;lt;br&amp;gt;&lt;br /&gt;
But in case you are using online payments and allow to choose &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;pay later&amp;lt;/span&amp;gt; option on the booking website and the client select it,&amp;lt;br&amp;gt;&lt;br /&gt;
in this case the ticket will be sent with the separate email.&lt;br /&gt;
As well you may wish to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;re-send the ticket&amp;lt;/span&amp;gt; to the client in certain cases(it is possible in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Reports&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tickets report).&amp;lt;/span&amp;gt;&lt;br /&gt;
Both notification templates case be edited in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Tickets custom feature|Tickets]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; or the page. There are Email types available only.&lt;br /&gt;
[[File:Tickets notificatons path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/e/ea/Tickets_notificatons_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Tickets custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
==[[Custom Email custom feature|Custom email]]==&lt;br /&gt;
Allows to customize the design of the email notifications to match your branding and taste.&amp;lt;br&amp;gt;&lt;br /&gt;
To create your designs please go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Custom Email custom feature|Custom email]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Create template.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Custom email template path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/4/49/Custom_email_template_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
With the help of this custom feature you can influence the look of the following notification types:&lt;br /&gt;
* common booking related notifications from Settings -&amp;gt; Email and SMS Settings;&lt;br /&gt;
* invoices emails from [[Accept payments custom feature|accept payments]] custom feature;&lt;br /&gt;
* [[Group Bookings custom feature|group bookings]] custom feature notifications;&lt;br /&gt;
* [[Multiple Bookings custom feature|multiple bookings]] custom feature notifications;&lt;br /&gt;
* [[Client Login custom feature|client login]] custom feature notifications;&lt;br /&gt;
* [[Membership custom feature|membership]] custom feature notifications;&lt;br /&gt;
* [[Packages custom feature|packages]] custom feature notifications;&lt;br /&gt;
* [[Tickets custom feature|tickets]] custom feature notifications;&lt;br /&gt;
* [[Coupons and Gift Cards custom feature|coupons &amp;amp; gift cards]] custom feature notifications&lt;br /&gt;
* [[Medical test custom feature|medical test]] custom feature notifications;&lt;br /&gt;
* [[Book Soon Notification System custom feature|book soon notification system]] custom feature notifications.&lt;br /&gt;
This feature allows to test each notification type with the pre-created design.&lt;br /&gt;
[[File:Custom email notification types list redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/c/c2/Custom_email_notification_types_list_redesigned.png]]&lt;br /&gt;
The &amp;lt;nowiki&amp;gt;{{content}}&amp;lt;/nowiki&amp;gt; tag that contains the booking/purchase information can be edited in the corresponding feature settings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Custom Email custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
==[[SMTP custom feature|SMTP]]==&lt;br /&gt;
This feature allows you to use your own SMTP server for sending the emails.&amp;lt;br&amp;gt;&lt;br /&gt;
It has only one template for testing this feature after you have entered the settings.&amp;lt;br&amp;gt;&lt;br /&gt;
You can edit and use the test email template in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;SMTP&amp;lt;/span&amp;gt; -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Smtp email path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/e/e4/Smtp_email_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[SMTP custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
==[[Daily Report custom feature|Daily report]]==&lt;br /&gt;
When you enable and set this custom feature it will automatically send the email report about new, upcoming and cancelled appointments to your company email address.&amp;lt;br&amp;gt;&lt;br /&gt;
There is not template to edit as such, but you can adjust the items included in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[Daily Report custom feature|Daily report]] -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page.&lt;br /&gt;
[[File:Daily report settings path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/e/e2/Daily_report_settings_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Daily Report custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
==[[HIPAA custom feature|HIPAA]]==&lt;br /&gt;
This is security-related custom feature and allows to send email notifications when somebody logs in to your system.&amp;lt;br&amp;gt;&lt;br /&gt;
It does not contain any email template to be edited and can be enabled/disabled by adding/removing the email address in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; [[HIPAA custom feature|HIPAA]] -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Notify email.&amp;lt;/span&amp;gt;&lt;br /&gt;
[[File:Hipaa notifications settings path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/6/66/Hipaa_notifications_settings_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[HIPAA custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
==[[Contact Widget custom feature|Contact widget]]==&lt;br /&gt;
As this custom feature allows to add a contact form to your booking website or create the contact button widget, there is also the email/SMS notification to company that is sent when somebody leaves a message on the booking site or widget so that you will be able to respond right away.&lt;br /&gt;
There is no template to edit but you can disable such notifications in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Contact widget notifications.&amp;lt;/span&amp;gt;&lt;br /&gt;
[[File:Contact widget notifications enable path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/b/b5/Contact_widget_notifications_enable_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Contact Widget custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
==[[Medical test custom feature|Medical test]]==&lt;br /&gt;
When you are using this custom feature you definitely need to send the test results to patients&#039; emails.&amp;lt;br&amp;gt;&lt;br /&gt;
In &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Medical test&amp;lt;/span&amp;gt; -&amp;gt; on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;right side&amp;lt;/span&amp;gt; of the page you can enable/disable or edit the following templates:&lt;br /&gt;
* positive results(Email and SMS templates);&lt;br /&gt;
* negative results(Email and SMS templates);&lt;br /&gt;
* inconclusive results(Email and SMS templates).&lt;br /&gt;
[[File:Medical test notifications path redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/4/49/Medical_test_notifications_path_redesigned.png]]&lt;br /&gt;
In case you need to adjust the test result template please use &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom result template&amp;lt;/span&amp;gt; option above the templates.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;[[Medical test custom feature|Read more]] about his custom feature use.&#039;&#039;&lt;br /&gt;
--------&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=What are variables= &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Variables are elements that can be inserted in email and sms templates (&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt;). These variables will denote the chosen item after the booking is made. For example you have 2 providers: Mary and John. In email template you insert text &amp;quot;You have booked a service with [provider]&amp;quot;. If the client chose on the booking page provider Mary, they would receive the following text &amp;quot;You have booked a service with Mary&amp;quot;, if they chose John, they would receive the text &amp;quot;You have booked a service with John.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
You can always find the variables that can be used with the certain notification type near the template either on the right side of the page or in the popup that can be access by click on &amp;quot;Variables&amp;quot; button.&lt;br /&gt;
[[File:Variables overview redesigned.png|1200px|border|center|link=https://help.simplybook.me/images/d/d3/Variables_overview_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=iCals and how to use them= &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
In &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; you can check the box &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Attach iCal to e-mails&amp;lt;/span&amp;gt; and then emails will contain file of .isc format. After clicking that file, it will open in one of your calendars (Google calendar, iCalendar,etc)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
[[File:Ics files options redesigned.png|1200px | center|link=https://help.simplybook.me/images/2/23/Ics_files_options_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Please note&#039;&#039;&#039;, that iCal files do not have set timezone so the time in that file will be displayed according to the IP address/device settings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Clients/Providers do not receive notifications= &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
;Possible reasons&lt;br /&gt;
:1. Corresponding boxes in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email and SMS settings&amp;lt;/span&amp;gt; are not checked. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
:2. Client/provider entered wrong email or phone. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
:3. Email went to junk (Spam) folder or to Social tab. Please check Whitelisting instructions [[Email whitelisting instructions| here]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
:4. [[Custom Features#SMTP| SMTP]] custom feature is not set correctly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
:5. If sms are not coming, check your sms balance in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Plans&amp;amp;Prices&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Subscriptions&amp;lt;/span&amp;gt; at the bottom of the page.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Clients/Providers receive wrong notifications= &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
:1. Please check if you have [[Custom Features#Multiple Bookings| &#039;&#039;&#039;Multiple Bookings&#039;&#039;&#039;]] or [[Custom Features#Group Bookings| &#039;&#039;&#039;Group Bookings&#039;&#039;&#039;]] Custom Feature enabled. These Custom Features have their own templates.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Multiple bookings template&#039;&#039;&#039; (&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Multiple bookings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;on the right side&amp;lt;/span&amp;gt; of the page)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
[[File:Multiple bookings notifications path redesigned.png|1200px|border | center|link=https://help.simplybook.me/images/f/fc/Multiple_bookings_notifications_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Group bookings template&#039;&#039;&#039; (&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Group bookings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;on the right side&amp;lt;/span&amp;gt; of the page)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
[[File:Group bookings notifications path.png|1200px|border| center|link=https://help.simplybook.me/images/6/66/Group_bookings_notifications_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:2. Check if you have Time Zone settings on in &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Main configuration,&amp;lt;/span&amp;gt; in this case client may have selected wrong time zone and received notification in wrong time zone too. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
[[File:Timezone settings redesigned.png|1200px | center|link=https://help.simplybook.me/images/3/35/Timezone_settings_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
=Email whitelisting instructions=&lt;br /&gt;
So here are a few things that you can do to make sure you get those all important emails from the team here at SimplyBook.me.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
You can expect system notifications such as when your subscription is up for renewal, notices about bookings, and helpful information on various things such as how to get the most out of your [https://simplybook.me/ SimplyBook.me] service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
As great as technology is, it isn’t perfect, and sometimes email systems and internet service providers mistake legitimate email for spam. To ensure that you don’t miss important communication from us, please take the following steps:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
Please whitelist any emails that come from the &#039;&#039;&#039;@simplybook.me&#039;&#039;&#039; domain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Why?&#039;&#039;&#039; Because that tells your email service or program that you actually want emails from this domain, so that they can then make sure you get them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;How?&#039;&#039;&#039; Well, this differs between email services and programs but below you can see information about some of the main ones. If you aren’t using one of these, please refer to the help section for yourservice for information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using Gmail or Gsuite== &amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
Filter messages from &#039;&#039;&#039;@simplybook.me&#039;&#039;&#039; and tell the system to never send it to spam:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
:1. Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; (click the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;gear&amp;lt;/span&amp;gt; icon at the top to the right)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
[[File:Click settings.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
:2. Select the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Filters and Blocked Addresses&amp;lt;/span&amp;gt; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
[[File:Select filters and blocked addresses.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
:3. Towards the bottom of the tab, click the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Create a new filter&amp;lt;/span&amp;gt; link&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
[[File:Gmail create a new filter.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
:4. In the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;From&amp;lt;/span&amp;gt; field write &#039;&#039;&#039;@simplybook.me&#039;&#039;&#039;&lt;br /&gt;
:5. Click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Create filter with this search&amp;lt;/span&amp;gt; to the bottom right of the window&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
[[File:Gmail create filter with this search.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
:6. Tick the box next to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Never send it to Spam&amp;lt;/span&amp;gt;&lt;br /&gt;
:7. Click the blue button that says &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Create filter&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
[[File:Gmail never send it to spam.png| center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
Great! Now you won’t miss anything from us!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;And to ensure that our emails don’t get lost in that Updates or Promotions tab:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
:1. Find an email from SimplyBook.me in your inbox&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
:2. Click and drag it to the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Primary&amp;lt;/span&amp;gt; tab in your inbox&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
[[File:Gmail move to primary tab.png| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:3. You’ll be asked whether you want to do this for future emails, so tell them &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;yes&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
[[File:Gmail do this with future emails from SimplyBook.me.png| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using Yahoo! mail== &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
:1. When you open an email message, hover your mouse on the Sender&#039;s name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
:2. Click the the three dots in the Sender&#039;s info window that appears and click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add to contacts.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
[[File:Add to contacts yahoo.png| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:3. When &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add Contact&amp;lt;/span&amp;gt; form comes up, click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Save.&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
[[File:Add contact yahoo form.PNG| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using Mac Mail== &amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
:1. From the top menu select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Mail&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Preferences&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
[[File:Step 1 - open Mail preferences.jpg| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:2. Then select the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Rules&amp;lt;/span&amp;gt; icon, click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add Rule&amp;lt;/span&amp;gt; and type a name for the rule in the description field. Use the following settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
[[File:Step 2 - open Rules configuration.jpg| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:3. “If any of the following conditions are met: From Contains”. In the text field besides &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Contains&amp;lt;/span&amp;gt; type &#039;&#039;&#039;@simplybook.me&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
[[File:Step 3 - add a rule for SimplyBook.me mails.jpg| center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
:4. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Move Message&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Inbox&amp;lt;/span&amp;gt; from the drop down menus and then click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;OK&amp;lt;/span&amp;gt; to save the rule.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using Outlook== &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
:1. Right-click on the message in your inbox.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
:2. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Junk E-mail&amp;lt;/span&amp;gt; from the menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
:3. Click &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Never Block Sender&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Never Block Sender&#039;s Domain (@example.com).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
[[File:Outlook not junk.jpg| center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Great, you’re all set! We look forward to being in touch and seeing your business blossom!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Custom_CSS_custom_feature&amp;diff=34738</id>
		<title>Custom CSS custom feature</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Custom_CSS_custom_feature&amp;diff=34738"/>
		<updated>2025-07-22T12:13:26Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Custom Features - SimplyBook.me&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
|description=Personalize your booking page with custom CSS. Adjust design elements to match your brand. Start customizing today!&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, CSS, adjusting design, adjusting colors, adjusting font, adjusting look, CSS coding&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Custom css new icon.png ‎|left]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Make your own booking interface with this CSS Custom Feature. It allows to change the styles of different elements, hide them, change fonts, colors, font-sizes, etc. If you know  CSS coding, please use tools of browser to find identifiers of elements and write rules in the settings of Custom Feature, if you have no deep knowledge of CSS, please contact support and they will try to find the best solution for you. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&lt;br /&gt;
Please note! &amp;lt;br&amp;gt;A great number or complex CSS requests may be considered as set up assistance and you may be asked to purchase Set up assistance option for further CSS code set up.  It is a paid offer which you can find under plans&amp;amp;prices -&amp;gt; additional items -&amp;gt; hourly assistance. To schedule a call for Set-up Assistance evaluation, please click on the following link: https://bigaccounts.simplybook.it/v2/#book/service/3/count/1&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: #26dd7d; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Free custom feature!&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
;How to use&lt;br /&gt;
:1. Enable this option on your Custom Features page.&lt;br /&gt;
[[File:Custom css enable path redesigned.png|1200px| center|link=https://help.simplybook.me/images/9/93/Custom_css_enable_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:2. Click on &amp;quot;Settings&amp;quot; for this feature.&lt;br /&gt;
[[File:Custom css settings path redesigned.png|1200px | center|link=https://help.simplybook.me/images/3/35/Custom_css_settings_path_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:3. Add the code(s) to adjust the styles to &amp;quot;Booking pages CSS&amp;quot; tab if you wish to edit the booking page&amp;lt;br&amp;gt;&lt;br /&gt;
:or &amp;quot;Widget CSS&amp;quot; if you are editing widget on your website.&lt;br /&gt;
[[File:Custom css tabs redesigned.png|1200px| center|link=https://help.simplybook.me/images/1/1c/Custom_css_tabs_redesigned.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[[Special:MyLanguage/Remove Elements from booking page#Removing with Custom CSS| See most common requests how to remove elements with CSS here (phone, email fields, social tabs, our time, etc)]]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Company_public_service_methods&amp;diff=19903</id>
		<title>Company public service methods</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Company_public_service_methods&amp;diff=19903"/>
		<updated>2025-05-16T15:15:50Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#seo:&lt;br /&gt;
|title=Company public service methods - SimplyBook.me&lt;br /&gt;
|description=Explore public-facing service methods to improve client access. Manage service visibility with ease. Learn more now!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using [http://www.json.org JSON]. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Hourly photoshoot&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;If you want to try yourself as a model but haven&#039;t decided on an image. &amp;lt;br /&amp;gt; 5-7 retouched and print-ready photos + the raw footage on a disc &amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of request with error response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;someNotExistingMethod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;id&amp;quot;:1,&lt;br /&gt;
    &amp;quot;error&amp;quot;: {&lt;br /&gt;
      &amp;quot;code&amp;quot;: -32601,&lt;br /&gt;
      &amp;quot;message&amp;quot;: &amp;quot;Method not found&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All calls of public service methods should have two additional HTTP headers:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Company-Login&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[Company public service methods#Authentication|authentication]] section.&lt;br /&gt;
&lt;br /&gt;
===Endpoint===&lt;br /&gt;
&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/&amp;lt;/code&amp;gt; for all public service API calls.&lt;br /&gt;
&lt;br /&gt;
===Authentication===&lt;br /&gt;
&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getToken|getToken]]&amp;lt;/code&amp;gt; API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
=== book ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;book($eventId, $unitId, $date, $time, $clientData, $additional, $count, $batchId, $recurringData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$time&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object - eg. {name: &#039;Name&#039;, email: &#039;test@gmail.com&#039;, phone: &#039;+38099999999&#039;}&lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer - bookings count, min. 1 (using for group bookings batch). (optional)&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer - add booking to multiple bookings batch. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array - make booking recurrent. (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Creates new booking record. Returns an object with appointment information or throw exception if booking time not&lt;br /&gt;
available or any of required parameters missed. If appointment requires confirmation, in result object will be&lt;br /&gt;
&amp;lt;code&amp;gt;require_confirm = true&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt; specifies a date of&lt;br /&gt;
booking and time slot. Time value should be multiple to &#039;timeframe&#039; configuration of company (see&lt;br /&gt;
&amp;lt;code&amp;gt;[[Company public service methods#getTimeframe|getTimeframe]]&amp;lt;/code&amp;gt; API method). &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; parameters&lt;br /&gt;
should be calculated according to service duration. However you can specify different values to make appointment&lt;br /&gt;
longer or shorter then service configuration. Note that &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; should be&lt;br /&gt;
later in time than &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt;. If your clients located in different time&lt;br /&gt;
zone you should specify &amp;lt;code&amp;gt;&#039;client_time_offset&#039;&amp;lt;/code&amp;gt; value in &amp;lt;code&amp;gt;$clientData&amp;lt;/code&amp;gt; object as difference&lt;br /&gt;
between client&#039;s time zone and company&#039;s time zone in minutes. For example if company located in city with time&lt;br /&gt;
zone GMT+2 and customer located in city with GMT+3 then &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; will be 60 minutes. You&lt;br /&gt;
can get information about company&#039;s time zone using &amp;lt;code&amp;gt;[[Company public service methods#getCompanyInfo|getCompanyInfo]]&amp;lt;/code&amp;gt; API method. To&lt;br /&gt;
create batch booking you can specify either &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; more then 1 or valid &amp;lt;code&amp;gt;batchId&amp;lt;/code&amp;gt; (only one&lt;br /&gt;
parameter can be specified). You should specify an &amp;lt;code&amp;gt;$additionalFields&amp;lt;/code&amp;gt; parameter if service requires&lt;br /&gt;
some intake forms (see [[Custom Features#Intake Forms|Intake Forms Custom feature]]). To create a booking with promo code you&lt;br /&gt;
should pass it as additional field. For example: &amp;lt;code&amp;gt;{&amp;quot;name&amp;quot;: &amp;quot;promocode&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;some code&amp;quot;, &amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;}&amp;lt;/code&amp;gt;See [[Company public service methods#book response|example]] of &amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt; API method response.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [https://help.simplybook.me/index.php/Need_to_change_interval_(timeframe) Timeframe information]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== calculateEndTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;calculateEndTime($startDateTime, $eventId, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; 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;.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String|Boolean.&lt;br /&gt;
&lt;br /&gt;
Returns end datetime if booking is available, else return false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== cancelBooking ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBooking($id, $sign)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$sign&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Cancels a booking. &amp;lt;code&amp;gt;$sign&amp;lt;/code&amp;gt; parameter must be a string created with formula: &amp;lt;code&amp;gt;md5($bookingId . $bookingHash . $secretKey)&lt;br /&gt;
&amp;lt;/code&amp;gt;. You can get &amp;lt;code&amp;gt;$bookingHash&amp;lt;/code&amp;gt; value as result of &amp;lt;code&amp;gt;[[Company public service methods#book|book]]&amp;lt;/code&amp;gt; API method call. Method&lt;br /&gt;
return an error with code -32080 (Appointment couldn&#039;t be found) if record with specified id not exists. Methods returns&lt;br /&gt;
an error with code -32085 (Signature error) if &amp;lt;code&amp;gt;$sign&amp;lt;/code&amp;gt; parameter is wrong.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== confirmBooking ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confirmBooking($id, $sign)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$sign&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Confirm booking. Signature is required.$sign = md5($bookingId . $bookingHash . $secretKey);&lt;br /&gt;
Call this method from server side only&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== confirmBookingBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confirmBookingBatch($batchId, $batchType, $sign)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$batchType&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$sign&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Confirms booking batch. Signature is required.$sign = md5($batchId . $batchHash . $secret)&lt;br /&gt;
Call this method from server side only&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== confirmBookingBatchPayment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confirmBookingBatchPayment($batchId, $batchType, $paymentProcessor, $sign)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$batchType&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$paymentProcessor&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$sign&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Confirms booking batch payment. Signature is required.$sign = md5($batchId . $batchHash . $secret)&lt;br /&gt;
Call this method from server side only&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== confirmBookingCart ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confirmBookingCart($cartId, $paymentProcessor, $sign)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$cartId&#039;&#039;&#039; Integer - cart id&lt;br /&gt;
* &#039;&#039;&#039;$paymentProcessor&#039;&#039;&#039; String - payment processor name&lt;br /&gt;
* &#039;&#039;&#039;$sign&#039;&#039;&#039; String - signature. (md5($cartId . $cartHash . $secretKey))&lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Confirm booking cart. Use it to confirm payment. Signature is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== confirmBookingPayment  !Deprecated!===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;confirmBookingPayment($id, $paymentProcessor, $sign)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$paymentProcessor&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$sign&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Confirm booking payment. Signature is required.$sign = md5($bookingId . $bookingHash . $secretKey);&lt;br /&gt;
Call this method from server side only&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== createBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;createBatch()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Creates new booking batch record. Returns newly created batch id. You can use this id in &amp;lt;code&amp;gt;[[Company public service methods#book|book]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== filterAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;filterAvailableUnits($eventId, $dateTime, $unitIds, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitIds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with locations Custom feature.&lt;br /&gt;
Returns empty array if all units are not allowed.&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getAdditionalFields ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAdditionalFields($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return intake forms for certain event if [[Custom Features#Intake Forms|Intake Forms Custom feature]] is&lt;br /&gt;
activated. Returns empty array otherwise. Call &amp;lt;code&amp;gt;[[Company public service methods#isPluginActivated|isPluginActivated(&#039;event_field&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if &#039;event_field&#039; Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getAnyUnitData ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAnyUnitData()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object|null.&lt;br /&gt;
&lt;br /&gt;
Returns information about [[Custom Features#Any Employee Selector|Any Employee Selector Custom Feature]] configuration. Returns&lt;br /&gt;
null if Custom Feature not enabled.Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot; : &amp;quot;Select this option, if you want to find an available time with any of the employees&amp;quot;,&lt;br /&gt;
    &amp;quot;hide_other_units&amp;quot; : 1, // 1 or 0&lt;br /&gt;
    &amp;quot;image&amp;quot; : null,&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;Any employee&amp;quot;,&lt;br /&gt;
    &amp;quot;picture_path&amp;quot; : null,&lt;br /&gt;
    &amp;quot;random_selection&amp;quot; : 0 // 1 or 0&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getAvailableTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available time intervals for all service providers for given period, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{[&#039;2016-03-04&#039;: [&#039;1&#039;: [[&#039;09:00:00&#039;,&#039;09:30:00&#039;], [&#039;11:15:00&#039;,&#039;14:45:00&#039;]] , ...], ...]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableUnits($eventId, $dateTime, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service or empty array if all units are not allowed.Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getBooking ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBooking($id, $sign)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$sign&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with details information about booking. &amp;lt;code&amp;gt;$sign&amp;lt;/code&amp;gt; parameter must be a string created&lt;br /&gt;
with formula: &amp;lt;code&amp;gt;md5($bookingId . $bookingHash . $secretKey)&amp;lt;/code&amp;gt;. You can get &amp;lt;code&amp;gt;$bookingHash&amp;lt;/code&amp;gt;&lt;br /&gt;
value as result of &amp;lt;code&amp;gt;[[Company public service methods#book|book]]&amp;lt;/code&amp;gt; API method call. Method return an error with code -32080&lt;br /&gt;
(Appointment couldn&#039;t be found) if record with specified id not exists. Methods returns an error with code -32085&lt;br /&gt;
(Signature error) if &amp;lt;code&amp;gt;$sign&amp;lt;/code&amp;gt; parameter is wrong.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getBookingCart ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingCart($bookingIds)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingIds&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns cart information by bookings ids.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;cart_id&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cart_hash&amp;lt;/code&amp;gt; is used to create secure signature to confirm cart payment.&lt;br /&gt;
* &amp;lt;code&amp;gt;amount&amp;lt;/code&amp;gt; - is total amount to payment&lt;br /&gt;
* &amp;lt;code&amp;gt;currency&amp;lt;/code&amp;gt; - cart currency&lt;br /&gt;
* &amp;lt;code&amp;gt;cart&amp;lt;/code&amp;gt; - contains cart items. You can use them to provide information for payment system. Each item is object with following fields:&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - booking id&lt;br /&gt;
* &amp;lt;code&amp;gt;event_id&amp;lt;/code&amp;gt; - service id&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; - event name + start date time (use it to provide cart information for payment system)&lt;br /&gt;
* &amp;lt;code&amp;gt;price&amp;lt;/code&amp;gt; - booking price&lt;br /&gt;
* &amp;lt;code&amp;gt;qty&amp;lt;/code&amp;gt; - qty of bookings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getBookingDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingDetails($id, $sign)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$sign&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with details information about booking. &amp;lt;code&amp;gt;$sign&amp;lt;/code&amp;gt; parameter must be a string created&lt;br /&gt;
with formula: &amp;lt;code&amp;gt;md5($bookingId . $bookingHash . $secretKey)&amp;lt;/code&amp;gt;. You can get &amp;lt;code&amp;gt;$bookingHash&amp;lt;/code&amp;gt;&lt;br /&gt;
value as result of &amp;lt;code&amp;gt;[[Company public service methods#book|book]]&amp;lt;/code&amp;gt; API method call. Method return an error with code -32080&lt;br /&gt;
(Appointment couldn&#039;t be found) if record with specified id not exists. Methods returns an error with code -32085&lt;br /&gt;
(Signature error) if &amp;lt;code&amp;gt;$sign&amp;lt;/code&amp;gt; parameter is wrong.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getCategoriesList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCategoriesList($isPublic)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company categories list if [[Custom Features#Service Categories|Service Categories Custom Feature]] is activated. Returns&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[Company public service methods#isPluginActivated|isPluginActivated(&#039;event_category&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getCompanyInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about company. See [[Company public service methods#getCompanyInfo response|example of response]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParam ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam($key)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$key&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns mixed.&lt;br /&gt;
&lt;br /&gt;
Returns company config value for key. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[Company public service methods#Company params|list of available keys]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParams ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParams($keys)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$keys&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s config values for specified keys as key-value map. For non-existent and not-allowed param keys&lt;br /&gt;
it will return &#039;&#039;&#039;false&#039;&#039;&#039; as result. A different set of keys available for public API and for company&lt;br /&gt;
administration API. See [[Company public service methods#Company params|list of available keys]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getCompanyTimezoneOffset ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyTimezoneOffset()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns company timezone offset and company timezone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getCountryPhoneCodes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryPhoneCodes()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns country phone code list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getEventList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getEventList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s events list. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as key&lt;br /&gt;
and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property of&lt;br /&gt;
event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getFirstWorkingDay ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFirstWorkingDay($unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns first working date for unit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getLocationsList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLocationsList($isPublic, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns available locations for company if Custom Feature [[Custom Features#Multiple Locations|Multiple locations Custom Feature]] is activated. Return&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[Company public service methods#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
This method accepts two boolean flags as parameters. If &#039;&#039;&#039;isPublic&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; then method returns only&lt;br /&gt;
public locations. If &#039;&#039;&#039;asArray&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; method returns list of objects. Otherwise method returns&lt;br /&gt;
map of objects with object id as key. You can omit both parameters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getPaymentProcessorConfig ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPaymentProcessorConfig($paymentProcessor)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$paymentProcessor&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns payment processor config&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!----=== getPluginPromoInfoByCode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginPromoInfoByCode($code)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about Rewards and referrals promotion by promotion code. You can get promotion code&lt;br /&gt;
using &amp;lt;code&amp;gt;[[Catalogue#getPromotionList|getPromotionList]]&amp;lt;/code&amp;gt; API method. If promotion record with specified&lt;br /&gt;
code not found then method returns an empty array (an empty object). If [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]]&lt;br /&gt;
not enabled then method returns an error with code -32001 (Custom Feature is not activated). Use&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;promo&#039;)]]&amp;lt;/code&amp;gt; API method call to check if Custom Feature enabled.See [[#getPromotionList response|example]] of &amp;lt;code&amp;gt;getPromotionList&amp;lt;/code&amp;gt; API method response. Please note that&lt;br /&gt;
response contains a list of services for wich promotion discount can be applied (&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; key).--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getPluginStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginStatuses($pluginNames)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginNames&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. See [[Company public service methods#Custom Features.27 identifiers|list of available Custom Feature&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getPromocodeInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPromocodeInfo($code)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array|null.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about promotion by promotion code. Returns null if no promotions with&lt;br /&gt;
specified code were not found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---=== getPromotionRewardInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionRewardInfo($commonPromotionId, $clientId, $hash)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$commonPromotionId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$hash&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array|null.&lt;br /&gt;
&lt;br /&gt;
Returns promotion reward by common promotion id, client id and hash.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getRecurringDatetimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringDatetimes($eventId, $unitId, $date, $time, $recurringData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$time&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of dates for recurring booking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getReservedTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTime($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns map of objects for each day in specified date range. The key of the result mps is a date string. The value&lt;br /&gt;
is an array of two objects. Both objects contains list of time slots for type &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; and type&lt;br /&gt;
&amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type represents time slots working time but already booked&lt;br /&gt;
by clients. Nobody knows what kind of data represented by &amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt; type. Please don&#039;t use it.If [[Custom Features#Calendar Sync|Calendar Sync Custom Feature]] is enabled then object with&lt;br /&gt;
&amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type will contain not empty list of time slots marked as busy in Google calendar. Call&lt;br /&gt;
&amp;lt;code&amp;gt;[[Company public service methods#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; API method to check if  Calendar Sync Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;2016-02-05&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;dd&amp;quot;: [], // time slots from Google calendar&lt;br /&gt;
        &amp;quot;events&amp;quot;: [ // reserved time slots&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;16:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;17:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;reserved_time&amp;quot;,&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;events&amp;quot;: [&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;09:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;10:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;not_worked_time&amp;quot;&lt;br /&gt;
     }],&lt;br /&gt;
     ...&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getReservedTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer|Array &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns not available time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [{&#039;reserved_time&#039;: [{&#039;from&#039;: &#039;14:00&#039;, &#039;to&#039;: &#039;16:30&#039;}], &#039;type&#039;: &amp;quot;reserved_time&amp;quot;}, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getStartTimeMatrix ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStartTimeMatrix($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available start time, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [&#039;09:00:00&#039;, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If locations Custom Feature activated for company you should pass a list as $unitID parameter for filter results with&lt;br /&gt;
units available only for selected location. See [[Custom Features#Multiple Locations|Multiple Locations]] Custom Feature description for&lt;br /&gt;
more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getTimeframe ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimeframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Need to change interval (timeframe)|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getTimelineType ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimelineType()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company calendar layout type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getUnitList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of service performers. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as&lt;br /&gt;
key and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property&lt;br /&gt;
of event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getUserLicenseText ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUserLicenseText()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns user license text if user license Custom Feature is turned on,&lt;br /&gt;
otherwise throws exception&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getWorkCalendar ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkCalendar($year, $month, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$year&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$month&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns company work schedule as array&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-01&#039;: {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;21:00:00&#039;, &#039;is_day_off&#039;: &#039;0&#039;}, &#039;2014-05-02&#039;: ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysInfo($from, $to, $unitId, $eventId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an information about working hours and break times for specified service and performer for a period&lt;br /&gt;
between two dates. If only service specified then information about performer (or performers) will be taken from&lt;br /&gt;
service configuration. Method returns a list of objects for each date in specified period. Count of objects in&lt;br /&gt;
list depends on break times. For example if performer works from 9:00 till 19:00 with one hour break at 13:00 method&lt;br /&gt;
returns:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&#039;2014-05-14&#039; : [&lt;br /&gt;
    {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;13:00:00&#039;},&lt;br /&gt;
    {&#039;from&#039;: &#039;14:00:00&#039;, &#039;to&#039;: &#039;19:00:00&#039;}&lt;br /&gt;
  ] }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning! Method can return a time string &#039;24:00:00&#039; as right edge of time range. This happens in case if time&lt;br /&gt;
range finishes on midnight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== hasUpcommingPromotions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;hasUpcommingPromotions()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Returns availability of active promotions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== isPaymentRequired ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;isPaymentRequired($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Returns true if [[Custom Features#Accept Payments|Accept Payments]] Custom Feature activated and event with specified id has&lt;br /&gt;
configured price. If no parameters specified then method returns true if payments Custom Feature activated and at least&lt;br /&gt;
one event has configured price. Otherwise returns false.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== isPluginActivated ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;isPluginActivated($pluginName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginName&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. &amp;lt;var&amp;gt;$pluginName&amp;lt;/var&amp;gt; parameter is a Custom Feature identifier.See [[Custom Features]] page for full Custom Features description. See [[Company public service methods#Custom Features.27 identifiers|list of available Custom Features&#039; names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== validatePayment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;validatePayment($paymentInfo, $cartId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$paymentInfo&#039;&#039;&#039; mixed &lt;br /&gt;
* &#039;&#039;&#039;$cartId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Validate application payment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== validatePromoCode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;validatePromoCode($code, $startDateTime, $eventId, $count, $clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; array|Object &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Validate promotion code.Returns true in case promocode is valid otherwise throws exception with error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Constants==&lt;br /&gt;
&lt;br /&gt;
=== Error codes ===&lt;br /&gt;
&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
* -32001 Custom Feature is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32015 Passed event id is not reccuren&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Intake forms values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 &lt;br /&gt;
*: An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Company params===&lt;br /&gt;
&lt;br /&gt;
Use these values to get configuration params for company with &amp;lt;code&amp;gt;[[Company public service methods#getCompanyParam|getCompanyParam]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
&lt;br /&gt;
=====General params=====&lt;br /&gt;
&lt;br /&gt;
* allow_event_breaktime_break&lt;br /&gt;
*: &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; if service can extend over breaktime&lt;br /&gt;
* allow_event_day_break&lt;br /&gt;
*: &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; if service can extend over closing hours&lt;br /&gt;
* changable_prefix_by_client&lt;br /&gt;
* company_timezone&lt;br /&gt;
* date_format&lt;br /&gt;
* fixed_country_prefix&lt;br /&gt;
* max_group_bookings&lt;br /&gt;
*: [[Custom Features#Group Bookings|Group Bookings Custom Feature]] configuration. Integer. &lt;br /&gt;
* max_time_till_event&lt;br /&gt;
* min_time_till_event&lt;br /&gt;
* monday_is_first_day&lt;br /&gt;
*: &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; if monday specified as first day of the week in company&#039;s settings&lt;br /&gt;
* require_fields&lt;br /&gt;
*: Client&#039;s data fields required for booking. String. Possible values: &lt;br /&gt;
** phone - phone number is required&lt;br /&gt;
** email - email address is required&lt;br /&gt;
** email_phone - phone number and email address are required&lt;br /&gt;
* send_notifications_in_client_timezone&lt;br /&gt;
* show_booking_page_in_client_timezone&lt;br /&gt;
* time_format&lt;br /&gt;
* timeframe&lt;br /&gt;
*: Returns company&#039;s timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes. You can find more details about timeframe [[Need to change interval (timeframe)|here]]&lt;br /&gt;
* user_public_timeline_type&lt;br /&gt;
*: String. Can be one of the following values:&lt;br /&gt;
** flexible&lt;br /&gt;
** modern&lt;br /&gt;
** flexible_week&lt;br /&gt;
** modern_week&lt;br /&gt;
** classes&lt;br /&gt;
** classic&lt;br /&gt;
*: Please note that &amp;lt;code&amp;gt;classic&amp;lt;/code&amp;gt; timeline type is deprecated and not supported anymore.&lt;br /&gt;
&lt;br /&gt;
=====Accept Payments Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom Features#Accept Payments|Accept Payments Custom Feature configuration]].&lt;br /&gt;
&lt;br /&gt;
* allow_delay_payment&lt;br /&gt;
*: Allow delay payment option. Boolean.&lt;br /&gt;
* hide_sale_tax&lt;br /&gt;
*: Hide sales tax option. Boolean.&lt;br /&gt;
* payment_timeout&lt;br /&gt;
*: Payment timeout option. String (&amp;quot;5 minutes&amp;quot;, &amp;quot;1 hour&amp;quot;, ...)&lt;br /&gt;
* sale_tax&lt;br /&gt;
*: Sales tax option. Integer. You should divide by 100 to get percent value.&lt;br /&gt;
&lt;br /&gt;
=====Cancellation Policy Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom Features#Cancellation Policy|Cancellation Policy Custom Feature configuration]].&lt;br /&gt;
&lt;br /&gt;
* cancelation_policy_text&lt;br /&gt;
*: Full policy text. String.&lt;br /&gt;
* cancelation_policy_label&lt;br /&gt;
*: Short label for confirmation control. String.&lt;br /&gt;
* cancelation_policy_period&lt;br /&gt;
*: Time period value. String (&amp;quot;5 minutes&amp;quot;, &amp;quot;1 hour&amp;quot;, ...)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====Custom Features&#039; identifiers====&lt;br /&gt;
&lt;br /&gt;
Custom Feature identifier is a string constant which represents a Custom Feature in system. These constants used in &amp;lt;code&amp;gt;[[Company public service methods#isPluginActivated|isPluginActivated]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[Company public service methods#getPluginStatuses|getPluginStatuses]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
&lt;br /&gt;
* advanced_notification&lt;br /&gt;
*:Book Soon notification system&lt;br /&gt;
* any_unit&lt;br /&gt;
*:Any Employee selector&lt;br /&gt;
* api&lt;br /&gt;
*:API &lt;br /&gt;
* approve_booking&lt;br /&gt;
*:Approve booking&lt;br /&gt;
* back_to_site&lt;br /&gt;
*:Take me back home&lt;br /&gt;
* contact_widget&lt;br /&gt;
*:Contact widget&lt;br /&gt;
* counter&lt;br /&gt;
*:Visitor Counter&lt;br /&gt;
* custom_css&lt;br /&gt;
*:Custom CSS&lt;br /&gt;
* data_security&lt;br /&gt;
*:Clean history&lt;br /&gt;
* description&lt;br /&gt;
*:HTML description field for events&lt;br /&gt;
* event_category&lt;br /&gt;
*:Service categories&lt;br /&gt;
* event_field&lt;br /&gt;
*:Intake forms&lt;br /&gt;
* facebookImage&lt;br /&gt;
*:Facebook client info&lt;br /&gt;
* financial_dashboard&lt;br /&gt;
*:Insights&lt;br /&gt;
* google_analytics&lt;br /&gt;
*:Google Adwords and analytics&lt;br /&gt;
* google_calendar_export&lt;br /&gt;
*:Calendar sync&lt;br /&gt;
* group_booking&lt;br /&gt;
*:Group bookings&lt;br /&gt;
* hipaa&lt;br /&gt;
*:HIPAA &lt;br /&gt;
* limit_bookings&lt;br /&gt;
*:Limit bookings&lt;br /&gt;
* location&lt;br /&gt;
*:Multiple locations&lt;br /&gt;
* mobile_app_backend&lt;br /&gt;
*:Mobile application &lt;br /&gt;
* multiple_booking&lt;br /&gt;
*:Multiple bookings &lt;br /&gt;
* news&lt;br /&gt;
*:News &lt;br /&gt;
* paid_events&lt;br /&gt;
*:Accept payments &lt;br /&gt;
&amp;lt;!--* promo&lt;br /&gt;
*:Rewards and Referrals--&amp;gt;&lt;br /&gt;
* recap&lt;br /&gt;
*:Daily report &lt;br /&gt;
* secure&lt;br /&gt;
*:SSL &lt;br /&gt;
* status&lt;br /&gt;
*:Status &lt;br /&gt;
* unit_colors&lt;br /&gt;
*:Providers color coding &lt;br /&gt;
* user_license&lt;br /&gt;
*:Terms and conditions &lt;br /&gt;
* cancelation_policy&lt;br /&gt;
*:Cancellation Policy&lt;br /&gt;
&lt;br /&gt;
See [[Custom Features]] page for description for each .&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====book response====&lt;br /&gt;
&lt;br /&gt;
[[Company public service methods#book|&amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt;]] API method returns an object which contains list of objects with short description of newly create bookings. Method returns only one item in &#039;bookings&#039; array for regular appointment and more than one item for recurring or batch bookings.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;require_confirm&amp;quot;:false,&lt;br /&gt;
    &amp;quot;bookings&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;434&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-30 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-30 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc14ca&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;785cb8cce316e64765b94c05a635f4be&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;435&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-31 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-31 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc2pge&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;8b92d634541bfd93c0830967e56f4653&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;436&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-04 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-04 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc3urb&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;cd22a0bf183f7350e595988dd2486e5b&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;437&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-05 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-05 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc44d9&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;53f98ff4e4a0323aa907156c59c99362&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;batch_type&amp;quot;:&amp;quot;batch_recurrent_booking&amp;quot;,&lt;br /&gt;
    &amp;quot;recurrent_batch_id&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;batch_hash&amp;quot;:&amp;quot;357178bce290381bb7235080941ec143&amp;quot;&lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====getCompanyInfo response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[Company public service methods#getCompanyInfo|getCompanyInfo]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;login&amp;quot;: &amp;quot;pierrecoetzee&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;Pierre&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;address1&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;address2&amp;quot;: &amp;quot;Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;city&amp;quot;: &amp;quot;London&amp;quot;,&lt;br /&gt;
    &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
    &amp;quot;lat&amp;quot;: &amp;quot;51.500435&amp;quot;,&lt;br /&gt;
    &amp;quot;lng&amp;quot;: &amp;quot;-0.129811&amp;quot;,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;pierre.coe@gmail.com&amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;web&amp;quot;: null,&lt;br /&gt;
    &amp;quot;skip_address&amp;quot;: null,&lt;br /&gt;
    &amp;quot;logo&amp;quot;: null,&lt;br /&gt;
    &amp;quot;address&amp;quot;: &amp;quot;GB, London, Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;description_text&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;timezone&amp;quot;: &amp;quot;Europe London&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_client_timezone&amp;quot;: false,&lt;br /&gt;
    &amp;quot;timeframe&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
    &amp;quot;timeline_type&amp;quot;: &amp;quot;modern_week&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_day_break&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_breaktime_break&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;timeline_type&amp;lt;/code&amp;gt; field can be one the following values:&lt;br /&gt;
&lt;br /&gt;
* flexible&lt;br /&gt;
* modern&lt;br /&gt;
* flexible_week&lt;br /&gt;
* modern_week&lt;br /&gt;
* classic&lt;br /&gt;
* classes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that &amp;lt;code&amp;gt;classic&amp;lt;/code&amp;gt; timeline type is deprecated and not supported anymore.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; field contains raw data of company&#039;s description which can include HTML tags. &amp;lt;code&amp;gt;description_text&amp;lt;/code&amp;gt; field contains only text information without HTML tags.&lt;br /&gt;
&lt;br /&gt;
For information about &amp;lt;code&amp;gt;timeframe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timezone&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;allow_event_day_break&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;allow_event_breaktime_break&amp;lt;/code&amp;gt; see [[Company public service methods#Company params|Company params section]].&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!----====getPluginPromoInfoByCode response====&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;yvuvugum&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;We are offering [service\/services] with an amazing [discount]% discount! We are running this deal for a limited time only.&amp;quot;,&lt;br /&gt;
    &amp;quot;discount&amp;quot;: &amp;quot;99.9999&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;expired_date&amp;quot;: &amp;quot;2016-01-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_date&amp;quot;: &amp;quot;2015-12-31&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_time&amp;quot;: &amp;quot;09:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_time&amp;quot;: &amp;quot;22:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_usage_count&amp;quot;: &amp;quot;20&amp;quot;,&lt;br /&gt;
    &amp;quot;fineprint_text&amp;quot;: &amp;quot;Deal is limited for new clients only. Reward is claimable [client_claim_times_number] times per client. Deal is only claimable for the locations specified. Deal is cannot be combined with any other promotion. Must be redeemed prior to the expiration date shown on the deal.&amp;quot;,&lt;br /&gt;
    &amp;quot;redemption_text&amp;quot;: &amp;quot;Present your confirmation code when you want to redeem your deal. You may either to print off your confirmation email or show your confirmation code by loggin into Simplybook on your mobile phone\/Pc.\r\n[promocode]\r\n[discount]\r\n[reward]\r\n[referal_qty]&amp;quot;,&lt;br /&gt;
    &amp;quot;headline&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;: null,&lt;br /&gt;
    &amp;quot;allow_customer_count&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_catalogue&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;: &amp;quot;active&amp;quot;,&lt;br /&gt;
    &amp;quot;plugin_promo_message_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;common_promotion_id&amp;quot;: &amp;quot;132&amp;quot;,&lt;br /&gt;
    &amp;quot;service_ids&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; contains a list of services for wich promotion discount can be applied.--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
====getLocationsList response====&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;1&amp;quot;: {&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;title&amp;quot;: &amp;quot;location 1&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: null,&lt;br /&gt;
        &amp;quot;picture&amp;quot;: &amp;quot;e1e9409fe9682c78b2f8f294dc151af0.jpg&amp;quot;,&lt;br /&gt;
        &amp;quot;address1&amp;quot;: null,&lt;br /&gt;
        &amp;quot;address2&amp;quot;: &amp;quot;Saint Margaret Street&amp;quot;,&lt;br /&gt;
        &amp;quot;city&amp;quot;: &amp;quot;London&amp;quot;,&lt;br /&gt;
        &amp;quot;zip&amp;quot;: null,&lt;br /&gt;
        &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
        &amp;quot;lat&amp;quot;: &amp;quot;51.50013000000000000000&amp;quot;,&lt;br /&gt;
        &amp;quot;lng&amp;quot;: &amp;quot;-0.12630500000000000000&amp;quot;,&lt;br /&gt;
        &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;position&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;file_id&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
        &amp;quot;picture_sub_path&amp;quot;: &amp;quot;\/image_files&amp;quot;,&lt;br /&gt;
        &amp;quot;picture_path&amp;quot;: &amp;quot;\/uploads\/mycompany\/image_files\/small\/e1e9409fe9682c78b2f8f294dc151af0.jpg&amp;quot;,&lt;br /&gt;
        &amp;quot;units&amp;quot;: [&amp;quot;1&amp;quot;, &amp;quot;3&amp;quot;, &amp;quot;4&amp;quot;, &amp;quot;5&amp;quot;] &lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;position&amp;lt;/code&amp;gt; property of location object used for order list. &amp;lt;code&amp;gt;units&amp;lt;/code&amp;gt; array contains list of performers ids associated with location.&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=SBPay.me&amp;diff=17039</id>
		<title>SBPay.me</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=SBPay.me&amp;diff=17039"/>
		<updated>2025-05-15T15:27:36Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=SBPay.me - SimplyBook.me&lt;br /&gt;
|description=Use SBPay.me for secure online payments. Streamline transactions and ensure payment reliability. Learn more here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
[https://sbpay.me SBPay.me] allows you to choose from a broad range of payment processors to handle payments from your clients. Via the [https://sbpay.me SBPay.me] platform, you can then manage your payments and clients, prolong or cancel subscriptions, refund and access extensive reporting.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[SBPay.me integration| SBPay.me integration with SimplyBook.me]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[QuickBooks integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Xero integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[FreshBooks integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Zapier integration wit SBPay.me|Zapier integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[SBPay.me User Roles]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=SBPay.me&amp;diff=17038</id>
		<title>SBPay.me</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=SBPay.me&amp;diff=17038"/>
		<updated>2025-05-15T15:27:27Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=SBPay.me - SimplyBook.me&lt;br /&gt;
|description=Use SBPay.me for secure online payments. Streamline transactions and ensure payment reliability. Learn more here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
[https://sbpay.me SBPay.me] allows you to choose from a broad range of payment processors to handle payments from your clients. Via the [https://sbpay.me SBPay.me] platform, you can then manage your payments and clients, prolong or cancel subscriptions, refund and access extensive reporting.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[SBPay.me integration| SBPay.me integration with SimplyBook.me]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[QuickBooks integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Xero integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[FreshBooks integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Zapier integration wit SBPay.me|Zapier integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[SBPay.me User Roles]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Zapier_integration_wit_SBPay.me&amp;diff=17009</id>
		<title>Zapier integration wit SBPay.me</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Zapier_integration_wit_SBPay.me&amp;diff=17009"/>
		<updated>2025-05-15T15:26:18Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Zapier integration with SBPay.me - SimplyBook.me&lt;br /&gt;
|description=Integrate SBPay.me with Zapier for automated payment processing. Simplify transactions and workflows. Learn how here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
[[File:Zapier-Logo-upd.png|50px|left]] Connect SBPay.me to 2,000+ other web services with the help of [https://zapier.com/apps Zapier] integration. Set up the connections in minutes with no coding to automate your day-to-day tasks and build workflows between important apps. Choose SBPay.me as a trigger app and set the transactions and invoices data to the systems that you frequently use.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
==Available triggers:==&lt;br /&gt;
* Payment Created;&lt;br /&gt;
* Payment Confirmed (paid);&lt;br /&gt;
* Payment Refunded;&lt;br /&gt;
* Invoice Finalized (prepared for payment);&lt;br /&gt;
* Invoice Paid;&lt;br /&gt;
* Invoice Voided.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
==Available data (payment triggers):==&lt;br /&gt;
* transaction id;&lt;br /&gt;
* transaction description;&lt;br /&gt;
* customer information (id, name, email, phone, address, custom fields);&lt;br /&gt;
* transaction lines (item name, description, price, quantity, discounts, taxes);&lt;br /&gt;
* currency;&lt;br /&gt;
* amount;&lt;br /&gt;
* payment system;&lt;br /&gt;
* payment method;&lt;br /&gt;
* date and time when the document was created;&lt;br /&gt;
* date and time when the document was changed last time;&lt;br /&gt;
* payment status;&lt;br /&gt;
* payment type;&lt;br /&gt;
* whether the payment was refunded by payment system;&lt;br /&gt;
* whether the payment was confirmed manually by SBPay.me user;&lt;br /&gt;
* taxes information;&lt;br /&gt;
* tags.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
==Available data (invoice triggers):==&lt;br /&gt;
* invoice number;&lt;br /&gt;
* invoice description;&lt;br /&gt;
* customer information (id, name, email, phone, address, custom fields);&lt;br /&gt;
* invoice lines (item name, description, price, quantity, discounts, taxes);&lt;br /&gt;
* currency;&lt;br /&gt;
* amount;&lt;br /&gt;
* date and time when the document was created;&lt;br /&gt;
* date and time when the document was changed last time;&lt;br /&gt;
* invoice due date;&lt;br /&gt;
* invoice status;&lt;br /&gt;
* invoice type;&lt;br /&gt;
* whether there are any has credit notes related to that invoice;&lt;br /&gt;
* total amount without taxes;&lt;br /&gt;
* total discount amount;&lt;br /&gt;
* taxes information;&lt;br /&gt;
* tags.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
==How to set:==&lt;br /&gt;
1. Enable Zapier custom feature in your SBPay.me interface.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Zapier sbpay enable path.png|1200px|center|link=https://help.simplybook.me/images/7/75/Zapier_sbpay_enable_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
2. Navigate to &#039;&#039;&#039;Users&#039;&#039;&#039; page and click on &#039;&#039;&#039;New user&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Sbpay new user path.png|1200px|center|link=https://help.simplybook.me/images/c/cc/Sbpay_new_user_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
3. Create one more users with &#039;&#039;&#039;Admin&#039;&#039;&#039; access level. (use &#039;&#039;&#039;New user&#039;&#039;&#039; button to save the new user).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Create new admin user sbpay.png|1200px|center|link=https://help.simplybook.me/images/0/0a/Create_new_admin_user_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
4. Log in as this admin user to your SBPay.me account.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
5. Log in to your [https://zapier.com/app/login Zapier account] or create a new one.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
6. Create new Zap by clicking on &#039;&#039;&#039;Create&#039;&#039;&#039; and then &#039;&#039;&#039;Zaps&#039;&#039;&#039; button in Zapier interface.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Create new zap path.png|1200px|center|link=https://help.simplybook.me/images/2/27/Create_new_zap_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
7. Look for SBPay.me in Trigger step or use [https://zapier.com/apps/sbpayme/integrations this link].&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Sbpay app in zapier.png|1200px|center|link=https://help.simplybook.me/images/d/dd/Sbpay_app_in_zapier.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
8. Select the desirable trigger.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Select trigger in Zapier.png|1200px|center|link=https://help.simplybook.me/images/8/86/Select_trigger_in_Zapier.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
9. Proceed to connecting SBPay.me account.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Connect sbpay account path in zapier.png|1200px|center|link=https://help.simplybook.me/images/8/82/Connect_sbpay_account_path_in_zapier.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
10. In the popup window that appears please enter your SBPay.me &#039;&#039;&#039;company login&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Company login to sbpay.png|1200px|center|link=https://help.simplybook.me/images/b/ba/Company_login_to_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
11. In the SBPay.me interface navigate to &#039;&#039;&#039;Settings&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;API keys&#039;&#039;&#039; and click on &amp;quot;View keys&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Api keys path sbpay.png|1200px|center|link=https://help.simplybook.me/images/7/7f/Api_keys_path_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
12. Confirm the action by entering your password and you will get access to the keys.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
13. Copy &#039;&#039;&#039;Authentication Token&#039;&#039;&#039; and paste it to the corresponding field on Zapier side.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Copy sbpay api keys.png|1200px|center|link=https://help.simplybook.me/images/0/06/Copy_sbpay_api_keys.png]]&lt;br /&gt;
[[File:Auth token to sbpay.png|1200px|center|link=https://help.simplybook.me/images/0/0e/Auth_token_to_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
14. Click Continue to test this step.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
15. Proceed to adding the Action step and search for the app you wish to connect SBPay.me to.&amp;lt;br&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
[[File:Zapier action example.png|1200px|center|link=https://help.simplybook.me/images/4/4a/Zapier_action_example.png]]&lt;br /&gt;
[[File:Zapier variables use example.png|1200px|center|link=https://help.simplybook.me/images/2/24/Zapier_variables_use_example.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
16. Connect this application account and setup the template using the available data mentioned above.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
17. You can test this step operation as well if necessary or skip it.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
18. Finish the setup, add Zap name and turn it on.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
==Synchronize old records==&lt;br /&gt;
You can synchronize old records for the selected event and date range to trigger the action in Zapier.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Please follow the next steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Navigate to &#039;&#039;&#039;Custom features&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Zapier&#039;&#039;&#039; in your SBPay.me interface.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
2. In &#039;&#039;&#039;Sync records for event&#039;&#039;&#039; please select the events type that you would like to sync and the date range in the next fields.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Zapier sbpay sync old events select type.png|1200px|center|link=https://help.simplybook.me/images/d/d9/Zapier_sbpay_sync_old_events_select_type.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
3. Click &#039;&#039;&#039;Synchronize records&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Zapeir sbpay sync old records option.png|1200px|center|link=https://help.simplybook.me/images/9/99/Zapeir_sbpay_sync_old_records_option.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Zapier_integration_wit_SBPay.me&amp;diff=17008</id>
		<title>Zapier integration wit SBPay.me</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Zapier_integration_wit_SBPay.me&amp;diff=17008"/>
		<updated>2025-05-15T15:26:08Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Zapier integration with SBPay.me - SimplyBook.me&lt;br /&gt;
|description=Integrate SBPay.me with Zapier for automated payment processing. Simplify transactions and workflows. Learn how here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
[[File:Zapier-Logo-upd.png|50px|left]] Connect SBPay.me to 2,000+ other web services with the help of [https://zapier.com/apps Zapier] integration. Set up the connections in minutes with no coding to automate your day-to-day tasks and build workflows between important apps. Choose SBPay.me as a trigger app and set the transactions and invoices data to the systems that you frequently use.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Available triggers:==&lt;br /&gt;
* Payment Created;&lt;br /&gt;
* Payment Confirmed (paid);&lt;br /&gt;
* Payment Refunded;&lt;br /&gt;
* Invoice Finalized (prepared for payment);&lt;br /&gt;
* Invoice Paid;&lt;br /&gt;
* Invoice Voided.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Available data (payment triggers):==&lt;br /&gt;
* transaction id;&lt;br /&gt;
* transaction description;&lt;br /&gt;
* customer information (id, name, email, phone, address, custom fields);&lt;br /&gt;
* transaction lines (item name, description, price, quantity, discounts, taxes);&lt;br /&gt;
* currency;&lt;br /&gt;
* amount;&lt;br /&gt;
* payment system;&lt;br /&gt;
* payment method;&lt;br /&gt;
* date and time when the document was created;&lt;br /&gt;
* date and time when the document was changed last time;&lt;br /&gt;
* payment status;&lt;br /&gt;
* payment type;&lt;br /&gt;
* whether the payment was refunded by payment system;&lt;br /&gt;
* whether the payment was confirmed manually by SBPay.me user;&lt;br /&gt;
* taxes information;&lt;br /&gt;
* tags.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Available data (invoice triggers):==&lt;br /&gt;
* invoice number;&lt;br /&gt;
* invoice description;&lt;br /&gt;
* customer information (id, name, email, phone, address, custom fields);&lt;br /&gt;
* invoice lines (item name, description, price, quantity, discounts, taxes);&lt;br /&gt;
* currency;&lt;br /&gt;
* amount;&lt;br /&gt;
* date and time when the document was created;&lt;br /&gt;
* date and time when the document was changed last time;&lt;br /&gt;
* invoice due date;&lt;br /&gt;
* invoice status;&lt;br /&gt;
* invoice type;&lt;br /&gt;
* whether there are any has credit notes related to that invoice;&lt;br /&gt;
* total amount without taxes;&lt;br /&gt;
* total discount amount;&lt;br /&gt;
* taxes information;&lt;br /&gt;
* tags.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==How to set:==&lt;br /&gt;
1. Enable Zapier custom feature in your SBPay.me interface.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Zapier sbpay enable path.png|1200px|center|link=https://help.simplybook.me/images/7/75/Zapier_sbpay_enable_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
2. Navigate to &#039;&#039;&#039;Users&#039;&#039;&#039; page and click on &#039;&#039;&#039;New user&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Sbpay new user path.png|1200px|center|link=https://help.simplybook.me/images/c/cc/Sbpay_new_user_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
3. Create one more users with &#039;&#039;&#039;Admin&#039;&#039;&#039; access level. (use &#039;&#039;&#039;New user&#039;&#039;&#039; button to save the new user).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Create new admin user sbpay.png|1200px|center|link=https://help.simplybook.me/images/0/0a/Create_new_admin_user_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
4. Log in as this admin user to your SBPay.me account.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
5. Log in to your [https://zapier.com/app/login Zapier account] or create a new one.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
6. Create new Zap by clicking on &#039;&#039;&#039;Create&#039;&#039;&#039; and then &#039;&#039;&#039;Zaps&#039;&#039;&#039; button in Zapier interface.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Create new zap path.png|1200px|center|link=https://help.simplybook.me/images/2/27/Create_new_zap_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
7. Look for SBPay.me in Trigger step or use [https://zapier.com/apps/sbpayme/integrations this link].&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Sbpay app in zapier.png|1200px|center|link=https://help.simplybook.me/images/d/dd/Sbpay_app_in_zapier.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
8. Select the desirable trigger.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Select trigger in Zapier.png|1200px|center|link=https://help.simplybook.me/images/8/86/Select_trigger_in_Zapier.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
9. Proceed to connecting SBPay.me account.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Connect sbpay account path in zapier.png|1200px|center|link=https://help.simplybook.me/images/8/82/Connect_sbpay_account_path_in_zapier.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
10. In the popup window that appears please enter your SBPay.me &#039;&#039;&#039;company login&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Company login to sbpay.png|1200px|center|link=https://help.simplybook.me/images/b/ba/Company_login_to_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
11. In the SBPay.me interface navigate to &#039;&#039;&#039;Settings&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;API keys&#039;&#039;&#039; and click on &amp;quot;View keys&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Api keys path sbpay.png|1200px|center|link=https://help.simplybook.me/images/7/7f/Api_keys_path_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
12. Confirm the action by entering your password and you will get access to the keys.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
13. Copy &#039;&#039;&#039;Authentication Token&#039;&#039;&#039; and paste it to the corresponding field on Zapier side.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Copy sbpay api keys.png|1200px|center|link=https://help.simplybook.me/images/0/06/Copy_sbpay_api_keys.png]]&lt;br /&gt;
[[File:Auth token to sbpay.png|1200px|center|link=https://help.simplybook.me/images/0/0e/Auth_token_to_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
14. Click Continue to test this step.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
15. Proceed to adding the Action step and search for the app you wish to connect SBPay.me to.&amp;lt;br&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
[[File:Zapier action example.png|1200px|center|link=https://help.simplybook.me/images/4/4a/Zapier_action_example.png]]&lt;br /&gt;
[[File:Zapier variables use example.png|1200px|center|link=https://help.simplybook.me/images/2/24/Zapier_variables_use_example.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
16. Connect this application account and setup the template using the available data mentioned above.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
17. You can test this step operation as well if necessary or skip it.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
18. Finish the setup, add Zap name and turn it on.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Synchronize old records==&lt;br /&gt;
You can synchronize old records for the selected event and date range to trigger the action in Zapier.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Please follow the next steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Navigate to &#039;&#039;&#039;Custom features&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Zapier&#039;&#039;&#039; in your SBPay.me interface.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
2. In &#039;&#039;&#039;Sync records for event&#039;&#039;&#039; please select the events type that you would like to sync and the date range in the next fields.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Zapier sbpay sync old events select type.png|1200px|center|link=https://help.simplybook.me/images/d/d9/Zapier_sbpay_sync_old_events_select_type.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
3. Click &#039;&#039;&#039;Synchronize records&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Zapeir sbpay sync old records option.png|1200px|center|link=https://help.simplybook.me/images/9/99/Zapeir_sbpay_sync_old_records_option.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Zapier_integration_wit_SBPay.me&amp;diff=17007</id>
		<title>Zapier integration wit SBPay.me</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Zapier_integration_wit_SBPay.me&amp;diff=17007"/>
		<updated>2025-05-15T15:25:41Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Zapier integration with SBPay.me - SimplyBook.me&lt;br /&gt;
|description=Integrate SBPay.me with Zapier for automated payment processing. Simplify transactions and workflows. Learn how here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
[[File:Zapier-Logo-upd.png|50px|left]] Connect SBPay.me to 2,000+ other web services with the help of [https://zapier.com/apps Zapier] integration. Set up the connections in minutes with no coding to automate your day-to-day tasks and build workflows between important apps. Choose SBPay.me as a trigger app and set the transactions and invoices data to the systems that you frequently use.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Available triggers:==&lt;br /&gt;
* Payment Created;&lt;br /&gt;
* Payment Confirmed (paid);&lt;br /&gt;
* Payment Refunded;&lt;br /&gt;
* Invoice Finalized (prepared for payment);&lt;br /&gt;
* Invoice Paid;&lt;br /&gt;
* Invoice Voided.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Available data (payment triggers):==&lt;br /&gt;
* transaction id;&lt;br /&gt;
* transaction description;&lt;br /&gt;
* customer information (id, name, email, phone, address, custom fields);&lt;br /&gt;
* transaction lines (item name, description, price, quantity, discounts, taxes);&lt;br /&gt;
* currency;&lt;br /&gt;
* amount;&lt;br /&gt;
* payment system;&lt;br /&gt;
* payment method;&lt;br /&gt;
* date and time when the document was created;&lt;br /&gt;
* date and time when the document was changed last time;&lt;br /&gt;
* payment status;&lt;br /&gt;
* payment type;&lt;br /&gt;
* whether the payment was refunded by payment system;&lt;br /&gt;
* whether the payment was confirmed manually by SBPay.me user;&lt;br /&gt;
* taxes information;&lt;br /&gt;
* tags.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Available data (invoice triggers):==&lt;br /&gt;
* invoice number;&lt;br /&gt;
* invoice description;&lt;br /&gt;
* customer information (id, name, email, phone, address, custom fields);&lt;br /&gt;
* invoice lines (item name, description, price, quantity, discounts, taxes);&lt;br /&gt;
* currency;&lt;br /&gt;
* amount;&lt;br /&gt;
* date and time when the document was created;&lt;br /&gt;
* date and time when the document was changed last time;&lt;br /&gt;
* invoice due date;&lt;br /&gt;
* invoice status;&lt;br /&gt;
* invoice type;&lt;br /&gt;
* whether there are any has credit notes related to that invoice;&lt;br /&gt;
* total amount without taxes;&lt;br /&gt;
* total discount amount;&lt;br /&gt;
* taxes information;&lt;br /&gt;
* tags.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==How to set:==&lt;br /&gt;
1. Enable Zapier custom feature in your SBPay.me interface.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Zapier sbpay enable path.png|1200px|center|link=https://help.simplybook.me/images/7/75/Zapier_sbpay_enable_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
2. Navigate to &#039;&#039;&#039;Users&#039;&#039;&#039; page and click on &#039;&#039;&#039;New user&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Sbpay new user path.png|1200px|center|link=https://help.simplybook.me/images/c/cc/Sbpay_new_user_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;be&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
3. Create one more users with &#039;&#039;&#039;Admin&#039;&#039;&#039; access level. (use &#039;&#039;&#039;New user&#039;&#039;&#039; button to save the new user).&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Create new admin user sbpay.png|1200px|center|link=https://help.simplybook.me/images/0/0a/Create_new_admin_user_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
4. Log in as this admin user to your SBPay.me account.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
5. Log in to your [https://zapier.com/app/login Zapier account] or create a new one.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
6. Create new Zap by clicking on &#039;&#039;&#039;Create&#039;&#039;&#039; and then &#039;&#039;&#039;Zaps&#039;&#039;&#039; button in Zapier interface.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Create new zap path.png|1200px|center|link=https://help.simplybook.me/images/2/27/Create_new_zap_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
7. Look for SBPay.me in Trigger step or use [https://zapier.com/apps/sbpayme/integrations this link].&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Sbpay app in zapier.png|1200px|center|link=https://help.simplybook.me/images/d/dd/Sbpay_app_in_zapier.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
8. Select the desirable trigger.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Select trigger in Zapier.png|1200px|center|link=https://help.simplybook.me/images/8/86/Select_trigger_in_Zapier.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
9. Proceed to connecting SBPay.me account.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Connect sbpay account path in zapier.png|1200px|center|link=https://help.simplybook.me/images/8/82/Connect_sbpay_account_path_in_zapier.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
10. In the popup window that appears please enter your SBPay.me &#039;&#039;&#039;company login&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Company login to sbpay.png|1200px|center|link=https://help.simplybook.me/images/b/ba/Company_login_to_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
11. In the SBPay.me interface navigate to &#039;&#039;&#039;Settings&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;API keys&#039;&#039;&#039; and click on &amp;quot;View keys&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Api keys path sbpay.png|1200px|center|link=https://help.simplybook.me/images/7/7f/Api_keys_path_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
12. Confirm the action by entering your password and you will get access to the keys.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
13. Copy &#039;&#039;&#039;Authentication Token&#039;&#039;&#039; and paste it to the corresponding field on Zapier side.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Copy sbpay api keys.png|1200px|center|link=https://help.simplybook.me/images/0/06/Copy_sbpay_api_keys.png]]&lt;br /&gt;
[[File:Auth token to sbpay.png|1200px|center|link=https://help.simplybook.me/images/0/0e/Auth_token_to_sbpay.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
14. Click Continue to test this step.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
15. Proceed to adding the Action step and search for the app you wish to connect SBPay.me to.&amp;lt;br&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
[[File:Zapier action example.png|1200px|center|link=https://help.simplybook.me/images/4/4a/Zapier_action_example.png]]&lt;br /&gt;
[[File:Zapier variables use example.png|1200px|center|link=https://help.simplybook.me/images/2/24/Zapier_variables_use_example.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
16. Connect this application account and setup the template using the available data mentioned above.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
17. You can test this step operation as well if necessary or skip it.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
18. Finish the setup, add Zap name and turn it on.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Synchronize old records==&lt;br /&gt;
You can synchronize old records for the selected event and date range to trigger the action in Zapier.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Please follow the next steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Navigate to &#039;&#039;&#039;Custom features&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Zapier&#039;&#039;&#039; in your SBPay.me interface.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
2. In &#039;&#039;&#039;Sync records for event&#039;&#039;&#039; please select the events type that you would like to sync and the date range in the next fields.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Zapier sbpay sync old events select type.png|1200px|center|link=https://help.simplybook.me/images/d/d9/Zapier_sbpay_sync_old_events_select_type.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
3. Click &#039;&#039;&#039;Synchronize records&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Zapeir sbpay sync old records option.png|1200px|center|link=https://help.simplybook.me/images/9/99/Zapeir_sbpay_sync_old_records_option.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=FreshBooks_integration&amp;diff=16988</id>
		<title>FreshBooks integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=FreshBooks_integration&amp;diff=16988"/>
		<updated>2025-05-15T15:23:13Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Frequently Asked Questions about Revenue Management Software &amp;amp; Billing | SBPay.me&lt;br /&gt;
|description=Integrate FreshBooks to manage invoicing and payments easily. Sync financial data for seamless tracking. Get started now!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, accounting integration, freshbooks, freshbooks integration, invoicing integration, freshbooks sbpay,&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Freshbooks-logo.png|left]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
The [https://sbpay.me/en/ SBPay.me] and [https://www.freshbooks.com FreshBooks] integration streamlines your invoicing process by automatically generating invoices or other income payments in FreshBooks for every completed order. It will help you optimize your financial workflows and ensure accurate recording of your orders. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
Video tutorial [[File:Youtube-Logo.png|link=https://www.youtube.com/watch?v=Cr-OPRJFviw]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The invoices created through FreshBooks integration will show only the total amount, omitting details about taxes and discounts. On the other hand, SBpay.me invoices will include comprehensive information, such as item prices, any applicable taxes or discounts, and the total amount.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;It&#039;s not possible to automatically create a Refund Receipt entry in FreshBooks when a refund is processed on the SBPay.me side.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
;How to set and use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
1. Navigate to the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; page within your SBPay.me interface and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Enable&amp;lt;/span&amp;gt; button next to Freshbooks.&lt;br /&gt;
[[File:Freshbooks enable path.png|1200px|center|link=https://help.simplybook.me/images/d/d4/Freshbooks_enable_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
2. Once enabled, click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Connect&amp;lt;/span&amp;gt; button to proceed with setup.&lt;br /&gt;
[[File:Freshbooks connect path.png|1200px|center|link=https://help.simplybook.me/images/7/70/Freshbooks_connect_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
3.  You&#039;ll be prompted to log in to your FreshBooks account to establish the connection. If you&#039;re already logged in to FreshBooks in the same browser, the connection will be automatic once you click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Allow&amp;lt;/span&amp;gt; button.&amp;lt;br&amp;gt;&lt;br /&gt;
If needed, you will find SBPay.me in the FreshBooks &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Apps&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Connected Apps&amp;lt;/span&amp;gt; section.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
4. Once the systems are linked, you&#039;ll gain access to the integration settings within the SBPay.me interface.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
5. Select the operation type. There are two options: &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Payments: Other Income&amp;lt;/span&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
If you choose Invoice, each paid order will generate both an invoice and the associated payment in FreshBooks. Alternatively, selecting &amp;quot;Payments: Other Income&amp;quot; will only create an &amp;quot;Other Income&amp;quot; entry on the FreshBooks side once the order is paid.&lt;br /&gt;
[[File:Freshbooks operation type.png|1200px|center|link=https://help.simplybook.me/images/d/dc/Freshbooks_operation_type.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
6. By default, the system is set to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;skip zero amount transactions&amp;lt;/span&amp;gt; so that they are not being sent to FreshBooks. For example, the transactions where a discount was applied and the resulting total is 0. You can maintain this setting if you don&#039;t require these records in FreshBooks. However, if it&#039;s crucial for your bookkeeping, you can disable this feature to include such transactions.&lt;br /&gt;
[[File:Freshbooks skip zero amount.png|1200px|center|link=https://help.simplybook.me/images/b/be/Freshbooks_skip_zero_amount.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
7. You can also include the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice Notes&amp;lt;/span&amp;gt; and the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice Terms and Conditions&amp;lt;/span&amp;gt; in the invoice document. &lt;br /&gt;
[[File:Freshbooks invoice notes and terms.png|1200px|center|link=https://help.simplybook.me/images/a/ac/Freshbooks_invoice_notes_and_terms.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
8. In the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email&amp;lt;/span&amp;gt; section you can disable or leave the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Send Invoice&amp;lt;/span&amp;gt; option &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;On&amp;lt;/span&amp;gt;. If enabled, you can specify the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice Email Subject&amp;lt;/span&amp;gt; as well as the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice Email Body.&amp;lt;/span&amp;gt; It is possible to add the supported variables to the email body which will be replaced with the actual information when being sent to the clients. If the email subject or body is not specified, the default FreshBooks template will be used. &lt;br /&gt;
[[File:Freshbooks invoice template.png|1200px|center|link=https://help.simplybook.me/images/3/30/Freshbooks_invoice_template.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
9. In the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Client&amp;lt;/span&amp;gt; section you can adjust client information such as &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Last Name&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Client Internal Note&amp;lt;/span&amp;gt; upon the creation of a new client entry in FreshBooks.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
:- You have the option to activate the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Client Last Name&amp;lt;/span&amp;gt; from &amp;lt;span style=&amp;quot;background-color:#cdeffc; padding:5px; border-radius:5px;&amp;quot;&amp;gt;[[Client_Fields_Custom_Feature|SimplyBook.me Client Fields]].&amp;lt;/span&amp;gt; This feature is useful if you have the corresponding custom feature enabled in the SimplyBook.me&#039;s account and set it for obtaining the last name of your clients.&amp;lt;br&amp;gt;&lt;br /&gt;
:Ensure that you input the precise field name matching the one used in SimplyBook.me&#039;s Client Fields Custom Feature for the last name.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
:- &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Client Internal Note&amp;lt;/span&amp;gt; option allows the addition of a personalized prefix to a client&#039;s internal note in FreshBooks. It&#039;s important to note that modifying the prefix won&#039;t affect existing FreshBooks clients. Only the new clients will be created in FreshBooks with the updated note. A client note is essential for the integration to work correctly. By default, the internal note includes &#039;&#039;&#039;SBPay.me, {CURRENCY}.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
:You have the flexibility to change the &#039;&#039;&#039;SBPay.me&#039;&#039;&#039; prefix or exclude it. If omitted, only the currency will be appended to the client&#039;s note.&lt;br /&gt;
[[File:Freshbooks client data settings.png|1200px|center|link=https://help.simplybook.me/images/f/f9/Freshbooks_client_data_settings.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=FreshBooks_integration&amp;diff=16987</id>
		<title>FreshBooks integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=FreshBooks_integration&amp;diff=16987"/>
		<updated>2025-05-15T15:22:58Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Frequently Asked Questions about Revenue Management Software &amp;amp; Billing | SBPay.me&lt;br /&gt;
|description=Integrate FreshBooks to manage invoicing and payments easily. Sync financial data for seamless tracking. Get started now!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, accounting integration, freshbooks, freshbooks integration, invoicing integration, freshbooks sbpay,&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Freshbooks-logo.png|left]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The [https://sbpay.me/en/ SBPay.me] and [https://www.freshbooks.com FreshBooks] integration streamlines your invoicing process by automatically generating invoices or other income payments in FreshBooks for every completed order. It will help you optimize your financial workflows and ensure accurate recording of your orders. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Video tutorial [[File:Youtube-Logo.png|link=https://www.youtube.com/watch?v=Cr-OPRJFviw]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The invoices created through FreshBooks integration will show only the total amount, omitting details about taxes and discounts. On the other hand, SBpay.me invoices will include comprehensive information, such as item prices, any applicable taxes or discounts, and the total amount.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;It&#039;s not possible to automatically create a Refund Receipt entry in FreshBooks when a refund is processed on the SBPay.me side.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
;How to set and use&lt;br /&gt;
&lt;br /&gt;
1. Navigate to the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; page within your SBPay.me interface and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Enable&amp;lt;/span&amp;gt; button next to Freshbooks.&lt;br /&gt;
[[File:Freshbooks enable path.png|1200px|center|link=https://help.simplybook.me/images/d/d4/Freshbooks_enable_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
2. Once enabled, click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Connect&amp;lt;/span&amp;gt; button to proceed with setup.&lt;br /&gt;
[[File:Freshbooks connect path.png|1200px|center|link=https://help.simplybook.me/images/7/70/Freshbooks_connect_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
3.  You&#039;ll be prompted to log in to your FreshBooks account to establish the connection. If you&#039;re already logged in to FreshBooks in the same browser, the connection will be automatic once you click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Allow&amp;lt;/span&amp;gt; button.&amp;lt;br&amp;gt;&lt;br /&gt;
If needed, you will find SBPay.me in the FreshBooks &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Apps&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Connected Apps&amp;lt;/span&amp;gt; section.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
4. Once the systems are linked, you&#039;ll gain access to the integration settings within the SBPay.me interface.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
5. Select the operation type. There are two options: &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Payments: Other Income&amp;lt;/span&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
If you choose Invoice, each paid order will generate both an invoice and the associated payment in FreshBooks. Alternatively, selecting &amp;quot;Payments: Other Income&amp;quot; will only create an &amp;quot;Other Income&amp;quot; entry on the FreshBooks side once the order is paid.&lt;br /&gt;
[[File:Freshbooks operation type.png|1200px|center|link=https://help.simplybook.me/images/d/dc/Freshbooks_operation_type.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
6. By default, the system is set to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;skip zero amount transactions&amp;lt;/span&amp;gt; so that they are not being sent to FreshBooks. For example, the transactions where a discount was applied and the resulting total is 0. You can maintain this setting if you don&#039;t require these records in FreshBooks. However, if it&#039;s crucial for your bookkeeping, you can disable this feature to include such transactions.&lt;br /&gt;
[[File:Freshbooks skip zero amount.png|1200px|center|link=https://help.simplybook.me/images/b/be/Freshbooks_skip_zero_amount.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
7. You can also include the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice Notes&amp;lt;/span&amp;gt; and the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice Terms and Conditions&amp;lt;/span&amp;gt; in the invoice document. &lt;br /&gt;
[[File:Freshbooks invoice notes and terms.png|1200px|center|link=https://help.simplybook.me/images/a/ac/Freshbooks_invoice_notes_and_terms.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
8. In the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Email&amp;lt;/span&amp;gt; section you can disable or leave the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Send Invoice&amp;lt;/span&amp;gt; option &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;On&amp;lt;/span&amp;gt;. If enabled, you can specify the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice Email Subject&amp;lt;/span&amp;gt; as well as the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice Email Body.&amp;lt;/span&amp;gt; It is possible to add the supported variables to the email body which will be replaced with the actual information when being sent to the clients. If the email subject or body is not specified, the default FreshBooks template will be used. &lt;br /&gt;
[[File:Freshbooks invoice template.png|1200px|center|link=https://help.simplybook.me/images/3/30/Freshbooks_invoice_template.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
9. In the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Client&amp;lt;/span&amp;gt; section you can adjust client information such as &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Last Name&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Client Internal Note&amp;lt;/span&amp;gt; upon the creation of a new client entry in FreshBooks.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
:- You have the option to activate the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Client Last Name&amp;lt;/span&amp;gt; from &amp;lt;span style=&amp;quot;background-color:#cdeffc; padding:5px; border-radius:5px;&amp;quot;&amp;gt;[[Client_Fields_Custom_Feature|SimplyBook.me Client Fields]].&amp;lt;/span&amp;gt; This feature is useful if you have the corresponding custom feature enabled in the SimplyBook.me&#039;s account and set it for obtaining the last name of your clients.&amp;lt;br&amp;gt;&lt;br /&gt;
:Ensure that you input the precise field name matching the one used in SimplyBook.me&#039;s Client Fields Custom Feature for the last name.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
:- &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Client Internal Note&amp;lt;/span&amp;gt; option allows the addition of a personalized prefix to a client&#039;s internal note in FreshBooks. It&#039;s important to note that modifying the prefix won&#039;t affect existing FreshBooks clients. Only the new clients will be created in FreshBooks with the updated note. A client note is essential for the integration to work correctly. By default, the internal note includes &#039;&#039;&#039;SBPay.me, {CURRENCY}.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
:You have the flexibility to change the &#039;&#039;&#039;SBPay.me&#039;&#039;&#039; prefix or exclude it. If omitted, only the currency will be appended to the client&#039;s note.&lt;br /&gt;
[[File:Freshbooks client data settings.png|1200px|center|link=https://help.simplybook.me/images/f/f9/Freshbooks_client_data_settings.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Xero_integration&amp;diff=16970</id>
		<title>Xero integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Xero_integration&amp;diff=16970"/>
		<updated>2025-05-15T15:21:02Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Xero integration SimplyBook.me - Sbpay.me&lt;br /&gt;
|description=Combine SimplyBook.me with Xero for streamlined invoicing and financial management. Enable this integration today!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, plugins, custom features, additional functionality, online payments, accounting integrations, xero integration, xero sbpay&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
[[File:Icon xero.png|left]]&lt;br /&gt;
Integrating [https://sbpay.me SBPay.me] with [https://www.xero.com Xero] allows you to facilitate the flow of financial data between your booking system and accounting software. The integration allows you to export invoices from SBPay.me and import them directly to your Xero account.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#e7e3f9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Video tutorial [[File:Youtube-Logo.png|link=https://www.youtube.com/watch?v=ZdWpuWef4UY]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please note!&#039;&#039;&#039;&lt;br /&gt;
* The process is not fully automated. You will need to export the invoices from the SBPay.me Invoices page and import them on the Xero side.&amp;lt;br&amp;gt;&lt;br /&gt;
(we have prepared the specific file format to make it easy)&lt;br /&gt;
* If standard Xero import functionality is used, invoices will be imported as &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Draft&amp;lt;/span&amp;gt;. For invoices to be &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Approved&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Paid&amp;lt;/span&amp;gt;, [https://conversiontoolbox.xero.com/ Xero Conversion Toolbox] should be used. &lt;br /&gt;
* Tax amount is not exported since Xero imports final amounts as tax exclusive. Taxes are calculated and added to the final amounts within the Xero platform itself.&lt;br /&gt;
* Xero Custom Feature will work only if the &#039;&#039;&#039;Invoices&#039;&#039;&#039; custom feature is enabled in the SBPay.me &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
;How to set and use?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
1. Navigate to the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; page within your SBPay.me interface and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Enable&amp;lt;/span&amp;gt; button next to Xero. &lt;br /&gt;
[[File:Xero enable path.png|1200px|center|link=https://help.simplybook.me/images/1/16/Xero_enable_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
2. Choose if the invoice should be imported with &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;multiple lines.&amp;lt;/span&amp;gt; This option determines how the information from your invoices is structured when transferred from SBPay.me to Xero.&amp;lt;br&amp;gt;&lt;br /&gt;
If enabled, each row in the export file will correspond to a specific invoice line item. This means that detailed information about each item within an order is organized in separate rows of the resulting .csv file.&amp;lt;br&amp;gt;&lt;br /&gt;
If disabled, all invoice line items within an order are combined into a single line. This results in a concise summary of the invoice with the total amount displayed in one row of the .csv file.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Xero invoice with multiple lines.png|1200px|center|link=https://help.simplybook.me/images/2/2b/Xero_invoice_with_multiple_lines.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
3. Insert &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Xero Invoice Branding Theme Name.&amp;lt;/span&amp;gt; In Xero, a branding theme name is the name of the invoice template that determines the layout and design of your invoices.&lt;br /&gt;
[[File:Xero branding theme name.png|1200px|center|link=https://help.simplybook.me/images/6/6d/Xero_branding_theme_name.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
4. &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add Payment Data.&amp;lt;/span&amp;gt; If enabled, additional payment data, including the amount paid, Xero account code, invoice paid date, and payment exchange rate will be exported to the .csv file.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
By including this payment data during the export process, you ensure that Xero has all the necessary information to accurately record payments against the corresponding invoices.&lt;br /&gt;
[[File:Xero add payment data.png|1200px|center|link=https://help.simplybook.me/images/f/fc/Xero_add_payment_data.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
5. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Xero Account Base Currency.&amp;lt;/span&amp;gt; In Xero, the account base currency  is the primary currency in which your financial records are kept. It serves as the standard currency for your accounting and reporting purposes. Specify it if you accept payments in multiple currencies or if the SBPay.me invoices currency is different from the Xero account base currency. &lt;br /&gt;
[[File:Xero base currency.png|1200px|center|link=https://help.simplybook.me/images/6/6f/Xero_base_currency.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
6. For paid invoices, specify the relevant &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Deposit Account Code&amp;lt;/span&amp;gt; as it appears in the chart of accounts in Xero. This ensures that transactions are automatically categorized into the appropriate account within Xero. Alternatively, you can leave it blank to manually specify the account code during the invoices import.&lt;br /&gt;
[[File:Xero deposit account code.png|1200px|center|link=https://help.simplybook.me/images/e/ea/Xero_deposit_account_code.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
7. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax Type.&amp;lt;/span&amp;gt; Enter the exact tax rate name from your Xero settings to ensure that each transaction is correctly linked to the corresponding tax rate.&lt;br /&gt;
[[File:Xero tax type.png|1200px|center|link=https://help.simplybook.me/images/b/b5/Xero_tax_type.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
8. After enabling and configuring the Xero Custom Feature, you can now go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoices&amp;lt;/span&amp;gt; in your SBPay account and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Xero Export&amp;lt;/span&amp;gt; button to generate the .csv file which can be imported on the Xero side.&lt;br /&gt;
[[File:Xero export file path.png|1200px|center|link=https://help.simplybook.me/images/6/61/Xero_export_file_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Xero_integration&amp;diff=16969</id>
		<title>Xero integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Xero_integration&amp;diff=16969"/>
		<updated>2025-05-15T15:20:43Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Xero integration SimplyBook.me - Sbpay.me&lt;br /&gt;
|description=Combine SimplyBook.me with Xero for streamlined invoicing and financial management. Enable this integration today!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, plugins, custom features, additional functionality, online payments, accounting integrations, xero integration, xero sbpay&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
[[File:Icon xero.png|left]]&lt;br /&gt;
Integrating [https://sbpay.me SBPay.me] with [https://www.xero.com Xero] allows you to facilitate the flow of financial data between your booking system and accounting software. The integration allows you to export invoices from SBPay.me and import them directly to your Xero account.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#e7e3f9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Video tutorial [[File:Youtube-Logo.png|link=https://www.youtube.com/watch?v=ZdWpuWef4UY]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please note!&#039;&#039;&#039;&lt;br /&gt;
* The process is not fully automated. You will need to export the invoices from the SBPay.me Invoices page and import them on the Xero side.&amp;lt;br&amp;gt;&lt;br /&gt;
(we have prepared the specific file format to make it easy)&lt;br /&gt;
* If standard Xero import functionality is used, invoices will be imported as &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Draft&amp;lt;/span&amp;gt;. For invoices to be &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Approved&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Paid&amp;lt;/span&amp;gt;, [https://conversiontoolbox.xero.com/ Xero Conversion Toolbox] should be used. &lt;br /&gt;
* Tax amount is not exported since Xero imports final amounts as tax exclusive. Taxes are calculated and added to the final amounts within the Xero platform itself.&lt;br /&gt;
* Xero Custom Feature will work only if the &#039;&#039;&#039;Invoices&#039;&#039;&#039; custom feature is enabled in the SBPay.me &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
;How to set and use?&lt;br /&gt;
&lt;br /&gt;
1. Navigate to the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; page within your SBPay.me interface and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Enable&amp;lt;/span&amp;gt; button next to Xero. &lt;br /&gt;
[[File:Xero enable path.png|1200px|center|link=https://help.simplybook.me/images/1/16/Xero_enable_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
2. Choose if the invoice should be imported with &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;multiple lines.&amp;lt;/span&amp;gt; This option determines how the information from your invoices is structured when transferred from SBPay.me to Xero.&amp;lt;br&amp;gt;&lt;br /&gt;
If enabled, each row in the export file will correspond to a specific invoice line item. This means that detailed information about each item within an order is organized in separate rows of the resulting .csv file.&amp;lt;br&amp;gt;&lt;br /&gt;
If disabled, all invoice line items within an order are combined into a single line. This results in a concise summary of the invoice with the total amount displayed in one row of the .csv file.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Xero invoice with multiple lines.png|1200px|center|link=https://help.simplybook.me/images/2/2b/Xero_invoice_with_multiple_lines.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
3. Insert &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Xero Invoice Branding Theme Name.&amp;lt;/span&amp;gt; In Xero, a branding theme name is the name of the invoice template that determines the layout and design of your invoices.&lt;br /&gt;
[[File:Xero branding theme name.png|1200px|center|link=https://help.simplybook.me/images/6/6d/Xero_branding_theme_name.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
4. &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add Payment Data.&amp;lt;/span&amp;gt; If enabled, additional payment data, including the amount paid, Xero account code, invoice paid date, and payment exchange rate will be exported to the .csv file.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
By including this payment data during the export process, you ensure that Xero has all the necessary information to accurately record payments against the corresponding invoices.&lt;br /&gt;
[[File:Xero add payment data.png|1200px|center|link=https://help.simplybook.me/images/f/fc/Xero_add_payment_data.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
5. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Xero Account Base Currency.&amp;lt;/span&amp;gt; In Xero, the account base currency  is the primary currency in which your financial records are kept. It serves as the standard currency for your accounting and reporting purposes. Specify it if you accept payments in multiple currencies or if the SBPay.me invoices currency is different from the Xero account base currency. &lt;br /&gt;
[[File:Xero base currency.png|1200px|center|link=https://help.simplybook.me/images/6/6f/Xero_base_currency.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
6. For paid invoices, specify the relevant &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Deposit Account Code&amp;lt;/span&amp;gt; as it appears in the chart of accounts in Xero. This ensures that transactions are automatically categorized into the appropriate account within Xero. Alternatively, you can leave it blank to manually specify the account code during the invoices import.&lt;br /&gt;
[[File:Xero deposit account code.png|1200px|center|link=https://help.simplybook.me/images/e/ea/Xero_deposit_account_code.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
7. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax Type.&amp;lt;/span&amp;gt; Enter the exact tax rate name from your Xero settings to ensure that each transaction is correctly linked to the corresponding tax rate.&lt;br /&gt;
[[File:Xero tax type.png|1200px|center|link=https://help.simplybook.me/images/b/b5/Xero_tax_type.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
8. After enabling and configuring the Xero Custom Feature, you can now go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoices&amp;lt;/span&amp;gt; in your SBPay account and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Xero Export&amp;lt;/span&amp;gt; button to generate the .csv file which can be imported on the Xero side.&lt;br /&gt;
[[File:Xero export file path.png|1200px|center|link=https://help.simplybook.me/images/6/61/Xero_export_file_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Xero_integration&amp;diff=16968</id>
		<title>Xero integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Xero_integration&amp;diff=16968"/>
		<updated>2025-05-15T15:20:25Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Xero integration SimplyBook.me - Sbpay.me&lt;br /&gt;
|description=Combine SimplyBook.me with Xero for streamlined invoicing and financial management. Enable this integration today!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, plugins, custom features, additional functionality, online payments, accounting integrations, xero integration, xero sbpay&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
[[File:Icon xero.png|left]]&lt;br /&gt;
Integrating [https://sbpay.me SBPay.me] with [https://www.xero.com Xero] allows you to facilitate the flow of financial data between your booking system and accounting software. The integration allows you to export invoices from SBPay.me and import them directly to your Xero account.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#e7e3f9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Video tutorial [[File:Youtube-Logo.png|link=https://www.youtube.com/watch?v=ZdWpuWef4UY]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please note!&#039;&#039;&#039;&lt;br /&gt;
* The process is not fully automated. You will need to export the invoices from the SBPay.me Invoices page and import them on the Xero side.&amp;lt;br&amp;gt;&lt;br /&gt;
(we have prepared the specific file format to make it easy)&lt;br /&gt;
* If standard Xero import functionality is used, invoices will be imported as &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Draft&amp;lt;/span&amp;gt;. For invoices to be &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Approved&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Paid&amp;lt;/span&amp;gt;, [https://conversiontoolbox.xero.com/ Xero Conversion Toolbox] should be used. &lt;br /&gt;
* Tax amount is not exported since Xero imports final amounts as tax exclusive. Taxes are calculated and added to the final amounts within the Xero platform itself.&lt;br /&gt;
* Xero Custom Feature will work only if the &#039;&#039;&#039;Invoices&#039;&#039;&#039; custom feature is enabled in the SBPay.me &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
;How to set and use?&lt;br /&gt;
&lt;br /&gt;
1. Navigate to the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; page within your SBPay.me interface and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Enable&amp;lt;/span&amp;gt; button next to Xero. &lt;br /&gt;
[[File:Xero enable path.png|1200px|center|link=https://help.simplybook.me/images/1/16/Xero_enable_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
2. Choose if the invoice should be imported with &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;multiple lines.&amp;lt;/span&amp;gt; This option determines how the information from your invoices is structured when transferred from SBPay.me to Xero.&amp;lt;br&amp;gt;&lt;br /&gt;
If enabled, each row in the export file will correspond to a specific invoice line item. This means that detailed information about each item within an order is organized in separate rows of the resulting .csv file.&amp;lt;br&amp;gt;&lt;br /&gt;
If disabled, all invoice line items within an order are combined into a single line. This results in a concise summary of the invoice with the total amount displayed in one row of the .csv file.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Xero invoice with multiple lines.png|1200px|center|link=https://help.simplybook.me/images/2/2b/Xero_invoice_with_multiple_lines.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
3. Insert &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Xero Invoice Branding Theme Name.&amp;lt;/span&amp;gt; In Xero, a branding theme name is the name of the invoice template that determines the layout and design of your invoices.&lt;br /&gt;
[[File:Xero branding theme name.png|1200px|center|link=https://help.simplybook.me/images/6/6d/Xero_branding_theme_name.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
4. &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Add Payment Data.&amp;lt;/span&amp;gt; If enabled, additional payment data, including the amount paid, Xero account code, invoice paid date, and payment exchange rate will be exported to the .csv file.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
By including this payment data during the export process, you ensure that Xero has all the necessary information to accurately record payments against the corresponding invoices.&lt;br /&gt;
[[File:Xero add payment data.png|1200px|center|link=https://help.simplybook.me/images/f/fc/Xero_add_payment_data.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
5. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Xero Account Base Currency.&amp;lt;/span&amp;gt; In Xero, the account base currency  is the primary currency in which your financial records are kept. It serves as the standard currency for your accounting and reporting purposes. Specify it if you accept payments in multiple currencies or if the SBPay.me invoices currency is different from the Xero account base currency. &lt;br /&gt;
[[File:Xero base currency.png|1200px|center|link=https://help.simplybook.me/images/6/6f/Xero_base_currency.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
6. For paid invoices, specify the relevant &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Deposit Account Code&amp;lt;/span&amp;gt; as it appears in the chart of accounts in Xero. This ensures that transactions are automatically categorized into the appropriate account within Xero. Alternatively, you can leave it blank to manually specify the account code during the invoices import.&lt;br /&gt;
[[File:Xero deposit account code.png|1200px|center|link=https://help.simplybook.me/images/e/ea/Xero_deposit_account_code.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
7. Select &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax Type.&amp;lt;/span&amp;gt; Enter the exact tax rate name from your Xero settings to ensure that each transaction is correctly linked to the corresponding tax rate.&lt;br /&gt;
[[File:Xero tax type.png|1200px|center|link=https://help.simplybook.me/images/b/b5/Xero_tax_type.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
8. After enabling and configuring the Xero Custom Feature, you can now go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoices&amp;lt;/span&amp;gt; in your SBPay account and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Xero Export&amp;lt;/span&amp;gt; button to generate the .csv file which can be imported on the Xero side.&lt;br /&gt;
[[File:Xero export file path.png|1200px|center|link=https://help.simplybook.me/images/6/61/Xero_export_file_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;be&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=QuickBooks_integration&amp;diff=16948</id>
		<title>QuickBooks integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=QuickBooks_integration&amp;diff=16948"/>
		<updated>2025-05-15T15:19:01Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=QuickBooks integration - SBPay.me&lt;br /&gt;
|description=Integrate QuickBooks with SimplyBook.me for seamless accounting and invoicing. Follow the guide to enable this feature!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, accounting integration, quickbooks, quickbooks integration, invoicing integration, quickbooks sbpay, &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
[[File:Icon quickbooks.png|left]] This easy-to-set [https://sbpay.me SBPay.me] integration with [https://quickbooks.intuit.com/eu/pricing/ Quickbooks] allows you to automatically create invoices or sales receipts in QuickBooks for each paid order and send them to customers.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Video tutorial [[File:Youtube-Logo.png|link=https://www.youtube.com/watch?v=vx1WibTZ9_4]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The invoices which get generated on the QuickBooks side as the result of the integration won&#039;t include information about taxes and discounts, they will contain only the total amount. While the SimplyBook invoices contain information about the item price taxes/discounts (if any), and the total amount.&amp;lt;/span&amp;gt;&lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Multi-currency must be enabled in QuickBooks for transactional documents involving different currencies.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==How to set and use== &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
1. Navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; page within your SBPay.me interface and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Enable button next to QuickBooks. &lt;br /&gt;
[[File:Quickbooks enable path.png|1200px|center|link=https://help.simplybook.me/images/1/13/Quickbooks_enable_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
2. Once enabled, click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Connect&amp;lt;/span&amp;gt; button to proceed with setup.&lt;br /&gt;
[[File:Quickbooks connect path.png|1200px|center|link=https://help.simplybook.me/images/6/63/Quickbooks_connect_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
3. You will be prompted to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;log in&amp;lt;/span&amp;gt; to your Quickbooks account to get connected. Or, if you are already logged in there in your browser, the connection will be set automatically after confirmation. You will also see SBPay.me in the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Apps&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;My Apps&amp;lt;/span&amp;gt; section of QuickBooks.  &lt;br /&gt;
[[File:Confirm quickbooks connection.png|1200px|center|link=https://help.simplybook.me/images/f/fc/Confirm_quickbooks_connection.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
4. After the systems are connected you will get access to the integration settings in the SBPay.me interface. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
5. Choose the transactional document type: There are two options: &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Sales Receipt&amp;lt;/span&amp;gt;. &lt;br /&gt;
Invoice triggers the creation of both an invoice and its corresponding payment within QuickBooks for each fulfilled order on the SimplyBook side. Thus, you will see two records (Payment and Invoice) on the QuickBooks account associated with the same transaction. &lt;br /&gt;
Sales Receipt results in the generation of a sales receipt (Payment) solely upon successful payment for the order.&lt;br /&gt;
[[File:Quickbooks select document type.png|1200px|center|link=https://help.simplybook.me/images/1/1b/Quickbooks_select_document_type.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
6. You can add a &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Deposit Account Name&amp;lt;/span&amp;gt; and select the deposit &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Account Type&amp;lt;/span&amp;gt;.&lt;br /&gt;
It should be either &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Other Current Assets&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Bank (Cash on Hand)&amp;lt;/span&amp;gt; type.&lt;br /&gt;
If deposit account is not specified QuickBooks will use a default account called Undeposited Funds.&lt;br /&gt;
[[File:Quickbooks deposit account.png|1200px|center|link=https://help.simplybook.me/images/7/75/Quickbooks_deposit_account.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
7. &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Skipping zero amount transactions&amp;lt;/span&amp;gt; is enabled by default to exclude zero amount orders from being transferred to QuickBooks. For example, the transactions where the discount was applied and the resulting total is 0.&lt;br /&gt;
You can keep it as it is if you do not need to see such records in Quickbooks or disable if it is important to have them for your bookkeeping.&lt;br /&gt;
[[File:Quickbooks skip zero transactions.png|1200px|center|link=https://help.simplybook.me/images/2/27/Quickbooks_skip_zero_transactions.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
8. You can activate the automatic &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;creation of a Refund Receipt&amp;lt;/span&amp;gt; entry in QuickBooks when a refund is made on the SBPay.me side. Please ensure to include the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Deposit Account Name&amp;lt;/span&amp;gt; if you decide to enable this option as it is mandatory for refunds synchronisation.&lt;br /&gt;
[[File:Quickbooks rrefund receipts.png|1200px|center|link=https://help.simplybook.me/images/5/57/Quickbooks_rrefund_receipts.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
9. There is also an option to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;send a transactional document&amp;lt;/span&amp;gt;. If enabled, the client will also receive an invoice from QuickBooks in addition to other active notifications.&amp;lt;br&amp;gt;&lt;br /&gt;
You can also add a note to be reflected in the Quickbooks invoices.&lt;br /&gt;
[[File:Quickbooks send transactional email.png|1200px|center|link=https://help.simplybook.me/images/c/c3/Quickbooks_send_transactional_email.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
==Taxes==&lt;br /&gt;
To activate this option and pass taxes information to Quickbooks please check the &amp;quot;Add tax info to transaction document&amp;quot; in the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Sales tax&amp;lt;/span&amp;gt; in your SBPay.me interface. And select the corresponding tax location.&lt;br /&gt;
[[File:Qb tax enable path.png|1200px|center|link=https://help.simplybook.me/images/1/10/Qb_tax_enable_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
:&#039;&#039;&amp;lt;u&amp;gt;For Global tax location&amp;lt;/u&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Also navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Taxes&amp;lt;/span&amp;gt; in SBPay.me interface, select the necessary tax and set the exact tax name as it is defined in QuickBooks.&lt;br /&gt;
[[File:Sbpay edit tax path.png|1200px|center|link=https://help.simplybook.me/images/4/43/Sbpay_edit_tax_path.png]]&lt;br /&gt;
[[File:Qb tax global path.png|1200px|center|link=https://help.simplybook.me/images/c/cf/Qb_tax_global_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax is defined for each line separately;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;All lines with taxes should have the same tax type (inclusive or exclusive) throughout the order;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The orders that contain lines with multiple taxes will not be passed to Quickbooks;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;If the order contains lines with no tax applied it will not be passed to Quickbooks;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The orders that contain lines with mixed inclusive and exclusive taxes are not passed to Quickbooks;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;If the Quickbooks tax name is not set for some tax in that order it will not be passed to Quickbooks.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
:&#039;&#039;&amp;lt;u&amp;gt;For USA tax location&amp;lt;/u&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
For now it is only possible to use Automated Sales Tax (AST) as defined in QuickBooks. If you set the tax name set in SBPay.me &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Taxes&amp;lt;/span&amp;gt;, it will be ignored.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax is defined for the whole order. On the SBPay.me side, this means that ALL lines should have the same single tax with the same rate and type set for each order line;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax is always exclusive.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=QuickBooks_integration&amp;diff=16947</id>
		<title>QuickBooks integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=QuickBooks_integration&amp;diff=16947"/>
		<updated>2025-05-15T15:18:10Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=QuickBooks integration - SBPay.me&lt;br /&gt;
|description=Integrate QuickBooks with SimplyBook.me for seamless accounting and invoicing. Follow the guide to enable this feature!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, accounting integration, quickbooks, quickbooks integration, invoicing integration, quickbooks sbpay, &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
[[File:Icon quickbooks.png|left]] This easy-to-set [https://sbpay.me SBPay.me] integration with [https://quickbooks.intuit.com/eu/pricing/ Quickbooks] allows you to automatically create invoices or sales receipts in QuickBooks for each paid order and send them to customers.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Video tutorial [[File:Youtube-Logo.png|link=https://www.youtube.com/watch?v=vx1WibTZ9_4]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The invoices which get generated on the QuickBooks side as the result of the integration won&#039;t include information about taxes and discounts, they will contain only the total amount. While the SimplyBook invoices contain information about the item price taxes/discounts (if any), and the total amount.&amp;lt;/span&amp;gt;&lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Multi-currency must be enabled in QuickBooks for transactional documents involving different currencies.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==How to set and use==&lt;br /&gt;
&lt;br /&gt;
1. Navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; page within your SBPay.me interface and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Enable button next to QuickBooks. &lt;br /&gt;
[[File:Quickbooks enable path.png|1200px|center|link=https://help.simplybook.me/images/1/13/Quickbooks_enable_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
2. Once enabled, click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Connect&amp;lt;/span&amp;gt; button to proceed with setup.&lt;br /&gt;
[[File:Quickbooks connect path.png|1200px|center|link=https://help.simplybook.me/images/6/63/Quickbooks_connect_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
3. You will be prompted to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;log in&amp;lt;/span&amp;gt; to your Quickbooks account to get connected. Or, if you are already logged in there in your browser, the connection will be set automatically after confirmation. You will also see SBPay.me in the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Apps&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;My Apps&amp;lt;/span&amp;gt; section of QuickBooks.  &lt;br /&gt;
[[File:Confirm quickbooks connection.png|1200px|center|link=https://help.simplybook.me/images/f/fc/Confirm_quickbooks_connection.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
4. After the systems are connected you will get access to the integration settings in the SBPay.me interface. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
5. Choose the transactional document type: There are two options: &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Sales Receipt&amp;lt;/span&amp;gt;. &lt;br /&gt;
Invoice triggers the creation of both an invoice and its corresponding payment within QuickBooks for each fulfilled order on the SimplyBook side. Thus, you will see two records (Payment and Invoice) on the QuickBooks account associated with the same transaction. &lt;br /&gt;
Sales Receipt results in the generation of a sales receipt (Payment) solely upon successful payment for the order.&lt;br /&gt;
[[File:Quickbooks select document type.png|1200px|center|link=https://help.simplybook.me/images/1/1b/Quickbooks_select_document_type.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
6. You can add a &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Deposit Account Name&amp;lt;/span&amp;gt; and select the deposit &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Account Type&amp;lt;/span&amp;gt;.&lt;br /&gt;
It should be either &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Other Current Assets&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Bank (Cash on Hand)&amp;lt;/span&amp;gt; type.&lt;br /&gt;
If deposit account is not specified QuickBooks will use a default account called Undeposited Funds.&lt;br /&gt;
[[File:Quickbooks deposit account.png|1200px|center|link=https://help.simplybook.me/images/7/75/Quickbooks_deposit_account.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
7. &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Skipping zero amount transactions&amp;lt;/span&amp;gt; is enabled by default to exclude zero amount orders from being transferred to QuickBooks. For example, the transactions where the discount was applied and the resulting total is 0.&lt;br /&gt;
You can keep it as it is if you do not need to see such records in Quickbooks or disable if it is important to have them for your bookkeeping.&lt;br /&gt;
[[File:Quickbooks skip zero transactions.png|1200px|center|link=https://help.simplybook.me/images/2/27/Quickbooks_skip_zero_transactions.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
8. You can activate the automatic &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;creation of a Refund Receipt&amp;lt;/span&amp;gt; entry in QuickBooks when a refund is made on the SBPay.me side. Please ensure to include the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Deposit Account Name&amp;lt;/span&amp;gt; if you decide to enable this option as it is mandatory for refunds synchronisation.&lt;br /&gt;
[[File:Quickbooks rrefund receipts.png|1200px|center|link=https://help.simplybook.me/images/5/57/Quickbooks_rrefund_receipts.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
9. There is also an option to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;send a transactional document&amp;lt;/span&amp;gt;. If enabled, the client will also receive an invoice from QuickBooks in addition to other active notifications.&amp;lt;br&amp;gt;&lt;br /&gt;
You can also add a note to be reflected in the Quickbooks invoices.&lt;br /&gt;
[[File:Quickbooks send transactional email.png|1200px|center|link=https://help.simplybook.me/images/c/c3/Quickbooks_send_transactional_email.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Taxes==&lt;br /&gt;
To activate this option and pass taxes information to Quickbooks please check the &amp;quot;Add tax info to transaction document&amp;quot; in the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Sales tax&amp;lt;/span&amp;gt; in your SBPay.me interface. And select the corresponding tax location.&lt;br /&gt;
[[File:Qb tax enable path.png|1200px|center|link=https://help.simplybook.me/images/1/10/Qb_tax_enable_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
:&#039;&#039;&amp;lt;u&amp;gt;For Global tax location&amp;lt;/u&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Also navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Taxes&amp;lt;/span&amp;gt; in SBPay.me interface, select the necessary tax and set the exact tax name as it is defined in QuickBooks.&lt;br /&gt;
[[File:Sbpay edit tax path.png|1200px|center|link=https://help.simplybook.me/images/4/43/Sbpay_edit_tax_path.png]]&lt;br /&gt;
[[File:Qb tax global path.png|1200px|center|link=https://help.simplybook.me/images/c/cf/Qb_tax_global_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax is defined for each line separately;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;All lines with taxes should have the same tax type (inclusive or exclusive) throughout the order;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The orders that contain lines with multiple taxes will not be passed to Quickbooks;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;If the order contains lines with no tax applied it will not be passed to Quickbooks;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The orders that contain lines with mixed inclusive and exclusive taxes are not passed to Quickbooks;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;If the Quickbooks tax name is not set for some tax in that order it will not be passed to Quickbooks.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
:&#039;&#039;&amp;lt;u&amp;gt;For USA tax location&amp;lt;/u&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
For now it is only possible to use Automated Sales Tax (AST) as defined in QuickBooks. If you set the tax name set in SBPay.me &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Taxes&amp;lt;/span&amp;gt;, it will be ignored.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax is defined for the whole order. On the SBPay.me side, this means that ALL lines should have the same single tax with the same rate and type set for each order line;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax is always exclusive.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=QuickBooks_integration&amp;diff=16946</id>
		<title>QuickBooks integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=QuickBooks_integration&amp;diff=16946"/>
		<updated>2025-05-15T15:17:36Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=QuickBooks integration - SBPay.me&lt;br /&gt;
|description=Integrate QuickBooks with SimplyBook.me for seamless accounting and invoicing. Follow the guide to enable this feature!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, accounting integration, quickbooks, quickbooks integration, invoicing integration, quickbooks sbpay, &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
[[File:Icon quickbooks.png|left]] This easy-to-set [https://sbpay.me SBPay.me] integration with [https://quickbooks.intuit.com/eu/pricing/ Quickbooks] allows you to automatically create invoices or sales receipts in QuickBooks for each paid order and send them to customers.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Video tutorial [[File:Youtube-Logo.png|link=https://www.youtube.com/watch?v=vx1WibTZ9_4]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The invoices which get generated on the QuickBooks side as the result of the integration won&#039;t include information about taxes and discounts, they will contain only the total amount. While the SimplyBook invoices contain information about the item price taxes/discounts (if any), and the total amount.&amp;lt;/span&amp;gt;&lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Multi-currency must be enabled in QuickBooks for transactional documents involving different currencies.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;be&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==How to set and use==&lt;br /&gt;
&lt;br /&gt;
1. Navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom Features&amp;lt;/span&amp;gt; page within your SBPay.me interface and click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Enable button next to QuickBooks. &lt;br /&gt;
[[File:Quickbooks enable path.png|1200px|center|link=https://help.simplybook.me/images/1/13/Quickbooks_enable_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
2. Once enabled, click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Connect&amp;lt;/span&amp;gt; button to proceed with setup.&lt;br /&gt;
[[File:Quickbooks connect path.png|1200px|center|link=https://help.simplybook.me/images/6/63/Quickbooks_connect_path.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
3. You will be prompted to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;log in&amp;lt;/span&amp;gt; to your Quickbooks account to get connected. Or, if you are already logged in there in your browser, the connection will be set automatically after confirmation. You will also see SBPay.me in the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Apps&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;My Apps&amp;lt;/span&amp;gt; section of QuickBooks.  &lt;br /&gt;
[[File:Confirm quickbooks connection.png|1200px|center|link=https://help.simplybook.me/images/f/fc/Confirm_quickbooks_connection.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
4. After the systems are connected you will get access to the integration settings in the SBPay.me interface. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
5. Choose the transactional document type: There are two options: &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Invoice&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Sales Receipt&amp;lt;/span&amp;gt;. &lt;br /&gt;
Invoice triggers the creation of both an invoice and its corresponding payment within QuickBooks for each fulfilled order on the SimplyBook side. Thus, you will see two records (Payment and Invoice) on the QuickBooks account associated with the same transaction. &lt;br /&gt;
Sales Receipt results in the generation of a sales receipt (Payment) solely upon successful payment for the order.&lt;br /&gt;
[[File:Quickbooks select document type.png|1200px|center|link=https://help.simplybook.me/images/1/1b/Quickbooks_select_document_type.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
6. You can add a &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Deposit Account Name&amp;lt;/span&amp;gt; and select the deposit &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Account Type&amp;lt;/span&amp;gt;.&lt;br /&gt;
It should be either &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Other Current Assets&amp;lt;/span&amp;gt; or &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Bank (Cash on Hand)&amp;lt;/span&amp;gt; type.&lt;br /&gt;
If deposit account is not specified QuickBooks will use a default account called Undeposited Funds.&lt;br /&gt;
[[File:Quickbooks deposit account.png|1200px|center|link=https://help.simplybook.me/images/7/75/Quickbooks_deposit_account.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
7. &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Skipping zero amount transactions&amp;lt;/span&amp;gt; is enabled by default to exclude zero amount orders from being transferred to QuickBooks. For example, the transactions where the discount was applied and the resulting total is 0.&lt;br /&gt;
You can keep it as it is if you do not need to see such records in Quickbooks or disable if it is important to have them for your bookkeeping.&lt;br /&gt;
[[File:Quickbooks skip zero transactions.png|1200px|center|link=https://help.simplybook.me/images/2/27/Quickbooks_skip_zero_transactions.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
8. You can activate the automatic &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;creation of a Refund Receipt&amp;lt;/span&amp;gt; entry in QuickBooks when a refund is made on the SBPay.me side. Please ensure to include the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Deposit Account Name&amp;lt;/span&amp;gt; if you decide to enable this option as it is mandatory for refunds synchronisation.&lt;br /&gt;
[[File:Quickbooks rrefund receipts.png|1200px|center|link=https://help.simplybook.me/images/5/57/Quickbooks_rrefund_receipts.png]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
9. There is also an option to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;send a transactional document&amp;lt;/span&amp;gt;. If enabled, the client will also receive an invoice from QuickBooks in addition to other active notifications.&amp;lt;br&amp;gt;&lt;br /&gt;
You can also add a note to be reflected in the Quickbooks invoices.&lt;br /&gt;
[[File:Quickbooks send transactional email.png|1200px|center|link=https://help.simplybook.me/images/c/c3/Quickbooks_send_transactional_email.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;be&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Taxes==&lt;br /&gt;
To activate this option and pass taxes information to Quickbooks please check the &amp;quot;Add tax info to transaction document&amp;quot; in the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Custom features&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Sales tax&amp;lt;/span&amp;gt; in your SBPay.me interface. And select the corresponding tax location.&lt;br /&gt;
[[File:Qb tax enable path.png|1200px|center|link=https://help.simplybook.me/images/1/10/Qb_tax_enable_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;be&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
:&#039;&#039;&amp;lt;u&amp;gt;For Global tax location&amp;lt;/u&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Also navigate to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Taxes&amp;lt;/span&amp;gt; in SBPay.me interface, select the necessary tax and set the exact tax name as it is defined in QuickBooks.&lt;br /&gt;
[[File:Sbpay edit tax path.png|1200px|center|link=https://help.simplybook.me/images/4/43/Sbpay_edit_tax_path.png]]&lt;br /&gt;
[[File:Qb tax global path.png|1200px|center|link=https://help.simplybook.me/images/c/cf/Qb_tax_global_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax is defined for each line separately;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;All lines with taxes should have the same tax type (inclusive or exclusive) throughout the order;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The orders that contain lines with multiple taxes will not be passed to Quickbooks;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;If the order contains lines with no tax applied it will not be passed to Quickbooks;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;The orders that contain lines with mixed inclusive and exclusive taxes are not passed to Quickbooks;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;If the Quickbooks tax name is not set for some tax in that order it will not be passed to Quickbooks.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
:&#039;&#039;&amp;lt;u&amp;gt;For USA tax location&amp;lt;/u&amp;gt;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
For now it is only possible to use Automated Sales Tax (AST) as defined in QuickBooks. If you set the tax name set in SBPay.me &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Settings&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Taxes&amp;lt;/span&amp;gt;, it will be ignored.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax is defined for the whole order. On the SBPay.me side, this means that ALL lines should have the same single tax with the same rate and type set for each order line;&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Tax is always exclusive.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16807</id>
		<title>SBPay.me User Roles</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16807"/>
		<updated>2025-05-15T15:10:40Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Frequently Asked Questions about Revenue Management Software &amp;amp; Billing | SBPay.me&lt;br /&gt;
|description=Assign specific user roles for SBPay.me to manage transactions securely. Customize permissions easily. Learn how here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, access levels, user roles, system access, create user, create access, add accountant access&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Adding users to your [https://sbpay.me SBPay.me] account is a simple process that allows you to grant appropriate access rights to different team members based on their responsibilities and needs within the platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; The functionalities and range of user roles might be modified and extended in future development versions of SBPay.me.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
To add a new user, do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
:1. Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;SBPay.me&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users&amp;lt;/span&amp;gt; section &amp;gt; Click on &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users.&amp;lt;/span&amp;gt;&lt;br /&gt;
:2. Click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;New User&amp;lt;/span&amp;gt; button.&lt;br /&gt;
:3. Create User Profile: input Login, Name, Email address, Phone number, and select the user Role.&lt;br /&gt;
:4. Once a profile is created the user will receive the invitation email and will be able to set his/get first password as well as 2-factor authentication.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Each user&#039;s email address must be unique. It is not possible to create more than one user with the same email address.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
;&#039;&#039;&#039;User Roles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;System User:&amp;lt;/span&amp;gt; The profile of the main admin of the account. Possesses all access levels Admin has, and additionally includes the rights to manage and block other system users with the Admin rights.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Admin:&amp;lt;/span&amp;gt; Administrators have the highest access level, enabling them to configure settings, manage user roles, initiate transactions, and oversee the entire financial ecosystem within SBPay. They have access to dashboard statistics, payments, invoices, recurring profiles, customer payment methods, and can create payment requests. Admins also manage company profiles, payment processors, taxes, custom features, and reports. They have the capability to create other system users and view the action logs of all the other users. Additionally, Admins have access to API Keys Authentication token, and Secret Key. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Admin and can not change any details associated with the System User role as well as block the System User profile.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Accountant:&amp;lt;/span&amp;gt; Accountants have access to sales sections, payments, invoices, recurring profiles, customer payment methods, and the ability to create payment requests. They can view their own user profile, manage taxes (including adding new ones), access tax reports, customer reports, and subscription metrics.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Junior Accountant:&amp;lt;/span&amp;gt; Junior Accountants have moderate access to the dashboard and sales section Can create payment requests, view and manage their own user profile. Also, have view only access to the taxes section within SBPay.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer:&amp;lt;/span&amp;gt; Viewers have limited access, allowing them to view sales sections (payments, invoices, recurring profiles, customer payment methods), tax settings, tax reports, customer reports, and subscription metrics. They can only view information from these sections without the ability to make changes.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer without Personal Info Access:&amp;lt;/span&amp;gt; Similar to the Viewer role, this user can access the same settings but is restricted from viewing client details.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;display:block; width:100%; box-shadow: 2px 2px 15px rgba(45, 51, 72, 0.1); border-radius: 8px; border-collapse: collapse; margin-left:20px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; padding: 30px; text-transform: uppercase;  width: 25%;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052;  width: 15%;&amp;quot; | Admin/System User&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Junior Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer without Personal Info Access&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Dashboard Access&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payments&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Invoices&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Recurring profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Customer payment methods&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Create payment requests&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage user profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage company profile&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF;text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payment processors&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tax management&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Custom features&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Reports&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tag groups&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | User activity logs&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | API keys&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16806</id>
		<title>SBPay.me User Roles</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16806"/>
		<updated>2025-05-15T15:09:51Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Frequently Asked Questions about Revenue Management Software &amp;amp; Billing | SBPay.me&lt;br /&gt;
|description=Assign specific user roles for SBPay.me to manage transactions securely. Customize permissions easily. Learn how here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, access levels, user roles, system access, create user, create access, add accountant access&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Adding users to your [https://sbpay.me SBPay.me] account is a simple process that allows you to grant appropriate access rights to different team members based on their responsibilities and needs within the platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; The functionalities and range of user roles might be modified and extended in future development versions of SBPay.me.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
To add a new user, do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
:1. Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;SBPay.me&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users&amp;lt;/span&amp;gt; section &amp;gt; Click on &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users.&amp;lt;/span&amp;gt;&lt;br /&gt;
:2. Click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;New User&amp;lt;/span&amp;gt; button.&lt;br /&gt;
:3. Create User Profile: input Login, Name, Email address, Phone number, and select the user Role.&lt;br /&gt;
:4. Once a profile is created the user will receive the invitation email and will be able to set his/get first password as well as 2-factor authentication.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Each user&#039;s email address must be unique. It is not possible to create more than one user with the same email address.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
;&#039;&#039;&#039;User Roles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;System User:&amp;lt;/span&amp;gt; The profile of the main admin of the account. Possesses all access levels Admin has, and additionally includes the rights to manage and block other system users with the Admin rights.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Admin:&amp;lt;/span&amp;gt; Administrators have the highest access level, enabling them to configure settings, manage user roles, initiate transactions, and oversee the entire financial ecosystem within SBPay. They have access to dashboard statistics, payments, invoices, recurring profiles, customer payment methods, and can create payment requests. Admins also manage company profiles, payment processors, taxes, custom features, and reports. They have the capability to create other system users and view the action logs of all the other users. Additionally, Admins have access to API Keys Authentication token, and Secret Key. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Admin and can not change any details associated with the System User role as well as block the System User profile.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Accountant:&amp;lt;/span&amp;gt; Accountants have access to sales sections, payments, invoices, recurring profiles, customer payment methods, and the ability to create payment requests. They can view their own user profile, manage taxes (including adding new ones), access tax reports, customer reports, and subscription metrics.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Junior Accountant:&amp;lt;/span&amp;gt; Junior Accountants have moderate access to the dashboard and sales section Can create payment requests, view and manage their own user profile. Also, have view only access to the taxes section within SBPay.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer:&amp;lt;/span&amp;gt; Viewers have limited access, allowing them to view sales sections (payments, invoices, recurring profiles, customer payment methods), tax settings, tax reports, customer reports, and subscription metrics. They can only view information from these sections without the ability to make changes.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer without Personal Info Access:&amp;lt;/span&amp;gt; Similar to the Viewer role, this user can access the same settings but is restricted from viewing client details.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;display:block; width:100%; box-shadow: 2px 2px 15px rgba(45, 51, 72, 0.1); border-radius: 8px; border-collapse: collapse; margin-left:20px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; padding: 30px; text-transform: uppercase;  width: 25%;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052;  width: 15%;&amp;quot; | Admin/System User&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Junior Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer without Personal Info Access&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Dashboard Access&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payments&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Invoices&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Recurring profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Customer payment methods&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Create payment requests&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage user profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage company profile&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF;text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payment processors&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tax management&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Custom features&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Reports&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tag groups&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | User activity logs&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | API keys&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16060</id>
		<title>SBPay.me User Roles</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16060"/>
		<updated>2025-05-15T14:30:23Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Frequently Asked Questions about Revenue Management Software &amp;amp; Billing | SBPay.me&lt;br /&gt;
|description=Assign specific user roles for SBPay.me to manage transactions securely. Customize permissions easily. Learn how here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, access levels, user roles, system access, create user, create access, add accountant access&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Adding users to your [https://sbpay.me SBPay.me] account is a simple process that allows you to grant appropriate access rights to different team members based on their responsibilities and needs within the platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; The functionalities and range of user roles might be modified and extended in future development versions of SBPay.me.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
To add a new user, do the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
:1. Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;SBPay.me&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users&amp;lt;/span&amp;gt; section &amp;gt; Click on &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users.&amp;lt;/span&amp;gt;&lt;br /&gt;
:2. Click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;New User&amp;lt;/span&amp;gt; button.&lt;br /&gt;
:3. Create User Profile: input Login, Name, Email address, Phone number, and select the user Role.&lt;br /&gt;
:4. Once a profile is created the user will receive the invitation email and will be able to set his/get first password as well as 2-factor authentication.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Each user&#039;s email address must be unique. It is not possible to create more than one user with the same email address.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
;&#039;&#039;&#039;User Roles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;System User:&amp;lt;/span&amp;gt; The profile of the main admin of the account. Possesses all access levels Admin has, and additionally includes the rights to manage and block other system users with the Admin rights.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Admin:&amp;lt;/span&amp;gt; Administrators have the highest access level, enabling them to configure settings, manage user roles, initiate transactions, and oversee the entire financial ecosystem within SBPay. They have access to dashboard statistics, payments, invoices, recurring profiles, customer payment methods, and can create payment requests. Admins also manage company profiles, payment processors, taxes, custom features, and reports. They have the capability to create other system users and view the action logs of all the other users. Additionally, Admins have access to API Keys Authentication token, and Secret Key. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Admin and can not change any details associated with the System User role as well as block the System User profile.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Accountant:&amp;lt;/span&amp;gt; Accountants have access to sales sections, payments, invoices, recurring profiles, customer payment methods, and the ability to create payment requests. They can view their own user profile, manage taxes (including adding new ones), access tax reports, customer reports, and subscription metrics.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Junior Accountant:&amp;lt;/span&amp;gt; Junior Accountants have moderate access to the dashboard and sales section Can create payment requests, view and manage their own user profile. Also, have view only access to the taxes section within SBPay.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer:&amp;lt;/span&amp;gt; Viewers have limited access, allowing them to view sales sections (payments, invoices, recurring profiles, customer payment methods), tax settings, tax reports, customer reports, and subscription metrics. They can only view information from these sections without the ability to make changes.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer without Personal Info Access:&amp;lt;/span&amp;gt; Similar to the Viewer role, this user can access the same settings but is restricted from viewing client details.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{| style=&amp;quot;display:block; width:100%; box-shadow: 2px 2px 15px rgba(45, 51, 72, 0.1); border-radius: 8px; border-collapse: collapse; margin-left:20px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; padding: 30px; text-transform: uppercase;  width: 25%;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052;  width: 15%;&amp;quot; | Admin/System User&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Junior Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer without Personal Info Access&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Dashboard Access&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payments&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Invoices&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Recurring profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Customer payment methods&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Create payment requests&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage user profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage company profile&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF;text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payment processors&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tax management&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Custom features&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Reports&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tag groups&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | User activity logs&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | API keys&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16055</id>
		<title>SBPay.me User Roles</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16055"/>
		<updated>2025-05-15T14:29:55Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Frequently Asked Questions about Revenue Management Software &amp;amp; Billing | SBPay.me&lt;br /&gt;
|description=Assign specific user roles for SBPay.me to manage transactions securely. Customize permissions easily. Learn how here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, access levels, user roles, system access, create user, create access, add accountant access&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Adding users to your [https://sbpay.me SBPay.me] account is a simple process that allows you to grant appropriate access rights to different team members based on their responsibilities and needs within the platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; The functionalities and range of user roles might be modified and extended in future development versions of SBPay.me.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
To add a new user, do the following:&lt;br /&gt;
&lt;br /&gt;
:1. Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;SBPay.me&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users&amp;lt;/span&amp;gt; section &amp;gt; Click on &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users.&amp;lt;/span&amp;gt;&lt;br /&gt;
:2. Click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;New User&amp;lt;/span&amp;gt; button.&lt;br /&gt;
:3. Create User Profile: input Login, Name, Email address, Phone number, and select the user Role.&lt;br /&gt;
:4. Once a profile is created the user will receive the invitation email and will be able to set his/get first password as well as 2-factor authentication.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Each user&#039;s email address must be unique. It is not possible to create more than one user with the same email address.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;User Roles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;System User:&amp;lt;/span&amp;gt; The profile of the main admin of the account. Possesses all access levels Admin has, and additionally includes the rights to manage and block other system users with the Admin rights.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Admin:&amp;lt;/span&amp;gt; Administrators have the highest access level, enabling them to configure settings, manage user roles, initiate transactions, and oversee the entire financial ecosystem within SBPay. They have access to dashboard statistics, payments, invoices, recurring profiles, customer payment methods, and can create payment requests. Admins also manage company profiles, payment processors, taxes, custom features, and reports. They have the capability to create other system users and view the action logs of all the other users. Additionally, Admins have access to API Keys Authentication token, and Secret Key. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Admin and can not change any details associated with the System User role as well as block the System User profile.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Accountant:&amp;lt;/span&amp;gt; Accountants have access to sales sections, payments, invoices, recurring profiles, customer payment methods, and the ability to create payment requests. They can view their own user profile, manage taxes (including adding new ones), access tax reports, customer reports, and subscription metrics.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Junior Accountant:&amp;lt;/span&amp;gt; Junior Accountants have moderate access to the dashboard and sales section Can create payment requests, view and manage their own user profile. Also, have view only access to the taxes section within SBPay.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer:&amp;lt;/span&amp;gt; Viewers have limited access, allowing them to view sales sections (payments, invoices, recurring profiles, customer payment methods), tax settings, tax reports, customer reports, and subscription metrics. They can only view information from these sections without the ability to make changes.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer without Personal Info Access:&amp;lt;/span&amp;gt; Similar to the Viewer role, this user can access the same settings but is restricted from viewing client details.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;display:block; width:100%; box-shadow: 2px 2px 15px rgba(45, 51, 72, 0.1); border-radius: 8px; border-collapse: collapse; margin-left:20px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; padding: 30px; text-transform: uppercase;  width: 25%;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052;  width: 15%;&amp;quot; | Admin/System User&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Junior Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer without Personal Info Access&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Dashboard Access&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payments&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Invoices&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Recurring profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Customer payment methods&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Create payment requests&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage user profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage company profile&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF;text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payment processors&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tax management&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Custom features&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Reports&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tag groups&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | User activity logs&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | API keys&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16033</id>
		<title>SBPay.me User Roles</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16033"/>
		<updated>2025-05-15T14:29:14Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Frequently Asked Questions about Revenue Management Software &amp;amp; Billing | SBPay.me&lt;br /&gt;
|description=Assign specific user roles for SBPay.me to manage transactions securely. Customize permissions easily. Learn how here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, access levels, user roles, system access, create user, create access, add accountant access&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Adding users to your [https://sbpay.me SBPay.me] account is a simple process that allows you to grant appropriate access rights to different team members based on their responsibilities and needs within the platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; The functionalities and range of user roles might be modified and extended in future development versions of SBPay.me.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
To add a new user, do the following:&lt;br /&gt;
&lt;br /&gt;
:1. Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;SBPay.me&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users&amp;lt;/span&amp;gt; section &amp;gt; Click on &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users.&amp;lt;/span&amp;gt;&lt;br /&gt;
:2. Click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;New User&amp;lt;/span&amp;gt; button.&lt;br /&gt;
:3. Create User Profile: input Login, Name, Email address, Phone number, and select the user Role.&lt;br /&gt;
:4. Once a profile is created the user will receive the invitation email and will be able to set his/get first password as well as 2-factor authentication.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Each user&#039;s email address must be unique. It is not possible to create more than one user with the same email address.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;&#039;User Roles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;System User:&amp;lt;/span&amp;gt; The profile of the main admin of the account. Possesses all access levels Admin has, and additionally includes the rights to manage and block other system users with the Admin rights.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Admin:&amp;lt;/span&amp;gt; Administrators have the highest access level, enabling them to configure settings, manage user roles, initiate transactions, and oversee the entire financial ecosystem within SBPay. They have access to dashboard statistics, payments, invoices, recurring profiles, customer payment methods, and can create payment requests. Admins also manage company profiles, payment processors, taxes, custom features, and reports. They have the capability to create other system users and view the action logs of all the other users. Additionally, Admins have access to API Keys Authentication token, and Secret Key. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Admin and can not change any details associated with the System User role as well as block the System User profile.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Accountant:&amp;lt;/span&amp;gt; Accountants have access to sales sections, payments, invoices, recurring profiles, customer payment methods, and the ability to create payment requests. They can view their own user profile, manage taxes (including adding new ones), access tax reports, customer reports, and subscription metrics.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Junior Accountant:&amp;lt;/span&amp;gt; Junior Accountants have moderate access to the dashboard and sales section Can create payment requests, view and manage their own user profile. Also, have view only access to the taxes section within SBPay.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer:&amp;lt;/span&amp;gt; Viewers have limited access, allowing them to view sales sections (payments, invoices, recurring profiles, customer payment methods), tax settings, tax reports, customer reports, and subscription metrics. They can only view information from these sections without the ability to make changes.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer without Personal Info Access:&amp;lt;/span&amp;gt; Similar to the Viewer role, this user can access the same settings but is restricted from viewing client details.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;display:block; width:100%; box-shadow: 2px 2px 15px rgba(45, 51, 72, 0.1); border-radius: 8px; border-collapse: collapse; margin-left:20px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; padding: 30px; text-transform: uppercase;  width: 25%;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052;  width: 15%;&amp;quot; | Admin/System User&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Junior Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer without Personal Info Access&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Dashboard Access&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payments&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Invoices&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Recurring profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Customer payment methods&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Create payment requests&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage user profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage company profile&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF;text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payment processors&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tax management&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Custom features&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Reports&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tag groups&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | User activity logs&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | API keys&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16017</id>
		<title>SBPay.me User Roles</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=SBPay.me_User_Roles&amp;diff=16017"/>
		<updated>2025-05-15T14:28:38Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Frequently Asked Questions about Revenue Management Software &amp;amp; Billing | SBPay.me&lt;br /&gt;
|description=Assign specific user roles for SBPay.me to manage transactions securely. Customize permissions easily. Learn how here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, setup, setup help, support, help content, access levels, user roles, system access, create user, create access, add accountant access&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Adding users to your [https://sbpay.me SBPay.me] account is a simple process that allows you to grant appropriate access rights to different team members based on their responsibilities and needs within the platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; The functionalities and range of user roles might be modified and extended in future development versions of SBPay.me.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
To add a new user, do the following:&lt;br /&gt;
&lt;br /&gt;
:1. Go to &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;SBPay.me&amp;lt;/span&amp;gt; -&amp;gt; &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users&amp;lt;/span&amp;gt; section &amp;gt; Click on &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Users.&amp;lt;/span&amp;gt;&lt;br /&gt;
:2. Click on the &amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;New User&amp;lt;/span&amp;gt; button.&lt;br /&gt;
:3. Create User Profile: input Login, Name, Email address, Phone number, and select the user Role.&lt;br /&gt;
:4. Once a profile is created the user will receive the invitation email and will be able to set his/get first password as well as 2-factor authentication.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Each user&#039;s email address must be unique. It is not possible to create more than one user with the same email address.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
;&#039;&#039;&#039;User Roles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;System User:&amp;lt;/span&amp;gt; The profile of the main admin of the account. Possesses all access levels Admin has, and additionally includes the rights to manage and block other system users with the Admin rights.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Admin:&amp;lt;/span&amp;gt; Administrators have the highest access level, enabling them to configure settings, manage user roles, initiate transactions, and oversee the entire financial ecosystem within SBPay. They have access to dashboard statistics, payments, invoices, recurring profiles, customer payment methods, and can create payment requests. Admins also manage company profiles, payment processors, taxes, custom features, and reports. They have the capability to create other system users and view the action logs of all the other users. Additionally, Admins have access to API Keys Authentication token, and Secret Key. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#ffe9e9; padding:5px; border-radius:5px;&amp;quot;&amp;gt;&#039;&#039;&#039;Please note!&#039;&#039;&#039; Admin and can not change any details associated with the System User role as well as block the System User profile.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Accountant:&amp;lt;/span&amp;gt; Accountants have access to sales sections, payments, invoices, recurring profiles, customer payment methods, and the ability to create payment requests. They can view their own user profile, manage taxes (including adding new ones), access tax reports, customer reports, and subscription metrics.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Junior Accountant:&amp;lt;/span&amp;gt; Junior Accountants have moderate access to the dashboard and sales section Can create payment requests, view and manage their own user profile. Also, have view only access to the taxes section within SBPay.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer:&amp;lt;/span&amp;gt; Viewers have limited access, allowing them to view sales sections (payments, invoices, recurring profiles, customer payment methods), tax settings, tax reports, customer reports, and subscription metrics. They can only view information from these sections without the ability to make changes.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:#d4f8e5; padding:5px; border-radius:5px;&amp;quot;&amp;gt;Viewer without Personal Info Access:&amp;lt;/span&amp;gt; Similar to the Viewer role, this user can access the same settings but is restricted from viewing client details.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;display:block; width:100%; box-shadow: 2px 2px 15px rgba(45, 51, 72, 0.1); border-radius: 8px; border-collapse: collapse; margin-left:20px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight: bold; padding: 30px; text-transform: uppercase;  width: 25%;&amp;quot; | &lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052;  width: 15%;&amp;quot; | Admin/System User&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Junior Accountant&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer&lt;br /&gt;
! style=&amp;quot;text-align: center; font-weight: bold; color: #0B3052; width: 15%;&amp;quot; | Viewer without Personal Info Access&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Dashboard Access&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payments&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Invoices&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Recurring profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Customer payment methods&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Limited &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Create payment requests&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; |  &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage user profiles&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | Own only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Manage company profile&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF;text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Payment processors&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tax management&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Custom features&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Reports&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center;&amp;quot; | View Only &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | Tag groups&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | User activity logs&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; padding: 10px;&amp;quot; | API keys&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; color: #06ADEF; text-align: center; height: 30px;&amp;quot; | &amp;amp;#10004; &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
| style=&amp;quot;border-bottom: 1px solid #e7ecf7; text-align: center; &amp;quot; | &amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Catalogue&amp;diff=16012</id>
		<title>Catalogue</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Catalogue&amp;diff=16012"/>
		<updated>2025-05-15T14:16:56Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Catalogue - SimplyBook.me&lt;br /&gt;
|description=Learn about the SimplyBook.me API built on JSON-RPC protocol. Access remote services via HTTPS with JSON-serialized requests!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General Information== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using JSON. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Hourly photoshoot&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;If you want to try yourself as a model but haven&#039;t decided on an image. &amp;lt;br /&amp;gt; 5-7 retouched and print-ready photos + the raw footage on a disc &amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[Catalogue#Authentication|authentication]] section.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Endpoint=== &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/catalogue&amp;lt;/code&amp;gt; for all service API calls listed in [[Catalogue#Methods|methods section]].&lt;br /&gt;
&lt;br /&gt;
===Authentication=== &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[Authentication#getToken|getToken]]&amp;lt;/code&amp;gt; API methods on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods == &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCategories === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCategories()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
Get lsit of ALL categories&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCities === &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCities($country)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$country&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
Returns city list as Array order by name&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyCount === &amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCount($filter)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
Returns total companies count with specified filter$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyInfo === &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo($login)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$login&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
Returns company information by company login&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyList === &amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyList($filter, $from, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; Integer - from position&lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer - rows limit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
Returns companies list$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyMarkers === &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyMarkers($filter, $bounds, $zoom, $clustering)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
* &#039;&#039;&#039;$bounds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$zoom&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$clustering&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
Returns company markers$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyReviews === &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyReviews($login)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$login&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
Returns company reviews list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountries === &amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCountries()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
Returns country list as Array order by name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbackList === &amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbackList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
Get lsit of ALL simplybook feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionCount === &amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionCount($filter)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
Returns total active promotions count with specified filter$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionInfo === &amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionInfo($id, $feedbackFrom, $feedbackCount)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$feedbackFrom&#039;&#039;&#039; Integer = 0&lt;br /&gt;
* &#039;&#039;&#039;$feedbackCount&#039;&#039;&#039; Integer = 100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
Returns promotion information by id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionList === &amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionList($filter, $from, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; Integer - from position&lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer - rows limit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
Returns active promotion list$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionListByIds === &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionListByIds($ids)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$ids&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
Returns active promotion list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionReviews === &amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionReviews($promotionId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$promotionId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
Returns promotion reviews list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentCompanies === &amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentCompanies($count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:96--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:97--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:98--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:99--&amp;gt;&lt;br /&gt;
Returns list of companies ordered by date DESC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentFeedbacks === &amp;lt;!--T:100--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentFeedbacks($count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:102--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:103--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:104--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
Returns list of feedbacs ordered by date DESC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentPromotions === &amp;lt;!--T:106--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:107--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentPromotions($count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:108--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:109--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:110--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:111--&amp;gt;&lt;br /&gt;
Returns list of promotions ordered by date DESC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRelatedPromotions === &amp;lt;!--T:112--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:113--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRelatedPromotions($id, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:114--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:115--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer = 10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:116--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:117--&amp;gt;&lt;br /&gt;
Returns related promotions by given promotion id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getTags === &amp;lt;!--T:118--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:119--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTags($filter)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:120--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:121--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:122--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
Returns tags list$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getTopCities === &amp;lt;!--T:124--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:125--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTopCities()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:126--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:127--&amp;gt;&lt;br /&gt;
Returns city list as Array order by company count in city&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getTopCountries === &amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:129--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTopCountries()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:130--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:131--&amp;gt;&lt;br /&gt;
Returns country list as Array order by company count in country&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=16002</id>
		<title>Company administration service methods</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=16002"/>
		<updated>2025-05-15T14:14:46Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Company administration service methods - SimplyBook.me&lt;br /&gt;
|description=Learn about service methods for internal company administration. Manage bookings tailored to your operations. Start here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General Information== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using [http://www.json.org JSON]. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Hourly photoshoot&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;If you want to try yourself as a model but haven&#039;t decided on an image. &amp;lt;br /&amp;gt; 5-7 retouched and print-ready photos + the raw footage on a disc &amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
Example of request with error response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;someNotExistingMethod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;id&amp;quot;:1,&lt;br /&gt;
    &amp;quot;error&amp;quot;: {&lt;br /&gt;
      &amp;quot;code&amp;quot;: -32601,&lt;br /&gt;
      &amp;quot;message&amp;quot;: &amp;quot;Method not found&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[Company administration service methods#Authentication|authentication]] section.&lt;br /&gt;
&lt;br /&gt;
===Endpoint=== &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/admin&amp;lt;/code&amp;gt; for all administration service API calls.&lt;br /&gt;
&lt;br /&gt;
===Authentication=== &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods == &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addClient === &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;addClient($clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
Adds new client with specified data. You can specify name, email, phone, address1, address2, city, zip,&lt;br /&gt;
country_id. If client record with specified data exists  method will return an id of this record. Otherwise data&lt;br /&gt;
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&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam(&#039;require_fields&#039;)&amp;lt;/code&amp;gt; method to check which fields are required.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Method returns an error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
     name: &amp;quot;Frances T. Perez&amp;quot;,&lt;br /&gt;
     phone: &amp;quot;+1502-810-4521&amp;quot;,&lt;br /&gt;
     email: &amp;quot;FrancesTPerez@teleworm.us&amp;quot;,&lt;br /&gt;
     address1: &amp;quot;3872 Earnhardt Drive&amp;quot;,&lt;br /&gt;
     address2: &amp;quot;Louisville, KY 40219&amp;quot;,&lt;br /&gt;
     city: Louisville,&lt;br /&gt;
     zip: 3872&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== addDeviceToken === &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;addDeviceToken($token, $device)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String a device token string&lt;br /&gt;
* &#039;&#039;&#039;$device&#039;&#039;&#039; String a device type (&#039;android&#039; or &#039;apple&#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
Subscribe a mobile device to push notifications service. Device will recieve notifications about new bookings or&lt;br /&gt;
changes in already created bookings. Use either &amp;lt;code&amp;gt;&#039;apple&#039;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&#039;android&#039;&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;&lt;br /&gt;
parameter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== book === &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;book($eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional, $count, $batchId, $recurringData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer bookings count used to make group bookings batch. This parameter can&#039;t be less than 1. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer add booking to group bookings batch. You can&#039;t use $count and $batchId in one call. Please specify only one parameter. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array - make booking recurrent. (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
Creates new booking record. Returns an object with appointment information or throw exception if booking time not&lt;br /&gt;
available or any of required parameters missed. If appointment requires confirmation, in result object will be&lt;br /&gt;
&amp;lt;code&amp;gt;require_confirm = true&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt; specifies a date of&lt;br /&gt;
booking and time slot. Time value should be multiple to &#039;timeframe&#039; configuration of company (see&lt;br /&gt;
&amp;lt;code&amp;gt;[[Company administration service methods#getTimeframe|getTimeframe]]&amp;lt;/code&amp;gt; API method). &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; parameters&lt;br /&gt;
should be calculated according to service duration. However you can specify different values to make appointment&lt;br /&gt;
longer or shorter then service configuration. Note that &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; should be&lt;br /&gt;
later in time than &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt;. If your clients located in different time&lt;br /&gt;
zone you should specify &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; parameter as difference between company&#039;s time zone and&lt;br /&gt;
client&#039;s time zone in seconds. For example if company located in city with time zone GMT+2 and customer located&lt;br /&gt;
in city with GMT+3 then &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; will be -3600 seconds. You can get information about company&#039;s&lt;br /&gt;
time zone using &amp;lt;code&amp;gt;[[Company administration service methods#getCompanyInfo|getCompanyInfo]]&amp;lt;/code&amp;gt; API method. To create batch booking you can&lt;br /&gt;
specify either &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; more then 1 or valid &amp;lt;code&amp;gt;batchId&amp;lt;/code&amp;gt; (only one parameter can be&lt;br /&gt;
specified). You should specify an &amp;lt;code&amp;gt;$additionalFields&amp;lt;/code&amp;gt; parameter if service requires some intake forms (see [[Custom Features#Intake Forms|Intake Forms Custom feature]]).To create a booking with promo code you should pass it as additional field. For example: &amp;lt;code&amp;gt;{&amp;quot;promocode&amp;quot;: &amp;quot;some code&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
If [[Custom Features#Multiple Locations| Multiple locations]] enabled you need to pass locations ID parameter as additional field&lt;br /&gt;
&amp;lt;code&amp;gt;location_id&amp;lt;/code&amp;gt;. For example: &amp;lt;code&amp;gt;{&amp;quot;location_id&amp;quot;: &amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt;. Use &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
to check if Custom feature active and &amp;lt;code&amp;gt;[[Company administration service methods#getLocationsList|getLocationsList()]]&amp;lt;/code&amp;gt; method to get list of&lt;br /&gt;
available locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
See [[Company administration service methods#book response|example]] of &amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt; API method response.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
* [https://help.simplybook.me/index.php/Need_to_change_interval_(timeframe) Timeframe information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== calculateEndTime === &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;calculateEndTime($startDateTime, $eventId, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; 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;.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
Returns String|Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
Returns end datetime if booking is available, else return false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBatch === &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBatch($id, $bookingIds)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer identifier of batch. See &amp;lt;code&amp;gt;[[Company administration service methods#createBatch|createBatch]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
* &#039;&#039;&#039;$bookingIds&#039;&#039;&#039; Array ids of bookings included to batch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
Cancel batch of bookings. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found)&lt;br /&gt;
if no booking with specified id were found. A booking with first id in &amp;lt;code&amp;gt;$bookingIds&amp;lt;/code&amp;gt; list is used for&lt;br /&gt;
information in notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBooking === &amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBooking($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
Cancels booking. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found) if&lt;br /&gt;
no booking with specified id were found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== createBatch === &amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;createBatch()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
Creates new booking batch record. Returns newly created batch id. You can use this id in &amp;lt;code&amp;gt;[[Company administration service methods#book|book]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteDeviceToken === &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;deleteDeviceToken($token)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String - device token&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
Unsubscribe from push notifications service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== editBook === &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;editBook($shedulerId, $eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer an id of booking to edit. See &amp;lt;code&amp;gt;[[Company administration service methods#book|book]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[Company administration service methods#getBookings|getBookings]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
Edit existing booking record. See [[Company administration service methods#book|book]] API method description for more details about date/time parameters,&lt;br /&gt;
time zone handling and additional fields. Returns null if parameters not valid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editClient === &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;editClient($clientId, $clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
Edits client&#039;s record. See &amp;lt;code&amp;gt;[[Company administration service methods#addClient|addClient]]&amp;lt;/code&amp;gt; method description for list of available fields.Method returns an id of client&#039;s record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== filterAvailableUnits === &amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;filterAvailableUnits($eventId, $dateTime, $unitIds, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:96--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitIds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:97--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:98--&amp;gt;&lt;br /&gt;
Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with location Custom Feature.&lt;br /&gt;
Returns empty array if all units are not allowed.&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:99--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAdditionalFields === &amp;lt;!--T:100--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getAdditionalFields($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:102--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:103--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:104--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
Return intake forms for certain event if [[Custom Features#Intake Forms|Intake Forms Custom Feature]] is&lt;br /&gt;
activated. Returns empty array otherwise. Call &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;event_field&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if &#039;event_field&#039; Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:106--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAnyUnitData === &amp;lt;!--T:107--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:108--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getAnyUnitData()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:109--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object|null.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:110--&amp;gt;&lt;br /&gt;
Returns information about [[Custom Features#Any Employee Selector|Any Employee selector Custom Feature]] configuration. Returns&lt;br /&gt;
null if Custom Feature not enabled.Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot; : &amp;quot;Select this option, if you want to find an available time with any of the employees&amp;quot;,&lt;br /&gt;
    &amp;quot;hide_other_units&amp;quot; : 1, // 1 or 0&lt;br /&gt;
    &amp;quot;image&amp;quot; : null,&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;Any employee&amp;quot;,&lt;br /&gt;
    &amp;quot;picture_path&amp;quot; : null,&lt;br /&gt;
    &amp;quot;random_selection&amp;quot; : 0 // 1 or 0&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:111--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableTimeIntervals === &amp;lt;!--T:112--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:113--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:114--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:115--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:116--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:117--&amp;gt;&lt;br /&gt;
Returns available time intervals for all service providers for given period, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{[&#039;2016-03-04&#039;: [&#039;1&#039;: [[&#039;09:00:00&#039;,&#039;09:30:00&#039;], [&#039;11:15:00&#039;,&#039;14:45:00&#039;]] , ...], ...]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:118--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableUnits === &amp;lt;!--T:119--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:120--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableUnits($eventId, $dateTime, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:121--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:122--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:124--&amp;gt;&lt;br /&gt;
Returns list of available unit ids for specified date and service or empty array if all units are not allowed.Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:125--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingCancellationsInfo === &amp;lt;!--T:126--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:127--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingCancellationsInfo($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:129--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data from first day of current week.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data filtered to last day of current week.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:130--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:131--&amp;gt;&lt;br /&gt;
Returns statistics about created bookings and cancellations for a time period. Data presented as array of hashes for&lt;br /&gt;
each type of operation (created or cancelled booking) groped by clients. &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; field can be either&lt;br /&gt;
&amp;quot;create&amp;quot;, &amp;quot;cancel&amp;quot; or &amp;quot;nopayment_cancel&amp;quot;. If &amp;lt;code&amp;gt;&amp;quot;user_id&amp;quot;&amp;lt;/code&amp;gt; not specified then bookings where created or&lt;br /&gt;
cancelled by admin or employee. Data with type &amp;lt;code&amp;gt;&amp;quot;nopayment_cancel&amp;quot;&amp;lt;/code&amp;gt; represents bookings cancelled&lt;br /&gt;
automatically by system.Example:&lt;br /&gt;
  3 bookings where created by admin or employee and 2 bookings where automatically cancelled by system.&lt;br /&gt;
  [{&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 3,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;create&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }, {&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 2,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;nopayment_cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:132--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingComment === &amp;lt;!--T:133--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:134--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingComment($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:135--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:136--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:137--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:138--&amp;gt;&lt;br /&gt;
Returns booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:139--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingDetails === &amp;lt;!--T:140--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:141--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingDetails($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:142--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:143--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; integer booking id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:144--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:145--&amp;gt;&lt;br /&gt;
Returns detailed bookings object by booking id. See [[Company administration service methods#getBookingDetails response|response example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:146--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingLimitUnavailableTimeInterval === &amp;lt;!--T:147--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:148--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingLimitUnavailableTimeInterval($startDateTime, $endDateTime, $eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:149--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:150--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:151--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:152--&amp;gt;&lt;br /&gt;
Returns time intervals not available for bookings because of configuration of [[Custom Features#Limit Bookings|Limit bookings]]&lt;br /&gt;
Custom Feature for period of time. Returns empty array if Custom Feature not available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:153--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingRevenue === &amp;lt;!--T:154--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:155--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingRevenue($dateStart, $dateEnd, $unitGroupId, $serviceId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:156--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:157--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
* &#039;&#039;&#039;$serviceId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:158--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:159--&amp;gt;&lt;br /&gt;
Return bookings count and revenue value for each date in specified period. Data grouped by unit id and&lt;br /&gt;
represented as array with bookings count at index 0 and revenue amount at index 1. You can filter data either&lt;br /&gt;
by unit or by service. Set &amp;lt;code&amp;gt;$dateStart&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$dateEnd&amp;lt;/code&amp;gt; to null to get data for current week.Example:&lt;br /&gt;
  [&#039;2015-11-12&#039; : {&lt;br /&gt;
     3 : [&lt;br /&gt;
       11, // bookings count&lt;br /&gt;
       128.53 // revenue&lt;br /&gt;
  ]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:160--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStats === &amp;lt;!--T:161--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:162--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:163--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:164--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:165--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:166--&amp;gt;&lt;br /&gt;
Returns statistic about bookings count grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:167--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookings === &amp;lt;!--T:168--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:169--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookings($params)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:170--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:171--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:172--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:173--&amp;gt;&lt;br /&gt;
Returns list of bookings filtered by given params. Filter params represented as object with following fields:* &#039;&#039;&#039;date_from&#039;&#039;&#039; a date of booking in string format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_from&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_to&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_from&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;unit_group_id&#039;&#039;&#039; an integer. Use it to get bookings assigned for certain service provider.&lt;br /&gt;
* &#039;&#039;&#039;event_id&#039;&#039;&#039; an integer. Use it to  get bookings only for certain service.&lt;br /&gt;
* &#039;&#039;&#039;is_confirmed&#039;&#039;&#039; 1 or 0. If [[Custom Features#Approve Bookings|Approve booking]] Custom Feature enabled then method will return confirmed bookings with approve status &#039;new&#039;.&lt;br /&gt;
* &#039;&#039;&#039;client_id&#039;&#039;&#039; an integer. Use it to get bookings only for certain client.&lt;br /&gt;
* &#039;&#039;&#039;order&#039;&#039;&#039; string either &#039;record_date&#039;, &#039;date_start&#039; or &#039;date_start_asc&#039;. By default used &#039;date_start&#039; value.&lt;br /&gt;
* &#039;&#039;&#039;booking_type&#039;&#039;&#039; a string. Value of this field depends on Approve booking Custom Feature status.&lt;br /&gt;
*: If Custom Feature not active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 0&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 1&lt;br /&gt;
*: If Custom Feature active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; returns bookings with &#039;is_confirmed&#039; field equals to 0 and approve booking status equals to &#039;cancelled&#039; (or booking does not have any approve status)&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 or approve booking status equals to &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_client&#039;&#039;&#039; returns bookings approved by admin but cancelled by client&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_admin&#039;&#039;&#039; returns bookings cancelled by admin&lt;br /&gt;
** &#039;&#039;&#039;non_approved_yet&#039;&#039;&#039; returns bookings with approve status &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;approved&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 and approve booking status equals to &#039;approved&#039; (or booking does not have any approve status)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:174--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;date_from&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;date_to&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;booking_type&amp;quot;:&amp;quot;cancelled&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;:&amp;quot;start_date&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:175--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingsZapier === &amp;lt;!--T:176--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:177--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingsZapier()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:178--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:179--&amp;gt;&lt;br /&gt;
Returns list of bookings filtered by given params&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:180--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCategoriesList === &amp;lt;!--T:181--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:182--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCategoriesList($isPublic)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:183--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:184--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:185--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:186--&amp;gt;&lt;br /&gt;
Returns company categories list if [[Custom Features#Service Categories|Service Categories Custom Feature]] is activated. Returns&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;event_category&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:187--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClient === &amp;lt;!--T:188--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:189--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getClient($clientId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:190--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:191--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:192--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:193--&amp;gt;&lt;br /&gt;
Returns client&#039;s data object. See &amp;lt;code&amp;gt;[[Company administration service methods#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:194--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientComments === &amp;lt;!--T:195--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:196--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getClientComments($clientId, $shedulerId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:197--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:198--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:199--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:200--&amp;gt;&lt;br /&gt;
Returns list of all comments for given client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:201--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientList === &amp;lt;!--T:202--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:203--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getClientList($searchString, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:204--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:205--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$searchString&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:206--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:207--&amp;gt;&lt;br /&gt;
Returns list of clients associated with company. You can use either phone number, email address or name as value&lt;br /&gt;
for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt;. Pass an empty string for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt; and null for &amp;lt;code&amp;gt;$limit&amp;lt;/code&amp;gt;&lt;br /&gt;
parameters to get all records. See &amp;lt;code&amp;gt;[[Company administration service methods#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:208--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyCurrency === &amp;lt;!--T:209--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:210--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCurrency()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:211--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:212--&amp;gt;&lt;br /&gt;
Returns company&#039;s currency as three chars code (ISO 4217).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:213--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCompanyInfo === &amp;lt;!--T:214--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:215--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:216--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:217--&amp;gt;&lt;br /&gt;
Returns an object with detailed information about company. See [[Company administration service methods#getCompanyInfo response|example of response]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:218--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParam === &amp;lt;!--T:219--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:220--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam($key)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:221--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:222--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$key&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:223--&amp;gt;&lt;br /&gt;
Returns mixed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:224--&amp;gt;&lt;br /&gt;
Returns company config value for key. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[Company administration service methods#Company params|list of available keys]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:225--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParams === &amp;lt;!--T:226--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:227--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParams($keys)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:228--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:229--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$keys&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:230--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:231--&amp;gt;&lt;br /&gt;
Returns company config values for keys. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[Company administration service methods#Company params|list of available keys]].For non-existent and not-allowed params it will return false as result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:232--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyTimezoneOffset === &amp;lt;!--T:233--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:234--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyTimezoneOffset()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:235--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:236--&amp;gt;&lt;br /&gt;
Returns company timezone offset and company timezone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:237--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryList === &amp;lt;!--T:238--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:239--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:240--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:241--&amp;gt;&lt;br /&gt;
Get list of all countries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:242--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryPhoneCodes === &amp;lt;!--T:243--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:244--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryPhoneCodes()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:245--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:246--&amp;gt;&lt;br /&gt;
Returns country phone code list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:247--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentTariffInfo === &amp;lt;!--T:248--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:249--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentTariffInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:250--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:251--&amp;gt;&lt;br /&gt;
Returns all information about current tariff (subscription). For example:{&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;gold&amp;quot;,&lt;br /&gt;
    &amp;quot;expire_date&amp;quot; : &amp;quot;2016-02-11 12:32:00&amp;quot;,&lt;br /&gt;
    &amp;quot;rest&amp;quot; : 41, // number of days until subscription expiration&lt;br /&gt;
    &amp;quot;color&amp;quot; : &amp;quot;#fcb322&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:252--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentUserDetails === &amp;lt;!--T:253--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:254--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentUserDetails()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:255--&amp;gt;&lt;br /&gt;
No arguments. Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:256--&amp;gt;&lt;br /&gt;
Returns an object with information about logged in user. Note: you are responsible for implementation of some&lt;br /&gt;
access rights based on &amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property value. Most of API methods returns an error if user has low access&lt;br /&gt;
rights but not all. There are 4 roles:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:257--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; - have full access to the system&lt;br /&gt;
* &#039;&#039;&#039;Senior Employee&#039;&#039;&#039; - have access to calendar, services and providers, and can modify bookings related with user&lt;br /&gt;
* &#039;&#039;&#039;Junior Employee&#039;&#039;&#039; - can access caledar (but only to own bookings), services associated with user&lt;br /&gt;
* &#039;&#039;&#039;Viewer&#039;&#039;&#039; - have only access to calendar and services in read only mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:258--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property can be one of the values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:259--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;shop_user&amp;lt;/code&amp;gt; - &amp;quot;Senior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;station_user&amp;lt;/code&amp;gt; - &amp;quot;Junior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; - &amp;quot;Administrator&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;viewer&amp;lt;/code&amp;gt; - &amp;quot;Viewer&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;reseller_company_admin&amp;lt;/code&amp;gt; - reserved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:260--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:261--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;id&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;login&amp;quot;: admin,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;admin@mycoolcompany.com&amp;quot;;&lt;br /&gt;
    &amp;quot;firstname&amp;quot;: &amp;quot;Michail&amp;quot;,&lt;br /&gt;
    &amp;quot;lastname&amp;quot;: &amp;quot; &amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;group&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;is_blocked&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;last_access_time&amp;quot;: &amp;quot;2016-06-06 17:55:51&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;: null&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:262--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getEventList === &amp;lt;!--T:263--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:264--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getEventList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:265--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:266--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:267--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:268--&amp;gt;&lt;br /&gt;
Returns company&#039;s events list. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as key&lt;br /&gt;
and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property of&lt;br /&gt;
event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:269--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbacks === &amp;lt;!--T:270--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:271--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbacks($approvedOnly, $reviewsOnly, $lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:272--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:273--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$approvedOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$reviewsOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:274--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:275--&amp;gt;&lt;br /&gt;
Get list of feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:276--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFirstWorkingDay === &amp;lt;!--T:277--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:278--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getFirstWorkingDay($unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:279--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:280--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:281--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:282--&amp;gt;&lt;br /&gt;
Returns first working date for unit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:283--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTime === &amp;lt;!--T:284--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:285--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTime($startDateTime, $endDateTime, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:286--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:287--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;. You can date string avoiding time in&lt;br /&gt;
this parameter. In this case method will use time value &#039;23:59:59&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:288--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:289--&amp;gt;&lt;br /&gt;
Returns a list of objects represented a time intervals marked as busy in Google Calendar. Each object of result&lt;br /&gt;
contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with datetime string as value. This method only actual if&lt;br /&gt;
[Custom_Features#Calendar_Sync|Calendar Sync Custom Feature] enabled. If Custom Feature not enabled an empty list will&lt;br /&gt;
be returned. You should call &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; to&lt;br /&gt;
check status of the Custom Feature. Each object of result contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with&lt;br /&gt;
datetime string as value. Please note that this method may return not actual data because data synchronization&lt;br /&gt;
between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  [&lt;br /&gt;
   {&amp;quot;from&amp;quot; : &amp;quot;2016-02-16 13:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;to&amp;quot; : &amp;quot;2016-02-16 16:00:00&amp;quot;},&lt;br /&gt;
    ...&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:290--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTimeAvailableUnits === &amp;lt;!--T:291--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:292--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTimeAvailableUnits()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:293--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:294--&amp;gt;&lt;br /&gt;
Returns configured unit ids, allowed to sync busy time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:295--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getLastNotificationUpdate === &amp;lt;!--T:296--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:297--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getLastNotificationUpdate($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:298--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:299--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:300--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:301--&amp;gt;&lt;br /&gt;
Returns last update datetime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:302--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getLocationsList === &amp;lt;!--T:303--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:304--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getLocationsList($isPublic, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:305--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:306--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:307--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:308--&amp;gt;&lt;br /&gt;
Returns available locations for company if Custom Feature [[Custom Features#Multiple Locations|Multiple locations Custom Feature]] is activated. Return&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:309--&amp;gt;&lt;br /&gt;
This method accepts two boolean flags as parameters. If &#039;&#039;&#039;isPublic&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; then method returns only&lt;br /&gt;
public locations. If &#039;&#039;&#039;asArray&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; method returns list of objects. Otherwise method returns&lt;br /&gt;
map of objects with object id as key. You can omit both parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:310--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getPluginList === &amp;lt;!--T:311--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:312--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:313--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:314--&amp;gt;&lt;br /&gt;
Returns a list of all Custom Features associated with company with status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:315--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:316--&amp;gt;&lt;br /&gt;
&amp;lt;!---=== getPluginPromoInfoByCode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:317--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginPromoInfoByCode($code)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:318--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:319--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:320--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:321--&amp;gt;&lt;br /&gt;
Returns an object with detailed information about Rewards and referrals promotion by promotion code. You can get promotion code&lt;br /&gt;
using &amp;lt;code&amp;gt;[[Catalogue#getPromotionList|getPromotionList]]&amp;lt;/code&amp;gt; API method. If promotion record with specified code not found then method returns an empty array (an empty object). If [[Rewards and Referrals custom feature|Rewards and Referrals Custom Feature]]&lt;br /&gt;
not enabled then method returns an error with code -32001 (Custom Feature is not activated). Use&lt;br /&gt;
&amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;promo&#039;)]]&amp;lt;/code&amp;gt; API method call to check if Custom Feature enabled. See [[Company administration service methods#getPromotionList response|example]] of &amp;lt;code&amp;gt;getPromotionList&amp;lt;/code&amp;gt; API method response. Please note that&lt;br /&gt;
response contains a list of services for wich promotion discount can be applied (&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; key).&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPluginStatuses === &amp;lt;!--T:322--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:323--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginStatuses($pluginNames)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:324--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:325--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$pluginNames&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:326--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:327--&amp;gt;&lt;br /&gt;
Return Custom Feature status true if status active, else false. See [[Company administration service methods#Custom Features.27 identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentActions === &amp;lt;!--T:328--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:329--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentActions($lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:330--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:331--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:332--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:333--&amp;gt;&lt;br /&gt;
Returns latest actions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRecurringDatetimes === &amp;lt;!--T:334--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:335--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringDatetimes($eventId, $unitId, $date, $time, $recurringData, $endDateTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:336--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:337--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$time&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; String (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:338--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:339--&amp;gt;&lt;br /&gt;
Get list of dates for recurring booking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecurringSettings === &amp;lt;!--T:340--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:341--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringSettings($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:342--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:343--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:344--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:345--&amp;gt;&lt;br /&gt;
Returns an object with recurring settings for an event. Returns false if specified event does not configured as&lt;br /&gt;
recurring.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:346--&amp;gt;&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:347--&amp;gt;&lt;br /&gt;
* [http://blog.simplybook.me/recurring-and-periodic-bookings/ Recurring services desription]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRegistrations === &amp;lt;!--T:348--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:349--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRegistrations($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:350--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:351--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:352--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:353--&amp;gt;&lt;br /&gt;
Returns number of clients registrations  by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTime === &amp;lt;!--T:354--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:355--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTime($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:356--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:357--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:358--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:359--&amp;gt;&lt;br /&gt;
Returns map of objects for each day in specified date range. The key of the result mps is a date string. The value&lt;br /&gt;
is an array of two objects. Both objects contains list of time slots for type &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; and type&lt;br /&gt;
&amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type represents time slots working time but already booked&lt;br /&gt;
by clients. Nobody knows what kind of data represented by &amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt; type. Please don&#039;t use it.If [[Custom Features#Calendar Sync| Calendar Sync Custom Feature]] enabled then object with&lt;br /&gt;
&amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type will contain not empty list of time slots marked as busy in Google calendar. Call&lt;br /&gt;
&amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; API method to check if Calendar Sync Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:360--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;2016-02-05&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;dd&amp;quot;: [], // time slots from Google calendar&lt;br /&gt;
        &amp;quot;events&amp;quot;: [ // reserved time slots&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;16:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;17:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;reserved_time&amp;quot;,&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;events&amp;quot;: [&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;09:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;10:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;not_worked_time&amp;quot;&lt;br /&gt;
     }],&lt;br /&gt;
     ...&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTimeIntervals === &amp;lt;!--T:361--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:362--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:363--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:364--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer|Array &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:365--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:366--&amp;gt;&lt;br /&gt;
Returns not available time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [{&#039;reserved_time&#039;: [{&#039;from&#039;: &#039;14:00&#039;, &#039;to&#039;: &#039;16:30&#039;}], &#039;type&#039;: &amp;quot;reserved_time&amp;quot;}, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getSocialCounterStats === &amp;lt;!--T:367--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:368--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getSocialCounterStats($provider)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:369--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:370--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$provider&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:371--&amp;gt;&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:372--&amp;gt;&lt;br /&gt;
Returns social counters value for your domain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStartTimeMatrix === &amp;lt;!--T:373--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:374--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getStartTimeMatrix($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:375--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:376--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:377--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:378--&amp;gt;&lt;br /&gt;
Returns available start time, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [&#039;09:00:00&#039;, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:379--&amp;gt;&lt;br /&gt;
If locations Custom Feature activated for company you should pass a list as $unitID parameter for filter results with&lt;br /&gt;
units available only for selected location. See [[Custom Features#Multiple Locations|Multiple locations]] Custom Feature description for&lt;br /&gt;
more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStatuses === &amp;lt;!--T:380--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:381--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getStatuses()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:382--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:383--&amp;gt;&lt;br /&gt;
Returns list of available statuses or an empty list if [[Custom Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimeframe === &amp;lt;!--T:384--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:385--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTimeframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:386--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:387--&amp;gt;&lt;br /&gt;
Returns company&#039;s timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Need to change interval (timeframe)|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimelineType === &amp;lt;!--T:388--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:389--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTimelineType()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:390--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:391--&amp;gt;&lt;br /&gt;
Returns company calendar layout type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopPerformers === &amp;lt;!--T:392--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:393--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTopPerformers()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:394--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:395--&amp;gt;&lt;br /&gt;
Returns a list with statistics for performers. This data contains number of bookings and revenues value for each performer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopServices === &amp;lt;!--T:396--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:397--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTopServices($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:398--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:399--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:400--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:401--&amp;gt;&lt;br /&gt;
Returns a list with statistics for services for a period of time. This data contains number of bookings and&lt;br /&gt;
revenues value for each service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitList === &amp;lt;!--T:402--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:403--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:404--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:405--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:406--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:407--&amp;gt;&lt;br /&gt;
Returns list of service performers. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as&lt;br /&gt;
key and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property&lt;br /&gt;
of event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkdayInfo === &amp;lt;!--T:408--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:409--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkdayInfo($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:410--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:411--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:412--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:413--&amp;gt;&lt;br /&gt;
Return workday info (date_start and date_end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkingDurations === &amp;lt;!--T:414--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:415--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkingDurations($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:416--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:417--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:418--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:419--&amp;gt;&lt;br /&gt;
Return working durations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getVisitorStats === &amp;lt;!--T:420--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:421--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getVisitorStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:422--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:423--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:424--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:425--&amp;gt;&lt;br /&gt;
Returns statistics about page visits if Custom Feature [[Custom Features#Visitor Counter|Visitor Counter Custom Feature]] enabled. Returns&lt;br /&gt;
an empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;counter&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled. Results can be grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on&lt;br /&gt;
selected grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWarnings === &amp;lt;!--T:426--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:427--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWarnings($lastOnly)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:428--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:429--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039;  Boolean. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:430--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:431--&amp;gt;&lt;br /&gt;
Returns a list of objects represented system warnings. Each warning contains &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt;&lt;br /&gt;
properties. &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt; property contains localized message. &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; can be one of the values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:432--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;sms_limit&#039;&#039;&#039; – warning indicates low amount of SMS credits&lt;br /&gt;
* &#039;&#039;&#039;sheduler_limit&#039;&#039;&#039; – warning indicates low amount of available bookings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkCalendar === &amp;lt;!--T:433--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:434--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkCalendar($year, $month, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:435--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:436--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$year&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$month&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:437--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:438--&amp;gt;&lt;br /&gt;
Returns company work schedule as array&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-01&#039;: {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;21:00:00&#039;, &#039;is_day_off&#039;: &#039;0&#039;}, &#039;2014-05-02&#039;: ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysInfo === &amp;lt;!--T:439--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:440--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysInfo($from, $to, $unitId, $eventId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:441--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:442--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:443--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:444--&amp;gt;&lt;br /&gt;
Returns an information about working hours and break times for specified service and performer for a period&lt;br /&gt;
between two dates. If only service specified then information about performer (or performers) will be taken from&lt;br /&gt;
service configuration. Method returns a list of objects for each date in specified period. Count of objects in&lt;br /&gt;
list depends on break times. For example if performer works from 9:00 till 19:00 with one hour break at 13:00 method&lt;br /&gt;
returns:&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&#039;2014-05-14&#039; : [&lt;br /&gt;
    {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;13:00:00&#039;},&lt;br /&gt;
    {&#039;from&#039;: &#039;14:00:00&#039;, &#039;to&#039;: &#039;19:00:00&#039;}&lt;br /&gt;
  ] }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:445--&amp;gt;&lt;br /&gt;
Warning! Method can return a time string &#039;24:00:00&#039; as right edge of time range. This happens in case if time&lt;br /&gt;
range finishes on midnight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysTimes === &amp;lt;!--T:446--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:447--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysTimes($startDateTime, $endDateTime, $type = &#039;unit_group&#039;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:448--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:449--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; string. Optional. Either &#039;unit_group&#039; or &#039;event&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:450--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:451--&amp;gt;&lt;br /&gt;
Return busy time by unit id by Calendar Sync Custom Feature if enabled. Please note that this method may return not actual data because data synchronization between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkload === &amp;lt;!--T:452--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:453--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkload($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:454--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:455--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:456--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:457--&amp;gt;&lt;br /&gt;
Return workload data for units in period of time. Workload for each unit represented as array with work hours&lt;br /&gt;
at index 0, confirmed booking hours as load at index 1 and cancelled bookings hours at index 2.Example:&lt;br /&gt;
  [&#039;2015-10-21&#039; : {&lt;br /&gt;
     5 : [&lt;br /&gt;
       10, // working hours&lt;br /&gt;
       10, // load hours (confirmed bookings hours)&lt;br /&gt;
       0   // cancelled bookings hours&lt;br /&gt;
  ] }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== isPluginActivated === &amp;lt;!--T:458--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:459--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;isPluginActivated($pluginName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:460--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:461--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$pluginName&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:462--&amp;gt;&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:463--&amp;gt;&lt;br /&gt;
Return Custom Feature status true if status active, else false. &amp;lt;var&amp;gt;$pluginName&amp;lt;/var&amp;gt; parameter is a Custom Feature identifier.See [[Custom Features]] page for full Custom Features description. See [[Company administration service methods#Custom Features.27 identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingApprove === &amp;lt;!--T:464--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:465--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingApprove($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:466--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:467--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:468--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:469--&amp;gt;&lt;br /&gt;
Sets approve booking status to &#039;approved&#039; if [[Custom Features#Approve Bookings|Approve booking]] Custom Feature enabled and returns&lt;br /&gt;
list of approved booking IDs. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingCancel === &amp;lt;!--T:470--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:471--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingCancel($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:472--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:473--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:474--&amp;gt;&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:475--&amp;gt;&lt;br /&gt;
Sets approve booking status to &#039;canceled&#039; if [[Custom Features#Approve Bookings|Approve bookings]] Custom Feature enabled and returns&lt;br /&gt;
true. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookings === &amp;lt;!--T:476--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:477--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookings()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:478--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:479--&amp;gt;&lt;br /&gt;
Returns list of objects with information about bookings pending approval if [[Custom Features#Approve Bookings|Approve bookings]]&lt;br /&gt;
Custom Feature enabled. Returns empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookingsCount === &amp;lt;!--T:480--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:481--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookingsCount()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:482--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:483--&amp;gt;&lt;br /&gt;
Returns count of bookings pending approval if [[Custom Features#Approve Bookings|Approve bookings]] Custom Feature enabled. Returns&lt;br /&gt;
0 if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setBookingComment === &amp;lt;!--T:484--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:485--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;setBookingComment($id, $comment)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:486--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:487--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$comment&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:488--&amp;gt;&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:489--&amp;gt;&lt;br /&gt;
Set booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStatus === &amp;lt;!--T:490--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:491--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStatus ($bookingId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:492--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:493--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:494--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:495--&amp;gt;&lt;br /&gt;
Returns an object of status of given booking (if status plugin is enabled)&lt;br /&gt;
default status will be returned if bookingId does not exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setStatus === &amp;lt;!--T:496--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:497--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;setStatus($bookingId, $statusId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:498--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:499--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$statusId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:500--&amp;gt;&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:501--&amp;gt;&lt;br /&gt;
Sets specified status for booking. Returns an error with code -32020 if logged in user don&#039;t have access to edit&lt;br /&gt;
bookings. This method does nothing if [[Custom Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== updateNotification === &amp;lt;!--T:502--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:503--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;updateNotification($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:504--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:505--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:506--&amp;gt;&lt;br /&gt;
Returns .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:507--&amp;gt;&lt;br /&gt;
Mark notifications as readed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setWorkDayInfo=== &amp;lt;!--T:508--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:509--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;setWorkDayInfo($info)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:510--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:511--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$info&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:512--&amp;gt;&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:513--&amp;gt;&lt;br /&gt;
Set work day schedule for company|service|provider for week_day|date&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:514--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;start_time&amp;quot;:&amp;quot;10:00&amp;quot;,&lt;br /&gt;
&amp;quot;end_time&amp;quot;:&amp;quot;18:00&amp;quot;,&lt;br /&gt;
&amp;quot;is_day_off&amp;quot;:0,&lt;br /&gt;
&amp;quot;breaktime&amp;quot;:[{&amp;quot;start_time&amp;quot;:&amp;quot;14:00&amp;quot;,&amp;quot;end_time&amp;quot;:&amp;quot;15:00&amp;quot;}],&lt;br /&gt;
&amp;quot;index&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
&amp;quot;name&amp;quot;:&amp;quot;Monday&amp;quot;,&lt;br /&gt;
&amp;quot;date&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:515--&amp;gt;&lt;br /&gt;
index is 1-7 for Monday - Sunday (used for weekly settings)&lt;br /&gt;
date is used to set worktime for special date&lt;br /&gt;
unit_group_id is provider id&lt;br /&gt;
event_id is service id&lt;br /&gt;
if unit_group_id and event_id not passed then it set data for company&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteSpecialDay=== &amp;lt;!--T:516--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:517--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;deleteSpecialDay($date, $params = null)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:518--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:519--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:520--&amp;gt;&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:521--&amp;gt;&lt;br /&gt;
Delete special date if set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:522--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;2017-08-21&#039;, &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addServiceProvider=== &amp;lt;!--T:523--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:524--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;addServiceProvider($data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:525--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:526--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:527--&amp;gt;&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:528--&amp;gt;&lt;br /&gt;
Create new service provider&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:529--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editServiceProvider=== &amp;lt;!--T:530--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:531--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;editServiceProvider($id, $data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:532--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:533--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:534--&amp;gt;&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:535--&amp;gt;&lt;br /&gt;
Edit service provider&lt;br /&gt;
(there is no way to delete provider via API, in this case set is_active = 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:536--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1, &lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:537--&amp;gt;&lt;br /&gt;
-&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constants == &amp;lt;!--T:538--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error codes === &amp;lt;!--T:539--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:540--&amp;gt;&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:541--&amp;gt;&lt;br /&gt;
* -32001 Custom Feature is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32015 Passed event id is not reccuren&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Intake form values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32081 Service can&#039;t be performed when company does not work&lt;br /&gt;
* -32082 Service performer can&#039;t work when company does not work&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 &lt;br /&gt;
*: An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Company params=== &amp;lt;!--T:542--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:543--&amp;gt;&lt;br /&gt;
Use these values to get configuration params for company with &amp;lt;code&amp;gt;[[Company administration service methods#getCompanyParam|getCompanyParam]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
&lt;br /&gt;
=====General params===== &amp;lt;!--T:544--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:545--&amp;gt;&lt;br /&gt;
Administration API inherits all [[Company public service methods#Company params|keys]] allowed for public API and extends this list with keys:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:546--&amp;gt;&lt;br /&gt;
* attach_ical&lt;br /&gt;
* auto_redirect&lt;br /&gt;
* auto_redirect_text&lt;br /&gt;
* blockchain_address&lt;br /&gt;
* blockchain_secret&lt;br /&gt;
* borgun_merchant_id&lt;br /&gt;
* borgun_payment_gateway_id&lt;br /&gt;
* borgun_secret_code&lt;br /&gt;
* client_batch_cancel_template&lt;br /&gt;
* client_batch_cancel_template_email&lt;br /&gt;
* client_batch_cancel_template_email_subject&lt;br /&gt;
* client_event_cancel_template&lt;br /&gt;
* client_event_cancel_template_email&lt;br /&gt;
* client_event_cancel_template_email_subject&lt;br /&gt;
* client_event_change_template&lt;br /&gt;
* client_event_change_template_email&lt;br /&gt;
* client_event_change_template_email_subject&lt;br /&gt;
* client_event_creation_template&lt;br /&gt;
* client_event_creation_template_email&lt;br /&gt;
* client_event_creation_template_email_subject&lt;br /&gt;
* client_event_group_creation_template&lt;br /&gt;
* client_event_group_creation_template_email&lt;br /&gt;
* client_event_group_creation_template_email_subject&lt;br /&gt;
* client_event_multiple_creation_template&lt;br /&gt;
* client_event_multiple_creation_template_email&lt;br /&gt;
* client_event_multiple_creation_template_email_subject&lt;br /&gt;
* client_group_notification_template&lt;br /&gt;
* client_group_notification_template_email&lt;br /&gt;
* client_group_notification_template_email_subject&lt;br /&gt;
* client_multiple_notification_template&lt;br /&gt;
* client_multiple_notification_template_email&lt;br /&gt;
* client_multiple_notification_template_email_subject&lt;br /&gt;
* client_notification_template&lt;br /&gt;
* client_notification_template_email&lt;br /&gt;
* client_notification_template_email_subject&lt;br /&gt;
* client_notification_time&lt;br /&gt;
* client_recurring_event_creation_template&lt;br /&gt;
* client_recurring_event_creation_template_email&lt;br /&gt;
* client_recurring_event_creation_template_email_subject&lt;br /&gt;
* common_limit_booking&lt;br /&gt;
* company_ga_tracking_id&lt;br /&gt;
* default_phone&lt;br /&gt;
* disconnect_on_timeout&lt;br /&gt;
* email_event_list&lt;br /&gt;
* email_events_list_template&lt;br /&gt;
* email_group_events_list_template&lt;br /&gt;
* event_list_style&lt;br /&gt;
* feed_back_interval&lt;br /&gt;
* feedback_invite_template_email&lt;br /&gt;
* feedback_invite_template_email_subject&lt;br /&gt;
* google_conversion_color&lt;br /&gt;
* google_conversion_currency&lt;br /&gt;
* google_conversion_format&lt;br /&gt;
* google_conversion_id&lt;br /&gt;
* google_conversion_label&lt;br /&gt;
* google_conversion_language&lt;br /&gt;
* google_conversion_value&lt;br /&gt;
* hide_working_hours_block&lt;br /&gt;
* include_cancel_link&lt;br /&gt;
* kortais_merchant&lt;br /&gt;
* kortais_secret_code&lt;br /&gt;
* kortais_terminal&lt;br /&gt;
* layout_background&lt;br /&gt;
* layout_background_repeat&lt;br /&gt;
* mobile_site_link&lt;br /&gt;
* mobile_site_link_title&lt;br /&gt;
* no_show_period&lt;br /&gt;
* on_success_button_link&lt;br /&gt;
* on_success_button_text&lt;br /&gt;
* recap_interval&lt;br /&gt;
* recap_send_after_time&lt;br /&gt;
* recap_send_canceled_bookings&lt;br /&gt;
* recap_send_new_bookings&lt;br /&gt;
* recap_send_upcomming_bookings&lt;br /&gt;
* send_cancel_to_client&lt;br /&gt;
* send_cancel_to_client_email&lt;br /&gt;
* send_cancel_to_unit&lt;br /&gt;
* send_cancel_to_unit_email&lt;br /&gt;
* send_contact_widget_email_notification&lt;br /&gt;
* send_contact_widget_sms_notification&lt;br /&gt;
* send_notify_to_client&lt;br /&gt;
* send_notify_to_client_email&lt;br /&gt;
* send_notify_to_unit&lt;br /&gt;
* send_notify_to_unit_email&lt;br /&gt;
* send_onchange_to_client&lt;br /&gt;
* send_onchange_to_client_email&lt;br /&gt;
* send_onchange_to_unit&lt;br /&gt;
* send_onchange_to_unit_email&lt;br /&gt;
* send_oncreate_to_client&lt;br /&gt;
* send_oncreate_to_client_email&lt;br /&gt;
* send_oncreate_to_unit&lt;br /&gt;
* send_oncreate_to_unit_email&lt;br /&gt;
* send_sms_if_push_enabled&lt;br /&gt;
* site_link&lt;br /&gt;
* site_link_title&lt;br /&gt;
* skip_limits_for_admin&lt;br /&gt;
* skip_show_mobile_app_ads&lt;br /&gt;
* skip_show_on_success_button&lt;br /&gt;
* sms_event_list&lt;br /&gt;
* sms_events_list_template&lt;br /&gt;
* sms_group_events_list_template&lt;br /&gt;
* unit_batch_cancel_template&lt;br /&gt;
* unit_batch_cancel_template_email&lt;br /&gt;
* unit_batch_cancel_template_email_subject&lt;br /&gt;
* unit_event_cancel_template&lt;br /&gt;
* unit_event_cancel_template_email&lt;br /&gt;
* unit_event_cancel_template_email_subject&lt;br /&gt;
* unit_event_change_template&lt;br /&gt;
* unit_event_change_template_email&lt;br /&gt;
* unit_event_change_template_email_subject&lt;br /&gt;
* unit_event_creation_template&lt;br /&gt;
* unit_event_creation_template_email&lt;br /&gt;
* unit_event_creation_template_email_subject&lt;br /&gt;
* unit_event_group_creation_template&lt;br /&gt;
* unit_event_group_creation_template_email&lt;br /&gt;
* unit_event_group_creation_template_email_subject&lt;br /&gt;
* unit_group_notification_template&lt;br /&gt;
* unit_group_notification_template_email&lt;br /&gt;
* unit_group_notification_template_email_subject&lt;br /&gt;
* unit_notification_template&lt;br /&gt;
* unit_notification_template_email&lt;br /&gt;
* unit_notification_template_email_subject&lt;br /&gt;
* unit_notification_time&lt;br /&gt;
* unit_recurring_event_creation_template&lt;br /&gt;
* unit_recurring_event_creation_template_email&lt;br /&gt;
* unit_recurring_event_creation_template_email_subject&lt;br /&gt;
* use_common_client_db&lt;br /&gt;
* user_confirmation&lt;br /&gt;
* user_public_layout&lt;br /&gt;
* user_public_theme&lt;br /&gt;
* waiting_video&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Accept payments Custom Feature params===== &amp;lt;!--T:547--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:548--&amp;gt;&lt;br /&gt;
Read more about [[Custom Features#Accept Payments|Accept Payments Custom Feature configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:549--&amp;gt;&lt;br /&gt;
* allow_delay_payment&lt;br /&gt;
*: Allow delay payment option. Boolean.&lt;br /&gt;
* company_currency&lt;br /&gt;
*:&lt;br /&gt;
* hide_sale_tax&lt;br /&gt;
*: Hide sales tax option. Boolean.&lt;br /&gt;
* payment_timeout&lt;br /&gt;
*: Payment timeout option. String (&amp;quot;5 minutes&amp;quot;, &amp;quot;1 hour&amp;quot;, ...)&lt;br /&gt;
* sale_tax&lt;br /&gt;
*: Sales tax option. Integer. You should divide by 100 to get percent value.&lt;br /&gt;
* paypal_account&lt;br /&gt;
*: PayPal payment processor configuration. String.&lt;br /&gt;
* skrill_account&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* skrill_secret&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_id&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_key&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_application_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_id&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_secret_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* liqpay_merchant_id&lt;br /&gt;
* liqpay_merchant_pass&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Term &amp;amp; Conditions Custom Feature params===== &amp;lt;!--T:550--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:551--&amp;gt;&lt;br /&gt;
Read more about [[Custom Features#Terms and Conditions|Terms and Conditions Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:552--&amp;gt;&lt;br /&gt;
* user_license_text&lt;br /&gt;
*: Terms and conditions text. String.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Custom Features&#039; identifiers=== &amp;lt;!--T:553--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:554--&amp;gt;&lt;br /&gt;
Custom Feature identifier is a string constant which represents a Custom Feature in system. These constants used in &amp;lt;code&amp;gt;[[Company administration service methods#isPluginActivated|isPluginActivated]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[Company administration service methods#getPluginStatuses|getPluginStatuses]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:555--&amp;gt;&lt;br /&gt;
* advanced_notification&lt;br /&gt;
*:Book Soon notification system&lt;br /&gt;
* any_unit&lt;br /&gt;
*:Any Employee selector&lt;br /&gt;
* api&lt;br /&gt;
*:API&lt;br /&gt;
* approve_booking&lt;br /&gt;
*:Approve booking&lt;br /&gt;
* back_to_site&lt;br /&gt;
*:Take me back home&lt;br /&gt;
* contact_widget&lt;br /&gt;
*:Contact widget&lt;br /&gt;
* counter&lt;br /&gt;
*:Visitor Counter&lt;br /&gt;
* custom_css&lt;br /&gt;
*:Custom CSS&lt;br /&gt;
* data_security&lt;br /&gt;
*:Clean history&lt;br /&gt;
* description&lt;br /&gt;
*:HTML description field for events&lt;br /&gt;
* event_category&lt;br /&gt;
*:Service categories&lt;br /&gt;
* event_field&lt;br /&gt;
*:Intake forms&lt;br /&gt;
* facebookImage&lt;br /&gt;
*:Facebook client info&lt;br /&gt;
* financial_dashboard&lt;br /&gt;
*:Insights&lt;br /&gt;
* google_analytics&lt;br /&gt;
*:Google Adwords and analytics&lt;br /&gt;
* google_calendar_export&lt;br /&gt;
*:Calendar sync&lt;br /&gt;
* group_booking&lt;br /&gt;
*:Group bookings&lt;br /&gt;
* hipaa&lt;br /&gt;
*:HIPAA&lt;br /&gt;
* limit_bookings&lt;br /&gt;
*:Limit bookings&lt;br /&gt;
* location&lt;br /&gt;
*:Multiple locations&lt;br /&gt;
* mobile_app_backend&lt;br /&gt;
*:Mobile application&lt;br /&gt;
* multiple_booking&lt;br /&gt;
*:Multiple bookings&lt;br /&gt;
* news&lt;br /&gt;
*:News&lt;br /&gt;
* paid_events&lt;br /&gt;
*:Accept payments&lt;br /&gt;
&amp;lt;!--* promo&lt;br /&gt;
*:Rewards and Referrals--&amp;gt;&lt;br /&gt;
* recap&lt;br /&gt;
*:Daily report&lt;br /&gt;
* secure&lt;br /&gt;
*:SSL&lt;br /&gt;
* status&lt;br /&gt;
*:Status&lt;br /&gt;
* unit_colors&lt;br /&gt;
*:Providers color coding&lt;br /&gt;
* user_license&lt;br /&gt;
*:Terms and conditions&lt;br /&gt;
* cancelation_policy&lt;br /&gt;
*:Cancellation Policy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:556--&amp;gt;&lt;br /&gt;
See [[Custom Features]] page for description for each Custom Feature.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Examples == &amp;lt;!--T:557--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====getBookingDetails response==== &amp;lt;!--T:558--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:559--&amp;gt;&lt;br /&gt;
An example of data returned by [[Company administration service methods#getBookingDetails|getBookingDetails]] API method.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:560--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;: &amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;event_name&amp;quot;: &amp;quot;Massage&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_name&amp;quot;: &amp;quot;John&amp;quot;,&lt;br /&gt;
    &amp;quot;client_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;client_name&amp;quot;: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date_time&amp;quot;: &amp;quot;2015-11-25 15:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;end_date_time&amp;quot;: &amp;quot;2015-11-25 16:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;is_confirmed&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;h8v8w5ls&amp;quot;,&lt;br /&gt;
    &amp;quot;record_date&amp;quot;: &amp;quot;2015-11-19 04:06:38&amp;quot;,&lt;br /&gt;
    &amp;quot;comment&amp;quot;: null,&lt;br /&gt;
    &amp;quot;company_login&amp;quot;: &amp;quot;testzt&amp;quot;,&lt;br /&gt;
    &amp;quot;company_name&amp;quot;: &amp;quot;My Cool Company&amp;quot;,&lt;br /&gt;
    &amp;quot;company_phone&amp;quot;: &amp;quot;+1-555-55-55&amp;quot;,&lt;br /&gt;
    &amp;quot;company_email&amp;quot;: &amp;quot;into@mycoolcompany.com&amp;quot;,&lt;br /&gt;
    &amp;quot;additional_fields&amp;quot;: [{&lt;br /&gt;
      &amp;quot;value&amp;quot;: &amp;quot;on&amp;quot;,&lt;br /&gt;
      &amp;quot;field_name&amp;quot;: &amp;quot;201a89517de509f6b3a60858918faac3&amp;quot;,&lt;br /&gt;
      &amp;quot;field_title&amp;quot;: &amp;quot;Include washing&amp;quot;,&lt;br /&gt;
      &amp;quot;field_position&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;field_type&amp;quot;: &amp;quot;checkbox&amp;quot;,&lt;br /&gt;
      &amp;quot;field_id&amp;quot;: &amp;quot;4&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;comments&amp;quot;: [],&lt;br /&gt;
    &amp;quot;history&amp;quot;: [{&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;536&amp;quot;,&lt;br /&gt;
      &amp;quot;sheduler_id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
      &amp;quot;datetime&amp;quot;: &amp;quot;2015-11-19 11:06:38&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;create&amp;quot;,&lt;br /&gt;
      &amp;quot;user_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;agent&amp;quot;: &amp;quot;SimplyBook.me\/55 CFNetwork\/758.0.2 Darwin\/15.0.0&amp;quot;,&lt;br /&gt;
      &amp;quot;ip&amp;quot;: &amp;quot;213.174.0.53, 158.69.224.50:127.0.0.1&amp;quot;,&lt;br /&gt;
      &amp;quot;referer&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;login&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
      &amp;quot;firstname&amp;quot;: &amp;quot;Mikhail&amp;quot;,&lt;br /&gt;
      &amp;quot;lastname&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;status&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Fancy Status&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;color&amp;quot;: &amp;quot;4cbadb&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;location&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;location&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;picture&amp;quot;: &amp;quot;e1e9409fe9682c78b2f8f294dc151af0.jpg&amp;quot;,&lt;br /&gt;
      &amp;quot;address1&amp;quot;: null,&lt;br /&gt;
      &amp;quot;address2&amp;quot;: &amp;quot;Saint Margaret Street&amp;quot;,&lt;br /&gt;
      &amp;quot;city&amp;quot;: &amp;quot;\u041b\u043e\u043d\u0434\u043e\u043d&amp;quot;,&lt;br /&gt;
      &amp;quot;zip&amp;quot;: null,&lt;br /&gt;
      &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
      &amp;quot;lat&amp;quot;: &amp;quot;51.50013000000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;lng&amp;quot;: &amp;quot;-0.12630500000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;phone&amp;quot;: &amp;quot;44&amp;quot;,&lt;br /&gt;
      &amp;quot;position&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;price&amp;quot;: [],&lt;br /&gt;
    &amp;quot;promo&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:561--&amp;gt;&lt;br /&gt;
Location field is present in response only if [[Custom Features#Multiple Locations|Multiple locations Custom Feature]] is enabled. Otherwise this field will be an empty array. If locations Custom Feature is enabled but booking doesn&#039;t have any locations this fields also will be an empty array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:562--&amp;gt;&lt;br /&gt;
Status field is present in response only if [[Custom Features#Status|Status Custom Feature]] is enabled. Otherwise this field will be an empty array. If Custom Feature enabled but booking doesn&#039;t have any statues specified the default status returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:563--&amp;gt;&lt;br /&gt;
Price field is present in response only if [[Custom Features#Accept Payments|Accept payments Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a free service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:564--&amp;gt;&lt;br /&gt;
&amp;lt;!--Promo field is present in response only if [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains false if Custom Feature is enabled but booking was created without any promo codes.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;additional_fields&amp;lt;/code&amp;gt; field is present in response only if [[Custom Features#Intake Forms|Intake Forms Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a service with no intake forms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====book response==== &amp;lt;!--T:565--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:566--&amp;gt;&lt;br /&gt;
[[Company administration service methods#book|&amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt;]] API method returns an object which contains list of objects with short description of newly create bookings. Method returns only one item in &#039;bookings&#039; array for regular appointment and more than one item for recurring or batch bookings.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:567--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;require_confirm&amp;quot;:false,&lt;br /&gt;
    &amp;quot;bookings&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;434&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-30 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-30 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc14ca&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;785cb8cce316e64765b94c05a635f4be&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;435&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-31 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-31 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc2pge&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;8b92d634541bfd93c0830967e56f4653&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;436&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-04 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-04 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc3urb&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;cd22a0bf183f7350e595988dd2486e5b&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;437&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-05 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-05 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc44d9&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;53f98ff4e4a0323aa907156c59c99362&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;batch_type&amp;quot;:&amp;quot;batch_recurrent_booking&amp;quot;,&lt;br /&gt;
    &amp;quot;recurrent_batch_id&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;batch_hash&amp;quot;:&amp;quot;357178bce290381bb7235080941ec143&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====getCompanyInfo response==== &amp;lt;!--T:568--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:569--&amp;gt;&lt;br /&gt;
An example of data returned by [[Company administration service methods#getCompanyInfo|getCompanyInfo]] API method.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:570--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;login&amp;quot;: &amp;quot;pierrecoetzee&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;Pierre&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;address1&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;address2&amp;quot;: &amp;quot;Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;city&amp;quot;: &amp;quot;London&amp;quot;,&lt;br /&gt;
    &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
    &amp;quot;lat&amp;quot;: &amp;quot;51.500435&amp;quot;,&lt;br /&gt;
    &amp;quot;lng&amp;quot;: &amp;quot;-0.129811&amp;quot;,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;pierre.coe@gmail.com&amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;web&amp;quot;: null,&lt;br /&gt;
    &amp;quot;skip_address&amp;quot;: null,&lt;br /&gt;
    &amp;quot;logo&amp;quot;: null,&lt;br /&gt;
    &amp;quot;address&amp;quot;: &amp;quot;GB, London, Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;description_text&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;timezone&amp;quot;: &amp;quot;Europe London&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_client_timezone&amp;quot;: false,&lt;br /&gt;
    &amp;quot;timeframe&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
    &amp;quot;timeline_type&amp;quot;: &amp;quot;modern_week&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_day_break&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_breaktime_break&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:571--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;timeline_type&amp;lt;/code&amp;gt; field can be one the following values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:572--&amp;gt;&lt;br /&gt;
* flexible&lt;br /&gt;
* modern&lt;br /&gt;
* flexible_week&lt;br /&gt;
* modern_week&lt;br /&gt;
* classic&lt;br /&gt;
* classes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:573--&amp;gt;&lt;br /&gt;
Please note that &amp;lt;code&amp;gt;classic&amp;lt;/code&amp;gt; timeline type is deprecated and not supported anymore.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:574--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; field contains raw data of company&#039;s description which can include HTML tags. &amp;lt;code&amp;gt;description_text&amp;lt;/code&amp;gt; field contains only text information without HTML tags.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:575--&amp;gt;&lt;br /&gt;
For information about &amp;lt;code&amp;gt; timeframe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timezone&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;allow_event_day_break&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;allow_event_breaktime_break&amp;lt;/code&amp;gt; see [[Company administration service methods#Company params|Company params section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:576--&amp;gt;&lt;br /&gt;
&amp;lt;!--====getPluginPromoInfoByCode response====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:577--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;yvuvugum&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;We are offering [service\/services] with an amazing [discount]% discount! We are running this deal for a limited time only.&amp;quot;,&lt;br /&gt;
    &amp;quot;discount&amp;quot;: &amp;quot;99.9999&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;expired_date&amp;quot;: &amp;quot;2016-01-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_date&amp;quot;: &amp;quot;2015-12-31&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_time&amp;quot;: &amp;quot;09:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_time&amp;quot;: &amp;quot;22:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_usage_count&amp;quot;: &amp;quot;20&amp;quot;,&lt;br /&gt;
    &amp;quot;fineprint_text&amp;quot;: &amp;quot;Deal is limited for new clients only. Reward is claimable [client_claim_times_number] times per client. Deal is only claimable for the locations specified. Deal is cannot be combined with any other promotion. Must be redeemed prior to the expiration date shown on the deal.&amp;quot;,&lt;br /&gt;
    &amp;quot;redemption_text&amp;quot;: &amp;quot;Present your confirmation code when you want to redeem your deal. You may either to print off your confirmation email or show your confirmation code by loggin into Simplybook on your mobile phone\/Pc.\r\n[promocode]\r\n[discount]\r\n[reward]\r\n[referal_qty]&amp;quot;,&lt;br /&gt;
    &amp;quot;headline&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;: null,&lt;br /&gt;
    &amp;quot;allow_customer_count&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_catalogue&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;: &amp;quot;active&amp;quot;,&lt;br /&gt;
    &amp;quot;plugin_promo_message_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;common_promotion_id&amp;quot;: &amp;quot;132&amp;quot;,&lt;br /&gt;
    &amp;quot;service_ids&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:578--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; contains a list of services for wich promotion discount can be applied.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Integration&amp;diff=15863</id>
		<title>Integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Integration&amp;diff=15863"/>
		<updated>2025-05-15T13:21:38Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Integration - SimplyBook.me&lt;br /&gt;
|description=Explore SimplyBook.me integrations to connect with external tools and platforms. Enhance your workflow. Learn more here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, online scheduling, free scheduling software, online booking system, online calendar, employee scheduling software, schedule, scheduling software, scheduling app, booking calendar, calendar software&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[SBPay.me | SBPay.me]]&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Widgets for your own website]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[https://simplydemowidgets.mozello.com/ Widget examples]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Bookings on Facebook |Bookings on Facebook and Instagram]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[WordPress_integration | WordPress integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Bookings on Facebook | Facebook CTA button and widget]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Other Integrations]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Own domain | Custom Domain]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Integration&amp;diff=15862</id>
		<title>Integration</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Integration&amp;diff=15862"/>
		<updated>2025-05-15T13:21:31Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Integration - SimplyBook.me&lt;br /&gt;
|description=Explore SimplyBook.me integrations to connect with external tools and platforms. Enhance your workflow. Learn more here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, online scheduling, free scheduling software, online booking system, online calendar, employee scheduling software, schedule, scheduling software, scheduling app, booking calendar, calendar software&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[SBPay.me | SBPay.me]]&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Widgets for your own website]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[https://simplydemowidgets.mozello.com/ Widget examples]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Bookings on Facebook |Bookings on Facebook and Instagram]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[WordPress_integration | WordPress integration]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Bookings on Facebook | Facebook CTA button and widget]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Other Integrations]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*&amp;lt;div class=&amp;quot;article&amp;quot;&amp;gt;[[Own domain | Custom Domain]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Catalogue&amp;diff=15728</id>
		<title>Catalogue</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Catalogue&amp;diff=15728"/>
		<updated>2025-05-15T13:18:13Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Catalogue - SimplyBook.me&lt;br /&gt;
|description=Learn about the SimplyBook.me API built on JSON-RPC protocol. Access remote services via HTTPS with JSON-serialized requests!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Information== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using JSON. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Часовая фотосесcия&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Если Вы хотите попробовать себя в роли модели, но не определились с образом. &amp;lt;br /&amp;gt; 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске&amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[#Authentication|authentication]] section.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Endpoint=== &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/catalogue&amp;lt;/code&amp;gt; for all service API calls listed in [[#Methods|methods section]].&lt;br /&gt;
&lt;br /&gt;
===Authentication=== &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[Authentication#getToken|getToken]]&amp;lt;/code&amp;gt; API methods on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom_Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods == &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCategories === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCategories()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
Get lsit of ALL categories&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCities === &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCities($country)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$country&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
Returns city list as Array order by name&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyCount === &amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCount($filter)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
Returns total companies count with specified filter$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyInfo === &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo($login)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$login&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
Returns company information by company login&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyList === &amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyList($filter, $from, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; Integer - from position&lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer - rows limit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
Returns companies list$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyMarkers === &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyMarkers($filter, $bounds, $zoom, $clustering)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
* &#039;&#039;&#039;$bounds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$zoom&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$clustering&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
Returns company markers$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyReviews === &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyReviews($login)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$login&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
Returns company reviews list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountries === &amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCountries()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
Returns country list as Array order by name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbackList === &amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbackList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
Get lsit of ALL simplybook feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionCount === &amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionCount($filter)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
Returns total active promotions count with specified filter$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionInfo === &amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionInfo($id, $feedbackFrom, $feedbackCount)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$feedbackFrom&#039;&#039;&#039; Integer = 0&lt;br /&gt;
* &#039;&#039;&#039;$feedbackCount&#039;&#039;&#039; Integer = 100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
Returns promotion information by id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionList === &amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionList($filter, $from, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; Integer - from position&lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer - rows limit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
Returns active promotion list$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionListByIds === &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionListByIds($ids)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$ids&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
Returns active promotion list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionReviews === &amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionReviews($promotionId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$promotionId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
Returns promotion reviews list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentCompanies === &amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentCompanies($count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:96--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:97--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:98--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:99--&amp;gt;&lt;br /&gt;
Returns list of companies ordered by date DESC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentFeedbacks === &amp;lt;!--T:100--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentFeedbacks($count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:102--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:103--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:104--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
Returns list of feedbacs ordered by date DESC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentPromotions === &amp;lt;!--T:106--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:107--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentPromotions($count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:108--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:109--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:110--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:111--&amp;gt;&lt;br /&gt;
Returns list of promotions ordered by date DESC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRelatedPromotions === &amp;lt;!--T:112--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:113--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRelatedPromotions($id, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:114--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:115--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer = 10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:116--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:117--&amp;gt;&lt;br /&gt;
Returns related promotions by given promotion id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getTags === &amp;lt;!--T:118--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:119--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTags($filter)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:120--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:121--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:122--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
Returns tags list$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getTopCities === &amp;lt;!--T:124--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:125--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTopCities()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:126--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:127--&amp;gt;&lt;br /&gt;
Returns city list as Array order by company count in city&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getTopCountries === &amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:129--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTopCountries()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:130--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:131--&amp;gt;&lt;br /&gt;
Returns country list as Array order by company count in country&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Catalogue&amp;diff=15727</id>
		<title>Catalogue</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Catalogue&amp;diff=15727"/>
		<updated>2025-05-15T13:14:17Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Catalogue - SimplyBook.me&lt;br /&gt;
|description=Learn about the SimplyBook.me API built on JSON-RPC protocol. Access remote services via HTTPS with JSON-serialized requests!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Information==&lt;br /&gt;
&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using JSON. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Часовая фотосесcия&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Если Вы хотите попробовать себя в роли модели, но не определились с образом. &amp;lt;br /&amp;gt; 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске&amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[#Authentication|authentication]] section.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Endpoint===&lt;br /&gt;
&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/catalogue&amp;lt;/code&amp;gt; for all service API calls listed in [[#Methods|methods section]].&lt;br /&gt;
&lt;br /&gt;
===Authentication===&lt;br /&gt;
&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[Authentication#getToken|getToken]]&amp;lt;/code&amp;gt; API methods on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom_Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
=== getCategories ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCategories()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get lsit of ALL categories&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCities ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCities($country)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$country&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns city list as Array order by name&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyCount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCount($filter)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns total companies count with specified filter$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo($login)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$login&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns company information by company login&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyList($filter, $from, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; Integer - from position&lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer - rows limit&lt;br /&gt;
&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns companies list$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyMarkers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyMarkers($filter, $bounds, $zoom, $clustering)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
* &#039;&#039;&#039;$bounds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$zoom&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$clustering&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns company markers$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getCompanyReviews ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyReviews($login)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$login&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns company reviews list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountries()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns country list as Array order by name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbackList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbackList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get lsit of ALL simplybook feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionCount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionCount($filter)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns total active promotions count with specified filter$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionInfo($id, $feedbackFrom, $feedbackCount)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$feedbackFrom&#039;&#039;&#039; Integer = 0&lt;br /&gt;
* &#039;&#039;&#039;$feedbackCount&#039;&#039;&#039; Integer = 100&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns promotion information by id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionList($filter, $from, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; Integer - from position&lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer - rows limit&lt;br /&gt;
&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns active promotion list$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;search_string&#039;: String,&lt;br /&gt;
&#039;service_name&#039;: String,&lt;br /&gt;
&#039;company_name&#039;: String,&lt;br /&gt;
&#039;company_address&#039;: String,&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String,&lt;br /&gt;
&#039;nearby&#039;: {&lt;br /&gt;
    &#039;radius&#039;: Integer,&lt;br /&gt;
    &#039;center&#039;: {&lt;br /&gt;
       &#039;lat&#039;: Number,&lt;br /&gt;
       &#039;lng&#039;: NUmber&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionListByIds ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionListByIds($ids)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$ids&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns active promotion list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPromotionReviews ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPromotionReviews($promotionId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$promotionId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns promotion reviews list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentCompanies ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentCompanies($count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of companies ordered by date DESC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentFeedbacks ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentFeedbacks($count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of feedbacs ordered by date DESC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentPromotions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentPromotions($count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of promotions ordered by date DESC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRelatedPromotions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRelatedPromotions($id, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer = 10&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns related promotions by given promotion id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getTags ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTags($filter)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$filter&#039;&#039;&#039; Object - filter object&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns tags list$filter filter params. Object that contains following params&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;tag_ids&#039;: [Integer, Integer, ...],&lt;br /&gt;
&#039;tags&#039;: String,&lt;br /&gt;
&#039;country_id&#039;: String,&lt;br /&gt;
&#039;city_id&#039;: String&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use tag_ids OR tags&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getTopCities ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopCities()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns city list as Array order by company count in city&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getTopCountries ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopCountries()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns country list as Array order by company count in country&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Authentication&amp;diff=15694</id>
		<title>Authentication</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Authentication&amp;diff=15694"/>
		<updated>2025-05-15T13:11:02Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Authentication - SimplyBook.me&lt;br /&gt;
|description=Add authentication for secure access to your booking system. Protect client and business data. Learn more about this feature!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Methods == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getServiceUrl === &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getServiceUrl($companyLogin)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$companyLogin&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
Returns API url for given company login&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getApplicationToken === &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getApplicationToken($applicationApiKey)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$applicationApiKey&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Returns an application&#039;s token string for an application. You should use this token to authenticate all calls of&lt;br /&gt;
[[Company public service methods|Company public service API methods]] and [[Catalogue|Catalogue API methods]]. To&lt;br /&gt;
get application API key please contact SimplyBook.me support team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getToken === &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getToken($companyLogin, $apiKey)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$companyLogin&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$apiKey&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
Returns an application&#039;s token string for a company. You should use this token to authenticate all calls of&lt;br /&gt;
[[Company public service methods|Company public service API methods]] and [[Catalogue|Catalogue API methods]]. To&lt;br /&gt;
get application API key you need to enable [[Custom_Features#API|API Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getUserToken === &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getUserToken($companyLogin, $userLogin, $userPassword)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$companyLogin&#039;&#039;&#039; String a company identifier (login)&lt;br /&gt;
* &#039;&#039;&#039;$userLogin&#039;&#039;&#039; String user&#039;s login associated with company&lt;br /&gt;
* &#039;&#039;&#039;$userPassword&#039;&#039;&#039; String user&#039;s password&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Returns an authentication token string for certain user registered for company. You should use this token to&lt;br /&gt;
authenticate all calls of [[Company administration service methods|Company administration service API methods]] and&lt;br /&gt;
[[Catalogue|Catalogue API methods]].&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Constants== &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error codes === &amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
* -33001 Company does not exist&lt;br /&gt;
* -33002 Wrong API key&lt;br /&gt;
* -33003 User with this login and password not found&lt;br /&gt;
* -33004 User is blocked&lt;br /&gt;
* -33005 You are not allowed to use this application when HIPAA Custom Feature is enabled&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Authentication&amp;diff=15693</id>
		<title>Authentication</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Authentication&amp;diff=15693"/>
		<updated>2025-05-15T13:10:48Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Authentication - SimplyBook.me&lt;br /&gt;
|description=Add authentication for secure access to your booking system. Protect client and business data. Learn more about this feature!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
=== getServiceUrl ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getServiceUrl($companyLogin)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$companyLogin&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns API url for given company login&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getApplicationToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getApplicationToken($applicationApiKey)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$applicationApiKey&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns an application&#039;s token string for an application. You should use this token to authenticate all calls of&lt;br /&gt;
[[Company public service methods|Company public service API methods]] and [[Catalogue|Catalogue API methods]]. To&lt;br /&gt;
get application API key please contact SimplyBook.me support team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getToken($companyLogin, $apiKey)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$companyLogin&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$apiKey&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns an application&#039;s token string for a company. You should use this token to authenticate all calls of&lt;br /&gt;
[[Company public service methods|Company public service API methods]] and [[Catalogue|Catalogue API methods]]. To&lt;br /&gt;
get application API key you need to enable [[Custom_Features#API|API Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getUserToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUserToken($companyLogin, $userLogin, $userPassword)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$companyLogin&#039;&#039;&#039; String a company identifier (login)&lt;br /&gt;
* &#039;&#039;&#039;$userLogin&#039;&#039;&#039; String user&#039;s login associated with company&lt;br /&gt;
* &#039;&#039;&#039;$userPassword&#039;&#039;&#039; String user&#039;s password&lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns an authentication token string for certain user registered for company. You should use this token to&lt;br /&gt;
authenticate all calls of [[Company administration service methods|Company administration service API methods]] and&lt;br /&gt;
[[Catalogue|Catalogue API methods]].&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Constants==&lt;br /&gt;
&lt;br /&gt;
=== Error codes ===&lt;br /&gt;
&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
* -33001 Company does not exist&lt;br /&gt;
* -33002 Wrong API key&lt;br /&gt;
* -33003 User with this login and password not found&lt;br /&gt;
* -33004 User is blocked&lt;br /&gt;
* -33005 You are not allowed to use this application when HIPAA Custom Feature is enabled&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Authentication&amp;diff=15692</id>
		<title>Authentication</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Authentication&amp;diff=15692"/>
		<updated>2025-05-15T13:10:20Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Authentication - SimplyBook.me&lt;br /&gt;
|description=Add authentication for secure access to your booking system. Protect client and business data. Learn more about this feature!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
=== getServiceUrl ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getServiceUrl($companyLogin)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$companyLogin&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns API url for given company login&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getApplicationToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getApplicationToken($applicationApiKey)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$applicationApiKey&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns an application&#039;s token string for an application. You should use this token to authenticate all calls of&lt;br /&gt;
[[Company public service methods|Company public service API methods]] and [[Catalogue|Catalogue API methods]]. To&lt;br /&gt;
get application API key please contact SimplyBook.me support team.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getToken($companyLogin, $apiKey)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$companyLogin&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$apiKey&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns an application&#039;s token string for a company. You should use this token to authenticate all calls of&lt;br /&gt;
[[Company public service methods|Company public service API methods]] and [[Catalogue|Catalogue API methods]]. To&lt;br /&gt;
get application API key you need to enable [[Custom_Features#API|API Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== getUserToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUserToken($companyLogin, $userLogin, $userPassword)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$companyLogin&#039;&#039;&#039; String a company identifier (login)&lt;br /&gt;
* &#039;&#039;&#039;$userLogin&#039;&#039;&#039; String user&#039;s login associated with company&lt;br /&gt;
* &#039;&#039;&#039;$userPassword&#039;&#039;&#039; String user&#039;s password&lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns an authentication token string for certain user registered for company. You should use this token to&lt;br /&gt;
authenticate all calls of [[Company administration service methods|Company administration service API methods]] and&lt;br /&gt;
[[Catalogue|Catalogue API methods]].&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Constants==&lt;br /&gt;
&lt;br /&gt;
=== Error codes ===&lt;br /&gt;
&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
* -33001 Company does not exist&lt;br /&gt;
* -33002 Wrong API key&lt;br /&gt;
* -33003 User with this login and password not found&lt;br /&gt;
* -33004 User is blocked&lt;br /&gt;
* -33005 You are not allowed to use this application when HIPAA Custom Feature is enabled&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Errors_handling&amp;diff=15691</id>
		<title>Errors handling</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Errors_handling&amp;diff=15691"/>
		<updated>2025-05-15T13:07:49Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Errors handling - SimplyBook.me&lt;br /&gt;
|description=Get guidance on managing errors in your SimplyBook.me account. Resolve issues quickly with our troubleshooting tips.&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
= Errors handling =&lt;br /&gt;
&lt;br /&gt;
In case of error server returns an object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;error&amp;quot; : {&lt;br /&gt;
        &amp;quot;code&amp;quot; : &amp;quot;-32602&amp;quot;,&lt;br /&gt;
        &amp;quot;message&amp;quot; : &amp;quot;Invalid params&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot; : &amp;quot;2126711093&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot; : &amp;quot;2.0&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Error codes ==&lt;br /&gt;
&lt;br /&gt;
* -32001 Plugin is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Additional field values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 : An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Login API error codes ==&lt;br /&gt;
&lt;br /&gt;
Authentication [https://simplybook.me/api/doc#/login API methods] have different set of errors.&lt;br /&gt;
&lt;br /&gt;
* -33001 Company does not exist&lt;br /&gt;
* -33002 Wrong API key&lt;br /&gt;
* -33003 User with this login and password not found&lt;br /&gt;
* -33004 User is blocked&lt;br /&gt;
* -33005 You are not allowed to use this application when HIPAA Plugin is enabled&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Errors_handling&amp;diff=15690</id>
		<title>Errors handling</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Errors_handling&amp;diff=15690"/>
		<updated>2025-05-15T13:07:12Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Errors handling - SimplyBook.me&lt;br /&gt;
|description=Get guidance on managing errors in your SimplyBook.me account. Resolve issues quickly with our troubleshooting tips.&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, plugins, custom features, custom booking page link, domain name, custom domain name, custom url&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
= Errors handling =&lt;br /&gt;
&lt;br /&gt;
In case of error server returns an object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;error&amp;quot; : {&lt;br /&gt;
        &amp;quot;code&amp;quot; : &amp;quot;-32602&amp;quot;,&lt;br /&gt;
        &amp;quot;message&amp;quot; : &amp;quot;Invalid params&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot; : &amp;quot;2126711093&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot; : &amp;quot;2.0&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Error codes ==&lt;br /&gt;
&lt;br /&gt;
* -32001 Plugin is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Additional field values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 &lt;br /&gt;
*: An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Login API error codes ==&lt;br /&gt;
&lt;br /&gt;
Authentication [https://simplybook.me/api/doc#/login API methods] have different set of errors.&lt;br /&gt;
&lt;br /&gt;
* -33001 Company does not exist&lt;br /&gt;
* -33002 Wrong API key&lt;br /&gt;
* -33003 User with this login and password not found&lt;br /&gt;
* -33004 User is blocked&lt;br /&gt;
* -33005 You are not allowed to use this application when HIPAA Plugin is enabled&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15109</id>
		<title>Company administration service methods</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15109"/>
		<updated>2025-05-15T12:57:46Z</updated>

		<summary type="html">&lt;p&gt;Tania: Marked this version for translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Company administration service methods - SimplyBook.me&lt;br /&gt;
|description=Learn about service methods for internal company administration. Manage bookings tailored to your operations. Start here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Information== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using [http://www.json.org JSON]. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Часовая фотосесcия&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Если Вы хотите попробовать себя в роли модели, но не определились с образом. &amp;lt;br /&amp;gt; 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске&amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
Example of request with error response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;someNotExistingMethod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;id&amp;quot;:1,&lt;br /&gt;
    &amp;quot;error&amp;quot;: {&lt;br /&gt;
      &amp;quot;code&amp;quot;: -32601,&lt;br /&gt;
      &amp;quot;message&amp;quot;: &amp;quot;Method not found&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[#Authentication|authentication]] section.&lt;br /&gt;
&lt;br /&gt;
===Endpoint=== &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/admin&amp;lt;/code&amp;gt; for all administration service API calls.&lt;br /&gt;
&lt;br /&gt;
===Authentication=== &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom_Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods == &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addClient === &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;addClient($clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
Adds new client with specified data. You can specify name, email, phone, address1, address2, city, zip,&lt;br /&gt;
country_id. If client record with specified data exists  method will return an id of this record. Otherwise data&lt;br /&gt;
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&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam(&#039;require_fields&#039;)&amp;lt;/code&amp;gt; method to check which fields are required.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Method returns an error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
     name: &amp;quot;Frances T. Perez&amp;quot;,&lt;br /&gt;
     phone: &amp;quot;+1502-810-4521&amp;quot;,&lt;br /&gt;
     email: &amp;quot;FrancesTPerez@teleworm.us&amp;quot;,&lt;br /&gt;
     address1: &amp;quot;3872 Earnhardt Drive&amp;quot;,&lt;br /&gt;
     address2: &amp;quot;Louisville, KY 40219&amp;quot;,&lt;br /&gt;
     city: Louisville,&lt;br /&gt;
     zip: 3872&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== addDeviceToken === &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;addDeviceToken($token, $device)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String a device token string&lt;br /&gt;
* &#039;&#039;&#039;$device&#039;&#039;&#039; String a device type (&#039;android&#039; or &#039;apple&#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
Subscribe a mobile device to push notifications service. Device will recieve notifications about new bookings or&lt;br /&gt;
changes in already created bookings. Use either &amp;lt;code&amp;gt;&#039;apple&#039;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&#039;android&#039;&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;&lt;br /&gt;
parameter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== book === &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;book($eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional, $count, $batchId, $recurringData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer bookings count used to make group bookings batch. This parameter can&#039;t be less than 1. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer add booking to group bookings batch. You can&#039;t use $count and $batchId in one call. Please specify only one parameter. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array - make booking recurrent. (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
Creates new booking record. Returns an object with appointment information or throw exception if booking time not&lt;br /&gt;
available or any of required parameters missed. If appointment requires confirmation, in result object will be&lt;br /&gt;
&amp;lt;code&amp;gt;require_confirm = true&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt; specifies a date of&lt;br /&gt;
booking and time slot. Time value should be multiple to &#039;timeframe&#039; configuration of company (see&lt;br /&gt;
&amp;lt;code&amp;gt;[[#getTimeframe|getTimeframe]]&amp;lt;/code&amp;gt; API method). &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; parameters&lt;br /&gt;
should be calculated according to service duration. However you can specify different values to make appointment&lt;br /&gt;
longer or shorter then service configuration. Note that &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; should be&lt;br /&gt;
later in time than &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt;. If your clients located in different time&lt;br /&gt;
zone you should specify &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; parameter as difference between company&#039;s time zone and&lt;br /&gt;
client&#039;s time zone in seconds. For example if company located in city with time zone GMT+2 and customer located&lt;br /&gt;
in city with GMT+3 then &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; will be -3600 seconds. You can get information about company&#039;s&lt;br /&gt;
time zone using &amp;lt;code&amp;gt;[[#getCompanyInfo|getCompanyInfo]]&amp;lt;/code&amp;gt; API method. To create batch booking you can&lt;br /&gt;
specify either &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; more then 1 or valid &amp;lt;code&amp;gt;batchId&amp;lt;/code&amp;gt; (only one parameter can be&lt;br /&gt;
specified). You should specify an &amp;lt;code&amp;gt;$additionalFields&amp;lt;/code&amp;gt; parameter if service requires some intake forms (see [[Custom_Features#Intake_Forms|Intake Forms Custom feature]]).To create a booking with promo code you should pass it as additional field. For example: &amp;lt;code&amp;gt;{&amp;quot;promocode&amp;quot;: &amp;quot;some code&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
If [[Custom_Features#Multiple_Locations| Multiple locations]] enabled you need to pass locations ID parameter as additional field&lt;br /&gt;
&amp;lt;code&amp;gt;location_id&amp;lt;/code&amp;gt;. For example: &amp;lt;code&amp;gt;{&amp;quot;location_id&amp;quot;: &amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt;. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
to check if Custom feature active and &amp;lt;code&amp;gt;[[#getLocationsList|getLocationsList()]]&amp;lt;/code&amp;gt; method to get list of&lt;br /&gt;
available locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
See [[#book response|example]] of &amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt; API method response.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
* [https://help.simplybook.me/index.php/Need_to_change_interval_(timeframe) Timeframe information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== calculateEndTime === &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;calculateEndTime($startDateTime, $eventId, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; 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;.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
Returns String|Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
Returns end datetime if booking is available, else return false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBatch === &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBatch($id, $bookingIds)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer identifier of batch. See &amp;lt;code&amp;gt;[[#createBatch|createBatch]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
* &#039;&#039;&#039;$bookingIds&#039;&#039;&#039; Array ids of bookings included to batch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
Cancel batch of bookings. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found)&lt;br /&gt;
if no booking with specified id were found. A booking with first id in &amp;lt;code&amp;gt;$bookingIds&amp;lt;/code&amp;gt; list is used for&lt;br /&gt;
information in notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBooking === &amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBooking($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
Cancels booking. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found) if&lt;br /&gt;
no booking with specified id were found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== createBatch === &amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;createBatch()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
Creates new booking batch record. Returns newly created batch id. You can use this id in &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteDeviceToken === &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;deleteDeviceToken($token)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String - device token&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
Unsubscribe from push notifications service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== editBook === &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;editBook($shedulerId, $eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer an id of booking to edit. See &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[#getBookings|getBookings]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
Edit existing booking record. See [[#book|book]] API method description for more details about date/time parameters,&lt;br /&gt;
time zone handling and additional fields. Returns null if parameters not valid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editClient === &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;editClient($clientId, $clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
Edits client&#039;s record. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; method description for list of available fields.Method returns an id of client&#039;s record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== filterAvailableUnits === &amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;filterAvailableUnits($eventId, $dateTime, $unitIds, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:96--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitIds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:97--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:98--&amp;gt;&lt;br /&gt;
Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with location Custom Feature.&lt;br /&gt;
Returns empty array if all units are not allowed.&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:99--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAdditionalFields === &amp;lt;!--T:100--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getAdditionalFields($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:102--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:103--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:104--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
Return intake forms for certain event if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is&lt;br /&gt;
activated. Returns empty array otherwise. Call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_field&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if &#039;event_field&#039; Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:106--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAnyUnitData === &amp;lt;!--T:107--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:108--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getAnyUnitData()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:109--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object|null.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:110--&amp;gt;&lt;br /&gt;
Returns information about [[Custom_Features#Any_Employee_Selector|Any Employee selector Custom Feature]] configuration. Returns&lt;br /&gt;
null if Custom Feature not enabled.Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot; : &amp;quot;Select this option, if you want to find an available time with any of the employees&amp;quot;,&lt;br /&gt;
    &amp;quot;hide_other_units&amp;quot; : 1, // 1 or 0&lt;br /&gt;
    &amp;quot;image&amp;quot; : null,&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;Any employee&amp;quot;,&lt;br /&gt;
    &amp;quot;picture_path&amp;quot; : null,&lt;br /&gt;
    &amp;quot;random_selection&amp;quot; : 0 // 1 or 0&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:111--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableTimeIntervals === &amp;lt;!--T:112--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:113--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:114--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:115--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:116--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:117--&amp;gt;&lt;br /&gt;
Returns available time intervals for all service providers for given period, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{[&#039;2016-03-04&#039;: [&#039;1&#039;: [[&#039;09:00:00&#039;,&#039;09:30:00&#039;], [&#039;11:15:00&#039;,&#039;14:45:00&#039;]] , ...], ...]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:118--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableUnits === &amp;lt;!--T:119--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:120--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableUnits($eventId, $dateTime, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:121--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:122--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:124--&amp;gt;&lt;br /&gt;
Returns list of available unit ids for specified date and service or empty array if all units are not allowed.Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:125--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingCancellationsInfo === &amp;lt;!--T:126--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:127--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingCancellationsInfo($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:129--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data from first day of current week.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data filtered to last day of current week.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:130--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:131--&amp;gt;&lt;br /&gt;
Returns statistics about created bookings and cancellations for a time period. Data presented as array of hashes for&lt;br /&gt;
each type of operation (created or cancelled booking) groped by clients. &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; field can be either&lt;br /&gt;
&amp;quot;create&amp;quot;, &amp;quot;cancel&amp;quot; or &amp;quot;nopayment_cancel&amp;quot;. If &amp;lt;code&amp;gt;&amp;quot;user_id&amp;quot;&amp;lt;/code&amp;gt; not specified then bookings where created or&lt;br /&gt;
cancelled by admin or employee. Data with type &amp;lt;code&amp;gt;&amp;quot;nopayment_cancel&amp;quot;&amp;lt;/code&amp;gt; represents bookings cancelled&lt;br /&gt;
automatically by system.Example:&lt;br /&gt;
  3 bookings where created by admin or employee and 2 bookings where automatically cancelled by system.&lt;br /&gt;
  [{&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 3,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;create&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }, {&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 2,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;nopayment_cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:132--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingComment === &amp;lt;!--T:133--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:134--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingComment($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:135--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:136--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:137--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:138--&amp;gt;&lt;br /&gt;
Returns booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:139--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingDetails === &amp;lt;!--T:140--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:141--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingDetails($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:142--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:143--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; integer booking id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:144--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:145--&amp;gt;&lt;br /&gt;
Returns detailed bookings object by booking id. See [[#getBookingDetails_response|response example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:146--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingLimitUnavailableTimeInterval === &amp;lt;!--T:147--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:148--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingLimitUnavailableTimeInterval($startDateTime, $endDateTime, $eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:149--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:150--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:151--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:152--&amp;gt;&lt;br /&gt;
Returns time intervals not available for bookings because of configuration of [[Custom_Features#Limit_Bookings|Limit bookings]]&lt;br /&gt;
Custom Feature for period of time. Returns empty array if Custom Feature not available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:153--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingRevenue === &amp;lt;!--T:154--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:155--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingRevenue($dateStart, $dateEnd, $unitGroupId, $serviceId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:156--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:157--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
* &#039;&#039;&#039;$serviceId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:158--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:159--&amp;gt;&lt;br /&gt;
Return bookings count and revenue value for each date in specified period. Data grouped by unit id and&lt;br /&gt;
represented as array with bookings count at index 0 and revenue amount at index 1. You can filter data either&lt;br /&gt;
by unit or by service. Set &amp;lt;code&amp;gt;$dateStart&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$dateEnd&amp;lt;/code&amp;gt; to null to get data for current week.Example:&lt;br /&gt;
  [&#039;2015-11-12&#039; : {&lt;br /&gt;
     3 : [&lt;br /&gt;
       11, // bookings count&lt;br /&gt;
       128.53 // revenue&lt;br /&gt;
  ]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:160--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStats === &amp;lt;!--T:161--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:162--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:163--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:164--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:165--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:166--&amp;gt;&lt;br /&gt;
Returns statistic about bookings count grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:167--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookings === &amp;lt;!--T:168--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:169--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookings($params)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:170--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:171--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:172--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:173--&amp;gt;&lt;br /&gt;
Returns list of bookings filtered by given params. Filter params represented as object with following fields:* &#039;&#039;&#039;date_from&#039;&#039;&#039; a date of booking in string format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_from&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_to&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_from&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;unit_group_id&#039;&#039;&#039; an integer. Use it to get bookings assigned for certain service provider.&lt;br /&gt;
* &#039;&#039;&#039;event_id&#039;&#039;&#039; an integer. Use it to  get bookings only for certain service.&lt;br /&gt;
* &#039;&#039;&#039;is_confirmed&#039;&#039;&#039; 1 or 0. If [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled then method will return confirmed bookings with approve status &#039;new&#039;.&lt;br /&gt;
* &#039;&#039;&#039;client_id&#039;&#039;&#039; an integer. Use it to get bookings only for certain client.&lt;br /&gt;
* &#039;&#039;&#039;order&#039;&#039;&#039; string either &#039;record_date&#039;, &#039;date_start&#039; or &#039;date_start_asc&#039;. By default used &#039;date_start&#039; value.&lt;br /&gt;
* &#039;&#039;&#039;booking_type&#039;&#039;&#039; a string. Value of this field depends on Approve booking Custom Feature status.&lt;br /&gt;
*: If Custom Feature not active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 0&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 1&lt;br /&gt;
*: If Custom Feature active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; returns bookings with &#039;is_confirmed&#039; field equals to 0 and approve booking status equals to &#039;cancelled&#039; (or booking does not have any approve status)&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 or approve booking status equals to &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_client&#039;&#039;&#039; returns bookings approved by admin but cancelled by client&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_admin&#039;&#039;&#039; returns bookings cancelled by admin&lt;br /&gt;
** &#039;&#039;&#039;non_approved_yet&#039;&#039;&#039; returns bookings with approve status &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;approved&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 and approve booking status equals to &#039;approved&#039; (or booking does not have any approve status)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:174--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;date_from&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;date_to&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;booking_type&amp;quot;:&amp;quot;cancelled&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;:&amp;quot;start_date&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:175--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingsZapier === &amp;lt;!--T:176--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:177--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingsZapier()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:178--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:179--&amp;gt;&lt;br /&gt;
Returns list of bookings filtered by given params&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:180--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCategoriesList === &amp;lt;!--T:181--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:182--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCategoriesList($isPublic)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:183--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:184--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:185--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:186--&amp;gt;&lt;br /&gt;
Returns company categories list if [[Custom_Features#Service_Categories|Service Categories Custom Feature]] is activated. Returns&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_category&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:187--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClient === &amp;lt;!--T:188--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:189--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getClient($clientId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:190--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:191--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:192--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:193--&amp;gt;&lt;br /&gt;
Returns client&#039;s data object. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:194--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientComments === &amp;lt;!--T:195--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:196--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getClientComments($clientId, $shedulerId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:197--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:198--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:199--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:200--&amp;gt;&lt;br /&gt;
Returns list of all comments for given client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:201--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientList === &amp;lt;!--T:202--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:203--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getClientList($searchString, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:204--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:205--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$searchString&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:206--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:207--&amp;gt;&lt;br /&gt;
Returns list of clients associated with company. You can use either phone number, email address or name as value&lt;br /&gt;
for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt;. Pass an empty string for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt; and null for &amp;lt;code&amp;gt;$limit&amp;lt;/code&amp;gt;&lt;br /&gt;
parameters to get all records. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:208--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyCurrency === &amp;lt;!--T:209--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:210--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCurrency()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:211--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:212--&amp;gt;&lt;br /&gt;
Returns company&#039;s currency as three chars code (ISO 4217).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:213--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCompanyInfo === &amp;lt;!--T:214--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:215--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:216--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:217--&amp;gt;&lt;br /&gt;
Returns an object with detailed information about company. See [[#getCompanyInfo response|example of response]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:218--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParam === &amp;lt;!--T:219--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:220--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam($key)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:221--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:222--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$key&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:223--&amp;gt;&lt;br /&gt;
Returns mixed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:224--&amp;gt;&lt;br /&gt;
Returns company config value for key. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:225--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParams === &amp;lt;!--T:226--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:227--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParams($keys)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:228--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:229--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$keys&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:230--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:231--&amp;gt;&lt;br /&gt;
Returns company config values for keys. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].For non-existent and not-allowed params it will return false as result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:232--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyTimezoneOffset === &amp;lt;!--T:233--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:234--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyTimezoneOffset()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:235--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:236--&amp;gt;&lt;br /&gt;
Returns company timezone offset and company timezone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:237--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryList === &amp;lt;!--T:238--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:239--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:240--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:241--&amp;gt;&lt;br /&gt;
Get list of all countries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:242--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryPhoneCodes === &amp;lt;!--T:243--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:244--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryPhoneCodes()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:245--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:246--&amp;gt;&lt;br /&gt;
Returns country phone code list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:247--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentTariffInfo === &amp;lt;!--T:248--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:249--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentTariffInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:250--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:251--&amp;gt;&lt;br /&gt;
Returns all information about current tariff (subscription). For example:{&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;gold&amp;quot;,&lt;br /&gt;
    &amp;quot;expire_date&amp;quot; : &amp;quot;2016-02-11 12:32:00&amp;quot;,&lt;br /&gt;
    &amp;quot;rest&amp;quot; : 41, // number of days until subscription expiration&lt;br /&gt;
    &amp;quot;color&amp;quot; : &amp;quot;#fcb322&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:252--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentUserDetails === &amp;lt;!--T:253--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:254--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentUserDetails()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:255--&amp;gt;&lt;br /&gt;
No arguments. Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:256--&amp;gt;&lt;br /&gt;
Returns an object with information about logged in user. Note: you are responsible for implementation of some&lt;br /&gt;
access rights based on &amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property value. Most of API methods returns an error if user has low access&lt;br /&gt;
rights but not all. There are 4 roles:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:257--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; - have full access to the system&lt;br /&gt;
* &#039;&#039;&#039;Senior Employee&#039;&#039;&#039; - have access to calendar, services and providers, and can modify bookings related with user&lt;br /&gt;
* &#039;&#039;&#039;Junior Employee&#039;&#039;&#039; - can access caledar (but only to own bookings), services associated with user&lt;br /&gt;
* &#039;&#039;&#039;Viewer&#039;&#039;&#039; - have only access to calendar and services in read only mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:258--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property can be one of the values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:259--&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;shop_user&amp;lt;/code&amp;gt; - &amp;quot;Senior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;station_user&amp;lt;/code&amp;gt; - &amp;quot;Junior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; - &amp;quot;Administrator&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;viewer&amp;lt;/code&amp;gt; - &amp;quot;Viewer&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;reseller_company_admin&amp;lt;/code&amp;gt; - reserved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:260--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:261--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;id&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;login&amp;quot;: admin,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;admin@mycoolcompany.com&amp;quot;;&lt;br /&gt;
    &amp;quot;firstname&amp;quot;: &amp;quot;Michail&amp;quot;,&lt;br /&gt;
    &amp;quot;lastname&amp;quot;: &amp;quot; &amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;group&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;is_blocked&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;last_access_time&amp;quot;: &amp;quot;2016-06-06 17:55:51&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;: null&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:262--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getEventList === &amp;lt;!--T:263--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:264--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getEventList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:265--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:266--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:267--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:268--&amp;gt;&lt;br /&gt;
Returns company&#039;s events list. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as key&lt;br /&gt;
and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property of&lt;br /&gt;
event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:269--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbacks === &amp;lt;!--T:270--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:271--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbacks($approvedOnly, $reviewsOnly, $lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:272--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:273--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$approvedOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$reviewsOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:274--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:275--&amp;gt;&lt;br /&gt;
Get list of feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:276--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFirstWorkingDay === &amp;lt;!--T:277--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:278--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getFirstWorkingDay($unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:279--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:280--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:281--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:282--&amp;gt;&lt;br /&gt;
Returns first working date for unit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:283--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTime === &amp;lt;!--T:284--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:285--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTime($startDateTime, $endDateTime, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:286--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:287--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;. You can date string avoiding time in&lt;br /&gt;
this parameter. In this case method will use time value &#039;23:59:59&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:288--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:289--&amp;gt;&lt;br /&gt;
Returns a list of objects represented a time intervals marked as busy in Google Calendar. Each object of result&lt;br /&gt;
contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with datetime string as value. This method only actual if&lt;br /&gt;
[Custom_Features#Calendar_Sync|Calendar Sync Custom Feature] enabled. If Custom Feature not enabled an empty list will&lt;br /&gt;
be returned. You should call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; to&lt;br /&gt;
check status of the Custom Feature. Each object of result contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with&lt;br /&gt;
datetime string as value. Please note that this method may return not actual data because data synchronization&lt;br /&gt;
between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  [&lt;br /&gt;
   {&amp;quot;from&amp;quot; : &amp;quot;2016-02-16 13:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;to&amp;quot; : &amp;quot;2016-02-16 16:00:00&amp;quot;},&lt;br /&gt;
    ...&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:290--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTimeAvailableUnits === &amp;lt;!--T:291--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:292--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTimeAvailableUnits()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:293--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:294--&amp;gt;&lt;br /&gt;
Returns configured unit ids, allowed to sync busy time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:295--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getLastNotificationUpdate === &amp;lt;!--T:296--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:297--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getLastNotificationUpdate($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:298--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:299--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:300--&amp;gt;&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:301--&amp;gt;&lt;br /&gt;
Returns last update datetime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:302--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getLocationsList === &amp;lt;!--T:303--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:304--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getLocationsList($isPublic, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:305--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:306--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:307--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:308--&amp;gt;&lt;br /&gt;
Returns available locations for company if Custom Feature [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is activated. Return&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:309--&amp;gt;&lt;br /&gt;
This method accepts two boolean flags as parameters. If &#039;&#039;&#039;isPublic&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; then method returns only&lt;br /&gt;
public locations. If &#039;&#039;&#039;asArray&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; method returns list of objects. Otherwise method returns&lt;br /&gt;
map of objects with object id as key. You can omit both parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:310--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getPluginList === &amp;lt;!--T:311--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:312--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:313--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:314--&amp;gt;&lt;br /&gt;
Returns a list of all Custom Features associated with company with status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:315--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:316--&amp;gt;&lt;br /&gt;
&amp;lt;!---=== getPluginPromoInfoByCode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:317--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginPromoInfoByCode($code)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:318--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:319--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:320--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:321--&amp;gt;&lt;br /&gt;
Returns an object with detailed information about Rewards and referrals promotion by promotion code. You can get promotion code&lt;br /&gt;
using &amp;lt;code&amp;gt;[[Catalogue#getPromotionList|getPromotionList]]&amp;lt;/code&amp;gt; API method. If promotion record with specified code not found then method returns an empty array (an empty object). If [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]]&lt;br /&gt;
not enabled then method returns an error with code -32001 (Custom Feature is not activated). Use&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;promo&#039;)]]&amp;lt;/code&amp;gt; API method call to check if Custom Feature enabled. See [[#getPromotionList response|example]] of &amp;lt;code&amp;gt;getPromotionList&amp;lt;/code&amp;gt; API method response. Please note that&lt;br /&gt;
response contains a list of services for wich promotion discount can be applied (&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; key).&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPluginStatuses === &amp;lt;!--T:322--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:323--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginStatuses($pluginNames)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:324--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:325--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$pluginNames&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:326--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:327--&amp;gt;&lt;br /&gt;
Return Custom Feature status true if status active, else false. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentActions === &amp;lt;!--T:328--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:329--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentActions($lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:330--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:331--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:332--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:333--&amp;gt;&lt;br /&gt;
Returns latest actions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRecurringDatetimes === &amp;lt;!--T:334--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:335--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringDatetimes($eventId, $unitId, $date, $time, $recurringData, $endDateTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:336--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:337--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$time&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; String (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:338--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:339--&amp;gt;&lt;br /&gt;
Get list of dates for recurring booking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecurringSettings === &amp;lt;!--T:340--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:341--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringSettings($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:342--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:343--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:344--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:345--&amp;gt;&lt;br /&gt;
Returns an object with recurring settings for an event. Returns false if specified event does not configured as&lt;br /&gt;
recurring.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:346--&amp;gt;&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:347--&amp;gt;&lt;br /&gt;
* [http://blog.simplybook.me/recurring-and-periodic-bookings/ Recurring services desription]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRegistrations === &amp;lt;!--T:348--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:349--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getRegistrations($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:350--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:351--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:352--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:353--&amp;gt;&lt;br /&gt;
Returns number of clients registrations  by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTime === &amp;lt;!--T:354--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:355--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTime($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:356--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:357--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:358--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:359--&amp;gt;&lt;br /&gt;
Returns map of objects for each day in specified date range. The key of the result mps is a date string. The value&lt;br /&gt;
is an array of two objects. Both objects contains list of time slots for type &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; and type&lt;br /&gt;
&amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type represents time slots working time but already booked&lt;br /&gt;
by clients. Nobody knows what kind of data represented by &amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt; type. Please don&#039;t use it.If [[Custom_Features#Calendar_Sync| Calendar Sync Custom Feature]] enabled then object with&lt;br /&gt;
&amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type will contain not empty list of time slots marked as busy in Google calendar. Call&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; API method to check if Calendar Sync Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:360--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;2016-02-05&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;dd&amp;quot;: [], // time slots from Google calendar&lt;br /&gt;
        &amp;quot;events&amp;quot;: [ // reserved time slots&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;16:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;17:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;reserved_time&amp;quot;,&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;events&amp;quot;: [&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;09:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;10:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;not_worked_time&amp;quot;&lt;br /&gt;
     }],&lt;br /&gt;
     ...&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTimeIntervals === &amp;lt;!--T:361--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:362--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:363--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:364--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer|Array &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:365--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:366--&amp;gt;&lt;br /&gt;
Returns not available time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [{&#039;reserved_time&#039;: [{&#039;from&#039;: &#039;14:00&#039;, &#039;to&#039;: &#039;16:30&#039;}], &#039;type&#039;: &amp;quot;reserved_time&amp;quot;}, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getSocialCounterStats === &amp;lt;!--T:367--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:368--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getSocialCounterStats($provider)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:369--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:370--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$provider&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:371--&amp;gt;&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:372--&amp;gt;&lt;br /&gt;
Returns social counters value for your domain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStartTimeMatrix === &amp;lt;!--T:373--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:374--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getStartTimeMatrix($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:375--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:376--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:377--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:378--&amp;gt;&lt;br /&gt;
Returns available start time, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [&#039;09:00:00&#039;, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:379--&amp;gt;&lt;br /&gt;
If locations Custom Feature activated for company you should pass a list as $unitID parameter for filter results with&lt;br /&gt;
units available only for selected location. See [[Custom_Features#Multiple_Locations|Multiple locations]] Custom Feature description for&lt;br /&gt;
more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStatuses === &amp;lt;!--T:380--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:381--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getStatuses()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:382--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:383--&amp;gt;&lt;br /&gt;
Returns list of available statuses or an empty list if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimeframe === &amp;lt;!--T:384--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:385--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTimeframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:386--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:387--&amp;gt;&lt;br /&gt;
Returns company&#039;s timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Need_to_change_interval_(timeframe)|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimelineType === &amp;lt;!--T:388--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:389--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTimelineType()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:390--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:391--&amp;gt;&lt;br /&gt;
Returns company calendar layout type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopPerformers === &amp;lt;!--T:392--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:393--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTopPerformers()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:394--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:395--&amp;gt;&lt;br /&gt;
Returns a list with statistics for performers. This data contains number of bookings and revenues value for each performer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopServices === &amp;lt;!--T:396--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:397--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getTopServices($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:398--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:399--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:400--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:401--&amp;gt;&lt;br /&gt;
Returns a list with statistics for services for a period of time. This data contains number of bookings and&lt;br /&gt;
revenues value for each service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitList === &amp;lt;!--T:402--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:403--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:404--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:405--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:406--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:407--&amp;gt;&lt;br /&gt;
Returns list of service performers. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as&lt;br /&gt;
key and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property&lt;br /&gt;
of event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkdayInfo === &amp;lt;!--T:408--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:409--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkdayInfo($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:410--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:411--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:412--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:413--&amp;gt;&lt;br /&gt;
Return workday info (date_start and date_end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkingDurations === &amp;lt;!--T:414--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:415--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkingDurations($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:416--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:417--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:418--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:419--&amp;gt;&lt;br /&gt;
Return working durations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getVisitorStats === &amp;lt;!--T:420--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:421--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getVisitorStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:422--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:423--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:424--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:425--&amp;gt;&lt;br /&gt;
Returns statistics about page visits if Custom Feature [[Custom_Features#Visitor_Counter|Visitor Counter Custom Feature]] enabled. Returns&lt;br /&gt;
an empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;counter&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled. Results can be grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on&lt;br /&gt;
selected grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWarnings === &amp;lt;!--T:426--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:427--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWarnings($lastOnly)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:428--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:429--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039;  Boolean. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:430--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:431--&amp;gt;&lt;br /&gt;
Returns a list of objects represented system warnings. Each warning contains &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt;&lt;br /&gt;
properties. &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt; property contains localized message. &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; can be one of the values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:432--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;sms_limit&#039;&#039;&#039; – warning indicates low amount of SMS credits&lt;br /&gt;
* &#039;&#039;&#039;sheduler_limit&#039;&#039;&#039; – warning indicates low amount of available bookings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkCalendar === &amp;lt;!--T:433--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:434--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkCalendar($year, $month, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:435--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:436--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$year&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$month&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:437--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:438--&amp;gt;&lt;br /&gt;
Returns company work schedule as array&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-01&#039;: {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;21:00:00&#039;, &#039;is_day_off&#039;: &#039;0&#039;}, &#039;2014-05-02&#039;: ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysInfo === &amp;lt;!--T:439--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:440--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysInfo($from, $to, $unitId, $eventId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:441--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:442--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:443--&amp;gt;&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:444--&amp;gt;&lt;br /&gt;
Returns an information about working hours and break times for specified service and performer for a period&lt;br /&gt;
between two dates. If only service specified then information about performer (or performers) will be taken from&lt;br /&gt;
service configuration. Method returns a list of objects for each date in specified period. Count of objects in&lt;br /&gt;
list depends on break times. For example if performer works from 9:00 till 19:00 with one hour break at 13:00 method&lt;br /&gt;
returns:&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&#039;2014-05-14&#039; : [&lt;br /&gt;
    {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;13:00:00&#039;},&lt;br /&gt;
    {&#039;from&#039;: &#039;14:00:00&#039;, &#039;to&#039;: &#039;19:00:00&#039;}&lt;br /&gt;
  ] }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:445--&amp;gt;&lt;br /&gt;
Warning! Method can return a time string &#039;24:00:00&#039; as right edge of time range. This happens in case if time&lt;br /&gt;
range finishes on midnight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysTimes === &amp;lt;!--T:446--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:447--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysTimes($startDateTime, $endDateTime, $type = &#039;unit_group&#039;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:448--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:449--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; string. Optional. Either &#039;unit_group&#039; or &#039;event&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:450--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:451--&amp;gt;&lt;br /&gt;
Return busy time by unit id by Calendar Sync Custom Feature if enabled. Please note that this method may return not actual data because data synchronization between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkload === &amp;lt;!--T:452--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:453--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkload($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:454--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:455--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:456--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:457--&amp;gt;&lt;br /&gt;
Return workload data for units in period of time. Workload for each unit represented as array with work hours&lt;br /&gt;
at index 0, confirmed booking hours as load at index 1 and cancelled bookings hours at index 2.Example:&lt;br /&gt;
  [&#039;2015-10-21&#039; : {&lt;br /&gt;
     5 : [&lt;br /&gt;
       10, // working hours&lt;br /&gt;
       10, // load hours (confirmed bookings hours)&lt;br /&gt;
       0   // cancelled bookings hours&lt;br /&gt;
  ] }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== isPluginActivated === &amp;lt;!--T:458--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:459--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;isPluginActivated($pluginName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:460--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:461--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$pluginName&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:462--&amp;gt;&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:463--&amp;gt;&lt;br /&gt;
Return Custom Feature status true if status active, else false. &amp;lt;var&amp;gt;$pluginName&amp;lt;/var&amp;gt; parameter is a Custom Feature identifier.See [[Custom_Features|Custom Features]] page for full Custom Features description. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingApprove === &amp;lt;!--T:464--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:465--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingApprove($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:466--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:467--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:468--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:469--&amp;gt;&lt;br /&gt;
Sets approve booking status to &#039;approved&#039; if [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled and returns&lt;br /&gt;
list of approved booking IDs. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingCancel === &amp;lt;!--T:470--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:471--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingCancel($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:472--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:473--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:474--&amp;gt;&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:475--&amp;gt;&lt;br /&gt;
Sets approve booking status to &#039;canceled&#039; if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled and returns&lt;br /&gt;
true. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookings === &amp;lt;!--T:476--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:477--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookings()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:478--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:479--&amp;gt;&lt;br /&gt;
Returns list of objects with information about bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]]&lt;br /&gt;
Custom Feature enabled. Returns empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookingsCount === &amp;lt;!--T:480--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:481--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookingsCount()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:482--&amp;gt;&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:483--&amp;gt;&lt;br /&gt;
Returns count of bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled. Returns&lt;br /&gt;
0 if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setBookingComment === &amp;lt;!--T:484--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:485--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;setBookingComment($id, $comment)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:486--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:487--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$comment&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:488--&amp;gt;&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:489--&amp;gt;&lt;br /&gt;
Set booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStatus === &amp;lt;!--T:490--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:491--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStatus ($bookingId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:492--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:493--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:494--&amp;gt;&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:495--&amp;gt;&lt;br /&gt;
Returns an object of status of given booking (if status plugin is enabled)&lt;br /&gt;
default status will be returned if bookingId does not exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setStatus === &amp;lt;!--T:496--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:497--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;setStatus($bookingId, $statusId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:498--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:499--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$statusId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:500--&amp;gt;&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:501--&amp;gt;&lt;br /&gt;
Sets specified status for booking. Returns an error with code -32020 if logged in user don&#039;t have access to edit&lt;br /&gt;
bookings. This method does nothing if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== updateNotification === &amp;lt;!--T:502--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:503--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;updateNotification($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:504--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:505--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:506--&amp;gt;&lt;br /&gt;
Returns .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:507--&amp;gt;&lt;br /&gt;
Mark notifications as readed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setWorkDayInfo=== &amp;lt;!--T:508--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:509--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;setWorkDayInfo($info)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:510--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:511--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$info&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:512--&amp;gt;&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:513--&amp;gt;&lt;br /&gt;
Set work day schedule for company|service|provider for week_day|date&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:514--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;start_time&amp;quot;:&amp;quot;10:00&amp;quot;,&lt;br /&gt;
&amp;quot;end_time&amp;quot;:&amp;quot;18:00&amp;quot;,&lt;br /&gt;
&amp;quot;is_day_off&amp;quot;:0,&lt;br /&gt;
&amp;quot;breaktime&amp;quot;:[{&amp;quot;start_time&amp;quot;:&amp;quot;14:00&amp;quot;,&amp;quot;end_time&amp;quot;:&amp;quot;15:00&amp;quot;}],&lt;br /&gt;
&amp;quot;index&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
&amp;quot;name&amp;quot;:&amp;quot;Monday&amp;quot;,&lt;br /&gt;
&amp;quot;date&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:515--&amp;gt;&lt;br /&gt;
index is 1-7 for Monday - Sunday (used for weekly settings)&lt;br /&gt;
date is used to set worktime for special date&lt;br /&gt;
unit_group_id is provider id&lt;br /&gt;
event_id is service id&lt;br /&gt;
if unit_group_id and event_id not passed then it set data for company&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteSpecialDay=== &amp;lt;!--T:516--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:517--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;deleteSpecialDay($date, $params = null)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:518--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:519--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:520--&amp;gt;&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:521--&amp;gt;&lt;br /&gt;
Delete special date if set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:522--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;2017-08-21&#039;, &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addServiceProvider=== &amp;lt;!--T:523--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:524--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;addServiceProvider($data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:525--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:526--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:527--&amp;gt;&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:528--&amp;gt;&lt;br /&gt;
Create new service provider&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:529--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editServiceProvider=== &amp;lt;!--T:530--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:531--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;editServiceProvider($id, $data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:532--&amp;gt;&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:533--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:534--&amp;gt;&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:535--&amp;gt;&lt;br /&gt;
Edit service provider&lt;br /&gt;
(there is no way to delete provider via API, in this case set is_active = 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:536--&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1, &lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:537--&amp;gt;&lt;br /&gt;
-&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constants == &amp;lt;!--T:538--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error codes === &amp;lt;!--T:539--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:540--&amp;gt;&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:541--&amp;gt;&lt;br /&gt;
* -32001 Custom Feature is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32015 Passed event id is not reccuren&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Intake form values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32081 Service can&#039;t be performed when company does not work&lt;br /&gt;
* -32082 Service performer can&#039;t work when company does not work&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 &lt;br /&gt;
*: An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Company params=== &amp;lt;!--T:542--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:543--&amp;gt;&lt;br /&gt;
Use these values to get configuration params for company with &amp;lt;code&amp;gt;[[#getCompanyParam|getCompanyParam]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
&lt;br /&gt;
=====General params===== &amp;lt;!--T:544--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:545--&amp;gt;&lt;br /&gt;
Administration API inherits all [[Company public service methods#Company_params|keys]] allowed for public API and extends this list with keys:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:546--&amp;gt;&lt;br /&gt;
* attach_ical&lt;br /&gt;
* auto_redirect&lt;br /&gt;
* auto_redirect_text&lt;br /&gt;
* blockchain_address&lt;br /&gt;
* blockchain_secret&lt;br /&gt;
* borgun_merchant_id&lt;br /&gt;
* borgun_payment_gateway_id&lt;br /&gt;
* borgun_secret_code&lt;br /&gt;
* client_batch_cancel_template&lt;br /&gt;
* client_batch_cancel_template_email&lt;br /&gt;
* client_batch_cancel_template_email_subject&lt;br /&gt;
* client_event_cancel_template&lt;br /&gt;
* client_event_cancel_template_email&lt;br /&gt;
* client_event_cancel_template_email_subject&lt;br /&gt;
* client_event_change_template&lt;br /&gt;
* client_event_change_template_email&lt;br /&gt;
* client_event_change_template_email_subject&lt;br /&gt;
* client_event_creation_template&lt;br /&gt;
* client_event_creation_template_email&lt;br /&gt;
* client_event_creation_template_email_subject&lt;br /&gt;
* client_event_group_creation_template&lt;br /&gt;
* client_event_group_creation_template_email&lt;br /&gt;
* client_event_group_creation_template_email_subject&lt;br /&gt;
* client_event_multiple_creation_template&lt;br /&gt;
* client_event_multiple_creation_template_email&lt;br /&gt;
* client_event_multiple_creation_template_email_subject&lt;br /&gt;
* client_group_notification_template&lt;br /&gt;
* client_group_notification_template_email&lt;br /&gt;
* client_group_notification_template_email_subject&lt;br /&gt;
* client_multiple_notification_template&lt;br /&gt;
* client_multiple_notification_template_email&lt;br /&gt;
* client_multiple_notification_template_email_subject&lt;br /&gt;
* client_notification_template&lt;br /&gt;
* client_notification_template_email&lt;br /&gt;
* client_notification_template_email_subject&lt;br /&gt;
* client_notification_time&lt;br /&gt;
* client_recurring_event_creation_template&lt;br /&gt;
* client_recurring_event_creation_template_email&lt;br /&gt;
* client_recurring_event_creation_template_email_subject&lt;br /&gt;
* common_limit_booking&lt;br /&gt;
* company_ga_tracking_id&lt;br /&gt;
* default_phone&lt;br /&gt;
* disconnect_on_timeout&lt;br /&gt;
* email_event_list&lt;br /&gt;
* email_events_list_template&lt;br /&gt;
* email_group_events_list_template&lt;br /&gt;
* event_list_style&lt;br /&gt;
* feed_back_interval&lt;br /&gt;
* feedback_invite_template_email&lt;br /&gt;
* feedback_invite_template_email_subject&lt;br /&gt;
* google_conversion_color&lt;br /&gt;
* google_conversion_currency&lt;br /&gt;
* google_conversion_format&lt;br /&gt;
* google_conversion_id&lt;br /&gt;
* google_conversion_label&lt;br /&gt;
* google_conversion_language&lt;br /&gt;
* google_conversion_value&lt;br /&gt;
* hide_working_hours_block&lt;br /&gt;
* include_cancel_link&lt;br /&gt;
* kortais_merchant&lt;br /&gt;
* kortais_secret_code&lt;br /&gt;
* kortais_terminal&lt;br /&gt;
* layout_background&lt;br /&gt;
* layout_background_repeat&lt;br /&gt;
* mobile_site_link&lt;br /&gt;
* mobile_site_link_title&lt;br /&gt;
* no_show_period&lt;br /&gt;
* on_success_button_link&lt;br /&gt;
* on_success_button_text&lt;br /&gt;
* recap_interval&lt;br /&gt;
* recap_send_after_time&lt;br /&gt;
* recap_send_canceled_bookings&lt;br /&gt;
* recap_send_new_bookings&lt;br /&gt;
* recap_send_upcomming_bookings&lt;br /&gt;
* send_cancel_to_client&lt;br /&gt;
* send_cancel_to_client_email&lt;br /&gt;
* send_cancel_to_unit&lt;br /&gt;
* send_cancel_to_unit_email&lt;br /&gt;
* send_contact_widget_email_notification&lt;br /&gt;
* send_contact_widget_sms_notification&lt;br /&gt;
* send_notify_to_client&lt;br /&gt;
* send_notify_to_client_email&lt;br /&gt;
* send_notify_to_unit&lt;br /&gt;
* send_notify_to_unit_email&lt;br /&gt;
* send_onchange_to_client&lt;br /&gt;
* send_onchange_to_client_email&lt;br /&gt;
* send_onchange_to_unit&lt;br /&gt;
* send_onchange_to_unit_email&lt;br /&gt;
* send_oncreate_to_client&lt;br /&gt;
* send_oncreate_to_client_email&lt;br /&gt;
* send_oncreate_to_unit&lt;br /&gt;
* send_oncreate_to_unit_email&lt;br /&gt;
* send_sms_if_push_enabled&lt;br /&gt;
* site_link&lt;br /&gt;
* site_link_title&lt;br /&gt;
* skip_limits_for_admin&lt;br /&gt;
* skip_show_mobile_app_ads&lt;br /&gt;
* skip_show_on_success_button&lt;br /&gt;
* sms_event_list&lt;br /&gt;
* sms_events_list_template&lt;br /&gt;
* sms_group_events_list_template&lt;br /&gt;
* unit_batch_cancel_template&lt;br /&gt;
* unit_batch_cancel_template_email&lt;br /&gt;
* unit_batch_cancel_template_email_subject&lt;br /&gt;
* unit_event_cancel_template&lt;br /&gt;
* unit_event_cancel_template_email&lt;br /&gt;
* unit_event_cancel_template_email_subject&lt;br /&gt;
* unit_event_change_template&lt;br /&gt;
* unit_event_change_template_email&lt;br /&gt;
* unit_event_change_template_email_subject&lt;br /&gt;
* unit_event_creation_template&lt;br /&gt;
* unit_event_creation_template_email&lt;br /&gt;
* unit_event_creation_template_email_subject&lt;br /&gt;
* unit_event_group_creation_template&lt;br /&gt;
* unit_event_group_creation_template_email&lt;br /&gt;
* unit_event_group_creation_template_email_subject&lt;br /&gt;
* unit_group_notification_template&lt;br /&gt;
* unit_group_notification_template_email&lt;br /&gt;
* unit_group_notification_template_email_subject&lt;br /&gt;
* unit_notification_template&lt;br /&gt;
* unit_notification_template_email&lt;br /&gt;
* unit_notification_template_email_subject&lt;br /&gt;
* unit_notification_time&lt;br /&gt;
* unit_recurring_event_creation_template&lt;br /&gt;
* unit_recurring_event_creation_template_email&lt;br /&gt;
* unit_recurring_event_creation_template_email_subject&lt;br /&gt;
* use_common_client_db&lt;br /&gt;
* user_confirmation&lt;br /&gt;
* user_public_layout&lt;br /&gt;
* user_public_theme&lt;br /&gt;
* waiting_video&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Accept payments Custom Feature params===== &amp;lt;!--T:547--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:548--&amp;gt;&lt;br /&gt;
Read more about [[Custom_Features#Accept_Payments|Accept Payments Custom Feature configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:549--&amp;gt;&lt;br /&gt;
* allow_delay_payment&lt;br /&gt;
*: Allow delay payment option. Boolean.&lt;br /&gt;
* company_currency&lt;br /&gt;
*:&lt;br /&gt;
* hide_sale_tax&lt;br /&gt;
*: Hide sales tax option. Boolean.&lt;br /&gt;
* payment_timeout&lt;br /&gt;
*: Payment timeout option. String (&amp;quot;5 minutes&amp;quot;, &amp;quot;1 hour&amp;quot;, ...)&lt;br /&gt;
* sale_tax&lt;br /&gt;
*: Sales tax option. Integer. You should divide by 100 to get percent value.&lt;br /&gt;
* paypal_account&lt;br /&gt;
*: PayPal payment processor configuration. String.&lt;br /&gt;
* skrill_account&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* skrill_secret&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_id&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_key&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_application_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_id&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_secret_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* liqpay_merchant_id&lt;br /&gt;
* liqpay_merchant_pass&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Term &amp;amp; Conditions Custom Feature params===== &amp;lt;!--T:550--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:551--&amp;gt;&lt;br /&gt;
Read more about [[Custom_Features#Terms_and_Conditions|Terms and Conditions Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:552--&amp;gt;&lt;br /&gt;
* user_license_text&lt;br /&gt;
*: Terms and conditions text. String.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Custom Features&#039; identifiers=== &amp;lt;!--T:553--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:554--&amp;gt;&lt;br /&gt;
Custom Feature identifier is a string constant which represents a Custom Feature in system. These constants used in &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[#getPluginStatuses|getPluginStatuses]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:555--&amp;gt;&lt;br /&gt;
* advanced_notification&lt;br /&gt;
*:Book Soon notification system&lt;br /&gt;
* any_unit&lt;br /&gt;
*:Any Employee selector&lt;br /&gt;
* api&lt;br /&gt;
*:API&lt;br /&gt;
* approve_booking&lt;br /&gt;
*:Approve booking&lt;br /&gt;
* back_to_site&lt;br /&gt;
*:Take me back home&lt;br /&gt;
* contact_widget&lt;br /&gt;
*:Contact widget&lt;br /&gt;
* counter&lt;br /&gt;
*:Visitor Counter&lt;br /&gt;
* custom_css&lt;br /&gt;
*:Custom CSS&lt;br /&gt;
* data_security&lt;br /&gt;
*:Clean history&lt;br /&gt;
* description&lt;br /&gt;
*:HTML description field for events&lt;br /&gt;
* event_category&lt;br /&gt;
*:Service categories&lt;br /&gt;
* event_field&lt;br /&gt;
*:Intake forms&lt;br /&gt;
* facebookImage&lt;br /&gt;
*:Facebook client info&lt;br /&gt;
* financial_dashboard&lt;br /&gt;
*:Insights&lt;br /&gt;
* google_analytics&lt;br /&gt;
*:Google Adwords and analytics&lt;br /&gt;
* google_calendar_export&lt;br /&gt;
*:Calendar sync&lt;br /&gt;
* group_booking&lt;br /&gt;
*:Group bookings&lt;br /&gt;
* hipaa&lt;br /&gt;
*:HIPAA&lt;br /&gt;
* limit_bookings&lt;br /&gt;
*:Limit bookings&lt;br /&gt;
* location&lt;br /&gt;
*:Multiple locations&lt;br /&gt;
* mobile_app_backend&lt;br /&gt;
*:Mobile application&lt;br /&gt;
* multiple_booking&lt;br /&gt;
*:Multiple bookings&lt;br /&gt;
* news&lt;br /&gt;
*:News&lt;br /&gt;
* paid_events&lt;br /&gt;
*:Accept payments&lt;br /&gt;
&amp;lt;!--* promo&lt;br /&gt;
*:Rewards and Referrals--&amp;gt;&lt;br /&gt;
* recap&lt;br /&gt;
*:Daily report&lt;br /&gt;
* secure&lt;br /&gt;
*:SSL&lt;br /&gt;
* status&lt;br /&gt;
*:Status&lt;br /&gt;
* unit_colors&lt;br /&gt;
*:Providers color coding&lt;br /&gt;
* user_license&lt;br /&gt;
*:Terms and conditions&lt;br /&gt;
* cancelation_policy&lt;br /&gt;
*:Cancellation Policy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:556--&amp;gt;&lt;br /&gt;
See [[Custom_Features|Custom Features]] page for description for each Custom Feature.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Examples == &amp;lt;!--T:557--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====getBookingDetails response==== &amp;lt;!--T:558--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:559--&amp;gt;&lt;br /&gt;
An example of data returned by [[#getBookingDetails|getBookingDetails]] API method.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:560--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;: &amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;event_name&amp;quot;: &amp;quot;Massage&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_name&amp;quot;: &amp;quot;John&amp;quot;,&lt;br /&gt;
    &amp;quot;client_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;client_name&amp;quot;: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date_time&amp;quot;: &amp;quot;2015-11-25 15:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;end_date_time&amp;quot;: &amp;quot;2015-11-25 16:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;is_confirmed&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;h8v8w5ls&amp;quot;,&lt;br /&gt;
    &amp;quot;record_date&amp;quot;: &amp;quot;2015-11-19 04:06:38&amp;quot;,&lt;br /&gt;
    &amp;quot;comment&amp;quot;: null,&lt;br /&gt;
    &amp;quot;company_login&amp;quot;: &amp;quot;testzt&amp;quot;,&lt;br /&gt;
    &amp;quot;company_name&amp;quot;: &amp;quot;My Cool Company&amp;quot;,&lt;br /&gt;
    &amp;quot;company_phone&amp;quot;: &amp;quot;+1-555-55-55&amp;quot;,&lt;br /&gt;
    &amp;quot;company_email&amp;quot;: &amp;quot;into@mycoolcompany.com&amp;quot;,&lt;br /&gt;
    &amp;quot;additional_fields&amp;quot;: [{&lt;br /&gt;
      &amp;quot;value&amp;quot;: &amp;quot;on&amp;quot;,&lt;br /&gt;
      &amp;quot;field_name&amp;quot;: &amp;quot;201a89517de509f6b3a60858918faac3&amp;quot;,&lt;br /&gt;
      &amp;quot;field_title&amp;quot;: &amp;quot;Include washing&amp;quot;,&lt;br /&gt;
      &amp;quot;field_position&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;field_type&amp;quot;: &amp;quot;checkbox&amp;quot;,&lt;br /&gt;
      &amp;quot;field_id&amp;quot;: &amp;quot;4&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;comments&amp;quot;: [],&lt;br /&gt;
    &amp;quot;history&amp;quot;: [{&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;536&amp;quot;,&lt;br /&gt;
      &amp;quot;sheduler_id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
      &amp;quot;datetime&amp;quot;: &amp;quot;2015-11-19 11:06:38&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;create&amp;quot;,&lt;br /&gt;
      &amp;quot;user_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;agent&amp;quot;: &amp;quot;SimplyBook.me\/55 CFNetwork\/758.0.2 Darwin\/15.0.0&amp;quot;,&lt;br /&gt;
      &amp;quot;ip&amp;quot;: &amp;quot;213.174.0.53, 158.69.224.50:127.0.0.1&amp;quot;,&lt;br /&gt;
      &amp;quot;referer&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;login&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
      &amp;quot;firstname&amp;quot;: &amp;quot;Mikhail&amp;quot;,&lt;br /&gt;
      &amp;quot;lastname&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;status&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Fancy Status&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;color&amp;quot;: &amp;quot;4cbadb&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;location&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;location&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;picture&amp;quot;: &amp;quot;e1e9409fe9682c78b2f8f294dc151af0.jpg&amp;quot;,&lt;br /&gt;
      &amp;quot;address1&amp;quot;: null,&lt;br /&gt;
      &amp;quot;address2&amp;quot;: &amp;quot;Saint Margaret Street&amp;quot;,&lt;br /&gt;
      &amp;quot;city&amp;quot;: &amp;quot;\u041b\u043e\u043d\u0434\u043e\u043d&amp;quot;,&lt;br /&gt;
      &amp;quot;zip&amp;quot;: null,&lt;br /&gt;
      &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
      &amp;quot;lat&amp;quot;: &amp;quot;51.50013000000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;lng&amp;quot;: &amp;quot;-0.12630500000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;phone&amp;quot;: &amp;quot;44&amp;quot;,&lt;br /&gt;
      &amp;quot;position&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;price&amp;quot;: [],&lt;br /&gt;
    &amp;quot;promo&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:561--&amp;gt;&lt;br /&gt;
Location field is present in response only if [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is enabled. Otherwise this field will be an empty array. If locations Custom Feature is enabled but booking doesn&#039;t have any locations this fields also will be an empty array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:562--&amp;gt;&lt;br /&gt;
Status field is present in response only if [[Custom_Features#Status|Status Custom Feature]] is enabled. Otherwise this field will be an empty array. If Custom Feature enabled but booking doesn&#039;t have any statues specified the default status returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:563--&amp;gt;&lt;br /&gt;
Price field is present in response only if [[Custom_Features#Accept_Payments|Accept payments Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a free service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:564--&amp;gt;&lt;br /&gt;
&amp;lt;!--Promo field is present in response only if [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains false if Custom Feature is enabled but booking was created without any promo codes.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;additional_fields&amp;lt;/code&amp;gt; field is present in response only if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a service with no intake forms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====book response==== &amp;lt;!--T:565--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:566--&amp;gt;&lt;br /&gt;
[[#book|&amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt;]] API method returns an object which contains list of objects with short description of newly create bookings. Method returns only one item in &#039;bookings&#039; array for regular appointment and more than one item for recurring or batch bookings.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:567--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;require_confirm&amp;quot;:false,&lt;br /&gt;
    &amp;quot;bookings&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;434&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-30 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-30 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc14ca&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;785cb8cce316e64765b94c05a635f4be&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;435&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-31 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-31 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc2pge&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;8b92d634541bfd93c0830967e56f4653&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;436&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-04 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-04 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc3urb&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;cd22a0bf183f7350e595988dd2486e5b&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;437&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-05 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-05 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc44d9&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;53f98ff4e4a0323aa907156c59c99362&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;batch_type&amp;quot;:&amp;quot;batch_recurrent_booking&amp;quot;,&lt;br /&gt;
    &amp;quot;recurrent_batch_id&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;batch_hash&amp;quot;:&amp;quot;357178bce290381bb7235080941ec143&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====getCompanyInfo response==== &amp;lt;!--T:568--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:569--&amp;gt;&lt;br /&gt;
An example of data returned by [[#getCompanyInfo|getCompanyInfo]] API method.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:570--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;login&amp;quot;: &amp;quot;pierrecoetzee&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;Pierre&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;address1&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;address2&amp;quot;: &amp;quot;Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;city&amp;quot;: &amp;quot;London&amp;quot;,&lt;br /&gt;
    &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
    &amp;quot;lat&amp;quot;: &amp;quot;51.500435&amp;quot;,&lt;br /&gt;
    &amp;quot;lng&amp;quot;: &amp;quot;-0.129811&amp;quot;,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;pierre.coe@gmail.com&amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;web&amp;quot;: null,&lt;br /&gt;
    &amp;quot;skip_address&amp;quot;: null,&lt;br /&gt;
    &amp;quot;logo&amp;quot;: null,&lt;br /&gt;
    &amp;quot;address&amp;quot;: &amp;quot;GB, London, Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;description_text&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;timezone&amp;quot;: &amp;quot;Europe London&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_client_timezone&amp;quot;: false,&lt;br /&gt;
    &amp;quot;timeframe&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
    &amp;quot;timeline_type&amp;quot;: &amp;quot;modern_week&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_day_break&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_breaktime_break&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:571--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;timeline_type&amp;lt;/code&amp;gt; field can be one the following values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:572--&amp;gt;&lt;br /&gt;
* flexible&lt;br /&gt;
* modern&lt;br /&gt;
* flexible_week&lt;br /&gt;
* modern_week&lt;br /&gt;
* classic&lt;br /&gt;
* classes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:573--&amp;gt;&lt;br /&gt;
Please note that &amp;lt;code&amp;gt;classic&amp;lt;/code&amp;gt; timeline type is deprecated and not supported anymore.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:574--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; field contains raw data of company&#039;s description which can include HTML tags. &amp;lt;code&amp;gt;description_text&amp;lt;/code&amp;gt; field contains only text information without HTML tags.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:575--&amp;gt;&lt;br /&gt;
For information about &amp;lt;code&amp;gt; timeframe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timezone&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;allow_event_day_break&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;allow_event_breaktime_break&amp;lt;/code&amp;gt; see [[#Company params|Company params section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:576--&amp;gt;&lt;br /&gt;
&amp;lt;!--====getPluginPromoInfoByCode response====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!--T:577--&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;yvuvugum&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;We are offering [service\/services] with an amazing [discount]% discount! We are running this deal for a limited time only.&amp;quot;,&lt;br /&gt;
    &amp;quot;discount&amp;quot;: &amp;quot;99.9999&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;expired_date&amp;quot;: &amp;quot;2016-01-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_date&amp;quot;: &amp;quot;2015-12-31&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_time&amp;quot;: &amp;quot;09:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_time&amp;quot;: &amp;quot;22:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_usage_count&amp;quot;: &amp;quot;20&amp;quot;,&lt;br /&gt;
    &amp;quot;fineprint_text&amp;quot;: &amp;quot;Deal is limited for new clients only. Reward is claimable [client_claim_times_number] times per client. Deal is only claimable for the locations specified. Deal is cannot be combined with any other promotion. Must be redeemed prior to the expiration date shown on the deal.&amp;quot;,&lt;br /&gt;
    &amp;quot;redemption_text&amp;quot;: &amp;quot;Present your confirmation code when you want to redeem your deal. You may either to print off your confirmation email or show your confirmation code by loggin into Simplybook on your mobile phone\/Pc.\r\n[promocode]\r\n[discount]\r\n[reward]\r\n[referal_qty]&amp;quot;,&lt;br /&gt;
    &amp;quot;headline&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;: null,&lt;br /&gt;
    &amp;quot;allow_customer_count&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_catalogue&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;: &amp;quot;active&amp;quot;,&lt;br /&gt;
    &amp;quot;plugin_promo_message_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;common_promotion_id&amp;quot;: &amp;quot;132&amp;quot;,&lt;br /&gt;
    &amp;quot;service_ids&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:578--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; contains a list of services for wich promotion discount can be applied.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15108</id>
		<title>Company administration service methods</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15108"/>
		<updated>2025-05-15T12:56:49Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Company administration service methods - SimplyBook.me&lt;br /&gt;
|description=Learn about service methods for internal company administration. Manage bookings tailored to your operations. Start here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Information==&lt;br /&gt;
&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using [http://www.json.org JSON]. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Часовая фотосесcия&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Если Вы хотите попробовать себя в роли модели, но не определились с образом. &amp;lt;br /&amp;gt; 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске&amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Example of request with error response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;someNotExistingMethod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;id&amp;quot;:1,&lt;br /&gt;
    &amp;quot;error&amp;quot;: {&lt;br /&gt;
      &amp;quot;code&amp;quot;: -32601,&lt;br /&gt;
      &amp;quot;message&amp;quot;: &amp;quot;Method not found&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[#Authentication|authentication]] section.&lt;br /&gt;
&lt;br /&gt;
===Endpoint===&lt;br /&gt;
&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/admin&amp;lt;/code&amp;gt; for all administration service API calls.&lt;br /&gt;
&lt;br /&gt;
===Authentication===&lt;br /&gt;
&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom_Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
=== addClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addClient($clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adds new client with specified data. You can specify name, email, phone, address1, address2, city, zip,&lt;br /&gt;
country_id. If client record with specified data exists  method will return an id of this record. Otherwise data&lt;br /&gt;
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&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam(&#039;require_fields&#039;)&amp;lt;/code&amp;gt; method to check which fields are required.&lt;br /&gt;
&lt;br /&gt;
Method returns an error:&lt;br /&gt;
&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
     name: &amp;quot;Frances T. Perez&amp;quot;,&lt;br /&gt;
     phone: &amp;quot;+1502-810-4521&amp;quot;,&lt;br /&gt;
     email: &amp;quot;FrancesTPerez@teleworm.us&amp;quot;,&lt;br /&gt;
     address1: &amp;quot;3872 Earnhardt Drive&amp;quot;,&lt;br /&gt;
     address2: &amp;quot;Louisville, KY 40219&amp;quot;,&lt;br /&gt;
     city: Louisville,&lt;br /&gt;
     zip: 3872&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== addDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addDeviceToken($token, $device)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String a device token string&lt;br /&gt;
* &#039;&#039;&#039;$device&#039;&#039;&#039; String a device type (&#039;android&#039; or &#039;apple&#039;)&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Subscribe a mobile device to push notifications service. Device will recieve notifications about new bookings or&lt;br /&gt;
changes in already created bookings. Use either &amp;lt;code&amp;gt;&#039;apple&#039;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&#039;android&#039;&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;&lt;br /&gt;
parameter.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== book ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;book($eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional, $count, $batchId, $recurringData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer bookings count used to make group bookings batch. This parameter can&#039;t be less than 1. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer add booking to group bookings batch. You can&#039;t use $count and $batchId in one call. Please specify only one parameter. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array - make booking recurrent. (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates new booking record. Returns an object with appointment information or throw exception if booking time not&lt;br /&gt;
available or any of required parameters missed. If appointment requires confirmation, in result object will be&lt;br /&gt;
&amp;lt;code&amp;gt;require_confirm = true&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt; specifies a date of&lt;br /&gt;
booking and time slot. Time value should be multiple to &#039;timeframe&#039; configuration of company (see&lt;br /&gt;
&amp;lt;code&amp;gt;[[#getTimeframe|getTimeframe]]&amp;lt;/code&amp;gt; API method). &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; parameters&lt;br /&gt;
should be calculated according to service duration. However you can specify different values to make appointment&lt;br /&gt;
longer or shorter then service configuration. Note that &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; should be&lt;br /&gt;
later in time than &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt;. If your clients located in different time&lt;br /&gt;
zone you should specify &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; parameter as difference between company&#039;s time zone and&lt;br /&gt;
client&#039;s time zone in seconds. For example if company located in city with time zone GMT+2 and customer located&lt;br /&gt;
in city with GMT+3 then &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; will be -3600 seconds. You can get information about company&#039;s&lt;br /&gt;
time zone using &amp;lt;code&amp;gt;[[#getCompanyInfo|getCompanyInfo]]&amp;lt;/code&amp;gt; API method. To create batch booking you can&lt;br /&gt;
specify either &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; more then 1 or valid &amp;lt;code&amp;gt;batchId&amp;lt;/code&amp;gt; (only one parameter can be&lt;br /&gt;
specified). You should specify an &amp;lt;code&amp;gt;$additionalFields&amp;lt;/code&amp;gt; parameter if service requires some intake forms (see [[Custom_Features#Intake_Forms|Intake Forms Custom feature]]).To create a booking with promo code you should pass it as additional field. For example: &amp;lt;code&amp;gt;{&amp;quot;promocode&amp;quot;: &amp;quot;some code&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If [[Custom_Features#Multiple_Locations| Multiple locations]] enabled you need to pass locations ID parameter as additional field&lt;br /&gt;
&amp;lt;code&amp;gt;location_id&amp;lt;/code&amp;gt;. For example: &amp;lt;code&amp;gt;{&amp;quot;location_id&amp;quot;: &amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt;. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
to check if Custom feature active and &amp;lt;code&amp;gt;[[#getLocationsList|getLocationsList()]]&amp;lt;/code&amp;gt; method to get list of&lt;br /&gt;
available locations.&lt;br /&gt;
&lt;br /&gt;
See [[#book response|example]] of &amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt; API method response.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [https://help.simplybook.me/index.php/Need_to_change_interval_(timeframe) Timeframe information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== calculateEndTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;calculateEndTime($startDateTime, $eventId, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; 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;.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String|Boolean.&lt;br /&gt;
&lt;br /&gt;
Returns end datetime if booking is available, else return false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBatch($id, $bookingIds)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer identifier of batch. See &amp;lt;code&amp;gt;[[#createBatch|createBatch]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
* &#039;&#039;&#039;$bookingIds&#039;&#039;&#039; Array ids of bookings included to batch.&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Cancel batch of bookings. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found)&lt;br /&gt;
if no booking with specified id were found. A booking with first id in &amp;lt;code&amp;gt;$bookingIds&amp;lt;/code&amp;gt; list is used for&lt;br /&gt;
information in notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBooking ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBooking($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Cancels booking. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found) if&lt;br /&gt;
no booking with specified id were found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== createBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;createBatch()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Creates new booking batch record. Returns newly created batch id. You can use this id in &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteDeviceToken($token)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String - device token&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Unsubscribe from push notifications service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== editBook ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editBook($shedulerId, $eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer an id of booking to edit. See &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[#getBookings|getBookings]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Edit existing booking record. See [[#book|book]] API method description for more details about date/time parameters,&lt;br /&gt;
time zone handling and additional fields. Returns null if parameters not valid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editClient($clientId, $clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Edits client&#039;s record. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; method description for list of available fields.Method returns an id of client&#039;s record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== filterAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;filterAvailableUnits($eventId, $dateTime, $unitIds, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitIds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with location Custom Feature.&lt;br /&gt;
Returns empty array if all units are not allowed.&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAdditionalFields ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAdditionalFields($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return intake forms for certain event if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is&lt;br /&gt;
activated. Returns empty array otherwise. Call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_field&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if &#039;event_field&#039; Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAnyUnitData ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAnyUnitData()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object|null.&lt;br /&gt;
&lt;br /&gt;
Returns information about [[Custom_Features#Any_Employee_Selector|Any Employee selector Custom Feature]] configuration. Returns&lt;br /&gt;
null if Custom Feature not enabled.Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot; : &amp;quot;Select this option, if you want to find an available time with any of the employees&amp;quot;,&lt;br /&gt;
    &amp;quot;hide_other_units&amp;quot; : 1, // 1 or 0&lt;br /&gt;
    &amp;quot;image&amp;quot; : null,&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;Any employee&amp;quot;,&lt;br /&gt;
    &amp;quot;picture_path&amp;quot; : null,&lt;br /&gt;
    &amp;quot;random_selection&amp;quot; : 0 // 1 or 0&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available time intervals for all service providers for given period, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{[&#039;2016-03-04&#039;: [&#039;1&#039;: [[&#039;09:00:00&#039;,&#039;09:30:00&#039;], [&#039;11:15:00&#039;,&#039;14:45:00&#039;]] , ...], ...]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableUnits($eventId, $dateTime, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service or empty array if all units are not allowed.Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingCancellationsInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingCancellationsInfo($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data from first day of current week.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data filtered to last day of current week.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about created bookings and cancellations for a time period. Data presented as array of hashes for&lt;br /&gt;
each type of operation (created or cancelled booking) groped by clients. &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; field can be either&lt;br /&gt;
&amp;quot;create&amp;quot;, &amp;quot;cancel&amp;quot; or &amp;quot;nopayment_cancel&amp;quot;. If &amp;lt;code&amp;gt;&amp;quot;user_id&amp;quot;&amp;lt;/code&amp;gt; not specified then bookings where created or&lt;br /&gt;
cancelled by admin or employee. Data with type &amp;lt;code&amp;gt;&amp;quot;nopayment_cancel&amp;quot;&amp;lt;/code&amp;gt; represents bookings cancelled&lt;br /&gt;
automatically by system.Example:&lt;br /&gt;
  3 bookings where created by admin or employee and 2 bookings where automatically cancelled by system.&lt;br /&gt;
  [{&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 3,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;create&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }, {&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 2,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;nopayment_cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingComment($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingDetails($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; integer booking id&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns detailed bookings object by booking id. See [[#getBookingDetails_response|response example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingLimitUnavailableTimeInterval ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingLimitUnavailableTimeInterval($startDateTime, $endDateTime, $eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns time intervals not available for bookings because of configuration of [[Custom_Features#Limit_Bookings|Limit bookings]]&lt;br /&gt;
Custom Feature for period of time. Returns empty array if Custom Feature not available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingRevenue ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingRevenue($dateStart, $dateEnd, $unitGroupId, $serviceId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
* &#039;&#039;&#039;$serviceId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return bookings count and revenue value for each date in specified period. Data grouped by unit id and&lt;br /&gt;
represented as array with bookings count at index 0 and revenue amount at index 1. You can filter data either&lt;br /&gt;
by unit or by service. Set &amp;lt;code&amp;gt;$dateStart&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$dateEnd&amp;lt;/code&amp;gt; to null to get data for current week.Example:&lt;br /&gt;
  [&#039;2015-11-12&#039; : {&lt;br /&gt;
     3 : [&lt;br /&gt;
       11, // bookings count&lt;br /&gt;
       128.53 // revenue&lt;br /&gt;
  ]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistic about bookings count grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookings($params)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params. Filter params represented as object with following fields:* &#039;&#039;&#039;date_from&#039;&#039;&#039; a date of booking in string format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_from&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_to&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_from&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;unit_group_id&#039;&#039;&#039; an integer. Use it to get bookings assigned for certain service provider.&lt;br /&gt;
* &#039;&#039;&#039;event_id&#039;&#039;&#039; an integer. Use it to  get bookings only for certain service.&lt;br /&gt;
* &#039;&#039;&#039;is_confirmed&#039;&#039;&#039; 1 or 0. If [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled then method will return confirmed bookings with approve status &#039;new&#039;.&lt;br /&gt;
* &#039;&#039;&#039;client_id&#039;&#039;&#039; an integer. Use it to get bookings only for certain client.&lt;br /&gt;
* &#039;&#039;&#039;order&#039;&#039;&#039; string either &#039;record_date&#039;, &#039;date_start&#039; or &#039;date_start_asc&#039;. By default used &#039;date_start&#039; value.&lt;br /&gt;
* &#039;&#039;&#039;booking_type&#039;&#039;&#039; a string. Value of this field depends on Approve booking Custom Feature status.&lt;br /&gt;
*: If Custom Feature not active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 0&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 1&lt;br /&gt;
*: If Custom Feature active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; returns bookings with &#039;is_confirmed&#039; field equals to 0 and approve booking status equals to &#039;cancelled&#039; (or booking does not have any approve status)&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 or approve booking status equals to &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_client&#039;&#039;&#039; returns bookings approved by admin but cancelled by client&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_admin&#039;&#039;&#039; returns bookings cancelled by admin&lt;br /&gt;
** &#039;&#039;&#039;non_approved_yet&#039;&#039;&#039; returns bookings with approve status &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;approved&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 and approve booking status equals to &#039;approved&#039; (or booking does not have any approve status)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;date_from&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;date_to&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;booking_type&amp;quot;:&amp;quot;cancelled&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;:&amp;quot;start_date&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingsZapier ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingsZapier()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCategoriesList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCategoriesList($isPublic)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company categories list if [[Custom_Features#Service_Categories|Service Categories Custom Feature]] is activated. Returns&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_category&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClient($clientId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns client&#039;s data object. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientComments ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientComments($clientId, $shedulerId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of all comments for given client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientList($searchString, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$searchString&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of clients associated with company. You can use either phone number, email address or name as value&lt;br /&gt;
for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt;. Pass an empty string for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt; and null for &amp;lt;code&amp;gt;$limit&amp;lt;/code&amp;gt;&lt;br /&gt;
parameters to get all records. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCurrency()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s currency as three chars code (ISO 4217).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCompanyInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about company. See [[#getCompanyInfo response|example of response]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParam ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam($key)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$key&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns mixed.&lt;br /&gt;
&lt;br /&gt;
Returns company config value for key. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParams ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParams($keys)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$keys&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company config values for keys. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].For non-existent and not-allowed params it will return false as result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyTimezoneOffset ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyTimezoneOffset()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns company timezone offset and company timezone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of all countries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryPhoneCodes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryPhoneCodes()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns country phone code list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentTariffInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentTariffInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns all information about current tariff (subscription). For example:{&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;gold&amp;quot;,&lt;br /&gt;
    &amp;quot;expire_date&amp;quot; : &amp;quot;2016-02-11 12:32:00&amp;quot;,&lt;br /&gt;
    &amp;quot;rest&amp;quot; : 41, // number of days until subscription expiration&lt;br /&gt;
    &amp;quot;color&amp;quot; : &amp;quot;#fcb322&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentUserDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentUserDetails()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments. Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with information about logged in user. Note: you are responsible for implementation of some&lt;br /&gt;
access rights based on &amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property value. Most of API methods returns an error if user has low access&lt;br /&gt;
rights but not all. There are 4 roles:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; - have full access to the system&lt;br /&gt;
* &#039;&#039;&#039;Senior Employee&#039;&#039;&#039; - have access to calendar, services and providers, and can modify bookings related with user&lt;br /&gt;
* &#039;&#039;&#039;Junior Employee&#039;&#039;&#039; - can access caledar (but only to own bookings), services associated with user&lt;br /&gt;
* &#039;&#039;&#039;Viewer&#039;&#039;&#039; - have only access to calendar and services in read only mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;shop_user&amp;lt;/code&amp;gt; - &amp;quot;Senior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;station_user&amp;lt;/code&amp;gt; - &amp;quot;Junior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; - &amp;quot;Administrator&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;viewer&amp;lt;/code&amp;gt; - &amp;quot;Viewer&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;reseller_company_admin&amp;lt;/code&amp;gt; - reserved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;login&amp;quot;: admin,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;admin@mycoolcompany.com&amp;quot;;&lt;br /&gt;
    &amp;quot;firstname&amp;quot;: &amp;quot;Michail&amp;quot;,&lt;br /&gt;
    &amp;quot;lastname&amp;quot;: &amp;quot; &amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;group&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;is_blocked&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;last_access_time&amp;quot;: &amp;quot;2016-06-06 17:55:51&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;: null&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getEventList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getEventList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s events list. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as key&lt;br /&gt;
and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property of&lt;br /&gt;
event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbacks ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbacks($approvedOnly, $reviewsOnly, $lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$approvedOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$reviewsOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFirstWorkingDay ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFirstWorkingDay($unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns first working date for unit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTime($startDateTime, $endDateTime, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;. You can date string avoiding time in&lt;br /&gt;
this parameter. In this case method will use time value &#039;23:59:59&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented a time intervals marked as busy in Google Calendar. Each object of result&lt;br /&gt;
contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with datetime string as value. This method only actual if&lt;br /&gt;
[Custom_Features#Calendar_Sync|Calendar Sync Custom Feature] enabled. If Custom Feature not enabled an empty list will&lt;br /&gt;
be returned. You should call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; to&lt;br /&gt;
check status of the Custom Feature. Each object of result contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with&lt;br /&gt;
datetime string as value. Please note that this method may return not actual data because data synchronization&lt;br /&gt;
between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  [&lt;br /&gt;
   {&amp;quot;from&amp;quot; : &amp;quot;2016-02-16 13:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;to&amp;quot; : &amp;quot;2016-02-16 16:00:00&amp;quot;},&lt;br /&gt;
    ...&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTimeAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTimeAvailableUnits()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns configured unit ids, allowed to sync busy time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getLastNotificationUpdate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLastNotificationUpdate($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns last update datetime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getLocationsList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLocationsList($isPublic, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns available locations for company if Custom Feature [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is activated. Return&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
This method accepts two boolean flags as parameters. If &#039;&#039;&#039;isPublic&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; then method returns only&lt;br /&gt;
public locations. If &#039;&#039;&#039;asArray&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; method returns list of objects. Otherwise method returns&lt;br /&gt;
map of objects with object id as key. You can omit both parameters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getPluginList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of all Custom Features associated with company with status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---=== getPluginPromoInfoByCode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginPromoInfoByCode($code)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about Rewards and referrals promotion by promotion code. You can get promotion code&lt;br /&gt;
using &amp;lt;code&amp;gt;[[Catalogue#getPromotionList|getPromotionList]]&amp;lt;/code&amp;gt; API method. If promotion record with specified code not found then method returns an empty array (an empty object). If [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]]&lt;br /&gt;
not enabled then method returns an error with code -32001 (Custom Feature is not activated). Use&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;promo&#039;)]]&amp;lt;/code&amp;gt; API method call to check if Custom Feature enabled. See [[#getPromotionList response|example]] of &amp;lt;code&amp;gt;getPromotionList&amp;lt;/code&amp;gt; API method response. Please note that&lt;br /&gt;
response contains a list of services for wich promotion discount can be applied (&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; key).&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPluginStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginStatuses($pluginNames)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginNames&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentActions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentActions($lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns latest actions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRecurringDatetimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringDatetimes($eventId, $unitId, $date, $time, $recurringData, $endDateTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$time&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; String (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of dates for recurring booking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecurringSettings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringSettings($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with recurring settings for an event. Returns false if specified event does not configured as&lt;br /&gt;
recurring.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [http://blog.simplybook.me/recurring-and-periodic-bookings/ Recurring services desription]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRegistrations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRegistrations($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns number of clients registrations  by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTime($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns map of objects for each day in specified date range. The key of the result mps is a date string. The value&lt;br /&gt;
is an array of two objects. Both objects contains list of time slots for type &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; and type&lt;br /&gt;
&amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type represents time slots working time but already booked&lt;br /&gt;
by clients. Nobody knows what kind of data represented by &amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt; type. Please don&#039;t use it.If [[Custom_Features#Calendar_Sync| Calendar Sync Custom Feature]] enabled then object with&lt;br /&gt;
&amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type will contain not empty list of time slots marked as busy in Google calendar. Call&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; API method to check if Calendar Sync Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;2016-02-05&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;dd&amp;quot;: [], // time slots from Google calendar&lt;br /&gt;
        &amp;quot;events&amp;quot;: [ // reserved time slots&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;16:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;17:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;reserved_time&amp;quot;,&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;events&amp;quot;: [&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;09:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;10:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;not_worked_time&amp;quot;&lt;br /&gt;
     }],&lt;br /&gt;
     ...&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer|Array &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns not available time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [{&#039;reserved_time&#039;: [{&#039;from&#039;: &#039;14:00&#039;, &#039;to&#039;: &#039;16:30&#039;}], &#039;type&#039;: &amp;quot;reserved_time&amp;quot;}, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getSocialCounterStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getSocialCounterStats($provider)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$provider&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns social counters value for your domain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStartTimeMatrix ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStartTimeMatrix($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available start time, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [&#039;09:00:00&#039;, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If locations Custom Feature activated for company you should pass a list as $unitID parameter for filter results with&lt;br /&gt;
units available only for selected location. See [[Custom_Features#Multiple_Locations|Multiple locations]] Custom Feature description for&lt;br /&gt;
more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStatuses()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available statuses or an empty list if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimeframe ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimeframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Need_to_change_interval_(timeframe)|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimelineType ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimelineType()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company calendar layout type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopPerformers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopPerformers()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for performers. This data contains number of bookings and revenues value for each performer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopServices ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopServices($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for services for a period of time. This data contains number of bookings and&lt;br /&gt;
revenues value for each service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of service performers. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as&lt;br /&gt;
key and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property&lt;br /&gt;
of event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkdayInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkdayInfo($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workday info (date_start and date_end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkingDurations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkingDurations($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return working durations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getVisitorStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getVisitorStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about page visits if Custom Feature [[Custom_Features#Visitor_Counter|Visitor Counter Custom Feature]] enabled. Returns&lt;br /&gt;
an empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;counter&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled. Results can be grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on&lt;br /&gt;
selected grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWarnings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWarnings($lastOnly)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039;  Boolean. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented system warnings. Each warning contains &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt;&lt;br /&gt;
properties. &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt; property contains localized message. &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;sms_limit&#039;&#039;&#039; – warning indicates low amount of SMS credits&lt;br /&gt;
* &#039;&#039;&#039;sheduler_limit&#039;&#039;&#039; – warning indicates low amount of available bookings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkCalendar ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkCalendar($year, $month, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$year&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$month&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns company work schedule as array&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-01&#039;: {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;21:00:00&#039;, &#039;is_day_off&#039;: &#039;0&#039;}, &#039;2014-05-02&#039;: ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysInfo($from, $to, $unitId, $eventId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an information about working hours and break times for specified service and performer for a period&lt;br /&gt;
between two dates. If only service specified then information about performer (or performers) will be taken from&lt;br /&gt;
service configuration. Method returns a list of objects for each date in specified period. Count of objects in&lt;br /&gt;
list depends on break times. For example if performer works from 9:00 till 19:00 with one hour break at 13:00 method&lt;br /&gt;
returns:&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&#039;2014-05-14&#039; : [&lt;br /&gt;
    {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;13:00:00&#039;},&lt;br /&gt;
    {&#039;from&#039;: &#039;14:00:00&#039;, &#039;to&#039;: &#039;19:00:00&#039;}&lt;br /&gt;
  ] }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning! Method can return a time string &#039;24:00:00&#039; as right edge of time range. This happens in case if time&lt;br /&gt;
range finishes on midnight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysTimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysTimes($startDateTime, $endDateTime, $type = &#039;unit_group&#039;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; string. Optional. Either &#039;unit_group&#039; or &#039;event&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return busy time by unit id by Calendar Sync Custom Feature if enabled. Please note that this method may return not actual data because data synchronization between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkload ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkload($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workload data for units in period of time. Workload for each unit represented as array with work hours&lt;br /&gt;
at index 0, confirmed booking hours as load at index 1 and cancelled bookings hours at index 2.Example:&lt;br /&gt;
  [&#039;2015-10-21&#039; : {&lt;br /&gt;
     5 : [&lt;br /&gt;
       10, // working hours&lt;br /&gt;
       10, // load hours (confirmed bookings hours)&lt;br /&gt;
       0   // cancelled bookings hours&lt;br /&gt;
  ] }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== isPluginActivated ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;isPluginActivated($pluginName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginName&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. &amp;lt;var&amp;gt;$pluginName&amp;lt;/var&amp;gt; parameter is a Custom Feature identifier.See [[Custom_Features|Custom Features]] page for full Custom Features description. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingApprove ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingApprove($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;approved&#039; if [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled and returns&lt;br /&gt;
list of approved booking IDs. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingCancel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingCancel($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;canceled&#039; if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled and returns&lt;br /&gt;
true. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookings()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns list of objects with information about bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]]&lt;br /&gt;
Custom Feature enabled. Returns empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookingsCount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookingsCount()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns count of bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled. Returns&lt;br /&gt;
0 if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setBookingComment($id, $comment)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$comment&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Set booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStatus ($bookingId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object of status of given booking (if status plugin is enabled)&lt;br /&gt;
default status will be returned if bookingId does not exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setStatus($bookingId, $statusId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$statusId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets specified status for booking. Returns an error with code -32020 if logged in user don&#039;t have access to edit&lt;br /&gt;
bookings. This method does nothing if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== updateNotification ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;updateNotification($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns .&lt;br /&gt;
&lt;br /&gt;
Mark notifications as readed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setWorkDayInfo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setWorkDayInfo($info)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$info&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Set work day schedule for company|service|provider for week_day|date&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;start_time&amp;quot;:&amp;quot;10:00&amp;quot;,&lt;br /&gt;
&amp;quot;end_time&amp;quot;:&amp;quot;18:00&amp;quot;,&lt;br /&gt;
&amp;quot;is_day_off&amp;quot;:0,&lt;br /&gt;
&amp;quot;breaktime&amp;quot;:[{&amp;quot;start_time&amp;quot;:&amp;quot;14:00&amp;quot;,&amp;quot;end_time&amp;quot;:&amp;quot;15:00&amp;quot;}],&lt;br /&gt;
&amp;quot;index&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
&amp;quot;name&amp;quot;:&amp;quot;Monday&amp;quot;,&lt;br /&gt;
&amp;quot;date&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
index is 1-7 for Monday - Sunday (used for weekly settings)&lt;br /&gt;
date is used to set worktime for special date&lt;br /&gt;
unit_group_id is provider id&lt;br /&gt;
event_id is service id&lt;br /&gt;
if unit_group_id and event_id not passed then it set data for company&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteSpecialDay===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteSpecialDay($date, $params = null)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Delete special date if set&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;2017-08-21&#039;, &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addServiceProvider($data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Create new service provider&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editServiceProvider($id, $data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Edit service provider&lt;br /&gt;
(there is no way to delete provider via API, in this case set is_active = 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1, &lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&lt;br /&gt;
=== Error codes ===&lt;br /&gt;
&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
* -32001 Custom Feature is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32015 Passed event id is not reccuren&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Intake form values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32081 Service can&#039;t be performed when company does not work&lt;br /&gt;
* -32082 Service performer can&#039;t work when company does not work&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 &lt;br /&gt;
*: An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Company params===&lt;br /&gt;
&lt;br /&gt;
Use these values to get configuration params for company with &amp;lt;code&amp;gt;[[#getCompanyParam|getCompanyParam]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
&lt;br /&gt;
=====General params=====&lt;br /&gt;
&lt;br /&gt;
Administration API inherits all [[Company public service methods#Company_params|keys]] allowed for public API and extends this list with keys:&lt;br /&gt;
&lt;br /&gt;
* attach_ical&lt;br /&gt;
* auto_redirect&lt;br /&gt;
* auto_redirect_text&lt;br /&gt;
* blockchain_address&lt;br /&gt;
* blockchain_secret&lt;br /&gt;
* borgun_merchant_id&lt;br /&gt;
* borgun_payment_gateway_id&lt;br /&gt;
* borgun_secret_code&lt;br /&gt;
* client_batch_cancel_template&lt;br /&gt;
* client_batch_cancel_template_email&lt;br /&gt;
* client_batch_cancel_template_email_subject&lt;br /&gt;
* client_event_cancel_template&lt;br /&gt;
* client_event_cancel_template_email&lt;br /&gt;
* client_event_cancel_template_email_subject&lt;br /&gt;
* client_event_change_template&lt;br /&gt;
* client_event_change_template_email&lt;br /&gt;
* client_event_change_template_email_subject&lt;br /&gt;
* client_event_creation_template&lt;br /&gt;
* client_event_creation_template_email&lt;br /&gt;
* client_event_creation_template_email_subject&lt;br /&gt;
* client_event_group_creation_template&lt;br /&gt;
* client_event_group_creation_template_email&lt;br /&gt;
* client_event_group_creation_template_email_subject&lt;br /&gt;
* client_event_multiple_creation_template&lt;br /&gt;
* client_event_multiple_creation_template_email&lt;br /&gt;
* client_event_multiple_creation_template_email_subject&lt;br /&gt;
* client_group_notification_template&lt;br /&gt;
* client_group_notification_template_email&lt;br /&gt;
* client_group_notification_template_email_subject&lt;br /&gt;
* client_multiple_notification_template&lt;br /&gt;
* client_multiple_notification_template_email&lt;br /&gt;
* client_multiple_notification_template_email_subject&lt;br /&gt;
* client_notification_template&lt;br /&gt;
* client_notification_template_email&lt;br /&gt;
* client_notification_template_email_subject&lt;br /&gt;
* client_notification_time&lt;br /&gt;
* client_recurring_event_creation_template&lt;br /&gt;
* client_recurring_event_creation_template_email&lt;br /&gt;
* client_recurring_event_creation_template_email_subject&lt;br /&gt;
* common_limit_booking&lt;br /&gt;
* company_ga_tracking_id&lt;br /&gt;
* default_phone&lt;br /&gt;
* disconnect_on_timeout&lt;br /&gt;
* email_event_list&lt;br /&gt;
* email_events_list_template&lt;br /&gt;
* email_group_events_list_template&lt;br /&gt;
* event_list_style&lt;br /&gt;
* feed_back_interval&lt;br /&gt;
* feedback_invite_template_email&lt;br /&gt;
* feedback_invite_template_email_subject&lt;br /&gt;
* google_conversion_color&lt;br /&gt;
* google_conversion_currency&lt;br /&gt;
* google_conversion_format&lt;br /&gt;
* google_conversion_id&lt;br /&gt;
* google_conversion_label&lt;br /&gt;
* google_conversion_language&lt;br /&gt;
* google_conversion_value&lt;br /&gt;
* hide_working_hours_block&lt;br /&gt;
* include_cancel_link&lt;br /&gt;
* kortais_merchant&lt;br /&gt;
* kortais_secret_code&lt;br /&gt;
* kortais_terminal&lt;br /&gt;
* layout_background&lt;br /&gt;
* layout_background_repeat&lt;br /&gt;
* mobile_site_link&lt;br /&gt;
* mobile_site_link_title&lt;br /&gt;
* no_show_period&lt;br /&gt;
* on_success_button_link&lt;br /&gt;
* on_success_button_text&lt;br /&gt;
* recap_interval&lt;br /&gt;
* recap_send_after_time&lt;br /&gt;
* recap_send_canceled_bookings&lt;br /&gt;
* recap_send_new_bookings&lt;br /&gt;
* recap_send_upcomming_bookings&lt;br /&gt;
* send_cancel_to_client&lt;br /&gt;
* send_cancel_to_client_email&lt;br /&gt;
* send_cancel_to_unit&lt;br /&gt;
* send_cancel_to_unit_email&lt;br /&gt;
* send_contact_widget_email_notification&lt;br /&gt;
* send_contact_widget_sms_notification&lt;br /&gt;
* send_notify_to_client&lt;br /&gt;
* send_notify_to_client_email&lt;br /&gt;
* send_notify_to_unit&lt;br /&gt;
* send_notify_to_unit_email&lt;br /&gt;
* send_onchange_to_client&lt;br /&gt;
* send_onchange_to_client_email&lt;br /&gt;
* send_onchange_to_unit&lt;br /&gt;
* send_onchange_to_unit_email&lt;br /&gt;
* send_oncreate_to_client&lt;br /&gt;
* send_oncreate_to_client_email&lt;br /&gt;
* send_oncreate_to_unit&lt;br /&gt;
* send_oncreate_to_unit_email&lt;br /&gt;
* send_sms_if_push_enabled&lt;br /&gt;
* site_link&lt;br /&gt;
* site_link_title&lt;br /&gt;
* skip_limits_for_admin&lt;br /&gt;
* skip_show_mobile_app_ads&lt;br /&gt;
* skip_show_on_success_button&lt;br /&gt;
* sms_event_list&lt;br /&gt;
* sms_events_list_template&lt;br /&gt;
* sms_group_events_list_template&lt;br /&gt;
* unit_batch_cancel_template&lt;br /&gt;
* unit_batch_cancel_template_email&lt;br /&gt;
* unit_batch_cancel_template_email_subject&lt;br /&gt;
* unit_event_cancel_template&lt;br /&gt;
* unit_event_cancel_template_email&lt;br /&gt;
* unit_event_cancel_template_email_subject&lt;br /&gt;
* unit_event_change_template&lt;br /&gt;
* unit_event_change_template_email&lt;br /&gt;
* unit_event_change_template_email_subject&lt;br /&gt;
* unit_event_creation_template&lt;br /&gt;
* unit_event_creation_template_email&lt;br /&gt;
* unit_event_creation_template_email_subject&lt;br /&gt;
* unit_event_group_creation_template&lt;br /&gt;
* unit_event_group_creation_template_email&lt;br /&gt;
* unit_event_group_creation_template_email_subject&lt;br /&gt;
* unit_group_notification_template&lt;br /&gt;
* unit_group_notification_template_email&lt;br /&gt;
* unit_group_notification_template_email_subject&lt;br /&gt;
* unit_notification_template&lt;br /&gt;
* unit_notification_template_email&lt;br /&gt;
* unit_notification_template_email_subject&lt;br /&gt;
* unit_notification_time&lt;br /&gt;
* unit_recurring_event_creation_template&lt;br /&gt;
* unit_recurring_event_creation_template_email&lt;br /&gt;
* unit_recurring_event_creation_template_email_subject&lt;br /&gt;
* use_common_client_db&lt;br /&gt;
* user_confirmation&lt;br /&gt;
* user_public_layout&lt;br /&gt;
* user_public_theme&lt;br /&gt;
* waiting_video&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Accept payments Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Accept_Payments|Accept Payments Custom Feature configuration]].&lt;br /&gt;
&lt;br /&gt;
* allow_delay_payment&lt;br /&gt;
*: Allow delay payment option. Boolean.&lt;br /&gt;
* company_currency&lt;br /&gt;
*:&lt;br /&gt;
* hide_sale_tax&lt;br /&gt;
*: Hide sales tax option. Boolean.&lt;br /&gt;
* payment_timeout&lt;br /&gt;
*: Payment timeout option. String (&amp;quot;5 minutes&amp;quot;, &amp;quot;1 hour&amp;quot;, ...)&lt;br /&gt;
* sale_tax&lt;br /&gt;
*: Sales tax option. Integer. You should divide by 100 to get percent value.&lt;br /&gt;
* paypal_account&lt;br /&gt;
*: PayPal payment processor configuration. String.&lt;br /&gt;
* skrill_account&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* skrill_secret&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_id&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_key&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_application_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_id&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_secret_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* liqpay_merchant_id&lt;br /&gt;
* liqpay_merchant_pass&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Term &amp;amp; Conditions Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Terms_and_Conditions|Terms and Conditions Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
* user_license_text&lt;br /&gt;
*: Terms and conditions text. String.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Custom Features&#039; identifiers===&lt;br /&gt;
&lt;br /&gt;
Custom Feature identifier is a string constant which represents a Custom Feature in system. These constants used in &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[#getPluginStatuses|getPluginStatuses]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
&lt;br /&gt;
* advanced_notification&lt;br /&gt;
*:Book Soon notification system&lt;br /&gt;
* any_unit&lt;br /&gt;
*:Any Employee selector&lt;br /&gt;
* api&lt;br /&gt;
*:API&lt;br /&gt;
* approve_booking&lt;br /&gt;
*:Approve booking&lt;br /&gt;
* back_to_site&lt;br /&gt;
*:Take me back home&lt;br /&gt;
* contact_widget&lt;br /&gt;
*:Contact widget&lt;br /&gt;
* counter&lt;br /&gt;
*:Visitor Counter&lt;br /&gt;
* custom_css&lt;br /&gt;
*:Custom CSS&lt;br /&gt;
* data_security&lt;br /&gt;
*:Clean history&lt;br /&gt;
* description&lt;br /&gt;
*:HTML description field for events&lt;br /&gt;
* event_category&lt;br /&gt;
*:Service categories&lt;br /&gt;
* event_field&lt;br /&gt;
*:Intake forms&lt;br /&gt;
* facebookImage&lt;br /&gt;
*:Facebook client info&lt;br /&gt;
* financial_dashboard&lt;br /&gt;
*:Insights&lt;br /&gt;
* google_analytics&lt;br /&gt;
*:Google Adwords and analytics&lt;br /&gt;
* google_calendar_export&lt;br /&gt;
*:Calendar sync&lt;br /&gt;
* group_booking&lt;br /&gt;
*:Group bookings&lt;br /&gt;
* hipaa&lt;br /&gt;
*:HIPAA&lt;br /&gt;
* limit_bookings&lt;br /&gt;
*:Limit bookings&lt;br /&gt;
* location&lt;br /&gt;
*:Multiple locations&lt;br /&gt;
* mobile_app_backend&lt;br /&gt;
*:Mobile application&lt;br /&gt;
* multiple_booking&lt;br /&gt;
*:Multiple bookings&lt;br /&gt;
* news&lt;br /&gt;
*:News&lt;br /&gt;
* paid_events&lt;br /&gt;
*:Accept payments&lt;br /&gt;
&amp;lt;!--* promo&lt;br /&gt;
*:Rewards and Referrals--&amp;gt;&lt;br /&gt;
* recap&lt;br /&gt;
*:Daily report&lt;br /&gt;
* secure&lt;br /&gt;
*:SSL&lt;br /&gt;
* status&lt;br /&gt;
*:Status&lt;br /&gt;
* unit_colors&lt;br /&gt;
*:Providers color coding&lt;br /&gt;
* user_license&lt;br /&gt;
*:Terms and conditions&lt;br /&gt;
* cancelation_policy&lt;br /&gt;
*:Cancellation Policy&lt;br /&gt;
&lt;br /&gt;
See [[Custom_Features|Custom Features]] page for description for each Custom Feature.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
====getBookingDetails response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getBookingDetails|getBookingDetails]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;: &amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;event_name&amp;quot;: &amp;quot;Massage&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_name&amp;quot;: &amp;quot;John&amp;quot;,&lt;br /&gt;
    &amp;quot;client_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;client_name&amp;quot;: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date_time&amp;quot;: &amp;quot;2015-11-25 15:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;end_date_time&amp;quot;: &amp;quot;2015-11-25 16:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;is_confirmed&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;h8v8w5ls&amp;quot;,&lt;br /&gt;
    &amp;quot;record_date&amp;quot;: &amp;quot;2015-11-19 04:06:38&amp;quot;,&lt;br /&gt;
    &amp;quot;comment&amp;quot;: null,&lt;br /&gt;
    &amp;quot;company_login&amp;quot;: &amp;quot;testzt&amp;quot;,&lt;br /&gt;
    &amp;quot;company_name&amp;quot;: &amp;quot;My Cool Company&amp;quot;,&lt;br /&gt;
    &amp;quot;company_phone&amp;quot;: &amp;quot;+1-555-55-55&amp;quot;,&lt;br /&gt;
    &amp;quot;company_email&amp;quot;: &amp;quot;into@mycoolcompany.com&amp;quot;,&lt;br /&gt;
    &amp;quot;additional_fields&amp;quot;: [{&lt;br /&gt;
      &amp;quot;value&amp;quot;: &amp;quot;on&amp;quot;,&lt;br /&gt;
      &amp;quot;field_name&amp;quot;: &amp;quot;201a89517de509f6b3a60858918faac3&amp;quot;,&lt;br /&gt;
      &amp;quot;field_title&amp;quot;: &amp;quot;Include washing&amp;quot;,&lt;br /&gt;
      &amp;quot;field_position&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;field_type&amp;quot;: &amp;quot;checkbox&amp;quot;,&lt;br /&gt;
      &amp;quot;field_id&amp;quot;: &amp;quot;4&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;comments&amp;quot;: [],&lt;br /&gt;
    &amp;quot;history&amp;quot;: [{&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;536&amp;quot;,&lt;br /&gt;
      &amp;quot;sheduler_id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
      &amp;quot;datetime&amp;quot;: &amp;quot;2015-11-19 11:06:38&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;create&amp;quot;,&lt;br /&gt;
      &amp;quot;user_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;agent&amp;quot;: &amp;quot;SimplyBook.me\/55 CFNetwork\/758.0.2 Darwin\/15.0.0&amp;quot;,&lt;br /&gt;
      &amp;quot;ip&amp;quot;: &amp;quot;213.174.0.53, 158.69.224.50:127.0.0.1&amp;quot;,&lt;br /&gt;
      &amp;quot;referer&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;login&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
      &amp;quot;firstname&amp;quot;: &amp;quot;Mikhail&amp;quot;,&lt;br /&gt;
      &amp;quot;lastname&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;status&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Fancy Status&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;color&amp;quot;: &amp;quot;4cbadb&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;location&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;location&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;picture&amp;quot;: &amp;quot;e1e9409fe9682c78b2f8f294dc151af0.jpg&amp;quot;,&lt;br /&gt;
      &amp;quot;address1&amp;quot;: null,&lt;br /&gt;
      &amp;quot;address2&amp;quot;: &amp;quot;Saint Margaret Street&amp;quot;,&lt;br /&gt;
      &amp;quot;city&amp;quot;: &amp;quot;\u041b\u043e\u043d\u0434\u043e\u043d&amp;quot;,&lt;br /&gt;
      &amp;quot;zip&amp;quot;: null,&lt;br /&gt;
      &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
      &amp;quot;lat&amp;quot;: &amp;quot;51.50013000000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;lng&amp;quot;: &amp;quot;-0.12630500000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;phone&amp;quot;: &amp;quot;44&amp;quot;,&lt;br /&gt;
      &amp;quot;position&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;price&amp;quot;: [],&lt;br /&gt;
    &amp;quot;promo&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location field is present in response only if [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is enabled. Otherwise this field will be an empty array. If locations Custom Feature is enabled but booking doesn&#039;t have any locations this fields also will be an empty array.&lt;br /&gt;
&lt;br /&gt;
Status field is present in response only if [[Custom_Features#Status|Status Custom Feature]] is enabled. Otherwise this field will be an empty array. If Custom Feature enabled but booking doesn&#039;t have any statues specified the default status returned.&lt;br /&gt;
&lt;br /&gt;
Price field is present in response only if [[Custom_Features#Accept_Payments|Accept payments Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a free service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Promo field is present in response only if [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains false if Custom Feature is enabled but booking was created without any promo codes.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;additional_fields&amp;lt;/code&amp;gt; field is present in response only if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a service with no intake forms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====book response====&lt;br /&gt;
&lt;br /&gt;
[[#book|&amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt;]] API method returns an object which contains list of objects with short description of newly create bookings. Method returns only one item in &#039;bookings&#039; array for regular appointment and more than one item for recurring or batch bookings.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;require_confirm&amp;quot;:false,&lt;br /&gt;
    &amp;quot;bookings&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;434&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-30 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-30 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc14ca&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;785cb8cce316e64765b94c05a635f4be&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;435&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-31 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-31 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc2pge&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;8b92d634541bfd93c0830967e56f4653&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;436&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-04 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-04 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc3urb&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;cd22a0bf183f7350e595988dd2486e5b&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;437&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-05 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-05 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc44d9&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;53f98ff4e4a0323aa907156c59c99362&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;batch_type&amp;quot;:&amp;quot;batch_recurrent_booking&amp;quot;,&lt;br /&gt;
    &amp;quot;recurrent_batch_id&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;batch_hash&amp;quot;:&amp;quot;357178bce290381bb7235080941ec143&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====getCompanyInfo response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getCompanyInfo|getCompanyInfo]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;login&amp;quot;: &amp;quot;pierrecoetzee&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;Pierre&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;address1&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;address2&amp;quot;: &amp;quot;Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;city&amp;quot;: &amp;quot;London&amp;quot;,&lt;br /&gt;
    &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
    &amp;quot;lat&amp;quot;: &amp;quot;51.500435&amp;quot;,&lt;br /&gt;
    &amp;quot;lng&amp;quot;: &amp;quot;-0.129811&amp;quot;,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;pierre.coe@gmail.com&amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;web&amp;quot;: null,&lt;br /&gt;
    &amp;quot;skip_address&amp;quot;: null,&lt;br /&gt;
    &amp;quot;logo&amp;quot;: null,&lt;br /&gt;
    &amp;quot;address&amp;quot;: &amp;quot;GB, London, Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;description_text&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;timezone&amp;quot;: &amp;quot;Europe London&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_client_timezone&amp;quot;: false,&lt;br /&gt;
    &amp;quot;timeframe&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
    &amp;quot;timeline_type&amp;quot;: &amp;quot;modern_week&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_day_break&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_breaktime_break&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;timeline_type&amp;lt;/code&amp;gt; field can be one the following values:&lt;br /&gt;
&lt;br /&gt;
* flexible&lt;br /&gt;
* modern&lt;br /&gt;
* flexible_week&lt;br /&gt;
* modern_week&lt;br /&gt;
* classic&lt;br /&gt;
* classes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Please note that &amp;lt;code&amp;gt;classic&amp;lt;/code&amp;gt; timeline type is deprecated and not supported anymore.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; field contains raw data of company&#039;s description which can include HTML tags. &amp;lt;code&amp;gt;description_text&amp;lt;/code&amp;gt; field contains only text information without HTML tags.&lt;br /&gt;
&lt;br /&gt;
For information about &amp;lt;code&amp;gt; timeframe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timezone&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;allow_event_day_break&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;allow_event_breaktime_break&amp;lt;/code&amp;gt; see [[#Company params|Company params section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--====getPluginPromoInfoByCode response====&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;yvuvugum&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;We are offering [service\/services] with an amazing [discount]% discount! We are running this deal for a limited time only.&amp;quot;,&lt;br /&gt;
    &amp;quot;discount&amp;quot;: &amp;quot;99.9999&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;expired_date&amp;quot;: &amp;quot;2016-01-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_date&amp;quot;: &amp;quot;2015-12-31&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_time&amp;quot;: &amp;quot;09:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_time&amp;quot;: &amp;quot;22:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_usage_count&amp;quot;: &amp;quot;20&amp;quot;,&lt;br /&gt;
    &amp;quot;fineprint_text&amp;quot;: &amp;quot;Deal is limited for new clients only. Reward is claimable [client_claim_times_number] times per client. Deal is only claimable for the locations specified. Deal is cannot be combined with any other promotion. Must be redeemed prior to the expiration date shown on the deal.&amp;quot;,&lt;br /&gt;
    &amp;quot;redemption_text&amp;quot;: &amp;quot;Present your confirmation code when you want to redeem your deal. You may either to print off your confirmation email or show your confirmation code by loggin into Simplybook on your mobile phone\/Pc.\r\n[promocode]\r\n[discount]\r\n[reward]\r\n[referal_qty]&amp;quot;,&lt;br /&gt;
    &amp;quot;headline&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;: null,&lt;br /&gt;
    &amp;quot;allow_customer_count&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_catalogue&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;: &amp;quot;active&amp;quot;,&lt;br /&gt;
    &amp;quot;plugin_promo_message_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;common_promotion_id&amp;quot;: &amp;quot;132&amp;quot;,&lt;br /&gt;
    &amp;quot;service_ids&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; contains a list of services for wich promotion discount can be applied.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15107</id>
		<title>Company administration service methods</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15107"/>
		<updated>2025-05-15T12:55:48Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Company administration service methods - SimplyBook.me&lt;br /&gt;
|description=Learn about service methods for internal company administration. Manage bookings tailored to your operations. Start here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Information==&lt;br /&gt;
&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using [http://www.json.org JSON]. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Часовая фотосесcия&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Если Вы хотите попробовать себя в роли модели, но не определились с образом. &amp;lt;br /&amp;gt; 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске&amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Example of request with error response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;someNotExistingMethod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;id&amp;quot;:1,&lt;br /&gt;
    &amp;quot;error&amp;quot;: {&lt;br /&gt;
      &amp;quot;code&amp;quot;: -32601,&lt;br /&gt;
      &amp;quot;message&amp;quot;: &amp;quot;Method not found&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[#Authentication|authentication]] section.&lt;br /&gt;
&lt;br /&gt;
===Endpoint===&lt;br /&gt;
&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/admin&amp;lt;/code&amp;gt; for all administration service API calls.&lt;br /&gt;
&lt;br /&gt;
===Authentication===&lt;br /&gt;
&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom_Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
=== addClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addClient($clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adds new client with specified data. You can specify name, email, phone, address1, address2, city, zip,&lt;br /&gt;
country_id. If client record with specified data exists  method will return an id of this record. Otherwise data&lt;br /&gt;
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&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam(&#039;require_fields&#039;)&amp;lt;/code&amp;gt; method to check which fields are required.&lt;br /&gt;
&lt;br /&gt;
Method returns an error:&lt;br /&gt;
&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
     name: &amp;quot;Frances T. Perez&amp;quot;,&lt;br /&gt;
     phone: &amp;quot;+1502-810-4521&amp;quot;,&lt;br /&gt;
     email: &amp;quot;FrancesTPerez@teleworm.us&amp;quot;,&lt;br /&gt;
     address1: &amp;quot;3872 Earnhardt Drive&amp;quot;,&lt;br /&gt;
     address2: &amp;quot;Louisville, KY 40219&amp;quot;,&lt;br /&gt;
     city: Louisville,&lt;br /&gt;
     zip: 3872&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== addDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addDeviceToken($token, $device)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String a device token string&lt;br /&gt;
* &#039;&#039;&#039;$device&#039;&#039;&#039; String a device type (&#039;android&#039; or &#039;apple&#039;)&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Subscribe a mobile device to push notifications service. Device will recieve notifications about new bookings or&lt;br /&gt;
changes in already created bookings. Use either &amp;lt;code&amp;gt;&#039;apple&#039;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&#039;android&#039;&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;&lt;br /&gt;
parameter.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== book ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;book($eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional, $count, $batchId, $recurringData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer bookings count used to make group bookings batch. This parameter can&#039;t be less than 1. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer add booking to group bookings batch. You can&#039;t use $count and $batchId in one call. Please specify only one parameter. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array - make booking recurrent. (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates new booking record. Returns an object with appointment information or throw exception if booking time not&lt;br /&gt;
available or any of required parameters missed. If appointment requires confirmation, in result object will be&lt;br /&gt;
&amp;lt;code&amp;gt;require_confirm = true&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt; specifies a date of&lt;br /&gt;
booking and time slot. Time value should be multiple to &#039;timeframe&#039; configuration of company (see&lt;br /&gt;
&amp;lt;code&amp;gt;[[#getTimeframe|getTimeframe]]&amp;lt;/code&amp;gt; API method). &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; parameters&lt;br /&gt;
should be calculated according to service duration. However you can specify different values to make appointment&lt;br /&gt;
longer or shorter then service configuration. Note that &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; should be&lt;br /&gt;
later in time than &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt;. If your clients located in different time&lt;br /&gt;
zone you should specify &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; parameter as difference between company&#039;s time zone and&lt;br /&gt;
client&#039;s time zone in seconds. For example if company located in city with time zone GMT+2 and customer located&lt;br /&gt;
in city with GMT+3 then &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; will be -3600 seconds. You can get information about company&#039;s&lt;br /&gt;
time zone using &amp;lt;code&amp;gt;[[#getCompanyInfo|getCompanyInfo]]&amp;lt;/code&amp;gt; API method. To create batch booking you can&lt;br /&gt;
specify either &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; more then 1 or valid &amp;lt;code&amp;gt;batchId&amp;lt;/code&amp;gt; (only one parameter can be&lt;br /&gt;
specified). You should specify an &amp;lt;code&amp;gt;$additionalFields&amp;lt;/code&amp;gt; parameter if service requires some intake forms (see [[Custom_Features#Intake_Forms|Intake Forms Custom feature]]).To create a booking with promo code you should pass it as additional field. For example: &amp;lt;code&amp;gt;{&amp;quot;promocode&amp;quot;: &amp;quot;some code&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If [[Custom_Features#Multiple_Locations| Multiple locations]] enabled you need to pass locations ID parameter as additional field&lt;br /&gt;
&amp;lt;code&amp;gt;location_id&amp;lt;/code&amp;gt;. For example: &amp;lt;code&amp;gt;{&amp;quot;location_id&amp;quot;: &amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt;. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
to check if Custom feature active and &amp;lt;code&amp;gt;[[#getLocationsList|getLocationsList()]]&amp;lt;/code&amp;gt; method to get list of&lt;br /&gt;
available locations.&lt;br /&gt;
&lt;br /&gt;
See [[#book response|example]] of &amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt; API method response.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [https://help.simplybook.me/index.php/Need_to_change_interval_(timeframe) Timeframe information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== calculateEndTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;calculateEndTime($startDateTime, $eventId, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; 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;.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String|Boolean.&lt;br /&gt;
&lt;br /&gt;
Returns end datetime if booking is available, else return false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBatch($id, $bookingIds)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer identifier of batch. See &amp;lt;code&amp;gt;[[#createBatch|createBatch]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
* &#039;&#039;&#039;$bookingIds&#039;&#039;&#039; Array ids of bookings included to batch.&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Cancel batch of bookings. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found)&lt;br /&gt;
if no booking with specified id were found. A booking with first id in &amp;lt;code&amp;gt;$bookingIds&amp;lt;/code&amp;gt; list is used for&lt;br /&gt;
information in notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBooking ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBooking($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Cancels booking. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found) if&lt;br /&gt;
no booking with specified id were found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== createBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;createBatch()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Creates new booking batch record. Returns newly created batch id. You can use this id in &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteDeviceToken($token)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String - device token&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Unsubscribe from push notifications service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== editBook ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editBook($shedulerId, $eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer an id of booking to edit. See &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[#getBookings|getBookings]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Edit existing booking record. See [[#book|book]] API method description for more details about date/time parameters,&lt;br /&gt;
time zone handling and additional fields. Returns null if parameters not valid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editClient($clientId, $clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Edits client&#039;s record. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; method description for list of available fields.Method returns an id of client&#039;s record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== filterAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;filterAvailableUnits($eventId, $dateTime, $unitIds, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitIds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with location Custom Feature.&lt;br /&gt;
Returns empty array if all units are not allowed.&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAdditionalFields ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAdditionalFields($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return intake forms for certain event if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is&lt;br /&gt;
activated. Returns empty array otherwise. Call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_field&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if &#039;event_field&#039; Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAnyUnitData ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAnyUnitData()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object|null.&lt;br /&gt;
&lt;br /&gt;
Returns information about [[Custom_Features#Any_Employee_Selector|Any Employee selector Custom Feature]] configuration. Returns&lt;br /&gt;
null if Custom Feature not enabled.Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot; : &amp;quot;Select this option, if you want to find an available time with any of the employees&amp;quot;,&lt;br /&gt;
    &amp;quot;hide_other_units&amp;quot; : 1, // 1 or 0&lt;br /&gt;
    &amp;quot;image&amp;quot; : null,&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;Any employee&amp;quot;,&lt;br /&gt;
    &amp;quot;picture_path&amp;quot; : null,&lt;br /&gt;
    &amp;quot;random_selection&amp;quot; : 0 // 1 or 0&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available time intervals for all service providers for given period, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{[&#039;2016-03-04&#039;: [&#039;1&#039;: [[&#039;09:00:00&#039;,&#039;09:30:00&#039;], [&#039;11:15:00&#039;,&#039;14:45:00&#039;]] , ...], ...]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableUnits($eventId, $dateTime, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service or empty array if all units are not allowed.Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingCancellationsInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingCancellationsInfo($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data from first day of current week.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data filtered to last day of current week.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about created bookings and cancellations for a time period. Data presented as array of hashes for&lt;br /&gt;
each type of operation (created or cancelled booking) groped by clients. &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; field can be either&lt;br /&gt;
&amp;quot;create&amp;quot;, &amp;quot;cancel&amp;quot; or &amp;quot;nopayment_cancel&amp;quot;. If &amp;lt;code&amp;gt;&amp;quot;user_id&amp;quot;&amp;lt;/code&amp;gt; not specified then bookings where created or&lt;br /&gt;
cancelled by admin or employee. Data with type &amp;lt;code&amp;gt;&amp;quot;nopayment_cancel&amp;quot;&amp;lt;/code&amp;gt; represents bookings cancelled&lt;br /&gt;
automatically by system.Example:&lt;br /&gt;
  3 bookings where created by admin or employee and 2 bookings where automatically cancelled by system.&lt;br /&gt;
  [{&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 3,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;create&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }, {&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 2,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;nopayment_cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingComment($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingDetails($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; integer booking id&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns detailed bookings object by booking id. See [[#getBookingDetails_response|response example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingLimitUnavailableTimeInterval ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingLimitUnavailableTimeInterval($startDateTime, $endDateTime, $eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns time intervals not available for bookings because of configuration of [[Custom_Features#Limit_Bookings|Limit bookings]]&lt;br /&gt;
Custom Feature for period of time. Returns empty array if Custom Feature not available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingRevenue ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingRevenue($dateStart, $dateEnd, $unitGroupId, $serviceId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
* &#039;&#039;&#039;$serviceId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return bookings count and revenue value for each date in specified period. Data grouped by unit id and&lt;br /&gt;
represented as array with bookings count at index 0 and revenue amount at index 1. You can filter data either&lt;br /&gt;
by unit or by service. Set &amp;lt;code&amp;gt;$dateStart&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$dateEnd&amp;lt;/code&amp;gt; to null to get data for current week.Example:&lt;br /&gt;
  [&#039;2015-11-12&#039; : {&lt;br /&gt;
     3 : [&lt;br /&gt;
       11, // bookings count&lt;br /&gt;
       128.53 // revenue&lt;br /&gt;
  ]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistic about bookings count grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookings($params)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params. Filter params represented as object with following fields:* &#039;&#039;&#039;date_from&#039;&#039;&#039; a date of booking in string format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_from&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_to&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_from&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;unit_group_id&#039;&#039;&#039; an integer. Use it to get bookings assigned for certain service provider.&lt;br /&gt;
* &#039;&#039;&#039;event_id&#039;&#039;&#039; an integer. Use it to  get bookings only for certain service.&lt;br /&gt;
* &#039;&#039;&#039;is_confirmed&#039;&#039;&#039; 1 or 0. If [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled then method will return confirmed bookings with approve status &#039;new&#039;.&lt;br /&gt;
* &#039;&#039;&#039;client_id&#039;&#039;&#039; an integer. Use it to get bookings only for certain client.&lt;br /&gt;
* &#039;&#039;&#039;order&#039;&#039;&#039; string either &#039;record_date&#039;, &#039;date_start&#039; or &#039;date_start_asc&#039;. By default used &#039;date_start&#039; value.&lt;br /&gt;
* &#039;&#039;&#039;booking_type&#039;&#039;&#039; a string. Value of this field depends on Approve booking Custom Feature status.&lt;br /&gt;
*: If Custom Feature not active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 0&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 1&lt;br /&gt;
*: If Custom Feature active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; returns bookings with &#039;is_confirmed&#039; field equals to 0 and approve booking status equals to &#039;cancelled&#039; (or booking does not have any approve status)&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 or approve booking status equals to &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_client&#039;&#039;&#039; returns bookings approved by admin but cancelled by client&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_admin&#039;&#039;&#039; returns bookings cancelled by admin&lt;br /&gt;
** &#039;&#039;&#039;non_approved_yet&#039;&#039;&#039; returns bookings with approve status &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;approved&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 and approve booking status equals to &#039;approved&#039; (or booking does not have any approve status)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;date_from&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;date_to&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;booking_type&amp;quot;:&amp;quot;cancelled&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;:&amp;quot;start_date&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingsZapier ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingsZapier()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCategoriesList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCategoriesList($isPublic)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company categories list if [[Custom_Features#Service_Categories|Service Categories Custom Feature]] is activated. Returns&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_category&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClient($clientId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns client&#039;s data object. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientComments ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientComments($clientId, $shedulerId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of all comments for given client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientList($searchString, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$searchString&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of clients associated with company. You can use either phone number, email address or name as value&lt;br /&gt;
for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt;. Pass an empty string for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt; and null for &amp;lt;code&amp;gt;$limit&amp;lt;/code&amp;gt;&lt;br /&gt;
parameters to get all records. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCurrency()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s currency as three chars code (ISO 4217).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCompanyInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about company. See [[#getCompanyInfo response|example of response]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParam ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam($key)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$key&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns mixed.&lt;br /&gt;
&lt;br /&gt;
Returns company config value for key. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParams ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParams($keys)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$keys&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company config values for keys. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].For non-existent and not-allowed params it will return false as result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyTimezoneOffset ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyTimezoneOffset()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns company timezone offset and company timezone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of all countries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryPhoneCodes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryPhoneCodes()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns country phone code list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentTariffInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentTariffInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns all information about current tariff (subscription). For example:{&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;gold&amp;quot;,&lt;br /&gt;
    &amp;quot;expire_date&amp;quot; : &amp;quot;2016-02-11 12:32:00&amp;quot;,&lt;br /&gt;
    &amp;quot;rest&amp;quot; : 41, // number of days until subscription expiration&lt;br /&gt;
    &amp;quot;color&amp;quot; : &amp;quot;#fcb322&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentUserDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentUserDetails()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments. Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with information about logged in user. Note: you are responsible for implementation of some&lt;br /&gt;
access rights based on &amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property value. Most of API methods returns an error if user has low access&lt;br /&gt;
rights but not all. There are 4 roles:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; - have full access to the system&lt;br /&gt;
* &#039;&#039;&#039;Senior Employee&#039;&#039;&#039; - have access to calendar, services and providers, and can modify bookings related with user&lt;br /&gt;
* &#039;&#039;&#039;Junior Employee&#039;&#039;&#039; - can access caledar (but only to own bookings), services associated with user&lt;br /&gt;
* &#039;&#039;&#039;Viewer&#039;&#039;&#039; - have only access to calendar and services in read only mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;shop_user&amp;lt;/code&amp;gt; - &amp;quot;Senior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;station_user&amp;lt;/code&amp;gt; - &amp;quot;Junior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; - &amp;quot;Administrator&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;viewer&amp;lt;/code&amp;gt; - &amp;quot;Viewer&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;reseller_company_admin&amp;lt;/code&amp;gt; - reserved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;login&amp;quot;: admin,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;admin@mycoolcompany.com&amp;quot;;&lt;br /&gt;
    &amp;quot;firstname&amp;quot;: &amp;quot;Michail&amp;quot;,&lt;br /&gt;
    &amp;quot;lastname&amp;quot;: &amp;quot; &amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;group&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;is_blocked&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;last_access_time&amp;quot;: &amp;quot;2016-06-06 17:55:51&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;: null&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getEventList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getEventList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s events list. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as key&lt;br /&gt;
and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property of&lt;br /&gt;
event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbacks ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbacks($approvedOnly, $reviewsOnly, $lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$approvedOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$reviewsOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFirstWorkingDay ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFirstWorkingDay($unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns first working date for unit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTime($startDateTime, $endDateTime, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;. You can date string avoiding time in&lt;br /&gt;
this parameter. In this case method will use time value &#039;23:59:59&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented a time intervals marked as busy in Google Calendar. Each object of result&lt;br /&gt;
contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with datetime string as value. This method only actual if&lt;br /&gt;
[Custom_Features#Calendar_Sync|Calendar Sync Custom Feature] enabled. If Custom Feature not enabled an empty list will&lt;br /&gt;
be returned. You should call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; to&lt;br /&gt;
check status of the Custom Feature. Each object of result contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with&lt;br /&gt;
datetime string as value. Please note that this method may return not actual data because data synchronization&lt;br /&gt;
between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  [&lt;br /&gt;
   {&amp;quot;from&amp;quot; : &amp;quot;2016-02-16 13:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;to&amp;quot; : &amp;quot;2016-02-16 16:00:00&amp;quot;},&lt;br /&gt;
    ...&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTimeAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTimeAvailableUnits()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns configured unit ids, allowed to sync busy time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getLastNotificationUpdate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLastNotificationUpdate($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns last update datetime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getLocationsList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLocationsList($isPublic, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns available locations for company if Custom Feature [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is activated. Return&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
This method accepts two boolean flags as parameters. If &#039;&#039;&#039;isPublic&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; then method returns only&lt;br /&gt;
public locations. If &#039;&#039;&#039;asArray&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; method returns list of objects. Otherwise method returns&lt;br /&gt;
map of objects with object id as key. You can omit both parameters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getPluginList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of all Custom Features associated with company with status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---=== getPluginPromoInfoByCode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginPromoInfoByCode($code)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about Rewards and referrals promotion by promotion code. You can get promotion code&lt;br /&gt;
using &amp;lt;code&amp;gt;[[Catalogue#getPromotionList|getPromotionList]]&amp;lt;/code&amp;gt; API method. If promotion record with specified code not found then method returns an empty array (an empty object). If [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]]&lt;br /&gt;
not enabled then method returns an error with code -32001 (Custom Feature is not activated). Use&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;promo&#039;)]]&amp;lt;/code&amp;gt; API method call to check if Custom Feature enabled. See [[#getPromotionList response|example]] of &amp;lt;code&amp;gt;getPromotionList&amp;lt;/code&amp;gt; API method response. Please note that&lt;br /&gt;
response contains a list of services for wich promotion discount can be applied (&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; key).&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPluginStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginStatuses($pluginNames)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginNames&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentActions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentActions($lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns latest actions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRecurringDatetimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringDatetimes($eventId, $unitId, $date, $time, $recurringData, $endDateTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$time&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; String (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of dates for recurring booking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecurringSettings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringSettings($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with recurring settings for an event. Returns false if specified event does not configured as&lt;br /&gt;
recurring.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [http://blog.simplybook.me/recurring-and-periodic-bookings/ Recurring services desription]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRegistrations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRegistrations($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns number of clients registrations  by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTime($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns map of objects for each day in specified date range. The key of the result mps is a date string. The value&lt;br /&gt;
is an array of two objects. Both objects contains list of time slots for type &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; and type&lt;br /&gt;
&amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type represents time slots working time but already booked&lt;br /&gt;
by clients. Nobody knows what kind of data represented by &amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt; type. Please don&#039;t use it.If [[Custom_Features#Calendar_Sync| Calendar Sync Custom Feature]] enabled then object with&lt;br /&gt;
&amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type will contain not empty list of time slots marked as busy in Google calendar. Call&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; API method to check if Calendar Sync Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;2016-02-05&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;dd&amp;quot;: [], // time slots from Google calendar&lt;br /&gt;
        &amp;quot;events&amp;quot;: [ // reserved time slots&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;16:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;17:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;reserved_time&amp;quot;,&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;events&amp;quot;: [&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;09:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;10:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;not_worked_time&amp;quot;&lt;br /&gt;
     }],&lt;br /&gt;
     ...&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer|Array &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns not available time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [{&#039;reserved_time&#039;: [{&#039;from&#039;: &#039;14:00&#039;, &#039;to&#039;: &#039;16:30&#039;}], &#039;type&#039;: &amp;quot;reserved_time&amp;quot;}, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getSocialCounterStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getSocialCounterStats($provider)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$provider&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns social counters value for your domain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStartTimeMatrix ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStartTimeMatrix($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available start time, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [&#039;09:00:00&#039;, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If locations Custom Feature activated for company you should pass a list as $unitID parameter for filter results with&lt;br /&gt;
units available only for selected location. See [[Custom_Features#Multiple_Locations|Multiple locations]] Custom Feature description for&lt;br /&gt;
more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStatuses()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available statuses or an empty list if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimeframe ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimeframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Need_to_change_interval_(timeframe)|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimelineType ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimelineType()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company calendar layout type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopPerformers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopPerformers()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for performers. This data contains number of bookings and revenues value for each performer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopServices ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopServices($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for services for a period of time. This data contains number of bookings and&lt;br /&gt;
revenues value for each service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of service performers. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as&lt;br /&gt;
key and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property&lt;br /&gt;
of event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkdayInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkdayInfo($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workday info (date_start and date_end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkingDurations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkingDurations($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return working durations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getVisitorStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getVisitorStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about page visits if Custom Feature [[Custom_Features#Visitor_Counter|Visitor Counter Custom Feature]] enabled. Returns&lt;br /&gt;
an empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;counter&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled. Results can be grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on&lt;br /&gt;
selected grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWarnings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWarnings($lastOnly)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039;  Boolean. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented system warnings. Each warning contains &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt;&lt;br /&gt;
properties. &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt; property contains localized message. &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;sms_limit&#039;&#039;&#039; – warning indicates low amount of SMS credits&lt;br /&gt;
* &#039;&#039;&#039;sheduler_limit&#039;&#039;&#039; – warning indicates low amount of available bookings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkCalendar ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkCalendar($year, $month, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$year&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$month&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns company work schedule as array&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-01&#039;: {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;21:00:00&#039;, &#039;is_day_off&#039;: &#039;0&#039;}, &#039;2014-05-02&#039;: ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysInfo($from, $to, $unitId, $eventId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an information about working hours and break times for specified service and performer for a period&lt;br /&gt;
between two dates. If only service specified then information about performer (or performers) will be taken from&lt;br /&gt;
service configuration. Method returns a list of objects for each date in specified period. Count of objects in&lt;br /&gt;
list depends on break times. For example if performer works from 9:00 till 19:00 with one hour break at 13:00 method&lt;br /&gt;
returns:&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&#039;2014-05-14&#039; : [&lt;br /&gt;
    {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;13:00:00&#039;},&lt;br /&gt;
    {&#039;from&#039;: &#039;14:00:00&#039;, &#039;to&#039;: &#039;19:00:00&#039;}&lt;br /&gt;
  ] }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning! Method can return a time string &#039;24:00:00&#039; as right edge of time range. This happens in case if time&lt;br /&gt;
range finishes on midnight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysTimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysTimes($startDateTime, $endDateTime, $type = &#039;unit_group&#039;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; string. Optional. Either &#039;unit_group&#039; or &#039;event&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return busy time by unit id by Calendar Sync Custom Feature if enabled. Please note that this method may return not actual data because data synchronization between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkload ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkload($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workload data for units in period of time. Workload for each unit represented as array with work hours&lt;br /&gt;
at index 0, confirmed booking hours as load at index 1 and cancelled bookings hours at index 2.Example:&lt;br /&gt;
  [&#039;2015-10-21&#039; : {&lt;br /&gt;
     5 : [&lt;br /&gt;
       10, // working hours&lt;br /&gt;
       10, // load hours (confirmed bookings hours)&lt;br /&gt;
       0   // cancelled bookings hours&lt;br /&gt;
  ] }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== isPluginActivated ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;isPluginActivated($pluginName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginName&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. &amp;lt;var&amp;gt;$pluginName&amp;lt;/var&amp;gt; parameter is a Custom Feature identifier.See [[Custom_Features|Custom Features]] page for full Custom Features description. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingApprove ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingApprove($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;approved&#039; if [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled and returns&lt;br /&gt;
list of approved booking IDs. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingCancel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingCancel($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;canceled&#039; if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled and returns&lt;br /&gt;
true. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookings()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns list of objects with information about bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]]&lt;br /&gt;
Custom Feature enabled. Returns empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookingsCount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookingsCount()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns count of bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled. Returns&lt;br /&gt;
0 if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setBookingComment($id, $comment)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$comment&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Set booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStatus ($bookingId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object of status of given booking (if status plugin is enabled)&lt;br /&gt;
default status will be returned if bookingId does not exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setStatus($bookingId, $statusId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$statusId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets specified status for booking. Returns an error with code -32020 if logged in user don&#039;t have access to edit&lt;br /&gt;
bookings. This method does nothing if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== updateNotification ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;updateNotification($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns .&lt;br /&gt;
&lt;br /&gt;
Mark notifications as readed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setWorkDayInfo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setWorkDayInfo($info)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$info&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Set work day schedule for company|service|provider for week_day|date&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;start_time&amp;quot;:&amp;quot;10:00&amp;quot;,&lt;br /&gt;
&amp;quot;end_time&amp;quot;:&amp;quot;18:00&amp;quot;,&lt;br /&gt;
&amp;quot;is_day_off&amp;quot;:0,&lt;br /&gt;
&amp;quot;breaktime&amp;quot;:[{&amp;quot;start_time&amp;quot;:&amp;quot;14:00&amp;quot;,&amp;quot;end_time&amp;quot;:&amp;quot;15:00&amp;quot;}],&lt;br /&gt;
&amp;quot;index&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
&amp;quot;name&amp;quot;:&amp;quot;Monday&amp;quot;,&lt;br /&gt;
&amp;quot;date&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
index is 1-7 for Monday - Sunday (used for weekly settings)&lt;br /&gt;
date is used to set worktime for special date&lt;br /&gt;
unit_group_id is provider id&lt;br /&gt;
event_id is service id&lt;br /&gt;
if unit_group_id and event_id not passed then it set data for company&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteSpecialDay===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteSpecialDay($date, $params = null)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Delete special date if set&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;2017-08-21&#039;, &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addServiceProvider($data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Create new service provider&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editServiceProvider($id, $data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Edit service provider&lt;br /&gt;
(there is no way to delete provider via API, in this case set is_active = 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1, &lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&lt;br /&gt;
=== Error codes ===&lt;br /&gt;
&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
* -32001 Custom Feature is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32015 Passed event id is not reccuren&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Intake form values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32081 Service can&#039;t be performed when company does not work&lt;br /&gt;
* -32082 Service performer can&#039;t work when company does not work&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 &lt;br /&gt;
*: An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Company params===&lt;br /&gt;
&lt;br /&gt;
Use these values to get configuration params for company with &amp;lt;code&amp;gt;[[#getCompanyParam|getCompanyParam]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
&lt;br /&gt;
=====General params=====&lt;br /&gt;
&lt;br /&gt;
Administration API inherits all [[Company public service methods#Company_params|keys]] allowed for public API and extends this list with keys:&lt;br /&gt;
&lt;br /&gt;
* attach_ical&lt;br /&gt;
* auto_redirect&lt;br /&gt;
* auto_redirect_text&lt;br /&gt;
* blockchain_address&lt;br /&gt;
* blockchain_secret&lt;br /&gt;
* borgun_merchant_id&lt;br /&gt;
* borgun_payment_gateway_id&lt;br /&gt;
* borgun_secret_code&lt;br /&gt;
* client_batch_cancel_template&lt;br /&gt;
* client_batch_cancel_template_email&lt;br /&gt;
* client_batch_cancel_template_email_subject&lt;br /&gt;
* client_event_cancel_template&lt;br /&gt;
* client_event_cancel_template_email&lt;br /&gt;
* client_event_cancel_template_email_subject&lt;br /&gt;
* client_event_change_template&lt;br /&gt;
* client_event_change_template_email&lt;br /&gt;
* client_event_change_template_email_subject&lt;br /&gt;
* client_event_creation_template&lt;br /&gt;
* client_event_creation_template_email&lt;br /&gt;
* client_event_creation_template_email_subject&lt;br /&gt;
* client_event_group_creation_template&lt;br /&gt;
* client_event_group_creation_template_email&lt;br /&gt;
* client_event_group_creation_template_email_subject&lt;br /&gt;
* client_event_multiple_creation_template&lt;br /&gt;
* client_event_multiple_creation_template_email&lt;br /&gt;
* client_event_multiple_creation_template_email_subject&lt;br /&gt;
* client_group_notification_template&lt;br /&gt;
* client_group_notification_template_email&lt;br /&gt;
* client_group_notification_template_email_subject&lt;br /&gt;
* client_multiple_notification_template&lt;br /&gt;
* client_multiple_notification_template_email&lt;br /&gt;
* client_multiple_notification_template_email_subject&lt;br /&gt;
* client_notification_template&lt;br /&gt;
* client_notification_template_email&lt;br /&gt;
* client_notification_template_email_subject&lt;br /&gt;
* client_notification_time&lt;br /&gt;
* client_recurring_event_creation_template&lt;br /&gt;
* client_recurring_event_creation_template_email&lt;br /&gt;
* client_recurring_event_creation_template_email_subject&lt;br /&gt;
* common_limit_booking&lt;br /&gt;
* company_ga_tracking_id&lt;br /&gt;
* default_phone&lt;br /&gt;
* disconnect_on_timeout&lt;br /&gt;
* email_event_list&lt;br /&gt;
* email_events_list_template&lt;br /&gt;
* email_group_events_list_template&lt;br /&gt;
* event_list_style&lt;br /&gt;
* feed_back_interval&lt;br /&gt;
* feedback_invite_template_email&lt;br /&gt;
* feedback_invite_template_email_subject&lt;br /&gt;
* google_conversion_color&lt;br /&gt;
* google_conversion_currency&lt;br /&gt;
* google_conversion_format&lt;br /&gt;
* google_conversion_id&lt;br /&gt;
* google_conversion_label&lt;br /&gt;
* google_conversion_language&lt;br /&gt;
* google_conversion_value&lt;br /&gt;
* hide_working_hours_block&lt;br /&gt;
* include_cancel_link&lt;br /&gt;
* kortais_merchant&lt;br /&gt;
* kortais_secret_code&lt;br /&gt;
* kortais_terminal&lt;br /&gt;
* layout_background&lt;br /&gt;
* layout_background_repeat&lt;br /&gt;
* mobile_site_link&lt;br /&gt;
* mobile_site_link_title&lt;br /&gt;
* no_show_period&lt;br /&gt;
* on_success_button_link&lt;br /&gt;
* on_success_button_text&lt;br /&gt;
* recap_interval&lt;br /&gt;
* recap_send_after_time&lt;br /&gt;
* recap_send_canceled_bookings&lt;br /&gt;
* recap_send_new_bookings&lt;br /&gt;
* recap_send_upcomming_bookings&lt;br /&gt;
* send_cancel_to_client&lt;br /&gt;
* send_cancel_to_client_email&lt;br /&gt;
* send_cancel_to_unit&lt;br /&gt;
* send_cancel_to_unit_email&lt;br /&gt;
* send_contact_widget_email_notification&lt;br /&gt;
* send_contact_widget_sms_notification&lt;br /&gt;
* send_notify_to_client&lt;br /&gt;
* send_notify_to_client_email&lt;br /&gt;
* send_notify_to_unit&lt;br /&gt;
* send_notify_to_unit_email&lt;br /&gt;
* send_onchange_to_client&lt;br /&gt;
* send_onchange_to_client_email&lt;br /&gt;
* send_onchange_to_unit&lt;br /&gt;
* send_onchange_to_unit_email&lt;br /&gt;
* send_oncreate_to_client&lt;br /&gt;
* send_oncreate_to_client_email&lt;br /&gt;
* send_oncreate_to_unit&lt;br /&gt;
* send_oncreate_to_unit_email&lt;br /&gt;
* send_sms_if_push_enabled&lt;br /&gt;
* site_link&lt;br /&gt;
* site_link_title&lt;br /&gt;
* skip_limits_for_admin&lt;br /&gt;
* skip_show_mobile_app_ads&lt;br /&gt;
* skip_show_on_success_button&lt;br /&gt;
* sms_event_list&lt;br /&gt;
* sms_events_list_template&lt;br /&gt;
* sms_group_events_list_template&lt;br /&gt;
* unit_batch_cancel_template&lt;br /&gt;
* unit_batch_cancel_template_email&lt;br /&gt;
* unit_batch_cancel_template_email_subject&lt;br /&gt;
* unit_event_cancel_template&lt;br /&gt;
* unit_event_cancel_template_email&lt;br /&gt;
* unit_event_cancel_template_email_subject&lt;br /&gt;
* unit_event_change_template&lt;br /&gt;
* unit_event_change_template_email&lt;br /&gt;
* unit_event_change_template_email_subject&lt;br /&gt;
* unit_event_creation_template&lt;br /&gt;
* unit_event_creation_template_email&lt;br /&gt;
* unit_event_creation_template_email_subject&lt;br /&gt;
* unit_event_group_creation_template&lt;br /&gt;
* unit_event_group_creation_template_email&lt;br /&gt;
* unit_event_group_creation_template_email_subject&lt;br /&gt;
* unit_group_notification_template&lt;br /&gt;
* unit_group_notification_template_email&lt;br /&gt;
* unit_group_notification_template_email_subject&lt;br /&gt;
* unit_notification_template&lt;br /&gt;
* unit_notification_template_email&lt;br /&gt;
* unit_notification_template_email_subject&lt;br /&gt;
* unit_notification_time&lt;br /&gt;
* unit_recurring_event_creation_template&lt;br /&gt;
* unit_recurring_event_creation_template_email&lt;br /&gt;
* unit_recurring_event_creation_template_email_subject&lt;br /&gt;
* use_common_client_db&lt;br /&gt;
* user_confirmation&lt;br /&gt;
* user_public_layout&lt;br /&gt;
* user_public_theme&lt;br /&gt;
* waiting_video&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Accept payments Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Accept_Payments|Accept Payments Custom Feature configuration]].&lt;br /&gt;
&lt;br /&gt;
* allow_delay_payment&lt;br /&gt;
*: Allow delay payment option. Boolean.&lt;br /&gt;
* company_currency&lt;br /&gt;
*:&lt;br /&gt;
* hide_sale_tax&lt;br /&gt;
*: Hide sales tax option. Boolean.&lt;br /&gt;
* payment_timeout&lt;br /&gt;
*: Payment timeout option. String (&amp;quot;5 minutes&amp;quot;, &amp;quot;1 hour&amp;quot;, ...)&lt;br /&gt;
* sale_tax&lt;br /&gt;
*: Sales tax option. Integer. You should divide by 100 to get percent value.&lt;br /&gt;
* paypal_account&lt;br /&gt;
*: PayPal payment processor configuration. String.&lt;br /&gt;
* skrill_account&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* skrill_secret&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_id&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_key&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_application_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_id&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_secret_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* liqpay_merchant_id&lt;br /&gt;
* liqpay_merchant_pass&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Term &amp;amp; Conditions Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Terms_and_Conditions|Terms and Conditions Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
* user_license_text&lt;br /&gt;
*: Terms and conditions text. String.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Custom Features&#039; identifiers===&lt;br /&gt;
&lt;br /&gt;
Custom Feature identifier is a string constant which represents a Custom Feature in system. These constants used in &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[#getPluginStatuses|getPluginStatuses]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
&lt;br /&gt;
* advanced_notification&lt;br /&gt;
*:Book Soon notification system&lt;br /&gt;
* any_unit&lt;br /&gt;
*:Any Employee selector&lt;br /&gt;
* api&lt;br /&gt;
*:API&lt;br /&gt;
* approve_booking&lt;br /&gt;
*:Approve booking&lt;br /&gt;
* back_to_site&lt;br /&gt;
*:Take me back home&lt;br /&gt;
* contact_widget&lt;br /&gt;
*:Contact widget&lt;br /&gt;
* counter&lt;br /&gt;
*:Visitor Counter&lt;br /&gt;
* custom_css&lt;br /&gt;
*:Custom CSS&lt;br /&gt;
* data_security&lt;br /&gt;
*:Clean history&lt;br /&gt;
* description&lt;br /&gt;
*:HTML description field for events&lt;br /&gt;
* event_category&lt;br /&gt;
*:Service categories&lt;br /&gt;
* event_field&lt;br /&gt;
*:Intake forms&lt;br /&gt;
* facebookImage&lt;br /&gt;
*:Facebook client info&lt;br /&gt;
* financial_dashboard&lt;br /&gt;
*:Insights&lt;br /&gt;
* google_analytics&lt;br /&gt;
*:Google Adwords and analytics&lt;br /&gt;
* google_calendar_export&lt;br /&gt;
*:Calendar sync&lt;br /&gt;
* group_booking&lt;br /&gt;
*:Group bookings&lt;br /&gt;
* hipaa&lt;br /&gt;
*:HIPAA&lt;br /&gt;
* limit_bookings&lt;br /&gt;
*:Limit bookings&lt;br /&gt;
* location&lt;br /&gt;
*:Multiple locations&lt;br /&gt;
* mobile_app_backend&lt;br /&gt;
*:Mobile application&lt;br /&gt;
* multiple_booking&lt;br /&gt;
*:Multiple bookings&lt;br /&gt;
* news&lt;br /&gt;
*:News&lt;br /&gt;
* paid_events&lt;br /&gt;
*:Accept payments&lt;br /&gt;
&amp;lt;!--* promo&lt;br /&gt;
*:Rewards and Referrals--&amp;gt;&lt;br /&gt;
* recap&lt;br /&gt;
*:Daily report&lt;br /&gt;
* secure&lt;br /&gt;
*:SSL&lt;br /&gt;
* status&lt;br /&gt;
*:Status&lt;br /&gt;
* unit_colors&lt;br /&gt;
*:Providers color coding&lt;br /&gt;
* user_license&lt;br /&gt;
*:Terms and conditions&lt;br /&gt;
* cancelation_policy&lt;br /&gt;
*:Cancellation Policy&lt;br /&gt;
&lt;br /&gt;
See [[Custom_Features|Custom Features]] page for description for each Custom Feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
====getBookingDetails response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getBookingDetails|getBookingDetails]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;: &amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;event_name&amp;quot;: &amp;quot;Massage&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_name&amp;quot;: &amp;quot;John&amp;quot;,&lt;br /&gt;
    &amp;quot;client_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;client_name&amp;quot;: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date_time&amp;quot;: &amp;quot;2015-11-25 15:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;end_date_time&amp;quot;: &amp;quot;2015-11-25 16:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;is_confirmed&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;h8v8w5ls&amp;quot;,&lt;br /&gt;
    &amp;quot;record_date&amp;quot;: &amp;quot;2015-11-19 04:06:38&amp;quot;,&lt;br /&gt;
    &amp;quot;comment&amp;quot;: null,&lt;br /&gt;
    &amp;quot;company_login&amp;quot;: &amp;quot;testzt&amp;quot;,&lt;br /&gt;
    &amp;quot;company_name&amp;quot;: &amp;quot;My Cool Company&amp;quot;,&lt;br /&gt;
    &amp;quot;company_phone&amp;quot;: &amp;quot;+1-555-55-55&amp;quot;,&lt;br /&gt;
    &amp;quot;company_email&amp;quot;: &amp;quot;into@mycoolcompany.com&amp;quot;,&lt;br /&gt;
    &amp;quot;additional_fields&amp;quot;: [{&lt;br /&gt;
      &amp;quot;value&amp;quot;: &amp;quot;on&amp;quot;,&lt;br /&gt;
      &amp;quot;field_name&amp;quot;: &amp;quot;201a89517de509f6b3a60858918faac3&amp;quot;,&lt;br /&gt;
      &amp;quot;field_title&amp;quot;: &amp;quot;Include washing&amp;quot;,&lt;br /&gt;
      &amp;quot;field_position&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;field_type&amp;quot;: &amp;quot;checkbox&amp;quot;,&lt;br /&gt;
      &amp;quot;field_id&amp;quot;: &amp;quot;4&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;comments&amp;quot;: [],&lt;br /&gt;
    &amp;quot;history&amp;quot;: [{&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;536&amp;quot;,&lt;br /&gt;
      &amp;quot;sheduler_id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
      &amp;quot;datetime&amp;quot;: &amp;quot;2015-11-19 11:06:38&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;create&amp;quot;,&lt;br /&gt;
      &amp;quot;user_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;agent&amp;quot;: &amp;quot;SimplyBook.me\/55 CFNetwork\/758.0.2 Darwin\/15.0.0&amp;quot;,&lt;br /&gt;
      &amp;quot;ip&amp;quot;: &amp;quot;213.174.0.53, 158.69.224.50:127.0.0.1&amp;quot;,&lt;br /&gt;
      &amp;quot;referer&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;login&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
      &amp;quot;firstname&amp;quot;: &amp;quot;Mikhail&amp;quot;,&lt;br /&gt;
      &amp;quot;lastname&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;status&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Fancy Status&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;color&amp;quot;: &amp;quot;4cbadb&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;location&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;location&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;picture&amp;quot;: &amp;quot;e1e9409fe9682c78b2f8f294dc151af0.jpg&amp;quot;,&lt;br /&gt;
      &amp;quot;address1&amp;quot;: null,&lt;br /&gt;
      &amp;quot;address2&amp;quot;: &amp;quot;Saint Margaret Street&amp;quot;,&lt;br /&gt;
      &amp;quot;city&amp;quot;: &amp;quot;\u041b\u043e\u043d\u0434\u043e\u043d&amp;quot;,&lt;br /&gt;
      &amp;quot;zip&amp;quot;: null,&lt;br /&gt;
      &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
      &amp;quot;lat&amp;quot;: &amp;quot;51.50013000000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;lng&amp;quot;: &amp;quot;-0.12630500000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;phone&amp;quot;: &amp;quot;44&amp;quot;,&lt;br /&gt;
      &amp;quot;position&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;price&amp;quot;: [],&lt;br /&gt;
    &amp;quot;promo&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location field is present in response only if [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is enabled. Otherwise this field will be an empty array. If locations Custom Feature is enabled but booking doesn&#039;t have any locations this fields also will be an empty array.&lt;br /&gt;
&lt;br /&gt;
Status field is present in response only if [[Custom_Features#Status|Status Custom Feature]] is enabled. Otherwise this field will be an empty array. If Custom Feature enabled but booking doesn&#039;t have any statues specified the default status returned.&lt;br /&gt;
&lt;br /&gt;
Price field is present in response only if [[Custom_Features#Accept_Payments|Accept payments Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a free service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Promo field is present in response only if [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains false if Custom Feature is enabled but booking was created without any promo codes.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;additional_fields&amp;lt;/code&amp;gt; field is present in response only if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a service with no intake forms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====book response====&lt;br /&gt;
&lt;br /&gt;
[[#book|&amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt;]] API method returns an object which contains list of objects with short description of newly create bookings. Method returns only one item in &#039;bookings&#039; array for regular appointment and more than one item for recurring or batch bookings.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;require_confirm&amp;quot;:false,&lt;br /&gt;
    &amp;quot;bookings&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;434&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-30 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-30 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc14ca&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;785cb8cce316e64765b94c05a635f4be&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;435&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-31 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-31 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc2pge&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;8b92d634541bfd93c0830967e56f4653&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;436&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-04 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-04 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc3urb&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;cd22a0bf183f7350e595988dd2486e5b&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;437&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-05 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-05 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc44d9&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;53f98ff4e4a0323aa907156c59c99362&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;batch_type&amp;quot;:&amp;quot;batch_recurrent_booking&amp;quot;,&lt;br /&gt;
    &amp;quot;recurrent_batch_id&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;batch_hash&amp;quot;:&amp;quot;357178bce290381bb7235080941ec143&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====getCompanyInfo response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getCompanyInfo|getCompanyInfo]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;login&amp;quot;: &amp;quot;pierrecoetzee&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;Pierre&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;address1&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;address2&amp;quot;: &amp;quot;Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;city&amp;quot;: &amp;quot;London&amp;quot;,&lt;br /&gt;
    &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
    &amp;quot;lat&amp;quot;: &amp;quot;51.500435&amp;quot;,&lt;br /&gt;
    &amp;quot;lng&amp;quot;: &amp;quot;-0.129811&amp;quot;,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;pierre.coe@gmail.com&amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;web&amp;quot;: null,&lt;br /&gt;
    &amp;quot;skip_address&amp;quot;: null,&lt;br /&gt;
    &amp;quot;logo&amp;quot;: null,&lt;br /&gt;
    &amp;quot;address&amp;quot;: &amp;quot;GB, London, Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;description_text&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;timezone&amp;quot;: &amp;quot;Europe London&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_client_timezone&amp;quot;: false,&lt;br /&gt;
    &amp;quot;timeframe&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
    &amp;quot;timeline_type&amp;quot;: &amp;quot;modern_week&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_day_break&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_breaktime_break&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;timeline_type&amp;lt;/code&amp;gt; field can be one the following values:&lt;br /&gt;
&lt;br /&gt;
* flexible&lt;br /&gt;
* modern&lt;br /&gt;
* flexible_week&lt;br /&gt;
* modern_week&lt;br /&gt;
* classic&lt;br /&gt;
* classes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Please note that &amp;lt;code&amp;gt;classic&amp;lt;/code&amp;gt; timeline type is deprecated and not supported anymore.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; field contains raw data of company&#039;s description which can include HTML tags. &amp;lt;code&amp;gt;description_text&amp;lt;/code&amp;gt; field contains only text information without HTML tags.&lt;br /&gt;
&lt;br /&gt;
For information about &amp;lt;code&amp;gt; timeframe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timezone&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;allow_event_day_break&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;allow_event_breaktime_break&amp;lt;/code&amp;gt; see [[#Company params|Company params section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--====getPluginPromoInfoByCode response====&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;yvuvugum&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;We are offering [service\/services] with an amazing [discount]% discount! We are running this deal for a limited time only.&amp;quot;,&lt;br /&gt;
    &amp;quot;discount&amp;quot;: &amp;quot;99.9999&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;expired_date&amp;quot;: &amp;quot;2016-01-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_date&amp;quot;: &amp;quot;2015-12-31&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_time&amp;quot;: &amp;quot;09:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_time&amp;quot;: &amp;quot;22:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_usage_count&amp;quot;: &amp;quot;20&amp;quot;,&lt;br /&gt;
    &amp;quot;fineprint_text&amp;quot;: &amp;quot;Deal is limited for new clients only. Reward is claimable [client_claim_times_number] times per client. Deal is only claimable for the locations specified. Deal is cannot be combined with any other promotion. Must be redeemed prior to the expiration date shown on the deal.&amp;quot;,&lt;br /&gt;
    &amp;quot;redemption_text&amp;quot;: &amp;quot;Present your confirmation code when you want to redeem your deal. You may either to print off your confirmation email or show your confirmation code by loggin into Simplybook on your mobile phone\/Pc.\r\n[promocode]\r\n[discount]\r\n[reward]\r\n[referal_qty]&amp;quot;,&lt;br /&gt;
    &amp;quot;headline&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;: null,&lt;br /&gt;
    &amp;quot;allow_customer_count&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_catalogue&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;: &amp;quot;active&amp;quot;,&lt;br /&gt;
    &amp;quot;plugin_promo_message_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;common_promotion_id&amp;quot;: &amp;quot;132&amp;quot;,&lt;br /&gt;
    &amp;quot;service_ids&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; contains a list of services for wich promotion discount can be applied.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15106</id>
		<title>Company administration service methods</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15106"/>
		<updated>2025-05-15T12:55:04Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Company administration service methods - SimplyBook.me&lt;br /&gt;
|description=Learn about service methods for internal company administration. Manage bookings tailored to your operations. Start here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Information==&lt;br /&gt;
&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using [http://www.json.org JSON]. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Часовая фотосесcия&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Если Вы хотите попробовать себя в роли модели, но не определились с образом. &amp;lt;br /&amp;gt; 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске&amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Example of request with error response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;someNotExistingMethod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;id&amp;quot;:1,&lt;br /&gt;
    &amp;quot;error&amp;quot;: {&lt;br /&gt;
      &amp;quot;code&amp;quot;: -32601,&lt;br /&gt;
      &amp;quot;message&amp;quot;: &amp;quot;Method not found&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[#Authentication|authentication]] section.&lt;br /&gt;
&lt;br /&gt;
===Endpoint===&lt;br /&gt;
&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/admin&amp;lt;/code&amp;gt; for all administration service API calls.&lt;br /&gt;
&lt;br /&gt;
===Authentication===&lt;br /&gt;
&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom_Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
=== addClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addClient($clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adds new client with specified data. You can specify name, email, phone, address1, address2, city, zip,&lt;br /&gt;
country_id. If client record with specified data exists  method will return an id of this record. Otherwise data&lt;br /&gt;
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&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam(&#039;require_fields&#039;)&amp;lt;/code&amp;gt; method to check which fields are required.&lt;br /&gt;
&lt;br /&gt;
Method returns an error:&lt;br /&gt;
&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
     name: &amp;quot;Frances T. Perez&amp;quot;,&lt;br /&gt;
     phone: &amp;quot;+1502-810-4521&amp;quot;,&lt;br /&gt;
     email: &amp;quot;FrancesTPerez@teleworm.us&amp;quot;,&lt;br /&gt;
     address1: &amp;quot;3872 Earnhardt Drive&amp;quot;,&lt;br /&gt;
     address2: &amp;quot;Louisville, KY 40219&amp;quot;,&lt;br /&gt;
     city: Louisville,&lt;br /&gt;
     zip: 3872&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== addDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addDeviceToken($token, $device)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String a device token string&lt;br /&gt;
* &#039;&#039;&#039;$device&#039;&#039;&#039; String a device type (&#039;android&#039; or &#039;apple&#039;)&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Subscribe a mobile device to push notifications service. Device will recieve notifications about new bookings or&lt;br /&gt;
changes in already created bookings. Use either &amp;lt;code&amp;gt;&#039;apple&#039;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&#039;android&#039;&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;&lt;br /&gt;
parameter.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== book ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;book($eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional, $count, $batchId, $recurringData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer bookings count used to make group bookings batch. This parameter can&#039;t be less than 1. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer add booking to group bookings batch. You can&#039;t use $count and $batchId in one call. Please specify only one parameter. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array - make booking recurrent. (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates new booking record. Returns an object with appointment information or throw exception if booking time not&lt;br /&gt;
available or any of required parameters missed. If appointment requires confirmation, in result object will be&lt;br /&gt;
&amp;lt;code&amp;gt;require_confirm = true&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt; specifies a date of&lt;br /&gt;
booking and time slot. Time value should be multiple to &#039;timeframe&#039; configuration of company (see&lt;br /&gt;
&amp;lt;code&amp;gt;[[#getTimeframe|getTimeframe]]&amp;lt;/code&amp;gt; API method). &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; parameters&lt;br /&gt;
should be calculated according to service duration. However you can specify different values to make appointment&lt;br /&gt;
longer or shorter then service configuration. Note that &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; should be&lt;br /&gt;
later in time than &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt;. If your clients located in different time&lt;br /&gt;
zone you should specify &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; parameter as difference between company&#039;s time zone and&lt;br /&gt;
client&#039;s time zone in seconds. For example if company located in city with time zone GMT+2 and customer located&lt;br /&gt;
in city with GMT+3 then &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; will be -3600 seconds. You can get information about company&#039;s&lt;br /&gt;
time zone using &amp;lt;code&amp;gt;[[#getCompanyInfo|getCompanyInfo]]&amp;lt;/code&amp;gt; API method. To create batch booking you can&lt;br /&gt;
specify either &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; more then 1 or valid &amp;lt;code&amp;gt;batchId&amp;lt;/code&amp;gt; (only one parameter can be&lt;br /&gt;
specified). You should specify an &amp;lt;code&amp;gt;$additionalFields&amp;lt;/code&amp;gt; parameter if service requires some intake forms (see [[Custom_Features#Intake_Forms|Intake Forms Custom feature]]).To create a booking with promo code you should pass it as additional field. For example: &amp;lt;code&amp;gt;{&amp;quot;promocode&amp;quot;: &amp;quot;some code&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If [[Custom_Features#Multiple_Locations| Multiple locations]] enabled you need to pass locations ID parameter as additional field&lt;br /&gt;
&amp;lt;code&amp;gt;location_id&amp;lt;/code&amp;gt;. For example: &amp;lt;code&amp;gt;{&amp;quot;location_id&amp;quot;: &amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt;. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
to check if Custom feature active and &amp;lt;code&amp;gt;[[#getLocationsList|getLocationsList()]]&amp;lt;/code&amp;gt; method to get list of&lt;br /&gt;
available locations.&lt;br /&gt;
&lt;br /&gt;
See [[#book response|example]] of &amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt; API method response.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [https://help.simplybook.me/index.php/Need_to_change_interval_(timeframe) Timeframe information]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== calculateEndTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;calculateEndTime($startDateTime, $eventId, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; 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;.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String|Boolean.&lt;br /&gt;
&lt;br /&gt;
Returns end datetime if booking is available, else return false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBatch($id, $bookingIds)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer identifier of batch. See &amp;lt;code&amp;gt;[[#createBatch|createBatch]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
* &#039;&#039;&#039;$bookingIds&#039;&#039;&#039; Array ids of bookings included to batch.&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Cancel batch of bookings. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found)&lt;br /&gt;
if no booking with specified id were found. A booking with first id in &amp;lt;code&amp;gt;$bookingIds&amp;lt;/code&amp;gt; list is used for&lt;br /&gt;
information in notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBooking ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBooking($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Cancels booking. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found) if&lt;br /&gt;
no booking with specified id were found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== createBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;createBatch()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Creates new booking batch record. Returns newly created batch id. You can use this id in &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteDeviceToken($token)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String - device token&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Unsubscribe from push notifications service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== editBook ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editBook($shedulerId, $eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer an id of booking to edit. See &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[#getBookings|getBookings]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Edit existing booking record. See [[#book|book]] API method description for more details about date/time parameters,&lt;br /&gt;
time zone handling and additional fields. Returns null if parameters not valid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editClient($clientId, $clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Edits client&#039;s record. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; method description for list of available fields.Method returns an id of client&#039;s record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== filterAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;filterAvailableUnits($eventId, $dateTime, $unitIds, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitIds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with location Custom Feature.&lt;br /&gt;
Returns empty array if all units are not allowed.&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAdditionalFields ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAdditionalFields($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return intake forms for certain event if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is&lt;br /&gt;
activated. Returns empty array otherwise. Call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_field&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if &#039;event_field&#039; Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAnyUnitData ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAnyUnitData()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object|null.&lt;br /&gt;
&lt;br /&gt;
Returns information about [[Custom_Features#Any_Employee_Selector|Any Employee selector Custom Feature]] configuration. Returns&lt;br /&gt;
null if Custom Feature not enabled.Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot; : &amp;quot;Select this option, if you want to find an available time with any of the employees&amp;quot;,&lt;br /&gt;
    &amp;quot;hide_other_units&amp;quot; : 1, // 1 or 0&lt;br /&gt;
    &amp;quot;image&amp;quot; : null,&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;Any employee&amp;quot;,&lt;br /&gt;
    &amp;quot;picture_path&amp;quot; : null,&lt;br /&gt;
    &amp;quot;random_selection&amp;quot; : 0 // 1 or 0&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available time intervals for all service providers for given period, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{[&#039;2016-03-04&#039;: [&#039;1&#039;: [[&#039;09:00:00&#039;,&#039;09:30:00&#039;], [&#039;11:15:00&#039;,&#039;14:45:00&#039;]] , ...], ...]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableUnits($eventId, $dateTime, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service or empty array if all units are not allowed.Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingCancellationsInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingCancellationsInfo($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data from first day of current week.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data filtered to last day of current week.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about created bookings and cancellations for a time period. Data presented as array of hashes for&lt;br /&gt;
each type of operation (created or cancelled booking) groped by clients. &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; field can be either&lt;br /&gt;
&amp;quot;create&amp;quot;, &amp;quot;cancel&amp;quot; or &amp;quot;nopayment_cancel&amp;quot;. If &amp;lt;code&amp;gt;&amp;quot;user_id&amp;quot;&amp;lt;/code&amp;gt; not specified then bookings where created or&lt;br /&gt;
cancelled by admin or employee. Data with type &amp;lt;code&amp;gt;&amp;quot;nopayment_cancel&amp;quot;&amp;lt;/code&amp;gt; represents bookings cancelled&lt;br /&gt;
automatically by system.Example:&lt;br /&gt;
  3 bookings where created by admin or employee and 2 bookings where automatically cancelled by system.&lt;br /&gt;
  [{&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 3,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;create&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }, {&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 2,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;nopayment_cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingComment($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingDetails($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; integer booking id&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns detailed bookings object by booking id. See [[#getBookingDetails_response|response example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingLimitUnavailableTimeInterval ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingLimitUnavailableTimeInterval($startDateTime, $endDateTime, $eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns time intervals not available for bookings because of configuration of [[Custom_Features#Limit_Bookings|Limit bookings]]&lt;br /&gt;
Custom Feature for period of time. Returns empty array if Custom Feature not available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingRevenue ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingRevenue($dateStart, $dateEnd, $unitGroupId, $serviceId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
* &#039;&#039;&#039;$serviceId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return bookings count and revenue value for each date in specified period. Data grouped by unit id and&lt;br /&gt;
represented as array with bookings count at index 0 and revenue amount at index 1. You can filter data either&lt;br /&gt;
by unit or by service. Set &amp;lt;code&amp;gt;$dateStart&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$dateEnd&amp;lt;/code&amp;gt; to null to get data for current week.Example:&lt;br /&gt;
  [&#039;2015-11-12&#039; : {&lt;br /&gt;
     3 : [&lt;br /&gt;
       11, // bookings count&lt;br /&gt;
       128.53 // revenue&lt;br /&gt;
  ]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistic about bookings count grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookings($params)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params. Filter params represented as object with following fields:* &#039;&#039;&#039;date_from&#039;&#039;&#039; a date of booking in string format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_from&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_to&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_from&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;unit_group_id&#039;&#039;&#039; an integer. Use it to get bookings assigned for certain service provider.&lt;br /&gt;
* &#039;&#039;&#039;event_id&#039;&#039;&#039; an integer. Use it to  get bookings only for certain service.&lt;br /&gt;
* &#039;&#039;&#039;is_confirmed&#039;&#039;&#039; 1 or 0. If [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled then method will return confirmed bookings with approve status &#039;new&#039;.&lt;br /&gt;
* &#039;&#039;&#039;client_id&#039;&#039;&#039; an integer. Use it to get bookings only for certain client.&lt;br /&gt;
* &#039;&#039;&#039;order&#039;&#039;&#039; string either &#039;record_date&#039;, &#039;date_start&#039; or &#039;date_start_asc&#039;. By default used &#039;date_start&#039; value.&lt;br /&gt;
* &#039;&#039;&#039;booking_type&#039;&#039;&#039; a string. Value of this field depends on Approve booking Custom Feature status.&lt;br /&gt;
*: If Custom Feature not active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 0&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 1&lt;br /&gt;
*: If Custom Feature active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; returns bookings with &#039;is_confirmed&#039; field equals to 0 and approve booking status equals to &#039;cancelled&#039; (or booking does not have any approve status)&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 or approve booking status equals to &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_client&#039;&#039;&#039; returns bookings approved by admin but cancelled by client&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_admin&#039;&#039;&#039; returns bookings cancelled by admin&lt;br /&gt;
** &#039;&#039;&#039;non_approved_yet&#039;&#039;&#039; returns bookings with approve status &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;approved&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 and approve booking status equals to &#039;approved&#039; (or booking does not have any approve status)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;date_from&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;date_to&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;booking_type&amp;quot;:&amp;quot;cancelled&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;:&amp;quot;start_date&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingsZapier ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingsZapier()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCategoriesList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCategoriesList($isPublic)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company categories list if [[Custom_Features#Service_Categories|Service Categories Custom Feature]] is activated. Returns&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_category&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClient($clientId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns client&#039;s data object. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientComments ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientComments($clientId, $shedulerId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of all comments for given client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientList($searchString, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$searchString&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of clients associated with company. You can use either phone number, email address or name as value&lt;br /&gt;
for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt;. Pass an empty string for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt; and null for &amp;lt;code&amp;gt;$limit&amp;lt;/code&amp;gt;&lt;br /&gt;
parameters to get all records. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCurrency()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s currency as three chars code (ISO 4217).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCompanyInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about company. See [[#getCompanyInfo response|example of response]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParam ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam($key)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$key&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns mixed.&lt;br /&gt;
&lt;br /&gt;
Returns company config value for key. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParams ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParams($keys)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$keys&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company config values for keys. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].For non-existent and not-allowed params it will return false as result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyTimezoneOffset ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyTimezoneOffset()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns company timezone offset and company timezone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of all countries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryPhoneCodes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryPhoneCodes()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns country phone code list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentTariffInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentTariffInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns all information about current tariff (subscription). For example:{&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;gold&amp;quot;,&lt;br /&gt;
    &amp;quot;expire_date&amp;quot; : &amp;quot;2016-02-11 12:32:00&amp;quot;,&lt;br /&gt;
    &amp;quot;rest&amp;quot; : 41, // number of days until subscription expiration&lt;br /&gt;
    &amp;quot;color&amp;quot; : &amp;quot;#fcb322&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentUserDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentUserDetails()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments. Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with information about logged in user. Note: you are responsible for implementation of some&lt;br /&gt;
access rights based on &amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property value. Most of API methods returns an error if user has low access&lt;br /&gt;
rights but not all. There are 4 roles:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; - have full access to the system&lt;br /&gt;
* &#039;&#039;&#039;Senior Employee&#039;&#039;&#039; - have access to calendar, services and providers, and can modify bookings related with user&lt;br /&gt;
* &#039;&#039;&#039;Junior Employee&#039;&#039;&#039; - can access caledar (but only to own bookings), services associated with user&lt;br /&gt;
* &#039;&#039;&#039;Viewer&#039;&#039;&#039; - have only access to calendar and services in read only mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;shop_user&amp;lt;/code&amp;gt; - &amp;quot;Senior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;station_user&amp;lt;/code&amp;gt; - &amp;quot;Junior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; - &amp;quot;Administrator&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;viewer&amp;lt;/code&amp;gt; - &amp;quot;Viewer&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;reseller_company_admin&amp;lt;/code&amp;gt; - reserved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;login&amp;quot;: admin,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;admin@mycoolcompany.com&amp;quot;;&lt;br /&gt;
    &amp;quot;firstname&amp;quot;: &amp;quot;Michail&amp;quot;,&lt;br /&gt;
    &amp;quot;lastname&amp;quot;: &amp;quot; &amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;group&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;is_blocked&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;last_access_time&amp;quot;: &amp;quot;2016-06-06 17:55:51&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;: null&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getEventList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getEventList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s events list. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as key&lt;br /&gt;
and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property of&lt;br /&gt;
event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbacks ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbacks($approvedOnly, $reviewsOnly, $lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$approvedOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$reviewsOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFirstWorkingDay ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFirstWorkingDay($unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns first working date for unit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTime($startDateTime, $endDateTime, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;. You can date string avoiding time in&lt;br /&gt;
this parameter. In this case method will use time value &#039;23:59:59&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented a time intervals marked as busy in Google Calendar. Each object of result&lt;br /&gt;
contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with datetime string as value. This method only actual if&lt;br /&gt;
[Custom_Features#Calendar_Sync|Calendar Sync Custom Feature] enabled. If Custom Feature not enabled an empty list will&lt;br /&gt;
be returned. You should call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; to&lt;br /&gt;
check status of the Custom Feature. Each object of result contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with&lt;br /&gt;
datetime string as value. Please note that this method may return not actual data because data synchronization&lt;br /&gt;
between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  [&lt;br /&gt;
   {&amp;quot;from&amp;quot; : &amp;quot;2016-02-16 13:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;to&amp;quot; : &amp;quot;2016-02-16 16:00:00&amp;quot;},&lt;br /&gt;
    ...&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTimeAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTimeAvailableUnits()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns configured unit ids, allowed to sync busy time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getLastNotificationUpdate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLastNotificationUpdate($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns last update datetime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getLocationsList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLocationsList($isPublic, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns available locations for company if Custom Feature [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is activated. Return&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
This method accepts two boolean flags as parameters. If &#039;&#039;&#039;isPublic&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; then method returns only&lt;br /&gt;
public locations. If &#039;&#039;&#039;asArray&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; method returns list of objects. Otherwise method returns&lt;br /&gt;
map of objects with object id as key. You can omit both parameters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getPluginList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of all Custom Features associated with company with status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---=== getPluginPromoInfoByCode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginPromoInfoByCode($code)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about Rewards and referrals promotion by promotion code. You can get promotion code&lt;br /&gt;
using &amp;lt;code&amp;gt;[[Catalogue#getPromotionList|getPromotionList]]&amp;lt;/code&amp;gt; API method. If promotion record with specified code not found then method returns an empty array (an empty object). If [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]]&lt;br /&gt;
not enabled then method returns an error with code -32001 (Custom Feature is not activated). Use&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;promo&#039;)]]&amp;lt;/code&amp;gt; API method call to check if Custom Feature enabled. See [[#getPromotionList response|example]] of &amp;lt;code&amp;gt;getPromotionList&amp;lt;/code&amp;gt; API method response. Please note that&lt;br /&gt;
response contains a list of services for wich promotion discount can be applied (&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; key).&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPluginStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginStatuses($pluginNames)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginNames&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentActions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentActions($lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns latest actions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRecurringDatetimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringDatetimes($eventId, $unitId, $date, $time, $recurringData, $endDateTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$time&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; String (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of dates for recurring booking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecurringSettings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringSettings($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with recurring settings for an event. Returns false if specified event does not configured as&lt;br /&gt;
recurring.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [http://blog.simplybook.me/recurring-and-periodic-bookings/ Recurring services desription]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRegistrations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRegistrations($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns number of clients registrations  by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTime($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns map of objects for each day in specified date range. The key of the result mps is a date string. The value&lt;br /&gt;
is an array of two objects. Both objects contains list of time slots for type &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; and type&lt;br /&gt;
&amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type represents time slots working time but already booked&lt;br /&gt;
by clients. Nobody knows what kind of data represented by &amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt; type. Please don&#039;t use it.If [[Custom_Features#Calendar_Sync| Calendar Sync Custom Feature]] enabled then object with&lt;br /&gt;
&amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type will contain not empty list of time slots marked as busy in Google calendar. Call&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; API method to check if Calendar Sync Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;2016-02-05&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;dd&amp;quot;: [], // time slots from Google calendar&lt;br /&gt;
        &amp;quot;events&amp;quot;: [ // reserved time slots&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;16:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;17:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;reserved_time&amp;quot;,&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;events&amp;quot;: [&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;09:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;10:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;not_worked_time&amp;quot;&lt;br /&gt;
     }],&lt;br /&gt;
     ...&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer|Array &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns not available time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [{&#039;reserved_time&#039;: [{&#039;from&#039;: &#039;14:00&#039;, &#039;to&#039;: &#039;16:30&#039;}], &#039;type&#039;: &amp;quot;reserved_time&amp;quot;}, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getSocialCounterStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getSocialCounterStats($provider)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$provider&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns social counters value for your domain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStartTimeMatrix ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStartTimeMatrix($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available start time, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [&#039;09:00:00&#039;, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If locations Custom Feature activated for company you should pass a list as $unitID parameter for filter results with&lt;br /&gt;
units available only for selected location. See [[Custom_Features#Multiple_Locations|Multiple locations]] Custom Feature description for&lt;br /&gt;
more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStatuses()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available statuses or an empty list if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimeframe ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimeframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Need_to_change_interval_(timeframe)|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimelineType ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimelineType()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company calendar layout type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopPerformers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopPerformers()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for performers. This data contains number of bookings and revenues value for each performer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopServices ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopServices($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for services for a period of time. This data contains number of bookings and&lt;br /&gt;
revenues value for each service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of service performers. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as&lt;br /&gt;
key and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property&lt;br /&gt;
of event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkdayInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkdayInfo($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workday info (date_start and date_end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkingDurations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkingDurations($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return working durations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getVisitorStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getVisitorStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about page visits if Custom Feature [[Custom_Features#Visitor_Counter|Visitor Counter Custom Feature]] enabled. Returns&lt;br /&gt;
an empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;counter&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled. Results can be grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on&lt;br /&gt;
selected grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWarnings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWarnings($lastOnly)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039;  Boolean. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented system warnings. Each warning contains &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt;&lt;br /&gt;
properties. &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt; property contains localized message. &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;sms_limit&#039;&#039;&#039; – warning indicates low amount of SMS credits&lt;br /&gt;
* &#039;&#039;&#039;sheduler_limit&#039;&#039;&#039; – warning indicates low amount of available bookings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkCalendar ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkCalendar($year, $month, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$year&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$month&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns company work schedule as array&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-01&#039;: {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;21:00:00&#039;, &#039;is_day_off&#039;: &#039;0&#039;}, &#039;2014-05-02&#039;: ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysInfo($from, $to, $unitId, $eventId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an information about working hours and break times for specified service and performer for a period&lt;br /&gt;
between two dates. If only service specified then information about performer (or performers) will be taken from&lt;br /&gt;
service configuration. Method returns a list of objects for each date in specified period. Count of objects in&lt;br /&gt;
list depends on break times. For example if performer works from 9:00 till 19:00 with one hour break at 13:00 method&lt;br /&gt;
returns:&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&#039;2014-05-14&#039; : [&lt;br /&gt;
    {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;13:00:00&#039;},&lt;br /&gt;
    {&#039;from&#039;: &#039;14:00:00&#039;, &#039;to&#039;: &#039;19:00:00&#039;}&lt;br /&gt;
  ] }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning! Method can return a time string &#039;24:00:00&#039; as right edge of time range. This happens in case if time&lt;br /&gt;
range finishes on midnight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysTimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysTimes($startDateTime, $endDateTime, $type = &#039;unit_group&#039;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; string. Optional. Either &#039;unit_group&#039; or &#039;event&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return busy time by unit id by Calendar Sync Custom Feature if enabled. Please note that this method may return not actual data because data synchronization between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkload ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkload($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workload data for units in period of time. Workload for each unit represented as array with work hours&lt;br /&gt;
at index 0, confirmed booking hours as load at index 1 and cancelled bookings hours at index 2.Example:&lt;br /&gt;
  [&#039;2015-10-21&#039; : {&lt;br /&gt;
     5 : [&lt;br /&gt;
       10, // working hours&lt;br /&gt;
       10, // load hours (confirmed bookings hours)&lt;br /&gt;
       0   // cancelled bookings hours&lt;br /&gt;
  ] }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== isPluginActivated ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;isPluginActivated($pluginName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginName&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. &amp;lt;var&amp;gt;$pluginName&amp;lt;/var&amp;gt; parameter is a Custom Feature identifier.See [[Custom_Features|Custom Features]] page for full Custom Features description. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingApprove ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingApprove($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;approved&#039; if [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled and returns&lt;br /&gt;
list of approved booking IDs. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingCancel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingCancel($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;canceled&#039; if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled and returns&lt;br /&gt;
true. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookings()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns list of objects with information about bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]]&lt;br /&gt;
Custom Feature enabled. Returns empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookingsCount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookingsCount()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns count of bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled. Returns&lt;br /&gt;
0 if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setBookingComment($id, $comment)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$comment&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Set booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStatus ($bookingId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object of status of given booking (if status plugin is enabled)&lt;br /&gt;
default status will be returned if bookingId does not exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setStatus($bookingId, $statusId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$statusId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets specified status for booking. Returns an error with code -32020 if logged in user don&#039;t have access to edit&lt;br /&gt;
bookings. This method does nothing if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== updateNotification ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;updateNotification($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns .&lt;br /&gt;
&lt;br /&gt;
Mark notifications as readed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setWorkDayInfo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setWorkDayInfo($info)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$info&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Set work day schedule for company|service|provider for week_day|date&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;start_time&amp;quot;:&amp;quot;10:00&amp;quot;,&lt;br /&gt;
&amp;quot;end_time&amp;quot;:&amp;quot;18:00&amp;quot;,&lt;br /&gt;
&amp;quot;is_day_off&amp;quot;:0,&lt;br /&gt;
&amp;quot;breaktime&amp;quot;:[{&amp;quot;start_time&amp;quot;:&amp;quot;14:00&amp;quot;,&amp;quot;end_time&amp;quot;:&amp;quot;15:00&amp;quot;}],&lt;br /&gt;
&amp;quot;index&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
&amp;quot;name&amp;quot;:&amp;quot;Monday&amp;quot;,&lt;br /&gt;
&amp;quot;date&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
index is 1-7 for Monday - Sunday (used for weekly settings)&lt;br /&gt;
date is used to set worktime for special date&lt;br /&gt;
unit_group_id is provider id&lt;br /&gt;
event_id is service id&lt;br /&gt;
if unit_group_id and event_id not passed then it set data for company&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteSpecialDay===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteSpecialDay($date, $params = null)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Delete special date if set&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;2017-08-21&#039;, &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addServiceProvider($data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Create new service provider&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editServiceProvider($id, $data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Edit service provider&lt;br /&gt;
(there is no way to delete provider via API, in this case set is_active = 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1, &lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&lt;br /&gt;
=== Error codes ===&lt;br /&gt;
&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
* -32001 Custom Feature is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32015 Passed event id is not reccuren&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Intake form values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32081 Service can&#039;t be performed when company does not work&lt;br /&gt;
* -32082 Service performer can&#039;t work when company does not work&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 &lt;br /&gt;
*: An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Company params===&lt;br /&gt;
&lt;br /&gt;
Use these values to get configuration params for company with &amp;lt;code&amp;gt;[[#getCompanyParam|getCompanyParam]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
&lt;br /&gt;
=====General params=====&lt;br /&gt;
&lt;br /&gt;
Administration API inherits all [[Company public service methods#Company_params|keys]] allowed for public API and extends this list with keys:&lt;br /&gt;
&lt;br /&gt;
* attach_ical&lt;br /&gt;
* auto_redirect&lt;br /&gt;
* auto_redirect_text&lt;br /&gt;
* blockchain_address&lt;br /&gt;
* blockchain_secret&lt;br /&gt;
* borgun_merchant_id&lt;br /&gt;
* borgun_payment_gateway_id&lt;br /&gt;
* borgun_secret_code&lt;br /&gt;
* client_batch_cancel_template&lt;br /&gt;
* client_batch_cancel_template_email&lt;br /&gt;
* client_batch_cancel_template_email_subject&lt;br /&gt;
* client_event_cancel_template&lt;br /&gt;
* client_event_cancel_template_email&lt;br /&gt;
* client_event_cancel_template_email_subject&lt;br /&gt;
* client_event_change_template&lt;br /&gt;
* client_event_change_template_email&lt;br /&gt;
* client_event_change_template_email_subject&lt;br /&gt;
* client_event_creation_template&lt;br /&gt;
* client_event_creation_template_email&lt;br /&gt;
* client_event_creation_template_email_subject&lt;br /&gt;
* client_event_group_creation_template&lt;br /&gt;
* client_event_group_creation_template_email&lt;br /&gt;
* client_event_group_creation_template_email_subject&lt;br /&gt;
* client_event_multiple_creation_template&lt;br /&gt;
* client_event_multiple_creation_template_email&lt;br /&gt;
* client_event_multiple_creation_template_email_subject&lt;br /&gt;
* client_group_notification_template&lt;br /&gt;
* client_group_notification_template_email&lt;br /&gt;
* client_group_notification_template_email_subject&lt;br /&gt;
* client_multiple_notification_template&lt;br /&gt;
* client_multiple_notification_template_email&lt;br /&gt;
* client_multiple_notification_template_email_subject&lt;br /&gt;
* client_notification_template&lt;br /&gt;
* client_notification_template_email&lt;br /&gt;
* client_notification_template_email_subject&lt;br /&gt;
* client_notification_time&lt;br /&gt;
* client_recurring_event_creation_template&lt;br /&gt;
* client_recurring_event_creation_template_email&lt;br /&gt;
* client_recurring_event_creation_template_email_subject&lt;br /&gt;
* common_limit_booking&lt;br /&gt;
* company_ga_tracking_id&lt;br /&gt;
* default_phone&lt;br /&gt;
* disconnect_on_timeout&lt;br /&gt;
* email_event_list&lt;br /&gt;
* email_events_list_template&lt;br /&gt;
* email_group_events_list_template&lt;br /&gt;
* event_list_style&lt;br /&gt;
* feed_back_interval&lt;br /&gt;
* feedback_invite_template_email&lt;br /&gt;
* feedback_invite_template_email_subject&lt;br /&gt;
* google_conversion_color&lt;br /&gt;
* google_conversion_currency&lt;br /&gt;
* google_conversion_format&lt;br /&gt;
* google_conversion_id&lt;br /&gt;
* google_conversion_label&lt;br /&gt;
* google_conversion_language&lt;br /&gt;
* google_conversion_value&lt;br /&gt;
* hide_working_hours_block&lt;br /&gt;
* include_cancel_link&lt;br /&gt;
* kortais_merchant&lt;br /&gt;
* kortais_secret_code&lt;br /&gt;
* kortais_terminal&lt;br /&gt;
* layout_background&lt;br /&gt;
* layout_background_repeat&lt;br /&gt;
* mobile_site_link&lt;br /&gt;
* mobile_site_link_title&lt;br /&gt;
* no_show_period&lt;br /&gt;
* on_success_button_link&lt;br /&gt;
* on_success_button_text&lt;br /&gt;
* recap_interval&lt;br /&gt;
* recap_send_after_time&lt;br /&gt;
* recap_send_canceled_bookings&lt;br /&gt;
* recap_send_new_bookings&lt;br /&gt;
* recap_send_upcomming_bookings&lt;br /&gt;
* send_cancel_to_client&lt;br /&gt;
* send_cancel_to_client_email&lt;br /&gt;
* send_cancel_to_unit&lt;br /&gt;
* send_cancel_to_unit_email&lt;br /&gt;
* send_contact_widget_email_notification&lt;br /&gt;
* send_contact_widget_sms_notification&lt;br /&gt;
* send_notify_to_client&lt;br /&gt;
* send_notify_to_client_email&lt;br /&gt;
* send_notify_to_unit&lt;br /&gt;
* send_notify_to_unit_email&lt;br /&gt;
* send_onchange_to_client&lt;br /&gt;
* send_onchange_to_client_email&lt;br /&gt;
* send_onchange_to_unit&lt;br /&gt;
* send_onchange_to_unit_email&lt;br /&gt;
* send_oncreate_to_client&lt;br /&gt;
* send_oncreate_to_client_email&lt;br /&gt;
* send_oncreate_to_unit&lt;br /&gt;
* send_oncreate_to_unit_email&lt;br /&gt;
* send_sms_if_push_enabled&lt;br /&gt;
* site_link&lt;br /&gt;
* site_link_title&lt;br /&gt;
* skip_limits_for_admin&lt;br /&gt;
* skip_show_mobile_app_ads&lt;br /&gt;
* skip_show_on_success_button&lt;br /&gt;
* sms_event_list&lt;br /&gt;
* sms_events_list_template&lt;br /&gt;
* sms_group_events_list_template&lt;br /&gt;
* unit_batch_cancel_template&lt;br /&gt;
* unit_batch_cancel_template_email&lt;br /&gt;
* unit_batch_cancel_template_email_subject&lt;br /&gt;
* unit_event_cancel_template&lt;br /&gt;
* unit_event_cancel_template_email&lt;br /&gt;
* unit_event_cancel_template_email_subject&lt;br /&gt;
* unit_event_change_template&lt;br /&gt;
* unit_event_change_template_email&lt;br /&gt;
* unit_event_change_template_email_subject&lt;br /&gt;
* unit_event_creation_template&lt;br /&gt;
* unit_event_creation_template_email&lt;br /&gt;
* unit_event_creation_template_email_subject&lt;br /&gt;
* unit_event_group_creation_template&lt;br /&gt;
* unit_event_group_creation_template_email&lt;br /&gt;
* unit_event_group_creation_template_email_subject&lt;br /&gt;
* unit_group_notification_template&lt;br /&gt;
* unit_group_notification_template_email&lt;br /&gt;
* unit_group_notification_template_email_subject&lt;br /&gt;
* unit_notification_template&lt;br /&gt;
* unit_notification_template_email&lt;br /&gt;
* unit_notification_template_email_subject&lt;br /&gt;
* unit_notification_time&lt;br /&gt;
* unit_recurring_event_creation_template&lt;br /&gt;
* unit_recurring_event_creation_template_email&lt;br /&gt;
* unit_recurring_event_creation_template_email_subject&lt;br /&gt;
* use_common_client_db&lt;br /&gt;
* user_confirmation&lt;br /&gt;
* user_public_layout&lt;br /&gt;
* user_public_theme&lt;br /&gt;
* waiting_video&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Accept payments Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Accept_Payments|Accept Payments Custom Feature configuration]].&lt;br /&gt;
&lt;br /&gt;
* allow_delay_payment&lt;br /&gt;
*: Allow delay payment option. Boolean.&lt;br /&gt;
* company_currency&lt;br /&gt;
*:&lt;br /&gt;
* hide_sale_tax&lt;br /&gt;
*: Hide sales tax option. Boolean.&lt;br /&gt;
* payment_timeout&lt;br /&gt;
*: Payment timeout option. String (&amp;quot;5 minutes&amp;quot;, &amp;quot;1 hour&amp;quot;, ...)&lt;br /&gt;
* sale_tax&lt;br /&gt;
*: Sales tax option. Integer. You should divide by 100 to get percent value.&lt;br /&gt;
* paypal_account&lt;br /&gt;
*: PayPal payment processor configuration. String.&lt;br /&gt;
* skrill_account&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* skrill_secret&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_id&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_key&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_application_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_id&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_secret_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* liqpay_merchant_id&lt;br /&gt;
* liqpay_merchant_pass&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Term &amp;amp; Conditions Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Terms_and_Conditions|Terms and Conditions Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
* user_license_text&lt;br /&gt;
*: Terms and conditions text. String.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Custom Features&#039; identifiers===&lt;br /&gt;
&lt;br /&gt;
Custom Feature identifier is a string constant which represents a Custom Feature in system. These constants used in &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[#getPluginStatuses|getPluginStatuses]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
&lt;br /&gt;
* advanced_notification&lt;br /&gt;
*:Book Soon notification system&lt;br /&gt;
* any_unit&lt;br /&gt;
*:Any Employee selector&lt;br /&gt;
* api&lt;br /&gt;
*:API&lt;br /&gt;
* approve_booking&lt;br /&gt;
*:Approve booking&lt;br /&gt;
* back_to_site&lt;br /&gt;
*:Take me back home&lt;br /&gt;
* contact_widget&lt;br /&gt;
*:Contact widget&lt;br /&gt;
* counter&lt;br /&gt;
*:Visitor Counter&lt;br /&gt;
* custom_css&lt;br /&gt;
*:Custom CSS&lt;br /&gt;
* data_security&lt;br /&gt;
*:Clean history&lt;br /&gt;
* description&lt;br /&gt;
*:HTML description field for events&lt;br /&gt;
* event_category&lt;br /&gt;
*:Service categories&lt;br /&gt;
* event_field&lt;br /&gt;
*:Intake forms&lt;br /&gt;
* facebookImage&lt;br /&gt;
*:Facebook client info&lt;br /&gt;
* financial_dashboard&lt;br /&gt;
*:Insights&lt;br /&gt;
* google_analytics&lt;br /&gt;
*:Google Adwords and analytics&lt;br /&gt;
* google_calendar_export&lt;br /&gt;
*:Calendar sync&lt;br /&gt;
* group_booking&lt;br /&gt;
*:Group bookings&lt;br /&gt;
* hipaa&lt;br /&gt;
*:HIPAA&lt;br /&gt;
* limit_bookings&lt;br /&gt;
*:Limit bookings&lt;br /&gt;
* location&lt;br /&gt;
*:Multiple locations&lt;br /&gt;
* mobile_app_backend&lt;br /&gt;
*:Mobile application&lt;br /&gt;
* multiple_booking&lt;br /&gt;
*:Multiple bookings&lt;br /&gt;
* news&lt;br /&gt;
*:News&lt;br /&gt;
* paid_events&lt;br /&gt;
*:Accept payments&lt;br /&gt;
&amp;lt;!--* promo&lt;br /&gt;
*:Rewards and Referrals--&amp;gt;&lt;br /&gt;
* recap&lt;br /&gt;
*:Daily report&lt;br /&gt;
* secure&lt;br /&gt;
*:SSL&lt;br /&gt;
* status&lt;br /&gt;
*:Status&lt;br /&gt;
* unit_colors&lt;br /&gt;
*:Providers color coding&lt;br /&gt;
* user_license&lt;br /&gt;
*:Terms and conditions&lt;br /&gt;
* cancelation_policy&lt;br /&gt;
*:Cancellation Policy&lt;br /&gt;
&lt;br /&gt;
See [[Custom_Features|Custom Features]] page for description for each Custom Feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
====getBookingDetails response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getBookingDetails|getBookingDetails]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;: &amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;event_name&amp;quot;: &amp;quot;Massage&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_name&amp;quot;: &amp;quot;John&amp;quot;,&lt;br /&gt;
    &amp;quot;client_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;client_name&amp;quot;: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date_time&amp;quot;: &amp;quot;2015-11-25 15:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;end_date_time&amp;quot;: &amp;quot;2015-11-25 16:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;is_confirmed&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;h8v8w5ls&amp;quot;,&lt;br /&gt;
    &amp;quot;record_date&amp;quot;: &amp;quot;2015-11-19 04:06:38&amp;quot;,&lt;br /&gt;
    &amp;quot;comment&amp;quot;: null,&lt;br /&gt;
    &amp;quot;company_login&amp;quot;: &amp;quot;testzt&amp;quot;,&lt;br /&gt;
    &amp;quot;company_name&amp;quot;: &amp;quot;My Cool Company&amp;quot;,&lt;br /&gt;
    &amp;quot;company_phone&amp;quot;: &amp;quot;+1-555-55-55&amp;quot;,&lt;br /&gt;
    &amp;quot;company_email&amp;quot;: &amp;quot;into@mycoolcompany.com&amp;quot;,&lt;br /&gt;
    &amp;quot;additional_fields&amp;quot;: [{&lt;br /&gt;
      &amp;quot;value&amp;quot;: &amp;quot;on&amp;quot;,&lt;br /&gt;
      &amp;quot;field_name&amp;quot;: &amp;quot;201a89517de509f6b3a60858918faac3&amp;quot;,&lt;br /&gt;
      &amp;quot;field_title&amp;quot;: &amp;quot;Include washing&amp;quot;,&lt;br /&gt;
      &amp;quot;field_position&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;field_type&amp;quot;: &amp;quot;checkbox&amp;quot;,&lt;br /&gt;
      &amp;quot;field_id&amp;quot;: &amp;quot;4&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;comments&amp;quot;: [],&lt;br /&gt;
    &amp;quot;history&amp;quot;: [{&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;536&amp;quot;,&lt;br /&gt;
      &amp;quot;sheduler_id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
      &amp;quot;datetime&amp;quot;: &amp;quot;2015-11-19 11:06:38&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;create&amp;quot;,&lt;br /&gt;
      &amp;quot;user_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;agent&amp;quot;: &amp;quot;SimplyBook.me\/55 CFNetwork\/758.0.2 Darwin\/15.0.0&amp;quot;,&lt;br /&gt;
      &amp;quot;ip&amp;quot;: &amp;quot;213.174.0.53, 158.69.224.50:127.0.0.1&amp;quot;,&lt;br /&gt;
      &amp;quot;referer&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;login&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
      &amp;quot;firstname&amp;quot;: &amp;quot;Mikhail&amp;quot;,&lt;br /&gt;
      &amp;quot;lastname&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;status&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Fancy Status&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;color&amp;quot;: &amp;quot;4cbadb&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;location&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;location&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;picture&amp;quot;: &amp;quot;e1e9409fe9682c78b2f8f294dc151af0.jpg&amp;quot;,&lt;br /&gt;
      &amp;quot;address1&amp;quot;: null,&lt;br /&gt;
      &amp;quot;address2&amp;quot;: &amp;quot;Saint Margaret Street&amp;quot;,&lt;br /&gt;
      &amp;quot;city&amp;quot;: &amp;quot;\u041b\u043e\u043d\u0434\u043e\u043d&amp;quot;,&lt;br /&gt;
      &amp;quot;zip&amp;quot;: null,&lt;br /&gt;
      &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
      &amp;quot;lat&amp;quot;: &amp;quot;51.50013000000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;lng&amp;quot;: &amp;quot;-0.12630500000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;phone&amp;quot;: &amp;quot;44&amp;quot;,&lt;br /&gt;
      &amp;quot;position&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;price&amp;quot;: [],&lt;br /&gt;
    &amp;quot;promo&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location field is present in response only if [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is enabled. Otherwise this field will be an empty array. If locations Custom Feature is enabled but booking doesn&#039;t have any locations this fields also will be an empty array.&lt;br /&gt;
&lt;br /&gt;
Status field is present in response only if [[Custom_Features#Status|Status Custom Feature]] is enabled. Otherwise this field will be an empty array. If Custom Feature enabled but booking doesn&#039;t have any statues specified the default status returned.&lt;br /&gt;
&lt;br /&gt;
Price field is present in response only if [[Custom_Features#Accept_Payments|Accept payments Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a free service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Promo field is present in response only if [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains false if Custom Feature is enabled but booking was created without any promo codes.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;additional_fields&amp;lt;/code&amp;gt; field is present in response only if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a service with no intake forms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====book response====&lt;br /&gt;
&lt;br /&gt;
[[#book|&amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt;]] API method returns an object which contains list of objects with short description of newly create bookings. Method returns only one item in &#039;bookings&#039; array for regular appointment and more than one item for recurring or batch bookings.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;require_confirm&amp;quot;:false,&lt;br /&gt;
    &amp;quot;bookings&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;434&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-30 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-30 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc14ca&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;785cb8cce316e64765b94c05a635f4be&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;435&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-31 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-31 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc2pge&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;8b92d634541bfd93c0830967e56f4653&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;436&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-04 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-04 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc3urb&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;cd22a0bf183f7350e595988dd2486e5b&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;437&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-05 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-05 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc44d9&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;53f98ff4e4a0323aa907156c59c99362&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;batch_type&amp;quot;:&amp;quot;batch_recurrent_booking&amp;quot;,&lt;br /&gt;
    &amp;quot;recurrent_batch_id&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;batch_hash&amp;quot;:&amp;quot;357178bce290381bb7235080941ec143&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====getCompanyInfo response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getCompanyInfo|getCompanyInfo]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;login&amp;quot;: &amp;quot;pierrecoetzee&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;Pierre&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;address1&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;address2&amp;quot;: &amp;quot;Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;city&amp;quot;: &amp;quot;London&amp;quot;,&lt;br /&gt;
    &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
    &amp;quot;lat&amp;quot;: &amp;quot;51.500435&amp;quot;,&lt;br /&gt;
    &amp;quot;lng&amp;quot;: &amp;quot;-0.129811&amp;quot;,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;pierre.coe@gmail.com&amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;web&amp;quot;: null,&lt;br /&gt;
    &amp;quot;skip_address&amp;quot;: null,&lt;br /&gt;
    &amp;quot;logo&amp;quot;: null,&lt;br /&gt;
    &amp;quot;address&amp;quot;: &amp;quot;GB, London, Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;description_text&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;timezone&amp;quot;: &amp;quot;Europe London&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_client_timezone&amp;quot;: false,&lt;br /&gt;
    &amp;quot;timeframe&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
    &amp;quot;timeline_type&amp;quot;: &amp;quot;modern_week&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_day_break&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_breaktime_break&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;timeline_type&amp;lt;/code&amp;gt; field can be one the following values:&lt;br /&gt;
&lt;br /&gt;
* flexible&lt;br /&gt;
* modern&lt;br /&gt;
* flexible_week&lt;br /&gt;
* modern_week&lt;br /&gt;
* classic&lt;br /&gt;
* classes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Please note that &amp;lt;code&amp;gt;classic&amp;lt;/code&amp;gt; timeline type is deprecated and not supported anymore.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; field contains raw data of company&#039;s description which can include HTML tags. &amp;lt;code&amp;gt;description_text&amp;lt;/code&amp;gt; field contains only text information without HTML tags.&lt;br /&gt;
&lt;br /&gt;
For information about &amp;lt;code&amp;gt; timeframe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timezone&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;allow_event_day_break&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;allow_event_breaktime_break&amp;lt;/code&amp;gt; see [[#Company params|Company params section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--====getPluginPromoInfoByCode response====&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;yvuvugum&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;We are offering [service\/services] with an amazing [discount]% discount! We are running this deal for a limited time only.&amp;quot;,&lt;br /&gt;
    &amp;quot;discount&amp;quot;: &amp;quot;99.9999&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;expired_date&amp;quot;: &amp;quot;2016-01-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_date&amp;quot;: &amp;quot;2015-12-31&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_time&amp;quot;: &amp;quot;09:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_time&amp;quot;: &amp;quot;22:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_usage_count&amp;quot;: &amp;quot;20&amp;quot;,&lt;br /&gt;
    &amp;quot;fineprint_text&amp;quot;: &amp;quot;Deal is limited for new clients only. Reward is claimable [client_claim_times_number] times per client. Deal is only claimable for the locations specified. Deal is cannot be combined with any other promotion. Must be redeemed prior to the expiration date shown on the deal.&amp;quot;,&lt;br /&gt;
    &amp;quot;redemption_text&amp;quot;: &amp;quot;Present your confirmation code when you want to redeem your deal. You may either to print off your confirmation email or show your confirmation code by loggin into Simplybook on your mobile phone\/Pc.\r\n[promocode]\r\n[discount]\r\n[reward]\r\n[referal_qty]&amp;quot;,&lt;br /&gt;
    &amp;quot;headline&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;: null,&lt;br /&gt;
    &amp;quot;allow_customer_count&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_catalogue&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;: &amp;quot;active&amp;quot;,&lt;br /&gt;
    &amp;quot;plugin_promo_message_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;common_promotion_id&amp;quot;: &amp;quot;132&amp;quot;,&lt;br /&gt;
    &amp;quot;service_ids&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; contains a list of services for wich promotion discount can be applied.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15105</id>
		<title>Company administration service methods</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15105"/>
		<updated>2025-05-15T12:54:01Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Company administration service methods - SimplyBook.me&lt;br /&gt;
|description=Learn about service methods for internal company administration. Manage bookings tailored to your operations. Start here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Information==&lt;br /&gt;
&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using [http://www.json.org JSON]. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Часовая фотосесcия&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Если Вы хотите попробовать себя в роли модели, но не определились с образом. &amp;lt;br /&amp;gt; 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске&amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Example of request with error response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;someNotExistingMethod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;id&amp;quot;:1,&lt;br /&gt;
    &amp;quot;error&amp;quot;: {&lt;br /&gt;
      &amp;quot;code&amp;quot;: -32601,&lt;br /&gt;
      &amp;quot;message&amp;quot;: &amp;quot;Method not found&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[#Authentication|authentication]] section.&lt;br /&gt;
&lt;br /&gt;
===Endpoint===&lt;br /&gt;
&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/admin&amp;lt;/code&amp;gt; for all administration service API calls.&lt;br /&gt;
&lt;br /&gt;
===Authentication===&lt;br /&gt;
&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom_Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
=== addClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addClient($clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adds new client with specified data. You can specify name, email, phone, address1, address2, city, zip,&lt;br /&gt;
country_id. If client record with specified data exists  method will return an id of this record. Otherwise data&lt;br /&gt;
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&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam(&#039;require_fields&#039;)&amp;lt;/code&amp;gt; method to check which fields are required.&lt;br /&gt;
&lt;br /&gt;
Method returns an error:&lt;br /&gt;
&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
     name: &amp;quot;Frances T. Perez&amp;quot;,&lt;br /&gt;
     phone: &amp;quot;+1502-810-4521&amp;quot;,&lt;br /&gt;
     email: &amp;quot;FrancesTPerez@teleworm.us&amp;quot;,&lt;br /&gt;
     address1: &amp;quot;3872 Earnhardt Drive&amp;quot;,&lt;br /&gt;
     address2: &amp;quot;Louisville, KY 40219&amp;quot;,&lt;br /&gt;
     city: Louisville,&lt;br /&gt;
     zip: 3872&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== addDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addDeviceToken($token, $device)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String a device token string&lt;br /&gt;
* &#039;&#039;&#039;$device&#039;&#039;&#039; String a device type (&#039;android&#039; or &#039;apple&#039;)&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Subscribe a mobile device to push notifications service. Device will recieve notifications about new bookings or&lt;br /&gt;
changes in already created bookings. Use either &amp;lt;code&amp;gt;&#039;apple&#039;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&#039;android&#039;&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;&lt;br /&gt;
parameter.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== book ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;book($eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional, $count, $batchId, $recurringData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer bookings count used to make group bookings batch. This parameter can&#039;t be less than 1. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer add booking to group bookings batch. You can&#039;t use $count and $batchId in one call. Please specify only one parameter. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array - make booking recurrent. (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates new booking record. Returns an object with appointment information or throw exception if booking time not&lt;br /&gt;
available or any of required parameters missed. If appointment requires confirmation, in result object will be&lt;br /&gt;
&amp;lt;code&amp;gt;require_confirm = true&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt; specifies a date of&lt;br /&gt;
booking and time slot. Time value should be multiple to &#039;timeframe&#039; configuration of company (see&lt;br /&gt;
&amp;lt;code&amp;gt;[[#getTimeframe|getTimeframe]]&amp;lt;/code&amp;gt; API method). &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; parameters&lt;br /&gt;
should be calculated according to service duration. However you can specify different values to make appointment&lt;br /&gt;
longer or shorter then service configuration. Note that &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; should be&lt;br /&gt;
later in time than &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt;. If your clients located in different time&lt;br /&gt;
zone you should specify &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; parameter as difference between company&#039;s time zone and&lt;br /&gt;
client&#039;s time zone in seconds. For example if company located in city with time zone GMT+2 and customer located&lt;br /&gt;
in city with GMT+3 then &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; will be -3600 seconds. You can get information about company&#039;s&lt;br /&gt;
time zone using &amp;lt;code&amp;gt;[[#getCompanyInfo|getCompanyInfo]]&amp;lt;/code&amp;gt; API method. To create batch booking you can&lt;br /&gt;
specify either &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; more then 1 or valid &amp;lt;code&amp;gt;batchId&amp;lt;/code&amp;gt; (only one parameter can be&lt;br /&gt;
specified). You should specify an &amp;lt;code&amp;gt;$additionalFields&amp;lt;/code&amp;gt; parameter if service requires some intake forms (see [[Custom_Features#Intake_Forms|Intake Forms Custom feature]]).To create a booking with promo code you should pass it as additional field. For example: &amp;lt;code&amp;gt;{&amp;quot;promocode&amp;quot;: &amp;quot;some code&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If [[Custom_Features#Multiple_Locations| Multiple locations]] enabled you need to pass locations ID parameter as additional field&lt;br /&gt;
&amp;lt;code&amp;gt;location_id&amp;lt;/code&amp;gt;. For example: &amp;lt;code&amp;gt;{&amp;quot;location_id&amp;quot;: &amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt;. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
to check if Custom feature active and &amp;lt;code&amp;gt;[[#getLocationsList|getLocationsList()]]&amp;lt;/code&amp;gt; method to get list of&lt;br /&gt;
available locations.&lt;br /&gt;
&lt;br /&gt;
See [[#book response|example]] of &amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt; API method response.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [https://help.simplybook.me/index.php/Need_to_change_interval_(timeframe) Timeframe information]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== calculateEndTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;calculateEndTime($startDateTime, $eventId, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; 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;.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String|Boolean.&lt;br /&gt;
&lt;br /&gt;
Returns end datetime if booking is available, else return false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBatch($id, $bookingIds)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer identifier of batch. See &amp;lt;code&amp;gt;[[#createBatch|createBatch]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
* &#039;&#039;&#039;$bookingIds&#039;&#039;&#039; Array ids of bookings included to batch.&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Cancel batch of bookings. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found)&lt;br /&gt;
if no booking with specified id were found. A booking with first id in &amp;lt;code&amp;gt;$bookingIds&amp;lt;/code&amp;gt; list is used for&lt;br /&gt;
information in notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBooking ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBooking($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Cancels booking. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found) if&lt;br /&gt;
no booking with specified id were found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== createBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;createBatch()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Creates new booking batch record. Returns newly created batch id. You can use this id in &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteDeviceToken($token)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String - device token&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Unsubscribe from push notifications service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== editBook ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editBook($shedulerId, $eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer an id of booking to edit. See &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[#getBookings|getBookings]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Edit existing booking record. See [[#book|book]] API method description for more details about date/time parameters,&lt;br /&gt;
time zone handling and additional fields. Returns null if parameters not valid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editClient($clientId, $clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Edits client&#039;s record. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; method description for list of available fields.Method returns an id of client&#039;s record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== filterAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;filterAvailableUnits($eventId, $dateTime, $unitIds, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitIds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with location Custom Feature.&lt;br /&gt;
Returns empty array if all units are not allowed.&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAdditionalFields ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAdditionalFields($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return intake forms for certain event if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is&lt;br /&gt;
activated. Returns empty array otherwise. Call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_field&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if &#039;event_field&#039; Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAnyUnitData ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAnyUnitData()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object|null.&lt;br /&gt;
&lt;br /&gt;
Returns information about [[Custom_Features#Any_Employee_Selector|Any Employee selector Custom Feature]] configuration. Returns&lt;br /&gt;
null if Custom Feature not enabled.Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot; : &amp;quot;Select this option, if you want to find an available time with any of the employees&amp;quot;,&lt;br /&gt;
    &amp;quot;hide_other_units&amp;quot; : 1, // 1 or 0&lt;br /&gt;
    &amp;quot;image&amp;quot; : null,&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;Any employee&amp;quot;,&lt;br /&gt;
    &amp;quot;picture_path&amp;quot; : null,&lt;br /&gt;
    &amp;quot;random_selection&amp;quot; : 0 // 1 or 0&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available time intervals for all service providers for given period, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{[&#039;2016-03-04&#039;: [&#039;1&#039;: [[&#039;09:00:00&#039;,&#039;09:30:00&#039;], [&#039;11:15:00&#039;,&#039;14:45:00&#039;]] , ...], ...]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableUnits($eventId, $dateTime, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service or empty array if all units are not allowed.Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingCancellationsInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingCancellationsInfo($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data from first day of current week.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data filtered to last day of current week.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about created bookings and cancellations for a time period. Data presented as array of hashes for&lt;br /&gt;
each type of operation (created or cancelled booking) groped by clients. &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; field can be either&lt;br /&gt;
&amp;quot;create&amp;quot;, &amp;quot;cancel&amp;quot; or &amp;quot;nopayment_cancel&amp;quot;. If &amp;lt;code&amp;gt;&amp;quot;user_id&amp;quot;&amp;lt;/code&amp;gt; not specified then bookings where created or&lt;br /&gt;
cancelled by admin or employee. Data with type &amp;lt;code&amp;gt;&amp;quot;nopayment_cancel&amp;quot;&amp;lt;/code&amp;gt; represents bookings cancelled&lt;br /&gt;
automatically by system.Example:&lt;br /&gt;
  3 bookings where created by admin or employee and 2 bookings where automatically cancelled by system.&lt;br /&gt;
  [{&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 3,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;create&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }, {&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 2,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;nopayment_cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingComment($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingDetails($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; integer booking id&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns detailed bookings object by booking id. See [[#getBookingDetails_response|response example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingLimitUnavailableTimeInterval ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingLimitUnavailableTimeInterval($startDateTime, $endDateTime, $eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns time intervals not available for bookings because of configuration of [[Custom_Features#Limit_Bookings|Limit bookings]]&lt;br /&gt;
Custom Feature for period of time. Returns empty array if Custom Feature not available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingRevenue ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingRevenue($dateStart, $dateEnd, $unitGroupId, $serviceId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
* &#039;&#039;&#039;$serviceId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return bookings count and revenue value for each date in specified period. Data grouped by unit id and&lt;br /&gt;
represented as array with bookings count at index 0 and revenue amount at index 1. You can filter data either&lt;br /&gt;
by unit or by service. Set &amp;lt;code&amp;gt;$dateStart&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$dateEnd&amp;lt;/code&amp;gt; to null to get data for current week.Example:&lt;br /&gt;
  [&#039;2015-11-12&#039; : {&lt;br /&gt;
     3 : [&lt;br /&gt;
       11, // bookings count&lt;br /&gt;
       128.53 // revenue&lt;br /&gt;
  ]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistic about bookings count grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookings($params)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params. Filter params represented as object with following fields:* &#039;&#039;&#039;date_from&#039;&#039;&#039; a date of booking in string format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_from&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_to&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_from&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;unit_group_id&#039;&#039;&#039; an integer. Use it to get bookings assigned for certain service provider.&lt;br /&gt;
* &#039;&#039;&#039;event_id&#039;&#039;&#039; an integer. Use it to  get bookings only for certain service.&lt;br /&gt;
* &#039;&#039;&#039;is_confirmed&#039;&#039;&#039; 1 or 0. If [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled then method will return confirmed bookings with approve status &#039;new&#039;.&lt;br /&gt;
* &#039;&#039;&#039;client_id&#039;&#039;&#039; an integer. Use it to get bookings only for certain client.&lt;br /&gt;
* &#039;&#039;&#039;order&#039;&#039;&#039; string either &#039;record_date&#039;, &#039;date_start&#039; or &#039;date_start_asc&#039;. By default used &#039;date_start&#039; value.&lt;br /&gt;
* &#039;&#039;&#039;booking_type&#039;&#039;&#039; a string. Value of this field depends on Approve booking Custom Feature status.&lt;br /&gt;
*: If Custom Feature not active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 0&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 1&lt;br /&gt;
*: If Custom Feature active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; returns bookings with &#039;is_confirmed&#039; field equals to 0 and approve booking status equals to &#039;cancelled&#039; (or booking does not have any approve status)&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 or approve booking status equals to &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_client&#039;&#039;&#039; returns bookings approved by admin but cancelled by client&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_admin&#039;&#039;&#039; returns bookings cancelled by admin&lt;br /&gt;
** &#039;&#039;&#039;non_approved_yet&#039;&#039;&#039; returns bookings with approve status &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;approved&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 and approve booking status equals to &#039;approved&#039; (or booking does not have any approve status)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;date_from&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;date_to&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;booking_type&amp;quot;:&amp;quot;cancelled&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;:&amp;quot;start_date&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingsZapier ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingsZapier()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCategoriesList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCategoriesList($isPublic)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company categories list if [[Custom_Features#Service_Categories|Service Categories Custom Feature]] is activated. Returns&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_category&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClient($clientId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns client&#039;s data object. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientComments ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientComments($clientId, $shedulerId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of all comments for given client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientList($searchString, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$searchString&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of clients associated with company. You can use either phone number, email address or name as value&lt;br /&gt;
for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt;. Pass an empty string for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt; and null for &amp;lt;code&amp;gt;$limit&amp;lt;/code&amp;gt;&lt;br /&gt;
parameters to get all records. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCurrency()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s currency as three chars code (ISO 4217).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCompanyInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about company. See [[#getCompanyInfo response|example of response]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParam ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam($key)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$key&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns mixed.&lt;br /&gt;
&lt;br /&gt;
Returns company config value for key. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParams ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParams($keys)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$keys&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company config values for keys. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].For non-existent and not-allowed params it will return false as result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyTimezoneOffset ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyTimezoneOffset()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns company timezone offset and company timezone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of all countries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryPhoneCodes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryPhoneCodes()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns country phone code list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentTariffInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentTariffInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns all information about current tariff (subscription). For example:{&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;gold&amp;quot;,&lt;br /&gt;
    &amp;quot;expire_date&amp;quot; : &amp;quot;2016-02-11 12:32:00&amp;quot;,&lt;br /&gt;
    &amp;quot;rest&amp;quot; : 41, // number of days until subscription expiration&lt;br /&gt;
    &amp;quot;color&amp;quot; : &amp;quot;#fcb322&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentUserDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentUserDetails()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments. Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with information about logged in user. Note: you are responsible for implementation of some&lt;br /&gt;
access rights based on &amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property value. Most of API methods returns an error if user has low access&lt;br /&gt;
rights but not all. There are 4 roles:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; - have full access to the system&lt;br /&gt;
* &#039;&#039;&#039;Senior Employee&#039;&#039;&#039; - have access to calendar, services and providers, and can modify bookings related with user&lt;br /&gt;
* &#039;&#039;&#039;Junior Employee&#039;&#039;&#039; - can access caledar (but only to own bookings), services associated with user&lt;br /&gt;
* &#039;&#039;&#039;Viewer&#039;&#039;&#039; - have only access to calendar and services in read only mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;shop_user&amp;lt;/code&amp;gt; - &amp;quot;Senior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;station_user&amp;lt;/code&amp;gt; - &amp;quot;Junior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; - &amp;quot;Administrator&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;viewer&amp;lt;/code&amp;gt; - &amp;quot;Viewer&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;reseller_company_admin&amp;lt;/code&amp;gt; - reserved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;login&amp;quot;: admin,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;admin@mycoolcompany.com&amp;quot;;&lt;br /&gt;
    &amp;quot;firstname&amp;quot;: &amp;quot;Michail&amp;quot;,&lt;br /&gt;
    &amp;quot;lastname&amp;quot;: &amp;quot; &amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;group&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;is_blocked&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;last_access_time&amp;quot;: &amp;quot;2016-06-06 17:55:51&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;: null&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getEventList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getEventList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s events list. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as key&lt;br /&gt;
and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property of&lt;br /&gt;
event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbacks ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbacks($approvedOnly, $reviewsOnly, $lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$approvedOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$reviewsOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFirstWorkingDay ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFirstWorkingDay($unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns first working date for unit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTime($startDateTime, $endDateTime, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;. You can date string avoiding time in&lt;br /&gt;
this parameter. In this case method will use time value &#039;23:59:59&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented a time intervals marked as busy in Google Calendar. Each object of result&lt;br /&gt;
contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with datetime string as value. This method only actual if&lt;br /&gt;
[Custom_Features#Calendar_Sync|Calendar Sync Custom Feature] enabled. If Custom Feature not enabled an empty list will&lt;br /&gt;
be returned. You should call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; to&lt;br /&gt;
check status of the Custom Feature. Each object of result contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with&lt;br /&gt;
datetime string as value. Please note that this method may return not actual data because data synchronization&lt;br /&gt;
between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  [&lt;br /&gt;
   {&amp;quot;from&amp;quot; : &amp;quot;2016-02-16 13:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;to&amp;quot; : &amp;quot;2016-02-16 16:00:00&amp;quot;},&lt;br /&gt;
    ...&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTimeAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTimeAvailableUnits()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns configured unit ids, allowed to sync busy time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getLastNotificationUpdate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLastNotificationUpdate($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns last update datetime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getLocationsList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLocationsList($isPublic, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns available locations for company if Custom Feature [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is activated. Return&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
This method accepts two boolean flags as parameters. If &#039;&#039;&#039;isPublic&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; then method returns only&lt;br /&gt;
public locations. If &#039;&#039;&#039;asArray&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; method returns list of objects. Otherwise method returns&lt;br /&gt;
map of objects with object id as key. You can omit both parameters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getPluginList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of all Custom Features associated with company with status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---=== getPluginPromoInfoByCode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginPromoInfoByCode($code)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about Rewards and referrals promotion by promotion code. You can get promotion code&lt;br /&gt;
using &amp;lt;code&amp;gt;[[Catalogue#getPromotionList|getPromotionList]]&amp;lt;/code&amp;gt; API method. If promotion record with specified code not found then method returns an empty array (an empty object). If [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]]&lt;br /&gt;
not enabled then method returns an error with code -32001 (Custom Feature is not activated). Use&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;promo&#039;)]]&amp;lt;/code&amp;gt; API method call to check if Custom Feature enabled. See [[#getPromotionList response|example]] of &amp;lt;code&amp;gt;getPromotionList&amp;lt;/code&amp;gt; API method response. Please note that&lt;br /&gt;
response contains a list of services for wich promotion discount can be applied (&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; key).&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPluginStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginStatuses($pluginNames)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginNames&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentActions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentActions($lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns latest actions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRecurringDatetimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringDatetimes($eventId, $unitId, $date, $time, $recurringData, $endDateTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$time&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; String (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of dates for recurring booking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecurringSettings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringSettings($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with recurring settings for an event. Returns false if specified event does not configured as&lt;br /&gt;
recurring.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [http://blog.simplybook.me/recurring-and-periodic-bookings/ Recurring services desription]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRegistrations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRegistrations($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns number of clients registrations  by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTime($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns map of objects for each day in specified date range. The key of the result mps is a date string. The value&lt;br /&gt;
is an array of two objects. Both objects contains list of time slots for type &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; and type&lt;br /&gt;
&amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type represents time slots working time but already booked&lt;br /&gt;
by clients. Nobody knows what kind of data represented by &amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt; type. Please don&#039;t use it.If [[Custom_Features#Calendar_Sync| Calendar Sync Custom Feature]] enabled then object with&lt;br /&gt;
&amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type will contain not empty list of time slots marked as busy in Google calendar. Call&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; API method to check if Calendar Sync Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;2016-02-05&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;dd&amp;quot;: [], // time slots from Google calendar&lt;br /&gt;
        &amp;quot;events&amp;quot;: [ // reserved time slots&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;16:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;17:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;reserved_time&amp;quot;,&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;events&amp;quot;: [&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;09:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;10:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;not_worked_time&amp;quot;&lt;br /&gt;
     }],&lt;br /&gt;
     ...&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer|Array &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns not available time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [{&#039;reserved_time&#039;: [{&#039;from&#039;: &#039;14:00&#039;, &#039;to&#039;: &#039;16:30&#039;}], &#039;type&#039;: &amp;quot;reserved_time&amp;quot;}, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getSocialCounterStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getSocialCounterStats($provider)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$provider&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns social counters value for your domain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStartTimeMatrix ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStartTimeMatrix($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available start time, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [&#039;09:00:00&#039;, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If locations Custom Feature activated for company you should pass a list as $unitID parameter for filter results with&lt;br /&gt;
units available only for selected location. See [[Custom_Features#Multiple_Locations|Multiple locations]] Custom Feature description for&lt;br /&gt;
more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStatuses()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available statuses or an empty list if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimeframe ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimeframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Need_to_change_interval_(timeframe)|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimelineType ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimelineType()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company calendar layout type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopPerformers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopPerformers()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for performers. This data contains number of bookings and revenues value for each performer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopServices ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopServices($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for services for a period of time. This data contains number of bookings and&lt;br /&gt;
revenues value for each service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of service performers. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as&lt;br /&gt;
key and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property&lt;br /&gt;
of event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkdayInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkdayInfo($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workday info (date_start and date_end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkingDurations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkingDurations($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return working durations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getVisitorStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getVisitorStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about page visits if Custom Feature [[Custom_Features#Visitor_Counter|Visitor Counter Custom Feature]] enabled. Returns&lt;br /&gt;
an empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;counter&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled. Results can be grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on&lt;br /&gt;
selected grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWarnings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWarnings($lastOnly)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039;  Boolean. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented system warnings. Each warning contains &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt;&lt;br /&gt;
properties. &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt; property contains localized message. &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;sms_limit&#039;&#039;&#039; – warning indicates low amount of SMS credits&lt;br /&gt;
* &#039;&#039;&#039;sheduler_limit&#039;&#039;&#039; – warning indicates low amount of available bookings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkCalendar ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkCalendar($year, $month, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$year&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$month&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns company work schedule as array&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-01&#039;: {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;21:00:00&#039;, &#039;is_day_off&#039;: &#039;0&#039;}, &#039;2014-05-02&#039;: ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysInfo($from, $to, $unitId, $eventId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an information about working hours and break times for specified service and performer for a period&lt;br /&gt;
between two dates. If only service specified then information about performer (or performers) will be taken from&lt;br /&gt;
service configuration. Method returns a list of objects for each date in specified period. Count of objects in&lt;br /&gt;
list depends on break times. For example if performer works from 9:00 till 19:00 with one hour break at 13:00 method&lt;br /&gt;
returns:&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&#039;2014-05-14&#039; : [&lt;br /&gt;
    {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;13:00:00&#039;},&lt;br /&gt;
    {&#039;from&#039;: &#039;14:00:00&#039;, &#039;to&#039;: &#039;19:00:00&#039;}&lt;br /&gt;
  ] }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning! Method can return a time string &#039;24:00:00&#039; as right edge of time range. This happens in case if time&lt;br /&gt;
range finishes on midnight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysTimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysTimes($startDateTime, $endDateTime, $type = &#039;unit_group&#039;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; string. Optional. Either &#039;unit_group&#039; or &#039;event&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return busy time by unit id by Calendar Sync Custom Feature if enabled. Please note that this method may return not actual data because data synchronization between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkload ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkload($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workload data for units in period of time. Workload for each unit represented as array with work hours&lt;br /&gt;
at index 0, confirmed booking hours as load at index 1 and cancelled bookings hours at index 2.Example:&lt;br /&gt;
  [&#039;2015-10-21&#039; : {&lt;br /&gt;
     5 : [&lt;br /&gt;
       10, // working hours&lt;br /&gt;
       10, // load hours (confirmed bookings hours)&lt;br /&gt;
       0   // cancelled bookings hours&lt;br /&gt;
  ] }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== isPluginActivated ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;isPluginActivated($pluginName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginName&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. &amp;lt;var&amp;gt;$pluginName&amp;lt;/var&amp;gt; parameter is a Custom Feature identifier.See [[Custom_Features|Custom Features]] page for full Custom Features description. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingApprove ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingApprove($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;approved&#039; if [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled and returns&lt;br /&gt;
list of approved booking IDs. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingCancel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingCancel($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;canceled&#039; if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled and returns&lt;br /&gt;
true. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookings()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns list of objects with information about bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]]&lt;br /&gt;
Custom Feature enabled. Returns empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookingsCount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookingsCount()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns count of bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled. Returns&lt;br /&gt;
0 if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setBookingComment($id, $comment)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$comment&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Set booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStatus ($bookingId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object of status of given booking (if status plugin is enabled)&lt;br /&gt;
default status will be returned if bookingId does not exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setStatus($bookingId, $statusId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$statusId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets specified status for booking. Returns an error with code -32020 if logged in user don&#039;t have access to edit&lt;br /&gt;
bookings. This method does nothing if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== updateNotification ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;updateNotification($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns .&lt;br /&gt;
&lt;br /&gt;
Mark notifications as readed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setWorkDayInfo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setWorkDayInfo($info)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$info&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Set work day schedule for company|service|provider for week_day|date&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;start_time&amp;quot;:&amp;quot;10:00&amp;quot;,&lt;br /&gt;
&amp;quot;end_time&amp;quot;:&amp;quot;18:00&amp;quot;,&lt;br /&gt;
&amp;quot;is_day_off&amp;quot;:0,&lt;br /&gt;
&amp;quot;breaktime&amp;quot;:[{&amp;quot;start_time&amp;quot;:&amp;quot;14:00&amp;quot;,&amp;quot;end_time&amp;quot;:&amp;quot;15:00&amp;quot;}],&lt;br /&gt;
&amp;quot;index&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
&amp;quot;name&amp;quot;:&amp;quot;Monday&amp;quot;,&lt;br /&gt;
&amp;quot;date&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
index is 1-7 for Monday - Sunday (used for weekly settings)&lt;br /&gt;
date is used to set worktime for special date&lt;br /&gt;
unit_group_id is provider id&lt;br /&gt;
event_id is service id&lt;br /&gt;
if unit_group_id and event_id not passed then it set data for company&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteSpecialDay===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteSpecialDay($date, $params = null)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Delete special date if set&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;2017-08-21&#039;, &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addServiceProvider($data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Create new service provider&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editServiceProvider($id, $data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Edit service provider&lt;br /&gt;
(there is no way to delete provider via API, in this case set is_active = 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1, &lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&lt;br /&gt;
=== Error codes ===&lt;br /&gt;
&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
* -32001 Custom Feature is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32015 Passed event id is not reccuren&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Intake form values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32081 Service can&#039;t be performed when company does not work&lt;br /&gt;
* -32082 Service performer can&#039;t work when company does not work&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 &lt;br /&gt;
*: An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Company params===&lt;br /&gt;
&lt;br /&gt;
Use these values to get configuration params for company with &amp;lt;code&amp;gt;[[#getCompanyParam|getCompanyParam]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
&lt;br /&gt;
=====General params=====&lt;br /&gt;
&lt;br /&gt;
Administration API inherits all [[Company public service methods#Company_params|keys]] allowed for public API and extends this list with keys:&lt;br /&gt;
&lt;br /&gt;
* attach_ical&lt;br /&gt;
* auto_redirect&lt;br /&gt;
* auto_redirect_text&lt;br /&gt;
* blockchain_address&lt;br /&gt;
* blockchain_secret&lt;br /&gt;
* borgun_merchant_id&lt;br /&gt;
* borgun_payment_gateway_id&lt;br /&gt;
* borgun_secret_code&lt;br /&gt;
* client_batch_cancel_template&lt;br /&gt;
* client_batch_cancel_template_email&lt;br /&gt;
* client_batch_cancel_template_email_subject&lt;br /&gt;
* client_event_cancel_template&lt;br /&gt;
* client_event_cancel_template_email&lt;br /&gt;
* client_event_cancel_template_email_subject&lt;br /&gt;
* client_event_change_template&lt;br /&gt;
* client_event_change_template_email&lt;br /&gt;
* client_event_change_template_email_subject&lt;br /&gt;
* client_event_creation_template&lt;br /&gt;
* client_event_creation_template_email&lt;br /&gt;
* client_event_creation_template_email_subject&lt;br /&gt;
* client_event_group_creation_template&lt;br /&gt;
* client_event_group_creation_template_email&lt;br /&gt;
* client_event_group_creation_template_email_subject&lt;br /&gt;
* client_event_multiple_creation_template&lt;br /&gt;
* client_event_multiple_creation_template_email&lt;br /&gt;
* client_event_multiple_creation_template_email_subject&lt;br /&gt;
* client_group_notification_template&lt;br /&gt;
* client_group_notification_template_email&lt;br /&gt;
* client_group_notification_template_email_subject&lt;br /&gt;
* client_multiple_notification_template&lt;br /&gt;
* client_multiple_notification_template_email&lt;br /&gt;
* client_multiple_notification_template_email_subject&lt;br /&gt;
* client_notification_template&lt;br /&gt;
* client_notification_template_email&lt;br /&gt;
* client_notification_template_email_subject&lt;br /&gt;
* client_notification_time&lt;br /&gt;
* client_recurring_event_creation_template&lt;br /&gt;
* client_recurring_event_creation_template_email&lt;br /&gt;
* client_recurring_event_creation_template_email_subject&lt;br /&gt;
* common_limit_booking&lt;br /&gt;
* company_ga_tracking_id&lt;br /&gt;
* default_phone&lt;br /&gt;
* disconnect_on_timeout&lt;br /&gt;
* email_event_list&lt;br /&gt;
* email_events_list_template&lt;br /&gt;
* email_group_events_list_template&lt;br /&gt;
* event_list_style&lt;br /&gt;
* feed_back_interval&lt;br /&gt;
* feedback_invite_template_email&lt;br /&gt;
* feedback_invite_template_email_subject&lt;br /&gt;
* google_conversion_color&lt;br /&gt;
* google_conversion_currency&lt;br /&gt;
* google_conversion_format&lt;br /&gt;
* google_conversion_id&lt;br /&gt;
* google_conversion_label&lt;br /&gt;
* google_conversion_language&lt;br /&gt;
* google_conversion_value&lt;br /&gt;
* hide_working_hours_block&lt;br /&gt;
* include_cancel_link&lt;br /&gt;
* kortais_merchant&lt;br /&gt;
* kortais_secret_code&lt;br /&gt;
* kortais_terminal&lt;br /&gt;
* layout_background&lt;br /&gt;
* layout_background_repeat&lt;br /&gt;
* mobile_site_link&lt;br /&gt;
* mobile_site_link_title&lt;br /&gt;
* no_show_period&lt;br /&gt;
* on_success_button_link&lt;br /&gt;
* on_success_button_text&lt;br /&gt;
* recap_interval&lt;br /&gt;
* recap_send_after_time&lt;br /&gt;
* recap_send_canceled_bookings&lt;br /&gt;
* recap_send_new_bookings&lt;br /&gt;
* recap_send_upcomming_bookings&lt;br /&gt;
* send_cancel_to_client&lt;br /&gt;
* send_cancel_to_client_email&lt;br /&gt;
* send_cancel_to_unit&lt;br /&gt;
* send_cancel_to_unit_email&lt;br /&gt;
* send_contact_widget_email_notification&lt;br /&gt;
* send_contact_widget_sms_notification&lt;br /&gt;
* send_notify_to_client&lt;br /&gt;
* send_notify_to_client_email&lt;br /&gt;
* send_notify_to_unit&lt;br /&gt;
* send_notify_to_unit_email&lt;br /&gt;
* send_onchange_to_client&lt;br /&gt;
* send_onchange_to_client_email&lt;br /&gt;
* send_onchange_to_unit&lt;br /&gt;
* send_onchange_to_unit_email&lt;br /&gt;
* send_oncreate_to_client&lt;br /&gt;
* send_oncreate_to_client_email&lt;br /&gt;
* send_oncreate_to_unit&lt;br /&gt;
* send_oncreate_to_unit_email&lt;br /&gt;
* send_sms_if_push_enabled&lt;br /&gt;
* site_link&lt;br /&gt;
* site_link_title&lt;br /&gt;
* skip_limits_for_admin&lt;br /&gt;
* skip_show_mobile_app_ads&lt;br /&gt;
* skip_show_on_success_button&lt;br /&gt;
* sms_event_list&lt;br /&gt;
* sms_events_list_template&lt;br /&gt;
* sms_group_events_list_template&lt;br /&gt;
* unit_batch_cancel_template&lt;br /&gt;
* unit_batch_cancel_template_email&lt;br /&gt;
* unit_batch_cancel_template_email_subject&lt;br /&gt;
* unit_event_cancel_template&lt;br /&gt;
* unit_event_cancel_template_email&lt;br /&gt;
* unit_event_cancel_template_email_subject&lt;br /&gt;
* unit_event_change_template&lt;br /&gt;
* unit_event_change_template_email&lt;br /&gt;
* unit_event_change_template_email_subject&lt;br /&gt;
* unit_event_creation_template&lt;br /&gt;
* unit_event_creation_template_email&lt;br /&gt;
* unit_event_creation_template_email_subject&lt;br /&gt;
* unit_event_group_creation_template&lt;br /&gt;
* unit_event_group_creation_template_email&lt;br /&gt;
* unit_event_group_creation_template_email_subject&lt;br /&gt;
* unit_group_notification_template&lt;br /&gt;
* unit_group_notification_template_email&lt;br /&gt;
* unit_group_notification_template_email_subject&lt;br /&gt;
* unit_notification_template&lt;br /&gt;
* unit_notification_template_email&lt;br /&gt;
* unit_notification_template_email_subject&lt;br /&gt;
* unit_notification_time&lt;br /&gt;
* unit_recurring_event_creation_template&lt;br /&gt;
* unit_recurring_event_creation_template_email&lt;br /&gt;
* unit_recurring_event_creation_template_email_subject&lt;br /&gt;
* use_common_client_db&lt;br /&gt;
* user_confirmation&lt;br /&gt;
* user_public_layout&lt;br /&gt;
* user_public_theme&lt;br /&gt;
* waiting_video&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Accept payments Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Accept_Payments|Accept Payments Custom Feature configuration]].&lt;br /&gt;
&lt;br /&gt;
* allow_delay_payment&lt;br /&gt;
*: Allow delay payment option. Boolean.&lt;br /&gt;
* company_currency&lt;br /&gt;
*:&lt;br /&gt;
* hide_sale_tax&lt;br /&gt;
*: Hide sales tax option. Boolean.&lt;br /&gt;
* payment_timeout&lt;br /&gt;
*: Payment timeout option. String (&amp;quot;5 minutes&amp;quot;, &amp;quot;1 hour&amp;quot;, ...)&lt;br /&gt;
* sale_tax&lt;br /&gt;
*: Sales tax option. Integer. You should divide by 100 to get percent value.&lt;br /&gt;
* paypal_account&lt;br /&gt;
*: PayPal payment processor configuration. String.&lt;br /&gt;
* skrill_account&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* skrill_secret&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_id&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_key&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_application_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_id&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_secret_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* liqpay_merchant_id&lt;br /&gt;
* liqpay_merchant_pass&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Term &amp;amp; Conditions Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Terms_and_Conditions|Terms and Conditions Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
* user_license_text&lt;br /&gt;
*: Terms and conditions text. String.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Custom Features&#039; identifiers===&lt;br /&gt;
&lt;br /&gt;
Custom Feature identifier is a string constant which represents a Custom Feature in system. These constants used in &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[#getPluginStatuses|getPluginStatuses]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
&lt;br /&gt;
* advanced_notification&lt;br /&gt;
*:Book Soon notification system&lt;br /&gt;
* any_unit&lt;br /&gt;
*:Any Employee selector&lt;br /&gt;
* api&lt;br /&gt;
*:API&lt;br /&gt;
* approve_booking&lt;br /&gt;
*:Approve booking&lt;br /&gt;
* back_to_site&lt;br /&gt;
*:Take me back home&lt;br /&gt;
* contact_widget&lt;br /&gt;
*:Contact widget&lt;br /&gt;
* counter&lt;br /&gt;
*:Visitor Counter&lt;br /&gt;
* custom_css&lt;br /&gt;
*:Custom CSS&lt;br /&gt;
* data_security&lt;br /&gt;
*:Clean history&lt;br /&gt;
* description&lt;br /&gt;
*:HTML description field for events&lt;br /&gt;
* event_category&lt;br /&gt;
*:Service categories&lt;br /&gt;
* event_field&lt;br /&gt;
*:Intake forms&lt;br /&gt;
* facebookImage&lt;br /&gt;
*:Facebook client info&lt;br /&gt;
* financial_dashboard&lt;br /&gt;
*:Insights&lt;br /&gt;
* google_analytics&lt;br /&gt;
*:Google Adwords and analytics&lt;br /&gt;
* google_calendar_export&lt;br /&gt;
*:Calendar sync&lt;br /&gt;
* group_booking&lt;br /&gt;
*:Group bookings&lt;br /&gt;
* hipaa&lt;br /&gt;
*:HIPAA&lt;br /&gt;
* limit_bookings&lt;br /&gt;
*:Limit bookings&lt;br /&gt;
* location&lt;br /&gt;
*:Multiple locations&lt;br /&gt;
* mobile_app_backend&lt;br /&gt;
*:Mobile application&lt;br /&gt;
* multiple_booking&lt;br /&gt;
*:Multiple bookings&lt;br /&gt;
* news&lt;br /&gt;
*:News&lt;br /&gt;
* paid_events&lt;br /&gt;
*:Accept payments&lt;br /&gt;
&amp;lt;!--* promo&lt;br /&gt;
*:Rewards and Referrals--&amp;gt;&lt;br /&gt;
* recap&lt;br /&gt;
*:Daily report&lt;br /&gt;
* secure&lt;br /&gt;
*:SSL&lt;br /&gt;
* status&lt;br /&gt;
*:Status&lt;br /&gt;
* unit_colors&lt;br /&gt;
*:Providers color coding&lt;br /&gt;
* user_license&lt;br /&gt;
*:Terms and conditions&lt;br /&gt;
* cancelation_policy&lt;br /&gt;
*:Cancellation Policy&lt;br /&gt;
&lt;br /&gt;
See [[Custom_Features|Custom Features]] page for description for each Custom Feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
====getBookingDetails response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getBookingDetails|getBookingDetails]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;: &amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;event_name&amp;quot;: &amp;quot;Massage&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_name&amp;quot;: &amp;quot;John&amp;quot;,&lt;br /&gt;
    &amp;quot;client_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;client_name&amp;quot;: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date_time&amp;quot;: &amp;quot;2015-11-25 15:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;end_date_time&amp;quot;: &amp;quot;2015-11-25 16:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;is_confirmed&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;h8v8w5ls&amp;quot;,&lt;br /&gt;
    &amp;quot;record_date&amp;quot;: &amp;quot;2015-11-19 04:06:38&amp;quot;,&lt;br /&gt;
    &amp;quot;comment&amp;quot;: null,&lt;br /&gt;
    &amp;quot;company_login&amp;quot;: &amp;quot;testzt&amp;quot;,&lt;br /&gt;
    &amp;quot;company_name&amp;quot;: &amp;quot;My Cool Company&amp;quot;,&lt;br /&gt;
    &amp;quot;company_phone&amp;quot;: &amp;quot;+1-555-55-55&amp;quot;,&lt;br /&gt;
    &amp;quot;company_email&amp;quot;: &amp;quot;into@mycoolcompany.com&amp;quot;,&lt;br /&gt;
    &amp;quot;additional_fields&amp;quot;: [{&lt;br /&gt;
      &amp;quot;value&amp;quot;: &amp;quot;on&amp;quot;,&lt;br /&gt;
      &amp;quot;field_name&amp;quot;: &amp;quot;201a89517de509f6b3a60858918faac3&amp;quot;,&lt;br /&gt;
      &amp;quot;field_title&amp;quot;: &amp;quot;Include washing&amp;quot;,&lt;br /&gt;
      &amp;quot;field_position&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;field_type&amp;quot;: &amp;quot;checkbox&amp;quot;,&lt;br /&gt;
      &amp;quot;field_id&amp;quot;: &amp;quot;4&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;comments&amp;quot;: [],&lt;br /&gt;
    &amp;quot;history&amp;quot;: [{&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;536&amp;quot;,&lt;br /&gt;
      &amp;quot;sheduler_id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
      &amp;quot;datetime&amp;quot;: &amp;quot;2015-11-19 11:06:38&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;create&amp;quot;,&lt;br /&gt;
      &amp;quot;user_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;agent&amp;quot;: &amp;quot;SimplyBook.me\/55 CFNetwork\/758.0.2 Darwin\/15.0.0&amp;quot;,&lt;br /&gt;
      &amp;quot;ip&amp;quot;: &amp;quot;213.174.0.53, 158.69.224.50:127.0.0.1&amp;quot;,&lt;br /&gt;
      &amp;quot;referer&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;login&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
      &amp;quot;firstname&amp;quot;: &amp;quot;Mikhail&amp;quot;,&lt;br /&gt;
      &amp;quot;lastname&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;status&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Fancy Status&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;color&amp;quot;: &amp;quot;4cbadb&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;location&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;location&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;picture&amp;quot;: &amp;quot;e1e9409fe9682c78b2f8f294dc151af0.jpg&amp;quot;,&lt;br /&gt;
      &amp;quot;address1&amp;quot;: null,&lt;br /&gt;
      &amp;quot;address2&amp;quot;: &amp;quot;Saint Margaret Street&amp;quot;,&lt;br /&gt;
      &amp;quot;city&amp;quot;: &amp;quot;\u041b\u043e\u043d\u0434\u043e\u043d&amp;quot;,&lt;br /&gt;
      &amp;quot;zip&amp;quot;: null,&lt;br /&gt;
      &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
      &amp;quot;lat&amp;quot;: &amp;quot;51.50013000000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;lng&amp;quot;: &amp;quot;-0.12630500000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;phone&amp;quot;: &amp;quot;44&amp;quot;,&lt;br /&gt;
      &amp;quot;position&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;price&amp;quot;: [],&lt;br /&gt;
    &amp;quot;promo&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location field is present in response only if [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is enabled. Otherwise this field will be an empty array. If locations Custom Feature is enabled but booking doesn&#039;t have any locations this fields also will be an empty array.&lt;br /&gt;
&lt;br /&gt;
Status field is present in response only if [[Custom_Features#Status|Status Custom Feature]] is enabled. Otherwise this field will be an empty array. If Custom Feature enabled but booking doesn&#039;t have any statues specified the default status returned.&lt;br /&gt;
&lt;br /&gt;
Price field is present in response only if [[Custom_Features#Accept_Payments|Accept payments Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a free service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Promo field is present in response only if [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains false if Custom Feature is enabled but booking was created without any promo codes.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;additional_fields&amp;lt;/code&amp;gt; field is present in response only if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a service with no intake forms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====book response====&lt;br /&gt;
&lt;br /&gt;
[[#book|&amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt;]] API method returns an object which contains list of objects with short description of newly create bookings. Method returns only one item in &#039;bookings&#039; array for regular appointment and more than one item for recurring or batch bookings.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;require_confirm&amp;quot;:false,&lt;br /&gt;
    &amp;quot;bookings&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;434&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-30 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-30 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc14ca&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;785cb8cce316e64765b94c05a635f4be&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;435&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-31 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-31 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc2pge&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;8b92d634541bfd93c0830967e56f4653&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;436&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-04 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-04 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc3urb&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;cd22a0bf183f7350e595988dd2486e5b&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;437&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-05 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-05 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc44d9&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;53f98ff4e4a0323aa907156c59c99362&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;batch_type&amp;quot;:&amp;quot;batch_recurrent_booking&amp;quot;,&lt;br /&gt;
    &amp;quot;recurrent_batch_id&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;batch_hash&amp;quot;:&amp;quot;357178bce290381bb7235080941ec143&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====getCompanyInfo response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getCompanyInfo|getCompanyInfo]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;login&amp;quot;: &amp;quot;pierrecoetzee&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;Pierre&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;address1&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;address2&amp;quot;: &amp;quot;Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;city&amp;quot;: &amp;quot;London&amp;quot;,&lt;br /&gt;
    &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
    &amp;quot;lat&amp;quot;: &amp;quot;51.500435&amp;quot;,&lt;br /&gt;
    &amp;quot;lng&amp;quot;: &amp;quot;-0.129811&amp;quot;,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;pierre.coe@gmail.com&amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;web&amp;quot;: null,&lt;br /&gt;
    &amp;quot;skip_address&amp;quot;: null,&lt;br /&gt;
    &amp;quot;logo&amp;quot;: null,&lt;br /&gt;
    &amp;quot;address&amp;quot;: &amp;quot;GB, London, Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;description_text&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;timezone&amp;quot;: &amp;quot;Europe London&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_client_timezone&amp;quot;: false,&lt;br /&gt;
    &amp;quot;timeframe&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
    &amp;quot;timeline_type&amp;quot;: &amp;quot;modern_week&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_day_break&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_breaktime_break&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;timeline_type&amp;lt;/code&amp;gt; field can be one the following values:&lt;br /&gt;
&lt;br /&gt;
* flexible&lt;br /&gt;
* modern&lt;br /&gt;
* flexible_week&lt;br /&gt;
* modern_week&lt;br /&gt;
* classic&lt;br /&gt;
* classes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Please note that &amp;lt;code&amp;gt;classic&amp;lt;/code&amp;gt; timeline type is deprecated and not supported anymore.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; field contains raw data of company&#039;s description which can include HTML tags. &amp;lt;code&amp;gt;description_text&amp;lt;/code&amp;gt; field contains only text information without HTML tags.&lt;br /&gt;
&lt;br /&gt;
For information about &amp;lt;code&amp;gt; timeframe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timezone&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;allow_event_day_break&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;allow_event_breaktime_break&amp;lt;/code&amp;gt; see [[#Company params|Company params section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--====getPluginPromoInfoByCode response====&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;yvuvugum&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;We are offering [service\/services] with an amazing [discount]% discount! We are running this deal for a limited time only.&amp;quot;,&lt;br /&gt;
    &amp;quot;discount&amp;quot;: &amp;quot;99.9999&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;expired_date&amp;quot;: &amp;quot;2016-01-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_date&amp;quot;: &amp;quot;2015-12-31&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_time&amp;quot;: &amp;quot;09:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_time&amp;quot;: &amp;quot;22:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_usage_count&amp;quot;: &amp;quot;20&amp;quot;,&lt;br /&gt;
    &amp;quot;fineprint_text&amp;quot;: &amp;quot;Deal is limited for new clients only. Reward is claimable [client_claim_times_number] times per client. Deal is only claimable for the locations specified. Deal is cannot be combined with any other promotion. Must be redeemed prior to the expiration date shown on the deal.&amp;quot;,&lt;br /&gt;
    &amp;quot;redemption_text&amp;quot;: &amp;quot;Present your confirmation code when you want to redeem your deal. You may either to print off your confirmation email or show your confirmation code by loggin into Simplybook on your mobile phone\/Pc.\r\n[promocode]\r\n[discount]\r\n[reward]\r\n[referal_qty]&amp;quot;,&lt;br /&gt;
    &amp;quot;headline&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;: null,&lt;br /&gt;
    &amp;quot;allow_customer_count&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_catalogue&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;: &amp;quot;active&amp;quot;,&lt;br /&gt;
    &amp;quot;plugin_promo_message_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;common_promotion_id&amp;quot;: &amp;quot;132&amp;quot;,&lt;br /&gt;
    &amp;quot;service_ids&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; contains a list of services for wich promotion discount can be applied.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
	<entry>
		<id>https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15104</id>
		<title>Company administration service methods</title>
		<link rel="alternate" type="text/html" href="https://help.simplybook.me/index.php?title=Company_administration_service_methods&amp;diff=15104"/>
		<updated>2025-05-15T12:51:45Z</updated>

		<summary type="html">&lt;p&gt;Tania: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=Company administration service methods - SimplyBook.me&lt;br /&gt;
|description=Learn about service methods for internal company administration. Manage bookings tailored to your operations. Start here!&lt;br /&gt;
|titlemode=append&lt;br /&gt;
|keywords=faq, frequently asked questions, booking software, appointment system questions, appointments online, calendar software, booking system, booking calendar, scheduling software, online appointment scheduling, online scheduling, setup, setup help, support, help content&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Information==&lt;br /&gt;
&lt;br /&gt;
SimplyBook.me API service build on [https://en.wikipedia.org/wiki/JSON-RPC JSON-RPC] remote procedure call protocol. A remote method is invoked by sending a request to a remote service using HTTPS. All transfer types are single objects, serialized using [http://www.json.org JSON]. A request is a call to a specific method provided by a remote system. It must contain three certain properties:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;jsonrpc&amp;lt;/code&amp;gt; - a version of JSON-RPC protocol. Always &amp;lt;code&amp;gt;&amp;quot;2.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt; - A String with the name of the method to be invoked.&lt;br /&gt;
* &amp;lt;code&amp;gt;params&amp;lt;/code&amp;gt; - An Array of objects to be passed as parameters to the defined method.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - A value of any type, which is used to match the response with the request that it is replying to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The receiver of the request must reply with a valid response to all received requests. A response must contain the properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt; - The data returned by the invoked method. If an error occurred while invoking the method, this value must be null.&lt;br /&gt;
* &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt; - A specified error code if there was an error invoking the method, otherwise null.&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; - The id of the request it is responding to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getEventList&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;result&amp;quot;: {&lt;br /&gt;
        &amp;quot;1&amp;quot;: {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;Часовая фотосесcия&amp;quot;,&lt;br /&gt;
            &amp;quot;duration&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
            &amp;quot;hide_duration&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;&amp;lt;p&amp;gt;Если Вы хотите попробовать себя в роли модели, но не определились с образом. &amp;lt;br /&amp;gt; 5-7 отретушированных и готовых к печати фотографий + отснятый материал на диске&amp;lt;/p&amp;gt;&amp;quot;,&lt;br /&gt;
            &amp;quot;picture&amp;quot;: &amp;quot;a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;is_public&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;is_active&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;position&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;is_recurring&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;picture_path&amp;quot;: &amp;quot;/uploads/mib/event__picture/small/a200edab10b669225e22d2b3803a38b5.jpg&amp;quot;,&lt;br /&gt;
            &amp;quot;price&amp;quot;: &amp;quot;300.0000&amp;quot;,&lt;br /&gt;
            &amp;quot;currency&amp;quot;: &amp;quot;UAH&amp;quot;,&lt;br /&gt;
            &amp;quot;categories&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of request with error response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Request&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;someNotExistingMethod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;:[],&lt;br /&gt;
    &amp;quot;id&amp;quot;:1&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Response&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
    &amp;quot;id&amp;quot;:1,&lt;br /&gt;
    &amp;quot;error&amp;quot;: {&lt;br /&gt;
      &amp;quot;code&amp;quot;: -32601,&lt;br /&gt;
      &amp;quot;message&amp;quot;: &amp;quot;Method not found&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All calls of public service methods should have additional HTTP header:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;X-Token&amp;lt;/code&amp;gt; an authentication token. See [[#Authentication|authentication]] section.&lt;br /&gt;
&lt;br /&gt;
===Endpoint===&lt;br /&gt;
&lt;br /&gt;
Use URL &amp;lt;code&amp;gt;https://user-api.simplybook.me/admin&amp;lt;/code&amp;gt; for all administration service API calls.&lt;br /&gt;
&lt;br /&gt;
===Authentication===&lt;br /&gt;
&lt;br /&gt;
Using Simplybook API methods require an authentification. To authorize in Simplybook API you need to get an access key — access-token. In order to get this access-token you should call the JSON-RPC method &amp;lt;code&amp;gt;[[Authentication#getUserToken|getUserToken]]&amp;lt;/code&amp;gt; API method on https://user-api.simplybook.me/login service passing your personal API-key. You can copy your API-key at admin interface: go to the &#039;Custom Features&#039; link and select [[Custom_Features#API|API Custom Feature]] &#039;Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
=== addClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addClient($clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adds new client with specified data. You can specify name, email, phone, address1, address2, city, zip,&lt;br /&gt;
country_id. If client record with specified data exists  method will return an id of this record. Otherwise data&lt;br /&gt;
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&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam(&#039;require_fields&#039;)&amp;lt;/code&amp;gt; method to check which fields are required.&lt;br /&gt;
&lt;br /&gt;
Method returns an error:&lt;br /&gt;
&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
     name: &amp;quot;Frances T. Perez&amp;quot;,&lt;br /&gt;
     phone: &amp;quot;+1502-810-4521&amp;quot;,&lt;br /&gt;
     email: &amp;quot;FrancesTPerez@teleworm.us&amp;quot;,&lt;br /&gt;
     address1: &amp;quot;3872 Earnhardt Drive&amp;quot;,&lt;br /&gt;
     address2: &amp;quot;Louisville, KY 40219&amp;quot;,&lt;br /&gt;
     city: Louisville,&lt;br /&gt;
     zip: 3872&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== addDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addDeviceToken($token, $device)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String a device token string&lt;br /&gt;
* &#039;&#039;&#039;$device&#039;&#039;&#039; String a device type (&#039;android&#039; or &#039;apple&#039;)&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Subscribe a mobile device to push notifications service. Device will recieve notifications about new bookings or&lt;br /&gt;
changes in already created bookings. Use either &amp;lt;code&amp;gt;&#039;apple&#039;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&#039;android&#039;&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;device&amp;lt;/code&amp;gt;&lt;br /&gt;
parameter.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== book ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;book($eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional, $count, $batchId, $recurringData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; string a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer bookings count used to make group bookings batch. This parameter can&#039;t be less than 1. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$batchId&#039;&#039;&#039; Integer add booking to group bookings batch. You can&#039;t use $count and $batchId in one call. Please specify only one parameter. (optional)&lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array - make booking recurrent. (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates new booking record. Returns an object with appointment information or throw exception if booking time not&lt;br /&gt;
available or any of required parameters missed. If appointment requires confirmation, in result object will be&lt;br /&gt;
&amp;lt;code&amp;gt;require_confirm = true&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt; specifies a date of&lt;br /&gt;
booking and time slot. Time value should be multiple to &#039;timeframe&#039; configuration of company (see&lt;br /&gt;
&amp;lt;code&amp;gt;[[#getTimeframe|getTimeframe]]&amp;lt;/code&amp;gt; API method). &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; parameters&lt;br /&gt;
should be calculated according to service duration. However you can specify different values to make appointment&lt;br /&gt;
longer or shorter then service configuration. Note that &amp;lt;code&amp;gt;$endDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$endTime&amp;lt;/code&amp;gt; should be&lt;br /&gt;
later in time than &amp;lt;code&amp;gt;$startDate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$startTime&amp;lt;/code&amp;gt;. If your clients located in different time&lt;br /&gt;
zone you should specify &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; parameter as difference between company&#039;s time zone and&lt;br /&gt;
client&#039;s time zone in seconds. For example if company located in city with time zone GMT+2 and customer located&lt;br /&gt;
in city with GMT+3 then &amp;lt;code&amp;gt;$clientTimeOffset&amp;lt;/code&amp;gt; will be -3600 seconds. You can get information about company&#039;s&lt;br /&gt;
time zone using &amp;lt;code&amp;gt;[[#getCompanyInfo|getCompanyInfo]]&amp;lt;/code&amp;gt; API method. To create batch booking you can&lt;br /&gt;
specify either &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; more then 1 or valid &amp;lt;code&amp;gt;batchId&amp;lt;/code&amp;gt; (only one parameter can be&lt;br /&gt;
specified). You should specify an &amp;lt;code&amp;gt;$additionalFields&amp;lt;/code&amp;gt; parameter if service requires some intake forms (see [[Custom_Features#Intake_Forms|Intake Forms Custom feature]]).To create a booking with promo code you should pass it as additional field. For example: &amp;lt;code&amp;gt;{&amp;quot;promocode&amp;quot;: &amp;quot;some code&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If [[Custom_Features#Multiple_Locations| Multiple locations]] enabled you need to pass locations ID parameter as additional field&lt;br /&gt;
&amp;lt;code&amp;gt;location_id&amp;lt;/code&amp;gt;. For example: &amp;lt;code&amp;gt;{&amp;quot;location_id&amp;quot;: &amp;quot;1&amp;quot;}&amp;lt;/code&amp;gt;. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
to check if Custom feature active and &amp;lt;code&amp;gt;[[#getLocationsList|getLocationsList()]]&amp;lt;/code&amp;gt; method to get list of&lt;br /&gt;
available locations.&lt;br /&gt;
&lt;br /&gt;
See [[#book response|example]] of &amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt; API method response.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [https://help.simplybook.me/index.php/Need_to_change_interval_(timeframe) Timeframe information]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== calculateEndTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;calculateEndTime($startDateTime, $eventId, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; 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;.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String|Boolean.&lt;br /&gt;
&lt;br /&gt;
Returns end datetime if booking is available, else return false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBatch($id, $bookingIds)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer identifier of batch. See &amp;lt;code&amp;gt;[[#createBatch|createBatch]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
* &#039;&#039;&#039;$bookingIds&#039;&#039;&#039; Array ids of bookings included to batch.&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Cancel batch of bookings. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found)&lt;br /&gt;
if no booking with specified id were found. A booking with first id in &amp;lt;code&amp;gt;$bookingIds&amp;lt;/code&amp;gt; list is used for&lt;br /&gt;
information in notifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cancelBooking ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cancelBooking($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Cancels booking. Returns true on success. Returns an error with code -32080 (Appointment couldn&#039;t be found) if&lt;br /&gt;
no booking with specified id were found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== createBatch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;createBatch()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Creates new booking batch record. Returns newly created batch id. You can use this id in &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteDeviceToken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteDeviceToken($token)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$token&#039;&#039;&#039; String - device token&lt;br /&gt;
&lt;br /&gt;
Returns boolean.&lt;br /&gt;
&lt;br /&gt;
Unsubscribe from push notifications service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== editBook ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editBook($shedulerId, $eventId, $unitId, $clientId, $startDate, $startTime, $endDate, $endTime, $clientTimeOffset, $additional)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer an id of booking to edit. See &amp;lt;code&amp;gt;[[#book|book]]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[[#getBookings|getBookings]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$startDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$startTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$endDate&#039;&#039;&#039; String - in Y-m-d format&lt;br /&gt;
* &#039;&#039;&#039;$endTime&#039;&#039;&#039; String - in H:i:s format&lt;br /&gt;
* &#039;&#039;&#039;$clientTimeOffset&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$additional&#039;&#039;&#039; array|Object - additional params and fields.&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Edit existing booking record. See [[#book|book]] API method description for more details about date/time parameters,&lt;br /&gt;
time zone handling and additional fields. Returns null if parameters not valid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editClient($clientId, $clientData)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$clientData&#039;&#039;&#039; Object &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Edits client&#039;s record. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; method description for list of available fields.Method returns an id of client&#039;s record.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== filterAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;filterAvailableUnits($eventId, $dateTime, $unitIds, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitIds&#039;&#039;&#039;  &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service from provided $unitIds list.You can use this method with location Custom Feature.&lt;br /&gt;
Returns empty array if all units are not allowed.&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAdditionalFields ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAdditionalFields($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return intake forms for certain event if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is&lt;br /&gt;
activated. Returns empty array otherwise. Call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_field&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if &#039;event_field&#039; Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAnyUnitData ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAnyUnitData()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object|null.&lt;br /&gt;
&lt;br /&gt;
Returns information about [[Custom_Features#Any_Employee_Selector|Any Employee selector Custom Feature]] configuration. Returns&lt;br /&gt;
null if Custom Feature not enabled.Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot; : &amp;quot;Select this option, if you want to find an available time with any of the employees&amp;quot;,&lt;br /&gt;
    &amp;quot;hide_other_units&amp;quot; : 1, // 1 or 0&lt;br /&gt;
    &amp;quot;image&amp;quot; : null,&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;Any employee&amp;quot;,&lt;br /&gt;
    &amp;quot;picture_path&amp;quot; : null,&lt;br /&gt;
    &amp;quot;random_selection&amp;quot; : 0 // 1 or 0&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available time intervals for all service providers for given period, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{[&#039;2016-03-04&#039;: [&#039;1&#039;: [[&#039;09:00:00&#039;,&#039;09:30:00&#039;], [&#039;11:15:00&#039;,&#039;14:45:00&#039;]] , ...], ...]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getAvailableUnits($eventId, $dateTime, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$dateTime&#039;&#039;&#039; String a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available unit ids for specified date and service or empty array if all units are not allowed.Eg.: &amp;lt;code&amp;gt;[1, 2, 3]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingCancellationsInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingCancellationsInfo($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data from first day of current week.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String a date string in format &#039;Y-m-d&#039;. Pass null to get data filtered to last day of current week.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about created bookings and cancellations for a time period. Data presented as array of hashes for&lt;br /&gt;
each type of operation (created or cancelled booking) groped by clients. &amp;lt;code&amp;gt;&amp;quot;type&amp;quot;&amp;lt;/code&amp;gt; field can be either&lt;br /&gt;
&amp;quot;create&amp;quot;, &amp;quot;cancel&amp;quot; or &amp;quot;nopayment_cancel&amp;quot;. If &amp;lt;code&amp;gt;&amp;quot;user_id&amp;quot;&amp;lt;/code&amp;gt; not specified then bookings where created or&lt;br /&gt;
cancelled by admin or employee. Data with type &amp;lt;code&amp;gt;&amp;quot;nopayment_cancel&amp;quot;&amp;lt;/code&amp;gt; represents bookings cancelled&lt;br /&gt;
automatically by system.Example:&lt;br /&gt;
  3 bookings where created by admin or employee and 2 bookings where automatically cancelled by system.&lt;br /&gt;
  [{&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 3,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;create&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }, {&lt;br /&gt;
    &amp;quot;cnt&amp;quot; : 2,&lt;br /&gt;
    &amp;quot;firstname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;lastname&amp;quot; : null,&lt;br /&gt;
    &amp;quot;login&amp;quot; : null,&lt;br /&gt;
    &amp;quot;type&amp;quot; : &amp;quot;nopayment_cancel&amp;quot;,&lt;br /&gt;
    &amp;quot;user_id&amp;quot;&amp;quot; : null&lt;br /&gt;
  }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingComment($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingDetails($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; integer booking id&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns detailed bookings object by booking id. See [[#getBookingDetails_response|response example]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingLimitUnavailableTimeInterval ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingLimitUnavailableTimeInterval($startDateTime, $endDateTime, $eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns time intervals not available for bookings because of configuration of [[Custom_Features#Limit_Bookings|Limit bookings]]&lt;br /&gt;
Custom Feature for period of time. Returns empty array if Custom Feature not available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingRevenue ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingRevenue($dateStart, $dateEnd, $unitGroupId, $serviceId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
* &#039;&#039;&#039;$serviceId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return bookings count and revenue value for each date in specified period. Data grouped by unit id and&lt;br /&gt;
represented as array with bookings count at index 0 and revenue amount at index 1. You can filter data either&lt;br /&gt;
by unit or by service. Set &amp;lt;code&amp;gt;$dateStart&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$dateEnd&amp;lt;/code&amp;gt; to null to get data for current week.Example:&lt;br /&gt;
  [&#039;2015-11-12&#039; : {&lt;br /&gt;
     3 : [&lt;br /&gt;
       11, // bookings count&lt;br /&gt;
       128.53 // revenue&lt;br /&gt;
  ]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistic about bookings count grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookings($params)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params. Filter params represented as object with following fields:* &#039;&#039;&#039;date_from&#039;&#039;&#039; a date of booking in string format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_from&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;time_to&#039;&#039;&#039; a time string in format &#039;H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_from&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;created_date_to&#039;&#039;&#039; a date string in format &#039;Y-m-d&#039;&lt;br /&gt;
* &#039;&#039;&#039;unit_group_id&#039;&#039;&#039; an integer. Use it to get bookings assigned for certain service provider.&lt;br /&gt;
* &#039;&#039;&#039;event_id&#039;&#039;&#039; an integer. Use it to  get bookings only for certain service.&lt;br /&gt;
* &#039;&#039;&#039;is_confirmed&#039;&#039;&#039; 1 or 0. If [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled then method will return confirmed bookings with approve status &#039;new&#039;.&lt;br /&gt;
* &#039;&#039;&#039;client_id&#039;&#039;&#039; an integer. Use it to get bookings only for certain client.&lt;br /&gt;
* &#039;&#039;&#039;order&#039;&#039;&#039; string either &#039;record_date&#039;, &#039;date_start&#039; or &#039;date_start_asc&#039;. By default used &#039;date_start&#039; value.&lt;br /&gt;
* &#039;&#039;&#039;booking_type&#039;&#039;&#039; a string. Value of this field depends on Approve booking Custom Feature status.&lt;br /&gt;
*: If Custom Feature not active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 0&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; alias to &#039;is_confirmed&#039; equal to 1&lt;br /&gt;
*: If Custom Feature active:&lt;br /&gt;
** &#039;&#039;&#039;all&#039;&#039;&#039; for all bookings (default value)&lt;br /&gt;
** &#039;&#039;&#039;cancelled&#039;&#039;&#039; returns bookings with &#039;is_confirmed&#039; field equals to 0 and approve booking status equals to &#039;cancelled&#039; (or booking does not have any approve status)&lt;br /&gt;
** &#039;&#039;&#039;non_cancelled&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 or approve booking status equals to &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_client&#039;&#039;&#039; returns bookings approved by admin but cancelled by client&lt;br /&gt;
** &#039;&#039;&#039;cancelled_by_admin&#039;&#039;&#039; returns bookings cancelled by admin&lt;br /&gt;
** &#039;&#039;&#039;non_approved_yet&#039;&#039;&#039; returns bookings with approve status &#039;new&#039;&lt;br /&gt;
** &#039;&#039;&#039;approved&#039;&#039;&#039; returns bookings with either &#039;is_confirmed&#039; field equals to 1 and approve booking status equals to &#039;approved&#039; (or booking does not have any approve status)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;date_from&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;date_to&amp;quot;:&amp;quot;2015-12-29&amp;quot;,&lt;br /&gt;
    &amp;quot;booking_type&amp;quot;:&amp;quot;cancelled&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;order&amp;quot;:&amp;quot;start_date&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingsZapier ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingsZapier()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of bookings filtered by given params&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCategoriesList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCategoriesList($isPublic)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company categories list if [[Custom_Features#Service_Categories|Service Categories Custom Feature]] is activated. Returns&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;event_category&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClient ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClient($clientId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns client&#039;s data object. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientComments ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientComments($clientId, $shedulerId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$clientId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$shedulerId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of all comments for given client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getClientList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getClientList($searchString, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$searchString&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of clients associated with company. You can use either phone number, email address or name as value&lt;br /&gt;
for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt;. Pass an empty string for &amp;lt;code&amp;gt;$searchString&amp;lt;/code&amp;gt; and null for &amp;lt;code&amp;gt;$limit&amp;lt;/code&amp;gt;&lt;br /&gt;
parameters to get all records. See &amp;lt;code&amp;gt;[[#addClient|addClient]]&amp;lt;/code&amp;gt; API method for list of available fields&lt;br /&gt;
of client data object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyCurrency ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyCurrency()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s currency as three chars code (ISO 4217).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getCompanyInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about company. See [[#getCompanyInfo response|example of response]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParam ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParam($key)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$key&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns mixed.&lt;br /&gt;
&lt;br /&gt;
Returns company config value for key. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyParams ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyParams($keys)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$keys&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company config values for keys. A different set of keys available for public API and for company&lt;br /&gt;
administration API. Method return &#039;invalid params&#039; error (code -32602) in case if access to specified key not&lt;br /&gt;
allowed. See [[#Company_params|list of available keys]].For non-existent and not-allowed params it will return false as result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCompanyTimezoneOffset ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCompanyTimezoneOffset()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns company timezone offset and company timezone&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of all countries&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCountryPhoneCodes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCountryPhoneCodes()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns country phone code list&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentTariffInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentTariffInfo()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns all information about current tariff (subscription). For example:{&lt;br /&gt;
    &amp;quot;name&amp;quot; : &amp;quot;gold&amp;quot;,&lt;br /&gt;
    &amp;quot;expire_date&amp;quot; : &amp;quot;2016-02-11 12:32:00&amp;quot;,&lt;br /&gt;
    &amp;quot;rest&amp;quot; : 41, // number of days until subscription expiration&lt;br /&gt;
    &amp;quot;color&amp;quot; : &amp;quot;#fcb322&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getCurrentUserDetails ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getCurrentUserDetails()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments. Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an object with information about logged in user. Note: you are responsible for implementation of some&lt;br /&gt;
access rights based on &amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property value. Most of API methods returns an error if user has low access&lt;br /&gt;
rights but not all. There are 4 roles:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; - have full access to the system&lt;br /&gt;
* &#039;&#039;&#039;Senior Employee&#039;&#039;&#039; - have access to calendar, services and providers, and can modify bookings related with user&lt;br /&gt;
* &#039;&#039;&#039;Junior Employee&#039;&#039;&#039; - can access caledar (but only to own bookings), services associated with user&lt;br /&gt;
* &#039;&#039;&#039;Viewer&#039;&#039;&#039; - have only access to calendar and services in read only mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; property can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;shop_user&amp;lt;/code&amp;gt; - &amp;quot;Senior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;station_user&amp;lt;/code&amp;gt; - &amp;quot;Junior Employee&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; - &amp;quot;Administrator&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;viewer&amp;lt;/code&amp;gt; - &amp;quot;Viewer&amp;quot; access role&lt;br /&gt;
* &amp;lt;code&amp;gt;reseller_company_admin&amp;lt;/code&amp;gt; - reserved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;login&amp;quot;: admin,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;admin@mycoolcompany.com&amp;quot;;&lt;br /&gt;
    &amp;quot;firstname&amp;quot;: &amp;quot;Michail&amp;quot;,&lt;br /&gt;
    &amp;quot;lastname&amp;quot;: &amp;quot; &amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;group&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
    &amp;quot;is_blocked&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;last_access_time&amp;quot;: &amp;quot;2016-06-06 17:55:51&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;: null&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getEventList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getEventList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s events list. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as key&lt;br /&gt;
and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property of&lt;br /&gt;
event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFeedbacks ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFeedbacks($approvedOnly, $reviewsOnly, $lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$approvedOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$reviewsOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of feedbacks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getFirstWorkingDay ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getFirstWorkingDay($unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns first working date for unit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTime($startDateTime, $endDateTime, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;&lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string a date and time string in format &#039;Y-m-d H:i:s&#039;. You can date string avoiding time in&lt;br /&gt;
this parameter. In this case method will use time value &#039;23:59:59&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented a time intervals marked as busy in Google Calendar. Each object of result&lt;br /&gt;
contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with datetime string as value. This method only actual if&lt;br /&gt;
[Custom_Features#Calendar_Sync|Calendar Sync Custom Feature] enabled. If Custom Feature not enabled an empty list will&lt;br /&gt;
be returned. You should call &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; to&lt;br /&gt;
check status of the Custom Feature. Each object of result contains &amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt; properties with&lt;br /&gt;
datetime string as value. Please note that this method may return not actual data because data synchronization&lt;br /&gt;
between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  [&lt;br /&gt;
   {&amp;quot;from&amp;quot; : &amp;quot;2016-02-16 13:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;to&amp;quot; : &amp;quot;2016-02-16 16:00:00&amp;quot;},&lt;br /&gt;
    ...&lt;br /&gt;
  ]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getGoogleCalendarBusyTimeAvailableUnits ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getGoogleCalendarBusyTimeAvailableUnits()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns configured unit ids, allowed to sync busy time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getLastNotificationUpdate ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLastNotificationUpdate($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns last update datetime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getLocationsList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getLocationsList($isPublic, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isPublic&#039;&#039;&#039; Boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; boolean Optional. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns available locations for company if Custom Feature [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is activated. Return&lt;br /&gt;
an error with code -32001 if Custom Feature is not activated. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;location&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method to check if Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
This method accepts two boolean flags as parameters. If &#039;&#039;&#039;isPublic&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; then method returns only&lt;br /&gt;
public locations. If &#039;&#039;&#039;asArray&#039;&#039;&#039; flag is &#039;&#039;&#039;true&#039;&#039;&#039; method returns list of objects. Otherwise method returns&lt;br /&gt;
map of objects with object id as key. You can omit both parameters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getPluginList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginList()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of all Custom Features associated with company with status.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---=== getPluginPromoInfoByCode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginPromoInfoByCode($code)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$code&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with detailed information about Rewards and referrals promotion by promotion code. You can get promotion code&lt;br /&gt;
using &amp;lt;code&amp;gt;[[Catalogue#getPromotionList|getPromotionList]]&amp;lt;/code&amp;gt; API method. If promotion record with specified code not found then method returns an empty array (an empty object). If [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]]&lt;br /&gt;
not enabled then method returns an error with code -32001 (Custom Feature is not activated). Use&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;promo&#039;)]]&amp;lt;/code&amp;gt; API method call to check if Custom Feature enabled. See [[#getPromotionList response|example]] of &amp;lt;code&amp;gt;getPromotionList&amp;lt;/code&amp;gt; API method response. Please note that&lt;br /&gt;
response contains a list of services for wich promotion discount can be applied (&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; key).&lt;br /&gt;
---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getPluginStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getPluginStatuses($pluginNames)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginNames&#039;&#039;&#039; Array &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecentActions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecentActions($lastOnly, $limit)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$limit&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns latest actions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRecurringDatetimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringDatetimes($eventId, $unitId, $date, $time, $recurringData, $endDateTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$time&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$recurringData&#039;&#039;&#039; Array &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; String (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Get list of dates for recurring booking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getRecurringSettings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRecurringSettings($eventId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object with recurring settings for an event. Returns false if specified event does not configured as&lt;br /&gt;
recurring.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
* [http://blog.simplybook.me/recurring-and-periodic-bookings/ Recurring services desription]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getRegistrations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getRegistrations($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String either &#039;day&#039;, &#039;week&#039; or &#039;month&#039;&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns number of clients registrations  by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on selected&lt;br /&gt;
grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTime ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTime($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns map of objects for each day in specified date range. The key of the result mps is a date string. The value&lt;br /&gt;
is an array of two objects. Both objects contains list of time slots for type &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; and type&lt;br /&gt;
&amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type represents time slots working time but already booked&lt;br /&gt;
by clients. Nobody knows what kind of data represented by &amp;lt;code&amp;gt;not_worked_time&amp;lt;/code&amp;gt; type. Please don&#039;t use it.If [[Custom_Features#Calendar_Sync| Calendar Sync Custom Feature]] enabled then object with&lt;br /&gt;
&amp;lt;code&amp;gt;reserved_time&amp;lt;/code&amp;gt; type will contain not empty list of time slots marked as busy in Google calendar. Call&lt;br /&gt;
&amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;google_calendar_export&#039;)]]&amp;lt;/code&amp;gt; API method to check if Calendar Sync Custom Feature activated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;2016-02-05&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;dd&amp;quot;: [], // time slots from Google calendar&lt;br /&gt;
        &amp;quot;events&amp;quot;: [ // reserved time slots&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;16:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;16:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;17:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;reserved_time&amp;quot;,&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;events&amp;quot;: [&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:00&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;09:30&amp;quot; },&lt;br /&gt;
          { &amp;quot;from&amp;quot;: &amp;quot;09:30&amp;quot;, &amp;quot;to&amp;quot;: &amp;quot;10:00&amp;quot; },&lt;br /&gt;
          ... ],&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;not_worked_time&amp;quot;&lt;br /&gt;
     }],&lt;br /&gt;
     ...&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getReservedTimeIntervals ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getReservedTimeIntervals($dateFrom, $dateTo, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateFrom&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateTo&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer|Array &lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns not available time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [{&#039;reserved_time&#039;: [{&#039;from&#039;: &#039;14:00&#039;, &#039;to&#039;: &#039;16:30&#039;}], &#039;type&#039;: &amp;quot;reserved_time&amp;quot;}, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getSocialCounterStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getSocialCounterStats($provider)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$provider&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns social counters value for your domain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStartTimeMatrix ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStartTimeMatrix($from, $to, $eventId, $unitId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Mixed can be Integer or Array of Integers&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns available start time, taking into account breaktimes, start and end working time&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-14&#039;: [&#039;09:00:00&#039;, ...], ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If locations Custom Feature activated for company you should pass a list as $unitID parameter for filter results with&lt;br /&gt;
units available only for selected location. See [[Custom_Features#Multiple_Locations|Multiple locations]] Custom Feature description for&lt;br /&gt;
more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getStatuses ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getStatuses()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of available statuses or an empty list if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimeframe ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimeframe()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns company&#039;s timeframe configuration (in minutes). Timeframe can be either 5, 10, 15, 20, 30 or 60 minutes.You can find more details about timeframe [[Need_to_change_interval_(timeframe)|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTimelineType ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTimelineType()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns String.&lt;br /&gt;
&lt;br /&gt;
Returns company calendar layout type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopPerformers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopPerformers()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for performers. This data contains number of bookings and revenues value for each performer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getTopServices ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getTopServices($dateStart, $dateEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list with statistics for services for a period of time. This data contains number of bookings and&lt;br /&gt;
revenues value for each service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitList ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitList($isVisibleOnly, $asArray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$isVisibleOnly&#039;&#039;&#039; Boolean &lt;br /&gt;
* &#039;&#039;&#039;$asArray&#039;&#039;&#039; Boolean &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns list of service performers. If &amp;lt;code&amp;gt;$asArray&amp;lt;/code&amp;gt; is false then method returns a map with event id as&lt;br /&gt;
key and details object as value. If parameter set to true then method returns a list sorted by &#039;position&#039; property&lt;br /&gt;
of event&#039;s details object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkdayInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkdayInfo($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workday info (date_start and date_end)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getUnitWorkingDurations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getUnitWorkingDurations($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return working durations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getVisitorStats ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getVisitorStats($groupBy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$groupBy&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns statistics about page visits if Custom Feature [[Custom_Features#Visitor_Counter|Visitor Counter Custom Feature]] enabled. Returns&lt;br /&gt;
an empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;counter&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled. Results can be grouped by &#039;day&#039;, &#039;week&#039; or &#039;month&#039;. A time period depends on&lt;br /&gt;
selected grouping parameter:* for &#039;day&#039; methods returns statistics for last 31 days&lt;br /&gt;
* for &#039;week&#039; methods returns data last 10 weeks period&lt;br /&gt;
* for &#039;month&#039; time period is last 12 months&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWarnings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWarnings($lastOnly)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$lastOnly&#039;&#039;&#039;  Boolean. Default value is &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns a list of objects represented system warnings. Each warning contains &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt;&lt;br /&gt;
properties. &amp;lt;code&amp;gt;warning_text&amp;lt;/code&amp;gt; property contains localized message. &amp;lt;code&amp;gt;warning_type&amp;lt;/code&amp;gt; can be one of the values:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;sms_limit&#039;&#039;&#039; – warning indicates low amount of SMS credits&lt;br /&gt;
* &#039;&#039;&#039;sheduler_limit&#039;&#039;&#039; – warning indicates low amount of available bookings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkCalendar ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkCalendar($year, $month, $unitId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$year&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$month&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns company work schedule as array&lt;br /&gt;
Eg.: &amp;lt;code&amp;gt;{&#039;2014-05-01&#039;: {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;21:00:00&#039;, &#039;is_day_off&#039;: &#039;0&#039;}, &#039;2014-05-02&#039;: ...}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysInfo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysInfo($from, $to, $unitId, $eventId, $count)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$from&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$to&#039;&#039;&#039; String &lt;br /&gt;
* &#039;&#039;&#039;$unitId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$eventId&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
* &#039;&#039;&#039;$count&#039;&#039;&#039; Integer (optional)&lt;br /&gt;
&lt;br /&gt;
Returns Object.&lt;br /&gt;
&lt;br /&gt;
Returns an information about working hours and break times for specified service and performer for a period&lt;br /&gt;
between two dates. If only service specified then information about performer (or performers) will be taken from&lt;br /&gt;
service configuration. Method returns a list of objects for each date in specified period. Count of objects in&lt;br /&gt;
list depends on break times. For example if performer works from 9:00 till 19:00 with one hour break at 13:00 method&lt;br /&gt;
returns:&amp;lt;pre&amp;gt;&lt;br /&gt;
  {&#039;2014-05-14&#039; : [&lt;br /&gt;
    {&#039;from&#039;: &#039;09:00:00&#039;, &#039;to&#039;: &#039;13:00:00&#039;},&lt;br /&gt;
    {&#039;from&#039;: &#039;14:00:00&#039;, &#039;to&#039;: &#039;19:00:00&#039;}&lt;br /&gt;
  ] }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning! Method can return a time string &#039;24:00:00&#039; as right edge of time range. This happens in case if time&lt;br /&gt;
range finishes on midnight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkDaysTimes ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkDaysTimes($startDateTime, $endDateTime, $type = &#039;unit_group&#039;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$startDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$endDateTime&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; string. Optional. Either &#039;unit_group&#039; or &#039;event&#039;.&lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return busy time by unit id by Calendar Sync Custom Feature if enabled. Please note that this method may return not actual data because data synchronization between server and Google/Outlook Calendar may take some time and synchronized data are cached for 15 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getWorkload ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getWorkload($dateStart, $dateEnd, $unitGroupId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$dateStart&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$dateEnd&#039;&#039;&#039; string &lt;br /&gt;
* &#039;&#039;&#039;$unitGroupId&#039;&#039;&#039; integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Return workload data for units in period of time. Workload for each unit represented as array with work hours&lt;br /&gt;
at index 0, confirmed booking hours as load at index 1 and cancelled bookings hours at index 2.Example:&lt;br /&gt;
  [&#039;2015-10-21&#039; : {&lt;br /&gt;
     5 : [&lt;br /&gt;
       10, // working hours&lt;br /&gt;
       10, // load hours (confirmed bookings hours)&lt;br /&gt;
       0   // cancelled bookings hours&lt;br /&gt;
  ] }]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== isPluginActivated ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;isPluginActivated($pluginName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$pluginName&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Return Custom Feature status true if status active, else false. &amp;lt;var&amp;gt;$pluginName&amp;lt;/var&amp;gt; parameter is a Custom Feature identifier.See [[Custom_Features|Custom Features]] page for full Custom Features description. See [[Company_administration_service_methods#Custom_Features.27_identifiers|list of available plugin&#039;s names]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingApprove ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingApprove($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;approved&#039; if [[Custom_Features#Approve_Bookings|Approve booking]] Custom Feature enabled and returns&lt;br /&gt;
list of approved booking IDs. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveBookingCancel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveBookingCancel($id)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets approve booking status to &#039;canceled&#039; if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled and returns&lt;br /&gt;
true. Returns false if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookings()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns array.&lt;br /&gt;
&lt;br /&gt;
Returns list of objects with information about bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]]&lt;br /&gt;
Custom Feature enabled. Returns empty list if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt;&lt;br /&gt;
API method call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pluginApproveGetPendingBookingsCount ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pluginApproveGetPendingBookingsCount()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No arguments.&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Returns count of bookings pending approval if [[Custom_Features#Approve_Bookings|Approve bookings]] Custom Feature enabled. Returns&lt;br /&gt;
0 if Custom Feature not enabled. Use &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated(&#039;approve_booking&#039;)]]&amp;lt;/code&amp;gt; API method&lt;br /&gt;
call to check if Custom Feature enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setBookingComment ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setBookingComment($id, $comment)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$comment&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns Integer.&lt;br /&gt;
&lt;br /&gt;
Set booking comment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== getBookingStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;getBookingStatus ($bookingId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Array.&lt;br /&gt;
&lt;br /&gt;
Returns an object of status of given booking (if status plugin is enabled)&lt;br /&gt;
default status will be returned if bookingId does not exists&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setStatus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setStatus($bookingId, $statusId)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$bookingId&#039;&#039;&#039; Integer &lt;br /&gt;
* &#039;&#039;&#039;$statusId&#039;&#039;&#039; Integer &lt;br /&gt;
&lt;br /&gt;
Returns Boolean.&lt;br /&gt;
&lt;br /&gt;
Sets specified status for booking. Returns an error with code -32020 if logged in user don&#039;t have access to edit&lt;br /&gt;
bookings. This method does nothing if [[Custom_Features#Status|Status Custom feature]] not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== updateNotification ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;updateNotification($type)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$type&#039;&#039;&#039; String &lt;br /&gt;
&lt;br /&gt;
Returns .&lt;br /&gt;
&lt;br /&gt;
Mark notifications as readed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setWorkDayInfo===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;setWorkDayInfo($info)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$info&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Set work day schedule for company|service|provider for week_day|date&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;start_time&amp;quot;:&amp;quot;10:00&amp;quot;,&lt;br /&gt;
&amp;quot;end_time&amp;quot;:&amp;quot;18:00&amp;quot;,&lt;br /&gt;
&amp;quot;is_day_off&amp;quot;:0,&lt;br /&gt;
&amp;quot;breaktime&amp;quot;:[{&amp;quot;start_time&amp;quot;:&amp;quot;14:00&amp;quot;,&amp;quot;end_time&amp;quot;:&amp;quot;15:00&amp;quot;}],&lt;br /&gt;
&amp;quot;index&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
&amp;quot;name&amp;quot;:&amp;quot;Monday&amp;quot;,&lt;br /&gt;
&amp;quot;date&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
&amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
index is 1-7 for Monday - Sunday (used for weekly settings)&lt;br /&gt;
date is used to set worktime for special date&lt;br /&gt;
unit_group_id is provider id&lt;br /&gt;
event_id is service id&lt;br /&gt;
if unit_group_id and event_id not passed then it set data for company&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== deleteSpecialDay===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;deleteSpecialDay($date, $params = null)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$date&#039;&#039;&#039; String&lt;br /&gt;
* &#039;&#039;&#039;$params&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns true on success&lt;br /&gt;
&lt;br /&gt;
Delete special date if set&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;2017-08-21&#039;, &lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;unit_group_id&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;:&amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;addServiceProvider($data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Create new service provider&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== editServiceProvider===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;editServiceProvider($id, $data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;$id&#039;&#039;&#039; Integer&lt;br /&gt;
* &#039;&#039;&#039;$data&#039;&#039;&#039; Array&lt;br /&gt;
&lt;br /&gt;
Returns Array with result and id of new service provider (unit_group)&lt;br /&gt;
&lt;br /&gt;
Edit service provider&lt;br /&gt;
(there is no way to delete provider via API, in this case set is_active = 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1, &lt;br /&gt;
{&lt;br /&gt;
&amp;quot;name&amp;quot; : &amp;quot;newtagg1 - 4&amp;quot;,&lt;br /&gt;
&amp;quot;description&amp;quot; : &amp;quot;Description - 1&amp;quot;,&lt;br /&gt;
&amp;quot;phone&amp;quot; : &amp;quot;1234567890&amp;quot;,&lt;br /&gt;
&amp;quot;email&amp;quot; : &amp;quot;test@test.com&amp;quot;,&lt;br /&gt;
&amp;quot;qty&amp;quot; : &amp;quot;2&amp;quot;,&lt;br /&gt;
&amp;quot;is_visible&amp;quot; : 1,&lt;br /&gt;
&amp;quot;is_active&amp;quot; : 1,&lt;br /&gt;
&amp;quot;position&amp;quot; : 2,&lt;br /&gt;
&amp;quot;seo_url&amp;quot; : null,&lt;br /&gt;
&amp;quot;position_in_location&amp;quot; : null,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&lt;br /&gt;
=== Error codes ===&lt;br /&gt;
&lt;br /&gt;
See [[Errors handling]] for details.&lt;br /&gt;
&lt;br /&gt;
* -32001 Custom Feature is not activated&lt;br /&gt;
* -32010 Some required params are missed&lt;br /&gt;
* -32011 Params is not array&lt;br /&gt;
* -32012 Sheduler id not found&lt;br /&gt;
* -32015 Passed event id is not reccuren&lt;br /&gt;
* -32020 Sorry, you have no permissions to perform this action&lt;br /&gt;
* -32030 Invalid promotion code&lt;br /&gt;
* -32031 Promotion has expired&lt;br /&gt;
* -32032 Promotion is not active yet&lt;br /&gt;
* -32033 This promocode is not valid for selected service&lt;br /&gt;
* -32034 Exceed max usage limit&lt;br /&gt;
* -32035 Exceed max usage per customer limit&#039;const&lt;br /&gt;
* -32036 This promocode is not available for datetime range&lt;br /&gt;
* -32051 Selected event id is not available&lt;br /&gt;
* -32052 Selected unit id is not available&lt;br /&gt;
* -32053 Selected date start is not available&lt;br /&gt;
* -32054 Selected time start is not available&lt;br /&gt;
* -32055 One or more appointments couldn&#039;t be reserved&lt;br /&gt;
* -32056 Booking is not allowed at this time&lt;br /&gt;
* -32061 Client name value is wrong&lt;br /&gt;
* -32062 Client email value is wrong&lt;br /&gt;
* -32063 Client phone value is wrong&lt;br /&gt;
* -32070 Intake form values are wrong&lt;br /&gt;
* -32080 Appointemnt couldn&#039;t be found&lt;br /&gt;
* -32081 Service can&#039;t be performed when company does not work&lt;br /&gt;
* -32082 Service performer can&#039;t work when company does not work&lt;br /&gt;
* -32085 Signature error&lt;br /&gt;
* -32090 Confirmation with this key type is not available&lt;br /&gt;
* -32095 Batch not found&lt;br /&gt;
* -32097 Unsupported payment system&lt;br /&gt;
* -32099 Payment failed&lt;br /&gt;
* -32600 &lt;br /&gt;
*: An error with this code can be thrown with one of the following messages:&lt;br /&gt;
** Access denied&lt;br /&gt;
** Company does not exists&lt;br /&gt;
* -32601 Method not found&lt;br /&gt;
* -32602 Invalid params&lt;br /&gt;
* -32603 Internal error&lt;br /&gt;
* -3264 Client with given id not found&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Company params===&lt;br /&gt;
&lt;br /&gt;
Use these values to get configuration params for company with &amp;lt;code&amp;gt;[[#getCompanyParam|getCompanyParam]]&amp;lt;/code&amp;gt; API method.&lt;br /&gt;
&lt;br /&gt;
=====General params=====&lt;br /&gt;
&lt;br /&gt;
Administration API inherits all [[Company public service methods#Company_params|keys]] allowed for public API and extends this list with keys:&lt;br /&gt;
&lt;br /&gt;
* attach_ical&lt;br /&gt;
* auto_redirect&lt;br /&gt;
* auto_redirect_text&lt;br /&gt;
* blockchain_address&lt;br /&gt;
* blockchain_secret&lt;br /&gt;
* borgun_merchant_id&lt;br /&gt;
* borgun_payment_gateway_id&lt;br /&gt;
* borgun_secret_code&lt;br /&gt;
* client_batch_cancel_template&lt;br /&gt;
* client_batch_cancel_template_email&lt;br /&gt;
* client_batch_cancel_template_email_subject&lt;br /&gt;
* client_event_cancel_template&lt;br /&gt;
* client_event_cancel_template_email&lt;br /&gt;
* client_event_cancel_template_email_subject&lt;br /&gt;
* client_event_change_template&lt;br /&gt;
* client_event_change_template_email&lt;br /&gt;
* client_event_change_template_email_subject&lt;br /&gt;
* client_event_creation_template&lt;br /&gt;
* client_event_creation_template_email&lt;br /&gt;
* client_event_creation_template_email_subject&lt;br /&gt;
* client_event_group_creation_template&lt;br /&gt;
* client_event_group_creation_template_email&lt;br /&gt;
* client_event_group_creation_template_email_subject&lt;br /&gt;
* client_event_multiple_creation_template&lt;br /&gt;
* client_event_multiple_creation_template_email&lt;br /&gt;
* client_event_multiple_creation_template_email_subject&lt;br /&gt;
* client_group_notification_template&lt;br /&gt;
* client_group_notification_template_email&lt;br /&gt;
* client_group_notification_template_email_subject&lt;br /&gt;
* client_multiple_notification_template&lt;br /&gt;
* client_multiple_notification_template_email&lt;br /&gt;
* client_multiple_notification_template_email_subject&lt;br /&gt;
* client_notification_template&lt;br /&gt;
* client_notification_template_email&lt;br /&gt;
* client_notification_template_email_subject&lt;br /&gt;
* client_notification_time&lt;br /&gt;
* client_recurring_event_creation_template&lt;br /&gt;
* client_recurring_event_creation_template_email&lt;br /&gt;
* client_recurring_event_creation_template_email_subject&lt;br /&gt;
* common_limit_booking&lt;br /&gt;
* company_ga_tracking_id&lt;br /&gt;
* default_phone&lt;br /&gt;
* disconnect_on_timeout&lt;br /&gt;
* email_event_list&lt;br /&gt;
* email_events_list_template&lt;br /&gt;
* email_group_events_list_template&lt;br /&gt;
* event_list_style&lt;br /&gt;
* feed_back_interval&lt;br /&gt;
* feedback_invite_template_email&lt;br /&gt;
* feedback_invite_template_email_subject&lt;br /&gt;
* google_conversion_color&lt;br /&gt;
* google_conversion_currency&lt;br /&gt;
* google_conversion_format&lt;br /&gt;
* google_conversion_id&lt;br /&gt;
* google_conversion_label&lt;br /&gt;
* google_conversion_language&lt;br /&gt;
* google_conversion_value&lt;br /&gt;
* hide_working_hours_block&lt;br /&gt;
* include_cancel_link&lt;br /&gt;
* kortais_merchant&lt;br /&gt;
* kortais_secret_code&lt;br /&gt;
* kortais_terminal&lt;br /&gt;
* layout_background&lt;br /&gt;
* layout_background_repeat&lt;br /&gt;
* mobile_site_link&lt;br /&gt;
* mobile_site_link_title&lt;br /&gt;
* no_show_period&lt;br /&gt;
* on_success_button_link&lt;br /&gt;
* on_success_button_text&lt;br /&gt;
* recap_interval&lt;br /&gt;
* recap_send_after_time&lt;br /&gt;
* recap_send_canceled_bookings&lt;br /&gt;
* recap_send_new_bookings&lt;br /&gt;
* recap_send_upcomming_bookings&lt;br /&gt;
* send_cancel_to_client&lt;br /&gt;
* send_cancel_to_client_email&lt;br /&gt;
* send_cancel_to_unit&lt;br /&gt;
* send_cancel_to_unit_email&lt;br /&gt;
* send_contact_widget_email_notification&lt;br /&gt;
* send_contact_widget_sms_notification&lt;br /&gt;
* send_notify_to_client&lt;br /&gt;
* send_notify_to_client_email&lt;br /&gt;
* send_notify_to_unit&lt;br /&gt;
* send_notify_to_unit_email&lt;br /&gt;
* send_onchange_to_client&lt;br /&gt;
* send_onchange_to_client_email&lt;br /&gt;
* send_onchange_to_unit&lt;br /&gt;
* send_onchange_to_unit_email&lt;br /&gt;
* send_oncreate_to_client&lt;br /&gt;
* send_oncreate_to_client_email&lt;br /&gt;
* send_oncreate_to_unit&lt;br /&gt;
* send_oncreate_to_unit_email&lt;br /&gt;
* send_sms_if_push_enabled&lt;br /&gt;
* site_link&lt;br /&gt;
* site_link_title&lt;br /&gt;
* skip_limits_for_admin&lt;br /&gt;
* skip_show_mobile_app_ads&lt;br /&gt;
* skip_show_on_success_button&lt;br /&gt;
* sms_event_list&lt;br /&gt;
* sms_events_list_template&lt;br /&gt;
* sms_group_events_list_template&lt;br /&gt;
* unit_batch_cancel_template&lt;br /&gt;
* unit_batch_cancel_template_email&lt;br /&gt;
* unit_batch_cancel_template_email_subject&lt;br /&gt;
* unit_event_cancel_template&lt;br /&gt;
* unit_event_cancel_template_email&lt;br /&gt;
* unit_event_cancel_template_email_subject&lt;br /&gt;
* unit_event_change_template&lt;br /&gt;
* unit_event_change_template_email&lt;br /&gt;
* unit_event_change_template_email_subject&lt;br /&gt;
* unit_event_creation_template&lt;br /&gt;
* unit_event_creation_template_email&lt;br /&gt;
* unit_event_creation_template_email_subject&lt;br /&gt;
* unit_event_group_creation_template&lt;br /&gt;
* unit_event_group_creation_template_email&lt;br /&gt;
* unit_event_group_creation_template_email_subject&lt;br /&gt;
* unit_group_notification_template&lt;br /&gt;
* unit_group_notification_template_email&lt;br /&gt;
* unit_group_notification_template_email_subject&lt;br /&gt;
* unit_notification_template&lt;br /&gt;
* unit_notification_template_email&lt;br /&gt;
* unit_notification_template_email_subject&lt;br /&gt;
* unit_notification_time&lt;br /&gt;
* unit_recurring_event_creation_template&lt;br /&gt;
* unit_recurring_event_creation_template_email&lt;br /&gt;
* unit_recurring_event_creation_template_email_subject&lt;br /&gt;
* use_common_client_db&lt;br /&gt;
* user_confirmation&lt;br /&gt;
* user_public_layout&lt;br /&gt;
* user_public_theme&lt;br /&gt;
* waiting_video&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Accept payments Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Accept_Payments|Accept Payments Custom Feature configuration]].&lt;br /&gt;
&lt;br /&gt;
* allow_delay_payment&lt;br /&gt;
*: Allow delay payment option. Boolean.&lt;br /&gt;
* company_currency&lt;br /&gt;
*:&lt;br /&gt;
* hide_sale_tax&lt;br /&gt;
*: Hide sales tax option. Boolean.&lt;br /&gt;
* payment_timeout&lt;br /&gt;
*: Payment timeout option. String (&amp;quot;5 minutes&amp;quot;, &amp;quot;1 hour&amp;quot;, ...)&lt;br /&gt;
* sale_tax&lt;br /&gt;
*: Sales tax option. Integer. You should divide by 100 to get percent value.&lt;br /&gt;
* paypal_account&lt;br /&gt;
*: PayPal payment processor configuration. String.&lt;br /&gt;
* skrill_account&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* skrill_secret&lt;br /&gt;
*: Skrill payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_id&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* zooz_app_key&lt;br /&gt;
*: ZooZ payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_application_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_id&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* dwolla_secret_key&lt;br /&gt;
*: Dwolla payment processor configuration parameter. String.&lt;br /&gt;
* liqpay_merchant_id&lt;br /&gt;
* liqpay_merchant_pass&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Term &amp;amp; Conditions Custom Feature params=====&lt;br /&gt;
&lt;br /&gt;
Read more about [[Custom_Features#Terms_and_Conditions|Terms and Conditions Custom Feature]].&lt;br /&gt;
&lt;br /&gt;
* user_license_text&lt;br /&gt;
*: Terms and conditions text. String.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Custom Features&#039; identifiers===&lt;br /&gt;
&lt;br /&gt;
Custom Feature identifier is a string constant which represents a Custom Feature in system. These constants used in &amp;lt;code&amp;gt;[[#isPluginActivated|isPluginActivated]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[#getPluginStatuses|getPluginStatuses]]&amp;lt;/code&amp;gt; API methods.&lt;br /&gt;
&lt;br /&gt;
* advanced_notification&lt;br /&gt;
*:Book Soon notification system&lt;br /&gt;
* any_unit&lt;br /&gt;
*:Any Employee selector&lt;br /&gt;
* api&lt;br /&gt;
*:API&lt;br /&gt;
* approve_booking&lt;br /&gt;
*:Approve booking&lt;br /&gt;
* back_to_site&lt;br /&gt;
*:Take me back home&lt;br /&gt;
* contact_widget&lt;br /&gt;
*:Contact widget&lt;br /&gt;
* counter&lt;br /&gt;
*:Visitor Counter&lt;br /&gt;
* custom_css&lt;br /&gt;
*:Custom CSS&lt;br /&gt;
* data_security&lt;br /&gt;
*:Clean history&lt;br /&gt;
* description&lt;br /&gt;
*:HTML description field for events&lt;br /&gt;
* event_category&lt;br /&gt;
*:Service categories&lt;br /&gt;
* event_field&lt;br /&gt;
*:Intake forms&lt;br /&gt;
* facebookImage&lt;br /&gt;
*:Facebook client info&lt;br /&gt;
* financial_dashboard&lt;br /&gt;
*:Insights&lt;br /&gt;
* google_analytics&lt;br /&gt;
*:Google Adwords and analytics&lt;br /&gt;
* google_calendar_export&lt;br /&gt;
*:Calendar sync&lt;br /&gt;
* group_booking&lt;br /&gt;
*:Group bookings&lt;br /&gt;
* hipaa&lt;br /&gt;
*:HIPAA&lt;br /&gt;
* limit_bookings&lt;br /&gt;
*:Limit bookings&lt;br /&gt;
* location&lt;br /&gt;
*:Multiple locations&lt;br /&gt;
* mobile_app_backend&lt;br /&gt;
*:Mobile application&lt;br /&gt;
* multiple_booking&lt;br /&gt;
*:Multiple bookings&lt;br /&gt;
* news&lt;br /&gt;
*:News&lt;br /&gt;
* paid_events&lt;br /&gt;
*:Accept payments&lt;br /&gt;
&amp;lt;!--* promo&lt;br /&gt;
*:Rewards and Referrals--&amp;gt;&lt;br /&gt;
* recap&lt;br /&gt;
*:Daily report&lt;br /&gt;
* secure&lt;br /&gt;
*:SSL&lt;br /&gt;
* status&lt;br /&gt;
*:Status&lt;br /&gt;
* unit_colors&lt;br /&gt;
*:Providers color coding&lt;br /&gt;
* user_license&lt;br /&gt;
*:Terms and conditions&lt;br /&gt;
* cancelation_policy&lt;br /&gt;
*:Cancellation Policy&lt;br /&gt;
&lt;br /&gt;
See [[Custom_Features|Custom Features]] page for description for each Custom Feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
====getBookingDetails response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getBookingDetails|getBookingDetails]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
    &amp;quot;event_id&amp;quot;: &amp;quot;5&amp;quot;,&lt;br /&gt;
    &amp;quot;event_name&amp;quot;: &amp;quot;Massage&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
    &amp;quot;unit_name&amp;quot;: &amp;quot;John&amp;quot;,&lt;br /&gt;
    &amp;quot;client_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;client_name&amp;quot;: &amp;quot;Bob&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date_time&amp;quot;: &amp;quot;2015-11-25 15:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;end_date_time&amp;quot;: &amp;quot;2015-11-25 16:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;is_confirmed&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;h8v8w5ls&amp;quot;,&lt;br /&gt;
    &amp;quot;record_date&amp;quot;: &amp;quot;2015-11-19 04:06:38&amp;quot;,&lt;br /&gt;
    &amp;quot;comment&amp;quot;: null,&lt;br /&gt;
    &amp;quot;company_login&amp;quot;: &amp;quot;testzt&amp;quot;,&lt;br /&gt;
    &amp;quot;company_name&amp;quot;: &amp;quot;My Cool Company&amp;quot;,&lt;br /&gt;
    &amp;quot;company_phone&amp;quot;: &amp;quot;+1-555-55-55&amp;quot;,&lt;br /&gt;
    &amp;quot;company_email&amp;quot;: &amp;quot;into@mycoolcompany.com&amp;quot;,&lt;br /&gt;
    &amp;quot;additional_fields&amp;quot;: [{&lt;br /&gt;
      &amp;quot;value&amp;quot;: &amp;quot;on&amp;quot;,&lt;br /&gt;
      &amp;quot;field_name&amp;quot;: &amp;quot;201a89517de509f6b3a60858918faac3&amp;quot;,&lt;br /&gt;
      &amp;quot;field_title&amp;quot;: &amp;quot;Include washing&amp;quot;,&lt;br /&gt;
      &amp;quot;field_position&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
      &amp;quot;field_type&amp;quot;: &amp;quot;checkbox&amp;quot;,&lt;br /&gt;
      &amp;quot;field_id&amp;quot;: &amp;quot;4&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;comments&amp;quot;: [],&lt;br /&gt;
    &amp;quot;history&amp;quot;: [{&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;536&amp;quot;,&lt;br /&gt;
      &amp;quot;sheduler_id&amp;quot;: &amp;quot;321&amp;quot;,&lt;br /&gt;
      &amp;quot;datetime&amp;quot;: &amp;quot;2015-11-19 11:06:38&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;create&amp;quot;,&lt;br /&gt;
      &amp;quot;user_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;agent&amp;quot;: &amp;quot;SimplyBook.me\/55 CFNetwork\/758.0.2 Darwin\/15.0.0&amp;quot;,&lt;br /&gt;
      &amp;quot;ip&amp;quot;: &amp;quot;213.174.0.53, 158.69.224.50:127.0.0.1&amp;quot;,&lt;br /&gt;
      &amp;quot;referer&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;login&amp;quot;: &amp;quot;admin&amp;quot;,&lt;br /&gt;
      &amp;quot;firstname&amp;quot;: &amp;quot;Mikhail&amp;quot;,&lt;br /&gt;
      &amp;quot;lastname&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    }],&lt;br /&gt;
    &amp;quot;status&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Fancy Status&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;color&amp;quot;: &amp;quot;4cbadb&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;location&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;title&amp;quot;: &amp;quot;location&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: null,&lt;br /&gt;
      &amp;quot;picture&amp;quot;: &amp;quot;e1e9409fe9682c78b2f8f294dc151af0.jpg&amp;quot;,&lt;br /&gt;
      &amp;quot;address1&amp;quot;: null,&lt;br /&gt;
      &amp;quot;address2&amp;quot;: &amp;quot;Saint Margaret Street&amp;quot;,&lt;br /&gt;
      &amp;quot;city&amp;quot;: &amp;quot;\u041b\u043e\u043d\u0434\u043e\u043d&amp;quot;,&lt;br /&gt;
      &amp;quot;zip&amp;quot;: null,&lt;br /&gt;
      &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
      &amp;quot;lat&amp;quot;: &amp;quot;51.50013000000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;lng&amp;quot;: &amp;quot;-0.12630500000000000000&amp;quot;,&lt;br /&gt;
      &amp;quot;phone&amp;quot;: &amp;quot;44&amp;quot;,&lt;br /&gt;
      &amp;quot;position&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;is_default&amp;quot;: &amp;quot;1&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;price&amp;quot;: [],&lt;br /&gt;
    &amp;quot;promo&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location field is present in response only if [[Custom_Features#Multiple_Locations|Multiple locations Custom Feature]] is enabled. Otherwise this field will be an empty array. If locations Custom Feature is enabled but booking doesn&#039;t have any locations this fields also will be an empty array.&lt;br /&gt;
&lt;br /&gt;
Status field is present in response only if [[Custom_Features#Status|Status Custom Feature]] is enabled. Otherwise this field will be an empty array. If Custom Feature enabled but booking doesn&#039;t have any statues specified the default status returned.&lt;br /&gt;
&lt;br /&gt;
Price field is present in response only if [[Custom_Features#Accept_Payments|Accept payments Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a free service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Promo field is present in response only if [[Rewards_and_Referrals_custom_feature|Rewards and Referrals Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains false if Custom Feature is enabled but booking was created without any promo codes.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;additional_fields&amp;lt;/code&amp;gt; field is present in response only if [[Custom_Features#Intake_Forms|Intake Forms Custom Feature]] is enabled. Otherwise this field will be an empty array. This field contains an empty array if Custom Feature is enabled but booking was created for a service with no intake forms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====book response====&lt;br /&gt;
&lt;br /&gt;
[[#book|&amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt;]] API method returns an object which contains list of objects with short description of newly create bookings. Method returns only one item in &#039;bookings&#039; array for regular appointment and more than one item for recurring or batch bookings.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;require_confirm&amp;quot;:false,&lt;br /&gt;
    &amp;quot;bookings&amp;quot;:[&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;434&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-30 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-30 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc14ca&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;785cb8cce316e64765b94c05a635f4be&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;435&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2015-12-31 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2015-12-31 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc2pge&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;8b92d634541bfd93c0830967e56f4653&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;436&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-04 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-04 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc3urb&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;cd22a0bf183f7350e595988dd2486e5b&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;id&amp;quot;:&amp;quot;437&amp;quot;,&lt;br /&gt;
        &amp;quot;event_id&amp;quot;:&amp;quot;7&amp;quot;,&lt;br /&gt;
        &amp;quot;unit_id&amp;quot;:&amp;quot;3&amp;quot;,&lt;br /&gt;
        &amp;quot;client_id&amp;quot;:&amp;quot;34&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date_time&amp;quot;:&amp;quot;2016-01-05 13:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date_time&amp;quot;:&amp;quot;2016-01-05 13:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;is_confirmed&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;code&amp;quot;:&amp;quot;h8vc44d9&amp;quot;,&lt;br /&gt;
        &amp;quot;hash&amp;quot;:&amp;quot;53f98ff4e4a0323aa907156c59c99362&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;batch_type&amp;quot;:&amp;quot;batch_recurrent_booking&amp;quot;,&lt;br /&gt;
    &amp;quot;recurrent_batch_id&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;batch_hash&amp;quot;:&amp;quot;357178bce290381bb7235080941ec143&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====getCompanyInfo response====&lt;br /&gt;
&lt;br /&gt;
An example of data returned by [[#getCompanyInfo|getCompanyInfo]] API method.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;login&amp;quot;: &amp;quot;pierrecoetzee&amp;quot;,&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;Pierre&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;address1&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;address2&amp;quot;: &amp;quot;Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;city&amp;quot;: &amp;quot;London&amp;quot;,&lt;br /&gt;
    &amp;quot;country_id&amp;quot;: &amp;quot;GB&amp;quot;,&lt;br /&gt;
    &amp;quot;lat&amp;quot;: &amp;quot;51.500435&amp;quot;,&lt;br /&gt;
    &amp;quot;lng&amp;quot;: &amp;quot;-0.129811&amp;quot;,&lt;br /&gt;
    &amp;quot;email&amp;quot;: &amp;quot;pierre.coe@gmail.com&amp;quot;,&lt;br /&gt;
    &amp;quot;phone&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;web&amp;quot;: null,&lt;br /&gt;
    &amp;quot;skip_address&amp;quot;: null,&lt;br /&gt;
    &amp;quot;logo&amp;quot;: null,&lt;br /&gt;
    &amp;quot;address&amp;quot;: &amp;quot;GB, London, Storey&#039;s Gate, &amp;quot;,&lt;br /&gt;
    &amp;quot;description_text&amp;quot;: &amp;quot;Write a description about your company or about you as a service provider. You can add other service providers inside the system and each can have his own description.&amp;quot;,&lt;br /&gt;
    &amp;quot;timezone&amp;quot;: &amp;quot;Europe London&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_client_timezone&amp;quot;: false,&lt;br /&gt;
    &amp;quot;timeframe&amp;quot;: &amp;quot;60&amp;quot;,&lt;br /&gt;
    &amp;quot;timeline_type&amp;quot;: &amp;quot;modern_week&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_day_break&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_event_breaktime_break&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;timeline_type&amp;lt;/code&amp;gt; field can be one the following values:&lt;br /&gt;
&lt;br /&gt;
* flexible&lt;br /&gt;
* modern&lt;br /&gt;
* flexible_week&lt;br /&gt;
* modern_week&lt;br /&gt;
* classic&lt;br /&gt;
* classes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Please note that &amp;lt;code&amp;gt;classic&amp;lt;/code&amp;gt; timeline type is deprecated and not supported anymore.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;description&amp;lt;/code&amp;gt; field contains raw data of company&#039;s description which can include HTML tags. &amp;lt;code&amp;gt;description_text&amp;lt;/code&amp;gt; field contains only text information without HTML tags.&lt;br /&gt;
&lt;br /&gt;
For information about &amp;lt;code&amp;gt; timeframe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timezone&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;allow_event_day_break&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;allow_event_breaktime_break&amp;lt;/code&amp;gt; see [[#Company params|Company params section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--====getPluginPromoInfoByCode response====&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;code&amp;quot;: &amp;quot;yvuvugum&amp;quot;,&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;We are offering [service\/services] with an amazing [discount]% discount! We are running this deal for a limited time only.&amp;quot;,&lt;br /&gt;
    &amp;quot;discount&amp;quot;: &amp;quot;99.9999&amp;quot;,&lt;br /&gt;
    &amp;quot;start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;expired_date&amp;quot;: &amp;quot;2016-01-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_date&amp;quot;: &amp;quot;2015-12-23&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_date&amp;quot;: &amp;quot;2015-12-31&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_start_time&amp;quot;: &amp;quot;09:00:00&amp;quot;,&lt;br /&gt;
    &amp;quot;sheduler_end_time&amp;quot;: &amp;quot;22:30:00&amp;quot;,&lt;br /&gt;
    &amp;quot;allow_usage_count&amp;quot;: &amp;quot;20&amp;quot;,&lt;br /&gt;
    &amp;quot;fineprint_text&amp;quot;: &amp;quot;Deal is limited for new clients only. Reward is claimable [client_claim_times_number] times per client. Deal is only claimable for the locations specified. Deal is cannot be combined with any other promotion. Must be redeemed prior to the expiration date shown on the deal.&amp;quot;,&lt;br /&gt;
    &amp;quot;redemption_text&amp;quot;: &amp;quot;Present your confirmation code when you want to redeem your deal. You may either to print off your confirmation email or show your confirmation code by loggin into Simplybook on your mobile phone\/Pc.\r\n[promocode]\r\n[discount]\r\n[reward]\r\n[referal_qty]&amp;quot;,&lt;br /&gt;
    &amp;quot;headline&amp;quot;: &amp;quot;[service\/services] with [discount]% discount!&amp;quot;,&lt;br /&gt;
    &amp;quot;image&amp;quot;: null,&lt;br /&gt;
    &amp;quot;allow_customer_count&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;show_in_catalogue&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;status&amp;quot;: &amp;quot;active&amp;quot;,&lt;br /&gt;
    &amp;quot;plugin_promo_message_id&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
    &amp;quot;common_promotion_id&amp;quot;: &amp;quot;132&amp;quot;,&lt;br /&gt;
    &amp;quot;service_ids&amp;quot;: [&amp;quot;1&amp;quot;]&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service_ids&amp;lt;/code&amp;gt; contains a list of services for wich promotion discount can be applied.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tania</name></author>
	</entry>
</feed>