Version Description
Download this release
Release Info
Developer | Ladela |
Plugin | WordPress Online Booking and Scheduling Plugin – Bookly |
Version | 18.4 |
Comparing to | |
See all releases |
Code changes from version 18.3 to 18.4
- backend/Backend.php +2 -0
- backend/components/controls/Container.php +2 -2
- backend/components/controls/Inputs.php +7 -2
- backend/components/dialogs/appointment/edit/Dialog.php +3 -2
- backend/components/dialogs/appointment/edit/templates/edit.php +1 -1
- backend/components/dialogs/customer/edit/Dialog.php +4 -2
- backend/components/dialogs/customer/edit/templates/edit.php +2 -1
- backend/components/dialogs/notifications/Dialog.php +3 -3
- backend/components/dialogs/queue/Dialog.php +3 -3
- backend/components/dialogs/recharge/Ajax.php +77 -0
- backend/components/dialogs/recharge/Amounts.php +75 -0
- backend/components/dialogs/recharge/Dialog.php +53 -0
- backend/components/dialogs/recharge/amounts/auto/Ajax.php +24 -0
- backend/components/dialogs/recharge/amounts/auto/Button.php +53 -0
- backend/components/dialogs/recharge/amounts/auto/resources/js/recharge-auto.js +106 -0
- backend/components/dialogs/recharge/amounts/auto/templates/modal.php +23 -0
- backend/components/dialogs/recharge/amounts/auto/templates/recharges.php +19 -0
- backend/components/dialogs/recharge/amounts/auto/templates/selector.php +47 -0
- backend/components/dialogs/recharge/amounts/manual/Button.php +31 -0
- backend/components/dialogs/recharge/amounts/manual/templates/_best_offer.php +39 -0
- backend/components/dialogs/recharge/amounts/manual/templates/_button.php +20 -0
- backend/components/dialogs/recharge/amounts/manual/templates/balance.php +26 -0
- backend/components/dialogs/recharge/amounts/manual/templates/recharges.php +22 -0
- backend/components/dialogs/recharge/resources/js/recharge-dialog.js +202 -0
- backend/components/dialogs/recharge/templates/_accepted.php +31 -0
- backend/components/dialogs/recharge/templates/_amounts.php +14 -0
- backend/components/dialogs/recharge/templates/_cancelled.php +34 -0
- backend/components/dialogs/recharge/templates/_payment.php +58 -0
- backend/components/dialogs/recharge/templates/dialog.php +25 -0
- backend/components/dialogs/service/edit/resources/js/service-edit-dialog.js +6 -4
- backend/components/dialogs/sms/Dialog.php +6 -6
- backend/components/dialogs/table_settings/templates/dialog.php +1 -1
- backend/components/info/base/templates/notice.php +0 -23
- backend/components/notices/Nps.php +0 -1
- backend/components/notices/SmsPromotion.php +41 -0
- backend/components/notices/SmsPromotionAjax.php +25 -0
- backend/components/{info → notices}/base/Notice.php +2 -2
- backend/components/{info → notices}/base/images/photo.png +0 -0
- backend/components/notices/base/templates/notice.php +29 -0
- backend/components/{info → notices}/rate/Ajax.php +2 -2
- backend/components/{info → notices}/rate/Notice.php +3 -3
- backend/components/{info → notices}/rate/resources/js/rate.js +0 -0
- backend/components/notices/resources/js/sms-promotion.js +35 -0
- backend/components/notices/resources/js/subscribe.js +7 -6
- backend/components/notices/templates/collect_stats.php +1 -1
- backend/components/notices/templates/powered_by.php +1 -1
- backend/components/notices/templates/sms_promotion.php +45 -0
- backend/components/support/resources/js/support.js +4 -4
- backend/components/support/templates/buttons.php +1 -1
- backend/modules/appointments/resources/js/appointments.js +1 -1
- backend/modules/calendar/Ajax.php +11 -0
- backend/modules/calendar/Page.php +5 -3
- backend/modules/calendar/resources/images/box-small.png +0 -0
- backend/modules/calendar/resources/images/calendar.png +0 -0
- backend/modules/calendar/resources/js/calendar-common.js +3 -0
- backend/modules/calendar/resources/js/calendar.js +37 -1
- backend/modules/calendar/templates/calendar.php +22 -1
- backend/modules/customers/Ajax.php +9 -3
- backend/modules/debug/lib/QueryBuilder.php +1 -0
- backend/modules/debug/lib/Schema.php +7 -1
- backend/modules/notifications/Page.php +1 -1
- backend/modules/services/Ajax.php +37 -0
- backend/modules/services/Page.php +2 -0
- backend/modules/services/forms/Service.php +1 -0
- backend/modules/services/proxy/Shared.php +1 -0
- backend/modules/services/resources/js/services-list.js +21 -1
- backend/modules/services/templates/time.php +1 -1
- backend/modules/settings/resources/js/settings.js +20 -18
- backend/modules/settings/templates/_calendar_codes.php +1 -0
- backend/modules/sms/Ajax.php +118 -66
- backend/modules/sms/Page.php +131 -118
- backend/modules/sms/resources/js/confirm-email.js +70 -0
- backend/modules/sms/resources/js/notifications-list.js +13 -2
- backend/modules/sms/resources/js/setup-country.js +58 -0
- backend/modules/sms/resources/js/sms-common.js +100 -0
- backend/modules/sms/resources/js/sms-registration.js +158 -0
- backend/modules/sms/resources/js/sms.js +241 -348
- backend/modules/sms/templates/_auto_recharge.php +0 -20
- backend/modules/sms/templates/_buttons.php +0 -94
- backend/modules/sms/templates/_confirm_email.php +40 -0
- backend/modules/sms/templates/_invoice.php +0 -70
- backend/modules/sms/templates/_settings.php +138 -0
- backend/modules/sms/templates/_setup_country.php +31 -0
- backend/modules/sms/templates/index.php +55 -197
- backend/modules/sms/templates/index_registration.php +110 -0
- backend/modules/staff/resources/js/staff-list.js +1 -1
- backend/resources/bootstrap/css/bootstrap.min.css +1 -1
- backend/resources/images/buy10.png +0 -0
- backend/resources/images/buy100.png +0 -0
- backend/resources/images/buy25.png +0 -0
- backend/resources/images/buy50.png +0 -0
- backend/resources/images/calendar.png +0 -0
- frontend/components/booking/InfoText.php +7 -5
- frontend/modules/booking/Ajax.php +5 -4
- languages/bookly-ar.mo +0 -0
- languages/bookly-ar.po +4 -4
- languages/bookly-cs_CZ.po +5 -5
- languages/bookly-de_DE.mo +0 -0
- languages/bookly-de_DE.po +377 -168
- languages/bookly-es_ES.mo +0 -0
- languages/bookly-es_ES.po +346 -142
- languages/bookly-fr_FR.mo +0 -0
- languages/bookly-fr_FR.po +349 -144
- languages/bookly-it_IT.po +5 -5
- languages/bookly-ja.mo +0 -0
- languages/bookly-ja.po +3 -3
- languages/bookly-nl_NL.mo +0 -0
- languages/bookly-nl_NL.po +343 -143
- languages/bookly-pt_BR.mo +0 -0
- languages/bookly-pt_BR.po +314 -140
- languages/bookly-pt_PT.mo +0 -0
- languages/bookly-pt_PT.po +1179 -963
backend/Backend.php
CHANGED
@@ -29,6 +29,8 @@ abstract class Backend
|
|
29 |
Components\Notices\CollectStats::render();
|
30 |
// Show Powered by Bookly notice.
|
31 |
Components\Notices\PoweredBy::render();
|
|
|
|
|
32 |
}
|
33 |
// Let add-ons render admin notices.
|
34 |
Lib\Proxy\Shared::renderAdminNotices( $bookly_page );
|
29 |
Components\Notices\CollectStats::render();
|
30 |
// Show Powered by Bookly notice.
|
31 |
Components\Notices\PoweredBy::render();
|
32 |
+
// Show SMS promotion notice.
|
33 |
+
Components\Notices\SmsPromotion::render();
|
34 |
}
|
35 |
// Let add-ons render admin notices.
|
36 |
Lib\Proxy\Shared::renderAdminNotices( $bookly_page );
|
backend/components/controls/Container.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Controls;
|
3 |
|
4 |
-
use Bookly\Lib
|
5 |
|
6 |
/**
|
7 |
* Class Container
|
8 |
* @package Bookly\Backend\Components\Controls
|
9 |
*/
|
10 |
-
class Container extends
|
11 |
{
|
12 |
/**
|
13 |
* Render header for container.
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Controls;
|
3 |
|
4 |
+
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
* Class Container
|
8 |
* @package Bookly\Backend\Components\Controls
|
9 |
*/
|
10 |
+
class Container extends Lib\Base\Component
|
11 |
{
|
12 |
/**
|
13 |
* Render header for container.
|
backend/components/controls/Inputs.php
CHANGED
@@ -111,14 +111,19 @@ class Inputs
|
|
111 |
} else {
|
112 |
$attributes['class'] = 'custom-control-input';
|
113 |
}
|
|
|
|
|
|
|
|
|
|
|
114 |
foreach ( $attributes as $n => $v ) {
|
115 |
if( $v !== null ) {
|
116 |
$attrs_str .= sprintf( ' %s="%s"', $n, esc_attr( $v ) );
|
117 |
}
|
118 |
}
|
119 |
|
120 |
-
printf( '<div class="custom-control custom-%1$s"><input type="%1$s"%2$s><label class="custom-control-label" for="%3$s">%4$s</label></div>',
|
121 |
-
$type, $attrs_str, $attributes['id'], esc_html( $label )
|
122 |
);
|
123 |
}
|
124 |
}
|
111 |
} else {
|
112 |
$attributes['class'] = 'custom-control-input';
|
113 |
}
|
114 |
+
$parent_class = '';
|
115 |
+
if ( array_key_exists( 'parent-class', $attributes ) ) {
|
116 |
+
$parent_class = $attributes['parent-class'];
|
117 |
+
unset( $attributes['parent-class'] );
|
118 |
+
}
|
119 |
foreach ( $attributes as $n => $v ) {
|
120 |
if( $v !== null ) {
|
121 |
$attrs_str .= sprintf( ' %s="%s"', $n, esc_attr( $v ) );
|
122 |
}
|
123 |
}
|
124 |
|
125 |
+
printf( '<div class="custom-control custom-%1$s %5$s"><input type="%1$s"%2$s><label class="custom-control-label" for="%3$s">%4$s</label></div>',
|
126 |
+
$type, $attrs_str, $attributes['id'], esc_html( $label ), $parent_class
|
127 |
);
|
128 |
}
|
129 |
}
|
backend/components/dialogs/appointment/edit/Dialog.php
CHANGED
@@ -11,8 +11,9 @@ class Dialog extends Lib\Base\Component
|
|
11 |
{
|
12 |
/**
|
13 |
* Render create/edit appointment dialog.
|
|
|
14 |
*/
|
15 |
-
public static function render()
|
16 |
{
|
17 |
self::enqueueStyles( array(
|
18 |
'backend' => array( 'css/fontawesome-all.min.css' ),
|
@@ -53,6 +54,6 @@ class Dialog extends Lib\Base\Component
|
|
53 |
|
54 |
Proxy\Shared::enqueueAssets();
|
55 |
|
56 |
-
self::renderTemplate( 'edit' );
|
57 |
}
|
58 |
}
|
11 |
{
|
12 |
/**
|
13 |
* Render create/edit appointment dialog.
|
14 |
+
* @param bool $show_wp_users
|
15 |
*/
|
16 |
+
public static function render( $show_wp_users = true )
|
17 |
{
|
18 |
self::enqueueStyles( array(
|
19 |
'backend' => array( 'css/fontawesome-all.min.css' ),
|
54 |
|
55 |
Proxy\Shared::enqueueAssets();
|
56 |
|
57 |
+
self::renderTemplate( 'edit', compact( 'show_wp_users' ) );
|
58 |
}
|
59 |
}
|
backend/components/dialogs/appointment/edit/templates/edit.php
CHANGED
@@ -264,6 +264,6 @@ use Bookly\Lib\Entities\CustomerAppointment;
|
|
264 |
|
265 |
<?php Dialogs\Appointment\CustomerDetails\Dialog::render() ?>
|
266 |
<?php AttachPaymentProxy\Pro::renderAttachPaymentDialog() ?>
|
267 |
-
<?php Dialogs\Customer\Edit\Dialog::render() ?>
|
268 |
<?php Dialogs\Payment\Dialog::render() ?>
|
269 |
</div>
|
264 |
|
265 |
<?php Dialogs\Appointment\CustomerDetails\Dialog::render() ?>
|
266 |
<?php AttachPaymentProxy\Pro::renderAttachPaymentDialog() ?>
|
267 |
+
<?php Dialogs\Customer\Edit\Dialog::render( $show_wp_users ) ?>
|
268 |
<?php Dialogs\Payment\Dialog::render() ?>
|
269 |
</div>
|
backend/components/dialogs/customer/edit/Dialog.php
CHANGED
@@ -11,8 +11,10 @@ class Dialog extends Lib\Base\Component
|
|
11 |
{
|
12 |
/**
|
13 |
* Render customer dialog.
|
|
|
|
|
14 |
*/
|
15 |
-
public static function render()
|
16 |
{
|
17 |
self::enqueueStyles( array(
|
18 |
'frontend' => get_option( 'bookly_cst_phone_default_country' ) == 'disabled'
|
@@ -53,6 +55,6 @@ class Dialog extends Lib\Base\Component
|
|
53 |
'noResultFound' => __( 'No result found', 'bookly' ),
|
54 |
) );
|
55 |
|
56 |
-
static::renderTemplate( 'edit' );
|
57 |
}
|
58 |
}
|
11 |
{
|
12 |
/**
|
13 |
* Render customer dialog.
|
14 |
+
*
|
15 |
+
* @param bool $show_wp_users
|
16 |
*/
|
17 |
+
public static function render( $show_wp_users = true )
|
18 |
{
|
19 |
self::enqueueStyles( array(
|
20 |
'frontend' => get_option( 'bookly_cst_phone_default_country' ) == 'disabled'
|
55 |
'noResultFound' => __( 'No result found', 'bookly' ),
|
56 |
) );
|
57 |
|
58 |
+
static::renderTemplate( 'edit', compact( 'show_wp_users' ) );
|
59 |
}
|
60 |
}
|
backend/components/dialogs/customer/edit/templates/edit.php
CHANGED
@@ -15,6 +15,7 @@ use Bookly\Lib\Config;
|
|
15 |
<div class="bookly-loading"></div>
|
16 |
</div>
|
17 |
<div class="modal-body" ng-hide="loading">
|
|
|
18 |
<div class="form-group">
|
19 |
<label for="wp_user"><?php esc_html_e( 'User', 'bookly' ) ?></label>
|
20 |
<select ng-model="form.wp_user_id" class="form-control custom-select" id="wp_user" ng-change="changeWpUser()">
|
@@ -26,7 +27,7 @@ use Bookly\Lib\Config;
|
|
26 |
<?php endforeach ?>
|
27 |
</select>
|
28 |
</div>
|
29 |
-
|
30 |
<?php if ( Config::showFirstLastName() ) : ?>
|
31 |
<div class="form-group">
|
32 |
<div class="row">
|
15 |
<div class="bookly-loading"></div>
|
16 |
</div>
|
17 |
<div class="modal-body" ng-hide="loading">
|
18 |
+
<?php if ( $show_wp_users ) : ?>
|
19 |
<div class="form-group">
|
20 |
<label for="wp_user"><?php esc_html_e( 'User', 'bookly' ) ?></label>
|
21 |
<select ng-model="form.wp_user_id" class="form-control custom-select" id="wp_user" ng-change="changeWpUser()">
|
27 |
<?php endforeach ?>
|
28 |
</select>
|
29 |
</div>
|
30 |
+
<?php endif ?>
|
31 |
<?php if ( Config::showFirstLastName() ) : ?>
|
32 |
<div class="form-group">
|
33 |
<div class="row">
|
backend/components/dialogs/notifications/Dialog.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Dialogs\Notifications;
|
3 |
|
4 |
-
use Bookly\Lib
|
5 |
use Bookly\Backend\Components\Dialogs\Sms\Dialog as SmsDialog;
|
6 |
|
7 |
/**
|
@@ -30,8 +30,8 @@ class Dialog extends SmsDialog
|
|
30 |
) );
|
31 |
|
32 |
wp_localize_script( 'bookly-notification-dialog.js', 'BooklyNotificationDialogL10n', array(
|
33 |
-
'csrfToken' =>
|
34 |
-
'recurringActive' => (int)
|
35 |
'defaultNotification' => self::getDefaultNotification(),
|
36 |
'title' => array(
|
37 |
'container' => __( 'Email', 'bookly' ),
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Dialogs\Notifications;
|
3 |
|
4 |
+
use Bookly\Lib;
|
5 |
use Bookly\Backend\Components\Dialogs\Sms\Dialog as SmsDialog;
|
6 |
|
7 |
/**
|
30 |
) );
|
31 |
|
32 |
wp_localize_script( 'bookly-notification-dialog.js', 'BooklyNotificationDialogL10n', array(
|
33 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
34 |
+
'recurringActive' => (int) Lib\Config::recurringAppointmentsActive(),
|
35 |
'defaultNotification' => self::getDefaultNotification(),
|
36 |
'title' => array(
|
37 |
'container' => __( 'Email', 'bookly' ),
|
backend/components/dialogs/queue/Dialog.php
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Dialogs\Queue;
|
3 |
|
4 |
-
use Bookly\Lib
|
5 |
|
6 |
/**
|
7 |
* Class Dialog
|
8 |
* @package Bookly\Backend\Components\Dialogs\Queue
|
9 |
*/
|
10 |
-
class Dialog extends
|
11 |
{
|
12 |
/**
|
13 |
* Render notifications queue dialog.
|
@@ -28,7 +28,7 @@ class Dialog extends BooklyLib\Base\Component
|
|
28 |
) );
|
29 |
|
30 |
wp_localize_script( 'bookly-queue-dialog.js', 'BooklyNotificationQueueDialogL10n', array(
|
31 |
-
'csrfToken'
|
32 |
) );
|
33 |
|
34 |
self::renderTemplate( 'dialog' );
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Dialogs\Queue;
|
3 |
|
4 |
+
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
* Class Dialog
|
8 |
* @package Bookly\Backend\Components\Dialogs\Queue
|
9 |
*/
|
10 |
+
class Dialog extends Lib\Base\Component
|
11 |
{
|
12 |
/**
|
13 |
* Render notifications queue dialog.
|
28 |
) );
|
29 |
|
30 |
wp_localize_script( 'bookly-queue-dialog.js', 'BooklyNotificationQueueDialogL10n', array(
|
31 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
32 |
) );
|
33 |
|
34 |
self::renderTemplate( 'dialog' );
|
backend/components/dialogs/recharge/Ajax.php
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Recharge;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Ajax
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Recharge
|
9 |
+
*/
|
10 |
+
class Ajax extends Lib\Base\Ajax
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Initial for enabling Auto-Recharge balance with PayPal
|
14 |
+
*/
|
15 |
+
public static function initAutoRechargePaypal()
|
16 |
+
{
|
17 |
+
$sms = Lib\SMS::getInstance();
|
18 |
+
$url = $sms->getPreApprovalUrl( self::parameter( 'recharge' ), self::parameter( 'url' ) );
|
19 |
+
if ( $url !== false ) {
|
20 |
+
wp_send_json_success( array( 'paypal_preapproval' => $url ) );
|
21 |
+
} else {
|
22 |
+
$errors = $sms->getErrors();
|
23 |
+
$message = __( 'Auto-Recharge has failed, please replenish your balance directly.', 'bookly' );
|
24 |
+
if ( array_key_exists( 'ERROR_PROMOTION_NOT_AVAILABLE', $errors ) ) {
|
25 |
+
$message = $errors['ERROR_PROMOTION_NOT_AVAILABLE'];
|
26 |
+
}
|
27 |
+
wp_send_json_error( compact( 'message' ) );
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Create Stripe Checkout session
|
33 |
+
*/
|
34 |
+
public static function createStripeCheckoutSession()
|
35 |
+
{
|
36 |
+
$sms = Lib\SMS::getInstance();
|
37 |
+
$result = $sms->createStripeCheckoutSession(
|
38 |
+
self::parameter( 'recharge' ),
|
39 |
+
self::parameter( 'mode' ),
|
40 |
+
self::parameter( 'url' )
|
41 |
+
);
|
42 |
+
|
43 |
+
if ( $result === false ) {
|
44 |
+
$errors = $sms->getErrors();
|
45 |
+
if ( array_key_exists( 'ERROR_RECHARGE_NOT_AVAILABLE', $errors ) ) {
|
46 |
+
wp_send_json_error( array( 'message' => $errors['ERROR_RECHARGE_NOT_AVAILABLE'] ) );
|
47 |
+
} else {
|
48 |
+
wp_send_json_error( array( 'message' => __( 'Card payment has failed, please use another payment option', 'bookly' ) ) );
|
49 |
+
}
|
50 |
+
} else {
|
51 |
+
wp_send_json( $result );
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Create PayPal order
|
57 |
+
*/
|
58 |
+
public static function createPaypalOrder()
|
59 |
+
{
|
60 |
+
$sms = Lib\SMS::getInstance();
|
61 |
+
$order_url = $sms->createPaypalOrder(
|
62 |
+
self::parameter( 'recharge' ),
|
63 |
+
self::parameter( 'url' )
|
64 |
+
);
|
65 |
+
|
66 |
+
if ( $order_url === false ) {
|
67 |
+
$errors = $sms->getErrors();
|
68 |
+
if ( array_key_exists( 'ERROR_RECHARGE_NOT_AVAILABLE', $errors ) ) {
|
69 |
+
wp_send_json_error( array( 'message' => $errors['ERROR_RECHARGE_NOT_AVAILABLE'] ) );
|
70 |
+
} else {
|
71 |
+
wp_send_json_error( array( 'message' => __( 'Payment has failed, please use another payment option', 'bookly' ) ) );
|
72 |
+
}
|
73 |
+
} else {
|
74 |
+
wp_send_json_success( compact( 'order_url' ) );
|
75 |
+
}
|
76 |
+
}
|
77 |
+
}
|
backend/components/dialogs/recharge/Amounts.php
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Recharge;
|
3 |
+
|
4 |
+
use Bookly\Lib\Base;
|
5 |
+
use Bookly\Lib\SMS;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Class Amounts
|
9 |
+
* @package Bookly\Backend\Components\Dialogs\Recharge
|
10 |
+
*/
|
11 |
+
class Amounts extends Base\Cache
|
12 |
+
{
|
13 |
+
const RECHARGE_TYPE_MANUAL = 'manual';
|
14 |
+
const RECHARGE_TYPE_AUTO = 'auto';
|
15 |
+
|
16 |
+
/** @var array */
|
17 |
+
private $items;
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @return Amounts
|
21 |
+
*/
|
22 |
+
public static function getInstance()
|
23 |
+
{
|
24 |
+
if ( ! self::hasInCache( __FUNCTION__ ) ) {
|
25 |
+
self::putInCache( __FUNCTION__, new static() );
|
26 |
+
}
|
27 |
+
|
28 |
+
return self::getFromCache( __FUNCTION__ );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Constructor.
|
33 |
+
*/
|
34 |
+
public function __construct()
|
35 |
+
{
|
36 |
+
$sms = SMS::getInstance();
|
37 |
+
$recharge = $sms->getRecharge();
|
38 |
+
if ( empty( $recharge ) ) {
|
39 |
+
$sms->loadProfile();
|
40 |
+
$recharge = $sms->getRecharge();
|
41 |
+
}
|
42 |
+
$this->items = $recharge['amounts'];
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Get items
|
47 |
+
*
|
48 |
+
* @param string $type
|
49 |
+
* @return array
|
50 |
+
*/
|
51 |
+
public function getItems( $type )
|
52 |
+
{
|
53 |
+
return $this->items[ $type ];
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Get item with specific tag
|
58 |
+
*
|
59 |
+
* @param string $tag
|
60 |
+
* @param string $type
|
61 |
+
* @return int|null
|
62 |
+
*/
|
63 |
+
public function getTaggedItem( $tag, $type )
|
64 |
+
{
|
65 |
+
$items = $this->getItems( $type );
|
66 |
+
|
67 |
+
foreach ( $items as $item ) {
|
68 |
+
if ( in_array( $tag, $item['tags'] ) ) {
|
69 |
+
return $item;
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
return null;
|
74 |
+
}
|
75 |
+
}
|
backend/components/dialogs/recharge/Dialog.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Recharge;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Dialog
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Recharge
|
9 |
+
*/
|
10 |
+
class Dialog extends Lib\Base\Component
|
11 |
+
{
|
12 |
+
|
13 |
+
public static function render()
|
14 |
+
{
|
15 |
+
$sms = Lib\SMS::getInstance();
|
16 |
+
if ( $sms->loadProfile() ) {
|
17 |
+
self::enqueueStyles( array(
|
18 |
+
'frontend' => array( 'css/ladda.min.css', ),
|
19 |
+
'backend' => array( 'css/fontawesome-all.min.css', ),
|
20 |
+
) );
|
21 |
+
|
22 |
+
self::enqueueScripts( array(
|
23 |
+
'frontend' => array(
|
24 |
+
'js/spin.min.js' => array( 'jquery', ),
|
25 |
+
'js/ladda.min.js' => array( 'jquery', ),
|
26 |
+
),
|
27 |
+
'backend' => array( 'js/alert.js' => array( 'jquery' ), ),
|
28 |
+
'module' => array( 'js/recharge-dialog.js' => array( 'jquery' ), ),
|
29 |
+
) );
|
30 |
+
|
31 |
+
$recharge = $sms->getRecharge();
|
32 |
+
wp_localize_script( 'bookly-recharge-dialog.js', 'BooklyRechargeDialogL10n', array(
|
33 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
34 |
+
'country' => $sms->getCountry(),
|
35 |
+
'no_card' => $recharge['no_card'],
|
36 |
+
'payment' => array(
|
37 |
+
'manual' => array(
|
38 |
+
'action' => __( 'Pay using', 'bookly' ),
|
39 |
+
'accepted' => __( 'Your payment has been accepted for processing', 'bookly' ),
|
40 |
+
'cancelled' => __( 'Your payment has been cancelled', 'bookly' ),
|
41 |
+
),
|
42 |
+
'auto' => array(
|
43 |
+
'action' => __( 'Continue with', 'bookly' ),
|
44 |
+
'enabled' => __( 'Auto-Recharge has been enabled', 'bookly' ),
|
45 |
+
'cancelled' => __( 'Auto-Recharge has been cancelled', 'bookly' ),
|
46 |
+
),
|
47 |
+
),
|
48 |
+
) );
|
49 |
+
|
50 |
+
self::renderTemplate( 'dialog', compact( 'sms' ) );
|
51 |
+
}
|
52 |
+
}
|
53 |
+
}
|
backend/components/dialogs/recharge/amounts/auto/Ajax.php
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Recharge\Amounts\Auto;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Ajax
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Recharge\Amounts\Auto
|
9 |
+
*/
|
10 |
+
class Ajax extends Lib\Base\Ajax
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Disable Auto-Recharge balance
|
14 |
+
*/
|
15 |
+
public static function disableAutoRecharge()
|
16 |
+
{
|
17 |
+
$declined = Lib\SMS::getInstance()->disableAutoRecharge();
|
18 |
+
if ( $declined !== false ) {
|
19 |
+
wp_send_json_success( array( 'message' => __( 'Auto-Recharge disabled', 'bookly' ) ) );
|
20 |
+
} else {
|
21 |
+
wp_send_json_error( array( 'message' => sprintf( __( 'Can\'t disable Auto-Recharge, please contact us at %s', 'bookly' ), '<a href="mailto:support@bookly.info">support@bookly.info</a>' ) ) );
|
22 |
+
}
|
23 |
+
}
|
24 |
+
}
|
backend/components/dialogs/recharge/amounts/auto/Button.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Recharge\Amounts\Auto;
|
3 |
+
|
4 |
+
use Bookly\Backend\Components\Dialogs\Recharge\Amounts;
|
5 |
+
use Bookly\Lib;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Class Button
|
9 |
+
* @package Bookly\Backend\Components\Dialogs\Recharge\Amounts\Auto
|
10 |
+
*/
|
11 |
+
class Button extends Lib\Base\Component
|
12 |
+
{
|
13 |
+
public static function renderSelector()
|
14 |
+
{
|
15 |
+
self::enqueueStyles( array(
|
16 |
+
'frontend' => array( 'css/ladda.min.css', ),
|
17 |
+
'backend' => array( 'css/fontawesome-all.min.css', ),
|
18 |
+
) );
|
19 |
+
|
20 |
+
self::enqueueScripts( array(
|
21 |
+
'frontend' => array(
|
22 |
+
'js/spin.min.js' => array( 'jquery', ),
|
23 |
+
'js/ladda.min.js' => array( 'jquery', ),
|
24 |
+
),
|
25 |
+
'backend' => array( 'js/alert.js' => array( 'jquery' ), ),
|
26 |
+
'module' => array( 'js/recharge-auto.js' => array( 'jquery' ), ),
|
27 |
+
) );
|
28 |
+
|
29 |
+
$sms = Lib\SMS::getInstance();
|
30 |
+
$auto_recharge = array(
|
31 |
+
'enabled' => $sms->autoRechargeEnabled(),
|
32 |
+
'amount' => $sms->getAutoRechargeAmount(),
|
33 |
+
'bonus' => $sms->getAutoRechargeBonus()
|
34 |
+
);
|
35 |
+
|
36 |
+
wp_localize_script( 'bookly-recharge-auto.js', 'BooklyAutoRechargeL10n', array(
|
37 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
38 |
+
'auto_recharge' => $auto_recharge,
|
39 |
+
) );
|
40 |
+
|
41 |
+
self::renderTemplate( 'selector', array( 'recharges' => Amounts::getInstance()->getItems( Amounts::RECHARGE_TYPE_AUTO ) ) );
|
42 |
+
}
|
43 |
+
|
44 |
+
public static function renderRecharges()
|
45 |
+
{
|
46 |
+
self::renderTemplate( 'recharges' );
|
47 |
+
}
|
48 |
+
|
49 |
+
public static function renderConfirmModal()
|
50 |
+
{
|
51 |
+
self::renderTemplate( 'modal' );
|
52 |
+
}
|
53 |
+
}
|
backend/components/dialogs/recharge/amounts/auto/resources/js/recharge-auto.js
ADDED
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function($) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
let $selector = $('.bookly-js-auto-recharge-selector'),
|
5 |
+
$disableAutoRechargeModal = $('#bookly-js-disable-auto-recharge-modal'),
|
6 |
+
selector = {
|
7 |
+
$items: $('[data-recharge-data]', $selector),
|
8 |
+
$dropdown: $('.bookly-js-auto-recharge-dropdown', $selector),
|
9 |
+
$amount: $('.bookly-js-auto-amount', $selector),
|
10 |
+
$bonus: $('.bookly-js-auto-bonus', $selector).hide(),
|
11 |
+
$usersChoice: $('.bookly-js-users-choice-auto', $selector).hide(),
|
12 |
+
$bestOffer: $('.bookly-js-best-offer-auto', $selector).hide(),
|
13 |
+
$enable: $('.bookly-js-auto-recharge-enable', $selector),
|
14 |
+
$enabled: $('.bookly-js-auto-recharge-enabled', $selector),
|
15 |
+
$disable: $('.bookly-js-auto-confirm-disable', $selector),
|
16 |
+
$container: $('#bookly-recharge-amounts .bookly-js-auto-recharge-container'),
|
17 |
+
},
|
18 |
+
recharge = {};
|
19 |
+
|
20 |
+
selector
|
21 |
+
.$items.on('click', function () {
|
22 |
+
recharge = $(this).data('recharge-data');
|
23 |
+
selector.$amount.html(recharge.amount);
|
24 |
+
if (recharge.bonus) {
|
25 |
+
selector.$bonus.show();
|
26 |
+
$('span', selector.$bonus).html(recharge.bonus);
|
27 |
+
} else {
|
28 |
+
selector.$bonus.hide();
|
29 |
+
}
|
30 |
+
selector.$bestOffer.toggle(recharge.tags.includes('best_offer'));
|
31 |
+
selector.$usersChoice.toggle(recharge.tags.includes('users_choice'));
|
32 |
+
});
|
33 |
+
selector
|
34 |
+
.$enable.on('click', function() {
|
35 |
+
$(document.body).trigger('bookly.recharge.choice', ['auto', recharge]);
|
36 |
+
});
|
37 |
+
selector
|
38 |
+
.$disable.on('click', function () {
|
39 |
+
$disableAutoRechargeModal.booklyModal('show');
|
40 |
+
});
|
41 |
+
|
42 |
+
$disableAutoRechargeModal
|
43 |
+
.on('show.bs.modal', function () {
|
44 |
+
$('.bookly-js-amount', $disableAutoRechargeModal).html(parseFloat(BooklyAutoRechargeL10n.auto_recharge.amount));
|
45 |
+
if (BooklyAutoRechargeL10n.auto_recharge.bonus) {
|
46 |
+
$('.bookly-js-amount', $disableAutoRechargeModal).append(' + ' + BooklyAutoRechargeL10n.auto_recharge.bonus);
|
47 |
+
}
|
48 |
+
})
|
49 |
+
.on('click', '#bookly-js-auto-recharge-disable', function () {
|
50 |
+
let ladda = Ladda.create(this);
|
51 |
+
ladda.start();
|
52 |
+
$.ajax({
|
53 |
+
method: 'POST',
|
54 |
+
url: ajaxurl,
|
55 |
+
data: {
|
56 |
+
action: 'bookly_disable_auto_recharge',
|
57 |
+
csrf_token: BooklyAutoRechargeL10n.csrfToken,
|
58 |
+
},
|
59 |
+
dataType: 'json',
|
60 |
+
success: function (response) {
|
61 |
+
if (response.success) {
|
62 |
+
booklyAlert({success: [response.data.message]});
|
63 |
+
$disableAutoRechargeModal.booklyModal('hide');
|
64 |
+
autoRechageToggle(false);
|
65 |
+
} else {
|
66 |
+
booklyAlert({error: [response.data.message]});
|
67 |
+
}
|
68 |
+
ladda.stop();
|
69 |
+
}
|
70 |
+
});
|
71 |
+
});
|
72 |
+
|
73 |
+
function autoRechageToggle(enabled) {
|
74 |
+
selector.$dropdown.prop('disabled', enabled).toggleClass('disabled', enabled);
|
75 |
+
selector.$enable.toggle(!enabled);
|
76 |
+
selector.$enabled.toggle(enabled);
|
77 |
+
selector.$disable.toggle(enabled);
|
78 |
+
if (enabled) {
|
79 |
+
selector.$amount.html(BooklyAutoRechargeL10n.auto_recharge.amount);
|
80 |
+
if (BooklyAutoRechargeL10n.auto_recharge.bonus) {
|
81 |
+
selector.$bonus.show();
|
82 |
+
$('span', selector.$bonus).html(BooklyAutoRechargeL10n.auto_recharge.bonus);
|
83 |
+
} else {
|
84 |
+
selector.$bonus.hide();
|
85 |
+
}
|
86 |
+
selector.$container.hide();
|
87 |
+
} else {
|
88 |
+
if ($('.bookly-js-best-offer', selector.$items).length > 0) {
|
89 |
+
$('.bookly-js-best-offer', selector.$items).trigger('click');
|
90 |
+
} else if ($('.bookly-js-users-choice', selector.$items).length > 0) {
|
91 |
+
$('.bookly-js-users-choice', selector.$items).trigger('click')
|
92 |
+
} else {
|
93 |
+
selector.$items.first().trigger('click');
|
94 |
+
}
|
95 |
+
selector.$container.show();
|
96 |
+
}
|
97 |
+
}
|
98 |
+
|
99 |
+
autoRechageToggle(BooklyAutoRechargeL10n.auto_recharge.enabled);
|
100 |
+
|
101 |
+
$(document.body).on('bookly.auto-recharge.toggle', {},
|
102 |
+
function (event, enabled) {
|
103 |
+
autoRechageToggle(enabled);
|
104 |
+
}
|
105 |
+
);
|
106 |
+
});
|
backend/components/dialogs/recharge/amounts/auto/templates/modal.php
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
?>
|
4 |
+
<div class="bookly-modal bookly-fade" tabindex="-1" role="dialog" id="bookly-js-disable-auto-recharge-modal">
|
5 |
+
<div class="modal-dialog" role="document">
|
6 |
+
<div class="modal-content">
|
7 |
+
<div class="modal-header">
|
8 |
+
<h5 class="modal-title"><?php esc_html_e( 'Disable Auto-Recharge', 'bookly' ) ?></h5>
|
9 |
+
<button type="button" class="close" data-dismiss="bookly-modal" aria-label="Close">
|
10 |
+
<span aria-hidden="true">×</span>
|
11 |
+
</button>
|
12 |
+
</div>
|
13 |
+
<div class="modal-body">
|
14 |
+
<p class="text-danger"><?php esc_html_e( 'Are you sure you want to disable Auto-Recharge?', 'bookly' ) ?></p>
|
15 |
+
<?php esc_html_e( 'Amount' ) ?>: $<span class="bookly-js-amount"></span>
|
16 |
+
</div>
|
17 |
+
<div class="modal-footer">
|
18 |
+
<?php Buttons::render( 'bookly-js-auto-recharge-disable', 'btn-danger', __( 'Disable', 'bookly' ) ) ?>
|
19 |
+
<?php Buttons::renderCancel( __( 'Close', 'bookly' ) ) ?>
|
20 |
+
</div>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
</div>
|
backend/components/dialogs/recharge/amounts/auto/templates/recharges.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Dialogs\Recharge\Amounts\Auto\Button;
|
3 |
+
?>
|
4 |
+
<div class="bookly-js-auto-recharge-container">
|
5 |
+
<div class="form-row mb-3">
|
6 |
+
<div class="col"><hr/></div>
|
7 |
+
<div class="col-auto"><h5 class="text-muted"><?php esc_html_e( 'or', 'bookly' ) ?></h5></div>
|
8 |
+
<div class="col"><hr/></div>
|
9 |
+
</div>
|
10 |
+
<div class="card bg-light">
|
11 |
+
<div class="card-body pb-1">
|
12 |
+
<div class="text-center font-weight-bolder mb-2"><?php esc_html_e( 'Turn on Auto-Recharge and get even more', 'bookly' ) ?></div>
|
13 |
+
<div class="mx-auto w-50">
|
14 |
+
<?php Button::renderSelector() ?>
|
15 |
+
</div>
|
16 |
+
<h6 class="text-center mt-2"><?php printf( __( 'We will only charge you when your balance falls bellow %s', 'bookly' ), '<b>$10</b>' ) ?></h6>
|
17 |
+
</div>
|
18 |
+
</div>
|
19 |
+
</div>
|
backend/components/dialogs/recharge/amounts/auto/templates/selector.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
|
4 |
+
/**
|
5 |
+
* @var array $recharges
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<div class="form-row flex-nowrap bookly-js-auto-recharge-selector">
|
9 |
+
<div class="col">
|
10 |
+
<div class="dropdown">
|
11 |
+
<button class="bookly-js-auto-recharge-dropdown btn btn-default dropdown-toggle d-flex align-items-center w-100" type="button" data-toggle="dropdown">
|
12 |
+
<span class="flex-grow-1 text-left"><?php esc_html_e( 'Amount', 'bookly' ) ?>:</span>
|
13 |
+
<span>
|
14 |
+
<span class="bookly-js-best-offer-auto badge badge-warning" style="display: none"><small><strong><?php esc_html_e( 'best offer', 'bookly' ) ?></strong></small></span>
|
15 |
+
<span class="bookly-js-users-choice-auto badge badge-danger" style="display: none"><small><strong><?php esc_html_e( 'users choice', 'bookly' ) ?></strong></small></span>
|
16 |
+
$<span class="bookly-js-auto-amount"></span>
|
17 |
+
<span class="text-success bookly-js-auto-bonus"> + <span></span></span>
|
18 |
+
</span>
|
19 |
+
</button>
|
20 |
+
<div class="dropdown-menu dropdown-menu-right text-right w-100 shadow">
|
21 |
+
<h6 class="my-2 mx-4 text-muted small"><?php esc_html_e( 'Select amount of Auto-Recharge', 'bookly' ) ?></h6>
|
22 |
+
<?php foreach ( $recharges as $recharge ) : ?>
|
23 |
+
<div class="dropdown-divider m-0"></div>
|
24 |
+
<button type="button" class="dropdown-item" data-recharge-data=<?php echo json_encode( $recharge ) ?>>
|
25 |
+
<?php if ( in_array( 'best_offer', $recharge['tags'] ) ) : ?>
|
26 |
+
<span class="bookly-js-best-offer badge badge-warning"><small><strong><?php esc_html_e( 'best offer', 'bookly' ) ?></strong></small></span>
|
27 |
+
<?php endif ?>
|
28 |
+
<?php if ( in_array( 'users_choice', $recharge['tags'] ) ) : ?>
|
29 |
+
<span class="bookly-js-users-choice badge badge-danger"><small><strong><?php esc_html_e( 'users choice', 'bookly' ) ?></strong></small></span>
|
30 |
+
<?php endif ?>
|
31 |
+
$<?php echo $recharge['amount'] ?>
|
32 |
+
<?php if ( $recharge['bonus'] ) : ?>
|
33 |
+
<span class="text-success">+ <?php echo $recharge['bonus'] ?></span>
|
34 |
+
<?php endif ?>
|
35 |
+
</button>
|
36 |
+
<?php endforeach ?>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
</div>
|
40 |
+
<div class="col-auto">
|
41 |
+
<?php Buttons::render( null, 'bookly-js-auto-recharge-enable btn-success', __( 'Enable', 'bookly' ) . '…' ) ?>
|
42 |
+
<span class="bookly-js-auto-recharge-enabled mr-2">
|
43 |
+
<i class="fas fa-fw fa-check-circle text-success"></i> <?php esc_html_e( 'Enabled', 'bookly' ) ?>
|
44 |
+
</span>
|
45 |
+
<?php Buttons::render( null, 'bookly-js-auto-confirm-disable btn-danger', __( 'Disable', 'bookly' ) . '…' ) ?>
|
46 |
+
</div>
|
47 |
+
</div>
|
backend/components/dialogs/recharge/amounts/manual/Button.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Recharge\Amounts\Manual;
|
3 |
+
|
4 |
+
use Bookly\Backend\Components\Dialogs\Recharge\Amounts;
|
5 |
+
use Bookly\Lib;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Class Button
|
9 |
+
* @package Bookly\Backend\Components\Dialogs\Recharge\Amounts\Manual
|
10 |
+
*/
|
11 |
+
class Button extends Lib\Base\Component
|
12 |
+
{
|
13 |
+
public static function renderBalance()
|
14 |
+
{
|
15 |
+
$sms = Lib\SMS::getInstance();
|
16 |
+
self::enqueueStyles( array(
|
17 |
+
'backend' => array( 'css/fontawesome-all.min.css', ),
|
18 |
+
) );
|
19 |
+
|
20 |
+
self::renderTemplate( 'balance', compact( 'sms' ) );
|
21 |
+
}
|
22 |
+
|
23 |
+
public static function renderRecharges()
|
24 |
+
{
|
25 |
+
$amounts = Amounts::getInstance();
|
26 |
+
self::renderTemplate( 'recharges', array(
|
27 |
+
'recharges' => $amounts->getItems( Amounts::RECHARGE_TYPE_MANUAL ),
|
28 |
+
'best_offer' => $amounts->getTaggedItem( 'best_offer', Amounts::RECHARGE_TYPE_MANUAL )
|
29 |
+
) );
|
30 |
+
}
|
31 |
+
}
|
backend/components/dialogs/recharge/amounts/manual/templates/_best_offer.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
/**
|
3 |
+
* @var array $best_offer
|
4 |
+
*/
|
5 |
+
?>
|
6 |
+
<div class="form-row">
|
7 |
+
<div class="card bg-light" style="position: absolute; margin-top:25px; width: 96%; height: 174px; margin-left: 5px"></div>
|
8 |
+
<div class="card mx-auto text-white my-3" style="background-color: #28a745; cursor: pointer">
|
9 |
+
<div class="card-body text-center pb-2 pt-0" data-recharge-manual=<?php echo json_encode( $best_offer ) ?>>
|
10 |
+
<table>
|
11 |
+
<tr>
|
12 |
+
<td rowspan="2" style="vertical-align: bottom;line-height: 6.5rem;font-size: 2rem">$</td>
|
13 |
+
<td rowspan="2"><span style="font-size: 6rem"><?php echo $best_offer['amount'] ?></span></td>
|
14 |
+
<?php if ( $best_offer['bonus'] ) : ?>
|
15 |
+
<td rowspan="2" style="vertical-align: top;font-size: 2rem; line-height: 6rem">+<b class="mr-1 text-warning"><?php echo $best_offer['bonus'] ?></b></td>
|
16 |
+
<?php endif ?>
|
17 |
+
<td style="padding-top: 22px" class="text-right">
|
18 |
+
<b class="bg-warning px-2 py-1 text-dark text-uppercase" style="font-size: 1rem"><?php esc_html_e( 'Best offer', 'bookly' ) ?></b>
|
19 |
+
</td>
|
20 |
+
</tr>
|
21 |
+
<tr>
|
22 |
+
<td style="vertical-align: top;" class="text-right">
|
23 |
+
<?php if ( in_array( 'users_choice', $best_offer['tags'] ) ) : ?>
|
24 |
+
<b style="font-size: 0.7rem;top: -3px;position: relative;" class="ml-auto bg-danger mt-n2 py-1 px-3 mb-2 text-nowrap text-uppercase"><?php esc_html_e( 'Users choice', 'bookly' ) ?></b><br>
|
25 |
+
<?php endif ?>
|
26 |
+
<div style="font-size: 2rem; background-color: #24983F" class="h4 d-bloc text-center text-light font-weight-bolder py-2 px-3 text-nowrap"><?php esc_html_e( 'Buy now', 'bookly' ) ?></div>
|
27 |
+
</td>
|
28 |
+
</tr>
|
29 |
+
</table>
|
30 |
+
<div class="row" style="color: #a9dcb5">
|
31 |
+
<div class="col"><i class="fab fa-2x fa-cc-paypal"></i></div>
|
32 |
+
<div class="col"><i class="fab fa-2x fa-cc-mastercard"></i></div>
|
33 |
+
<div class="col"><i class="fab fa-2x fa-cc-visa"></i></div>
|
34 |
+
<div class="col"><i class="fab fa-2x fa-cc-amex"></i></div>
|
35 |
+
<div class="col"><i class="fab fa-2x fa-cc-discover"></i></div>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
</div>
|
backend/components/dialogs/recharge/amounts/manual/templates/_button.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
/**
|
3 |
+
* @var array $recharge
|
4 |
+
*/
|
5 |
+
?>
|
6 |
+
<div class="bookly-js-recharge card text-white bg-primary mb-3" style="cursor: pointer" data-recharge-manual=<?php echo json_encode( $recharge ) ?>>
|
7 |
+
<div class="card-header border-bottom-0 text-center p-0" style="height: 6rem">
|
8 |
+
<span style="vertical-align: bottom;line-height: 4.8rem;font-size: 2rem">$</span>
|
9 |
+
<span style="font-size: 4rem"><?php echo $recharge['amount'] ?></span>
|
10 |
+
<?php if ( $recharge['bonus'] ) : ?>
|
11 |
+
<b style="vertical-align: top;line-height: 4rem;font-size: 1.5rem">+<span class="text-warning"><?php echo $recharge['bonus'] ?></span></b>
|
12 |
+
<?php endif ?>
|
13 |
+
<?php if ( in_array( 'users_choice', $recharge['tags'] ) ) : ?>
|
14 |
+
<br><b style="font-size: 0.7rem;top: -1rem;position: relative;" class="mx-auto bg-danger py-1 px-md-3 px-1 text-truncate text-nowrap text-uppercase"><?php esc_html_e( 'users choice', 'bookly' ) ?></b>
|
15 |
+
<?php endif ?>
|
16 |
+
</div>
|
17 |
+
<div class="card-body text-center">
|
18 |
+
<span style="font-size: 2rem"><?php esc_html_e( 'Buy now', 'bookly' ) ?></span>
|
19 |
+
</div>
|
20 |
+
</div>
|
backend/components/dialogs/recharge/amounts/manual/templates/balance.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
/** @var \Bookly\Lib\SMS $sms */
|
3 |
+
$balance = $sms->getBalance();
|
4 |
+
|
5 |
+
if ( $balance <= 0 ) {
|
6 |
+
$btn_class = 'btn-danger';
|
7 |
+
$txt_class = 'text-danger';
|
8 |
+
} elseif ( $balance > 0 && $balance < 10 ) {
|
9 |
+
$btn_class = 'btn-warning';
|
10 |
+
$txt_class = '';
|
11 |
+
} else {
|
12 |
+
$btn_class = 'btn-success';
|
13 |
+
$txt_class = 'text-success';
|
14 |
+
}
|
15 |
+
?>
|
16 |
+
<div class="btn-group mr-2">
|
17 |
+
<div class="border border-right-0 rounded pl-2 d-flex align-items-center">
|
18 |
+
<h6 class="small m-0"><b><?php _e( 'current<br/>balance', 'bookly' ) ?></b></h6>
|
19 |
+
</div>
|
20 |
+
<div class="border border-left-0 px-2 d-flex align-items-center">
|
21 |
+
<span class="lead <?php echo $txt_class ?>">$<?php echo number_format( $balance, 2 ) ?></span>
|
22 |
+
</div>
|
23 |
+
<button type="button" class="btn <?php echo $btn_class ?> text-nowrap bookly-js-recharge-dialog-activator">
|
24 |
+
<i class="fas fa-coins"></i><span class="d-none d-md-inline ml-2"><?php esc_html_e( 'Recharge', 'bookly' ) ?></span>
|
25 |
+
</button>
|
26 |
+
</div>
|
backend/components/dialogs/recharge/amounts/manual/templates/recharges.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
/**
|
3 |
+
* @var array $recharges
|
4 |
+
* @var array|null $best_offer
|
5 |
+
*/
|
6 |
+
?>
|
7 |
+
<?php if ( $best_offer ) : ?>
|
8 |
+
<?php include '_best_offer.php' ?>
|
9 |
+
<div class="form-row mb-2">
|
10 |
+
<div class="col"><hr/></div>
|
11 |
+
<div class="col-auto"><h5 class="text-muted"><?php esc_html_e( 'Other options', 'bookly' ) ?></h5></div>
|
12 |
+
<div class="col"><hr/></div>
|
13 |
+
</div>
|
14 |
+
<?php endif ?>
|
15 |
+
<div class="form-row">
|
16 |
+
<?php foreach ( $recharges as $recharge ) : ?>
|
17 |
+
<?php if ( $best_offer && $recharge['id'] == $best_offer['id'] ) : continue; endif ?>
|
18 |
+
<div class="col-4">
|
19 |
+
<?php self::renderTemplate( '_button', compact( 'recharge' ) ) ?>
|
20 |
+
</div>
|
21 |
+
<?php endforeach ?>
|
22 |
+
</div>
|
backend/components/dialogs/recharge/resources/js/recharge-dialog.js
ADDED
@@ -0,0 +1,202 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function($) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
let $modal = $('#bookly-js-recharge-modal'),
|
5 |
+
$back = $('.bookly-js-back', $modal),
|
6 |
+
slides = {
|
7 |
+
amounts: $('#bookly-recharge-amounts', $modal),
|
8 |
+
payment: $('#bookly-recharge-payment', $modal).hide(),
|
9 |
+
accepted: $('#bookly-recharge-accepted', $modal).hide(),
|
10 |
+
cancelled: $('#bookly-recharge-cancelled', $modal).hide(),
|
11 |
+
},
|
12 |
+
$rechargeModalActivator = $('.bookly-js-recharge-dialog-activator'),
|
13 |
+
payment = {type: '', data: {}},
|
14 |
+
$recharge = $('[data-recharge-manual]'),
|
15 |
+
hash = window.location.href.split('#')
|
16 |
+
;
|
17 |
+
|
18 |
+
let $amounts = $('.bookly-js-amount', slides.payment),
|
19 |
+
$pay = $('.bookly-js-pay', slides.payment);
|
20 |
+
|
21 |
+
$(document.body).on('bookly.recharge.choice', {},
|
22 |
+
function (event, type, recharge) {
|
23 |
+
$modal.booklyModal('show');
|
24 |
+
payment.type = type;
|
25 |
+
payment.recharge = recharge;
|
26 |
+
$amounts.html(recharge.amount);
|
27 |
+
showSlide('payment');
|
28 |
+
}
|
29 |
+
);
|
30 |
+
|
31 |
+
$rechargeModalActivator.on('click', function () {
|
32 |
+
$modal.booklyModal();
|
33 |
+
$back.trigger('click');
|
34 |
+
});
|
35 |
+
|
36 |
+
if (hash.length > 1) {
|
37 |
+
let hashObj = {};
|
38 |
+
hash[1].split('&').forEach(function (part) {
|
39 |
+
var params = part.split('=');
|
40 |
+
hashObj[params[0]] = params[1];
|
41 |
+
});
|
42 |
+
|
43 |
+
let showModal = false;
|
44 |
+
if (hashObj.hasOwnProperty('payment')) {
|
45 |
+
if (hashObj.payment === 'cancelled') {
|
46 |
+
$('.bookly-js-message', showSlide('cancelled')).html(BooklyRechargeDialogL10n.payment.manual.cancelled);
|
47 |
+
showModal = true;
|
48 |
+
} else if (hashObj.payment === 'accepted') {
|
49 |
+
$('.bookly-js-message', showSlide('accepted')).html(BooklyRechargeDialogL10n.payment.manual.accepted);
|
50 |
+
showModal = true;
|
51 |
+
}
|
52 |
+
} else if (hashObj.hasOwnProperty('auto-recharge')) {
|
53 |
+
if (hashObj['auto-recharge'] === 'cancelled') {
|
54 |
+
$('.bookly-js-message', showSlide('cancelled')).html(BooklyRechargeDialogL10n.payment.auto.cancelled);
|
55 |
+
showModal = true;
|
56 |
+
} else if (hashObj['auto-recharge'] === 'enabled') {
|
57 |
+
$('.bookly-js-message', showSlide('accepted')).html(BooklyRechargeDialogL10n.payment.auto.enabled);
|
58 |
+
showModal = true;
|
59 |
+
}
|
60 |
+
} else if (hashObj.hasOwnProperty('recharge')) {
|
61 |
+
window.location.href = '#';
|
62 |
+
$rechargeModalActivator.trigger('click');
|
63 |
+
} else if (hashObj.hasOwnProperty('notifications-settings')) {
|
64 |
+
window.location.href = '#';
|
65 |
+
$('#bookly-open-account-settings').trigger('click');
|
66 |
+
$('[href="#bookly-account-notifications-tab"]').click();
|
67 |
+
}
|
68 |
+
if (showModal) {
|
69 |
+
window.location.href = '#';
|
70 |
+
$modal.booklyModal('show');
|
71 |
+
setTimeout(function () {
|
72 |
+
if (slides.accepted.css('display') === 'block' || slides.cancelled.css('display') === 'block') {
|
73 |
+
$modal.booklyModal('hide');
|
74 |
+
}
|
75 |
+
}, 5000);
|
76 |
+
}
|
77 |
+
|
78 |
+
}
|
79 |
+
|
80 |
+
$recharge.on('click', function () {
|
81 |
+
$(document.body).trigger('bookly.recharge.choice', ['manual', $(this).data('recharge-manual')]);
|
82 |
+
});
|
83 |
+
|
84 |
+
$back.on('click', function () {
|
85 |
+
showSlide('amounts');
|
86 |
+
});
|
87 |
+
|
88 |
+
$pay.on('click', function () {
|
89 |
+
switch ($(this).data('gateway')) {
|
90 |
+
case 'paypal':
|
91 |
+
if (payment.type === 'manual') {
|
92 |
+
payManualPayPal(this);
|
93 |
+
} else if (payment.type === 'auto') {
|
94 |
+
payAutoPayPal(this);
|
95 |
+
}
|
96 |
+
break;
|
97 |
+
case 'card':
|
98 |
+
stripe(this);
|
99 |
+
break;
|
100 |
+
}
|
101 |
+
});
|
102 |
+
|
103 |
+
function showSlide(slide) {
|
104 |
+
$.each(slides, function () {
|
105 |
+
this.hide();
|
106 |
+
});
|
107 |
+
|
108 |
+
if (slide === 'payment') {
|
109 |
+
// Hide card payment for disabled countries
|
110 |
+
slides.payment.find('#bookly-pay-card').toggle(
|
111 |
+
!!BooklyRechargeDialogL10n.country &&
|
112 |
+
!BooklyRechargeDialogL10n.no_card.includes(BooklyRechargeDialogL10n.country)
|
113 |
+
);
|
114 |
+
slides.payment.find('.bookly-js-action').text(BooklyRechargeDialogL10n.payment[payment.type].action);
|
115 |
+
}
|
116 |
+
|
117 |
+
return slides[slide].show();
|
118 |
+
}
|
119 |
+
|
120 |
+
function payManualPayPal(btn) {
|
121 |
+
const ladda = Ladda.create(btn);
|
122 |
+
ladda.start();
|
123 |
+
|
124 |
+
$.ajax({
|
125 |
+
method: 'POST',
|
126 |
+
url: ajaxurl,
|
127 |
+
data: {
|
128 |
+
action: 'bookly_create_paypal_order',
|
129 |
+
url: document.URL.split('#')[0],
|
130 |
+
csrf_token: BooklyRechargeDialogL10n.csrfToken,
|
131 |
+
recharge: payment.recharge.id,
|
132 |
+
},
|
133 |
+
dataType: 'json',
|
134 |
+
success: function (response) {
|
135 |
+
if (response.success) {
|
136 |
+
window.location.replace(response.data.order_url);
|
137 |
+
} else {
|
138 |
+
$modal.booklyModal('hide');
|
139 |
+
ladda.stop();
|
140 |
+
booklyAlert({error: [response.data.message]});
|
141 |
+
}
|
142 |
+
}
|
143 |
+
});
|
144 |
+
}
|
145 |
+
|
146 |
+
function payAutoPayPal(btn) {
|
147 |
+
const ladda = Ladda.create(btn);
|
148 |
+
ladda.start();
|
149 |
+
|
150 |
+
$.ajax({
|
151 |
+
method: 'POST',
|
152 |
+
url: ajaxurl,
|
153 |
+
data: {
|
154 |
+
action: 'bookly_init_auto_recharge_paypal',
|
155 |
+
url: document.URL.split('#')[0],
|
156 |
+
csrf_token: BooklyRechargeDialogL10n.csrfToken,
|
157 |
+
recharge: payment.recharge.id
|
158 |
+
},
|
159 |
+
dataType: 'json',
|
160 |
+
success: function (response) {
|
161 |
+
if (response.success) {
|
162 |
+
window.location.replace(response.data.paypal_preapproval);
|
163 |
+
} else {
|
164 |
+
$modal.booklyModal('hide');
|
165 |
+
ladda.stop();
|
166 |
+
booklyAlert({error: [response.data.message]});
|
167 |
+
}
|
168 |
+
}
|
169 |
+
});
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Pay with card via Stripe
|
174 |
+
*
|
175 |
+
* @param btn
|
176 |
+
*/
|
177 |
+
function stripe(btn) {
|
178 |
+
const ladda = Ladda.create(btn);
|
179 |
+
ladda.start();
|
180 |
+
|
181 |
+
$.ajax({
|
182 |
+
method: 'POST',
|
183 |
+
url: ajaxurl,
|
184 |
+
data: {
|
185 |
+
action: 'bookly_create_stripe_checkout_session',
|
186 |
+
csrf_token: BooklyRechargeDialogL10n.csrfToken,
|
187 |
+
recharge: payment.recharge.id,
|
188 |
+
mode: payment.type === 'manual' ? 'payment' : 'setup',
|
189 |
+
url: document.URL.split('#')[0],
|
190 |
+
},
|
191 |
+
dataType: 'json',
|
192 |
+
success: function (response) {
|
193 |
+
if (response.success) {
|
194 |
+
window.location.href = response.url;
|
195 |
+
} else {
|
196 |
+
ladda.stop();
|
197 |
+
booklyAlert({error: [response.data.message]});
|
198 |
+
}
|
199 |
+
}
|
200 |
+
});
|
201 |
+
}
|
202 |
+
});
|
backend/components/dialogs/recharge/templates/_accepted.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
|
2 |
+
<style>
|
3 |
+
.bookly-success-icon {
|
4 |
+
box-sizing: border-box;
|
5 |
+
position: relative;
|
6 |
+
display: block;
|
7 |
+
width: 110px;
|
8 |
+
height: 110px;
|
9 |
+
border: 4px solid;
|
10 |
+
border-radius: 50%
|
11 |
+
}
|
12 |
+
.bookly-success-icon::after {
|
13 |
+
content: "";
|
14 |
+
display: block;
|
15 |
+
box-sizing: border-box;
|
16 |
+
position: absolute;
|
17 |
+
left: 20px;
|
18 |
+
top: -35px;
|
19 |
+
width: 35px;
|
20 |
+
height: 89px;
|
21 |
+
border-width: 0 4px 4px 0;
|
22 |
+
border-style: solid;
|
23 |
+
transform-origin: bottom left;
|
24 |
+
transform: rotate(45deg)
|
25 |
+
}
|
26 |
+
</style>
|
27 |
+
<h3 class="text-success text-center pb-0 mb-0"><?php esc_html_e( 'Thank you', 'bookly' ) ?>!</h3>
|
28 |
+
<div class="text-success py-5">
|
29 |
+
<i class="mx-auto bookly-success-icon"></i>
|
30 |
+
</div>
|
31 |
+
<p class="text-center bookly-js-message"><?php esc_html_e( 'Your payment has been accepted for processing', 'bookly' ) ?>!</p>
|
backend/components/dialogs/recharge/templates/_amounts.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Dialogs\Recharge\Amounts\Manual;
|
3 |
+
use Bookly\Backend\Components\Dialogs\Recharge\Amounts\Auto;
|
4 |
+
?>
|
5 |
+
<h4 class="text-center"><?php esc_html_e( 'Please select an amount and recharge your account', 'bookly' ) ?></h4>
|
6 |
+
<?php Manual\Button::renderRecharges() ?>
|
7 |
+
<?php Auto\Button::renderRecharges() ?>
|
8 |
+
<div class="row mt-3 text-center" style="color:#595959">
|
9 |
+
<div class="col"><i class="fab fa-2x fa-cc-paypal"></i></div>
|
10 |
+
<div class="col"><i class="fab fa-2x fa-cc-mastercard"></i></div>
|
11 |
+
<div class="col"><i class="fab fa-2x fa-cc-visa"></i></div>
|
12 |
+
<div class="col"><i class="fab fa-2x fa-cc-amex"></i></div>
|
13 |
+
<div class="col"><i class="fab fa-2x fa-cc-discover"></i></div>
|
14 |
+
</div>
|
backend/components/dialogs/recharge/templates/_cancelled.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
|
2 |
+
<style>
|
3 |
+
.bookly-fail-icon {
|
4 |
+
box-sizing: border-box;
|
5 |
+
position: relative;
|
6 |
+
display: block;
|
7 |
+
width: 110px;
|
8 |
+
height: 110px;
|
9 |
+
border: 4px solid;
|
10 |
+
border-radius: 50%;
|
11 |
+
}
|
12 |
+
.bookly-fail-icon::after,
|
13 |
+
.bookly-fail-icon::before {
|
14 |
+
content: "";
|
15 |
+
display: block;
|
16 |
+
box-sizing: border-box;
|
17 |
+
position: absolute;
|
18 |
+
width: 73px;
|
19 |
+
height: 6px;
|
20 |
+
background: #dc3545;
|
21 |
+
transform: rotate(45deg);
|
22 |
+
border-radius: 5px;
|
23 |
+
top: 48px;
|
24 |
+
left: 15px;
|
25 |
+
}
|
26 |
+
.bookly-fail-icon::after {
|
27 |
+
transform: rotate(-45deg)
|
28 |
+
}
|
29 |
+
</style>
|
30 |
+
<h3 class="text-danger text-center pb-0 mb-0"><?php esc_html_e( 'Oops', 'bookly' ) ?>!</h3>
|
31 |
+
<div class="text-danger py-5">
|
32 |
+
<i class="mx-auto bookly-fail-icon"></i>
|
33 |
+
</div>
|
34 |
+
<p class="text-center bookly-js-message"><?php esc_html_e( 'Your payment has been cancelled', 'bookly' ) ?>!</p>
|
backend/components/dialogs/recharge/templates/_payment.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
|
2 |
+
<div class="row bg-light py-3 pl-3 mt-n3 mb-3">
|
3 |
+
<button class="btn btn-link bookly-js-back" type="button" ><i class="fas fa-fw fa-chevron-left ml-1"></i><?php esc_html_e( 'Back to the list of amounts', 'bookly' ) ?></button>
|
4 |
+
</div>
|
5 |
+
<h4 class="text-center pb-2"><?php esc_html_e( 'Please select a payment method', 'bookly' ) ?></h4>
|
6 |
+
<div class="row pb-0 mt-3">
|
7 |
+
<div class="col col-lg-8 offset-lg-2 col-md-12">
|
8 |
+
<div class="card">
|
9 |
+
<div class="card-body">
|
10 |
+
<div class="bookly-js-pay card text-white bg-primary ladda-button" data-gateway="paypal" style="cursor: pointer" data-style="zoom-in">
|
11 |
+
<div class="card-body">
|
12 |
+
<div class="form-row align-items-center">
|
13 |
+
<div class="col-2"><i class="fab fa-3x fa-paypal"></i></div>
|
14 |
+
<div class="col-6">
|
15 |
+
<div class="bookly-js-action"></div>
|
16 |
+
<div class="h2 font-weight-bold mb-0">PayPal</div>
|
17 |
+
</div>
|
18 |
+
<div class="col-4">
|
19 |
+
<span class="h2">$</span><span class="display-4 font-weight-bold bookly-js-amount"></span>
|
20 |
+
</div>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
|
25 |
+
<div id="bookly-pay-card">
|
26 |
+
<div class="form-row my-2">
|
27 |
+
<div class="col"><hr/></div>
|
28 |
+
<div class="col-auto"><h5 class="text-muted"><?php esc_html_e( 'or', 'bookly' ) ?></h5></div>
|
29 |
+
<div class="col"><hr/></div>
|
30 |
+
</div>
|
31 |
+
|
32 |
+
<div class="bookly-js-pay card text-white bg-success ladda-button" data-gateway="card" style="cursor: pointer" data-style="zoom-in">
|
33 |
+
<div class="card-body">
|
34 |
+
<div class="form-row align-items-center">
|
35 |
+
<div class="col-2"><i class="far fa-3x fa-credit-card"></i></div>
|
36 |
+
<div class="col-6">
|
37 |
+
<div class="bookly-js-action"></div>
|
38 |
+
<div class="h2 font-weight-bold mb-0"><?php esc_html_e( 'Credit card', 'bookly' ) ?></div>
|
39 |
+
</div>
|
40 |
+
<div class="col-4">
|
41 |
+
<span class="h2">$</span><span class="display-4 font-weight-bold bookly-js-amount"></span>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
</div>
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
+
</div>
|
49 |
+
</div>
|
50 |
+
</div>
|
51 |
+
|
52 |
+
<div class="row mt-3 text-center" style="color:#595959">
|
53 |
+
<div class="col"><i class="fab fa-2x fa-cc-paypal"></i></div>
|
54 |
+
<div class="col"><i class="fab fa-2x fa-cc-mastercard"></i></div>
|
55 |
+
<div class="col"><i class="fab fa-2x fa-cc-visa"></i></div>
|
56 |
+
<div class="col"><i class="fab fa-2x fa-cc-amex"></i></div>
|
57 |
+
<div class="col"><i class="fab fa-2x fa-cc-discover"></i></div>
|
58 |
+
</div>
|
backend/components/dialogs/recharge/templates/dialog.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
|
2 |
+
<form id="bookly-js-recharge-modal" class="bookly-modal bookly-fade" tabindex=-1 role="dialog">
|
3 |
+
<div class="modal-dialog modal-lg">
|
4 |
+
<div class="modal-content">
|
5 |
+
<div class="modal-header">
|
6 |
+
<h4 class="modal-title"><?php esc_html_e( 'Account recharge', 'bookly' ) ?></h4>
|
7 |
+
<button type="button" class="close" data-dismiss="bookly-modal"><span>×</span></button>
|
8 |
+
</div>
|
9 |
+
<div class="modal-body">
|
10 |
+
<div id="bookly-recharge-amounts">
|
11 |
+
<?php static::renderTemplate( '_amounts' ) ?>
|
12 |
+
</div>
|
13 |
+
<div id="bookly-recharge-payment">
|
14 |
+
<?php static::renderTemplate( '_payment' ) ?>
|
15 |
+
</div>
|
16 |
+
<div id="bookly-recharge-accepted">
|
17 |
+
<?php static::renderTemplate( '_accepted' ) ?>
|
18 |
+
</div>
|
19 |
+
<div id="bookly-recharge-cancelled">
|
20 |
+
<?php static::renderTemplate( '_cancelled' ) ?>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
</form>
|
backend/components/dialogs/service/edit/resources/js/service-edit-dialog.js
CHANGED
@@ -62,6 +62,7 @@ jQuery(function ($) {
|
|
62 |
$prefStaffOrder = $('.bookly-js-preferred-staff-order',$generalContainer),
|
63 |
$prefStaffList = $('.bookly-js-preferred-staff-list',$generalContainer),
|
64 |
$prefPeriod = $('.bookly-js-preferred-period',$generalContainer),
|
|
|
65 |
staff_data = {}
|
66 |
;
|
67 |
// Color picker.
|
@@ -95,6 +96,7 @@ jQuery(function ($) {
|
|
95 |
}
|
96 |
$prefStaffOrder.toggle(this.value === 'order');
|
97 |
$prefPeriod.toggle(this.value === 'least_occupied_for_period' || this.value === 'most_occupied_for_period');
|
|
|
98 |
}).trigger('change');
|
99 |
// Preferred providers order.
|
100 |
if ($prefStaffList.length) {
|
@@ -232,12 +234,12 @@ jQuery(function ($) {
|
|
232 |
|
233 |
function checkRepeatError($panel) {
|
234 |
if ($panel.find('[name="recurrence_enabled"]:checked').val() == 1 && $panel.find('[name="recurrence_frequencies[]"]:checked').length == 0) {
|
235 |
-
$panel.find('[name="recurrence_enabled"]').
|
236 |
$panel.find('.bookly-js-frequencies').closest('.form-group').find('button.dropdown-toggle').addClass('btn-danger').removeClass('btn-default');
|
237 |
$serviceError.find('.bookly-js-recurrence-error').remove();
|
238 |
$serviceError.append('<div class="bookly-js-recurrence-error bookly-js-error">' + BooklyL10n.recurrence_error + '</div>');
|
239 |
} else {
|
240 |
-
$panel.find('[name="recurrence_enabled"]').
|
241 |
$panel.find('.bookly-js-frequencies').closest('.form-group').find('button.dropdown-toggle').removeClass('btn-danger').addClass('btn-default');
|
242 |
$serviceError.find('.bookly-js-recurrence-error').remove();
|
243 |
}
|
@@ -248,10 +250,10 @@ jQuery(function ($) {
|
|
248 |
if (parseInt($panel.find('[name="capacity_min"]').val()) > parseInt($panel.find('[name="capacity_max"]').val())) {
|
249 |
$serviceError.find('.bookly-js-capacity-error').remove();
|
250 |
$serviceError.append('<div class="bookly-js-capacity-error bookly-js-error">' + BooklyL10n.capacity_error + '</div>');
|
251 |
-
$panel.find('
|
252 |
} else {
|
253 |
$serviceError.find('.bookly-js-capacity-error').remove();
|
254 |
-
$panel.find('
|
255 |
}
|
256 |
$saveButton.prop('disabled', $serviceError.find('.bookly-js-error').length > 0);
|
257 |
}
|
62 |
$prefStaffOrder = $('.bookly-js-preferred-staff-order',$generalContainer),
|
63 |
$prefStaffList = $('.bookly-js-preferred-staff-list',$generalContainer),
|
64 |
$prefPeriod = $('.bookly-js-preferred-period',$generalContainer),
|
65 |
+
$prefRandom = $('.bookly-js-preferred-random-staff',$generalContainer),
|
66 |
staff_data = {}
|
67 |
;
|
68 |
// Color picker.
|
96 |
}
|
97 |
$prefStaffOrder.toggle(this.value === 'order');
|
98 |
$prefPeriod.toggle(this.value === 'least_occupied_for_period' || this.value === 'most_occupied_for_period');
|
99 |
+
$prefRandom.toggle(this.value !== 'order');
|
100 |
}).trigger('change');
|
101 |
// Preferred providers order.
|
102 |
if ($prefStaffList.length) {
|
234 |
|
235 |
function checkRepeatError($panel) {
|
236 |
if ($panel.find('[name="recurrence_enabled"]:checked').val() == 1 && $panel.find('[name="recurrence_frequencies[]"]:checked').length == 0) {
|
237 |
+
$panel.find('[name="recurrence_enabled"]').addClass('is-invalid');
|
238 |
$panel.find('.bookly-js-frequencies').closest('.form-group').find('button.dropdown-toggle').addClass('btn-danger').removeClass('btn-default');
|
239 |
$serviceError.find('.bookly-js-recurrence-error').remove();
|
240 |
$serviceError.append('<div class="bookly-js-recurrence-error bookly-js-error">' + BooklyL10n.recurrence_error + '</div>');
|
241 |
} else {
|
242 |
+
$panel.find('[name="recurrence_enabled"]').removeClass('is-invalid');
|
243 |
$panel.find('.bookly-js-frequencies').closest('.form-group').find('button.dropdown-toggle').removeClass('btn-danger').addClass('btn-default');
|
244 |
$serviceError.find('.bookly-js-recurrence-error').remove();
|
245 |
}
|
250 |
if (parseInt($panel.find('[name="capacity_min"]').val()) > parseInt($panel.find('[name="capacity_max"]').val())) {
|
251 |
$serviceError.find('.bookly-js-capacity-error').remove();
|
252 |
$serviceError.append('<div class="bookly-js-capacity-error bookly-js-error">' + BooklyL10n.capacity_error + '</div>');
|
253 |
+
$panel.find('.bookly-js-capacity').addClass('is-invalid');
|
254 |
} else {
|
255 |
$serviceError.find('.bookly-js-capacity-error').remove();
|
256 |
+
$panel.find('.bookly-js-capacity').removeClass('is-invalid');
|
257 |
}
|
258 |
$saveButton.prop('disabled', $serviceError.find('.bookly-js-error').length > 0);
|
259 |
}
|
backend/components/dialogs/sms/Dialog.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Dialogs\Sms;
|
3 |
|
4 |
-
use Bookly\Lib
|
5 |
use Bookly\Backend\Components\Controls\Buttons;
|
6 |
|
7 |
/**
|
8 |
* Class Dialog
|
9 |
* @package Bookly\Backend\Components\Dialogs\Sms
|
10 |
*/
|
11 |
-
class Dialog extends
|
12 |
{
|
13 |
/**
|
14 |
* Render payment details dialog.
|
@@ -33,8 +33,8 @@ class Dialog extends BooklyLib\Base\Component
|
|
33 |
) );
|
34 |
|
35 |
wp_localize_script( 'bookly-notification-dialog.js', 'BooklyNotificationDialogL10n', array(
|
36 |
-
'csrfToken' =>
|
37 |
-
'recurringActive' => (int)
|
38 |
'defaultNotification' => self::getDefaultNotification(),
|
39 |
'sms' => true,
|
40 |
'title' => array(
|
@@ -62,7 +62,7 @@ class Dialog extends BooklyLib\Base\Component
|
|
62 |
protected static function getDefaultNotification()
|
63 |
{
|
64 |
return array(
|
65 |
-
'type' =>
|
66 |
'active' => 1,
|
67 |
'attach_ics' => 0,
|
68 |
'attach_invoice' => 0,
|
@@ -72,7 +72,7 @@ class Dialog extends BooklyLib\Base\Component
|
|
72 |
'to_admin' => 0,
|
73 |
'to_customer' => 1,
|
74 |
'to_staff' => 0,
|
75 |
-
'settings' =>
|
76 |
);
|
77 |
}
|
78 |
}
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Dialogs\Sms;
|
3 |
|
4 |
+
use Bookly\Lib;
|
5 |
use Bookly\Backend\Components\Controls\Buttons;
|
6 |
|
7 |
/**
|
8 |
* Class Dialog
|
9 |
* @package Bookly\Backend\Components\Dialogs\Sms
|
10 |
*/
|
11 |
+
class Dialog extends Lib\Base\Component
|
12 |
{
|
13 |
/**
|
14 |
* Render payment details dialog.
|
33 |
) );
|
34 |
|
35 |
wp_localize_script( 'bookly-notification-dialog.js', 'BooklyNotificationDialogL10n', array(
|
36 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
37 |
+
'recurringActive' => (int) Lib\Config::recurringAppointmentsActive(),
|
38 |
'defaultNotification' => self::getDefaultNotification(),
|
39 |
'sms' => true,
|
40 |
'title' => array(
|
62 |
protected static function getDefaultNotification()
|
63 |
{
|
64 |
return array(
|
65 |
+
'type' => Lib\Entities\Notification::TYPE_NEW_BOOKING,
|
66 |
'active' => 1,
|
67 |
'attach_ics' => 0,
|
68 |
'attach_invoice' => 0,
|
72 |
'to_admin' => 0,
|
73 |
'to_customer' => 1,
|
74 |
'to_staff' => 0,
|
75 |
+
'settings' => Lib\DataHolders\Notification\Settings::getDefault(),
|
76 |
);
|
77 |
}
|
78 |
}
|
backend/components/dialogs/table_settings/templates/dialog.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Backend\Components\Controls\Elements;
|
4 |
?>
|
5 |
-
<form id="bookly-table-settings-modal" class="bookly-
|
6 |
<div class="modal-dialog">
|
7 |
<div class="modal-content">
|
8 |
<div class="modal-header">
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Backend\Components\Controls\Elements;
|
4 |
?>
|
5 |
+
<form id="bookly-table-settings-modal" class="bookly-modal bookly-fade" tabindex=-1 role="dialog">
|
6 |
<div class="modal-dialog">
|
7 |
<div class="modal-content">
|
8 |
<div class="modal-header">
|
backend/components/info/base/templates/notice.php
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
-
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
-
?>
|
4 |
-
<div id="bookly-tbs" class="wrap">
|
5 |
-
<div id="<?php echo $id ?>" class="alert alert-success alert-dismissible" role="alert" <?php if ( $hidden ) : ?>style="display: none" <?php endif ?>>
|
6 |
-
<div class="d-md-flex form-row align-items-center">
|
7 |
-
<img src="<?php echo plugins_url( 'bookly-responsive-appointment-booking-tool/backend/components/info/base/images/photo.png' ) ?>" alt="avatar" width="72" height="72" style="width: 72px; height: 72px;">
|
8 |
-
<div class="pl-md-4 col" style="min-width: 50%">
|
9 |
-
<div><b class="bookly-js-alert-title"><?php echo esc_html( $title ) ?></b> <?php echo $sub_title ?></div>
|
10 |
-
<div class="font-weight-bold mt-2 w-100" style="line-height: 1;"><?php echo $message ?></div>
|
11 |
-
<small class="text-muted">Daniel Williams, PO at Bookly</small>
|
12 |
-
</div>
|
13 |
-
<div class="d-lg-inline-flex d-md-block mr-n5 mr-md-0">
|
14 |
-
<?php foreach ( $buttons as $button ) : ?>
|
15 |
-
<?php Buttons::render( null, $button['class'] . ' ml-md-1 mr-1 mb-1', $button['caption'] ) ?>
|
16 |
-
<?php endforeach ?>
|
17 |
-
</div>
|
18 |
-
</div>
|
19 |
-
<button type="button" class="close <?php echo esc_attr( $dismiss_js_class ) ?>" data-dismiss="alert" aria-label="Close">
|
20 |
-
<span aria-hidden="true">×</span>
|
21 |
-
</button>
|
22 |
-
</div>
|
23 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
backend/components/notices/Nps.php
CHANGED
@@ -3,7 +3,6 @@ namespace Bookly\Backend\Components\Notices;
|
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
use Bookly\Backend\Modules;
|
6 |
-
use Bookly\Backend\Components\Info\Rate;
|
7 |
|
8 |
/**
|
9 |
* Class Nps
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
use Bookly\Backend\Modules;
|
|
|
6 |
|
7 |
/**
|
8 |
* Class Nps
|
backend/components/notices/SmsPromotion.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Notices;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class SmsPromotion
|
8 |
+
* @package Bookly\Backend\Components\Notices
|
9 |
+
*/
|
10 |
+
class SmsPromotion extends Lib\Base\Component
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Render collect stats notice.
|
14 |
+
*/
|
15 |
+
public static function render()
|
16 |
+
{
|
17 |
+
if ( Lib\Utils\Common::isCurrentUserAdmin() && isset ( $_REQUEST['page'] ) && strncmp( $_REQUEST['page'], 'bookly-sms', 10 ) === 0 ) {
|
18 |
+
$promotion = Lib\SMS::getPromotionForNotice($type, ! Lib\SMS::getInstance()->loadProfile() );
|
19 |
+
if ( $promotion ) {
|
20 |
+
self::enqueueStyles( array(
|
21 |
+
'frontend' => array( 'css/ladda.min.css', ),
|
22 |
+
'backend' => array( 'bootstrap/css/bootstrap.min.css', ),
|
23 |
+
) );
|
24 |
+
self::enqueueScripts( array(
|
25 |
+
'backend' => array( 'bootstrap/js/bootstrap.min.js' => array( 'jquery' ), ),
|
26 |
+
'frontend' => array(
|
27 |
+
'js/spin.min.js' => array( 'jquery' ),
|
28 |
+
'js/ladda.min.js' => array( 'jquery' ),
|
29 |
+
),
|
30 |
+
'module' => array( 'js/sms-promotion.js' => array( 'jquery' ), ),
|
31 |
+
) );
|
32 |
+
|
33 |
+
wp_localize_script( 'bookly-sms-promotion.js', 'BooklySmsPromotionL10n', array(
|
34 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
35 |
+
) );
|
36 |
+
|
37 |
+
self::renderTemplate( 'sms_promotion', compact( 'type', 'promotion' ) );
|
38 |
+
}
|
39 |
+
}
|
40 |
+
}
|
41 |
+
}
|
backend/components/notices/SmsPromotionAjax.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Notices;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class SmsPromotionAjax
|
8 |
+
* @package Bookly\Backend\Components\Notices
|
9 |
+
*/
|
10 |
+
class SmsPromotionAjax extends Lib\Base\Ajax
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Dismiss SMS promotion notice
|
14 |
+
*/
|
15 |
+
public static function dismissSmsPromotionNotice()
|
16 |
+
{
|
17 |
+
$id = self::parameter( 'id' );
|
18 |
+
$dismiss = self::parameter( 'dismiss' );
|
19 |
+
$dismissed = get_user_meta( get_current_user_id(), 'bookly_dismiss_sms_promotion_notices', true ) ?: array();
|
20 |
+
$dismissed[ $id ] = time() + ( $dismiss == 'remind' ? 7 : 30 ) * DAY_IN_SECONDS;
|
21 |
+
update_user_meta( get_current_user_id(), 'bookly_dismiss_sms_promotion_notices', $dismissed );
|
22 |
+
|
23 |
+
wp_send_json_success();
|
24 |
+
}
|
25 |
+
}
|
backend/components/{info → notices}/base/Notice.php
RENAMED
@@ -1,12 +1,12 @@
|
|
1 |
<?php
|
2 |
-
namespace Bookly\Backend\Components\
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
use Bookly\Backend\Modules;
|
6 |
|
7 |
/**
|
8 |
* Class Notice
|
9 |
-
* @package Bookly\Backend\Components\
|
10 |
*/
|
11 |
class Notice extends Lib\Base\Component
|
12 |
{
|
1 |
<?php
|
2 |
+
namespace Bookly\Backend\Components\Notices\Base;
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
use Bookly\Backend\Modules;
|
6 |
|
7 |
/**
|
8 |
* Class Notice
|
9 |
+
* @package Bookly\Backend\Components\Notices\Base
|
10 |
*/
|
11 |
class Notice extends Lib\Base\Component
|
12 |
{
|
backend/components/{info → notices}/base/images/photo.png
RENAMED
File without changes
|
backend/components/notices/base/templates/notice.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
?>
|
4 |
+
<div id="bookly-tbs" class="wrap">
|
5 |
+
<div id="<?php echo $id ?>" class="alert alert-success alert-dismissible" role="alert" <?php if ( $hidden ) : ?>style="display: none" <?php endif ?>>
|
6 |
+
<div class="row text-center text-md-left">
|
7 |
+
<div class="col-12 col-md-auto pr-md-0">
|
8 |
+
<img src="<?php echo plugins_url( 'bookly-responsive-appointment-booking-tool/backend/components/notices/base/images/photo.png' ) ?>" alt="Daniel Williams, PO at Bookly" width="72" style="width: 72px" />
|
9 |
+
</div>
|
10 |
+
<div class="col">
|
11 |
+
<div class="row">
|
12 |
+
<div class="col-12">
|
13 |
+
<div><b class="bookly-js-alert-title"><?php echo esc_html( $title ) ?></b> <?php echo $sub_title ?></div>
|
14 |
+
<div class="font-weight-bold mt-1"><?php echo $message ?></div>
|
15 |
+
<small class="text-muted">Daniel Williams, PO at Bookly</small>
|
16 |
+
</div>
|
17 |
+
<div class="col-12 mt-2">
|
18 |
+
<?php foreach ( $buttons as $button ) : ?>
|
19 |
+
<?php Buttons::render( null, $button['class'] . ' mr-1 mb-1', $button['caption'] ) ?>
|
20 |
+
<?php endforeach ?>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
<button type="button" class="close <?php echo esc_attr( $dismiss_js_class ) ?>" data-dismiss="alert" aria-label="Close">
|
26 |
+
<span aria-hidden="true">×</span>
|
27 |
+
</button>
|
28 |
+
</div>
|
29 |
+
</div>
|
backend/components/{info → notices}/rate/Ajax.php
RENAMED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
-
namespace Bookly\Backend\Components\
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
* Class Ajax
|
8 |
-
* @package Bookly\Backend\Components\
|
9 |
*/
|
10 |
class Ajax extends Lib\Base\Ajax
|
11 |
{
|
1 |
<?php
|
2 |
+
namespace Bookly\Backend\Components\Notices\Rate;
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
* Class Ajax
|
8 |
+
* @package Bookly\Backend\Components\Notices\Rate
|
9 |
*/
|
10 |
class Ajax extends Lib\Base\Ajax
|
11 |
{
|
backend/components/{info → notices}/rate/Notice.php
RENAMED
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
-
namespace Bookly\Backend\Components\
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
use Bookly\Backend\Modules;
|
6 |
-
use Bookly\Backend\Components\
|
7 |
use Bookly\Backend\Components\Support\Lib\Urls;
|
8 |
|
9 |
/**
|
10 |
* Class Notice
|
11 |
-
* @package Bookly\Backend\Components\
|
12 |
*/
|
13 |
class Notice extends Base\Notice
|
14 |
{
|
1 |
<?php
|
2 |
+
namespace Bookly\Backend\Components\Notices\Rate;
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
use Bookly\Backend\Modules;
|
6 |
+
use Bookly\Backend\Components\Notices\Base;
|
7 |
use Bookly\Backend\Components\Support\Lib\Urls;
|
8 |
|
9 |
/**
|
10 |
* Class Notice
|
11 |
+
* @package Bookly\Backend\Components\Notices\Rate
|
12 |
*/
|
13 |
class Notice extends Base\Notice
|
14 |
{
|
backend/components/{info → notices}/rate/resources/js/rate.js
RENAMED
File without changes
|
backend/components/notices/resources/js/sms-promotion.js
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function ($) {
|
2 |
+
let $notice = $('#bookly-sms-promotion-notice'),
|
3 |
+
type = $notice.data('type'),
|
4 |
+
id = $notice.data('id');
|
5 |
+
$notice.on('close.bs.alert', function () {
|
6 |
+
$.post(ajaxurl, {
|
7 |
+
action: 'bookly_dismiss_sms_promotion_notice',
|
8 |
+
id: id,
|
9 |
+
dismiss: $notice.data('dismiss'),
|
10 |
+
csrf_token: BooklySmsPromotionL10n.csrfToken
|
11 |
+
});
|
12 |
+
});
|
13 |
+
$notice.find('.bookly-js-remind-me-later').on('click', function () {
|
14 |
+
$notice.data('dismiss', 'remind').alert('close');
|
15 |
+
});
|
16 |
+
$notice.find('.bookly-js-apply-action').on('click', function () {
|
17 |
+
switch (type) {
|
18 |
+
case 'registration':
|
19 |
+
let $form = $('.bookly-js-register-form'),
|
20 |
+
$input = $('#bookly-r-username', $form);
|
21 |
+
$form.closest('.card').addClass('border-success');
|
22 |
+
$('html, body').animate({
|
23 |
+
scrollTop: $input.offset().top - 20
|
24 |
+
}, 1000);
|
25 |
+
$input.focus();
|
26 |
+
break;
|
27 |
+
default:
|
28 |
+
let $modal = $('#bookly-js-recharge-modal');
|
29 |
+
$modal.booklyModal();
|
30 |
+
$('.bookly-js-back', $modal).trigger('click');
|
31 |
+
break;
|
32 |
+
}
|
33 |
+
$notice.alert('close');
|
34 |
+
});
|
35 |
+
});
|
backend/components/notices/resources/js/subscribe.js
CHANGED
@@ -1,22 +1,23 @@
|
|
1 |
jQuery(function ($) {
|
2 |
let $alert = $('#bookly-subscribe-notice');
|
3 |
$('#bookly-subscribe-btn').on('click', function () {
|
4 |
-
$
|
5 |
-
|
|
|
6 |
ladda.start();
|
7 |
-
$.post(ajaxurl, {action: 'bookly_subscribe', csrf_token
|
8 |
ladda.stop();
|
9 |
if (response.success) {
|
10 |
$alert.alert('close');
|
11 |
booklyAlert({success: [response.data.message]});
|
12 |
} else {
|
13 |
-
$
|
14 |
-
booklyAlert({error
|
15 |
}
|
16 |
});
|
17 |
});
|
18 |
$alert.on('close.bs.alert', function () {
|
19 |
-
$.post(ajaxurl, {action: 'bookly_dismiss_subscribe_notice', csrf_token
|
20 |
// Indicator for Selenium that request has completed.
|
21 |
$alert.remove();
|
22 |
});
|
1 |
jQuery(function ($) {
|
2 |
let $alert = $('#bookly-subscribe-notice');
|
3 |
$('#bookly-subscribe-btn').on('click', function () {
|
4 |
+
let $email = $('#bookly-subscribe-email', $alert),
|
5 |
+
ladda = Ladda.create(this);
|
6 |
+
$email.removeClass('is-invalid');
|
7 |
ladda.start();
|
8 |
+
$.post(ajaxurl, {action: 'bookly_subscribe', csrf_token: BooklySubscribeL10n.csrfToken, email: $email.val()}, function (response) {
|
9 |
ladda.stop();
|
10 |
if (response.success) {
|
11 |
$alert.alert('close');
|
12 |
booklyAlert({success: [response.data.message]});
|
13 |
} else {
|
14 |
+
$email.addClass('is-invalid');
|
15 |
+
booklyAlert({error: [response.data.message]});
|
16 |
}
|
17 |
});
|
18 |
});
|
19 |
$alert.on('close.bs.alert', function () {
|
20 |
+
$.post(ajaxurl, {action: 'bookly_dismiss_subscribe_notice', csrf_token: BooklySubscribeL10n.csrfToken}, function () {
|
21 |
// Indicator for Selenium that request has completed.
|
22 |
$alert.remove();
|
23 |
});
|
backend/components/notices/templates/collect_stats.php
CHANGED
@@ -15,8 +15,8 @@ use Bookly\Backend\Components\Controls\Buttons;
|
|
15 |
<?php else: ?>
|
16 |
<?php esc_html_e( 'Let the plugin anonymously collect usage information to help Bookly team improve the product.', 'bookly' ) ?>
|
17 |
<div class="mt-2">
|
18 |
-
<?php Buttons::render( null, 'btn-default', __( 'Disagree', 'bookly' ), array( 'data-dismiss' => 'alert' ) ) ?>
|
19 |
<?php Buttons::render( 'bookly-enable-collecting-stats-btn', 'btn-success', __( 'Agree', 'bookly' ) ) ?>
|
|
|
20 |
</div>
|
21 |
<?php endif ?>
|
22 |
</div>
|
15 |
<?php else: ?>
|
16 |
<?php esc_html_e( 'Let the plugin anonymously collect usage information to help Bookly team improve the product.', 'bookly' ) ?>
|
17 |
<div class="mt-2">
|
|
|
18 |
<?php Buttons::render( 'bookly-enable-collecting-stats-btn', 'btn-success', __( 'Agree', 'bookly' ) ) ?>
|
19 |
+
<?php Buttons::render( null, 'btn-default', __( 'Disagree', 'bookly' ), array( 'data-dismiss' => 'alert' ) ) ?>
|
20 |
</div>
|
21 |
<?php endif ?>
|
22 |
</div>
|
backend/components/notices/templates/powered_by.php
CHANGED
@@ -9,8 +9,8 @@ use Bookly\Backend\Components\Controls\Buttons;
|
|
9 |
<div class="col">
|
10 |
<?php esc_html_e( 'Allow the plugin to set a Powered by Bookly notice on the booking widget to spread information about the plugin. This will allow the team to improve the product and enhance its functionality.', 'bookly' ) ?>
|
11 |
<div class="mt-2">
|
12 |
-
<?php Buttons::render( null, 'btn-default', __( 'Disagree', 'bookly' ), array( 'data-dismiss' => 'alert' ) ) ?>
|
13 |
<?php Buttons::render( 'bookly-show-powered-by', 'btn-success', __( 'Agree', 'bookly' ) ) ?>
|
|
|
14 |
</div>
|
15 |
</div>
|
16 |
</div>
|
9 |
<div class="col">
|
10 |
<?php esc_html_e( 'Allow the plugin to set a Powered by Bookly notice on the booking widget to spread information about the plugin. This will allow the team to improve the product and enhance its functionality.', 'bookly' ) ?>
|
11 |
<div class="mt-2">
|
|
|
12 |
<?php Buttons::render( 'bookly-show-powered-by', 'btn-success', __( 'Agree', 'bookly' ) ) ?>
|
13 |
+
<?php Buttons::render( null, 'btn-default', __( 'Disagree', 'bookly' ), array( 'data-dismiss' => 'alert' ) ) ?>
|
14 |
</div>
|
15 |
</div>
|
16 |
</div>
|
backend/components/notices/templates/sms_promotion.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
use Bookly\Lib;
|
4 |
+
/**
|
5 |
+
* @var string $type
|
6 |
+
* @var array $promotion
|
7 |
+
*/
|
8 |
+
?>
|
9 |
+
<div id="bookly-tbs" class="wrap">
|
10 |
+
<div id="bookly-sms-promotion-notice" class="alert <?php echo $type == 'registration' ? 'alert-success' : 'alert-info' ?>" data-id="<?php echo $promotion['id'] ?>" data-type="<?php echo $type ?>" data-dismiss="close">
|
11 |
+
<button type="button" class="close" data-dismiss="alert">×</button>
|
12 |
+
<div class="form-row">
|
13 |
+
<div class="mr-3"><i class="fas fa-sms fa-2x"></i></div>
|
14 |
+
<div class="col">
|
15 |
+
<div>
|
16 |
+
<?php switch ( $type ) :
|
17 |
+
case 'registration':
|
18 |
+
case 'first_recharge':
|
19 |
+
$locale = Lib\Config::getLocale();
|
20 |
+
echo isset ( $promotion['texts'][ $locale ] ) ? $promotion['texts'][ $locale ]['info'] : $promotion['texts']['en']['info'];
|
21 |
+
break;
|
22 |
+
case 'manual': ?>
|
23 |
+
<b><?php printf( esc_html__( 'Recharge your account and get up to %s extra.', 'bookly' ), '$' . $promotion['amount'] ) ?></b>
|
24 |
+
<?php esc_html_e( 'Send SMS notifications to your customers, increasing their loyalty and involvement.', 'bookly' ) ?>
|
25 |
+
<?php break ?>
|
26 |
+
<?php case 'auto': ?>
|
27 |
+
<b><?php printf( esc_html__( 'Enable Auto-Recharge and get up to %s extra.', 'bookly' ), '$' . $promotion['amount'] ) ?></b>
|
28 |
+
<?php esc_html_e( 'Let your clients receive notifications on time - don\'t let the service stop.', 'bookly' ) ?>
|
29 |
+
<?php break ?>
|
30 |
+
<?php endswitch ?>
|
31 |
+
</div>
|
32 |
+
<div class="d-inline-flex mt-2">
|
33 |
+
<?php Buttons::render(
|
34 |
+
null,
|
35 |
+
'btn-success bookly-js-apply-action',
|
36 |
+
$type == 'registration'
|
37 |
+
? __( 'Register', 'bookly' )
|
38 |
+
: ( $type == 'auto' ? __( 'Enable', 'bookly' ) : __( 'Recharge', 'bookly' ) )
|
39 |
+
) ?>
|
40 |
+
<?php Buttons::renderDefault( null, 'ml-2 bookly-js-remind-me-later', __( 'Remind me later', 'bookly' ) ) ?>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
</div>
|
45 |
+
</div>
|
backend/components/support/resources/js/support.js
CHANGED
@@ -85,11 +85,11 @@ jQuery(function ($) {
|
|
85 |
;
|
86 |
|
87 |
// Validation.
|
88 |
-
$email.
|
89 |
-
$msg.
|
90 |
|
91 |
// Send request.
|
92 |
-
if ($modal.find('.
|
93 |
var ladda = Ladda.create(this);
|
94 |
ladda.start();
|
95 |
$.ajax({
|
@@ -111,7 +111,7 @@ jQuery(function ($) {
|
|
111 |
} else {
|
112 |
booklyAlert({error : [response.data.message]});
|
113 |
if (response.data.invalid_email) {
|
114 |
-
$email.
|
115 |
}
|
116 |
}
|
117 |
},
|
85 |
;
|
86 |
|
87 |
// Validation.
|
88 |
+
$email.toggleClass('is-invalid', $email.val() == '');
|
89 |
+
$msg.toggleClass('is-invalid', $msg.val() == '');
|
90 |
|
91 |
// Send request.
|
92 |
+
if ($modal.find('.is-invalid').length == 0) {
|
93 |
var ladda = Ladda.create(this);
|
94 |
ladda.start();
|
95 |
$.ajax({
|
111 |
} else {
|
112 |
booklyAlert({error : [response.data.message]});
|
113 |
if (response.data.invalid_email) {
|
114 |
+
$email.addClass('is-invalid');
|
115 |
}
|
116 |
}
|
117 |
},
|
backend/components/support/templates/buttons.php
CHANGED
@@ -142,7 +142,7 @@ use Bookly\Lib\Utils;
|
|
142 |
</div>
|
143 |
<div class="modal-footer">
|
144 |
<?php Inputs::renderCsrf() ?>
|
145 |
-
<?php Buttons::
|
146 |
<?php Buttons::renderCancel() ?>
|
147 |
</div>
|
148 |
</div>
|
142 |
</div>
|
143 |
<div class="modal-footer">
|
144 |
<?php Inputs::renderCsrf() ?>
|
145 |
+
<?php Buttons::render( 'bookly-support-send', 'btn-success', __( 'Send', 'bookly' ) ) ?>
|
146 |
<?php Buttons::renderCancel() ?>
|
147 |
</div>
|
148 |
</div>
|
backend/modules/appointments/resources/js/appointments.js
CHANGED
@@ -208,7 +208,7 @@ jQuery(function($) {
|
|
208 |
orderable : false,
|
209 |
width : 120,
|
210 |
render : function (data, type, row, meta) {
|
211 |
-
return '<button type="button" class="btn btn-default" data-action="edit"><i class="far fa-fw fa-edit mr-1"></i>' + BooklyL10n.edit + '…</
|
212 |
}
|
213 |
});
|
214 |
columns.push({
|
208 |
orderable : false,
|
209 |
width : 120,
|
210 |
render : function (data, type, row, meta) {
|
211 |
+
return '<button type="button" class="btn btn-default" data-action="edit"><i class="far fa-fw fa-edit mr-1"></i>' + BooklyL10n.edit + '…</button>';
|
212 |
}
|
213 |
});
|
214 |
columns.push({
|
backend/modules/calendar/Ajax.php
CHANGED
@@ -169,6 +169,17 @@ class Ajax extends Page
|
|
169 |
wp_send_json( $result );
|
170 |
}
|
171 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
/**
|
173 |
* Get appointments for FullCalendar.
|
174 |
*
|
169 |
wp_send_json( $result );
|
170 |
}
|
171 |
|
172 |
+
/**
|
173 |
+
* Update calendar refresh rate.
|
174 |
+
*/
|
175 |
+
public static function updateCalendarRefreshRate()
|
176 |
+
{
|
177 |
+
$rate = (int) self::parameter( 'rate', 0 );
|
178 |
+
update_user_meta( get_current_user_id(), 'bookly_calendar_refresh_rate', $rate );
|
179 |
+
|
180 |
+
wp_send_json_success();
|
181 |
+
}
|
182 |
+
|
183 |
/**
|
184 |
* Get appointments for FullCalendar.
|
185 |
*
|
backend/modules/calendar/Page.php
CHANGED
@@ -39,7 +39,6 @@ class Page extends Lib\Base\Ajax
|
|
39 |
wp_localize_script( 'bookly-calendar.js', 'BooklyL10n', array(
|
40 |
'csrf_token' => Lib\Utils\Common::getCsrfToken(),
|
41 |
'slotDuration' => $slot->format( '%H:%I:%S' ),
|
42 |
-
'mjsDateFormat' => Lib\Utils\DateTime::convertFormat( 'date', Lib\Utils\DateTime::FORMAT_MOMENT_JS ),
|
43 |
'mjsTimeFormat' => Lib\Utils\DateTime::convertFormat( 'time', Lib\Utils\DateTime::FORMAT_MOMENT_JS ),
|
44 |
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
45 |
'dateRange' => Lib\Utils\DateTime::dateRangeOptions(),
|
@@ -96,8 +95,9 @@ class Page extends Lib\Base\Ajax
|
|
96 |
)
|
97 |
);
|
98 |
}
|
|
|
99 |
|
100 |
-
self::renderTemplate( 'calendar', compact( 'staff_members', 'staff_dropdown_data' ) );
|
101 |
}
|
102 |
|
103 |
/**
|
@@ -133,6 +133,7 @@ class Page extends Lib\Base\Ajax
|
|
133 |
'{custom_fields}' => '',
|
134 |
'{extras}' => '',
|
135 |
'{extras_total_price}'=> 0,
|
|
|
136 |
'{location_name}' => '',
|
137 |
'{location_info}' => '',
|
138 |
'{number_of_persons}' => '',
|
@@ -153,7 +154,7 @@ class Page extends Lib\Base\Ajax
|
|
153 |
'{total_price}' => '',
|
154 |
);
|
155 |
$query
|
156 |
-
->select( 'a.id, ca.series_id, a.staff_any, a.location_id, a.start_date, DATE_ADD(a.end_date, INTERVAL IF(ca.extras_consider_duration, a.extras_duration, 0) SECOND) AS end_date,
|
157 |
COALESCE(s.title,a.custom_service_name) AS service_name, COALESCE(s.color,"silver") AS service_color, s.info AS service_info,
|
158 |
COALESCE(ss.price,a.custom_service_price) AS service_price,
|
159 |
st.full_name AS staff_name, st.email AS staff_email, st.info AS staff_info, st.phone AS staff_phone,
|
@@ -198,6 +199,7 @@ class Page extends Lib\Base\Ajax
|
|
198 |
$codes['{appointment_date}'] = Lib\Utils\DateTime::formatDate( $appointment['start_date'] );
|
199 |
$codes['{appointment_time}'] = $appointment['duration'] >= DAY_IN_SECONDS ? $appointment['start_time_info'] : Lib\Utils\DateTime::formatTime( $appointment['start_date'] );
|
200 |
$codes['{booking_number}'] = $appointment['id'];
|
|
|
201 |
$codes['{on_waiting_list}'] = $appointment['on_waiting_list'];
|
202 |
$codes['{service_name}'] = $appointment['service_name'] ? esc_html( $appointment['service_name'] ) : __( 'Untitled', 'bookly' );
|
203 |
$codes['{service_price}'] = Lib\Utils\Price::format( $appointment['service_price'] * $appointment['units'] );
|
39 |
wp_localize_script( 'bookly-calendar.js', 'BooklyL10n', array(
|
40 |
'csrf_token' => Lib\Utils\Common::getCsrfToken(),
|
41 |
'slotDuration' => $slot->format( '%H:%I:%S' ),
|
|
|
42 |
'mjsTimeFormat' => Lib\Utils\DateTime::convertFormat( 'time', Lib\Utils\DateTime::FORMAT_MOMENT_JS ),
|
43 |
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
44 |
'dateRange' => Lib\Utils\DateTime::dateRangeOptions(),
|
95 |
)
|
96 |
);
|
97 |
}
|
98 |
+
$refresh_rate = get_user_meta( get_current_user_id(), 'bookly_calendar_refresh_rate', true );
|
99 |
|
100 |
+
self::renderTemplate( 'calendar', compact( 'staff_members', 'staff_dropdown_data', 'refresh_rate' ) );
|
101 |
}
|
102 |
|
103 |
/**
|
133 |
'{custom_fields}' => '',
|
134 |
'{extras}' => '',
|
135 |
'{extras_total_price}'=> 0,
|
136 |
+
'{internal_note}' => '',
|
137 |
'{location_name}' => '',
|
138 |
'{location_info}' => '',
|
139 |
'{number_of_persons}' => '',
|
154 |
'{total_price}' => '',
|
155 |
);
|
156 |
$query
|
157 |
+
->select( 'a.id, ca.series_id, a.staff_any, a.location_id, a.internal_note, a.start_date, DATE_ADD(a.end_date, INTERVAL IF(ca.extras_consider_duration, a.extras_duration, 0) SECOND) AS end_date,
|
158 |
COALESCE(s.title,a.custom_service_name) AS service_name, COALESCE(s.color,"silver") AS service_color, s.info AS service_info,
|
159 |
COALESCE(ss.price,a.custom_service_price) AS service_price,
|
160 |
st.full_name AS staff_name, st.email AS staff_email, st.info AS staff_info, st.phone AS staff_phone,
|
199 |
$codes['{appointment_date}'] = Lib\Utils\DateTime::formatDate( $appointment['start_date'] );
|
200 |
$codes['{appointment_time}'] = $appointment['duration'] >= DAY_IN_SECONDS ? $appointment['start_time_info'] : Lib\Utils\DateTime::formatTime( $appointment['start_date'] );
|
201 |
$codes['{booking_number}'] = $appointment['id'];
|
202 |
+
$codes['{internal_note}'] = $appointment['internal_note'];
|
203 |
$codes['{on_waiting_list}'] = $appointment['on_waiting_list'];
|
204 |
$codes['{service_name}'] = $appointment['service_name'] ? esc_html( $appointment['service_name'] ) : __( 'Untitled', 'bookly' );
|
205 |
$codes['{service_price}'] = Lib\Utils\Price::format( $appointment['service_price'] * $appointment['units'] );
|
backend/modules/calendar/resources/images/box-small.png
DELETED
Binary file
|
backend/modules/calendar/resources/images/calendar.png
DELETED
Binary file
|
backend/modules/calendar/resources/js/calendar-common.js
CHANGED
@@ -211,6 +211,8 @@
|
|
211 |
loading: function (isLoading) {
|
212 |
if (isLoading) {
|
213 |
$('.bookly-fc-loading').show();
|
|
|
|
|
214 |
}
|
215 |
},
|
216 |
eventAfterAllRender: function () {
|
@@ -280,6 +282,7 @@
|
|
280 |
getCurrentStaffId: function () { return -1; },
|
281 |
getStaffMemberIds: function () { return []; },
|
282 |
getLocationIds: function () { return []; },
|
|
|
283 |
l10n: {},
|
284 |
is_backend: true
|
285 |
};
|
211 |
loading: function (isLoading) {
|
212 |
if (isLoading) {
|
213 |
$('.bookly-fc-loading').show();
|
214 |
+
} else {
|
215 |
+
obj.options.refresh();
|
216 |
}
|
217 |
},
|
218 |
eventAfterAllRender: function () {
|
282 |
getCurrentStaffId: function () { return -1; },
|
283 |
getStaffMemberIds: function () { return []; },
|
284 |
getLocationIds: function () { return []; },
|
285 |
+
refresh: function () {},
|
286 |
l10n: {},
|
287 |
is_backend: true
|
288 |
};
|
backend/modules/calendar/resources/js/calendar.js
CHANGED
@@ -12,7 +12,8 @@ jQuery(function ($) {
|
|
12 |
locationIds = getCookie('bookly_cal_location_ids'),
|
13 |
tabId = getCookie('bookly_cal_tab_id'),
|
14 |
lastView = getCookie('bookly_cal_view'),
|
15 |
-
views = 'month,agendaWeek,agendaDay,multiStaffDay'
|
|
|
16 |
|
17 |
if (views.indexOf(lastView) == -1) {
|
18 |
lastView = 'multiStaffDay';
|
@@ -114,6 +115,40 @@ jQuery(function ($) {
|
|
114 |
// Populate locationIds.
|
115 |
locationIds = $locationsFilter.booklyDropdown('getSelected');
|
116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
/**
|
118 |
* Init FullCalendar.
|
119 |
*/
|
@@ -155,6 +190,7 @@ jQuery(function ($) {
|
|
155 |
getLocationIds: function () {
|
156 |
return locationIds;
|
157 |
},
|
|
|
158 |
l10n: BooklyL10n
|
159 |
});
|
160 |
|
12 |
locationIds = getCookie('bookly_cal_location_ids'),
|
13 |
tabId = getCookie('bookly_cal_tab_id'),
|
14 |
lastView = getCookie('bookly_cal_view'),
|
15 |
+
views = 'month,agendaWeek,agendaDay,multiStaffDay',
|
16 |
+
calendarTimer = null;
|
17 |
|
18 |
if (views.indexOf(lastView) == -1) {
|
19 |
lastView = 'multiStaffDay';
|
115 |
// Populate locationIds.
|
116 |
locationIds = $locationsFilter.booklyDropdown('getSelected');
|
117 |
|
118 |
+
/**
|
119 |
+
* Init calendar refresh buttons.
|
120 |
+
*/
|
121 |
+
function refreshBooklyCalendar() {
|
122 |
+
let $refresh = $('input[name="bookly_calendar_refresh_rate"]:checked');
|
123 |
+
clearTimeout(calendarTimer);
|
124 |
+
if ($refresh.val() > 0) {
|
125 |
+
calendarTimer = setTimeout(function () {
|
126 |
+
$fullCalendar.fullCalendar('refetchEvents');
|
127 |
+
}, $refresh.val() * 1000)
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
$('#bookly-calendar-refresh').on('click', function () {
|
132 |
+
$fullCalendar.fullCalendar('refetchEvents');
|
133 |
+
});
|
134 |
+
|
135 |
+
$('input[name="bookly_calendar_refresh_rate"]').change(function () {
|
136 |
+
$.post(
|
137 |
+
ajaxurl,
|
138 |
+
{action: 'bookly_update_calendar_refresh_rate', csrf_token: BooklyL10n.csrf_token, rate: this.value},
|
139 |
+
function (response) {},
|
140 |
+
'json'
|
141 |
+
);
|
142 |
+
if (this.value > 0) {
|
143 |
+
$(this).closest('.btn-group').find('button').addClass('btn-success').removeClass('btn-default');
|
144 |
+
} else {
|
145 |
+
$(this).closest('.btn-group').find('button').addClass('btn-default').removeClass('btn-success');
|
146 |
+
}
|
147 |
+
refreshBooklyCalendar();
|
148 |
+
});
|
149 |
+
|
150 |
+
refreshBooklyCalendar();
|
151 |
+
|
152 |
/**
|
153 |
* Init FullCalendar.
|
154 |
*/
|
190 |
getLocationIds: function () {
|
191 |
return locationIds;
|
192 |
},
|
193 |
+
refresh: refreshBooklyCalendar,
|
194 |
l10n: BooklyL10n
|
195 |
});
|
196 |
|
backend/modules/calendar/templates/calendar.php
CHANGED
@@ -3,9 +3,11 @@ use Bookly\Lib\Utils\Common;
|
|
3 |
use Bookly\Backend\Components;
|
4 |
use Bookly\Backend\Modules as Backend;
|
5 |
use Bookly\Backend\Modules\Calendar\Proxy;
|
|
|
6 |
/**
|
7 |
* @var Bookly\Lib\Entities\Staff[] $staff_members
|
8 |
-
* @var array
|
|
|
9 |
*/
|
10 |
?>
|
11 |
<style>
|
@@ -36,6 +38,25 @@ use Bookly\Backend\Modules\Calendar\Proxy;
|
|
36 |
<?php endforeach ?>
|
37 |
</ul>
|
38 |
<div class="col-auto col-md"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
<?php Proxy\OutlookCalendar::renderSyncButton( $staff_members ) ?>
|
40 |
<?php Proxy\AdvancedGoogleCalendar::renderSyncButton( $staff_members ) ?>
|
41 |
<?php Proxy\Locations::renderCalendarLocationFilter() ?>
|
3 |
use Bookly\Backend\Components;
|
4 |
use Bookly\Backend\Modules as Backend;
|
5 |
use Bookly\Backend\Modules\Calendar\Proxy;
|
6 |
+
|
7 |
/**
|
8 |
* @var Bookly\Lib\Entities\Staff[] $staff_members
|
9 |
+
* @var array $staff_dropdown_data
|
10 |
+
* @var int $refresh_rate
|
11 |
*/
|
12 |
?>
|
13 |
<style>
|
38 |
<?php endforeach ?>
|
39 |
</ul>
|
40 |
<div class="col-auto col-md"></div>
|
41 |
+
<div class="col-auto mb-2">
|
42 |
+
<div class="btn-group">
|
43 |
+
<button type="button" class="btn <?php echo $refresh_rate > 0 ? 'btn-success' : 'btn-default' ?>" id="bookly-calendar-refresh"><i class="fas fa-sync-alt"></i></button>
|
44 |
+
<button type="button" class="btn <?php echo $refresh_rate > 0 ? 'btn-success' : 'btn-default' ?> dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button>
|
45 |
+
<div class="dropdown-menu pb-0">
|
46 |
+
<h6 class="dropdown-header"><?php esc_html_e( 'Auto-refresh Calendar', 'bookly' ) ?></h6>
|
47 |
+
<div class="dropdown-divider"></div>
|
48 |
+
<?php Components\Controls\Inputs::renderRadioGroup( null, null,
|
49 |
+
array(
|
50 |
+
'60' => array( 'title' => __( 'Every 1 minute', 'bookly' ) ),
|
51 |
+
'300' => array( 'title' => __( 'Every 5 minutes', 'bookly' ) ),
|
52 |
+
'900' => array( 'title' => __( 'Every 15 minutes', 'bookly' ) ),
|
53 |
+
'0' => array( 'title' => __( 'Disable', 'bookly' ) ),
|
54 |
+
),
|
55 |
+
$refresh_rate,
|
56 |
+
array( 'name' => 'bookly_calendar_refresh_rate', 'parent-class' => 'mx-3 my-2 w-100' ) ) ?>
|
57 |
+
</div>
|
58 |
+
</div>
|
59 |
+
</div>
|
60 |
<?php Proxy\OutlookCalendar::renderSyncButton( $staff_members ) ?>
|
61 |
<?php Proxy\AdvancedGoogleCalendar::renderSyncButton( $staff_members ) ?>
|
62 |
<?php Proxy\Locations::renderCalendarLocationFilter() ?>
|
backend/modules/customers/Ajax.php
CHANGED
@@ -14,7 +14,10 @@ class Ajax extends Lib\Base\Ajax
|
|
14 |
*/
|
15 |
protected static function permissions()
|
16 |
{
|
17 |
-
return array(
|
|
|
|
|
|
|
18 |
}
|
19 |
|
20 |
/**
|
@@ -153,8 +156,11 @@ class Ajax extends Lib\Base\Ajax
|
|
153 |
|
154 |
$query->limit( $max_results )->offset( ( $page - 1 ) * $max_results );
|
155 |
|
|
|
|
|
|
|
156 |
$customers = array();
|
157 |
-
foreach ( $
|
158 |
$name = $customer['text'];
|
159 |
if ( $customer['email'] != '' || $customer['phone'] != '' ) {
|
160 |
$name .= ' (' . trim( $customer['email'] . ', ' . $customer['phone'], ', ' ) . ')';
|
@@ -169,7 +175,7 @@ class Ajax extends Lib\Base\Ajax
|
|
169 |
wp_send_json( array(
|
170 |
'results' => $customers,
|
171 |
'pagination' => array(
|
172 |
-
'more' =>
|
173 |
),
|
174 |
) );
|
175 |
}
|
14 |
*/
|
15 |
protected static function permissions()
|
16 |
{
|
17 |
+
return array(
|
18 |
+
'_default' => 'supervisor',
|
19 |
+
'getCustomersList' => array( 'staff', 'supervisor' ),
|
20 |
+
);
|
21 |
}
|
22 |
|
23 |
/**
|
156 |
|
157 |
$query->limit( $max_results )->offset( ( $page - 1 ) * $max_results );
|
158 |
|
159 |
+
$rows = $query->fetchArray();
|
160 |
+
$more = ( int ) $wpdb->get_var( 'SELECT FOUND_ROWS()' ) > $max_results * $page;
|
161 |
+
|
162 |
$customers = array();
|
163 |
+
foreach ( $rows as $customer ) {
|
164 |
$name = $customer['text'];
|
165 |
if ( $customer['email'] != '' || $customer['phone'] != '' ) {
|
166 |
$name .= ' (' . trim( $customer['email'] . ', ' . $customer['phone'], ', ' ) . ')';
|
175 |
wp_send_json( array(
|
176 |
'results' => $customers,
|
177 |
'pagination' => array(
|
178 |
+
'more' => $more,
|
179 |
),
|
180 |
) );
|
181 |
}
|
backend/modules/debug/lib/QueryBuilder.php
CHANGED
@@ -299,6 +299,7 @@ class QueryBuilder
|
|
299 |
'bookly_payments.paid_type' => array( 'type' => "enum('in_full','deposit')", 'is_nullabe' => 0, 'extra' => "", 'default' => "in_full", 'key' => "" ),
|
300 |
'bookly_payments.gateway_price_correction' => array( 'type' => "decimal(10,2)", 'is_nullabe' => 1, 'extra' => "", 'default' => "0.00", 'key' => "" ),
|
301 |
'bookly_payments.status' => array( 'type' => "enum('pending','completed','rejected')", 'is_nullabe' => 0, 'extra' => "", 'default' => "completed", 'key' => "" ),
|
|
|
302 |
'bookly_payments.details' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
303 |
'bookly_payments.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
|
304 |
'bookly_schedule_item_breaks.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
|
299 |
'bookly_payments.paid_type' => array( 'type' => "enum('in_full','deposit')", 'is_nullabe' => 0, 'extra' => "", 'default' => "in_full", 'key' => "" ),
|
300 |
'bookly_payments.gateway_price_correction' => array( 'type' => "decimal(10,2)", 'is_nullabe' => 1, 'extra' => "", 'default' => "0.00", 'key' => "" ),
|
301 |
'bookly_payments.status' => array( 'type' => "enum('pending','completed','rejected')", 'is_nullabe' => 0, 'extra' => "", 'default' => "completed", 'key' => "" ),
|
302 |
+
'bookly_payments.token' => array( 'type' => "varchar(255)", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
303 |
'bookly_payments.details' => array( 'type' => "text", 'is_nullabe' => 1, 'extra' => "", 'default' => null, 'key' => "" ),
|
304 |
'bookly_payments.created' => array( 'type' => "datetime", 'is_nullabe' => 0, 'extra' => "", 'default' => null, 'key' => "" ),
|
305 |
'bookly_schedule_item_breaks.id' => array( 'type' => "int unsigned", 'is_nullabe' => 0, 'extra' => "auto_increment", 'default' => null, 'key' => "PRI" ),
|
backend/modules/debug/lib/Schema.php
CHANGED
@@ -118,8 +118,14 @@ class Schema
|
|
118 |
break;
|
119 |
case 'MySql':
|
120 |
default:
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
return array(
|
122 |
-
'type' => $
|
123 |
'is_nullabe' => $data['IS_NULLABLE'] === 'YES' ? 1 : 0,
|
124 |
'extra' => $data['EXTRA'],
|
125 |
'default' => $data['COLUMN_DEFAULT'],
|
118 |
break;
|
119 |
case 'MySql':
|
120 |
default:
|
121 |
+
$type = $data['DATA_TYPE'];
|
122 |
+
// 5.6.32-1+deb.sury.org~precise+0.1
|
123 |
+
if ( $type === 'mediumtext' ) {
|
124 |
+
$type = 'text';
|
125 |
+
}
|
126 |
+
|
127 |
return array(
|
128 |
+
'type' => $type,
|
129 |
'is_nullabe' => $data['IS_NULLABLE'] === 'YES' ? 1 : 0,
|
130 |
'extra' => $data['EXTRA'],
|
131 |
'default' => $data['COLUMN_DEFAULT'],
|
backend/modules/notifications/Page.php
CHANGED
@@ -40,7 +40,7 @@ class Page extends Lib\Base\Component
|
|
40 |
'sentSuccessfully' => __( 'Sent successfully.', 'bookly' ),
|
41 |
'settingsSaved' => __( 'Settings saved.', 'bookly' ),
|
42 |
'areYouSure' => __( 'Are you sure?', 'bookly' ),
|
43 |
-
'
|
44 |
'processing' => __( 'Processing...', 'bookly' ),
|
45 |
'state' => array( __( 'Disabled', 'bookly' ), __( 'Enabled', 'bookly' ) ),
|
46 |
'action' => array( __( 'enable', 'bookly' ), __( 'disable', 'bookly' ) ),
|
40 |
'sentSuccessfully' => __( 'Sent successfully.', 'bookly' ),
|
41 |
'settingsSaved' => __( 'Settings saved.', 'bookly' ),
|
42 |
'areYouSure' => __( 'Are you sure?', 'bookly' ),
|
43 |
+
'noResults' => __( 'No records.', 'bookly' ),
|
44 |
'processing' => __( 'Processing...', 'bookly' ),
|
45 |
'state' => array( __( 'Disabled', 'bookly' ), __( 'Enabled', 'bookly' ) ),
|
46 |
'action' => array( __( 'enable', 'bookly' ), __( 'disable', 'bookly' ) ),
|
backend/modules/services/Ajax.php
CHANGED
@@ -351,4 +351,41 @@ class Ajax extends Page
|
|
351 |
|
352 |
wp_send_json_success( Lib\Entities\Category::query()->sortBy( 'position' )->fetchArray() );
|
353 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
354 |
}
|
351 |
|
352 |
wp_send_json_success( Lib\Entities\Category::query()->sortBy( 'position' )->fetchArray() );
|
353 |
}
|
354 |
+
|
355 |
+
/**
|
356 |
+
* Duplicate service.
|
357 |
+
*/
|
358 |
+
public static function duplicateService()
|
359 |
+
{
|
360 |
+
$service_id = self::parameter( 'service_id' );
|
361 |
+
$service = Lib\Entities\Service::find( $service_id );
|
362 |
+
if ( $service ) {
|
363 |
+
// Create copy of service
|
364 |
+
$new_service = new Lib\Entities\Service( $service->getFields() );
|
365 |
+
$new_service
|
366 |
+
->setId( null )
|
367 |
+
->setTitle( sprintf( __( 'Copy of %s', 'bookly' ), $new_service->getTitle() ) )
|
368 |
+
->setVisibility( Lib\Entities\Service::VISIBILITY_PRIVATE )
|
369 |
+
->save();
|
370 |
+
|
371 |
+
foreach ( Lib\Entities\StaffService::query()->where( 'service_id', $service->getId() )->fetchArray() as $staff_service ) {
|
372 |
+
$new_staff_service = new Lib\Entities\StaffService( $staff_service );
|
373 |
+
$new_staff_service->setId( null )->setServiceId( $new_service->getId() )->save();
|
374 |
+
}
|
375 |
+
|
376 |
+
foreach ( Lib\Entities\SubService::query()->where( 'service_id', $service->getId() )->fetchArray() as $sub_service ) {
|
377 |
+
$new_sub_service = new Lib\Entities\SubService( $sub_service );
|
378 |
+
$new_sub_service->setId( null )->setServiceId( $new_service->getId() )->save();
|
379 |
+
}
|
380 |
+
|
381 |
+
Proxy\Shared::duplicateService( $service->getId(), $new_service->getId() );
|
382 |
+
|
383 |
+
wp_send_json_success( array(
|
384 |
+
'id' => $new_service->getId(),
|
385 |
+
'title' => $new_service->getTitle(),
|
386 |
+
) );
|
387 |
+
}
|
388 |
+
|
389 |
+
wp_send_json_success();
|
390 |
+
}
|
391 |
}
|
backend/modules/services/Page.php
CHANGED
@@ -58,7 +58,9 @@ class Page extends Lib\Base\Ajax
|
|
58 |
wp_localize_script( 'bookly-services-list.js', 'BooklyL10n', array(
|
59 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
60 |
'are_you_sure' => esc_attr__( 'Are you sure?', 'bookly' ),
|
|
|
61 |
'edit' => esc_attr__( 'Edit', 'bookly' ),
|
|
|
62 |
'reorder' => esc_attr__( 'Reorder', 'bookly' ),
|
63 |
'staff' => $staff,
|
64 |
'categories' => $categories,
|
58 |
wp_localize_script( 'bookly-services-list.js', 'BooklyL10n', array(
|
59 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
60 |
'are_you_sure' => esc_attr__( 'Are you sure?', 'bookly' ),
|
61 |
+
'private_warning' => esc_attr__( 'The service will be created with the visibility of Private.', 'bookly' ),
|
62 |
'edit' => esc_attr__( 'Edit', 'bookly' ),
|
63 |
+
'duplicate' => esc_attr__( 'Duplicate', 'bookly' ),
|
64 |
'reorder' => esc_attr__( 'Reorder', 'bookly' ),
|
65 |
'staff' => $staff,
|
66 |
'categories' => $categories,
|
backend/modules/services/forms/Service.php
CHANGED
@@ -43,6 +43,7 @@ class Service extends Lib\Base\Form
|
|
43 |
'staff_preference',
|
44 |
'staff_preferred_period_before',
|
45 |
'staff_preferred_period_after',
|
|
|
46 |
'recurrence_enabled',
|
47 |
'recurrence_frequencies',
|
48 |
'visibility',
|
43 |
'staff_preference',
|
44 |
'staff_preferred_period_before',
|
45 |
'staff_preferred_period_after',
|
46 |
+
'staff_preferred_random',
|
47 |
'recurrence_enabled',
|
48 |
'recurrence_frequencies',
|
49 |
'visibility',
|
backend/modules/services/proxy/Shared.php
CHANGED
@@ -8,6 +8,7 @@ use Bookly\Lib;
|
|
8 |
* @package Bookly\Backend\Modules\Services\Proxy
|
9 |
*
|
10 |
* @method static void enqueueAssetsForServices() Enqueue assets for page Services.
|
|
|
11 |
* @method static array prepareServiceColors( array $colors, int $service_id, int $service_type ) Prepare colors for service.
|
12 |
* @method static array prepareServiceIcons( array $icons ) Prepare service icons.
|
13 |
* @method static array prepareServiceTypes( array $types ) Prepare service types.
|
8 |
* @package Bookly\Backend\Modules\Services\Proxy
|
9 |
*
|
10 |
* @method static void enqueueAssetsForServices() Enqueue assets for page Services.
|
11 |
+
* @method static void duplicateService( int $source_id, int $target_id ) Duplicate service.
|
12 |
* @method static array prepareServiceColors( array $colors, int $service_id, int $service_type ) Prepare colors for service.
|
13 |
* @method static array prepareServiceIcons( array $icons ) Prepare service icons.
|
14 |
* @method static array prepareServiceTypes( array $types ) Prepare service types.
|
backend/modules/services/resources/js/services-list.js
CHANGED
@@ -95,7 +95,7 @@ jQuery(function ($) {
|
|
95 |
orderable: false,
|
96 |
searchable: false,
|
97 |
render: function (data, type, row, meta) {
|
98 |
-
return '<button type="button" class="btn btn-default" data-action="edit"><i class="far fa-fw fa-edit mr-1"></i>' + BooklyL10n.edit + '…</
|
99 |
}
|
100 |
});
|
101 |
columns.push({
|
@@ -232,6 +232,26 @@ jQuery(function ($) {
|
|
232 |
delete_services(ajaxurl, data);
|
233 |
});
|
234 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
$('.bookly-js-select')
|
236 |
.select2({
|
237 |
width: '100%',
|
95 |
orderable: false,
|
96 |
searchable: false,
|
97 |
render: function (data, type, row, meta) {
|
98 |
+
return '<div class="d-inline-flex"><button type="button" class="btn btn-default mr-1" data-action="edit"><i class="far fa-fw fa-edit mr-1"></i>' + BooklyL10n.edit + '…</button><button type="button" class="btn btn-default ladda-button" data-action="duplicate" data-spinner-size="40" data-style="zoom-in" data-spinner-color="#666666"><span class="ladda-label"><i class="far fa-fw fa-clone mr-1"></i>' + BooklyL10n.duplicate + '…</span></button></div>';
|
99 |
}
|
100 |
});
|
101 |
columns.push({
|
232 |
delete_services(ajaxurl, data);
|
233 |
});
|
234 |
|
235 |
+
$servicesList.on('click', '[data-action="duplicate"]', function () {
|
236 |
+
if (confirm(BooklyL10n.are_you_sure + "\n\n" + BooklyL10n.private_warning)) {
|
237 |
+
let ladda = rangeTools.ladda(this),
|
238 |
+
data = $servicesList.DataTable().row($(this).closest('td')).data();
|
239 |
+
$.post(
|
240 |
+
ajaxurl,
|
241 |
+
{
|
242 |
+
action : 'bookly_duplicate_service',
|
243 |
+
service_id: data.id,
|
244 |
+
csrf_token: BooklyL10n.csrfToken,
|
245 |
+
},
|
246 |
+
function (response) {
|
247 |
+
dt.ajax.reload();
|
248 |
+
BooklyServiceOrderDialogL10n.services.push({id: response.data.id, title: response.data.title});
|
249 |
+
ladda.stop();
|
250 |
+
}
|
251 |
+
);
|
252 |
+
}
|
253 |
+
});
|
254 |
+
|
255 |
$('.bookly-js-select')
|
256 |
.select2({
|
257 |
width: '100%',
|
backend/modules/services/templates/time.php
CHANGED
@@ -51,7 +51,7 @@ use Bookly\Backend\Modules\Services\Proxy;
|
|
51 |
<option value="<?php echo $duration ?>"<?php selected( $service['slot_length'], $duration ) ?>><?php echo esc_html( DateTime::secondsToInterval( $duration ) ) ?></option>
|
52 |
<?php endforeach ?>
|
53 |
</select>
|
54 |
-
<small class="form-text text-muted"><?php esc_html_e( 'The time interval which is used as a step when building all time slots for the service at the Time step. The setting overrides global settings in Settings
|
55 |
</div>
|
56 |
<?php Proxy\Pro::renderPadding( $service ) ?>
|
57 |
<?php Proxy\Tasks::renderSubForm( $service ) ?>
|
51 |
<option value="<?php echo $duration ?>"<?php selected( $service['slot_length'], $duration ) ?>><?php echo esc_html( DateTime::secondsToInterval( $duration ) ) ?></option>
|
52 |
<?php endforeach ?>
|
53 |
</select>
|
54 |
+
<small class="form-text text-muted"><?php esc_html_e( 'The time interval which is used as a step when building all time slots for the service at the Time step. The setting overrides global settings in Settings > General. Use Default to apply global settings.', 'bookly' ) ?></small>
|
55 |
</div>
|
56 |
<?php Proxy\Pro::renderPadding( $service ) ?>
|
57 |
<?php Proxy\Tasks::renderSubForm( $service ) ?>
|
backend/modules/settings/resources/js/settings.js
CHANGED
@@ -1,22 +1,23 @@
|
|
1 |
jQuery(function ($) {
|
2 |
-
let $helpBtn
|
3 |
-
$businessHours
|
4 |
-
$companyLogo
|
5 |
-
$finalStepUrl
|
6 |
-
$finalStepUrlMode
|
7 |
-
$participants
|
8 |
-
$defaultCountry
|
9 |
-
$defaultCountryCode
|
10 |
-
$gcSyncMode
|
11 |
-
$gcLimitEvents
|
12 |
-
$gcFullSyncOffset
|
13 |
-
$gcFullSyncTitles
|
14 |
-
$
|
15 |
-
$
|
16 |
-
$
|
17 |
-
$
|
18 |
-
$
|
19 |
-
$
|
|
|
20 |
;
|
21 |
|
22 |
booklyAlert(BooklyL10n.alert);
|
@@ -46,6 +47,7 @@ jQuery(function ($) {
|
|
46 |
$gcLimitEvents.closest('.form-group').toggle(this.value == '1.5-way');
|
47 |
$gcFullSyncOffset.closest('.form-group').toggle(this.value == '2-way');
|
48 |
$gcFullSyncTitles.closest('.form-group').toggle(this.value == '2-way');
|
|
|
49 |
}).trigger('change');
|
50 |
|
51 |
// Outlook Calendar tab.
|
1 |
jQuery(function ($) {
|
2 |
+
let $helpBtn = $('#bookly-help-btn'),
|
3 |
+
$businessHours = $('#business-hours'),
|
4 |
+
$companyLogo = $('#bookly-js-company-logo'),
|
5 |
+
$finalStepUrl = $('input[name=bookly_url_final_step_url]'),
|
6 |
+
$finalStepUrlMode = $('#bookly_settings_final_step_url_mode'),
|
7 |
+
$participants = $('#bookly_appointment_participants'),
|
8 |
+
$defaultCountry = $('#bookly_cst_phone_default_country'),
|
9 |
+
$defaultCountryCode = $('#bookly_cst_default_country_code'),
|
10 |
+
$gcSyncMode = $('#bookly_gc_sync_mode'),
|
11 |
+
$gcLimitEvents = $('#bookly_gc_limit_events'),
|
12 |
+
$gcFullSyncOffset = $('#bookly_gc_full_sync_offset_days'),
|
13 |
+
$gcFullSyncTitles = $('#bookly_gc_full_sync_titles'),
|
14 |
+
$gcForceUpdateDescription = $('#bookly_gc_force_update_description'),
|
15 |
+
$ocSyncMode = $('#bookly_oc_sync_mode'),
|
16 |
+
$ocLimitEvents = $('#bookly_oc_limit_events'),
|
17 |
+
$ocFullSyncOffset = $('#bookly_oc_full_sync_offset_days'),
|
18 |
+
$ocFullSyncTitles = $('#bookly_oc_full_sync_titles'),
|
19 |
+
$currency = $('#bookly_pmt_currency'),
|
20 |
+
$formats = $('#bookly_pmt_price_format')
|
21 |
;
|
22 |
|
23 |
booklyAlert(BooklyL10n.alert);
|
47 |
$gcLimitEvents.closest('.form-group').toggle(this.value == '1.5-way');
|
48 |
$gcFullSyncOffset.closest('.form-group').toggle(this.value == '2-way');
|
49 |
$gcFullSyncTitles.closest('.form-group').toggle(this.value == '2-way');
|
50 |
+
$gcForceUpdateDescription.closest('.form-group').toggle(this.value == '2-way');
|
51 |
}).trigger('change');
|
52 |
|
53 |
// Outlook Calendar tab.
|
backend/modules/settings/templates/_calendar_codes.php
CHANGED
@@ -10,6 +10,7 @@ $codes = array(
|
|
10 |
array( 'code' => 'company_name', 'description' => __( 'name of company', 'bookly' ) ),
|
11 |
array( 'code' => 'company_phone', 'description' => __( 'company phone', 'bookly' ) ),
|
12 |
array( 'code' => 'company_website', 'description' => __( 'company web-site address', 'bookly' ) ),
|
|
|
13 |
array( 'code' => 'service_capacity', 'description' => __( 'capacity of service', 'bookly' ) ),
|
14 |
array( 'code' => 'service_duration', 'description' => __( 'duration of service', 'bookly' ) ),
|
15 |
array( 'code' => 'service_info', 'description' => __( 'info of service', 'bookly' ) ),
|
10 |
array( 'code' => 'company_name', 'description' => __( 'name of company', 'bookly' ) ),
|
11 |
array( 'code' => 'company_phone', 'description' => __( 'company phone', 'bookly' ) ),
|
12 |
array( 'code' => 'company_website', 'description' => __( 'company web-site address', 'bookly' ) ),
|
13 |
+
array( 'code' => 'internal_note', 'description' => __( 'internal note', 'bookly' ) ),
|
14 |
array( 'code' => 'service_capacity', 'description' => __( 'capacity of service', 'bookly' ) ),
|
15 |
array( 'code' => 'service_duration', 'description' => __( 'duration of service', 'bookly' ) ),
|
16 |
array( 'code' => 'service_info', 'description' => __( 'info of service', 'bookly' ) ),
|
backend/modules/sms/Ajax.php
CHANGED
@@ -25,13 +25,11 @@ class Ajax extends Lib\Base\Ajax
|
|
25 |
*/
|
26 |
public static function getPurchasesList()
|
27 |
{
|
28 |
-
$sms = new Lib\SMS();
|
29 |
-
|
30 |
$dates = explode( ' - ', self::parameter( 'range' ), 2 );
|
31 |
$start = Lib\Utils\DateTime::applyTimeZoneOffset( $dates[0], 0 );
|
32 |
$end = Lib\Utils\DateTime::applyTimeZoneOffset( date( 'Y-m-d', strtotime( '+1 day', strtotime( $dates[1] ) ) ), 0 );
|
33 |
|
34 |
-
wp_send_json(
|
35 |
}
|
36 |
|
37 |
/**
|
@@ -39,13 +37,11 @@ class Ajax extends Lib\Base\Ajax
|
|
39 |
*/
|
40 |
public static function getSmsList()
|
41 |
{
|
42 |
-
$sms = new Lib\SMS();
|
43 |
-
|
44 |
$dates = explode( ' - ', self::parameter( 'range' ), 2 );
|
45 |
$start = Lib\Utils\DateTime::applyTimeZoneOffset( $dates[0], 0 );
|
46 |
$end = Lib\Utils\DateTime::applyTimeZoneOffset( date( 'Y-m-d', strtotime( '+1 day', strtotime( $dates[1] ) ) ), 0 );
|
47 |
|
48 |
-
wp_send_json(
|
49 |
}
|
50 |
|
51 |
/**
|
@@ -53,48 +49,21 @@ class Ajax extends Lib\Base\Ajax
|
|
53 |
*/
|
54 |
public static function getPriceList()
|
55 |
{
|
56 |
-
|
57 |
-
wp_send_json( $sms->getPriceList() );
|
58 |
}
|
59 |
|
60 |
/**
|
61 |
-
*
|
62 |
*/
|
63 |
-
public static function
|
64 |
{
|
65 |
-
$
|
66 |
-
$send = $sms->resendConfirmation();
|
67 |
-
$message = $send ? __( 'The email has been resent', 'bookly' ) : __( 'Service is temporarily unavailable. Please try again later.', 'bookly' );
|
68 |
-
$send
|
69 |
-
? wp_send_json_success( compact( 'message' ) )
|
70 |
-
: wp_send_json_error( compact( 'message' ) );
|
71 |
-
}
|
72 |
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
public static function initAutoRecharge()
|
77 |
-
{
|
78 |
-
$sms = new Lib\SMS();
|
79 |
-
$key = $sms->getPreapprovalKey( self::parameter( 'amount' ) );
|
80 |
-
if ( $key !== false ) {
|
81 |
-
wp_send_json_success( array( 'paypal_preapproval' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_ap-preapproval&preapprovalkey=' . $key ) );
|
82 |
-
} else {
|
83 |
-
wp_send_json_error( array( 'message' => __( 'Auto-Recharge has failed, please replenish your balance directly.', 'bookly' ) ) );
|
84 |
-
}
|
85 |
-
}
|
86 |
-
|
87 |
-
/**
|
88 |
-
* Disable Auto-Recharge balance
|
89 |
-
*/
|
90 |
-
public static function declineAutoRecharge()
|
91 |
-
{
|
92 |
-
$sms = new Lib\SMS();
|
93 |
-
$declined = $sms->declinePreapproval();
|
94 |
-
if ( $declined !== false ) {
|
95 |
-
wp_send_json_success( array( 'message' => __( 'Auto-Recharge disabled', 'bookly' ) ) );
|
96 |
} else {
|
97 |
-
|
98 |
}
|
99 |
}
|
100 |
|
@@ -103,13 +72,12 @@ class Ajax extends Lib\Base\Ajax
|
|
103 |
*/
|
104 |
public static function changePassword()
|
105 |
{
|
106 |
-
$sms = new Lib\SMS();
|
107 |
$old_password = self::parameter( 'old_password' );
|
108 |
$new_password = self::parameter( 'new_password' );
|
109 |
|
110 |
-
$result =
|
111 |
if ( $result === false ) {
|
112 |
-
wp_send_json_error( array( 'message' => current(
|
113 |
} else {
|
114 |
wp_send_json_success();
|
115 |
}
|
@@ -120,7 +88,7 @@ class Ajax extends Lib\Base\Ajax
|
|
120 |
*/
|
121 |
public static function sendTestSms()
|
122 |
{
|
123 |
-
$sms =
|
124 |
$response = array( 'success' => $sms->sendSms(
|
125 |
self::parameter( 'phone_number' ),
|
126 |
'Bookly test SMS.',
|
@@ -142,7 +110,7 @@ class Ajax extends Lib\Base\Ajax
|
|
142 |
*/
|
143 |
public static function forgotPassword()
|
144 |
{
|
145 |
-
$sms =
|
146 |
$step = self::parameter( 'step' );
|
147 |
$code = self::parameter( 'code' );
|
148 |
$username = self::parameter( 'username' );
|
@@ -161,8 +129,7 @@ class Ajax extends Lib\Base\Ajax
|
|
161 |
*/
|
162 |
public static function getSenderIdsList()
|
163 |
{
|
164 |
-
|
165 |
-
wp_send_json( $sms->getSenderIdsList() );
|
166 |
}
|
167 |
|
168 |
/**
|
@@ -170,12 +137,12 @@ class Ajax extends Lib\Base\Ajax
|
|
170 |
*/
|
171 |
public static function requestSenderId()
|
172 |
{
|
173 |
-
$sms =
|
174 |
$result = $sms->requestSenderId( self::parameter( 'sender_id' ) );
|
175 |
if ( $result === false ) {
|
176 |
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
177 |
} else {
|
178 |
-
wp_send_json_success( array( 'request_id' => $result
|
179 |
}
|
180 |
}
|
181 |
|
@@ -184,7 +151,7 @@ class Ajax extends Lib\Base\Ajax
|
|
184 |
*/
|
185 |
public static function cancelSenderId()
|
186 |
{
|
187 |
-
$sms =
|
188 |
$result = $sms->cancelSenderId();
|
189 |
if ( $result === false ) {
|
190 |
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
@@ -198,7 +165,7 @@ class Ajax extends Lib\Base\Ajax
|
|
198 |
*/
|
199 |
public static function resetSenderId()
|
200 |
{
|
201 |
-
$sms =
|
202 |
$result = $sms->resetSenderId();
|
203 |
if ( $result === false ) {
|
204 |
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
@@ -212,31 +179,68 @@ class Ajax extends Lib\Base\Ajax
|
|
212 |
*/
|
213 |
public static function saveInvoiceData()
|
214 |
{
|
215 |
-
$sms =
|
216 |
$result = $sms->sendInvoiceData( (array) self::parameter( 'invoice' ) );
|
217 |
if ( $result === false ) {
|
218 |
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
219 |
} else {
|
220 |
-
wp_send_json_success(
|
221 |
}
|
222 |
}
|
223 |
|
224 |
/**
|
225 |
-
*
|
226 |
*/
|
227 |
-
public static function
|
228 |
{
|
229 |
-
$
|
230 |
-
$
|
231 |
-
|
232 |
-
if ( $response ) {
|
233 |
-
update_option( 'bookly_sms_token', $response->token );
|
234 |
-
update_option( 'bookly_sms_unverified_token', '' );
|
235 |
-
update_option( 'bookly_sms_unverified_username', '' );
|
236 |
wp_send_json_success();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
} else {
|
238 |
-
wp_send_json_error( array( 'message' =>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
}
|
|
|
|
|
240 |
}
|
241 |
|
242 |
/**
|
@@ -321,8 +325,7 @@ class Ajax extends Lib\Base\Ajax
|
|
321 |
public static function sendQueue()
|
322 |
{
|
323 |
$queue = self::parameter( 'queue', array() );
|
324 |
-
$sms =
|
325 |
-
|
326 |
foreach ( $queue as $notification ) {
|
327 |
if ( $notification['gateway'] == 'sms' ) {
|
328 |
$sms->sendSms( $notification['address'], $notification['message'], $notification['impersonal'], $notification['type_id'] );
|
@@ -362,4 +365,53 @@ class Ajax extends Lib\Base\Ajax
|
|
362 |
}
|
363 |
}
|
364 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
365 |
}
|
25 |
*/
|
26 |
public static function getPurchasesList()
|
27 |
{
|
|
|
|
|
28 |
$dates = explode( ' - ', self::parameter( 'range' ), 2 );
|
29 |
$start = Lib\Utils\DateTime::applyTimeZoneOffset( $dates[0], 0 );
|
30 |
$end = Lib\Utils\DateTime::applyTimeZoneOffset( date( 'Y-m-d', strtotime( '+1 day', strtotime( $dates[1] ) ) ), 0 );
|
31 |
|
32 |
+
wp_send_json( Lib\SMS::getInstance()->getPurchasesList( $start, $end ) );
|
33 |
}
|
34 |
|
35 |
/**
|
37 |
*/
|
38 |
public static function getSmsList()
|
39 |
{
|
|
|
|
|
40 |
$dates = explode( ' - ', self::parameter( 'range' ), 2 );
|
41 |
$start = Lib\Utils\DateTime::applyTimeZoneOffset( $dates[0], 0 );
|
42 |
$end = Lib\Utils\DateTime::applyTimeZoneOffset( date( 'Y-m-d', strtotime( '+1 day', strtotime( $dates[1] ) ) ), 0 );
|
43 |
|
44 |
+
wp_send_json( Lib\SMS::getInstance()->getSmsList( $start, $end ) );
|
45 |
}
|
46 |
|
47 |
/**
|
49 |
*/
|
50 |
public static function getPriceList()
|
51 |
{
|
52 |
+
wp_send_json( Lib\SMS::getInstance()->getPriceList() );
|
|
|
53 |
}
|
54 |
|
55 |
/**
|
56 |
+
* Change country.
|
57 |
*/
|
58 |
+
public static function changeCountry()
|
59 |
{
|
60 |
+
$country = self::parameter( 'country' );
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
|
62 |
+
$result = Lib\SMS::getInstance()->changeCountry( $country );
|
63 |
+
if ( $result === false ) {
|
64 |
+
wp_send_json_error( array( 'message' => current( Lib\SMS::getInstance()->getErrors() ) ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
} else {
|
66 |
+
wp_send_json( $result );
|
67 |
}
|
68 |
}
|
69 |
|
72 |
*/
|
73 |
public static function changePassword()
|
74 |
{
|
|
|
75 |
$old_password = self::parameter( 'old_password' );
|
76 |
$new_password = self::parameter( 'new_password' );
|
77 |
|
78 |
+
$result = Lib\SMS::getInstance()->changePassword( $new_password, $old_password );
|
79 |
if ( $result === false ) {
|
80 |
+
wp_send_json_error( array( 'message' => current( Lib\SMS::getInstance()->getErrors() ) ) );
|
81 |
} else {
|
82 |
wp_send_json_success();
|
83 |
}
|
88 |
*/
|
89 |
public static function sendTestSms()
|
90 |
{
|
91 |
+
$sms = Lib\SMS::getInstance();
|
92 |
$response = array( 'success' => $sms->sendSms(
|
93 |
self::parameter( 'phone_number' ),
|
94 |
'Bookly test SMS.',
|
110 |
*/
|
111 |
public static function forgotPassword()
|
112 |
{
|
113 |
+
$sms = Lib\SMS::getInstance();
|
114 |
$step = self::parameter( 'step' );
|
115 |
$code = self::parameter( 'code' );
|
116 |
$username = self::parameter( 'username' );
|
129 |
*/
|
130 |
public static function getSenderIdsList()
|
131 |
{
|
132 |
+
wp_send_json( Lib\SMS::getInstance()->getSenderIdsList() );
|
|
|
133 |
}
|
134 |
|
135 |
/**
|
137 |
*/
|
138 |
public static function requestSenderId()
|
139 |
{
|
140 |
+
$sms = Lib\SMS::getInstance();
|
141 |
$result = $sms->requestSenderId( self::parameter( 'sender_id' ) );
|
142 |
if ( $result === false ) {
|
143 |
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
144 |
} else {
|
145 |
+
wp_send_json_success( array( 'request_id' => $result['request_id'] ) );
|
146 |
}
|
147 |
}
|
148 |
|
151 |
*/
|
152 |
public static function cancelSenderId()
|
153 |
{
|
154 |
+
$sms = Lib\SMS::getInstance();
|
155 |
$result = $sms->cancelSenderId();
|
156 |
if ( $result === false ) {
|
157 |
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
165 |
*/
|
166 |
public static function resetSenderId()
|
167 |
{
|
168 |
+
$sms = Lib\SMS::getInstance();
|
169 |
$result = $sms->resetSenderId();
|
170 |
if ( $result === false ) {
|
171 |
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
179 |
*/
|
180 |
public static function saveInvoiceData()
|
181 |
{
|
182 |
+
$sms = Lib\SMS::getInstance();
|
183 |
$result = $sms->sendInvoiceData( (array) self::parameter( 'invoice' ) );
|
184 |
if ( $result === false ) {
|
185 |
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
186 |
} else {
|
187 |
+
wp_send_json_success();
|
188 |
}
|
189 |
}
|
190 |
|
191 |
/**
|
192 |
+
* Login.
|
193 |
*/
|
194 |
+
public static function smsLogin()
|
195 |
{
|
196 |
+
$sms = new Lib\SMS();
|
197 |
+
$result = $sms->login( self::parameter( 'username' ), self::parameter( 'password' ) );
|
198 |
+
if ( $result ) {
|
|
|
|
|
|
|
|
|
199 |
wp_send_json_success();
|
200 |
+
}
|
201 |
+
|
202 |
+
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Registration.
|
207 |
+
*/
|
208 |
+
public static function smsRegister()
|
209 |
+
{
|
210 |
+
$sms = new Lib\SMS();
|
211 |
+
|
212 |
+
if ( self::parameter( 'accept_tos', false ) ) {
|
213 |
+
$response = $sms->register(
|
214 |
+
self::parameter( 'username' ),
|
215 |
+
self::parameter( 'password' ),
|
216 |
+
self::parameter( 'password_repeat' ),
|
217 |
+
self::parameter( 'country' )
|
218 |
+
);
|
219 |
+
if ( $response ) {
|
220 |
+
update_option( 'bookly_sms_token', $response['token'] );
|
221 |
+
|
222 |
+
wp_send_json_success();
|
223 |
+
}
|
224 |
} else {
|
225 |
+
wp_send_json_error( array( 'message' => __( 'Please accept terms and conditions.', 'bookly' ) ) );
|
226 |
+
}
|
227 |
+
|
228 |
+
wp_send_json_error( array( 'message' => current( $sms->getErrors() ) ) );
|
229 |
+
}
|
230 |
+
|
231 |
+
/**
|
232 |
+
* Logout.
|
233 |
+
*/
|
234 |
+
public static function smsLogout()
|
235 |
+
{
|
236 |
+
$sms = new Lib\SMS();
|
237 |
+
$sms->logout();
|
238 |
+
|
239 |
+
foreach ( get_users( 'role=administrator' ) as $user ) {
|
240 |
+
delete_user_meta( $user->ID, 'bookly_dismiss_sms_account_settings_notice' );
|
241 |
}
|
242 |
+
|
243 |
+
wp_send_json_success();
|
244 |
}
|
245 |
|
246 |
/**
|
325 |
public static function sendQueue()
|
326 |
{
|
327 |
$queue = self::parameter( 'queue', array() );
|
328 |
+
$sms = Lib\SMS::getInstance();
|
|
|
329 |
foreach ( $queue as $notification ) {
|
330 |
if ( $notification['gateway'] == 'sms' ) {
|
331 |
$sms->sendSms( $notification['address'], $notification['message'], $notification['impersonal'], $notification['type_id'] );
|
365 |
}
|
366 |
}
|
367 |
}
|
368 |
+
|
369 |
+
/**
|
370 |
+
* Apply confirmation code.
|
371 |
+
*/
|
372 |
+
public static function applyConfirmationCode()
|
373 |
+
{
|
374 |
+
$code = self::parameter( 'code' );
|
375 |
+
|
376 |
+
$result = Lib\SMS::getInstance()->confirmEmail( $code );
|
377 |
+
if ( $result === false ) {
|
378 |
+
wp_send_json_error( array( 'message' => current( Lib\SMS::getInstance()->getErrors() ) ) );
|
379 |
+
} else {
|
380 |
+
wp_send_json( $result );
|
381 |
+
}
|
382 |
+
}
|
383 |
+
|
384 |
+
/**
|
385 |
+
* Resend confirmation code.
|
386 |
+
*/
|
387 |
+
public static function resendConfirmationCode()
|
388 |
+
{
|
389 |
+
$result = Lib\SMS::getInstance()->resendConfirmation();
|
390 |
+
if ( $result === false ) {
|
391 |
+
wp_send_json_error( array( 'message' => current( Lib\SMS::getInstance()->getErrors() ) ) );
|
392 |
+
} else {
|
393 |
+
wp_send_json( $result );
|
394 |
+
}
|
395 |
+
}
|
396 |
+
|
397 |
+
|
398 |
+
/**
|
399 |
+
* Dismiss confirm email modal.
|
400 |
+
*/
|
401 |
+
public static function dismissConfirmEmail()
|
402 |
+
{
|
403 |
+
update_user_meta( get_current_user_id(), 'bookly_dismiss_sms_confirm_email', 1 );
|
404 |
+
|
405 |
+
wp_send_json_success();
|
406 |
+
}
|
407 |
+
|
408 |
+
/**
|
409 |
+
* Dismiss notice that shows user where SMS account settings are located
|
410 |
+
*/
|
411 |
+
public static function dismissSmsAccountSettingsNotice()
|
412 |
+
{
|
413 |
+
update_user_meta( get_current_user_id(), Lib\Plugin::getPrefix() . 'dismiss_sms_account_settings_notice', 1 );
|
414 |
+
|
415 |
+
wp_send_json_success();
|
416 |
+
}
|
417 |
}
|
backend/modules/sms/Page.php
CHANGED
@@ -13,14 +13,79 @@ class Page extends Lib\Base\Component
|
|
13 |
* Render page.
|
14 |
*/
|
15 |
public static function render()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
{
|
17 |
self::enqueueStyles( array(
|
18 |
-
'frontend' =>
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
23 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
'backend' => array( 'bootstrap/css/bootstrap.min.css', ),
|
25 |
) );
|
26 |
|
@@ -31,6 +96,7 @@ class Page extends Lib\Base\Component
|
|
31 |
'js/moment.min.js',
|
32 |
'js/daterangepicker.js' => array( 'jquery' ),
|
33 |
'js/alert.js' => array( 'jquery' ),
|
|
|
34 |
),
|
35 |
'frontend' => array_merge(
|
36 |
array(
|
@@ -42,81 +108,24 @@ class Page extends Lib\Base\Component
|
|
42 |
: array( 'js/intlTelInput.min.js' => array( 'jquery' ) )
|
43 |
),
|
44 |
'module' => array(
|
45 |
-
'js/sms.js' => array( '
|
|
|
46 |
'js/notifications-list.js' => array( 'jquery', ),
|
47 |
-
)
|
48 |
) );
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
$show_form = get_option( 'bookly_sms_unverified_token' ) ? 'confirm' : 'registration';
|
55 |
-
$user_login = null;
|
56 |
-
if ( self::hasParameter( 'form-login' ) ) {
|
57 |
-
if ( $sms->login( self::parameter( 'username' ), self::parameter( 'password' ) ) === 'ERROR_EMAIL_CONFIRM_REQUIRED' ) {
|
58 |
-
$user_login = self::parameter( 'username' );
|
59 |
-
$show_form = 'confirm';
|
60 |
-
}
|
61 |
-
} elseif ( self::hasParameter( 'form-logout' ) ) {
|
62 |
-
$sms->logout();
|
63 |
-
} elseif ( self::hasParameter( 'form-registration' ) ) {
|
64 |
-
if ( self::parameter( 'accept_tos', false ) ) {
|
65 |
-
$success = $sms->register(
|
66 |
-
self::parameter( 'username' ),
|
67 |
-
self::parameter( 'password' ),
|
68 |
-
self::parameter( 'password_repeat' )
|
69 |
-
);
|
70 |
-
if ( $success ) {
|
71 |
-
$user_login = self::parameter( 'username' );
|
72 |
-
$show_form = 'confirm';
|
73 |
-
update_option( 'bookly_sms_unverified_token', $success->token );
|
74 |
-
update_option( 'bookly_sms_unverified_username', $user_login );
|
75 |
-
} else {
|
76 |
-
$show_form = 'registration';
|
77 |
-
}
|
78 |
-
} else {
|
79 |
-
$alert['error'][] = __( 'Please accept terms and conditions.', 'bookly' );
|
80 |
-
}
|
81 |
}
|
82 |
-
if ( $
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
}
|
87 |
|
88 |
-
|
89 |
-
if ( $response = $sms->getPriceList() ) {
|
90 |
-
$prices = $response->list;
|
91 |
-
}
|
92 |
-
if ( $_SERVER['REQUEST_METHOD'] == 'GET' ) {
|
93 |
-
// Hide authentication errors on auto login.
|
94 |
-
$sms->clearErrors();
|
95 |
-
}
|
96 |
-
} else {
|
97 |
-
switch ( self::parameter( 'paypal_result' ) ) {
|
98 |
-
case 'success':
|
99 |
-
$alert['success'][] = __( 'Your payment has been accepted for processing.', 'bookly' );
|
100 |
-
break;
|
101 |
-
case 'cancel':
|
102 |
-
$alert['error'][] = __( 'Your payment has been interrupted.', 'bookly' );
|
103 |
-
break;
|
104 |
-
}
|
105 |
-
if ( self::hasParameter( 'tab' ) ) {
|
106 |
-
switch ( self::parameter( 'auto-recharge' ) ) {
|
107 |
-
case 'approved':
|
108 |
-
$alert['success'][] = __( 'Auto-Recharge enabled.', 'bookly' );
|
109 |
-
break;
|
110 |
-
case 'declined':
|
111 |
-
$alert['error'][] = __( 'You declined the Auto-Recharge of your balance.', 'bookly' );
|
112 |
-
break;
|
113 |
-
}
|
114 |
-
}
|
115 |
-
}
|
116 |
-
$current_tab = self::hasParameter( 'tab' ) ? self::parameter( 'tab' ) : 'notifications';
|
117 |
-
$alert['error'] = array_merge( $alert['error'], array_values( $sms->getErrors() ) );
|
118 |
-
// Services in custom notifications where the recipient is client only.
|
119 |
-
$only_client = Lib\Entities\Service::query()->whereIn( 'type', array( Lib\Entities\Service::TYPE_COMPOUND, Lib\Entities\Service::TYPE_COLLABORATIVE ) )->fetchCol( 'id' );
|
120 |
|
121 |
// Prepare tables settings.
|
122 |
$datatables = Lib\Utils\Tables::getSettings( array(
|
@@ -127,53 +136,50 @@ class Page extends Lib\Base\Component
|
|
127 |
'sms_sender',
|
128 |
) );
|
129 |
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
'country'
|
137 |
-
'
|
138 |
-
'
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
),
|
152 |
-
'
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
),
|
161 |
-
'state' => array( __( 'Disabled', 'bookly' ), __( 'Enabled', 'bookly' ) ),
|
162 |
-
'action' => array( __( 'enable', 'bookly' ), __( 'disable', 'bookly' ) ),
|
163 |
-
'edit' => __( 'Edit', 'bookly' ),
|
164 |
-
'settingsSaved' => __( 'Settings saved.', 'bookly' ),
|
165 |
-
'gateway' => 'sms',
|
166 |
-
'datatables' => $datatables
|
167 |
-
)
|
168 |
);
|
169 |
-
|
170 |
-
$
|
|
|
|
|
|
|
171 |
}
|
172 |
|
|
|
|
|
173 |
// Number of undelivered sms.
|
174 |
$undelivered_count = Lib\SMS::getUndeliveredSmsCount();
|
175 |
|
176 |
-
self::renderTemplate( 'index', compact( 'sms', '
|
177 |
}
|
178 |
|
179 |
/**
|
@@ -181,13 +187,20 @@ class Page extends Lib\Base\Component
|
|
181 |
*/
|
182 |
public static function addBooklyMenuItem()
|
183 |
{
|
184 |
-
$sms
|
185 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
|
187 |
add_submenu_page(
|
188 |
'bookly-menu',
|
189 |
$sms,
|
190 |
-
$
|
191 |
Lib\Utils\Common::getRequiredCapability(),
|
192 |
self::pageSlug(),
|
193 |
function () { Page::render(); }
|
13 |
* Render page.
|
14 |
*/
|
15 |
public static function render()
|
16 |
+
{
|
17 |
+
if ( Lib\SMS::getInstance()->loadProfile() ) {
|
18 |
+
return self::renderMain();
|
19 |
+
} else {
|
20 |
+
return self::renderRegistration();
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Render registration page
|
26 |
+
*/
|
27 |
+
protected static function renderRegistration()
|
28 |
{
|
29 |
self::enqueueStyles( array(
|
30 |
+
'frontend' => array( 'css/ladda.min.css', 'css/intlTelInput.css' ),
|
31 |
+
'backend' => array( 'bootstrap/css/bootstrap.min.css', ),
|
32 |
+
) );
|
33 |
+
|
34 |
+
self::enqueueScripts( array(
|
35 |
+
'backend' => array(
|
36 |
+
'bootstrap/js/bootstrap.min.js' => array( 'jquery' ),
|
37 |
+
'js/datatables.min.js' => array( 'jquery' ),
|
38 |
+
'js/alert.js' => array( 'jquery' ),
|
39 |
+
'js/select2.min.js' => array( 'jquery' ),
|
40 |
),
|
41 |
+
'frontend' => array(
|
42 |
+
'js/spin.min.js' => array( 'jquery' ),
|
43 |
+
'js/ladda.min.js' => array( 'jquery' ),
|
44 |
+
),
|
45 |
+
'module' => array(
|
46 |
+
'js/sms-common.js' => array( 'jquery' ),
|
47 |
+
'js/sms-registration.js' => array( 'bookly-sms-common.js' ),
|
48 |
+
)
|
49 |
+
) );
|
50 |
+
|
51 |
+
$promotions = get_option( 'bookly_sms_promotions', array() );
|
52 |
+
if ( isset ( $promotions['registration'] ) ) {
|
53 |
+
$promotion = $promotions['registration'];
|
54 |
+
$locale = Lib\Config::getLocale();
|
55 |
+
$registration_promotion_texts = isset ( $promotion['texts'][ $locale ] ) ?
|
56 |
+
array( 'form' => $promotion['texts'][ $locale ]['form'], 'button' => $promotion['texts'][ $locale ]['button'] ) :
|
57 |
+
array( 'form' => $promotion['texts']['en']['form'], 'button' => $promotion['texts']['en']['button'] );
|
58 |
+
} else {
|
59 |
+
$registration_promotion_texts = array( 'form' => null, 'button' => null );
|
60 |
+
}
|
61 |
+
|
62 |
+
// Prepare tables settings.
|
63 |
+
$datatables = Lib\Utils\Tables::getSettings( array(
|
64 |
+
'sms_prices',
|
65 |
+
) );
|
66 |
+
|
67 |
+
wp_localize_script( 'bookly-sms-common.js', 'BooklyL10n',
|
68 |
+
array(
|
69 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
70 |
+
'passwords_no_match' => __( 'Passwords don\'t match', 'bookly' ),
|
71 |
+
'noResults' => __( 'No records.', 'bookly' ),
|
72 |
+
'processing' => __( 'Processing...', 'bookly' ),
|
73 |
+
'datatables' => $datatables
|
74 |
+
)
|
75 |
+
);
|
76 |
+
|
77 |
+
self::renderTemplate( 'index_registration', compact( 'datatables', 'registration_promotion_texts' ) );
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* Render main page (logged in)
|
82 |
+
*/
|
83 |
+
protected static function renderMain()
|
84 |
+
{
|
85 |
+
$sms = Lib\SMS::getInstance();
|
86 |
+
|
87 |
+
self::enqueueStyles( array(
|
88 |
+
'frontend' => array( 'css/ladda.min.css', 'css/intlTelInput.css' ),
|
89 |
'backend' => array( 'bootstrap/css/bootstrap.min.css', ),
|
90 |
) );
|
91 |
|
96 |
'js/moment.min.js',
|
97 |
'js/daterangepicker.js' => array( 'jquery' ),
|
98 |
'js/alert.js' => array( 'jquery' ),
|
99 |
+
'js/select2.min.js' => array( 'jquery' ),
|
100 |
),
|
101 |
'frontend' => array_merge(
|
102 |
array(
|
108 |
: array( 'js/intlTelInput.min.js' => array( 'jquery' ) )
|
109 |
),
|
110 |
'module' => array(
|
111 |
+
'js/sms-common.js' => array( 'jquery' ),
|
112 |
+
'js/sms.js' => array( 'bookly-sms-common.js', ),
|
113 |
'js/notifications-list.js' => array( 'jquery', ),
|
114 |
+
)
|
115 |
) );
|
116 |
|
117 |
+
if ( ! $sms->getCountry() ) {
|
118 |
+
self::enqueueScripts( array(
|
119 |
+
'module' => array( 'js/setup-country.js' => array( 'bookly-sms-common.js', ) )
|
120 |
+
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
}
|
122 |
+
if ( ! $sms->getEmailConfirmed() ) {
|
123 |
+
self::enqueueScripts( array(
|
124 |
+
'module' => array( 'js/confirm-email.js' => array( 'jquery', ) )
|
125 |
+
) );
|
126 |
}
|
127 |
|
128 |
+
$current_tab = self::hasParameter( 'tab' ) ? self::parameter( 'tab' ) : 'notifications';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
|
130 |
// Prepare tables settings.
|
131 |
$datatables = Lib\Utils\Tables::getSettings( array(
|
136 |
'sms_sender',
|
137 |
) );
|
138 |
|
139 |
+
$l10n = array(
|
140 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
141 |
+
'areYouSure' => __( 'Are you sure?', 'bookly' ),
|
142 |
+
'country' => $sms->getCountry(),
|
143 |
+
'current_tab' => $current_tab,
|
144 |
+
'intlTelInput' => array(
|
145 |
+
'country' => get_option( 'bookly_cst_phone_default_country' ),
|
146 |
+
'utils' => is_rtl() ? '' : plugins_url( 'intlTelInput.utils.js', Lib\Plugin::getDirectory() . '/frontend/resources/js/intlTelInput.utils.js' ),
|
147 |
+
'enabled' => get_option( 'bookly_cst_phone_default_country' ) != 'disabled',
|
148 |
+
),
|
149 |
+
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
150 |
+
'dateRange' => Lib\Utils\DateTime::dateRangeOptions( array( 'lastMonth' => __( 'Last month', 'bookly' ), ) ),
|
151 |
+
'sender_id' => array(
|
152 |
+
'sent' => __( 'Sender ID request is sent.', 'bookly' ),
|
153 |
+
'set_default' => __( 'Sender ID is reset to default.', 'bookly' ),
|
154 |
+
),
|
155 |
+
'zeroRecords' => __( 'No records for selected period.', 'bookly' ),
|
156 |
+
'noResults' => __( 'No records.', 'bookly' ),
|
157 |
+
'processing' => __( 'Processing...', 'bookly' ),
|
158 |
+
'invoice' => array(
|
159 |
+
'button' => __( 'Invoice', 'bookly' ),
|
160 |
+
'alert' => __( 'To generate an invoice you should fill in company information in Bookly SMS Account settings -> Invoice', 'bookly' ),
|
161 |
+
'link' => $sms->getInvoiceLink(),
|
162 |
+
),
|
163 |
+
'state' => array( __( 'Disabled', 'bookly' ), __( 'Enabled', 'bookly' ) ),
|
164 |
+
'action' => array( __( 'enable', 'bookly' ), __( 'disable', 'bookly' ) ),
|
165 |
+
'edit' => __( 'Edit', 'bookly' ),
|
166 |
+
'settingsSaved' => __( 'Settings saved.', 'bookly' ),
|
167 |
+
'gateway' => 'sms',
|
168 |
+
'datatables' => $datatables
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
);
|
170 |
+
if ( ! $sms->getEmailConfirmed() ) {
|
171 |
+
$l10n += array(
|
172 |
+
'confirm_email_code_resent' => __( 'An email containing the confirmation code has been sent to your email address.', 'bookly' ),
|
173 |
+
'show_confirm_email_dialog' => ! get_user_meta( get_current_user_id(), 'bookly_dismiss_sms_confirm_email', true ),
|
174 |
+
);
|
175 |
}
|
176 |
|
177 |
+
wp_localize_script( 'bookly-daterangepicker.js', 'BooklyL10n', $l10n );
|
178 |
+
|
179 |
// Number of undelivered sms.
|
180 |
$undelivered_count = Lib\SMS::getUndeliveredSmsCount();
|
181 |
|
182 |
+
self::renderTemplate( 'index', compact( 'sms', 'undelivered_count', 'datatables' ) );
|
183 |
}
|
184 |
|
185 |
/**
|
187 |
*/
|
188 |
public static function addBooklyMenuItem()
|
189 |
{
|
190 |
+
$sms = __( 'SMS Notifications', 'bookly' );
|
191 |
+
|
192 |
+
$promotion = Lib\SMS::getPromotionForNotice();
|
193 |
+
if ( $promotion ) {
|
194 |
+
$title = sprintf( '%s <span class="update-plugins"><span class="update-count">$</span></span>', $sms );
|
195 |
+
} else {
|
196 |
+
$count = Lib\SMS::getUndeliveredSmsCount();
|
197 |
+
$title = $count ? sprintf( '%s <span class="update-plugins"><span class="update-count">%d</span></span>', $sms, $count ) : $sms;
|
198 |
+
}
|
199 |
|
200 |
add_submenu_page(
|
201 |
'bookly-menu',
|
202 |
$sms,
|
203 |
+
$title,
|
204 |
Lib\Utils\Common::getRequiredCapability(),
|
205 |
self::pageSlug(),
|
206 |
function () { Page::render(); }
|
backend/modules/sms/resources/js/confirm-email.js
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function ($) {
|
2 |
+
'use strict';
|
3 |
+
let $modal = $('#bookly-confirm-email-modal'),
|
4 |
+
$code = $('#bookly-confirmation-code', $modal),
|
5 |
+
$resend_button = $('.bookly-js-resend-confirmation', $modal),
|
6 |
+
$apply_button = $('#bookly-apply-confirmation-code', $modal),
|
7 |
+
$later_button = $('.modal-footer button[data-dismiss="bookly-modal"]', $modal),
|
8 |
+
$open_modal_button = $('#bookly-open-email-confirm'),
|
9 |
+
$settings_button = $('#bookly-open-account-settings');
|
10 |
+
|
11 |
+
// Apply code.
|
12 |
+
$apply_button.on('click', function (e) {
|
13 |
+
e.preventDefault();
|
14 |
+
let ladda = Ladda.create(this);
|
15 |
+
ladda.start();
|
16 |
+
$.post(
|
17 |
+
ajaxurl,
|
18 |
+
{
|
19 |
+
action: 'bookly_apply_confirmation_code',
|
20 |
+
code: $code.val(),
|
21 |
+
csrf_token: BooklyL10n.csrfToken
|
22 |
+
},
|
23 |
+
function (response) {
|
24 |
+
if (response.success) {
|
25 |
+
$open_modal_button.hide();
|
26 |
+
$settings_button.removeClass('btn-danger').addClass('btn-primary').find('i').removeClass('fa-user-slash').addClass('fa-user');
|
27 |
+
$modal.booklyModal('hide');
|
28 |
+
} else {
|
29 |
+
booklyAlert({error: [response.data.message]});
|
30 |
+
}
|
31 |
+
ladda.stop();
|
32 |
+
});
|
33 |
+
});
|
34 |
+
|
35 |
+
// Resend code.
|
36 |
+
$resend_button.on('click', function (e) {
|
37 |
+
e.preventDefault();
|
38 |
+
$.post(
|
39 |
+
ajaxurl,
|
40 |
+
{
|
41 |
+
action: 'bookly_resend_confirmation_code',
|
42 |
+
csrf_token: BooklyL10n.csrfToken
|
43 |
+
},
|
44 |
+
function (response) {
|
45 |
+
if (response.success) {
|
46 |
+
booklyAlert({success: [BooklyL10n.confirm_email_code_resent]})
|
47 |
+
} else {
|
48 |
+
booklyAlert({error: [response.data.message]});
|
49 |
+
}
|
50 |
+
});
|
51 |
+
});
|
52 |
+
|
53 |
+
// I'll do it later button.
|
54 |
+
$later_button.on('click', function (e) {
|
55 |
+
$.post(
|
56 |
+
ajaxurl,
|
57 |
+
{
|
58 |
+
action: 'bookly_dismiss_confirm_email',
|
59 |
+
csrf_token: BooklyL10n.csrfToken
|
60 |
+
});
|
61 |
+
});
|
62 |
+
|
63 |
+
// Open table settings modal.
|
64 |
+
$open_modal_button.off().on('click', function () {
|
65 |
+
$modal.booklyModal('show');
|
66 |
+
});
|
67 |
+
if (BooklyL10n.show_confirm_email_dialog) {
|
68 |
+
$modal.booklyModal('show');
|
69 |
+
}
|
70 |
+
});
|
backend/modules/sms/resources/js/notifications-list.js
CHANGED
@@ -48,7 +48,7 @@ jQuery(function($) {
|
|
48 |
orderable: false,
|
49 |
responsivePriority: 1,
|
50 |
render: function (data, type, row, meta) {
|
51 |
-
return ' <button type="button" class="btn btn-default ladda-button" data-action="edit" data-spinner-size="40" data-style="zoom-in" data-spinner-color="#666666"><i class="far fa-fw fa-edit mr-1"></i><span class="ladda-label">' + BooklyL10n.edit + '…</span></
|
52 |
}
|
53 |
});
|
54 |
columns.push({
|
@@ -86,7 +86,7 @@ jQuery(function($) {
|
|
86 |
columns : columns,
|
87 |
dom : "<'row'<'col-sm-12'tr>><'row float-left mt-3'<'col-sm-12'p>>",
|
88 |
language : {
|
89 |
-
zeroRecords: BooklyL10n.
|
90 |
processing : BooklyL10n.processing
|
91 |
}
|
92 |
}).on('click', '[data-action=toggle-active]', function (e) {
|
@@ -227,6 +227,17 @@ jQuery(function($) {
|
|
227 |
}
|
228 |
});
|
229 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
230 |
$btnTestEmail
|
231 |
.on('click', function () {
|
232 |
$modalTestEmail.booklyModal()
|
48 |
orderable: false,
|
49 |
responsivePriority: 1,
|
50 |
render: function (data, type, row, meta) {
|
51 |
+
return ' <button type="button" class="btn btn-default ladda-button" data-action="edit" data-spinner-size="40" data-style="zoom-in" data-spinner-color="#666666"><i class="far fa-fw fa-edit mr-1"></i><span class="ladda-label">' + BooklyL10n.edit + '…</span></button>';
|
52 |
}
|
53 |
});
|
54 |
columns.push({
|
86 |
columns : columns,
|
87 |
dom : "<'row'<'col-sm-12'tr>><'row float-left mt-3'<'col-sm-12'p>>",
|
88 |
language : {
|
89 |
+
zeroRecords: BooklyL10n.noResults,
|
90 |
processing : BooklyL10n.processing
|
91 |
}
|
92 |
}).on('click', '[data-action=toggle-active]', function (e) {
|
227 |
}
|
228 |
});
|
229 |
|
230 |
+
$('[href=#bookly-js-auto]').click(
|
231 |
+
function () {
|
232 |
+
if (this.classList.contains("toggle")) {
|
233 |
+
$(this).removeClass("border rounded mb-3 toggle");
|
234 |
+
$(this).addClass("border-light rounded-top bg-light");
|
235 |
+
} else {
|
236 |
+
$(this).removeClass("border-light rounded-top bg-light")
|
237 |
+
$(this).addClass("border rounded mb-3 toggle");
|
238 |
+
}
|
239 |
+
});
|
240 |
+
|
241 |
$btnTestEmail
|
242 |
.on('click', function () {
|
243 |
$modalTestEmail.booklyModal()
|
backend/modules/sms/resources/js/setup-country.js
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function($) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
const
|
5 |
+
$dialog = $('#bookly-setup-country'),
|
6 |
+
$country = $('#bookly-s-country'),
|
7 |
+
$setBtn = $('#bookly-set-country'),
|
8 |
+
settings = {
|
9 |
+
$country: $('#bookly-country'),
|
10 |
+
$invoiceCountry: $('.bookly-js-invoice-country .bookly-js-label')
|
11 |
+
}
|
12 |
+
;
|
13 |
+
|
14 |
+
$country.booklySelectCountry({dropdownParent: $dialog});
|
15 |
+
$.get('https://ipinfo.io', function() {}, 'jsonp').always(function(resp) {
|
16 |
+
const countryCode = (resp && resp.country) ? resp.country : '';
|
17 |
+
$country.val(countryCode.toLowerCase()).trigger('change');
|
18 |
+
});
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Setup country dialog
|
22 |
+
*/
|
23 |
+
$dialog.booklyModal('show');
|
24 |
+
$setBtn.on('click', function () {
|
25 |
+
const ladda = Ladda.create(this);
|
26 |
+
ladda.start();
|
27 |
+
const country = $country.val();
|
28 |
+
$.ajax({
|
29 |
+
type: 'POST',
|
30 |
+
url: ajaxurl,
|
31 |
+
data: {
|
32 |
+
action: 'bookly_change_country',
|
33 |
+
csrf_token: BooklyL10n.csrfToken,
|
34 |
+
country: country
|
35 |
+
},
|
36 |
+
dataType: 'json',
|
37 |
+
success: function (response) {
|
38 |
+
if (response.success) {
|
39 |
+
booklyAlert({success: [BooklyL10n.settingsSaved]});
|
40 |
+
BooklyL10n.country = country;
|
41 |
+
if (BooklyRechargeDialogL10n) {
|
42 |
+
BooklyRechargeDialogL10n.country = country;
|
43 |
+
}
|
44 |
+
settings.$country.val(country).trigger('change');
|
45 |
+
settings.$invoiceCountry.html($country.select2('data')[0].text);
|
46 |
+
if (response.auto_recharge === 'disabled') {
|
47 |
+
$(document.body).trigger('bookly.auto-recharge.toggle', [false]);
|
48 |
+
}
|
49 |
+
$dialog.booklyModal('hide');
|
50 |
+
} else {
|
51 |
+
if (response.data && response.data.message) {
|
52 |
+
booklyAlert({error: [response.data.message]});
|
53 |
+
}
|
54 |
+
}
|
55 |
+
}
|
56 |
+
}).always(ladda.stop);
|
57 |
+
});
|
58 |
+
});
|
backend/modules/sms/resources/js/sms-common.js
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function($) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Select country
|
6 |
+
*
|
7 |
+
* @param opts
|
8 |
+
* @returns {*}
|
9 |
+
*/
|
10 |
+
$.fn.booklySelectCountry = function (opts) {
|
11 |
+
const formatCountry = function (item) {
|
12 |
+
return $('<span class="intl-tel-input"><div class="d-inline-block mr-2 iti-flag ' + item.id + '"></div>' + item.text + '</span>');
|
13 |
+
};
|
14 |
+
opts = $.extend({
|
15 |
+
width: '100%',
|
16 |
+
theme: 'bootstrap4',
|
17 |
+
dropdownParent: '#bookly-tbs',
|
18 |
+
language: {
|
19 |
+
noResults: function() { return BooklyL10n.noResults; }
|
20 |
+
},
|
21 |
+
templateResult: formatCountry,
|
22 |
+
templateSelection: formatCountry,
|
23 |
+
data: [{id:"af",text:"Afghanistan (افغانستان)"},{id:"al",text:"Albania (Shqipëri)"},{id:"dz",text:"Algeria (الجزائر)"},{id:"as",text:"American Samoa"},{id:"ad",text:"Andorra"},{id:"ao",text:"Angola"},{id:"ai",text:"Anguilla"},{id:"ag",text:"Antigua and Barbuda"},{id:"ar",text:"Argentina"},{id:"am",text:"Armenia (Հայաստան)"},{id:"aw",text:"Aruba"},{id:"au",text:"Australia"},{id:"at",text:"Austria (Österreich)"},{id:"az",text:"Azerbaijan (Azərbaycan)"},{id:"bs",text:"Bahamas"},{id:"bh",text:"Bahrain (البحرين)"},{id:"bd",text:"Bangladesh (বাংলাদেশ)"},{id:"bb",text:"Barbados"},{id:"by",text:"Belarus (Беларусь)"},{id:"be",text:"Belgium (België)"},{id:"bz",text:"Belize"},{id:"bj",text:"Benin (Bénin)"},{id:"bm",text:"Bermuda"},{id:"bt",text:"Bhutan (འབྲུག)"},{id:"bo",text:"Bolivia"},{id:"ba",text:"Bosnia and Herzegovina (Босна и Херцеговина)"},{id:"bw",text:"Botswana"},{id:"br",text:"Brazil (Brasil)"},{id:"io",text:"British Indian Ocean Territory"},{id:"vg",text:"British Virgin Islands"},{id:"bn",text:"Brunei"},{id:"bg",text:"Bulgaria (България)"},{id:"bf",text:"Burkina Faso"},{id:"bi",text:"Burundi (Uburundi)"},{id:"kh",text:"Cambodia (កម្ពុជា)"},{id:"cm",text:"Cameroon (Cameroun)"},{id:"ca",text:"Canada"},{id:"cv",text:"Cape Verde (Kabu Verdi)"},{id:"bq",text:"Caribbean Netherlands"},{id:"ky",text:"Cayman Islands"},{id:"cf",text:"Central African Republic (République centrafricaine)"},{id:"td",text:"Chad (Tchad)"},{id:"cl",text:"Chile"},{id:"cn",text:"China (中国)"},{id:"cx",text:"Christmas Island"},{id:"cc",text:"Cocos (Keeling) Islands"},{id:"co",text:"Colombia"},{id:"km",text:"Comoros (جزر القمر)"},{id:"cd",text:"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)"},{id:"cg",text:"Congo (Republic) (Congo-Brazzaville)"},{id:"ck",text:"Cook Islands"},{id:"cr",text:"Costa Rica"},{id:"ci",text:"Côte d’Ivoire"},{id:"hr",text:"Croatia (Hrvatska)"},{id:"cu",text:"Cuba"},{id:"cw",text:"Curaçao"},{id:"cy",text:"Cyprus (Κύπρος)"},{id:"cz",text:"Czech Republic (Česká republika)"},{id:"dk",text:"Denmark (Danmark)"},{id:"dj",text:"Djibouti"},{id:"dm",text:"Dominica"},{id:"do",text:"Dominican Republic (República Dominicana)"},{id:"ec",text:"Ecuador"},{id:"eg",text:"Egypt (مصر)"},{id:"sv",text:"El Salvador"},{id:"gq",text:"Equatorial Guinea (Guinea Ecuatorial)"},{id:"er",text:"Eritrea"},{id:"ee",text:"Estonia (Eesti)"},{id:"et",text:"Ethiopia"},{id:"fk",text:"Falkland Islands (Islas Malvinas)"},{id:"fo",text:"Faroe Islands (Føroyar)"},{id:"fj",text:"Fiji"},{id:"fi",text:"Finland (Suomi)"},{id:"fr",text:"France"},{id:"gf",text:"French Guiana (Guyane française)"},{id:"pf",text:"French Polynesia (Polynésie française)"},{id:"ga",text:"Gabon"},{id:"gm",text:"Gambia"},{id:"ge",text:"Georgia (საქართველო)"},{id:"de",text:"Germany (Deutschland)"},{id:"gh",text:"Ghana (Gaana)"},{id:"gi",text:"Gibraltar"},{id:"gr",text:"Greece (Ελλάδα)"},{id:"gl",text:"Greenland (Kalaallit Nunaat)"},{id:"gd",text:"Grenada"},{id:"gp",text:"Guadeloupe"},{id:"gu",text:"Guam"},{id:"gt",text:"Guatemala"},{id:"gg",text:"Guernsey"},{id:"gn",text:"Guinea (Guinée)"},{id:"gw",text:"Guinea-Bissau (Guiné Bissau)"},{id:"gy",text:"Guyana"},{id:"ht",text:"Haiti"},{id:"hn",text:"Honduras"},{id:"hk",text:"Hong Kong (香港)"},{id:"hu",text:"Hungary (Magyarország)"},{id:"is",text:"Iceland (Ísland)"},{id:"in",text:"India (भारत)"},{id:"id",text:"Indonesia"},{id:"ir",text:"Iran (ایران)"},{id:"iq",text:"Iraq (العراق)"},{id:"ie",text:"Ireland"},{id:"im",text:"Isle of Man"},{id:"il",text:"Israel (ישראל)"},{id:"it",text:"Italy (Italia)"},{id:"jm",text:"Jamaica"},{id:"jp",text:"Japan (日本)"},{id:"je",text:"Jersey"},{id:"jo",text:"Jordan (الأردن)"},{id:"kz",text:"Kazakhstan (Казахстан)"},{id:"ke",text:"Kenya"},{id:"ki",text:"Kiribati"},{id:"xk",text:"Kosovo"},{id:"kw",text:"Kuwait (الكويت)"},{id:"kg",text:"Kyrgyzstan (Кыргызстан)"},{id:"la",text:"Laos (ລາວ)"},{id:"lv",text:"Latvia (Latvija)"},{id:"lb",text:"Lebanon (لبنان)"},{id:"ls",text:"Lesotho"},{id:"lr",text:"Liberia"},{id:"ly",text:"Libya (ليبيا)"},{id:"li",text:"Liechtenstein"},{id:"lt",text:"Lithuania (Lietuva)"},{id:"lu",text:"Luxembourg"},{id:"mo",text:"Macau (澳門)"},{id:"mk",text:"Macedonia (FYROM) (Македонија)"},{id:"mg",text:"Madagascar (Madagasikara)"},{id:"mw",text:"Malawi"},{id:"my",text:"Malaysia"},{id:"mv",text:"Maldives"},{id:"ml",text:"Mali"},{id:"mt",text:"Malta"},{id:"mh",text:"Marshall Islands"},{id:"mq",text:"Martinique"},{id:"mr",text:"Mauritania (موريتانيا)"},{id:"mu",text:"Mauritius (Moris)"},{id:"yt",text:"Mayotte"},{id:"mx",text:"Mexico (México)"},{id:"fm",text:"Micronesia"},{id:"md",text:"Moldova (Republica Moldova)"},{id:"mc",text:"Monaco"},{id:"mn",text:"Mongolia (Монгол)"},{id:"me",text:"Montenegro (Crna Gora)"},{id:"ms",text:"Montserrat"},{id:"ma",text:"Morocco (المغرب)"},{id:"mz",text:"Mozambique (Moçambique)"},{id:"mm",text:"Myanmar (Burma) (မြန်မာ)"},{id:"na",text:"Namibia (Namibië)"},{id:"nr",text:"Nauru"},{id:"np",text:"Nepal (नेपाल)"},{id:"nl",text:"Netherlands (Nederland)"},{id:"nc",text:"New Caledonia (Nouvelle-Calédonie)"},{id:"nz",text:"New Zealand"},{id:"ni",text:"Nicaragua"},{id:"ne",text:"Niger (Nijar)"},{id:"ng",text:"Nigeria"},{id:"nu",text:"Niue"},{id:"nf",text:"Norfolk Island"},{id:"kp",text:"North Korea (조선 민주주의 인민 공화국)"},{id:"mp",text:"Northern Mariana Islands"},{id:"no",text:"Norway (Norge)"},{id:"om",text:"Oman (عُمان)"},{id:"pk",text:"Pakistan (پاکستان)"},{id:"pw",text:"Palau"},{id:"ps",text:"Palestine (فلسطين)"},{id:"pa",text:"Panama (Panamá)"},{id:"pg",text:"Papua New Guinea"},{id:"py",text:"Paraguay"},{id:"pe",text:"Peru (Perú)"},{id:"ph",text:"Philippines"},{id:"pl",text:"Poland (Polska)"},{id:"pt",text:"Portugal"},{id:"pr",text:"Puerto Rico"},{id:"qa",text:"Qatar (قطر)"},{id:"re",text:"Réunion (La Réunion)"},{id:"ro",text:"Romania (România)"},{id:"ru",text:"Russia (Россия)"},{id:"rw",text:"Rwanda"},{id:"bl",text:"Saint Barthélemy"},{id:"sh",text:"Saint Helena"},{id:"kn",text:"Saint Kitts and Nevis"},{id:"lc",text:"Saint Lucia"},{id:"mf",text:"Saint Martin (Saint-Martin (partie française))"},{id:"pm",text:"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)"},{id:"vc",text:"Saint Vincent and the Grenadines"},{id:"ws",text:"Samoa"},{id:"sm",text:"San Marino"},{id:"st",text:"São Tomé and Príncipe (São Tomé e Príncipe)"},{id:"sa",text:"Saudi Arabia (المملكة العربية السعودية)"},{id:"sn",text:"Senegal (Sénégal)"},{id:"rs",text:"Serbia (Србија)"},{id:"sc",text:"Seychelles"},{id:"sl",text:"Sierra Leone"},{id:"sg",text:"Singapore"},{id:"sx",text:"Sint Maarten"},{id:"sk",text:"Slovakia (Slovensko)"},{id:"si",text:"Slovenia (Slovenija)"},{id:"sb",text:"Solomon Islands"},{id:"so",text:"Somalia (Soomaaliya)"},{id:"za",text:"South Africa"},{id:"kr",text:"South Korea (대한민국)"},{id:"ss",text:"South Sudan (جنوب السودان)"},{id:"es",text:"Spain (España)"},{id:"lk",text:"Sri Lanka (ශ්රී ලංකාව)"},{id:"sd",text:"Sudan (السودان)"},{id:"sr",text:"Suriname"},{id:"sj",text:"Svalbard and Jan Mayen"},{id:"sz",text:"Swaziland"},{id:"se",text:"Sweden (Sverige)"},{id:"ch",text:"Switzerland (Schweiz)"},{id:"sy",text:"Syria (سوريا)"},{id:"tw",text:"Taiwan (台灣)"},{id:"tj",text:"Tajikistan"},{id:"tz",text:"Tanzania"},{id:"th",text:"Thailand (ไทย)"},{id:"tl",text:"Timor-Leste"},{id:"tg",text:"Togo"},{id:"tk",text:"Tokelau"},{id:"to",text:"Tonga"},{id:"tt",text:"Trinidad and Tobago"},{id:"tn",text:"Tunisia (تونس)"},{id:"tr",text:"Turkey (Türkiye)"},{id:"tm",text:"Turkmenistan"},{id:"tc",text:"Turks and Caicos Islands"},{id:"tv",text:"Tuvalu"},{id:"vi",text:"U.S. Virgin Islands"},{id:"ug",text:"Uganda"},{id:"ua",text:"Ukraine (Україна)"},{id:"ae",text:"United Arab Emirates (الإمارات العربية المتحدة)"},{id:"gb",text:"United Kingdom"},{id:"us",text:"United States"},{id:"uy",text:"Uruguay"},{id:"uz",text:"Uzbekistan (Oʻzbekiston)"},{id:"vu",text:"Vanuatu"},{id:"va",text:"Vatican City (Città del Vaticano)"},{id:"ve",text:"Venezuela"},{id:"vn",text:"Vietnam (Việt Nam)"},{id:"wf",text:"Wallis and Futuna (Wallis-et-Futuna)"},{id:"eh",text:"Western Sahara (الصحراء الغربية)"},{id:"ye",text:"Yemen (اليمن)"},{id:"zm",text:"Zambia"},{id:"zw",text:"Zimbabwe"},{id:"ax",text:"Åland Islands"}]
|
24 |
+
}, opts);
|
25 |
+
|
26 |
+
return this.select2(opts);
|
27 |
+
};
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Prices list
|
31 |
+
*
|
32 |
+
* @param opts
|
33 |
+
*/
|
34 |
+
$.fn.booklySmsPrices = function (opts) {
|
35 |
+
let columns = [];
|
36 |
+
|
37 |
+
$.each(BooklyL10n.datatables.sms_prices.settings.columns, function (column, show) {
|
38 |
+
if (show) {
|
39 |
+
switch (column) {
|
40 |
+
case 'country_iso_code':
|
41 |
+
columns.push({
|
42 |
+
data: column,
|
43 |
+
className: 'align-middle',
|
44 |
+
render: function ( data, type, row, meta ) {
|
45 |
+
return '<div class="iti-flag ' + data + '"></div>';
|
46 |
+
}
|
47 |
+
});
|
48 |
+
break;
|
49 |
+
case 'price':
|
50 |
+
columns.push({
|
51 |
+
data: column,
|
52 |
+
className: "text-right",
|
53 |
+
render: function ( data, type, row, meta ) {
|
54 |
+
return '$' + data.replace(/0+$/, '');
|
55 |
+
}
|
56 |
+
});
|
57 |
+
break;
|
58 |
+
case 'price_alt':
|
59 |
+
columns.push({
|
60 |
+
data: column,
|
61 |
+
className: "text-right",
|
62 |
+
render: function ( data, type, row, meta ) {
|
63 |
+
if (row.price_alt === '') {
|
64 |
+
return '-';
|
65 |
+
} else {
|
66 |
+
return '$' + data.replace(/0+$/, '');
|
67 |
+
}
|
68 |
+
}
|
69 |
+
});
|
70 |
+
break;
|
71 |
+
default:
|
72 |
+
columns.push({data: column});
|
73 |
+
break;
|
74 |
+
}
|
75 |
+
}
|
76 |
+
});
|
77 |
+
if (columns.length) {
|
78 |
+
this.DataTable({
|
79 |
+
ordering: false,
|
80 |
+
paging: false,
|
81 |
+
info: false,
|
82 |
+
searching: false,
|
83 |
+
processing: true,
|
84 |
+
responsive: true,
|
85 |
+
ajax: {
|
86 |
+
url: ajaxurl,
|
87 |
+
data: {action: 'bookly_get_price_list', csrf_token: BooklyL10n.csrfToken},
|
88 |
+
dataSrc: 'list'
|
89 |
+
},
|
90 |
+
columns: columns,
|
91 |
+
language: {
|
92 |
+
zeroRecords: BooklyL10n.noResults,
|
93 |
+
processing: BooklyL10n.processing
|
94 |
+
}
|
95 |
+
});
|
96 |
+
}
|
97 |
+
|
98 |
+
return this;
|
99 |
+
};
|
100 |
+
});
|
backend/modules/sms/resources/js/sms-registration.js
ADDED
@@ -0,0 +1,158 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function($) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
let $form_forgot = $('.bookly-js-forgot-form'),
|
5 |
+
$form_register = $('.bookly-js-register-form'),
|
6 |
+
$form_login = $('.bookly-js-login-form')
|
7 |
+
;
|
8 |
+
|
9 |
+
$('.bookly-js-show-register-form').on('click', function (e) {
|
10 |
+
e.preventDefault();
|
11 |
+
$form_login.hide();
|
12 |
+
$form_register.show();
|
13 |
+
$form_forgot.hide();
|
14 |
+
});
|
15 |
+
|
16 |
+
$('#bookly-r-country').booklySelectCountry();
|
17 |
+
$.get('https://ipinfo.io', function() {}, 'jsonp').always(function(resp) {
|
18 |
+
const countryCode = (resp && resp.country) ? resp.country : '';
|
19 |
+
$('#bookly-r-country').val(countryCode.toLowerCase()).trigger('change');
|
20 |
+
});
|
21 |
+
|
22 |
+
$('.bookly-js-show-login-form').on('click', function (e) {
|
23 |
+
e.preventDefault();
|
24 |
+
$form_login.show();
|
25 |
+
$form_register.hide();
|
26 |
+
$form_forgot.hide();
|
27 |
+
});
|
28 |
+
|
29 |
+
$('.bookly-js-show-forgot-form').on('click', function (e) {
|
30 |
+
e.preventDefault();
|
31 |
+
$form_forgot.show();
|
32 |
+
$form_login.hide();
|
33 |
+
$form_register.hide();
|
34 |
+
});
|
35 |
+
|
36 |
+
$('.bookly-js-form-forgot-next').on('click', function (e) {
|
37 |
+
e.preventDefault();
|
38 |
+
var $btn = $(this),
|
39 |
+
$form = $(this).parents('form'),
|
40 |
+
$code = $form.find('input[name="code"]'),
|
41 |
+
$pwd = $form.find('input[name="password"]'),
|
42 |
+
$username = $form.find('input[name="username"]'),
|
43 |
+
$pwd_repeat = $form.find('input[name="password_repeat"]'),
|
44 |
+
data = { action: 'bookly_forgot_password', step: $btn.data('step'), username: $username.val(), csrf_token : BooklyL10n.csrfToken };
|
45 |
+
switch ($(this).data('step')) {
|
46 |
+
case 0:
|
47 |
+
forgot_helper( data, function() {
|
48 |
+
$username.parent().addClass('hidden');
|
49 |
+
$code.parent().removeClass('hidden');
|
50 |
+
$btn.data('step', 1);
|
51 |
+
});
|
52 |
+
break;
|
53 |
+
case 1:
|
54 |
+
data.code = $code.val();
|
55 |
+
forgot_helper(data, function() {
|
56 |
+
$code.parent().addClass('hidden');
|
57 |
+
$pwd.parent().removeClass('hidden');
|
58 |
+
$pwd_repeat.parent().removeClass('hidden');
|
59 |
+
$btn.data('step', 2);
|
60 |
+
});
|
61 |
+
break;
|
62 |
+
case 2:
|
63 |
+
data.code = $code.val();
|
64 |
+
data.password = $pwd.val();
|
65 |
+
data.password_repeat = $pwd_repeat.val();
|
66 |
+
if (data.password === data.password_repeat && data.password !== '') {
|
67 |
+
forgot_helper(data, function() {
|
68 |
+
$('.bookly-js-show-login-form').trigger('click');
|
69 |
+
$btn.data('step', 0);
|
70 |
+
$username.parent().removeClass('hidden');
|
71 |
+
$pwd.parent().addClass('hidden');
|
72 |
+
$pwd_repeat.parent().addClass('hidden');
|
73 |
+
$form.trigger('reset');
|
74 |
+
});
|
75 |
+
} else {
|
76 |
+
booklyAlert({error: [BooklyL10n.passwords_no_same]});
|
77 |
+
}
|
78 |
+
break;
|
79 |
+
}
|
80 |
+
});
|
81 |
+
|
82 |
+
$form_login.on('submit', function (e) {
|
83 |
+
e.preventDefault();
|
84 |
+
let ladda = Ladda.create(this.elements.submit);
|
85 |
+
ladda.start();
|
86 |
+
$.ajax({
|
87 |
+
method: 'POST',
|
88 |
+
url: ajaxurl,
|
89 |
+
data: {
|
90 |
+
action: 'bookly_sms_login',
|
91 |
+
username: $('.bookly-js-login-form [name="username"]').val(),
|
92 |
+
password: $('.bookly-js-login-form [name="password"]').val(),
|
93 |
+
csrf_token : BooklyL10n.csrfToken,
|
94 |
+
},
|
95 |
+
dataType: 'json',
|
96 |
+
success: function (response) {
|
97 |
+
if (response.success) {
|
98 |
+
window.location.reload();
|
99 |
+
} else {
|
100 |
+
if (response.data && response.data.message) {
|
101 |
+
booklyAlert({error: [response.data.message]});
|
102 |
+
}
|
103 |
+
ladda.stop();
|
104 |
+
}
|
105 |
+
}
|
106 |
+
});
|
107 |
+
});
|
108 |
+
|
109 |
+
$form_register.on('submit', function (e) {
|
110 |
+
e.preventDefault();
|
111 |
+
let ladda = Ladda.create(this.elements['form-registration']);
|
112 |
+
ladda.start();
|
113 |
+
$.ajax({
|
114 |
+
method: 'POST',
|
115 |
+
url: ajaxurl,
|
116 |
+
data: {
|
117 |
+
action: 'bookly_sms_register',
|
118 |
+
username: $('.bookly-js-register-form [name="username"]').val(),
|
119 |
+
password: $('.bookly-js-register-form [name="password"]').val(),
|
120 |
+
password_repeat: $('.bookly-js-register-form [name="password_repeat"]').val(),
|
121 |
+
country: $('.bookly-js-register-form [name="country"]').val(),
|
122 |
+
accept_tos: $('.bookly-js-register-form [name="accept_tos"]').prop('checked'),
|
123 |
+
csrf_token : BooklyL10n.csrfToken,
|
124 |
+
},
|
125 |
+
dataType: 'json',
|
126 |
+
success: function (response) {
|
127 |
+
if (response.success) {
|
128 |
+
window.location.reload();
|
129 |
+
} else {
|
130 |
+
if (response.data && response.data.message) {
|
131 |
+
booklyAlert({error: [response.data.message]});
|
132 |
+
}
|
133 |
+
ladda.stop();
|
134 |
+
}
|
135 |
+
}
|
136 |
+
});
|
137 |
+
});
|
138 |
+
|
139 |
+
function forgot_helper(data, callback) {
|
140 |
+
$.ajax({
|
141 |
+
method: 'POST',
|
142 |
+
url: ajaxurl,
|
143 |
+
data: data,
|
144 |
+
dataType: 'json',
|
145 |
+
success: function (response) {
|
146 |
+
if (response.success) {
|
147 |
+
callback();
|
148 |
+
} else {
|
149 |
+
if (response.data && response.data.message) {
|
150 |
+
booklyAlert({error: [response.data.message]});
|
151 |
+
}
|
152 |
+
}
|
153 |
+
}
|
154 |
+
});
|
155 |
+
}
|
156 |
+
|
157 |
+
$('#bookly-prices').booklySmsPrices();
|
158 |
+
});
|
backend/modules/sms/resources/js/sms.js
CHANGED
@@ -1,228 +1,214 @@
|
|
1 |
jQuery(function($) {
|
2 |
'use strict';
|
3 |
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
});
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
});
|
28 |
|
29 |
-
|
30 |
-
e.preventDefault();
|
31 |
-
$form_confirm.hide();
|
32 |
-
$form_forgot.show();
|
33 |
-
$form_login.hide();
|
34 |
-
$form_register.hide();
|
35 |
-
});
|
36 |
|
37 |
-
$
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
forgot_helper( data, function() {
|
49 |
-
$username.parent().addClass('hidden');
|
50 |
-
$code.parent().removeClass('hidden');
|
51 |
-
$btn.data('step', 1);
|
52 |
-
});
|
53 |
-
break;
|
54 |
-
case 1:
|
55 |
-
data.code = $code.val();
|
56 |
-
forgot_helper(data, function() {
|
57 |
-
$code.parent().addClass('hidden');
|
58 |
-
$pwd.parent().removeClass('hidden');
|
59 |
-
$pwd_repeat.parent().removeClass('hidden');
|
60 |
-
$btn.data('step', 2);
|
61 |
});
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
$
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
});
|
76 |
-
} else {
|
77 |
-
booklyAlert({error: [BooklyL10n.passwords_no_same]});
|
78 |
-
}
|
79 |
-
break;
|
80 |
-
}
|
81 |
-
});
|
82 |
|
83 |
-
|
84 |
-
e.preventDefault();
|
85 |
-
$.ajax({
|
86 |
-
url : ajaxurl,
|
87 |
-
data : {
|
88 |
-
action: 'bookly_resend_confirmation',
|
89 |
-
csrf_token : BooklyL10n.csrfToken,
|
90 |
-
},
|
91 |
-
dataType : 'json',
|
92 |
-
xhrFields : { withCredentials: true },
|
93 |
-
crossDomain : 'withCredentials' in new XMLHttpRequest(),
|
94 |
-
success : function (response) {
|
95 |
-
if (response.success) {
|
96 |
-
booklyAlert({success: [response.data.message]});
|
97 |
-
} else {
|
98 |
-
booklyAlert({error: [response.data.message]});
|
99 |
}
|
100 |
-
}
|
101 |
-
|
102 |
-
}
|
103 |
|
104 |
-
|
105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
ladda.start();
|
|
|
107 |
$.ajax({
|
108 |
-
|
109 |
-
url
|
110 |
-
data
|
111 |
-
action: '
|
112 |
-
|
113 |
-
|
114 |
},
|
115 |
-
dataType
|
116 |
-
|
117 |
-
crossDomain: 'withCredentials' in new XMLHttpRequest(),
|
118 |
-
success : function (response) {
|
119 |
if (response.success) {
|
120 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
} else {
|
122 |
if (response.data && response.data.message) {
|
123 |
booklyAlert({error: [response.data.message]});
|
124 |
}
|
125 |
}
|
126 |
-
ladda.stop();
|
127 |
}
|
128 |
-
});
|
129 |
});
|
130 |
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
dataType : 'json',
|
137 |
-
xhrFields : {withCredentials: true},
|
138 |
-
crossDomain: 'withCredentials' in new XMLHttpRequest(),
|
139 |
-
success : function (response) {
|
140 |
-
if (response.success) {
|
141 |
-
callback();
|
142 |
-
} else {
|
143 |
-
if (response.data && response.data.message) {
|
144 |
-
if (response.data.hasOwnProperty('code')) {
|
145 |
-
if (response.data.code == 'ERROR_EMAIL_CONFIRM_REQUIRED') {
|
146 |
-
$form_confirm.show();
|
147 |
-
$form_forgot.hide();
|
148 |
-
$form_login.hide();
|
149 |
-
$form_register.hide();
|
150 |
-
}
|
151 |
-
}
|
152 |
-
booklyAlert({error: [response.data.message]});
|
153 |
-
}
|
154 |
-
}
|
155 |
-
}
|
156 |
-
});
|
157 |
}
|
158 |
|
159 |
-
$
|
160 |
-
.
|
161 |
-
|
162 |
-
|
163 |
-
data = $form_invoice.serializeArray();
|
164 |
-
$('input[required]', $form_invoice).each(function () {
|
165 |
-
if ($(this).val() == '') {
|
166 |
-
$(this).addClass('is-invalid');
|
167 |
-
invalid = true;
|
168 |
-
} else {
|
169 |
-
$(this).removeClass('is-invalid');
|
170 |
-
}
|
171 |
-
});
|
172 |
|
173 |
-
|
174 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
} else {
|
176 |
-
|
177 |
-
data.push({name: 'action', value: 'bookly_save_invoice_data'});
|
178 |
-
data.push({name: 'csrf_token', value: BooklyL10n.csrfToken});
|
179 |
-
$.ajax({
|
180 |
-
url : ajaxurl,
|
181 |
-
type : 'POST',
|
182 |
-
data : data,
|
183 |
-
dataType : 'json',
|
184 |
-
success : function(response) {
|
185 |
-
if (response.success) {
|
186 |
-
booklyAlert({success: [response.data.message]});
|
187 |
-
} else {
|
188 |
-
booklyAlert({error: [response.data.message]});
|
189 |
-
}
|
190 |
-
ladda.stop();
|
191 |
-
}
|
192 |
-
});
|
193 |
}
|
194 |
});
|
195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
$
|
202 |
-
$
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
});
|
208 |
});
|
209 |
|
210 |
-
|
|
|
|
|
|
|
211 |
e.preventDefault();
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
$.ajax({
|
217 |
-
type
|
218 |
-
url
|
219 |
-
data
|
220 |
-
dataType
|
221 |
-
|
222 |
-
crossDomain : 'withCredentials' in new XMLHttpRequest(),
|
223 |
-
success : function (response) {
|
224 |
if (response.success) {
|
225 |
-
|
226 |
$form.trigger('reset');
|
227 |
} else {
|
228 |
if (response.data && response.data.message) {
|
@@ -230,15 +216,18 @@ jQuery(function($) {
|
|
230 |
}
|
231 |
}
|
232 |
}
|
233 |
-
});
|
234 |
} else {
|
235 |
-
booklyAlert({error: [BooklyL10n.
|
|
|
|
|
236 |
}
|
237 |
-
} else {
|
238 |
-
booklyAlert({error: [BooklyL10n.input_old_password]});
|
239 |
}
|
240 |
});
|
241 |
|
|
|
|
|
|
|
242 |
var $phone_input = $('#admin_phone');
|
243 |
if (BooklyL10n.intlTelInput.enabled) {
|
244 |
$phone_input.intlTelInput({
|
@@ -264,15 +253,13 @@ jQuery(function($) {
|
|
264 |
$('#send_test_sms').on('click', function (e) {
|
265 |
e.preventDefault();
|
266 |
$.ajax({
|
267 |
-
url
|
268 |
-
data
|
269 |
action: 'bookly_send_test_sms',
|
270 |
csrf_token : BooklyL10n.csrfToken,
|
271 |
phone_number: getPhoneNumber() },
|
272 |
-
dataType
|
273 |
-
|
274 |
-
crossDomain : 'withCredentials' in new XMLHttpRequest(),
|
275 |
-
success : function (response) {
|
276 |
if (response.success) {
|
277 |
booklyAlert({success: [response.message]});
|
278 |
} else {
|
@@ -282,42 +269,38 @@ jQuery(function($) {
|
|
282 |
});
|
283 |
});
|
284 |
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
ladda.stop();
|
301 |
-
booklyAlert({error: [response.data.message]});
|
302 |
-
}
|
303 |
-
});
|
304 |
-
});
|
305 |
-
$recharge_decline.on('click', function () {
|
306 |
-
var ladda = Ladda.create(this);
|
307 |
-
ladda.start();
|
308 |
-
$.get(ajaxurl, {action: 'bookly_decline_auto_recharge', csrf_token : BooklyL10n.csrfToken}, function () {}, 'json')
|
309 |
-
.always(function (response) {
|
310 |
-
ladda.stop();
|
311 |
-
if (response.success) {
|
312 |
-
$recharge_amount.prop('disabled', false);
|
313 |
-
$recharge_init.prop('disabled', false);
|
314 |
-
$recharge_decline.prop('disabled', true);
|
315 |
-
booklyAlert({success: [response.data.message]});
|
316 |
-
} else {
|
317 |
-
booklyAlert({error: [response.data.message]});
|
318 |
}
|
319 |
});
|
320 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
|
322 |
/**
|
323 |
* Date range pickers options.
|
@@ -361,13 +344,28 @@ jQuery(function($) {
|
|
361 |
|
362 |
$.each(BooklyL10n.datatables.sms_purchases.settings.columns, function (column, show) {
|
363 |
if (show) {
|
364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
365 |
}
|
366 |
});
|
367 |
columns.push({
|
368 |
className: "text-right",
|
369 |
render : function (data, type, row, meta) {
|
370 |
-
|
|
|
|
|
|
|
371 |
}
|
372 |
});
|
373 |
|
@@ -401,13 +399,11 @@ jQuery(function($) {
|
|
401 |
|
402 |
$('#bookly-purchases')
|
403 |
.on('click', '[data-action=download-invoice]', function () {
|
404 |
-
if (
|
405 |
-
|
406 |
-
|
407 |
-
$('#bookly_sms_invoice_company_name').focus();
|
408 |
} else {
|
409 |
-
|
410 |
-
window.location = BooklyL10n.invoice.link + '/' + data.order;
|
411 |
}
|
412 |
});
|
413 |
|
@@ -479,109 +475,8 @@ jQuery(function($) {
|
|
479 |
* Prices Tab.
|
480 |
*/
|
481 |
$("[href='#price_list']").one('click', function() {
|
482 |
-
|
483 |
});
|
484 |
-
if ($('form.bookly-js-login-form').length){
|
485 |
-
fillPriceTable();
|
486 |
-
}
|
487 |
-
$('[data-action=save-administrator-phone]')
|
488 |
-
.on('click', function (e) {
|
489 |
-
e.preventDefault();
|
490 |
-
$.ajax({
|
491 |
-
url: ajaxurl,
|
492 |
-
method: 'POST',
|
493 |
-
data: {
|
494 |
-
action: 'bookly_save_administrator_phone',
|
495 |
-
bookly_sms_administrator_phone: getPhoneNumber(),
|
496 |
-
csrf_token: BooklyL10n.csrfToken
|
497 |
-
},
|
498 |
-
success: function (response) {
|
499 |
-
if (response.success) {
|
500 |
-
booklyAlert({success: [BooklyL10n.settingsSaved]});
|
501 |
-
}
|
502 |
-
}
|
503 |
-
});
|
504 |
-
});
|
505 |
-
|
506 |
-
function fillPriceTable() {
|
507 |
-
/**
|
508 |
-
* Init Columns.
|
509 |
-
*/
|
510 |
-
let columns = [];
|
511 |
-
|
512 |
-
$.each(BooklyL10n.datatables.sms_prices.settings.columns, function (column, show) {
|
513 |
-
if (show) {
|
514 |
-
switch (column) {
|
515 |
-
case 'country_iso_code':
|
516 |
-
columns.push({
|
517 |
-
data: column, render: function ( data, type, row, meta ) {
|
518 |
-
return '<div class="iti-flag ' + data + '"></div>';
|
519 |
-
}
|
520 |
-
});
|
521 |
-
break;
|
522 |
-
case 'price':
|
523 |
-
columns.push({
|
524 |
-
data: column,
|
525 |
-
className: "text-right",
|
526 |
-
render: function ( data, type, row, meta ) {
|
527 |
-
return '$' + data.replace(/0+$/, '');
|
528 |
-
}
|
529 |
-
});
|
530 |
-
break;
|
531 |
-
case 'price_alt':
|
532 |
-
columns.push({
|
533 |
-
data: column,
|
534 |
-
className: "text-right",
|
535 |
-
render: function ( data, type, row, meta ) {
|
536 |
-
if (row.price_alt == '') {
|
537 |
-
return '-';
|
538 |
-
} else {
|
539 |
-
return '$' + data.replace(/0+$/, '');
|
540 |
-
}
|
541 |
-
}
|
542 |
-
});
|
543 |
-
break;
|
544 |
-
default:
|
545 |
-
columns.push({data: column});
|
546 |
-
break;
|
547 |
-
}
|
548 |
-
}
|
549 |
-
});
|
550 |
-
if (columns.length) {
|
551 |
-
var dt = $('#bookly-prices').DataTable({
|
552 |
-
ordering : false,
|
553 |
-
paging : false,
|
554 |
-
info : false,
|
555 |
-
searching : false,
|
556 |
-
processing: true,
|
557 |
-
responsive: true,
|
558 |
-
ajax : {
|
559 |
-
url : ajaxurl,
|
560 |
-
data : {action: 'bookly_get_price_list', csrf_token: BooklyL10n.csrfToken},
|
561 |
-
dataSrc: 'list'
|
562 |
-
},
|
563 |
-
columns : columns,
|
564 |
-
language : {
|
565 |
-
zeroRecords: BooklyL10n.zeroRecords,
|
566 |
-
processing : BooklyL10n.processing
|
567 |
-
}
|
568 |
-
});
|
569 |
-
}
|
570 |
-
}
|
571 |
-
|
572 |
-
function getPhoneNumber() {
|
573 |
-
var phone_number;
|
574 |
-
try {
|
575 |
-
phone_number = BooklyL10n.intlTelInput.enabled ? $phone_input.intlTelInput('getNumber') : $phone_input.val();
|
576 |
-
if (phone_number == '') {
|
577 |
-
phone_number = $phone_input.val();
|
578 |
-
}
|
579 |
-
} catch (error) { // In case when intlTelInput can't return phone number.
|
580 |
-
phone_number = $phone_input.val();
|
581 |
-
}
|
582 |
-
|
583 |
-
return phone_number;
|
584 |
-
}
|
585 |
|
586 |
/**
|
587 |
* Sender ID Tab.
|
@@ -639,7 +534,6 @@ jQuery(function($) {
|
|
639 |
url : ajaxurl,
|
640 |
data : {action: 'bookly_request_sender_id', csrf_token : BooklyL10n.csrfToken, 'sender_id': $sender_id.val()},
|
641 |
dataType : 'json',
|
642 |
-
xhrFields: {withCredentials: true},
|
643 |
success: function (response) {
|
644 |
if (response.success) {
|
645 |
booklyAlert({success: [BooklyL10n.sender_id.sent]});
|
@@ -663,7 +557,6 @@ jQuery(function($) {
|
|
663 |
url: ajaxurl,
|
664 |
data: {action: 'bookly_reset_sender_id', csrf_token : BooklyL10n.csrfToken},
|
665 |
dataType: 'json',
|
666 |
-
xhrFields: {withCredentials: true},
|
667 |
success: function (response) {
|
668 |
if (response.success) {
|
669 |
booklyAlert({success: [BooklyL10n.sender_id.set_default]});
|
@@ -686,11 +579,11 @@ jQuery(function($) {
|
|
686 |
var ladda = Ladda.create(this);
|
687 |
ladda.start();
|
688 |
$.ajax({
|
689 |
-
method
|
690 |
-
url
|
691 |
-
data:
|
692 |
-
dataType
|
693 |
-
success
|
694 |
if (response.success) {
|
695 |
$sender_id.prop('disabled', false).val('');
|
696 |
$request_sender_id.show();
|
1 |
jQuery(function($) {
|
2 |
'use strict';
|
3 |
|
4 |
+
$('#bookly-logout').on('click', function () {
|
5 |
+
let ladda = Ladda.create(this);
|
6 |
+
ladda.start();
|
7 |
+
$.ajax({
|
8 |
+
method: 'POST',
|
9 |
+
url: ajaxurl,
|
10 |
+
data: {
|
11 |
+
action: 'bookly_sms_logout',
|
12 |
+
csrf_token : BooklyL10n.csrfToken,
|
13 |
+
},
|
14 |
+
dataType: 'json',
|
15 |
+
success: function () {
|
16 |
+
window.location.reload();
|
17 |
+
}
|
18 |
+
});
|
19 |
});
|
20 |
|
21 |
+
/**
|
22 |
+
* Account settings
|
23 |
+
*/
|
24 |
+
const $openSettingsBtn = $('#bookly-open-account-settings');
|
25 |
+
const $invoiceCountry = $('.bookly-js-invoice-country .bookly-js-label');
|
26 |
+
const $country = $('#bookly-country');
|
|
|
27 |
|
28 |
+
let invoiceDataValid = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
+
if ($openSettingsBtn.data('content')) {
|
31 |
+
$openSettingsBtn
|
32 |
+
.on('click', function () {
|
33 |
+
$openSettingsBtn.booklyPopover('hide');
|
34 |
+
$.ajax({
|
35 |
+
url: ajaxurl,
|
36 |
+
type: 'POST',
|
37 |
+
data: {
|
38 |
+
action: 'bookly_dismiss_sms_account_settings_notice',
|
39 |
+
csrf_token: BooklyL10n.csrfToken
|
40 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
});
|
42 |
+
})
|
43 |
+
.booklyPopover({
|
44 |
+
html: true,
|
45 |
+
sanitize: false,
|
46 |
+
trigger: 'manual',
|
47 |
+
container: '#bookly-tbs',
|
48 |
+
template: '<div class="bookly-popover" role="tooltip"><div class="arrow"></div><div class="popover-body"></div></div>',
|
49 |
+
placement: function (tip) {
|
50 |
+
$(tip)
|
51 |
+
.find('.popover-body button').on('click', function () {
|
52 |
+
$openSettingsBtn.booklyPopover('hide');
|
53 |
+
$.ajax({
|
54 |
+
url: ajaxurl,
|
55 |
+
type: 'POST',
|
56 |
+
data: {
|
57 |
+
action: 'bookly_dismiss_sms_account_settings_notice',
|
58 |
+
csrf_token: BooklyL10n.csrfToken
|
59 |
+
}
|
60 |
+
});
|
61 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
+
return 'bottom';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
+
})
|
66 |
+
.booklyPopover('show');
|
67 |
+
}
|
68 |
|
69 |
+
/**
|
70 |
+
* Settings: Country tab
|
71 |
+
*/
|
72 |
+
$country
|
73 |
+
.booklySelectCountry({dropdownParent: '#bookly-account-settings'})
|
74 |
+
.val(BooklyL10n.country).trigger('change')
|
75 |
+
;
|
76 |
+
|
77 |
+
$('#bookly-update-country').on('click', function () {
|
78 |
+
const ladda = Ladda.create(this);
|
79 |
ladda.start();
|
80 |
+
const country = $country.val();
|
81 |
$.ajax({
|
82 |
+
type: 'POST',
|
83 |
+
url: ajaxurl,
|
84 |
+
data: {
|
85 |
+
action: 'bookly_change_country',
|
86 |
+
csrf_token: BooklyL10n.csrfToken,
|
87 |
+
country: country
|
88 |
},
|
89 |
+
dataType: 'json',
|
90 |
+
success: function (response) {
|
|
|
|
|
91 |
if (response.success) {
|
92 |
+
booklyAlert({success: [BooklyL10n.settingsSaved]});
|
93 |
+
BooklyL10n.country = country;
|
94 |
+
if (BooklyRechargeDialogL10n) {
|
95 |
+
BooklyRechargeDialogL10n.country = country;
|
96 |
+
}
|
97 |
+
$invoiceCountry.html($country.select2('data')[0].text);
|
98 |
+
if (response.auto_recharge === 'disabled') {
|
99 |
+
$(document.body).trigger('bookly.auto-recharge.toggle', [false]);
|
100 |
+
}
|
101 |
} else {
|
102 |
if (response.data && response.data.message) {
|
103 |
booklyAlert({error: [response.data.message]});
|
104 |
}
|
105 |
}
|
|
|
106 |
}
|
107 |
+
}).always(ladda.stop);
|
108 |
});
|
109 |
|
110 |
+
/**
|
111 |
+
* Settings: Invoice tab
|
112 |
+
*/
|
113 |
+
if ($country.length && $country.select2('data').length > 0) {
|
114 |
+
$invoiceCountry.html($country.select2('data')[0].text);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
}
|
116 |
|
117 |
+
$('.bookly-js-invoice-country a').on('click', function (e) {
|
118 |
+
e.preventDefault();
|
119 |
+
$('#bookly-account-settings .nav-link[href=#bookly-country-tab]').trigger('click');
|
120 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
|
122 |
+
$('#bookly-save-invoice').on('click', function (e) {
|
123 |
+
e.preventDefault();
|
124 |
+
const $form = $(this).closest('form');
|
125 |
+
invoiceDataValid = true;
|
126 |
+
$('input[required]', $form).each(function () {
|
127 |
+
if ($(this).val() === '') {
|
128 |
+
$(this).addClass('is-invalid');
|
129 |
+
invoiceDataValid = false;
|
130 |
} else {
|
131 |
+
$(this).removeClass('is-invalid');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
}
|
133 |
});
|
134 |
|
135 |
+
if (invoiceDataValid) {
|
136 |
+
const ladda = Ladda.create(this);
|
137 |
+
ladda.start();
|
138 |
+
const data = $form.serializeArray();
|
139 |
+
data.push({name: 'action', value: 'bookly_save_invoice_data'});
|
140 |
+
data.push({name: 'csrf_token', value: BooklyL10n.csrfToken});
|
141 |
+
$.ajax({
|
142 |
+
type: 'POST',
|
143 |
+
url: ajaxurl,
|
144 |
+
data: data,
|
145 |
+
dataType: 'json',
|
146 |
+
success: function(response) {
|
147 |
+
if (response.success) {
|
148 |
+
booklyAlert({success: [BooklyL10n.settingsSaved]});
|
149 |
+
} else {
|
150 |
+
booklyAlert({error: [response.data.message]});
|
151 |
+
}
|
152 |
+
}
|
153 |
+
}).always(ladda.stop);
|
154 |
+
} else {
|
155 |
+
return false;
|
156 |
+
}
|
157 |
+
}).closest('form').find('input[required]').each(function () {
|
158 |
+
if (this.value === '') {
|
159 |
+
invoiceDataValid = false;
|
160 |
+
}
|
161 |
+
});
|
162 |
|
163 |
+
/**
|
164 |
+
* Settings: Notifications tab
|
165 |
+
*/
|
166 |
+
$('#bookly-account-notifications-tab :checkbox').on('change', function () {
|
167 |
+
let $checkbox = $(this);
|
168 |
+
$checkbox.prop('disabled', true).addClass('bookly-checkbox-loading');
|
169 |
+
$.get(
|
170 |
+
ajaxurl,
|
171 |
+
{
|
172 |
+
action: 'bookly_admin_notify',
|
173 |
+
csrf_token : BooklyL10n.csrfToken,
|
174 |
+
option_name: $checkbox.attr('name'),
|
175 |
+
value: $checkbox.is(':checked') ? 1 : 0
|
176 |
+
},
|
177 |
+
function () {},
|
178 |
+
'json'
|
179 |
+
).always(function () {
|
180 |
+
$checkbox.prop('disabled', false).removeClass('bookly-checkbox-loading');
|
181 |
});
|
182 |
});
|
183 |
|
184 |
+
/**
|
185 |
+
* Settings: Change password tab
|
186 |
+
*/
|
187 |
+
$('#bookly-change-password').on('click', function (e) {
|
188 |
e.preventDefault();
|
189 |
+
const $form = $(this).closest('form');
|
190 |
+
const $oldPassword = $form.find('#old_password');
|
191 |
+
const $newPassword = $form.find('#new_password');
|
192 |
+
const $repeatPassword = $form.find('#new_password_repeat');
|
193 |
+
$oldPassword.toggleClass('is-invalid', $oldPassword.val() === '');
|
194 |
+
$newPassword.toggleClass('is-invalid', $newPassword.val() === '');
|
195 |
+
if ($oldPassword.val() !== '' && $newPassword.val() !== '') {
|
196 |
+
if ($newPassword.val() === $repeatPassword.val()) {
|
197 |
+
$newPassword.removeClass('is-invalid');
|
198 |
+
$repeatPassword.removeClass('is-invalid');
|
199 |
+
const ladda = Ladda.create(this);
|
200 |
+
ladda.start();
|
201 |
+
const data = $form.serializeArray();
|
202 |
+
data.push({name: 'action', value: 'bookly_change_password'});
|
203 |
+
data.push({name: 'csrf_token', value: BooklyL10n.csrfToken});
|
204 |
$.ajax({
|
205 |
+
type: 'POST',
|
206 |
+
url: ajaxurl,
|
207 |
+
data: data,
|
208 |
+
dataType: 'json',
|
209 |
+
success: function (response) {
|
|
|
|
|
210 |
if (response.success) {
|
211 |
+
booklyAlert({success: [BooklyL10n.settingsSaved]});
|
212 |
$form.trigger('reset');
|
213 |
} else {
|
214 |
if (response.data && response.data.message) {
|
216 |
}
|
217 |
}
|
218 |
}
|
219 |
+
}).always(ladda.stop);
|
220 |
} else {
|
221 |
+
booklyAlert({error: [BooklyL10n.passwords_no_match]});
|
222 |
+
$newPassword.addClass('is-invalid');
|
223 |
+
$repeatPassword.addClass('is-invalid');
|
224 |
}
|
|
|
|
|
225 |
}
|
226 |
});
|
227 |
|
228 |
+
/**
|
229 |
+
* Notifications Tab
|
230 |
+
*/
|
231 |
var $phone_input = $('#admin_phone');
|
232 |
if (BooklyL10n.intlTelInput.enabled) {
|
233 |
$phone_input.intlTelInput({
|
253 |
$('#send_test_sms').on('click', function (e) {
|
254 |
e.preventDefault();
|
255 |
$.ajax({
|
256 |
+
url: ajaxurl,
|
257 |
+
data: {
|
258 |
action: 'bookly_send_test_sms',
|
259 |
csrf_token : BooklyL10n.csrfToken,
|
260 |
phone_number: getPhoneNumber() },
|
261 |
+
dataType: 'json',
|
262 |
+
success: function (response) {
|
|
|
|
|
263 |
if (response.success) {
|
264 |
booklyAlert({success: [response.message]});
|
265 |
} else {
|
269 |
});
|
270 |
});
|
271 |
|
272 |
+
$('[data-action=save-administrator-phone]')
|
273 |
+
.on('click', function (e) {
|
274 |
+
e.preventDefault();
|
275 |
+
$.ajax({
|
276 |
+
url: ajaxurl,
|
277 |
+
method: 'POST',
|
278 |
+
data: {
|
279 |
+
action: 'bookly_save_administrator_phone',
|
280 |
+
bookly_sms_administrator_phone: getPhoneNumber(),
|
281 |
+
csrf_token: BooklyL10n.csrfToken
|
282 |
+
},
|
283 |
+
success: function (response) {
|
284 |
+
if (response.success) {
|
285 |
+
booklyAlert({success: [BooklyL10n.settingsSaved]});
|
286 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
}
|
288 |
});
|
289 |
+
});
|
290 |
+
|
291 |
+
function getPhoneNumber() {
|
292 |
+
var phone_number;
|
293 |
+
try {
|
294 |
+
phone_number = BooklyL10n.intlTelInput.enabled ? $phone_input.intlTelInput('getNumber') : $phone_input.val();
|
295 |
+
if (phone_number == '') {
|
296 |
+
phone_number = $phone_input.val();
|
297 |
+
}
|
298 |
+
} catch (error) { // In case when intlTelInput can't return phone number.
|
299 |
+
phone_number = $phone_input.val();
|
300 |
+
}
|
301 |
+
|
302 |
+
return phone_number;
|
303 |
+
}
|
304 |
|
305 |
/**
|
306 |
* Date range pickers options.
|
344 |
|
345 |
$.each(BooklyL10n.datatables.sms_purchases.settings.columns, function (column, show) {
|
346 |
if (show) {
|
347 |
+
if (column === 'amount') {
|
348 |
+
columns.push({
|
349 |
+
data: column,
|
350 |
+
render: function (data, type, row, meta) {
|
351 |
+
const disabled = ['Pending','Rejected','Cancelled reversal'].includes(row.status);
|
352 |
+
return data >= 0
|
353 |
+
? '<span class="text-' + (disabled ? 'muted' : 'success') + '">+ $' + data + '</span>'
|
354 |
+
: '<span class="text-' + (disabled ? 'muted' : 'danger') + '">- $' + data.substring(1) + '</span>';
|
355 |
+
}
|
356 |
+
});
|
357 |
+
} else {
|
358 |
+
columns.push({data: column});
|
359 |
+
}
|
360 |
}
|
361 |
});
|
362 |
columns.push({
|
363 |
className: "text-right",
|
364 |
render : function (data, type, row, meta) {
|
365 |
+
if ((row.type === 'PayPal' || row.type === 'Card') && row.status === 'Paid') {
|
366 |
+
return '<button type="button" class="btn btn-default" data-action="download-invoice"><i class="far fa-fw fa-file-pdf mr-1"></i> ' + BooklyL10n.invoice.button + '</button>';
|
367 |
+
}
|
368 |
+
return '';
|
369 |
}
|
370 |
});
|
371 |
|
399 |
|
400 |
$('#bookly-purchases')
|
401 |
.on('click', '[data-action=download-invoice]', function () {
|
402 |
+
if (invoiceDataValid) {
|
403 |
+
const data = $('#bookly-purchases').DataTable().row($(this).closest('td')).data();
|
404 |
+
window.location = BooklyL10n.invoice.link + '/' + data.id;
|
|
|
405 |
} else {
|
406 |
+
booklyAlert({error: [BooklyL10n.invoice.alert]});
|
|
|
407 |
}
|
408 |
});
|
409 |
|
475 |
* Prices Tab.
|
476 |
*/
|
477 |
$("[href='#price_list']").one('click', function() {
|
478 |
+
$('#bookly-prices').booklySmsPrices();
|
479 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
480 |
|
481 |
/**
|
482 |
* Sender ID Tab.
|
534 |
url : ajaxurl,
|
535 |
data : {action: 'bookly_request_sender_id', csrf_token : BooklyL10n.csrfToken, 'sender_id': $sender_id.val()},
|
536 |
dataType : 'json',
|
|
|
537 |
success: function (response) {
|
538 |
if (response.success) {
|
539 |
booklyAlert({success: [BooklyL10n.sender_id.sent]});
|
557 |
url: ajaxurl,
|
558 |
data: {action: 'bookly_reset_sender_id', csrf_token : BooklyL10n.csrfToken},
|
559 |
dataType: 'json',
|
|
|
560 |
success: function (response) {
|
561 |
if (response.success) {
|
562 |
booklyAlert({success: [BooklyL10n.sender_id.set_default]});
|
579 |
var ladda = Ladda.create(this);
|
580 |
ladda.start();
|
581 |
$.ajax({
|
582 |
+
method: 'POST',
|
583 |
+
url: ajaxurl,
|
584 |
+
data: {action: 'bookly_cancel_sender_id', csrf_token : BooklyL10n.csrfToken},
|
585 |
+
dataType: 'json',
|
586 |
+
success: function (response) {
|
587 |
if (response.success) {
|
588 |
$sender_id.prop('disabled', false).val('');
|
589 |
$request_sender_id.show();
|
backend/modules/sms/templates/_auto_recharge.php
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
-
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
-
?>
|
4 |
-
<p class="alert alert-info">
|
5 |
-
<?php esc_html_e( 'We will only charge your PayPal account when your balance falls below $10.', 'bookly' ) ?>
|
6 |
-
</p>
|
7 |
-
|
8 |
-
<div class="form-group">
|
9 |
-
<label for="bookly-recharge-amount"><?php esc_html_e( 'Amount', 'bookly' ) ?></label>
|
10 |
-
<select id="bookly-recharge-amount" class="form-control custom-select"<?php disabled( $sms->autoRechargeEnabled() ) ?>>
|
11 |
-
<?php foreach ( array( 10, 25, 50, 100 ) as $amount ) : ?>
|
12 |
-
<?php printf( '<option value="%1$s" %2$s>$%1$s</option>', $amount, selected( $sms->getAutoRechargeAmount() == $amount, true, false ) ) ?>
|
13 |
-
<?php endforeach ?>
|
14 |
-
</select>
|
15 |
-
</div>
|
16 |
-
|
17 |
-
<div class="text-right mt-3">
|
18 |
-
<?php Buttons::render( 'bookly-auto-recharge-init', 'btn-success', __( 'Enable Auto-Recharge', 'bookly' ) . '…', $sms->autoRechargeEnabled() ? array( 'disabled' => 'disabled' ) : array() ) ?>
|
19 |
-
<?php Buttons::renderDefault( 'bookly-auto-recharge-decline', null, __( 'Disable Auto-Recharge', 'bookly' ) . '…', $sms->autoRechargeEnabled() ? array() : array( 'disabled' => 'disabled' ) ) ?>
|
20 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
backend/modules/sms/templates/_buttons.php
DELETED
@@ -1,94 +0,0 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
-
use Bookly\Lib\Utils\Common;
|
3 |
-
$business = 'finance@ladela.com';
|
4 |
-
$action = 'https://www.paypal.com/cgi-bin/webscr';
|
5 |
-
$page_slug = Bookly\Backend\Modules\Sms\Ajax::pageSlug();
|
6 |
-
?>
|
7 |
-
<div class="row">
|
8 |
-
<div class="col-xs-12 col-md-3">
|
9 |
-
<form action="<?php echo esc_url( $action ) ?>" method="post">
|
10 |
-
<input type="hidden" name="item_name" value="Bookly SMS">
|
11 |
-
<input type="hidden" name="currency_code" value="USD">
|
12 |
-
<input type="hidden" name="amount" value="10">
|
13 |
-
<input type="hidden" name="return" value="<?php echo Common::escAdminUrl( $page_slug, array( 'paypal_result' => 'success' ) ) ?>">
|
14 |
-
<input type="hidden" name="cancel_return" value="<?php echo Common::escAdminUrl( $page_slug, array( 'paypal_result' => 'cancel', 'tab' => 'add_money' ) ) ?>">
|
15 |
-
<input type="hidden" name="cmd" value="_xclick">
|
16 |
-
<input type="hidden" name="business" value="<?php echo esc_attr( $business ) ?>">
|
17 |
-
<input type="hidden" name="custom" value="<?php echo esc_attr( $sms->getUserName() ) ?>">
|
18 |
-
<input type="hidden" name="no_shipping" value="1">
|
19 |
-
<input type="hidden" name="handling" value="0.77">
|
20 |
-
<input type="hidden" name="landing_page" value="billing">
|
21 |
-
<input type="image" class="embed-responsive"
|
22 |
-
src="<?php echo plugins_url( 'bookly-responsive-appointment-booking-tool/backend/resources/images/buy10.png' ) ?>"
|
23 |
-
border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
|
24 |
-
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif"
|
25 |
-
width="1" height="1">
|
26 |
-
</form>
|
27 |
-
</div>
|
28 |
-
<div class="col-xs-12 col-md-3">
|
29 |
-
<form action="<?php echo esc_url( $action ) ?>" method="post">
|
30 |
-
<input type="hidden" name="item_name" value="Bookly SMS">
|
31 |
-
<input type="hidden" name="currency_code" value="USD">
|
32 |
-
<input type="hidden" name="amount" value="25">
|
33 |
-
<input type="hidden" name="return" value="<?php echo Common::escAdminUrl( $page_slug, array( 'paypal_result' => 'success' ) ) ?>">
|
34 |
-
<input type="hidden" name="cancel_return" value="<?php echo Common::escAdminUrl( $page_slug, array( 'paypal_result' => 'cancel', 'tab' => 'add_money' ) ) ?>">
|
35 |
-
<input type="hidden" name="cmd" value="_xclick">
|
36 |
-
<input type="hidden" name="business" value="<?php echo esc_attr( $business ) ?>">
|
37 |
-
<input type="hidden" name="custom" value="<?php echo esc_attr( $sms->getUserName() ) ?>">
|
38 |
-
<input type="hidden" name="no_shipping" value="1">
|
39 |
-
<input type="hidden" name="handling" value="1.46">
|
40 |
-
<input type="hidden" name="landing_page" value="billing">
|
41 |
-
<input type="image" class="embed-responsive"
|
42 |
-
src="<?php echo plugins_url( 'bookly-responsive-appointment-booking-tool/backend/resources/images/buy25.png' ) ?>"
|
43 |
-
border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
|
44 |
-
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif"
|
45 |
-
width="1" height="1">
|
46 |
-
</form>
|
47 |
-
</div>
|
48 |
-
<div class="col-xs-12 col-md-3">
|
49 |
-
<form action="<?php echo esc_url( $action ) ?>" method="post">
|
50 |
-
<input type="hidden" name="item_name" value="Bookly SMS">
|
51 |
-
<input type="hidden" name="currency_code" value="USD">
|
52 |
-
<input type="hidden" name="amount" value="50">
|
53 |
-
<input type="hidden" name="return" value="<?php echo Common::escAdminUrl( $page_slug, array( 'paypal_result' => 'success' ) ) ?>">
|
54 |
-
<input type="hidden" name="cancel_return" value="<?php echo Common::escAdminUrl( $page_slug, array( 'paypal_result' => 'cancel', 'tab' => 'add_money' ) ) ?>">
|
55 |
-
<input type="hidden" name="cmd" value="_xclick">
|
56 |
-
<input type="hidden" name="business" value="<?php echo esc_attr( $business ) ?>">
|
57 |
-
<input type="hidden" name="custom" value="<?php echo esc_attr( $sms->getUserName() ) ?>">
|
58 |
-
<input type="hidden" name="no_shipping" value="1">
|
59 |
-
<input type="hidden" name="handling" value="2.61">
|
60 |
-
<input type="hidden" name="landing_page" value="billing">
|
61 |
-
<input type="image" class="embed-responsive"
|
62 |
-
src="<?php echo plugins_url( 'bookly-responsive-appointment-booking-tool/backend/resources/images/buy50.png' ) ?>"
|
63 |
-
border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
|
64 |
-
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif"
|
65 |
-
width="1" height="1">
|
66 |
-
</form>
|
67 |
-
</div>
|
68 |
-
<div class="col-xs-12 col-md-3">
|
69 |
-
<form action="<?php echo esc_url( $action ) ?>" method="post">
|
70 |
-
<input type="hidden" name="item_name" value="Bookly SMS">
|
71 |
-
<input type="hidden" name="currency_code" value="USD">
|
72 |
-
<input type="hidden" name="amount" value="100">
|
73 |
-
<input type="hidden" name="return" value="<?php echo Common::escAdminUrl( $page_slug, array( 'paypal_result' => 'success' ) ) ?>">
|
74 |
-
<input type="hidden" name="cancel_return" value="<?php echo Common::escAdminUrl( $page_slug, array( 'paypal_result' => 'cancel', 'tab' => 'add_money' ) ) ?>">
|
75 |
-
<input type="hidden" name="cmd" value="_xclick">
|
76 |
-
<input type="hidden" name="business" value="<?php echo esc_attr( $business ) ?>">
|
77 |
-
<input type="hidden" name="custom" value="<?php echo esc_attr( $sms->getUserName() ) ?>">
|
78 |
-
<input type="hidden" name="no_shipping" value="1">
|
79 |
-
<input type="hidden" name="handling" value="4.92">
|
80 |
-
<input type="hidden" name="landing_page" value="billing">
|
81 |
-
<input type="image" class="embed-responsive"
|
82 |
-
src="<?php echo plugins_url( 'bookly-responsive-appointment-booking-tool/backend/resources/images/buy100.png' ) ?>"
|
83 |
-
border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
|
84 |
-
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif"
|
85 |
-
width="1" height="1">
|
86 |
-
</form>
|
87 |
-
</div>
|
88 |
-
</div>
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
backend/modules/sms/templates/_confirm_email.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
?>
|
4 |
+
<form id="bookly-confirm-email-modal" class="bookly-modal bookly-fade" tabindex=-1 role="dialog">
|
5 |
+
<div class="modal-dialog">
|
6 |
+
<div class="modal-content">
|
7 |
+
<div class="modal-header">
|
8 |
+
<h5 class="modal-title"><?php esc_html_e( 'Thank you for registration.', 'bookly' ) ?></h5>
|
9 |
+
<button type="button" class="close" data-dismiss="bookly-modal"><span>×</span></button>
|
10 |
+
</div>
|
11 |
+
<div class="modal-body">
|
12 |
+
<p>
|
13 |
+
<?php esc_html_e( 'You\'re almost ready to get started with Bookly SMS Service.', 'bookly' ) ?>
|
14 |
+
<?php esc_html_e( 'An email containing the confirmation code has been sent to your email address.', 'bookly' ) ?>
|
15 |
+
</p>
|
16 |
+
<p><?php esc_html_e( 'To complete registration, please enter the confirmation code below.', 'bookly' ) ?></p>
|
17 |
+
<div class="input-group mb-4">
|
18 |
+
<input type="text" class="form-control bookly-js-confirmation-code" id="bookly-confirmation-code" placeholder="<?php esc_attr_e( 'Confirmation code', 'bookly' ) ?>" />
|
19 |
+
<div class="input-group-append">
|
20 |
+
<?php Buttons::renderSubmit( 'bookly-apply-confirmation-code', null, __( 'Confirm' ), array( 'name' => 'submit' ) ) ?>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
<h6>
|
24 |
+
<b><?php esc_html_e( 'Didn\'t receive the email?', 'bookly' ) ?></b>
|
25 |
+
</h6>
|
26 |
+
<ol>
|
27 |
+
<li>
|
28 |
+
<?php esc_html_e( 'Check your spam folder.', 'bookly' ) ?>
|
29 |
+
</li>
|
30 |
+
<li>
|
31 |
+
<?php printf( esc_html__( 'Click %s here %s to resend the email.', 'bookly' ), '<a href="#" class="bookly-js-resend-confirmation">', '</a>' ) ?>
|
32 |
+
</li>
|
33 |
+
</ol>
|
34 |
+
</div>
|
35 |
+
<div class="modal-footer">
|
36 |
+
<?php Buttons::renderCancel( __( 'I\'ll do it later', 'bookly' ) ) ?>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
</div>
|
40 |
+
</form>
|
backend/modules/sms/templates/_invoice.php
DELETED
@@ -1,70 +0,0 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
-
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
-
use Bookly\Backend\Components\Controls\Inputs;
|
4 |
-
?>
|
5 |
-
<form class="card bookly-collapse bookly-js-invoice mt-2 mb-3">
|
6 |
-
<div class="card-header d-flex align-items-center" role="tab">
|
7 |
-
<input name="invoice[send]" value="0" class="hidden" />
|
8 |
-
<?php Inputs::renderCheckBox( '', 1, $invoice['send'], array( 'name' => 'invoice[send]' ) ) ?>
|
9 |
-
<a href="#collapse_invoice" class="collapsed" role="button" data-toggle="collapse"><?php esc_html_e( 'Send invoice', 'bookly' ) ?></a>
|
10 |
-
</div>
|
11 |
-
<div id="collapse_invoice" class="collapse">
|
12 |
-
<div class="card-body">
|
13 |
-
<div class="row">
|
14 |
-
<div class="col-md-6">
|
15 |
-
<div class="form-group">
|
16 |
-
<label for="bookly_sms_invoice_company_name"><?php esc_html_e( 'Company name', 'bookly' ) ?>*</label>
|
17 |
-
<input name="invoice[company_name]" type="text" class="form-control" id="bookly_sms_invoice_company_name" required value="<?php echo esc_attr( $invoice['company_name'] ) ?>">
|
18 |
-
</div>
|
19 |
-
</div>
|
20 |
-
<div class="col-md-6">
|
21 |
-
<div class="alert alert-info">
|
22 |
-
<i class="fas fa-info-circle text-info mr-2"></i> <?php esc_html_e( 'Note: invoice will be sent to your PayPal email address', 'bookly' ) ?></i>
|
23 |
-
</div>
|
24 |
-
</div>
|
25 |
-
</div>
|
26 |
-
<div class="row">
|
27 |
-
<div class="col-md-6">
|
28 |
-
<div class="form-group">
|
29 |
-
<label for="bookly_sms_invoice_company_address"><?php esc_html_e( 'Company address', 'bookly' ) ?>*</label>
|
30 |
-
<input name="invoice[company_address]" type="text" class="form-control" id="bookly_sms_invoice_company_address" required value="<?php echo esc_attr( $invoice['company_address'] ) ?>">
|
31 |
-
</div>
|
32 |
-
</div>
|
33 |
-
<div class="col-md-6">
|
34 |
-
<div class="form-group mt-n2">
|
35 |
-
<?php Inputs::renderCheckBox( __( 'Copy invoice to another email(s)', 'bookly' ), 1, $invoice['send_copy'], array( 'name' => 'invoice[send_copy]' ) ) ?>
|
36 |
-
<input name="invoice[cc]" type="text" class="form-control" value="<?php echo esc_attr( $invoice['cc'] ) ?>">
|
37 |
-
<small class="form-text text-muted"><?php esc_html_e( 'Enter one or more email addresses separated by commas.', 'bookly' ) ?></small>
|
38 |
-
</div>
|
39 |
-
</div>
|
40 |
-
</div>
|
41 |
-
<div class="row">
|
42 |
-
<div class="col-md-6">
|
43 |
-
<div class="form-group">
|
44 |
-
<label for="bookly_sms_invoice_company_address_l2"><?php esc_html_e( 'Company address line 2', 'bookly' ) ?></label>
|
45 |
-
<input name="invoice[company_address_l2]" type="text" class="form-control" id="bookly_sms_invoice_company_address_l2" value="<?php echo esc_attr( $invoice['company_address_l2'] ) ?>">
|
46 |
-
</div>
|
47 |
-
<div class="form-row">
|
48 |
-
<div class="form-group col-md-6">
|
49 |
-
<label for="bookly_sms_invoice_company_vat"><?php esc_html_e( 'VAT', 'bookly' ) ?></label>
|
50 |
-
<input name="invoice[company_vat]" type="text" class="form-control" id="bookly_sms_invoice_company_vat" value="<?php echo esc_attr( $invoice['company_vat'] ) ?>">
|
51 |
-
</div>
|
52 |
-
<div class="form-group col-md-6">
|
53 |
-
<label for="bookly_sms_invoice_company_code"><?php esc_html_e( 'Company code', 'bookly' ) ?></label>
|
54 |
-
<input name="invoice[company_code]" type="text" class="form-control" id="bookly_sms_invoice_company_code" value="<?php echo esc_attr( $invoice['company_code'] ) ?>">
|
55 |
-
</div>
|
56 |
-
</div>
|
57 |
-
</div>
|
58 |
-
<div class="col-md-6">
|
59 |
-
<div class="form-group">
|
60 |
-
<label for="bookly_sms_invoice_company_add_text"><?php esc_html_e( 'Additional text to include into invoice', 'bookly' ) ?></label>
|
61 |
-
<textarea name="invoice[company_add_text]" class="form-control" rows="4" style="height: 118px;" id="bookly_sms_invoice_company_add_text"><?php echo esc_textarea( $invoice['company_add_text'] ) ?></textarea>
|
62 |
-
</div>
|
63 |
-
</div>
|
64 |
-
</div>
|
65 |
-
</div>
|
66 |
-
<div class="card-footer bg-transparent d-flex justify-content-end">
|
67 |
-
<?php Buttons::renderSubmit( null ) ?>
|
68 |
-
</div>
|
69 |
-
</div>
|
70 |
-
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
backend/modules/sms/templates/_settings.php
ADDED
@@ -0,0 +1,138 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
use Bookly\Backend\Components\Controls\Inputs;
|
4 |
+
use Bookly\Backend\Components\Dialogs\Recharge;
|
5 |
+
use Bookly\Lib;
|
6 |
+
/**
|
7 |
+
* @var Lib\SMS $sms
|
8 |
+
*/
|
9 |
+
$invoice = $sms->getInvoiceData();
|
10 |
+
?>
|
11 |
+
<div class="bookly-modal bookly-fade" id="bookly-account-settings" tabindex=-1 role="dialog">
|
12 |
+
<div class="modal-dialog modal-lg">
|
13 |
+
<div class="modal-content">
|
14 |
+
<div class="modal-header">
|
15 |
+
<h5 class="modal-title"><?php esc_html_e( 'Account settings', 'bookly' ) ?></h5>
|
16 |
+
<button type="button" class="close" data-dismiss="bookly-modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
17 |
+
</div>
|
18 |
+
<div class="modal-body">
|
19 |
+
<div class="row">
|
20 |
+
<div class="col-3">
|
21 |
+
<div class="nav flex-column nav-pills">
|
22 |
+
<a class="nav-link active" data-toggle="bookly-pill" href="#bookly-auto-recharge-tab"><?php esc_html_e( 'Auto-Recharge', 'bookly' ) ?></a>
|
23 |
+
<a class="nav-link mt-2" data-toggle="bookly-pill" href="#bookly-invoice-tab"><?php esc_html_e( 'Invoice', 'bookly' ) ?></a>
|
24 |
+
<a class="nav-link mt-2" data-toggle="bookly-pill" href="#bookly-account-notifications-tab"><?php esc_html_e( 'Notifications', 'bookly' ) ?></a>
|
25 |
+
<a class="nav-link mt-2" data-toggle="bookly-pill" href="#bookly-country-tab"><?php esc_html_e( 'Country', 'bookly' ) ?></a>
|
26 |
+
<a class="nav-link mt-2" data-toggle="bookly-pill" href="#bookly-change-password-tab"><?php esc_html_e( 'Change password', 'bookly' ) ?></a>
|
27 |
+
</div>
|
28 |
+
</div>
|
29 |
+
<div class="col-9">
|
30 |
+
<div class="tab-content">
|
31 |
+
<div class="tab-pane bookly-fade show active" id="bookly-auto-recharge-tab">
|
32 |
+
<div class="form-row align-items-center">
|
33 |
+
<div class="col-8">
|
34 |
+
<?php Recharge\Amounts\Auto\Button::renderSelector() ?>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
<small class="text-muted"><?php printf( __( 'We will only charge you when your balance falls bellow %s', 'bookly' ), '<b>$10</b>' ) ?></small>
|
38 |
+
</div>
|
39 |
+
|
40 |
+
<div class="tab-pane bookly-fade" id="bookly-invoice-tab">
|
41 |
+
<form>
|
42 |
+
<div class="form-group">
|
43 |
+
<label for="bookly_sms_invoice_company_name"><?php esc_html_e( 'Company name', 'bookly' ) ?>*</label>
|
44 |
+
<input name="invoice[company_name]" type="text" class="form-control" id="bookly_sms_invoice_company_name" required value="<?php echo esc_attr( $invoice['company_name'] ) ?>">
|
45 |
+
</div>
|
46 |
+
<div class="form-group">
|
47 |
+
<label for="bookly_sms_invoice_company_address"><?php esc_html_e( 'Company address', 'bookly' ) ?>*</label>
|
48 |
+
<input name="invoice[company_address]" type="text" class="form-control" id="bookly_sms_invoice_company_address" required value="<?php echo esc_attr( $invoice['company_address'] ) ?>">
|
49 |
+
</div>
|
50 |
+
<div class="form-group">
|
51 |
+
<label for="bookly_sms_invoice_company_address_l2"><?php esc_html_e( 'Company address line 2', 'bookly' ) ?></label>
|
52 |
+
<input name="invoice[company_address_l2]" type="text" class="form-control" id="bookly_sms_invoice_company_address_l2" value="<?php echo esc_attr( $invoice['company_address_l2'] ) ?>">
|
53 |
+
</div>
|
54 |
+
<div class="form-group bookly-js-invoice-country">
|
55 |
+
<div class="bookly-js-label">N/A</div>
|
56 |
+
<small class="form-text text-muted mb-2"><?php _e( 'You can change the country <a href="#">here</a>', 'bookly' ) ?></small>
|
57 |
+
</div>
|
58 |
+
<div class="form-row">
|
59 |
+
<div class="form-group col-md-6">
|
60 |
+
<label for="bookly_sms_invoice_company_code"><?php esc_html_e( 'Company number', 'bookly' ) ?></label>
|
61 |
+
<input name="invoice[company_code]" type="text" class="form-control" id="bookly_sms_invoice_company_code" value="<?php echo esc_attr( $invoice['company_code'] ) ?>">
|
62 |
+
</div>
|
63 |
+
<div class="form-group col-md-6">
|
64 |
+
<label for="bookly_sms_invoice_company_vat"><?php esc_html_e( 'VAT / Tax number', 'bookly' ) ?></label>
|
65 |
+
<input name="invoice[company_vat]" type="text" class="form-control" id="bookly_sms_invoice_company_vat" value="<?php echo esc_attr( $invoice['company_vat'] ) ?>">
|
66 |
+
</div>
|
67 |
+
</div>
|
68 |
+
<div class="form-group">
|
69 |
+
<label for="bookly_sms_invoice_company_add_text"><?php esc_html_e( 'Additional text to include in invoice', 'bookly' ) ?></label>
|
70 |
+
<textarea name="invoice[company_add_text]" class="form-control" rows="3" id="bookly_sms_invoice_company_add_text"><?php echo esc_textarea( $invoice['company_add_text'] ) ?></textarea>
|
71 |
+
</div>
|
72 |
+
<div class="form-group border-top pt-2">
|
73 |
+
<input name="invoice[send]" value="0" class="hidden" />
|
74 |
+
<?php Inputs::renderCheckBox( 'Send invoice', 1, $invoice['send'], array( 'name' => 'invoice[send]' ) ) ?>
|
75 |
+
<small class="text-muted"><?php printf( __( 'The invoice will be sent to <a href="mailto:%1$s">%1$s</a>', 'bookly' ), Bookly\Lib\SMS::getInstance()->getUserName() ) ?></small>
|
76 |
+
</div>
|
77 |
+
<div class="form-group">
|
78 |
+
<?php Inputs::renderCheckBox( __( 'Copy invoice to another email(s)', 'bookly' ), 1, $invoice['send_copy'], array( 'name' => 'invoice[send_copy]' ) ) ?>
|
79 |
+
<input name="invoice[cc]" type="text" class="form-control mt-2" value="<?php echo esc_attr( $invoice['cc'] ) ?>">
|
80 |
+
<small class="form-text text-muted"><?php esc_html_e( 'Enter one or more email addresses separated by commas.', 'bookly' ) ?></small>
|
81 |
+
</div>
|
82 |
+
<?php Buttons::renderSubmit( 'bookly-save-invoice', null, __( 'Save invoice settings', 'bookly' ) ) ?>
|
83 |
+
</form>
|
84 |
+
</div>
|
85 |
+
|
86 |
+
<div class="tab-pane bookly-fade" id="bookly-account-notifications-tab">
|
87 |
+
<div class="form-group">
|
88 |
+
<div class="custom-control custom-checkbox">
|
89 |
+
<input class="custom-control-input" type="checkbox" id="bookly_sms_notify_low_balance" name="bookly_sms_notify_low_balance" <?php checked( get_option( 'bookly_sms_notify_low_balance' ) ) ?>>
|
90 |
+
<label class="custom-control-label" for="bookly_sms_notify_low_balance"><span><?php esc_html_e( 'Send email notification to administrators at low balance', 'bookly' ) ?></span></label>
|
91 |
+
</div>
|
92 |
+
</div>
|
93 |
+
<div class="custom-control custom-checkbox">
|
94 |
+
<input class="custom-control-input" type="checkbox" id="bookly_sms_notify_weekly_summary" name="bookly_sms_notify_weekly_summary" <?php checked( get_option( 'bookly_sms_notify_weekly_summary' ) ) ?>>
|
95 |
+
<label class="custom-control-label" for="bookly_sms_notify_weekly_summary"><span><?php esc_html_e( 'Send weekly summary to administrators', 'bookly' ) ?></span></label>
|
96 |
+
</div>
|
97 |
+
</div>
|
98 |
+
|
99 |
+
<div class="tab-pane bookly-fade" id="bookly-country-tab">
|
100 |
+
<div class="form-group">
|
101 |
+
<select id="bookly-country"></select>
|
102 |
+
<small class="text-muted"><?php esc_html_e( 'Your country is the location from where you consume Bookly SMS services and is used to provide you with the payment methods available in that country.', 'bookly' ) ?></small>
|
103 |
+
</div>
|
104 |
+
<?php Buttons::renderSubmit( 'bookly-update-country', null, __( 'Update country', 'bookly' ) ) ?>
|
105 |
+
</div>
|
106 |
+
|
107 |
+
<div class="tab-pane bookly-fade" id="bookly-change-password-tab">
|
108 |
+
<form>
|
109 |
+
<div class="form-group">
|
110 |
+
<label for="old_password"><?php esc_html_e( 'Old password', 'bookly' ) ?></label>
|
111 |
+
<input type="password" class="form-control" id="old_password" name="old_password" placeholder="<?php esc_attr_e( 'Old password', 'bookly' ) ?>" required />
|
112 |
+
</div>
|
113 |
+
<div class="form-group">
|
114 |
+
<label for="new_password"><?php esc_html_e( 'New password', 'bookly' ) ?></label>
|
115 |
+
<input type="password" class="form-control" id="new_password" name="new_password" placeholder="<?php esc_attr_e( 'New password', 'bookly' ) ?>" required />
|
116 |
+
</div>
|
117 |
+
<div class="form-group">
|
118 |
+
<label for="new_password_repeat"><?php esc_html_e( 'Repeat new password', 'bookly' ) ?></label>
|
119 |
+
<input type="password" class="form-control" id="new_password_repeat" placeholder="<?php esc_attr_e( 'Repeat new password', 'bookly' ) ?>" required />
|
120 |
+
</div>
|
121 |
+
<?php Buttons::renderSubmit( 'bookly-change-password', null, __( 'Change password', 'bookly' ) ) ?>
|
122 |
+
</form>
|
123 |
+
</div>
|
124 |
+
</div>
|
125 |
+
</div>
|
126 |
+
</div>
|
127 |
+
</div>
|
128 |
+
<div class="modal-footer">
|
129 |
+
<?php Buttons::renderCancel( __( 'Close', 'bookly' ) ) ?>
|
130 |
+
</div>
|
131 |
+
</div>
|
132 |
+
</div>
|
133 |
+
</div>
|
134 |
+
|
135 |
+
<?php Recharge\Amounts\Auto\Button::renderConfirmModal() ?>
|
136 |
+
<?php if ( ! $sms->getCountry() ): ?>
|
137 |
+
<?php include '_setup_country.php' ?>
|
138 |
+
<?php endif ?>
|
backend/modules/sms/templates/_setup_country.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
?>
|
4 |
+
<div class="bookly-modal bookly-fade" id="bookly-setup-country" tabindex=-1 role="dialog">
|
5 |
+
<div class="modal-dialog">
|
6 |
+
<div class="modal-content">
|
7 |
+
<div class="modal-header">
|
8 |
+
<h5 class="modal-title"><?php esc_html_e( 'Setup your country', 'bookly' ) ?></h5>
|
9 |
+
<button type="button" class="close" data-dismiss="bookly-modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
10 |
+
</div>
|
11 |
+
<div class="modal-body">
|
12 |
+
<div class="alert alert-danger" role="alert">
|
13 |
+
<p>
|
14 |
+
<?php esc_html_e( 'Please spend a minute to setup your country. This will help us provide you with appropriate payment methods when replenishing your account.', 'bookly' ) ?>
|
15 |
+
</p>
|
16 |
+
<p class="mb-0">
|
17 |
+
<?php esc_html_e( 'The country will also be displayed in the invoice on a separate line below the company address. Make sure the other fields in the invoice do not contain the name of the country.', 'bookly' ) ?>
|
18 |
+
</p>
|
19 |
+
</div>
|
20 |
+
<div class="form-group mt-2">
|
21 |
+
<select id="bookly-s-country"></select>
|
22 |
+
<small class="text-muted"><?php esc_html_e( 'Your country is the location from where you consume Bookly SMS services and is used to provide you with the payment methods available in that country', 'bookly' ) ?></small>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
<div class="modal-footer">
|
26 |
+
<?php Buttons::renderSubmit( 'bookly-set-country', null, __( 'Set country', 'bookly' ) ) ?>
|
27 |
+
<?php Buttons::renderCancel( __( 'I\'ll do it later', 'bookly' ) ) ?>
|
28 |
+
</div>
|
29 |
+
</div>
|
30 |
+
</div>
|
31 |
+
</div>
|
backend/modules/sms/templates/index.php
CHANGED
@@ -1,9 +1,11 @@
|
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
-
use Bookly\Backend\Components\Controls\Inputs;
|
3 |
-
use Bookly\Backend\Components\Controls\Buttons;
|
4 |
use Bookly\Backend\Components\Support;
|
5 |
-
use Bookly\Backend\Components\Dialogs;
|
6 |
-
|
|
|
|
|
|
|
|
|
7 |
?>
|
8 |
<div id="bookly-tbs" class="wrap">
|
9 |
<div class="form-row align-items-center mb-3">
|
@@ -12,206 +14,62 @@ use Bookly\Backend\Components\Dialogs;
|
|
12 |
</div>
|
13 |
<div class="card">
|
14 |
<div class="card-body">
|
15 |
-
|
16 |
-
<div class="
|
17 |
-
<
|
18 |
-
<
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
</
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
<button type="button" class="btn btn-success" data-toggle="bookly-modal" href="#modal_change_password">
|
40 |
-
<i class="far fa-fw fa-user"></i>
|
41 |
-
<?php echo $sms->getUserName() ?>
|
42 |
</button>
|
43 |
-
|
44 |
-
|
|
|
|
|
45 |
</div>
|
46 |
</div>
|
|
|
47 |
|
48 |
-
|
49 |
-
<
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
<li class="nav-item"><a class="nav-link" data-toggle="bookly-tab" href="#price_list"><?php esc_html_e( 'Price list', 'bookly' ) ?></a></li>
|
57 |
-
<li class="nav-item"><a class="nav-link" data-toggle="bookly-tab" href="#sender_id"><?php esc_html_e( 'Sender ID', 'bookly' ) ?></a></li>
|
58 |
-
</ul>
|
59 |
-
<?php endif ?>
|
60 |
-
|
61 |
-
<?php if ( $is_logged_in ) : ?>
|
62 |
-
<div class="tab-content mt-3">
|
63 |
-
<div class="tab-pane active" id="notifications"><?php include '_notifications.php' ?></div>
|
64 |
-
<div class="tab-pane" id="add_money"><?php include '_buttons.php' ?></div>
|
65 |
-
<div class="tab-pane" id="auto_recharge"><?php include '_auto_recharge.php' ?></div>
|
66 |
-
<div class="tab-pane" id="purchases"><?php include '_purchases.php' ?></div>
|
67 |
-
<div class="tab-pane" id="sms_details"><?php include '_sms_details.php' ?></div>
|
68 |
-
<div class="tab-pane" id="price_list"><?php include '_price.php' ?></div>
|
69 |
-
<div class="tab-pane" id="sender_id"><?php include '_sender_id.php' ?></div>
|
70 |
-
</div>
|
71 |
-
<?php else : ?>
|
72 |
-
<div class="alert alert-info">
|
73 |
-
<p><?php esc_html_e( 'SMS Notifications (or "Bookly SMS") is a service for notifying your customers via text messages which are sent to mobile phones.', 'bookly' ) ?></p>
|
74 |
-
<p><?php esc_html_e( 'It is necessary to register in order to start using this service.', 'bookly' ) ?></p>
|
75 |
-
<p><?php esc_html_e( 'After registration you will need to configure notification messages and top up your balance in order to start sending SMS.', 'bookly' ) ?></p>
|
76 |
-
</div>
|
77 |
-
<div class="row">
|
78 |
-
<div class="col-md-4">
|
79 |
-
<div class="card">
|
80 |
-
<div class="card-body bookly-js-confirm-form"<?php if ( $show_form !== 'confirm' ) : ?> style="display: none;"<?php endif ?>>
|
81 |
-
<legend><?php esc_html_e( 'Thank you for registration.', 'bookly' ) ?></legend>
|
82 |
-
<p><?php esc_html_e( 'You\'re almost ready to get started with Bookly SMS Service.', 'bookly' ) ?></p>
|
83 |
-
<p><?php esc_html_e( 'An email containing the confirmation code has been sent to your email address.', 'bookly' ) ?></p>
|
84 |
-
<p>
|
85 |
-
<?php esc_html_e( 'To complete registration, please enter the confirmation code below.', 'bookly' ) ?>
|
86 |
-
</p>
|
87 |
-
<div class="input-group mb-3">
|
88 |
-
<input type="text" class="form-control bookly-js-confirmation-code" placeholder="<?php esc_attr_e( 'Confirmation code', 'bookly') ?>" aria-label="Recipient's username" aria-describedby="basic-addon2">
|
89 |
-
<div class="input-group-append">
|
90 |
-
<?php Buttons::render( 'bookly-js-confirm-sms-account', 'btn-success', __( 'Confirm' ) ); ?>
|
91 |
-
</div>
|
92 |
-
</div>
|
93 |
-
<hr>
|
94 |
-
<h6>
|
95 |
-
<b><?php esc_html_e( 'Didn\'t receive the email?', 'bookly' ) ?></b>
|
96 |
-
</h6>
|
97 |
-
<ol>
|
98 |
-
<li>
|
99 |
-
<?php printf( esc_html__( 'Is %s the correct email?', 'bookly' ), sprintf( '<a href="mailto:%1$s">%1$s</a>', get_option( 'bookly_sms_unverified_username' ) ) ) ?>
|
100 |
-
<br><?php printf( esc_html__( 'If not, you can %s restart the registration process%s.', 'bookly' ), '<a href="#" class="bookly-js-show-register-form">', '</a>' ) ?>
|
101 |
-
</li>
|
102 |
-
<li>
|
103 |
-
<?php esc_html_e( 'Check your spam folder.', 'bookly' ) ?>
|
104 |
-
</li>
|
105 |
-
<li>
|
106 |
-
<?php printf( esc_html__( 'Click %s here %s to resend the email.', 'bookly' ), '<a href="#" class="bookly-js-resend-confirmation">', '</a>' ) ?>
|
107 |
-
</li>
|
108 |
-
</ol>
|
109 |
-
</div>
|
110 |
-
|
111 |
-
<form method="post" class="card-body bookly-js-login-form" action="<?php echo esc_url( remove_query_arg( array( 'paypal_result', 'auto-recharge', 'tab', ) ) ) ?>" style="display: none;">
|
112 |
-
<h5 class="cart-title"><?php esc_html_e( 'Login', 'bookly' ) ?></h5>
|
113 |
-
<div class="form-group">
|
114 |
-
<label for="bookly-username"><?php esc_html_e( 'Email', 'bookly' ) ?></label>
|
115 |
-
<input id="bookly-username" class="form-control" type="text" required="required" value="" name="username">
|
116 |
-
</div>
|
117 |
-
<div class="form-group">
|
118 |
-
<label for="bookly-password"><?php esc_html_e( 'Password', 'bookly' ) ?></label>
|
119 |
-
<input id="bookly-password" class="form-control" type="password" required="required" name="password">
|
120 |
-
</div>
|
121 |
-
|
122 |
-
<button type="submit" name="form-login" class="btn btn-success mb-2"><?php esc_html_e( 'Log In', 'bookly' ) ?></button>
|
123 |
-
<a href="#" class="bookly-js-show-register-form mx-2"><?php esc_html_e( 'Registration', 'bookly' ) ?></a><br>
|
124 |
-
<a href="#" class="bookly-js-show-forgot-form"><?php esc_html_e( 'Forgot password', 'bookly' ) ?></a>
|
125 |
-
</form>
|
126 |
-
|
127 |
-
<form method="post" class="card-body bookly-js-register-form"<?php if ( $show_form !== 'registration' ) : ?> style="display: none;"<?php endif ?>>
|
128 |
-
<h5 class="rard-title"><?php esc_html_e( 'Registration', 'bookly' ) ?></h5>
|
129 |
-
<div class="form-group">
|
130 |
-
<label for="bookly-r-username"><?php esc_html_e( 'Email', 'bookly' ) ?></label>
|
131 |
-
<input id="bookly-r-username" name="username" class="form-control" required="required" value="" type="text">
|
132 |
-
</div>
|
133 |
-
<div class="form-group">
|
134 |
-
<label for="bookly-r-password"><?php esc_html_e( 'Password', 'bookly' ) ?></label>
|
135 |
-
<input id="bookly-r-password" name="password" class="form-control" required="required" value="" type="password">
|
136 |
-
</div>
|
137 |
-
<div class="form-group">
|
138 |
-
<label for="bookly-r-repeat-password"><?php esc_html_e( 'Repeat password', 'bookly' ) ?></label>
|
139 |
-
<input id="bookly-r-repeat-password" name="password_repeat" class="form-control" required="required" value="" type="password">
|
140 |
-
</div>
|
141 |
-
<div class="form-group">
|
142 |
-
<div class="custom-control custom-checkbox">
|
143 |
-
<input class="custom-control-input" type="checkbox" id="bookly-r-tos" name="accept_tos" required="required" value="1">
|
144 |
-
<label class="custom-control-label" for="bookly-r-tos">
|
145 |
-
<?php printf( __( 'I accept <a href="%1$s" target="_blank">Service Terms</a> and <a href="%2$s" target="_blank">Privacy Policy</a>', 'bookly' ), 'https://www.booking-wp-plugin.com/terms/', 'https://www.booking-wp-plugin.com/privacy/' ) ?>
|
146 |
-
</label>
|
147 |
-
</div>
|
148 |
-
</div>
|
149 |
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
<input name="username" class="form-control" value="" type="text" placeholder="<?php esc_attr_e( 'Email', 'bookly' ) ?>"/>
|
158 |
-
</div>
|
159 |
-
<div class="form-group hidden">
|
160 |
-
<input name="code" class="form-control" value="" type="text" placeholder="<?php esc_attr_e( 'Enter code from email', 'bookly' ) ?>"/>
|
161 |
-
</div>
|
162 |
-
<div class="form-group hidden">
|
163 |
-
<input name="password" class="form-control" value="" type="password" placeholder="<?php esc_attr_e( 'New password', 'bookly' ) ?>"/>
|
164 |
-
</div>
|
165 |
-
<div class="form-group hidden">
|
166 |
-
<input name="password_repeat" class="form-control" value="" type="password" placeholder="<?php esc_attr_e( 'Repeat new password', 'bookly' ) ?>"/>
|
167 |
-
</div>
|
168 |
-
<div class="form-group">
|
169 |
-
<button class="btn btn-success bookly-js-form-forgot-next mr-2" data-step="0"><?php esc_html_e( 'Next', 'bookly' ) ?></button>
|
170 |
-
<a href="#" class="bookly-js-show-login-form"><?php esc_html_e( 'Log In', 'bookly' ) ?></a>
|
171 |
-
</div>
|
172 |
-
</form>
|
173 |
-
</div>
|
174 |
-
</div>
|
175 |
-
<div class="col-md-8">
|
176 |
-
<?php include '_price.php' ?>
|
177 |
-
</div>
|
178 |
-
</div>
|
179 |
-
<?php endif ?>
|
180 |
</div>
|
181 |
</div>
|
182 |
|
183 |
-
<?php
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
<div class="modal-header">
|
189 |
-
<h5 class="modal-title"><?php esc_html_e( 'Change password', 'bookly' ) ?></h5>
|
190 |
-
<button type="button" class="close" data-dismiss="bookly-modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
191 |
-
</div>
|
192 |
-
<div class="modal-body">
|
193 |
-
<div class="form-group">
|
194 |
-
<label for="old_password"><?php esc_html_e( 'Old password', 'bookly' ) ?></label>
|
195 |
-
<input type="password" class="form-control" id="old_password" name="old_password" placeholder="<?php esc_attr_e( 'Old password', 'bookly' ) ?>">
|
196 |
-
</div>
|
197 |
-
<div class="form-group">
|
198 |
-
<label for="new_password"><?php esc_html_e( 'New password', 'bookly' ) ?></label>
|
199 |
-
<input type="password" class="form-control" id="new_password" name="new_password" placeholder="<?php esc_attr_e( 'New password', 'bookly' ) ?>">
|
200 |
-
</div>
|
201 |
-
<div class="form-group">
|
202 |
-
<label for="new_password_repeat"><?php esc_html_e( 'Repeat new password', 'bookly' ) ?></label>
|
203 |
-
<input type="password" class="form-control" id="new_password_repeat" placeholder="<?php esc_attr_e( 'Repeat new password', 'bookly' ) ?>">
|
204 |
-
</div>
|
205 |
-
</div>
|
206 |
-
<div class="modal-footer">
|
207 |
-
<?php Inputs::renderCsrf() ?>
|
208 |
-
<?php Buttons::renderSubmit( 'ajax-send-change-password', 'btn-sm' ) ?>
|
209 |
-
</div>
|
210 |
-
<input type="hidden" name="action" value="bookly_change_password">
|
211 |
-
</div>
|
212 |
-
</div>
|
213 |
-
</form>
|
214 |
-
</div>
|
215 |
<?php endif ?>
|
216 |
-
<?php Dialogs\TableSettings\Dialog::render() ?>
|
217 |
</div>
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
|
|
|
2 |
use Bookly\Backend\Components\Support;
|
3 |
+
use Bookly\Backend\Components\Dialogs\TableSettings;
|
4 |
+
use Bookly\Backend\Components\Dialogs\Recharge;
|
5 |
+
/**
|
6 |
+
* @var Bookly\Lib\SMS $sms
|
7 |
+
* @var int $undelivered_count
|
8 |
+
*/
|
9 |
?>
|
10 |
<div id="bookly-tbs" class="wrap">
|
11 |
<div class="form-row align-items-center mb-3">
|
14 |
</div>
|
15 |
<div class="card">
|
16 |
<div class="card-body">
|
17 |
+
<div class="row mb-3">
|
18 |
+
<div class="col">
|
19 |
+
<p class="h6 m-0 p-0"><strong><?php esc_html_e( 'Sender ID', 'bookly' ) ?>:</strong> <a href="#" id="bookly-open-tab-sender-id"><?php echo esc_html( $sms->getSenderId() ) ?>
|
20 |
+
<i class="fas fa-pencil-alt ml-1"></i></a></p>
|
21 |
+
<?php if ( $sms->getSenderIdApprovalDate() ) : ?>
|
22 |
+
<p class="h6 small m-0 p-0 mb-1 mr-1 text-muted text-form bookly-js-sender-id-approval-date"><?php esc_html_e( 'Approved at', 'bookly' ) ?>:
|
23 |
+
<strong><?php echo \Bookly\Lib\Utils\DateTime::formatDate( $sms->getSenderIdApprovalDate() ) ?></strong></p>
|
24 |
+
<?php else: ?>
|
25 |
+
<p class="h6 small m-0 p-0 mb-1 mr-1 text-muted"><?php esc_html_e( 'Change the sender\'s name to your phone number or any other name', 'bookly' ) ?></p>
|
26 |
+
<?php endif ?>
|
27 |
+
</div>
|
28 |
+
<div class="col-auto">
|
29 |
+
<?php Recharge\Amounts\Manual\Button::renderBalance() ?>
|
30 |
+
<div class="btn-group">
|
31 |
+
<button type="button" id="bookly-open-account-settings" class="btn <?php echo $sms->getEmailConfirmed() ? 'btn-primary' : 'btn-danger' ?> text-truncate" data-toggle="bookly-modal" href="#bookly-account-settings"
|
32 |
+
<?php if ( ! get_user_meta( get_current_user_id(), 'bookly_dismiss_sms_account_settings_notice', true ) ): ?>
|
33 |
+
data-content="<?php echo esc_attr( '<button type="button" class="close ml-2"><span>×</span></button>' . __( 'Click this button to access your Bookly SMS account settings', 'bookly' ) ) ?>"
|
34 |
+
<?php endif ?>
|
35 |
+
>
|
36 |
+
<i class="fas <?php echo $sms->getEmailConfirmed() ? 'fa-user' : 'fa-user-slash' ?>"></i><span class="d-none d-sm-inline ml-2"><?php echo $sms->getUserName() ?></span>
|
37 |
+
</button>
|
38 |
+
<?php if ( ! $sms->getEmailConfirmed() ) : ?>
|
39 |
+
<button id="bookly-open-email-confirm" type="button" class="btn btn-success text-nowrap ladda-button" data-spinner-color="#666666" data-style="zoom-in" data-spinner-size="40">
|
40 |
+
<span class="ladda-label"><i class="fas fa-exclamation-circle"></i><span class="d-none d-md-inline-block ml-2"><?php esc_html_e( 'Confirm email', 'bookly' ) ?>…</span></span>
|
|
|
|
|
|
|
41 |
</button>
|
42 |
+
<?php endif ?>
|
43 |
+
<button id="bookly-logout" type="button" class="btn btn-white border text-nowrap rounded-right ladda-button" data-spinner-color="#666666" data-style="zoom-in" data-spinner-size="40">
|
44 |
+
<span class="ladda-label"><i class="fas fa-sign-out-alt"></i><span class="d-none d-md-inline-block ml-2"><?php esc_html_e( 'Log out', 'bookly' ) ?></span></span>
|
45 |
+
</button>
|
46 |
</div>
|
47 |
</div>
|
48 |
+
</div>
|
49 |
|
50 |
+
<ul class="nav nav-tabs mb-3" id="sms_tabs">
|
51 |
+
<li class="nav-item"><a class="nav-link active" data-toggle="bookly-tab" href="#notifications"><?php esc_html_e( 'Notifications', 'bookly' ) ?></a></li>
|
52 |
+
<li class="nav-item"><a class="nav-link" data-toggle="bookly-tab" href="#purchases"><?php esc_html_e( 'Purchases', 'bookly' ) ?></a></li>
|
53 |
+
<li class="nav-item"><a class="nav-link" data-toggle="bookly-tab" href="#sms_details"><?php esc_html_e( 'SMS Details', 'bookly' );
|
54 |
+
if ( $undelivered_count ) : ?> <span class="badge bg-danger"><?php echo $undelivered_count ?></span><?php endif ?></a></li>
|
55 |
+
<li class="nav-item"><a class="nav-link" data-toggle="bookly-tab" href="#price_list"><?php esc_html_e( 'Price list', 'bookly' ) ?></a></li>
|
56 |
+
<li class="nav-item"><a class="nav-link" data-toggle="bookly-tab" href="#sender_id"><?php esc_html_e( 'Sender ID', 'bookly' ) ?></a></li>
|
57 |
+
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
+
<div class="tab-content mt-3">
|
60 |
+
<div class="tab-pane active" id="notifications"><?php include '_notifications.php' ?></div>
|
61 |
+
<div class="tab-pane" id="purchases"><?php include '_purchases.php' ?></div>
|
62 |
+
<div class="tab-pane" id="sms_details"><?php include '_sms_details.php' ?></div>
|
63 |
+
<div class="tab-pane" id="price_list"><?php include '_price.php' ?></div>
|
64 |
+
<div class="tab-pane" id="sender_id"><?php include '_sender_id.php' ?></div>
|
65 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
</div>
|
67 |
</div>
|
68 |
|
69 |
+
<?php include '_settings.php' ?>
|
70 |
+
<?php Recharge\Dialog::render() ?>
|
71 |
+
<?php TableSettings\Dialog::render() ?>
|
72 |
+
<?php if ( ! $sms->getEmailConfirmed() ) : ?>
|
73 |
+
<?php include '_confirm_email.php' ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
<?php endif ?>
|
|
|
75 |
</div>
|
backend/modules/sms/templates/index_registration.php
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
use Bookly\Backend\Components\Support;
|
4 |
+
use Bookly\Backend\Components\Dialogs\TableSettings;
|
5 |
+
/**
|
6 |
+
* @var array $registration_promotion_texts
|
7 |
+
*/
|
8 |
+
?>
|
9 |
+
<div id="bookly-tbs" class="wrap">
|
10 |
+
<div class="form-row align-items-center mb-3">
|
11 |
+
<h4 class="col m-0"><?php esc_html_e( 'SMS Notifications', 'bookly' ) ?></h4>
|
12 |
+
<?php Support\Buttons::render( $self::pageSlug() ) ?>
|
13 |
+
</div>
|
14 |
+
<div class="card">
|
15 |
+
<div class="card-body">
|
16 |
+
<div class="alert alert-info">
|
17 |
+
<p><?php esc_html_e( 'SMS Notifications (or "Bookly SMS") is a service for notifying your customers via text messages which are sent to mobile phones.', 'bookly' ) ?></p>
|
18 |
+
<p><?php esc_html_e( 'It is necessary to register in order to start using this service.', 'bookly' ) ?></p>
|
19 |
+
<p><?php esc_html_e( 'After registration you will need to configure notification messages and top up your balance in order to start sending SMS.', 'bookly' ) ?></p>
|
20 |
+
</div>
|
21 |
+
<div class="row">
|
22 |
+
<div class="col-md-4">
|
23 |
+
<div class="card">
|
24 |
+
<form class="card-body bookly-js-login-form" style="display: none;">
|
25 |
+
<h5 class="cart-title"><?php esc_html_e( 'Login', 'bookly' ) ?></h5>
|
26 |
+
<div class="form-group">
|
27 |
+
<label for="bookly-username"><?php esc_html_e( 'Email', 'bookly' ) ?></label>
|
28 |
+
<input id="bookly-username" class="form-control" type="text" required="required" value="" name="username">
|
29 |
+
</div>
|
30 |
+
<div class="form-group">
|
31 |
+
<label for="bookly-password"><?php esc_html_e( 'Password', 'bookly' ) ?></label>
|
32 |
+
<input id="bookly-password" class="form-control" type="password" required="required" name="password">
|
33 |
+
</div>
|
34 |
+
|
35 |
+
<?php Buttons::renderSubmit( null, 'mb-2', __( 'Log In', 'bookly' ), array( 'name' => 'submit' ) ) ?>
|
36 |
+
<a href="#" class="bookly-js-show-register-form mx-2"><?php esc_html_e( 'Registration', 'bookly' ) ?></a><br>
|
37 |
+
<a href="#" class="bookly-js-show-forgot-form"><?php esc_html_e( 'Forgot password', 'bookly' ) ?></a>
|
38 |
+
</form>
|
39 |
+
|
40 |
+
<form method="post" class="card-body bookly-js-register-form">
|
41 |
+
<h5 class="card-title"><?php esc_html_e( 'Registration', 'bookly' ) ?></h5>
|
42 |
+
<?php if ( $registration_promotion_texts['form'] ): ?>
|
43 |
+
<div class="form-group"><?php echo $registration_promotion_texts['form'] ?></div>
|
44 |
+
<?php endif ?>
|
45 |
+
<div class="form-group">
|
46 |
+
<label for="bookly-r-username"><?php esc_html_e( 'Email', 'bookly' ) ?></label>
|
47 |
+
<input id="bookly-r-username" name="username" class="form-control" required="required" value="" type="text">
|
48 |
+
</div>
|
49 |
+
<div class="form-group">
|
50 |
+
<label for="bookly-r-password"><?php esc_html_e( 'Password', 'bookly' ) ?></label>
|
51 |
+
<input id="bookly-r-password" name="password" class="form-control" required="required" value="" type="password">
|
52 |
+
</div>
|
53 |
+
<div class="form-group">
|
54 |
+
<label for="bookly-r-repeat-password"><?php esc_html_e( 'Repeat password', 'bookly' ) ?></label>
|
55 |
+
<input id="bookly-r-repeat-password" name="password_repeat" class="form-control" required="required" value="" type="password">
|
56 |
+
</div>
|
57 |
+
<div class="form-group">
|
58 |
+
<label for="bookly-r-country"><?php esc_html_e( 'Country', 'bookly' ) ?></label>
|
59 |
+
<select id="bookly-r-country" name="country"></select>
|
60 |
+
<small class="text-muted"><?php esc_html_e( 'Your country is the location from where you consume Bookly SMS services and is used to provide you with the payment methods available in that country', 'bookly' ) ?></small>
|
61 |
+
</div>
|
62 |
+
<div class="form-group">
|
63 |
+
<div class="custom-control custom-checkbox">
|
64 |
+
<input class="custom-control-input" type="checkbox" id="bookly-r-tos" name="accept_tos" required="required" value="1">
|
65 |
+
<label class="custom-control-label" for="bookly-r-tos">
|
66 |
+
<?php printf( __( 'I accept <a href="%1$s" target="_blank">Service Terms</a> and <a href="%2$s" target="_blank">Privacy Policy</a>', 'bookly' ), 'https://www.booking-wp-plugin.com/terms/', 'https://www.booking-wp-plugin.com/privacy/' ) ?>
|
67 |
+
</label>
|
68 |
+
</div>
|
69 |
+
</div>
|
70 |
+
<div class="btn-group mr-2">
|
71 |
+
<?php Buttons::renderSubmit( null, null, __( 'Register', 'bookly' ), array( 'name' => 'form-registration' ) ) ?>
|
72 |
+
<?php if ( $registration_promotion_texts['button'] ) : ?>
|
73 |
+
<div class="border border-left-0 rounded px-2 d-flex align-items-center">
|
74 |
+
<h6 class="m-0"><?php echo $registration_promotion_texts['button'] ?></h6>
|
75 |
+
</div>
|
76 |
+
<?php endif ?>
|
77 |
+
</div>
|
78 |
+
<a href="#" class="bookly-js-show-login-form"><?php esc_html_e( 'Log In', 'bookly' ) ?></a>
|
79 |
+
</form>
|
80 |
+
|
81 |
+
<form method="post" class="card-body bookly-js-forgot-form" style="display: none;">
|
82 |
+
<h5 class="card-title"><?php esc_html_e( 'Forgot password', 'bookly' ) ?></h5>
|
83 |
+
<div class="form-group">
|
84 |
+
<input name="username" class="form-control" value="" type="text" placeholder="<?php esc_attr_e( 'Email', 'bookly' ) ?>"/>
|
85 |
+
</div>
|
86 |
+
<div class="form-group hidden">
|
87 |
+
<input name="code" class="form-control" value="" type="text" placeholder="<?php esc_attr_e( 'Enter code from email', 'bookly' ) ?>"/>
|
88 |
+
</div>
|
89 |
+
<div class="form-group hidden">
|
90 |
+
<input name="password" class="form-control" value="" type="password" placeholder="<?php esc_attr_e( 'New password', 'bookly' ) ?>"/>
|
91 |
+
</div>
|
92 |
+
<div class="form-group hidden">
|
93 |
+
<input name="password_repeat" class="form-control" value="" type="password" placeholder="<?php esc_attr_e( 'Repeat new password', 'bookly' ) ?>"/>
|
94 |
+
</div>
|
95 |
+
<div class="form-group">
|
96 |
+
<button class="btn btn-success bookly-js-form-forgot-next mr-2" data-step="0"><?php esc_html_e( 'Next', 'bookly' ) ?></button>
|
97 |
+
<a href="#" class="bookly-js-show-login-form"><?php esc_html_e( 'Log In', 'bookly' ) ?></a>
|
98 |
+
</div>
|
99 |
+
</form>
|
100 |
+
</div>
|
101 |
+
</div>
|
102 |
+
<div class="col-md-8">
|
103 |
+
<?php include '_price.php' ?>
|
104 |
+
</div>
|
105 |
+
</div>
|
106 |
+
</div>
|
107 |
+
</div>
|
108 |
+
|
109 |
+
<?php TableSettings\Dialog::render() ?>
|
110 |
+
</div>
|
backend/modules/staff/resources/js/staff-list.js
CHANGED
@@ -60,7 +60,7 @@ jQuery(function ($) {
|
|
60 |
searchable : false,
|
61 |
width : 90,
|
62 |
render : function (data, type, row, meta) {
|
63 |
-
return '<button type="button" class="btn btn-default" data-action="edit"><i class="far fa-fw fa-edit mr-1"></i>' + BooklyL10n.edit + '…</
|
64 |
}
|
65 |
});
|
66 |
columns.push({
|
60 |
searchable : false,
|
61 |
width : 90,
|
62 |
render : function (data, type, row, meta) {
|
63 |
+
return '<button type="button" class="btn btn-default" data-action="edit"><i class="far fa-fw fa-edit mr-1"></i>' + BooklyL10n.edit + '…</button>';
|
64 |
}
|
65 |
});
|
66 |
columns.push({
|
backend/resources/bootstrap/css/bootstrap.min.css
CHANGED
@@ -3,4 +3,4 @@
|
|
3 |
* Copyright 2011-2019 The Bootstrap Authors
|
4 |
* Copyright 2011-2019 Twitter, Inc.
|
5 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
6 |
-
*/#bookly-tbs{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:transparent}#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{box-sizing:border-box}#bookly-tbs html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#bookly-tbs article,#bookly-tbs aside,#bookly-tbs figcaption,#bookly-tbs figure,#bookly-tbs footer,#bookly-tbs header,#bookly-tbs hgroup,#bookly-tbs main,#bookly-tbs nav,#bookly-tbs section{display:block}#bookly-tbs body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}#bookly-tbs [tabindex="-1"]:focus:not(:focus-visible){outline:0!important}#bookly-tbs hr{box-sizing:content-box;height:0;overflow:visible}#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-top:0;margin-bottom:.5rem}#bookly-tbs p{margin-top:0;margin-bottom:1rem}#bookly-tbs abbr[data-original-title],#bookly-tbs abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}#bookly-tbs address{margin-bottom:1rem;font-style:normal;line-height:inherit}#bookly-tbs dl,#bookly-tbs ol,#bookly-tbs ul{margin-top:0;margin-bottom:1rem}#bookly-tbs ol ol,#bookly-tbs ol ul,#bookly-tbs ul ol,#bookly-tbs ul ul{margin-bottom:0}#bookly-tbs dt{font-weight:700}#bookly-tbs dd{margin-bottom:.5rem;margin-left:0}#bookly-tbs blockquote{margin:0 0 1rem}#bookly-tbs b,#bookly-tbs strong{font-weight:bolder}#bookly-tbs small{font-size:80%}#bookly-tbs sub,#bookly-tbs sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}#bookly-tbs sub{bottom:-.25em}#bookly-tbs sup{top:-.5em}#bookly-tbs a{color:#007bff;text-decoration:none;background-color:transparent}#bookly-tbs a:hover{color:#0056b3;text-decoration:underline}#bookly-tbs a:not([href]){color:inherit;text-decoration:none}#bookly-tbs a:not([href]):hover{color:inherit;text-decoration:none}#bookly-tbs code,#bookly-tbs kbd,#bookly-tbs pre,#bookly-tbs samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}#bookly-tbs pre{margin-top:0;margin-bottom:1rem;overflow:auto}#bookly-tbs figure{margin:0 0 1rem}#bookly-tbs img{vertical-align:middle;border-style:none}#bookly-tbs svg{overflow:hidden;vertical-align:middle}#bookly-tbs table{border-collapse:collapse}#bookly-tbs caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}#bookly-tbs th{text-align:inherit}#bookly-tbs label{display:inline-block;margin-bottom:.5rem}#bookly-tbs button{border-radius:0}#bookly-tbs button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}#bookly-tbs button,#bookly-tbs input,#bookly-tbs optgroup,#bookly-tbs select,#bookly-tbs textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}#bookly-tbs button,#bookly-tbs input{overflow:visible}#bookly-tbs button,#bookly-tbs select{text-transform:none}#bookly-tbs select{word-wrap:normal}#bookly-tbs [type=button],#bookly-tbs [type=reset],#bookly-tbs [type=submit],#bookly-tbs button{-webkit-appearance:button}#bookly-tbs [type=button]:not(:disabled),#bookly-tbs [type=reset]:not(:disabled),#bookly-tbs [type=submit]:not(:disabled),#bookly-tbs button:not(:disabled){cursor:pointer}#bookly-tbs [type=button]::-moz-focus-inner,#bookly-tbs [type=reset]::-moz-focus-inner,#bookly-tbs [type=submit]::-moz-focus-inner,#bookly-tbs button::-moz-focus-inner{padding:0;border-style:none}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{box-sizing:border-box;padding:0}#bookly-tbs input[type=date],#bookly-tbs input[type=datetime-local],#bookly-tbs input[type=month],#bookly-tbs input[type=time]{-webkit-appearance:listbox}#bookly-tbs textarea{overflow:auto;resize:vertical}#bookly-tbs fieldset{min-width:0;padding:0;margin:0;border:0}#bookly-tbs legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}#bookly-tbs progress{vertical-align:baseline}#bookly-tbs [type=number]::-webkit-inner-spin-button,#bookly-tbs [type=number]::-webkit-outer-spin-button{height:auto}#bookly-tbs [type=search]{outline-offset:-2px;-webkit-appearance:none}#bookly-tbs [type=search]::-webkit-search-decoration{-webkit-appearance:none}#bookly-tbs ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}#bookly-tbs output{display:inline-block}#bookly-tbs summary{display:list-item;cursor:pointer}#bookly-tbs template{display:none}#bookly-tbs [hidden]{display:none!important}#bookly-tbs .h1,#bookly-tbs .h2,#bookly-tbs .h3,#bookly-tbs .h4,#bookly-tbs .h5,#bookly-tbs .h6,#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}#bookly-tbs .h1,#bookly-tbs h1{font-size:2.5rem}#bookly-tbs .h2,#bookly-tbs h2{font-size:2rem}#bookly-tbs .h3,#bookly-tbs h3{font-size:1.75rem}#bookly-tbs .h4,#bookly-tbs h4{font-size:1.5rem}#bookly-tbs .h5,#bookly-tbs h5{font-size:1.25rem}#bookly-tbs .h6,#bookly-tbs h6{font-size:1rem}#bookly-tbs .lead{font-size:1.25rem;font-weight:300}#bookly-tbs .display-1{font-size:6rem;font-weight:300;line-height:1.2}#bookly-tbs .display-2{font-size:5.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-3{font-size:4.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-4{font-size:3.5rem;font-weight:300;line-height:1.2}#bookly-tbs hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}#bookly-tbs .small,#bookly-tbs small{font-size:80%;font-weight:400}#bookly-tbs .mark,#bookly-tbs mark{padding:.2em;background-color:#fcf8e3}#bookly-tbs .list-unstyled{padding-left:0;list-style:none}#bookly-tbs .list-inline{padding-left:0;list-style:none}#bookly-tbs .list-inline-item{display:inline-block}#bookly-tbs .list-inline-item:not(:last-child){margin-right:.5rem}#bookly-tbs .initialism{font-size:90%;text-transform:uppercase}#bookly-tbs .blockquote{margin-bottom:1rem;font-size:1.25rem}#bookly-tbs .blockquote-footer{display:block;font-size:80%;color:#6c757d}#bookly-tbs .blockquote-footer::before{content:"\2014\00A0"}#bookly-tbs .img-fluid{max-width:100%;height:auto}#bookly-tbs .img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}#bookly-tbs .figure{display:inline-block}#bookly-tbs .figure-img{margin-bottom:.5rem;line-height:1}#bookly-tbs .figure-caption{font-size:90%;color:#6c757d}#bookly-tbs code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>#bookly-tbs code{color:inherit}#bookly-tbs kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}#bookly-tbs kbd kbd{padding:0;font-size:100%;font-weight:700}#bookly-tbs pre{display:block;font-size:87.5%;color:#212529}#bookly-tbs pre code{font-size:inherit;color:inherit;word-break:normal}#bookly-tbs .pre-scrollable{max-height:340px;overflow-y:scroll}#bookly-tbs .container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container{max-width:540px}}@media (min-width:768px){#bookly-tbs .container{max-width:720px}}@media (min-width:992px){#bookly-tbs .container{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container{max-width:1140px}}#bookly-tbs .container-fluid,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container,#bookly-tbs .container-sm{max-width:540px}}@media (min-width:768px){#bookly-tbs .container,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:720px}}@media (min-width:992px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{max-width:1140px}}#bookly-tbs .jCal-wrap,#bookly-tbs .row{display:-webkit-box;display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .no-gutters{margin-right:0;margin-left:0}#bookly-tbs .no-gutters>.col,#bookly-tbs .no-gutters>[class*=col-]{padding-right:0;padding-left:0}#bookly-tbs .col,#bookly-tbs .col-1,#bookly-tbs .col-10,#bookly-tbs .col-11,#bookly-tbs .col-12,#bookly-tbs .col-2,#bookly-tbs .col-3,#bookly-tbs .col-4,#bookly-tbs .col-5,#bookly-tbs .col-6,#bookly-tbs .col-7,#bookly-tbs .col-8,#bookly-tbs .col-9,#bookly-tbs .col-auto,#bookly-tbs .col-lg,#bookly-tbs .col-lg-1,#bookly-tbs .col-lg-10,#bookly-tbs .col-lg-11,#bookly-tbs .col-lg-12,#bookly-tbs .col-lg-2,#bookly-tbs .col-lg-3,#bookly-tbs .col-lg-4,#bookly-tbs .col-lg-5,#bookly-tbs .col-lg-6,#bookly-tbs .col-lg-7,#bookly-tbs .col-lg-8,#bookly-tbs .col-lg-9,#bookly-tbs .col-lg-auto,#bookly-tbs .col-md,#bookly-tbs .col-md-1,#bookly-tbs .col-md-10,#bookly-tbs .col-md-11,#bookly-tbs .col-md-12,#bookly-tbs .col-md-2,#bookly-tbs .col-md-3,#bookly-tbs .col-md-4,#bookly-tbs .col-md-5,#bookly-tbs .col-md-6,#bookly-tbs .col-md-7,#bookly-tbs .col-md-8,#bookly-tbs .col-md-9,#bookly-tbs .col-md-auto,#bookly-tbs .col-sm,#bookly-tbs .col-sm-1,#bookly-tbs .col-sm-10,#bookly-tbs .col-sm-11,#bookly-tbs .col-sm-12,#bookly-tbs .col-sm-2,#bookly-tbs .col-sm-3,#bookly-tbs .col-sm-4,#bookly-tbs .col-sm-5,#bookly-tbs .col-sm-6,#bookly-tbs .col-sm-7,#bookly-tbs .col-sm-8,#bookly-tbs .col-sm-9,#bookly-tbs .col-sm-auto,#bookly-tbs .col-xl,#bookly-tbs .col-xl-1,#bookly-tbs .col-xl-10,#bookly-tbs .col-xl-11,#bookly-tbs .col-xl-12,#bookly-tbs .col-xl-2,#bookly-tbs .col-xl-3,#bookly-tbs .col-xl-4,#bookly-tbs .col-xl-5,#bookly-tbs .col-xl-6,#bookly-tbs .col-xl-7,#bookly-tbs .col-xl-8,#bookly-tbs .col-xl-9,#bookly-tbs .col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}#bookly-tbs .col{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-1{margin-left:8.333333%}#bookly-tbs .offset-2{margin-left:16.666667%}#bookly-tbs .offset-3{margin-left:25%}#bookly-tbs .offset-4{margin-left:33.333333%}#bookly-tbs .offset-5{margin-left:41.666667%}#bookly-tbs .offset-6{margin-left:50%}#bookly-tbs .offset-7{margin-left:58.333333%}#bookly-tbs .offset-8{margin-left:66.666667%}#bookly-tbs .offset-9{margin-left:75%}#bookly-tbs .offset-10{margin-left:83.333333%}#bookly-tbs .offset-11{margin-left:91.666667%}@media (min-width:576px){#bookly-tbs .col-sm{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-sm-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-sm-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-sm-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-sm-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-sm-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-sm-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-sm-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-sm-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-sm-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-sm-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-sm-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-sm-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-sm-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-sm-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-sm-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-sm-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-sm-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-sm-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-sm-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-sm-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-sm-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-sm-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-sm-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-sm-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-sm-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-sm-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-sm-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-sm-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-sm-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-sm-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-sm-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-sm-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-sm-0{margin-left:0}#bookly-tbs .offset-sm-1{margin-left:8.333333%}#bookly-tbs .offset-sm-2{margin-left:16.666667%}#bookly-tbs .offset-sm-3{margin-left:25%}#bookly-tbs .offset-sm-4{margin-left:33.333333%}#bookly-tbs .offset-sm-5{margin-left:41.666667%}#bookly-tbs .offset-sm-6{margin-left:50%}#bookly-tbs .offset-sm-7{margin-left:58.333333%}#bookly-tbs .offset-sm-8{margin-left:66.666667%}#bookly-tbs .offset-sm-9{margin-left:75%}#bookly-tbs .offset-sm-10{margin-left:83.333333%}#bookly-tbs .offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){#bookly-tbs .col-md{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-md-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-md-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-md-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-md-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-md-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-md-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-md-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-md-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-md-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-md-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-md-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-md-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-md-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-md-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-md-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-md-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-md-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-md-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-md-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-md-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-md-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-md-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-md-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-md-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-md-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-md-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-md-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-md-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-md-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-md-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-md-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-md-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-md-0{margin-left:0}#bookly-tbs .offset-md-1{margin-left:8.333333%}#bookly-tbs .offset-md-2{margin-left:16.666667%}#bookly-tbs .offset-md-3{margin-left:25%}#bookly-tbs .offset-md-4{margin-left:33.333333%}#bookly-tbs .offset-md-5{margin-left:41.666667%}#bookly-tbs .offset-md-6{margin-left:50%}#bookly-tbs .offset-md-7{margin-left:58.333333%}#bookly-tbs .offset-md-8{margin-left:66.666667%}#bookly-tbs .offset-md-9{margin-left:75%}#bookly-tbs .offset-md-10{margin-left:83.333333%}#bookly-tbs .offset-md-11{margin-left:91.666667%}}@media (min-width:992px){#bookly-tbs .col-lg{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-lg-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-lg-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-lg-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-lg-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-lg-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-lg-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-lg-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-lg-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-lg-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-lg-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-lg-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-lg-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-lg-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-lg-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-lg-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-lg-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-lg-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-lg-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-lg-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-lg-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-lg-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-lg-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-lg-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-lg-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-lg-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-lg-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-lg-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-lg-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-lg-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-lg-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-lg-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-lg-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-lg-0{margin-left:0}#bookly-tbs .offset-lg-1{margin-left:8.333333%}#bookly-tbs .offset-lg-2{margin-left:16.666667%}#bookly-tbs .offset-lg-3{margin-left:25%}#bookly-tbs .offset-lg-4{margin-left:33.333333%}#bookly-tbs .offset-lg-5{margin-left:41.666667%}#bookly-tbs .offset-lg-6{margin-left:50%}#bookly-tbs .offset-lg-7{margin-left:58.333333%}#bookly-tbs .offset-lg-8{margin-left:66.666667%}#bookly-tbs .offset-lg-9{margin-left:75%}#bookly-tbs .offset-lg-10{margin-left:83.333333%}#bookly-tbs .offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){#bookly-tbs .col-xl{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-xl-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-xl-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-xl-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-xl-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-xl-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-xl-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-xl-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-xl-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-xl-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-xl-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-xl-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-xl-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-xl-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-xl-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-xl-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-xl-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-xl-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-xl-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-xl-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-xl-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-xl-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-xl-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-xl-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-xl-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-xl-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-xl-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-xl-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-xl-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-xl-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-xl-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-xl-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-xl-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-xl-0{margin-left:0}#bookly-tbs .offset-xl-1{margin-left:8.333333%}#bookly-tbs .offset-xl-2{margin-left:16.666667%}#bookly-tbs .offset-xl-3{margin-left:25%}#bookly-tbs .offset-xl-4{margin-left:33.333333%}#bookly-tbs .offset-xl-5{margin-left:41.666667%}#bookly-tbs .offset-xl-6{margin-left:50%}#bookly-tbs .offset-xl-7{margin-left:58.333333%}#bookly-tbs .offset-xl-8{margin-left:66.666667%}#bookly-tbs .offset-xl-9{margin-left:75%}#bookly-tbs .offset-xl-10{margin-left:83.333333%}#bookly-tbs .offset-xl-11{margin-left:91.666667%}}#bookly-tbs .table{width:100%;margin-bottom:1rem;color:#212529}#bookly-tbs .table td,#bookly-tbs .table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}#bookly-tbs .table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}#bookly-tbs .table tbody+tbody{border-top:2px solid #dee2e6}#bookly-tbs .table-sm td,#bookly-tbs .table-sm th{padding:.3rem}#bookly-tbs .table-bordered{border:1px solid #dee2e6}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6}#bookly-tbs .table-bordered thead td,#bookly-tbs .table-bordered thead th{border-bottom-width:2px}#bookly-tbs .table-borderless tbody+tbody,#bookly-tbs .table-borderless td,#bookly-tbs .table-borderless th,#bookly-tbs .table-borderless thead th{border:0}#bookly-tbs .table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}#bookly-tbs .table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}#bookly-tbs .table-primary,#bookly-tbs .table-primary>td,#bookly-tbs .table-primary>th{background-color:#b8daff}#bookly-tbs .table-primary tbody+tbody,#bookly-tbs .table-primary td,#bookly-tbs .table-primary th,#bookly-tbs .table-primary thead th{border-color:#7abaff}#bookly-tbs .table-hover .table-primary:hover{background-color:#9fcdff}#bookly-tbs .table-hover .table-primary:hover>td,#bookly-tbs .table-hover .table-primary:hover>th{background-color:#9fcdff}#bookly-tbs .table-secondary,#bookly-tbs .table-secondary>td,#bookly-tbs .table-secondary>th{background-color:#d6d8db}#bookly-tbs .table-secondary tbody+tbody,#bookly-tbs .table-secondary td,#bookly-tbs .table-secondary th,#bookly-tbs .table-secondary thead th{border-color:#b3b7bb}#bookly-tbs .table-hover .table-secondary:hover{background-color:#c8cbcf}#bookly-tbs .table-hover .table-secondary:hover>td,#bookly-tbs .table-hover .table-secondary:hover>th{background-color:#c8cbcf}#bookly-tbs .table-success,#bookly-tbs .table-success>td,#bookly-tbs .table-success>th{background-color:#c3e6cb}#bookly-tbs .table-success tbody+tbody,#bookly-tbs .table-success td,#bookly-tbs .table-success th,#bookly-tbs .table-success thead th{border-color:#8fd19e}#bookly-tbs .table-hover .table-success:hover{background-color:#b1dfbb}#bookly-tbs .table-hover .table-success:hover>td,#bookly-tbs .table-hover .table-success:hover>th{background-color:#b1dfbb}#bookly-tbs .table-info,#bookly-tbs .table-info>td,#bookly-tbs .table-info>th{background-color:#bee5eb}#bookly-tbs .table-info tbody+tbody,#bookly-tbs .table-info td,#bookly-tbs .table-info th,#bookly-tbs .table-info thead th{border-color:#86cfda}#bookly-tbs .table-hover .table-info:hover{background-color:#abdde5}#bookly-tbs .table-hover .table-info:hover>td,#bookly-tbs .table-hover .table-info:hover>th{background-color:#abdde5}#bookly-tbs .table-warning,#bookly-tbs .table-warning>td,#bookly-tbs .table-warning>th{background-color:#ffeeba}#bookly-tbs .table-warning tbody+tbody,#bookly-tbs .table-warning td,#bookly-tbs .table-warning th,#bookly-tbs .table-warning thead th{border-color:#ffdf7e}#bookly-tbs .table-hover .table-warning:hover{background-color:#ffe8a1}#bookly-tbs .table-hover .table-warning:hover>td,#bookly-tbs .table-hover .table-warning:hover>th{background-color:#ffe8a1}#bookly-tbs .table-danger,#bookly-tbs .table-danger>td,#bookly-tbs .table-danger>th{background-color:#f5c6cb}#bookly-tbs .table-danger tbody+tbody,#bookly-tbs .table-danger td,#bookly-tbs .table-danger th,#bookly-tbs .table-danger thead th{border-color:#ed969e}#bookly-tbs .table-hover .table-danger:hover{background-color:#f1b0b7}#bookly-tbs .table-hover .table-danger:hover>td,#bookly-tbs .table-hover .table-danger:hover>th{background-color:#f1b0b7}#bookly-tbs .table-light,#bookly-tbs .table-light>td,#bookly-tbs .table-light>th{background-color:#fdfdfe}#bookly-tbs .table-light tbody+tbody,#bookly-tbs .table-light td,#bookly-tbs .table-light th,#bookly-tbs .table-light thead th{border-color:#fbfcfc}#bookly-tbs .table-hover .table-light:hover{background-color:#ececf6}#bookly-tbs .table-hover .table-light:hover>td,#bookly-tbs .table-hover .table-light:hover>th{background-color:#ececf6}#bookly-tbs .table-dark,#bookly-tbs .table-dark>td,#bookly-tbs .table-dark>th{background-color:#c6c8ca}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#95999c}#bookly-tbs .table-hover .table-dark:hover{background-color:#b9bbbe}#bookly-tbs .table-hover .table-dark:hover>td,#bookly-tbs .table-hover .table-dark:hover>th{background-color:#b9bbbe}#bookly-tbs .table-active,#bookly-tbs .table-active>td,#bookly-tbs .table-active>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover>td,#bookly-tbs .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}#bookly-tbs .table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .table-dark{color:#fff;background-color:#343a40}#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#454d55}#bookly-tbs .table-dark.table-bordered{border:0}#bookly-tbs .table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}#bookly-tbs .table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){#bookly-tbs .table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){#bookly-tbs .table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){#bookly-tbs .table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){#bookly-tbs .table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-xl>.table-bordered{border:0}}#bookly-tbs .table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive>.table-bordered{border:0}#bookly-tbs .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .form-control{-webkit-transition:none;transition:none}}#bookly-tbs .form-control::-ms-expand{background-color:transparent;border:0}#bookly-tbs .form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::-moz-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:disabled,#bookly-tbs .form-control[readonly]{background-color:#e9ecef;opacity:1}#bookly-tbs select.form-control:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .form-control-file,#bookly-tbs .form-control-range{display:block;width:100%}#bookly-tbs .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}#bookly-tbs .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}#bookly-tbs .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}#bookly-tbs .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}#bookly-tbs .form-control-plaintext.form-control-lg,#bookly-tbs .form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}#bookly-tbs .form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs select.form-control[multiple],#bookly-tbs select.form-control[size]{height:auto}#bookly-tbs textarea.form-control{height:auto}#bookly-tbs .form-group{margin-bottom:1rem}#bookly-tbs .form-text{display:block;margin-top:.25rem}#bookly-tbs .form-row{display:-webkit-box;display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}#bookly-tbs .form-row>.col,#bookly-tbs .form-row>[class*=col-]{padding-right:5px;padding-left:5px}#bookly-tbs .form-check{position:relative;display:block;padding-left:1.25rem}#bookly-tbs .form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}#bookly-tbs .form-check-input:disabled~.form-check-label,#bookly-tbs .form-check-input[disabled]~.form-check-label{color:#6c757d}#bookly-tbs .form-check-label{margin-bottom:0}#bookly-tbs .form-check-inline{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;padding-left:0;margin-right:.75rem}#bookly-tbs .form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}#bookly-tbs .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}#bookly-tbs .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}#bookly-tbs.is-valid~.valid-feedback,#bookly-tbs.is-valid~.valid-tooltip,.was-validated #bookly-tbs:valid~.valid-feedback,.was-validated #bookly-tbs:valid~.valid-tooltip{display:block}#bookly-tbs .form-control.is-valid,.was-validated #bookly-tbs .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-valid:focus,.was-validated #bookly-tbs .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs textarea.form-control.is-valid,.was-validated #bookly-tbs textarea.form-control:valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-valid,.was-validated #bookly-tbs .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-valid:focus,.was-validated #bookly-tbs .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .form-check-input.is-valid~.form-check-label,.was-validated #bookly-tbs .form-check-input:valid~.form-check-label{color:#28a745}#bookly-tbs .form-check-input.is-valid~.valid-feedback,#bookly-tbs .form-check-input.is-valid~.valid-tooltip,.was-validated #bookly-tbs .form-check-input:valid~.valid-feedback,.was-validated #bookly-tbs .form-check-input:valid~.valid-tooltip{display:block}#bookly-tbs .custom-control-input.is-valid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label{color:#28a745}#bookly-tbs .custom-control-input.is-valid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}#bookly-tbs .custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid~.custom-file-label{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}#bookly-tbs .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}#bookly-tbs.is-invalid~.invalid-feedback,#bookly-tbs.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs:invalid~.invalid-feedback,.was-validated #bookly-tbs:invalid~.invalid-tooltip{display:block}#bookly-tbs .form-control.is-invalid,.was-validated #bookly-tbs .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-invalid:focus,.was-validated #bookly-tbs .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs textarea.form-control.is-invalid,.was-validated #bookly-tbs textarea.form-control:invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-invalid,.was-validated #bookly-tbs .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-invalid:focus,.was-validated #bookly-tbs .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-check-input.is-invalid~.form-check-label,.was-validated #bookly-tbs .form-check-input:invalid~.form-check-label{color:#dc3545}#bookly-tbs .form-check-input.is-invalid~.invalid-feedback,#bookly-tbs .form-check-input.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-feedback,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-tooltip{display:block}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label{color:#dc3545}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}#bookly-tbs .custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-inline{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-align:center;align-items:center}#bookly-tbs .form-inline .form-check{width:100%}@media (min-width:576px){#bookly-tbs .form-inline label{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;margin-bottom:0}#bookly-tbs .form-inline .form-group{display:-webkit-box;display:flex;-webkit-box-flex:0;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-align:center;align-items:center;margin-bottom:0}#bookly-tbs .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}#bookly-tbs .form-inline .form-control-plaintext{display:inline-block}#bookly-tbs .form-inline .custom-select,#bookly-tbs .form-inline .input-group{width:auto}#bookly-tbs .form-inline .form-check{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;width:auto;padding-left:0}#bookly-tbs .form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}#bookly-tbs .form-inline .custom-control{-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}#bookly-tbs .form-inline .custom-control-label{margin-bottom:0}}#bookly-tbs .btn,#bookly-tbs .fc .fc-button{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .btn,#bookly-tbs .fc .fc-button{-webkit-transition:none;transition:none}}#bookly-tbs .btn:hover,#bookly-tbs .fc .fc-button:hover{color:#212529;text-decoration:none}#bookly-tbs .btn.focus,#bookly-tbs .btn:focus,#bookly-tbs .fc .fc-button:focus,#bookly-tbs .fc .focus.fc-button{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .btn.disabled,#bookly-tbs .btn:disabled,#bookly-tbs .fc .disabled.fc-button,#bookly-tbs .fc .fc-button:disabled{opacity:.65}#bookly-tbs .fc a.disabled.fc-button,#bookly-tbs .fc fieldset:disabled a.fc-button,#bookly-tbs a.btn.disabled,#bookly-tbs fieldset:disabled .fc a.fc-button,#bookly-tbs fieldset:disabled a.btn{pointer-events:none}#bookly-tbs .btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}#bookly-tbs .btn-primary.focus,#bookly-tbs .btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-primary.disabled,#bookly-tbs .btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}#bookly-tbs .btn-secondary.focus,#bookly-tbs .btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-secondary.disabled,#bookly-tbs .btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-success,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:hover,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:hover{color:#fff;background-color:#218838;border-color:#1e7e34}#bookly-tbs .btn-success.focus,#bookly-tbs .btn-success:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .focus.btn-primary{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-success.disabled,#bookly-tbs .btn-success:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .disabled.btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-success.dropdown-toggle,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary{color:#fff;background-color:#1e7e34;border-color:#1c7430}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-success.dropdown-toggle:focus,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}#bookly-tbs .btn-info.focus,#bookly-tbs .btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-info.disabled,#bookly-tbs .btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}#bookly-tbs .btn-warning.focus,#bookly-tbs .btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-warning.disabled,#bookly-tbs .btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}#bookly-tbs .btn-danger.focus,#bookly-tbs .btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-danger.disabled,#bookly-tbs .btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}#bookly-tbs .btn-light.focus,#bookly-tbs .btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-light.disabled,#bookly-tbs .btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}#bookly-tbs .btn-dark.focus,#bookly-tbs .btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-dark.disabled,#bookly-tbs .btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-outline-primary{color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary.focus,#bookly-tbs .btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-primary.disabled,#bookly-tbs .btn-outline-primary:disabled{color:#007bff;background-color:transparent}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-secondary{color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary.focus,#bookly-tbs .btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-secondary.disabled,#bookly-tbs .btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-success{color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success.focus,#bookly-tbs .btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-success.disabled,#bookly-tbs .btn-outline-success:disabled{color:#28a745;background-color:transparent}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-info{color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info.focus,#bookly-tbs .btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-info.disabled,#bookly-tbs .btn-outline-info:disabled{color:#17a2b8;background-color:transparent}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-warning{color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning.focus,#bookly-tbs .btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-warning.disabled,#bookly-tbs .btn-outline-warning:disabled{color:#ffc107;background-color:transparent}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-danger{color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger.focus,#bookly-tbs .btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-danger.disabled,#bookly-tbs .btn-outline-danger:disabled{color:#dc3545;background-color:transparent}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light.focus,#bookly-tbs .btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-light.disabled,#bookly-tbs .btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-dark{color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark.focus,#bookly-tbs .btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-outline-dark.disabled,#bookly-tbs .btn-outline-dark:disabled{color:#343a40;background-color:transparent}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-link{font-weight:400;color:#007bff;text-decoration:none}#bookly-tbs .btn-link:hover{color:#0056b3;text-decoration:underline}#bookly-tbs .btn-link.focus,#bookly-tbs .btn-link:focus{text-decoration:underline;box-shadow:none}#bookly-tbs .btn-link.disabled,#bookly-tbs .btn-link:disabled{color:#6c757d;pointer-events:none}#bookly-tbs .btn-group-lg>.btn,#bookly-tbs .btn-lg,#bookly-tbs .fc .btn-group-lg>.fc-button{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .btn-group-sm>.btn,#bookly-tbs .btn-sm,#bookly-tbs .fc .btn-group-sm>.fc-button{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .btn-block{display:block;width:100%}#bookly-tbs .btn-block+.btn-block{margin-top:.5rem}#bookly-tbs input[type=button].btn-block,#bookly-tbs input[type=reset].btn-block,#bookly-tbs input[type=submit].btn-block{width:100%}#bookly-tbs .fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .fade{-webkit-transition:none;transition:none}}#bookly-tbs .fade:not(.show){opacity:0}#bookly-tbs .collapse:not(.show){display:none}#bookly-tbs .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .collapsing{-webkit-transition:none;transition:none}}#bookly-tbs .dropdown,#bookly-tbs .dropleft,#bookly-tbs .dropright,#bookly-tbs .dropup{position:relative}#bookly-tbs .dropdown-toggle{white-space:nowrap}#bookly-tbs .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#bookly-tbs .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}#bookly-tbs .dropdown-menu-left{right:auto;left:0}#bookly-tbs .dropdown-menu-right{right:0;left:auto}@media (min-width:576px){#bookly-tbs .dropdown-menu-sm-left{right:auto;left:0}#bookly-tbs .dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){#bookly-tbs .dropdown-menu-md-left{right:auto;left:0}#bookly-tbs .dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){#bookly-tbs .dropdown-menu-lg-left{right:auto;left:0}#bookly-tbs .dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){#bookly-tbs .dropdown-menu-xl-left{right:auto;left:0}#bookly-tbs .dropdown-menu-xl-right{right:0;left:auto}}#bookly-tbs .dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}#bookly-tbs .dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}#bookly-tbs .dropup .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}#bookly-tbs .dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}#bookly-tbs .dropright .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-toggle::after{vertical-align:0}#bookly-tbs .dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}#bookly-tbs .dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}#bookly-tbs .dropleft .dropdown-toggle::after{display:none}#bookly-tbs .dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}#bookly-tbs .dropleft .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropleft .dropdown-toggle::before{vertical-align:0}#bookly-tbs .dropdown-menu[x-placement^=bottom],#bookly-tbs .dropdown-menu[x-placement^=left],#bookly-tbs .dropdown-menu[x-placement^=right],#bookly-tbs .dropdown-menu[x-placement^=top]{right:auto;bottom:auto}#bookly-tbs .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}#bookly-tbs .dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.active,#bookly-tbs .dropdown-item:active{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.disabled,#bookly-tbs .dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}#bookly-tbs .dropdown-menu.show{display:block}#bookly-tbs .dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}#bookly-tbs .dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}#bookly-tbs .btn-group,#bookly-tbs .btn-group-vertical,#bookly-tbs .fc .fc-button-group{position:relative;display:-webkit-inline-box;display:inline-flex;vertical-align:middle}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group>.btn,#bookly-tbs .fc .btn-group-vertical>.fc-button,#bookly-tbs .fc .btn-group>.fc-button,#bookly-tbs .fc .fc-button-group>.btn,#bookly-tbs .fc .fc-button-group>.fc-button{position:relative;-webkit-box-flex:1;flex:1 1 auto}#bookly-tbs .btn-group-vertical>.btn:hover,#bookly-tbs .btn-group>.btn:hover,#bookly-tbs .fc .btn-group-vertical>.fc-button:hover,#bookly-tbs .fc .btn-group>.fc-button:hover,#bookly-tbs .fc .fc-button-group>.btn:hover,#bookly-tbs .fc .fc-button-group>.fc-button:hover{z-index:1}#bookly-tbs .btn-group-vertical>.btn.active,#bookly-tbs .btn-group-vertical>.btn:active,#bookly-tbs .btn-group-vertical>.btn:focus,#bookly-tbs .btn-group>.btn.active,#bookly-tbs .btn-group>.btn:active,#bookly-tbs .btn-group>.btn:focus,#bookly-tbs .fc .btn-group-vertical>.active.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button:active,#bookly-tbs .fc .btn-group-vertical>.fc-button:focus,#bookly-tbs .fc .btn-group>.active.fc-button,#bookly-tbs .fc .btn-group>.fc-button:active,#bookly-tbs .fc .btn-group>.fc-button:focus,#bookly-tbs .fc .fc-button-group>.active.fc-button,#bookly-tbs .fc .fc-button-group>.btn.active,#bookly-tbs .fc .fc-button-group>.btn:active,#bookly-tbs .fc .fc-button-group>.btn:focus,#bookly-tbs .fc .fc-button-group>.fc-button:active,#bookly-tbs .fc .fc-button-group>.fc-button:focus{z-index:1}#bookly-tbs .btn-toolbar{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .btn-toolbar .input-group{width:auto}#bookly-tbs .btn-group>.btn-group:not(:first-child),#bookly-tbs .btn-group>.btn:not(:first-child),#bookly-tbs .fc .btn-group>.fc-button-group:not(:first-child),#bookly-tbs .fc .btn-group>.fc-button:not(:first-child),#bookly-tbs .fc .fc-button-group>.btn-group:not(:first-child),#bookly-tbs .fc .fc-button-group>.btn:not(:first-child),#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:first-child),#bookly-tbs .fc .fc-button-group>.fc-button:not(:first-child){margin-left:-1px}#bookly-tbs .btn-group>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .btn-group>.btn-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button-group:not(:last-child)>.btn,#bookly-tbs .fc .btn-group>.fc-button-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .fc-button-group>.btn-group:not(:last-child)>.btn,#bookly-tbs .fc .fc-button-group>.btn-group:not(:last-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:last-child)>.btn,#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:last-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.fc-button:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .btn-group>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group>.btn:not(:first-child),#bookly-tbs .fc .btn-group>.btn-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button-group:not(:first-child)>.btn,#bookly-tbs .fc .btn-group>.fc-button-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button:not(:first-child),#bookly-tbs .fc .fc-button-group>.btn-group:not(:first-child)>.btn,#bookly-tbs .fc .fc-button-group>.btn-group:not(:first-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.btn:not(:first-child),#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:first-child)>.btn,#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:first-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.fc-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}#bookly-tbs .dropdown-toggle-split::after,.dropright #bookly-tbs .dropdown-toggle-split::after,.dropup #bookly-tbs .dropdown-toggle-split::after{margin-left:0}.dropleft #bookly-tbs .dropdown-toggle-split::before{margin-right:0}#bookly-tbs .btn-group-sm>.btn+.dropdown-toggle-split,#bookly-tbs .btn-sm+.dropdown-toggle-split,#bookly-tbs .fc .btn-group-sm>.fc-button+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}#bookly-tbs .btn-group-lg>.btn+.dropdown-toggle-split,#bookly-tbs .btn-lg+.dropdown-toggle-split,#bookly-tbs .fc .btn-group-lg>.fc-button+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}#bookly-tbs .btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start;-webkit-box-pack:center;justify-content:center}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group-vertical>.btn-group,#bookly-tbs .fc .btn-group-vertical>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button-group{width:100%}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child),#bookly-tbs .btn-group-vertical>.btn:not(:first-child),#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:first-child),#bookly-tbs .fc .btn-group-vertical>.fc-button:not(:first-child){margin-top:-1px}#bookly-tbs .btn-group-vertical>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .btn-group-vertical>.btn-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:last-child)>.btn,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:first-child),#bookly-tbs .fc .btn-group-vertical>.btn-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:first-child)>.btn,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .btn-group-toggle>.btn,#bookly-tbs .btn-group-toggle>.btn-group>.btn,#bookly-tbs .fc .btn-group-toggle>.btn-group>.fc-button,#bookly-tbs .fc .btn-group-toggle>.fc-button,#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.btn,#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.fc-button{margin-bottom:0}#bookly-tbs .btn-group-toggle>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn input[type=radio],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=radio],#bookly-tbs .fc .btn-group-toggle>.btn-group>.fc-button input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.btn-group>.fc-button input[type=radio],#bookly-tbs .fc .btn-group-toggle>.fc-button input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.fc-button input[type=radio],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.btn input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.btn input[type=radio],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.fc-button input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.fc-button input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}#bookly-tbs .input-group{position:relative;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:stretch;align-items:stretch;width:100%}#bookly-tbs .input-group>.custom-file,#bookly-tbs .input-group>.custom-select,#bookly-tbs .input-group>.form-control,#bookly-tbs .input-group>.form-control-plaintext{position:relative;-webkit-box-flex:1;flex:1 1 0%;min-width:0;margin-bottom:0}#bookly-tbs .input-group>.custom-file+.custom-file,#bookly-tbs .input-group>.custom-file+.custom-select,#bookly-tbs .input-group>.custom-file+.form-control,#bookly-tbs .input-group>.custom-select+.custom-file,#bookly-tbs .input-group>.custom-select+.custom-select,#bookly-tbs .input-group>.custom-select+.form-control,#bookly-tbs .input-group>.form-control+.custom-file,#bookly-tbs .input-group>.form-control+.custom-select,#bookly-tbs .input-group>.form-control+.form-control,#bookly-tbs .input-group>.form-control-plaintext+.custom-file,#bookly-tbs .input-group>.form-control-plaintext+.custom-select,#bookly-tbs .input-group>.form-control-plaintext+.form-control{margin-left:-1px}#bookly-tbs .input-group>.custom-file .custom-file-input:focus~.custom-file-label,#bookly-tbs .input-group>.custom-select:focus,#bookly-tbs .input-group>.form-control:focus{z-index:3}#bookly-tbs .input-group>.custom-file .custom-file-input:focus{z-index:4}#bookly-tbs .input-group>.custom-select:not(:last-child),#bookly-tbs .input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-select:not(:first-child),#bookly-tbs .input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group>.custom-file{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label,#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group-append,#bookly-tbs .input-group-prepend{display:-webkit-box;display:flex}#bookly-tbs .fc .input-group-append .fc-button,#bookly-tbs .fc .input-group-prepend .fc-button,#bookly-tbs .input-group-append .btn,#bookly-tbs .input-group-append .fc .fc-button,#bookly-tbs .input-group-prepend .btn,#bookly-tbs .input-group-prepend .fc .fc-button{position:relative;z-index:2}#bookly-tbs .fc .input-group-append .fc-button:focus,#bookly-tbs .fc .input-group-prepend .fc-button:focus,#bookly-tbs .input-group-append .btn:focus,#bookly-tbs .input-group-append .fc .fc-button:focus,#bookly-tbs .input-group-prepend .btn:focus,#bookly-tbs .input-group-prepend .fc .fc-button:focus{z-index:3}#bookly-tbs .fc .input-group-append .btn+.fc-button,#bookly-tbs .fc .input-group-append .fc-button+.btn,#bookly-tbs .fc .input-group-append .fc-button+.fc-button,#bookly-tbs .fc .input-group-append .fc-button+.input-group-text,#bookly-tbs .fc .input-group-append .input-group-text+.fc-button,#bookly-tbs .fc .input-group-prepend .btn+.fc-button,#bookly-tbs .fc .input-group-prepend .fc-button+.btn,#bookly-tbs .fc .input-group-prepend .fc-button+.fc-button,#bookly-tbs .fc .input-group-prepend .fc-button+.input-group-text,#bookly-tbs .fc .input-group-prepend .input-group-text+.fc-button,#bookly-tbs .input-group-append .btn+.btn,#bookly-tbs .input-group-append .btn+.input-group-text,#bookly-tbs .input-group-append .fc .btn+.fc-button,#bookly-tbs .input-group-append .fc .fc-button+.btn,#bookly-tbs .input-group-append .fc .fc-button+.fc-button,#bookly-tbs .input-group-append .fc .fc-button+.input-group-text,#bookly-tbs .input-group-append .fc .input-group-text+.fc-button,#bookly-tbs .input-group-append .input-group-text+.btn,#bookly-tbs .input-group-append .input-group-text+.input-group-text,#bookly-tbs .input-group-prepend .btn+.btn,#bookly-tbs .input-group-prepend .btn+.input-group-text,#bookly-tbs .input-group-prepend .fc .btn+.fc-button,#bookly-tbs .input-group-prepend .fc .fc-button+.btn,#bookly-tbs .input-group-prepend .fc .fc-button+.fc-button,#bookly-tbs .input-group-prepend .fc .fc-button+.input-group-text,#bookly-tbs .input-group-prepend .fc .input-group-text+.fc-button,#bookly-tbs .input-group-prepend .input-group-text+.btn,#bookly-tbs .input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}#bookly-tbs .input-group-prepend{margin-right:-1px}#bookly-tbs .input-group-append{margin-left:-1px}#bookly-tbs .input-group-text{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .input-group-text input[type=checkbox],#bookly-tbs .input-group-text input[type=radio]{margin-top:0}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}#bookly-tbs .fc .input-group-lg>.input-group-append>.fc-button,#bookly-tbs .fc .input-group-lg>.input-group-prepend>.fc-button,#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control,#bookly-tbs .input-group-lg>.input-group-append>.btn,#bookly-tbs .input-group-lg>.input-group-append>.input-group-text,#bookly-tbs .input-group-lg>.input-group-prepend>.btn,#bookly-tbs .input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}#bookly-tbs .fc .input-group-sm>.input-group-append>.fc-button,#bookly-tbs .fc .input-group-sm>.input-group-prepend>.fc-button,#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control,#bookly-tbs .input-group-sm>.input-group-append>.btn,#bookly-tbs .input-group-sm>.input-group-append>.input-group-text,#bookly-tbs .input-group-sm>.input-group-prepend>.btn,#bookly-tbs .input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-sm>.custom-select{padding-right:1.75rem}#bookly-tbs .fc .input-group>.input-group-append:last-child>.fc-button:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .input-group>.input-group-append:not(:last-child)>.fc-button,#bookly-tbs .fc .input-group>.input-group-prepend>.fc-button,#bookly-tbs .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .input-group>.input-group-append:last-child>.input-group-text:not(:last-child),#bookly-tbs .input-group>.input-group-append:not(:last-child)>.btn,#bookly-tbs .input-group>.input-group-append:not(:last-child)>.input-group-text,#bookly-tbs .input-group>.input-group-prepend>.btn,#bookly-tbs .input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .fc .input-group>.input-group-append>.fc-button,#bookly-tbs .fc .input-group>.input-group-prepend:first-child>.fc-button:not(:first-child),#bookly-tbs .fc .input-group>.input-group-prepend:not(:first-child)>.fc-button,#bookly-tbs .input-group>.input-group-append>.btn,#bookly-tbs .input-group>.input-group-append>.input-group-text,#bookly-tbs .input-group>.input-group-prepend:first-child>.btn:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.btn,#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}#bookly-tbs .custom-control-inline{display:-webkit-inline-box;display:inline-flex;margin-right:1rem}#bookly-tbs .custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}#bookly-tbs .custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}#bookly-tbs .custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}#bookly-tbs .custom-control-input:disabled~.custom-control-label,#bookly-tbs .custom-control-input[disabled]~.custom-control-label{color:#6c757d}#bookly-tbs .custom-control-input:disabled~.custom-control-label::before,#bookly-tbs .custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}#bookly-tbs .custom-control-label{position:relative;margin-bottom:0;vertical-align:top}#bookly-tbs .custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}#bookly-tbs .custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}#bookly-tbs .custom-checkbox .custom-control-label::before{border-radius:.25rem}#bookly-tbs .custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-radio .custom-control-label::before{border-radius:50%}#bookly-tbs .custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}#bookly-tbs .custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-switch{padding-left:2.25rem}#bookly-tbs .custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}#bookly-tbs .custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-switch .custom-control-label::after{-webkit-transition:none;transition:none}}#bookly-tbs .custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}#bookly-tbs .custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-select:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .custom-select[multiple],#bookly-tbs .custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}#bookly-tbs .custom-select:disabled{color:#6c757d;background-color:#e9ecef}#bookly-tbs .custom-select::-ms-expand{display:none}#bookly-tbs .custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}#bookly-tbs .custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}#bookly-tbs .custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}#bookly-tbs .custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}#bookly-tbs .custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-file-input:disabled~.custom-file-label,#bookly-tbs .custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}#bookly-tbs .custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}#bookly-tbs .custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}#bookly-tbs .custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}#bookly-tbs .custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-range:focus{outline:0}#bookly-tbs .custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range::-moz-focus-outer{border:0}#bookly-tbs .custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}#bookly-tbs .custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}#bookly-tbs .custom-range::-moz-range-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-ms-thumb{-ms-transition:none;transition:none}}#bookly-tbs .custom-range::-ms-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}#bookly-tbs .custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-webkit-slider-runnable-track{cursor:default}#bookly-tbs .custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-moz-range-track{cursor:default}#bookly-tbs .custom-range:disabled::-ms-thumb{background-color:#adb5bd}#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{-webkit-transition:none;transition:none}}#bookly-tbs .nav{display:-webkit-box;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .nav-link{display:block;padding:.5rem 1rem}#bookly-tbs .nav-link:focus,#bookly-tbs .nav-link:hover{text-decoration:none}#bookly-tbs .nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}#bookly-tbs .nav-tabs{border-bottom:1px solid #dee2e6}#bookly-tbs .nav-tabs .nav-item{margin-bottom:-1px}#bookly-tbs .nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .nav-tabs .nav-link:focus,#bookly-tbs .nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}#bookly-tbs .nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}#bookly-tbs .nav-tabs .nav-item.show .nav-link,#bookly-tbs .nav-tabs .nav-link.active{color:#343a40;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}#bookly-tbs .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .nav-pills .nav-link{border-radius:.25rem}#bookly-tbs .nav-pills .nav-link.active,#bookly-tbs .nav-pills .show>.nav-link{color:#fff;background-color:#007bff}#bookly-tbs .nav-fill .nav-item{-webkit-box-flex:1;flex:1 1 auto;text-align:center}#bookly-tbs .nav-justified .nav-item{flex-basis:0;-webkit-box-flex:1;flex-grow:1;text-align:center}#bookly-tbs .tab-content>.tab-pane{display:none}#bookly-tbs .tab-content>.active{display:block}#bookly-tbs .navbar{position:relative;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;padding:.5rem 1rem}#bookly-tbs .navbar .container,#bookly-tbs .navbar .container-fluid,#bookly-tbs .navbar .container-lg,#bookly-tbs .navbar .container-md,#bookly-tbs .navbar .container-sm,#bookly-tbs .navbar .container-xl{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between}#bookly-tbs .navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}#bookly-tbs .navbar-brand:focus,#bookly-tbs .navbar-brand:hover{text-decoration:none}#bookly-tbs .navbar-nav{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .navbar-nav .nav-link{padding-right:0;padding-left:0}#bookly-tbs .navbar-nav .dropdown-menu{position:static;float:none}#bookly-tbs .navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}#bookly-tbs .navbar-collapse{flex-basis:100%;-webkit-box-flex:1;flex-grow:1;-webkit-box-align:center;align-items:center}#bookly-tbs .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .navbar-toggler:focus,#bookly-tbs .navbar-toggler:hover{text-decoration:none}#bookly-tbs .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){#bookly-tbs .navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){#bookly-tbs .navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){#bookly-tbs .navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){#bookly-tbs .navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-xl .navbar-toggler{display:none}}#bookly-tbs .navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{padding-right:0;padding-left:0}#bookly-tbs .navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand .navbar-toggler{display:none}#bookly-tbs .navbar-light .navbar-brand{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-brand:focus,#bookly-tbs .navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-nav .nav-link:focus,#bookly-tbs .navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}#bookly-tbs .navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}#bookly-tbs .navbar-light .navbar-nav .active>.nav-link,#bookly-tbs .navbar-light .navbar-nav .nav-link.active,#bookly-tbs .navbar-light .navbar-nav .nav-link.show,#bookly-tbs .navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}#bookly-tbs .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-light .navbar-text{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-text a{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-text a:focus,#bookly-tbs .navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-dark .navbar-brand{color:#fff}#bookly-tbs .navbar-dark .navbar-brand:focus,#bookly-tbs .navbar-dark .navbar-brand:hover{color:#fff}#bookly-tbs .navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-nav .nav-link:focus,#bookly-tbs .navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}#bookly-tbs .navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}#bookly-tbs .navbar-dark .navbar-nav .active>.nav-link,#bookly-tbs .navbar-dark .navbar-nav .nav-link.active,#bookly-tbs .navbar-dark .navbar-nav .nav-link.show,#bookly-tbs .navbar-dark .navbar-nav .show>.nav-link{color:#fff}#bookly-tbs .navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}#bookly-tbs .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-dark .navbar-text{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-text a{color:#fff}#bookly-tbs .navbar-dark .navbar-text a:focus,#bookly-tbs .navbar-dark .navbar-text a:hover{color:#fff}#bookly-tbs .card{position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}#bookly-tbs .card>hr{margin-right:0;margin-left:0}#bookly-tbs .card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .card-body{-webkit-box-flex:1;flex:1 1 auto;min-height:1px;padding:1.25rem}#bookly-tbs .card-title{margin-bottom:.75rem}#bookly-tbs .card-subtitle{margin-top:-.375rem;margin-bottom:0}#bookly-tbs .card-text:last-child{margin-bottom:0}#bookly-tbs .card-link:hover{text-decoration:none}#bookly-tbs .card-link+.card-link{margin-left:1.25rem}#bookly-tbs .card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}#bookly-tbs .card-header+.list-group .list-group-item:first-child{border-top:0}#bookly-tbs .card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}#bookly-tbs .card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}#bookly-tbs .card-header-pills{margin-right:-.625rem;margin-left:-.625rem}#bookly-tbs .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom,#bookly-tbs .card-img-top{flex-shrink:0;width:100%}#bookly-tbs .card-img,#bookly-tbs .card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}#bookly-tbs .card-deck .card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-deck{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .card-deck .card{-webkit-box-flex:1;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}#bookly-tbs .card-group>.card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-group{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap}#bookly-tbs .card-group>.card{-webkit-box-flex:1;flex:1 0 0%;margin-bottom:0}#bookly-tbs .card-group>.card+.card{margin-left:0;border-left:0}#bookly-tbs .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-header,#bookly-tbs .card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-footer,#bookly-tbs .card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-header,#bookly-tbs .card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-footer,#bookly-tbs .card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}#bookly-tbs .card-columns .card{margin-bottom:.75rem}@media (min-width:576px){#bookly-tbs .card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}#bookly-tbs .card-columns .card{display:inline-block;width:100%}}#bookly-tbs .accordion>.card{overflow:hidden}#bookly-tbs .accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}#bookly-tbs .breadcrumb{display:-webkit-box;display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item{padding-left:.5rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}#bookly-tbs .breadcrumb-item.active{color:#6c757d}#bookly-tbs .pagination{display:-webkit-box;display:flex;padding-left:0;list-style:none;border-radius:.25rem}#bookly-tbs .page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}#bookly-tbs .page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#bookly-tbs .page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}#bookly-tbs .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}#bookly-tbs .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}#bookly-tbs .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}#bookly-tbs .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}#bookly-tbs .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}#bookly-tbs .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}#bookly-tbs .badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .badge{-webkit-transition:none;transition:none}}#bookly-tbs a.badge:focus,#bookly-tbs a.badge:hover{text-decoration:none}#bookly-tbs .badge:empty{display:none}#bookly-tbs .btn .badge,#bookly-tbs .fc .fc-button .badge{position:relative;top:-1px}#bookly-tbs .badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}#bookly-tbs .badge-primary{color:#fff;background-color:#007bff}#bookly-tbs a.badge-primary:focus,#bookly-tbs a.badge-primary:hover{color:#fff;background-color:#0062cc}#bookly-tbs a.badge-primary.focus,#bookly-tbs a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .badge-secondary{color:#fff;background-color:#6c757d}#bookly-tbs a.badge-secondary:focus,#bookly-tbs a.badge-secondary:hover{color:#fff;background-color:#545b62}#bookly-tbs a.badge-secondary.focus,#bookly-tbs a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .badge-success{color:#fff;background-color:#28a745}#bookly-tbs a.badge-success:focus,#bookly-tbs a.badge-success:hover{color:#fff;background-color:#1e7e34}#bookly-tbs a.badge-success.focus,#bookly-tbs a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .badge-info{color:#fff;background-color:#17a2b8}#bookly-tbs a.badge-info:focus,#bookly-tbs a.badge-info:hover{color:#fff;background-color:#117a8b}#bookly-tbs a.badge-info.focus,#bookly-tbs a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .badge-warning{color:#212529;background-color:#ffc107}#bookly-tbs a.badge-warning:focus,#bookly-tbs a.badge-warning:hover{color:#212529;background-color:#d39e00}#bookly-tbs a.badge-warning.focus,#bookly-tbs a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .badge-danger{color:#fff;background-color:#dc3545}#bookly-tbs a.badge-danger:focus,#bookly-tbs a.badge-danger:hover{color:#fff;background-color:#bd2130}#bookly-tbs a.badge-danger.focus,#bookly-tbs a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .badge-light{color:#212529;background-color:#f8f9fa}#bookly-tbs a.badge-light:focus,#bookly-tbs a.badge-light:hover{color:#212529;background-color:#dae0e5}#bookly-tbs a.badge-light.focus,#bookly-tbs a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .badge-dark{color:#fff;background-color:#343a40}#bookly-tbs a.badge-dark:focus,#bookly-tbs a.badge-dark:hover{color:#fff;background-color:#1d2124}#bookly-tbs a.badge-dark.focus,#bookly-tbs a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){#bookly-tbs .jumbotron{padding:4rem 2rem}}#bookly-tbs .jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}#bookly-tbs .alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .alert-heading{color:inherit}#bookly-tbs .alert-link{font-weight:700}#bookly-tbs .alert-dismissible{padding-right:4rem}#bookly-tbs .alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}#bookly-tbs .alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}#bookly-tbs .alert-primary hr{border-top-color:#9fcdff}#bookly-tbs .alert-primary .alert-link{color:#002752}#bookly-tbs .alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}#bookly-tbs .alert-secondary hr{border-top-color:#c8cbcf}#bookly-tbs .alert-secondary .alert-link{color:#202326}#bookly-tbs .alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}#bookly-tbs .alert-success hr{border-top-color:#b1dfbb}#bookly-tbs .alert-success .alert-link{color:#0b2e13}#bookly-tbs .alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}#bookly-tbs .alert-info hr{border-top-color:#abdde5}#bookly-tbs .alert-info .alert-link{color:#062c33}#bookly-tbs .alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}#bookly-tbs .alert-warning hr{border-top-color:#ffe8a1}#bookly-tbs .alert-warning .alert-link{color:#533f03}#bookly-tbs .alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}#bookly-tbs .alert-danger hr{border-top-color:#f1b0b7}#bookly-tbs .alert-danger .alert-link{color:#491217}#bookly-tbs .alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}#bookly-tbs .alert-light hr{border-top-color:#ececf6}#bookly-tbs .alert-light .alert-link{color:#686868}#bookly-tbs .alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}#bookly-tbs .alert-dark hr{border-top-color:#b9bbbe}#bookly-tbs .alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}#bookly-tbs .progress{display:-webkit-box;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .progress-bar{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;-webkit-transition:width .6s ease;transition:width .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar{-webkit-transition:none;transition:none}}#bookly-tbs .progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}#bookly-tbs .progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar-animated{-webkit-animation:none;animation:none}}#bookly-tbs .media{display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start}#bookly-tbs .media-body{-webkit-box-flex:1;flex:1}#bookly-tbs .list-group{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;padding-left:0;margin-bottom:0}#bookly-tbs .list-group-item-action{width:100%;color:#495057;text-align:inherit}#bookly-tbs .list-group-item-action:focus,#bookly-tbs .list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .list-group-item-action:active{color:#212529;background-color:#e9ecef}#bookly-tbs .list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}#bookly-tbs .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .list-group-item.disabled,#bookly-tbs .list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}#bookly-tbs .list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item{border-top-width:0}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item.active{margin-top:-1px;border-top-width:1px}#bookly-tbs .list-group-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){#bookly-tbs .list-group-horizontal-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){#bookly-tbs .list-group-horizontal-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){#bookly-tbs .list-group-horizontal-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){#bookly-tbs .list-group-horizontal-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}#bookly-tbs .list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}#bookly-tbs .list-group-flush .list-group-item:first-child{border-top-width:0}#bookly-tbs .list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}#bookly-tbs .list-group-item-primary{color:#004085;background-color:#b8daff}#bookly-tbs .list-group-item-primary.list-group-item-action:focus,#bookly-tbs .list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}#bookly-tbs .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}#bookly-tbs .list-group-item-secondary{color:#383d41;background-color:#d6d8db}#bookly-tbs .list-group-item-secondary.list-group-item-action:focus,#bookly-tbs .list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}#bookly-tbs .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}#bookly-tbs .list-group-item-success{color:#155724;background-color:#c3e6cb}#bookly-tbs .list-group-item-success.list-group-item-action:focus,#bookly-tbs .list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}#bookly-tbs .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}#bookly-tbs .list-group-item-info{color:#0c5460;background-color:#bee5eb}#bookly-tbs .list-group-item-info.list-group-item-action:focus,#bookly-tbs .list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}#bookly-tbs .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}#bookly-tbs .list-group-item-warning{color:#856404;background-color:#ffeeba}#bookly-tbs .list-group-item-warning.list-group-item-action:focus,#bookly-tbs .list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}#bookly-tbs .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}#bookly-tbs .list-group-item-danger{color:#721c24;background-color:#f5c6cb}#bookly-tbs .list-group-item-danger.list-group-item-action:focus,#bookly-tbs .list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}#bookly-tbs .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}#bookly-tbs .list-group-item-light{color:#818182;background-color:#fdfdfe}#bookly-tbs .list-group-item-light.list-group-item-action:focus,#bookly-tbs .list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}#bookly-tbs .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}#bookly-tbs .list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}#bookly-tbs .list-group-item-dark.list-group-item-action:focus,#bookly-tbs .list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}#bookly-tbs .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}#bookly-tbs .close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}#bookly-tbs .close:hover{color:#000;text-decoration:none}#bookly-tbs .close:not(:disabled):not(.disabled):focus,#bookly-tbs .close:not(:disabled):not(.disabled):hover{opacity:.75}#bookly-tbs button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs a.close.disabled{pointer-events:none}#bookly-tbs .toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}#bookly-tbs .toast:not(:last-child){margin-bottom:.75rem}#bookly-tbs .toast.showing{opacity:1}#bookly-tbs .toast.show{display:block;opacity:1}#bookly-tbs .toast.hide{display:none}#bookly-tbs .toast-header{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}#bookly-tbs .toast-body{padding:.75rem}.bookly-modal-open{overflow:hidden}#bookly-tbs .bookly-modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.bookly-modal-open #bookly-tbs .bookly-modal{overflow-x:hidden;overflow-y:auto}#bookly-tbs .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-modal.show .modal-dialog{-webkit-transform:none;transform:none}#bookly-tbs .bookly-modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}#bookly-tbs .modal-dialog-scrollable{display:-webkit-box;display:flex;max-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}#bookly-tbs .modal-dialog-scrollable .modal-footer,#bookly-tbs .modal-dialog-scrollable .modal-header{flex-shrink:0}#bookly-tbs .modal-dialog-scrollable .modal-body{overflow-y:auto}#bookly-tbs .modal-dialog-centered{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;min-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;height:100%}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable::before{content:none}#bookly-tbs .modal-content{position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.bookly-modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.bookly-modal-backdrop.bookly-fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear;opacity:0}@media (prefers-reduced-motion:reduce){.bookly-modal-backdrop.bookly-fade{-webkit-transition:none;transition:none}}.bookly-modal-backdrop.show{opacity:.5}.bookly-modal-backdrop+.bookly-modal-backdrop{display:none!important}#bookly-tbs .modal-header{display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;-webkit-box-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}#bookly-tbs .modal-title{margin-bottom:0;line-height:1.5}#bookly-tbs .modal-body{position:relative;-webkit-box-flex:1;flex:1 1 auto;padding:1rem}#bookly-tbs .modal-footer{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}#bookly-tbs .modal-footer>*{margin:.25rem}#bookly-tbs .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){#bookly-tbs .modal-dialog{max-width:500px;margin:3rem auto}#bookly-tbs .modal-dialog-scrollable{max-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 6rem)}#bookly-tbs .modal-dialog-centered{min-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-centered::before{height:calc(100vh - 6rem)}#bookly-tbs .modal-sm{max-width:300px}}@media (min-width:992px){#bookly-tbs .modal-lg,#bookly-tbs .modal-xl{max-width:800px}}@media (min-width:1200px){#bookly-tbs .modal-xl{max-width:1140px}}#bookly-tbs .modal-faded{z-index:1039!important}#bookly-tbs .tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}#bookly-tbs .tooltip.show{opacity:.9}#bookly-tbs .tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}#bookly-tbs .tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-tooltip-auto[x-placement^=top],#bookly-tbs .bs-tooltip-top{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow,#bookly-tbs .bs-tooltip-top .arrow{bottom:0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow::before,#bookly-tbs .bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=right],#bookly-tbs .bs-tooltip-right{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow,#bookly-tbs .bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow::before,#bookly-tbs .bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom],#bookly-tbs .bs-tooltip-bottom{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow,#bookly-tbs .bs-tooltip-bottom .arrow{top:0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow::before,#bookly-tbs .bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=left],#bookly-tbs .bs-tooltip-left{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow,#bookly-tbs .bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow::before,#bookly-tbs .bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}#bookly-tbs .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}#bookly-tbs [class*=bs-popover-]>.arrow{overflow:visible;left:auto;top:auto;bottom:auto;right:auto;z-index:1040}#bookly-tbs [class*=bs-popover-]>.arrow::after{left:auto;top:auto;bottom:auto;right:auto;background-color:transparent;box-shadow:none;-webkit-transform:none;transform:none;width:auto;height:auto;z-index:1040}#bookly-tbs #bookly-appearance .bookly-popover{z-index:9999!important}#bookly-tbs .bookly-popover{position:absolute;top:0;left:0;z-index:1040;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}#bookly-tbs .bookly-popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}#bookly-tbs .bookly-popover .arrow::after,#bookly-tbs .bookly-popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-popover-auto[x-placement^=top],#bookly-tbs .bs-popover-top{margin-bottom:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow,#bookly-tbs .bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::before,#bookly-tbs .bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::after,#bookly-tbs .bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=right],#bookly-tbs .bs-popover-right{margin-left:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow,#bookly-tbs .bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::before,#bookly-tbs .bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::after,#bookly-tbs .bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom],#bookly-tbs .bs-popover-bottom{margin-top:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow,#bookly-tbs .bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::before,#bookly-tbs .bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::after,#bookly-tbs .bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom] .popover-header::before,#bookly-tbs .bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}#bookly-tbs .bs-popover-auto[x-placement^=left],#bookly-tbs .bs-popover-left{margin-right:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow,#bookly-tbs .bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::before,#bookly-tbs .bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::after,#bookly-tbs .bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}#bookly-tbs .popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .popover-header:empty{display:none}#bookly-tbs .popover-body{padding:.5rem .75rem;color:#212529}#bookly-tbs .carousel{position:relative}#bookly-tbs .carousel.pointer-event{touch-action:pan-y}#bookly-tbs .carousel-inner{position:relative;width:100%;overflow:hidden}#bookly-tbs .carousel-inner::after{display:block;clear:both;content:""}#bookly-tbs .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-item{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-item-next,#bookly-tbs .carousel-item-prev,#bookly-tbs .carousel-item.active{display:block}#bookly-tbs .active.carousel-item-right,#bookly-tbs .carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}#bookly-tbs .active.carousel-item-left,#bookly-tbs .carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}#bookly-tbs .carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}#bookly-tbs .carousel-fade .carousel-item-next.carousel-item-left,#bookly-tbs .carousel-fade .carousel-item-prev.carousel-item-right,#bookly-tbs .carousel-fade .carousel-item.active{z-index:1;opacity:1}#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-control-next:focus,#bookly-tbs .carousel-control-next:hover,#bookly-tbs .carousel-control-prev:focus,#bookly-tbs .carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}#bookly-tbs .carousel-control-prev{left:0}#bookly-tbs .carousel-control-next{right:0}#bookly-tbs .carousel-control-next-icon,#bookly-tbs .carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}#bookly-tbs .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}#bookly-tbs .carousel-indicators li{box-sizing:content-box;-webkit-box-flex:0;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-indicators li{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-indicators .active{opacity:1}#bookly-tbs .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#bookly-tbs .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}#bookly-tbs .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}#bookly-tbs .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}#bookly-tbs .spinner-grow-sm{width:1rem;height:1rem}#bookly-tbs .align-baseline{vertical-align:baseline!important}#bookly-tbs .align-top{vertical-align:top!important}#bookly-tbs .align-middle{vertical-align:middle!important}#bookly-tbs .align-bottom{vertical-align:bottom!important}#bookly-tbs .align-text-bottom{vertical-align:text-bottom!important}#bookly-tbs .align-text-top{vertical-align:text-top!important}#bookly-tbs .bg-primary{background-color:#007bff!important}#bookly-tbs a.bg-primary:focus,#bookly-tbs a.bg-primary:hover,#bookly-tbs button.bg-primary:focus,#bookly-tbs button.bg-primary:hover{background-color:#0062cc!important}#bookly-tbs .bg-secondary{background-color:#6c757d!important}#bookly-tbs a.bg-secondary:focus,#bookly-tbs a.bg-secondary:hover,#bookly-tbs button.bg-secondary:focus,#bookly-tbs button.bg-secondary:hover{background-color:#545b62!important}#bookly-tbs .bg-success{background-color:#28a745!important}#bookly-tbs a.bg-success:focus,#bookly-tbs a.bg-success:hover,#bookly-tbs button.bg-success:focus,#bookly-tbs button.bg-success:hover{background-color:#1e7e34!important}#bookly-tbs .bg-info{background-color:#17a2b8!important}#bookly-tbs a.bg-info:focus,#bookly-tbs a.bg-info:hover,#bookly-tbs button.bg-info:focus,#bookly-tbs button.bg-info:hover{background-color:#117a8b!important}#bookly-tbs .bg-warning{background-color:#ffc107!important}#bookly-tbs a.bg-warning:focus,#bookly-tbs a.bg-warning:hover,#bookly-tbs button.bg-warning:focus,#bookly-tbs button.bg-warning:hover{background-color:#d39e00!important}#bookly-tbs .bg-danger{background-color:#dc3545!important}#bookly-tbs a.bg-danger:focus,#bookly-tbs a.bg-danger:hover,#bookly-tbs button.bg-danger:focus,#bookly-tbs button.bg-danger:hover{background-color:#bd2130!important}#bookly-tbs .bg-light{background-color:#f8f9fa!important}#bookly-tbs a.bg-light:focus,#bookly-tbs a.bg-light:hover,#bookly-tbs button.bg-light:focus,#bookly-tbs button.bg-light:hover{background-color:#dae0e5!important}#bookly-tbs .bg-dark{background-color:#343a40!important}#bookly-tbs a.bg-dark:focus,#bookly-tbs a.bg-dark:hover,#bookly-tbs button.bg-dark:focus,#bookly-tbs button.bg-dark:hover{background-color:#1d2124!important}#bookly-tbs .bg-white{background-color:#fff!important}#bookly-tbs .bg-transparent{background-color:transparent!important}#bookly-tbs .border{border:1px solid #dee2e6!important}#bookly-tbs .border-top{border-top:1px solid #dee2e6!important}#bookly-tbs .border-right{border-right:1px solid #dee2e6!important}#bookly-tbs .border-bottom{border-bottom:1px solid #dee2e6!important}#bookly-tbs .border-left{border-left:1px solid #dee2e6!important}#bookly-tbs .border-0{border:0!important}#bookly-tbs .border-top-0{border-top:0!important}#bookly-tbs .border-right-0{border-right:0!important}#bookly-tbs .border-bottom-0{border-bottom:0!important}#bookly-tbs .border-left-0{border-left:0!important}#bookly-tbs .border-primary{border-color:#007bff!important}#bookly-tbs .border-secondary{border-color:#6c757d!important}#bookly-tbs .border-success{border-color:#28a745!important}#bookly-tbs .border-info{border-color:#17a2b8!important}#bookly-tbs .border-warning{border-color:#ffc107!important}#bookly-tbs .border-danger{border-color:#dc3545!important}#bookly-tbs .border-light{border-color:#f8f9fa!important}#bookly-tbs .border-dark{border-color:#343a40!important}#bookly-tbs .border-white{border-color:#fff!important}#bookly-tbs .rounded-sm{border-radius:.2rem!important}#bookly-tbs .rounded{border-radius:.25rem!important}#bookly-tbs .rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}#bookly-tbs .rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}#bookly-tbs .rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-lg{border-radius:.3rem!important}#bookly-tbs .rounded-circle{border-radius:50%!important}#bookly-tbs .rounded-pill{border-radius:50rem!important}#bookly-tbs .rounded-0{border-radius:0!important}#bookly-tbs .clearfix::after{display:block;clear:both;content:""}#bookly-tbs .d-none{display:none!important}#bookly-tbs .d-inline{display:inline!important}#bookly-tbs .d-inline-block{display:inline-block!important}#bookly-tbs .d-block{display:block!important}#bookly-tbs .d-table{display:table!important}#bookly-tbs .d-table-row{display:table-row!important}#bookly-tbs .d-table-cell{display:table-cell!important}#bookly-tbs .d-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}@media (min-width:576px){#bookly-tbs .d-sm-none{display:none!important}#bookly-tbs .d-sm-inline{display:inline!important}#bookly-tbs .d-sm-inline-block{display:inline-block!important}#bookly-tbs .d-sm-block{display:block!important}#bookly-tbs .d-sm-table{display:table!important}#bookly-tbs .d-sm-table-row{display:table-row!important}#bookly-tbs .d-sm-table-cell{display:table-cell!important}#bookly-tbs .d-sm-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-sm-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media (min-width:768px){#bookly-tbs .d-md-none{display:none!important}#bookly-tbs .d-md-inline{display:inline!important}#bookly-tbs .d-md-inline-block{display:inline-block!important}#bookly-tbs .d-md-block{display:block!important}#bookly-tbs .d-md-table{display:table!important}#bookly-tbs .d-md-table-row{display:table-row!important}#bookly-tbs .d-md-table-cell{display:table-cell!important}#bookly-tbs .d-md-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-md-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media (min-width:992px){#bookly-tbs .d-lg-none{display:none!important}#bookly-tbs .d-lg-inline{display:inline!important}#bookly-tbs .d-lg-inline-block{display:inline-block!important}#bookly-tbs .d-lg-block{display:block!important}#bookly-tbs .d-lg-table{display:table!important}#bookly-tbs .d-lg-table-row{display:table-row!important}#bookly-tbs .d-lg-table-cell{display:table-cell!important}#bookly-tbs .d-lg-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-lg-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media (min-width:1200px){#bookly-tbs .d-xl-none{display:none!important}#bookly-tbs .d-xl-inline{display:inline!important}#bookly-tbs .d-xl-inline-block{display:inline-block!important}#bookly-tbs .d-xl-block{display:block!important}#bookly-tbs .d-xl-table{display:table!important}#bookly-tbs .d-xl-table-row{display:table-row!important}#bookly-tbs .d-xl-table-cell{display:table-cell!important}#bookly-tbs .d-xl-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-xl-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media print{#bookly-tbs .d-print-none{display:none!important}#bookly-tbs .d-print-inline{display:inline!important}#bookly-tbs .d-print-inline-block{display:inline-block!important}#bookly-tbs .d-print-block{display:block!important}#bookly-tbs .d-print-table{display:table!important}#bookly-tbs .d-print-table-row{display:table-row!important}#bookly-tbs .d-print-table-cell{display:table-cell!important}#bookly-tbs .d-print-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-print-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}#bookly-tbs .embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}#bookly-tbs .embed-responsive::before{display:block;content:""}#bookly-tbs .embed-responsive .embed-responsive-item,#bookly-tbs .embed-responsive embed,#bookly-tbs .embed-responsive iframe,#bookly-tbs .embed-responsive object,#bookly-tbs .embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}#bookly-tbs .embed-responsive-21by9::before{padding-top:42.857143%}#bookly-tbs .embed-responsive-16by9::before{padding-top:56.25%}#bookly-tbs .embed-responsive-4by3::before{padding-top:75%}#bookly-tbs .embed-responsive-1by1::before{padding-top:100%}#bookly-tbs .flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-around{justify-content:space-around!important}#bookly-tbs .align-items-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-start{align-content:flex-start!important}#bookly-tbs .align-content-end{align-content:flex-end!important}#bookly-tbs .align-content-center{align-content:center!important}#bookly-tbs .align-content-between{align-content:space-between!important}#bookly-tbs .align-content-around{align-content:space-around!important}#bookly-tbs .align-content-stretch{align-content:stretch!important}#bookly-tbs .align-self-auto{align-self:auto!important}#bookly-tbs .align-self-start{align-self:flex-start!important}#bookly-tbs .align-self-end{align-self:flex-end!important}#bookly-tbs .align-self-center{align-self:center!important}#bookly-tbs .align-self-baseline{align-self:baseline!important}#bookly-tbs .align-self-stretch{align-self:stretch!important}@media (min-width:576px){#bookly-tbs .flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-sm-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-sm-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-sm-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-sm-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-sm-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-sm-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-sm-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-sm-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-sm-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-sm-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-sm-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-sm-around{justify-content:space-around!important}#bookly-tbs .align-items-sm-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-sm-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-sm-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-sm-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-sm-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-sm-start{align-content:flex-start!important}#bookly-tbs .align-content-sm-end{align-content:flex-end!important}#bookly-tbs .align-content-sm-center{align-content:center!important}#bookly-tbs .align-content-sm-between{align-content:space-between!important}#bookly-tbs .align-content-sm-around{align-content:space-around!important}#bookly-tbs .align-content-sm-stretch{align-content:stretch!important}#bookly-tbs .align-self-sm-auto{align-self:auto!important}#bookly-tbs .align-self-sm-start{align-self:flex-start!important}#bookly-tbs .align-self-sm-end{align-self:flex-end!important}#bookly-tbs .align-self-sm-center{align-self:center!important}#bookly-tbs .align-self-sm-baseline{align-self:baseline!important}#bookly-tbs .align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){#bookly-tbs .flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-md-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-md-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-md-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-md-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-md-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-md-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-md-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-md-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-md-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-md-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-md-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-md-around{justify-content:space-around!important}#bookly-tbs .align-items-md-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-md-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-md-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-md-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-md-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-md-start{align-content:flex-start!important}#bookly-tbs .align-content-md-end{align-content:flex-end!important}#bookly-tbs .align-content-md-center{align-content:center!important}#bookly-tbs .align-content-md-between{align-content:space-between!important}#bookly-tbs .align-content-md-around{align-content:space-around!important}#bookly-tbs .align-content-md-stretch{align-content:stretch!important}#bookly-tbs .align-self-md-auto{align-self:auto!important}#bookly-tbs .align-self-md-start{align-self:flex-start!important}#bookly-tbs .align-self-md-end{align-self:flex-end!important}#bookly-tbs .align-self-md-center{align-self:center!important}#bookly-tbs .align-self-md-baseline{align-self:baseline!important}#bookly-tbs .align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){#bookly-tbs .flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-lg-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-lg-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-lg-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-lg-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-lg-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-lg-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-lg-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-lg-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-lg-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-lg-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-lg-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-lg-around{justify-content:space-around!important}#bookly-tbs .align-items-lg-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-lg-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-lg-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-lg-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-lg-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-lg-start{align-content:flex-start!important}#bookly-tbs .align-content-lg-end{align-content:flex-end!important}#bookly-tbs .align-content-lg-center{align-content:center!important}#bookly-tbs .align-content-lg-between{align-content:space-between!important}#bookly-tbs .align-content-lg-around{align-content:space-around!important}#bookly-tbs .align-content-lg-stretch{align-content:stretch!important}#bookly-tbs .align-self-lg-auto{align-self:auto!important}#bookly-tbs .align-self-lg-start{align-self:flex-start!important}#bookly-tbs .align-self-lg-end{align-self:flex-end!important}#bookly-tbs .align-self-lg-center{align-self:center!important}#bookly-tbs .align-self-lg-baseline{align-self:baseline!important}#bookly-tbs .align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){#bookly-tbs .flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-xl-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-xl-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-xl-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-xl-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-xl-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-xl-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-xl-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-xl-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-xl-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-xl-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-xl-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-xl-around{justify-content:space-around!important}#bookly-tbs .align-items-xl-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-xl-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-xl-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-xl-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-xl-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-xl-start{align-content:flex-start!important}#bookly-tbs .align-content-xl-end{align-content:flex-end!important}#bookly-tbs .align-content-xl-center{align-content:center!important}#bookly-tbs .align-content-xl-between{align-content:space-between!important}#bookly-tbs .align-content-xl-around{align-content:space-around!important}#bookly-tbs .align-content-xl-stretch{align-content:stretch!important}#bookly-tbs .align-self-xl-auto{align-self:auto!important}#bookly-tbs .align-self-xl-start{align-self:flex-start!important}#bookly-tbs .align-self-xl-end{align-self:flex-end!important}#bookly-tbs .align-self-xl-center{align-self:center!important}#bookly-tbs .align-self-xl-baseline{align-self:baseline!important}#bookly-tbs .align-self-xl-stretch{align-self:stretch!important}}#bookly-tbs .float-left{float:left!important}#bookly-tbs .float-right{float:right!important}#bookly-tbs .float-none{float:none!important}@media (min-width:576px){#bookly-tbs .float-sm-left{float:left!important}#bookly-tbs .float-sm-right{float:right!important}#bookly-tbs .float-sm-none{float:none!important}}@media (min-width:768px){#bookly-tbs .float-md-left{float:left!important}#bookly-tbs .float-md-right{float:right!important}#bookly-tbs .float-md-none{float:none!important}}@media (min-width:992px){#bookly-tbs .float-lg-left{float:left!important}#bookly-tbs .float-lg-right{float:right!important}#bookly-tbs .float-lg-none{float:none!important}}@media (min-width:1200px){#bookly-tbs .float-xl-left{float:left!important}#bookly-tbs .float-xl-right{float:right!important}#bookly-tbs .float-xl-none{float:none!important}}#bookly-tbs .overflow-auto{overflow:auto!important}#bookly-tbs .overflow-hidden{overflow:hidden!important}#bookly-tbs .position-static{position:static!important}#bookly-tbs .position-relative{position:relative!important}#bookly-tbs .position-absolute{position:absolute!important}#bookly-tbs .position-fixed{position:fixed!important}#bookly-tbs .position-sticky{position:-webkit-sticky!important;position:sticky!important}#bookly-tbs .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}#bookly-tbs .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){#bookly-tbs .sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}#bookly-tbs .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#bookly-tbs .sr-only-focusable:active,#bookly-tbs .sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}#bookly-tbs .shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}#bookly-tbs .shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}#bookly-tbs .shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}#bookly-tbs .shadow-none{box-shadow:none!important}#bookly-tbs .w-25{width:25%!important}#bookly-tbs .w-50{width:50%!important}#bookly-tbs .w-75{width:75%!important}#bookly-tbs .w-100{width:100%!important}#bookly-tbs .w-auto{width:auto!important}#bookly-tbs .h-25{height:25%!important}#bookly-tbs .h-50{height:50%!important}#bookly-tbs .h-75{height:75%!important}#bookly-tbs .h-100{height:100%!important}#bookly-tbs .h-auto{height:auto!important}#bookly-tbs .mw-100{max-width:100%!important}#bookly-tbs .mh-100{max-height:100%!important}#bookly-tbs .min-vw-100{min-width:100vw!important}#bookly-tbs .min-vh-100{min-height:100vh!important}#bookly-tbs .vw-100{width:100vw!important}#bookly-tbs .vh-100{height:100vh!important}#bookly-tbs .stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}#bookly-tbs .m-0{margin:0!important}#bookly-tbs .mt-0,#bookly-tbs .my-0{margin-top:0!important}#bookly-tbs .mr-0,#bookly-tbs .mx-0{margin-right:0!important}#bookly-tbs .mb-0,#bookly-tbs .my-0{margin-bottom:0!important}#bookly-tbs .ml-0,#bookly-tbs .mx-0{margin-left:0!important}#bookly-tbs .m-1{margin:.25rem!important}#bookly-tbs .mt-1,#bookly-tbs .my-1{margin-top:.25rem!important}#bookly-tbs .mr-1,#bookly-tbs .mx-1{margin-right:.25rem!important}#bookly-tbs .mb-1,#bookly-tbs .my-1{margin-bottom:.25rem!important}#bookly-tbs .ml-1,#bookly-tbs .mx-1{margin-left:.25rem!important}#bookly-tbs .m-2{margin:.5rem!important}#bookly-tbs .mt-2,#bookly-tbs .my-2{margin-top:.5rem!important}#bookly-tbs .mr-2,#bookly-tbs .mx-2{margin-right:.5rem!important}#bookly-tbs .mb-2,#bookly-tbs .my-2{margin-bottom:.5rem!important}#bookly-tbs .ml-2,#bookly-tbs .mx-2{margin-left:.5rem!important}#bookly-tbs .m-3{margin:1rem!important}#bookly-tbs .mt-3,#bookly-tbs .my-3{margin-top:1rem!important}#bookly-tbs .mr-3,#bookly-tbs .mx-3{margin-right:1rem!important}#bookly-tbs .mb-3,#bookly-tbs .my-3{margin-bottom:1rem!important}#bookly-tbs .ml-3,#bookly-tbs .mx-3{margin-left:1rem!important}#bookly-tbs .m-4{margin:1.5rem!important}#bookly-tbs .mt-4,#bookly-tbs .my-4{margin-top:1.5rem!important}#bookly-tbs .mr-4,#bookly-tbs .mx-4{margin-right:1.5rem!important}#bookly-tbs .mb-4,#bookly-tbs .my-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-4,#bookly-tbs .mx-4{margin-left:1.5rem!important}#bookly-tbs .m-5{margin:3rem!important}#bookly-tbs .mt-5,#bookly-tbs .my-5{margin-top:3rem!important}#bookly-tbs .mr-5,#bookly-tbs .mx-5{margin-right:3rem!important}#bookly-tbs .mb-5,#bookly-tbs .my-5{margin-bottom:3rem!important}#bookly-tbs .ml-5,#bookly-tbs .mx-5{margin-left:3rem!important}#bookly-tbs .p-0{padding:0!important}#bookly-tbs .pt-0,#bookly-tbs .py-0{padding-top:0!important}#bookly-tbs .pr-0,#bookly-tbs .px-0{padding-right:0!important}#bookly-tbs .pb-0,#bookly-tbs .py-0{padding-bottom:0!important}#bookly-tbs .pl-0,#bookly-tbs .px-0{padding-left:0!important}#bookly-tbs .p-1{padding:.25rem!important}#bookly-tbs .pt-1,#bookly-tbs .py-1{padding-top:.25rem!important}#bookly-tbs .pr-1,#bookly-tbs .px-1{padding-right:.25rem!important}#bookly-tbs .pb-1,#bookly-tbs .py-1{padding-bottom:.25rem!important}#bookly-tbs .pl-1,#bookly-tbs .px-1{padding-left:.25rem!important}#bookly-tbs .p-2{padding:.5rem!important}#bookly-tbs .pt-2,#bookly-tbs .py-2{padding-top:.5rem!important}#bookly-tbs .pr-2,#bookly-tbs .px-2{padding-right:.5rem!important}#bookly-tbs .pb-2,#bookly-tbs .py-2{padding-bottom:.5rem!important}#bookly-tbs .pl-2,#bookly-tbs .px-2{padding-left:.5rem!important}#bookly-tbs .p-3{padding:1rem!important}#bookly-tbs .pt-3,#bookly-tbs .py-3{padding-top:1rem!important}#bookly-tbs .pr-3,#bookly-tbs .px-3{padding-right:1rem!important}#bookly-tbs .pb-3,#bookly-tbs .py-3{padding-bottom:1rem!important}#bookly-tbs .pl-3,#bookly-tbs .px-3{padding-left:1rem!important}#bookly-tbs .p-4{padding:1.5rem!important}#bookly-tbs .pt-4,#bookly-tbs .py-4{padding-top:1.5rem!important}#bookly-tbs .pr-4,#bookly-tbs .px-4{padding-right:1.5rem!important}#bookly-tbs .pb-4,#bookly-tbs .py-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-4,#bookly-tbs .px-4{padding-left:1.5rem!important}#bookly-tbs .p-5{padding:3rem!important}#bookly-tbs .pt-5,#bookly-tbs .py-5{padding-top:3rem!important}#bookly-tbs .pr-5,#bookly-tbs .px-5{padding-right:3rem!important}#bookly-tbs .pb-5,#bookly-tbs .py-5{padding-bottom:3rem!important}#bookly-tbs .pl-5,#bookly-tbs .px-5{padding-left:3rem!important}#bookly-tbs .m-n1{margin:-.25rem!important}#bookly-tbs .mt-n1,#bookly-tbs .my-n1{margin-top:-.25rem!important}#bookly-tbs .mr-n1,#bookly-tbs .mx-n1{margin-right:-.25rem!important}#bookly-tbs .mb-n1,#bookly-tbs .my-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-n1,#bookly-tbs .mx-n1{margin-left:-.25rem!important}#bookly-tbs .m-n2{margin:-.5rem!important}#bookly-tbs .mt-n2,#bookly-tbs .my-n2{margin-top:-.5rem!important}#bookly-tbs .mr-n2,#bookly-tbs .mx-n2{margin-right:-.5rem!important}#bookly-tbs .mb-n2,#bookly-tbs .my-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-n2,#bookly-tbs .mx-n2{margin-left:-.5rem!important}#bookly-tbs .m-n3{margin:-1rem!important}#bookly-tbs .mt-n3,#bookly-tbs .my-n3{margin-top:-1rem!important}#bookly-tbs .mr-n3,#bookly-tbs .mx-n3{margin-right:-1rem!important}#bookly-tbs .mb-n3,#bookly-tbs .my-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-n3,#bookly-tbs .mx-n3{margin-left:-1rem!important}#bookly-tbs .m-n4{margin:-1.5rem!important}#bookly-tbs .mt-n4,#bookly-tbs .my-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-n4,#bookly-tbs .mx-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-n4,#bookly-tbs .my-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-n4,#bookly-tbs .mx-n4{margin-left:-1.5rem!important}#bookly-tbs .m-n5{margin:-3rem!important}#bookly-tbs .mt-n5,#bookly-tbs .my-n5{margin-top:-3rem!important}#bookly-tbs .mr-n5,#bookly-tbs .mx-n5{margin-right:-3rem!important}#bookly-tbs .mb-n5,#bookly-tbs .my-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-n5,#bookly-tbs .mx-n5{margin-left:-3rem!important}#bookly-tbs .m-auto{margin:auto!important}#bookly-tbs .mt-auto,#bookly-tbs .my-auto{margin-top:auto!important}#bookly-tbs .mr-auto,#bookly-tbs .mx-auto{margin-right:auto!important}#bookly-tbs .mb-auto,#bookly-tbs .my-auto{margin-bottom:auto!important}#bookly-tbs .ml-auto,#bookly-tbs .mx-auto{margin-left:auto!important}@media (min-width:576px){#bookly-tbs .m-sm-0{margin:0!important}#bookly-tbs .mt-sm-0,#bookly-tbs .my-sm-0{margin-top:0!important}#bookly-tbs .mr-sm-0,#bookly-tbs .mx-sm-0{margin-right:0!important}#bookly-tbs .mb-sm-0,#bookly-tbs .my-sm-0{margin-bottom:0!important}#bookly-tbs .ml-sm-0,#bookly-tbs .mx-sm-0{margin-left:0!important}#bookly-tbs .m-sm-1{margin:.25rem!important}#bookly-tbs .mt-sm-1,#bookly-tbs .my-sm-1{margin-top:.25rem!important}#bookly-tbs .mr-sm-1,#bookly-tbs .mx-sm-1{margin-right:.25rem!important}#bookly-tbs .mb-sm-1,#bookly-tbs .my-sm-1{margin-bottom:.25rem!important}#bookly-tbs .ml-sm-1,#bookly-tbs .mx-sm-1{margin-left:.25rem!important}#bookly-tbs .m-sm-2{margin:.5rem!important}#bookly-tbs .mt-sm-2,#bookly-tbs .my-sm-2{margin-top:.5rem!important}#bookly-tbs .mr-sm-2,#bookly-tbs .mx-sm-2{margin-right:.5rem!important}#bookly-tbs .mb-sm-2,#bookly-tbs .my-sm-2{margin-bottom:.5rem!important}#bookly-tbs .ml-sm-2,#bookly-tbs .mx-sm-2{margin-left:.5rem!important}#bookly-tbs .m-sm-3{margin:1rem!important}#bookly-tbs .mt-sm-3,#bookly-tbs .my-sm-3{margin-top:1rem!important}#bookly-tbs .mr-sm-3,#bookly-tbs .mx-sm-3{margin-right:1rem!important}#bookly-tbs .mb-sm-3,#bookly-tbs .my-sm-3{margin-bottom:1rem!important}#bookly-tbs .ml-sm-3,#bookly-tbs .mx-sm-3{margin-left:1rem!important}#bookly-tbs .m-sm-4{margin:1.5rem!important}#bookly-tbs .mt-sm-4,#bookly-tbs .my-sm-4{margin-top:1.5rem!important}#bookly-tbs .mr-sm-4,#bookly-tbs .mx-sm-4{margin-right:1.5rem!important}#bookly-tbs .mb-sm-4,#bookly-tbs .my-sm-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-sm-4,#bookly-tbs .mx-sm-4{margin-left:1.5rem!important}#bookly-tbs .m-sm-5{margin:3rem!important}#bookly-tbs .mt-sm-5,#bookly-tbs .my-sm-5{margin-top:3rem!important}#bookly-tbs .mr-sm-5,#bookly-tbs .mx-sm-5{margin-right:3rem!important}#bookly-tbs .mb-sm-5,#bookly-tbs .my-sm-5{margin-bottom:3rem!important}#bookly-tbs .ml-sm-5,#bookly-tbs .mx-sm-5{margin-left:3rem!important}#bookly-tbs .p-sm-0{padding:0!important}#bookly-tbs .pt-sm-0,#bookly-tbs .py-sm-0{padding-top:0!important}#bookly-tbs .pr-sm-0,#bookly-tbs .px-sm-0{padding-right:0!important}#bookly-tbs .pb-sm-0,#bookly-tbs .py-sm-0{padding-bottom:0!important}#bookly-tbs .pl-sm-0,#bookly-tbs .px-sm-0{padding-left:0!important}#bookly-tbs .p-sm-1{padding:.25rem!important}#bookly-tbs .pt-sm-1,#bookly-tbs .py-sm-1{padding-top:.25rem!important}#bookly-tbs .pr-sm-1,#bookly-tbs .px-sm-1{padding-right:.25rem!important}#bookly-tbs .pb-sm-1,#bookly-tbs .py-sm-1{padding-bottom:.25rem!important}#bookly-tbs .pl-sm-1,#bookly-tbs .px-sm-1{padding-left:.25rem!important}#bookly-tbs .p-sm-2{padding:.5rem!important}#bookly-tbs .pt-sm-2,#bookly-tbs .py-sm-2{padding-top:.5rem!important}#bookly-tbs .pr-sm-2,#bookly-tbs .px-sm-2{padding-right:.5rem!important}#bookly-tbs .pb-sm-2,#bookly-tbs .py-sm-2{padding-bottom:.5rem!important}#bookly-tbs .pl-sm-2,#bookly-tbs .px-sm-2{padding-left:.5rem!important}#bookly-tbs .p-sm-3{padding:1rem!important}#bookly-tbs .pt-sm-3,#bookly-tbs .py-sm-3{padding-top:1rem!important}#bookly-tbs .pr-sm-3,#bookly-tbs .px-sm-3{padding-right:1rem!important}#bookly-tbs .pb-sm-3,#bookly-tbs .py-sm-3{padding-bottom:1rem!important}#bookly-tbs .pl-sm-3,#bookly-tbs .px-sm-3{padding-left:1rem!important}#bookly-tbs .p-sm-4{padding:1.5rem!important}#bookly-tbs .pt-sm-4,#bookly-tbs .py-sm-4{padding-top:1.5rem!important}#bookly-tbs .pr-sm-4,#bookly-tbs .px-sm-4{padding-right:1.5rem!important}#bookly-tbs .pb-sm-4,#bookly-tbs .py-sm-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-sm-4,#bookly-tbs .px-sm-4{padding-left:1.5rem!important}#bookly-tbs .p-sm-5{padding:3rem!important}#bookly-tbs .pt-sm-5,#bookly-tbs .py-sm-5{padding-top:3rem!important}#bookly-tbs .pr-sm-5,#bookly-tbs .px-sm-5{padding-right:3rem!important}#bookly-tbs .pb-sm-5,#bookly-tbs .py-sm-5{padding-bottom:3rem!important}#bookly-tbs .pl-sm-5,#bookly-tbs .px-sm-5{padding-left:3rem!important}#bookly-tbs .m-sm-n1{margin:-.25rem!important}#bookly-tbs .mt-sm-n1,#bookly-tbs .my-sm-n1{margin-top:-.25rem!important}#bookly-tbs .mr-sm-n1,#bookly-tbs .mx-sm-n1{margin-right:-.25rem!important}#bookly-tbs .mb-sm-n1,#bookly-tbs .my-sm-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-sm-n1,#bookly-tbs .mx-sm-n1{margin-left:-.25rem!important}#bookly-tbs .m-sm-n2{margin:-.5rem!important}#bookly-tbs .mt-sm-n2,#bookly-tbs .my-sm-n2{margin-top:-.5rem!important}#bookly-tbs .mr-sm-n2,#bookly-tbs .mx-sm-n2{margin-right:-.5rem!important}#bookly-tbs .mb-sm-n2,#bookly-tbs .my-sm-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-sm-n2,#bookly-tbs .mx-sm-n2{margin-left:-.5rem!important}#bookly-tbs .m-sm-n3{margin:-1rem!important}#bookly-tbs .mt-sm-n3,#bookly-tbs .my-sm-n3{margin-top:-1rem!important}#bookly-tbs .mr-sm-n3,#bookly-tbs .mx-sm-n3{margin-right:-1rem!important}#bookly-tbs .mb-sm-n3,#bookly-tbs .my-sm-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-sm-n3,#bookly-tbs .mx-sm-n3{margin-left:-1rem!important}#bookly-tbs .m-sm-n4{margin:-1.5rem!important}#bookly-tbs .mt-sm-n4,#bookly-tbs .my-sm-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-sm-n4,#bookly-tbs .mx-sm-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-sm-n4,#bookly-tbs .my-sm-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-sm-n4,#bookly-tbs .mx-sm-n4{margin-left:-1.5rem!important}#bookly-tbs .m-sm-n5{margin:-3rem!important}#bookly-tbs .mt-sm-n5,#bookly-tbs .my-sm-n5{margin-top:-3rem!important}#bookly-tbs .mr-sm-n5,#bookly-tbs .mx-sm-n5{margin-right:-3rem!important}#bookly-tbs .mb-sm-n5,#bookly-tbs .my-sm-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-sm-n5,#bookly-tbs .mx-sm-n5{margin-left:-3rem!important}#bookly-tbs .m-sm-auto{margin:auto!important}#bookly-tbs .mt-sm-auto,#bookly-tbs .my-sm-auto{margin-top:auto!important}#bookly-tbs .mr-sm-auto,#bookly-tbs .mx-sm-auto{margin-right:auto!important}#bookly-tbs .mb-sm-auto,#bookly-tbs .my-sm-auto{margin-bottom:auto!important}#bookly-tbs .ml-sm-auto,#bookly-tbs .mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){#bookly-tbs .m-md-0{margin:0!important}#bookly-tbs .mt-md-0,#bookly-tbs .my-md-0{margin-top:0!important}#bookly-tbs .mr-md-0,#bookly-tbs .mx-md-0{margin-right:0!important}#bookly-tbs .mb-md-0,#bookly-tbs .my-md-0{margin-bottom:0!important}#bookly-tbs .ml-md-0,#bookly-tbs .mx-md-0{margin-left:0!important}#bookly-tbs .m-md-1{margin:.25rem!important}#bookly-tbs .mt-md-1,#bookly-tbs .my-md-1{margin-top:.25rem!important}#bookly-tbs .mr-md-1,#bookly-tbs .mx-md-1{margin-right:.25rem!important}#bookly-tbs .mb-md-1,#bookly-tbs .my-md-1{margin-bottom:.25rem!important}#bookly-tbs .ml-md-1,#bookly-tbs .mx-md-1{margin-left:.25rem!important}#bookly-tbs .m-md-2{margin:.5rem!important}#bookly-tbs .mt-md-2,#bookly-tbs .my-md-2{margin-top:.5rem!important}#bookly-tbs .mr-md-2,#bookly-tbs .mx-md-2{margin-right:.5rem!important}#bookly-tbs .mb-md-2,#bookly-tbs .my-md-2{margin-bottom:.5rem!important}#bookly-tbs .ml-md-2,#bookly-tbs .mx-md-2{margin-left:.5rem!important}#bookly-tbs .m-md-3{margin:1rem!important}#bookly-tbs .mt-md-3,#bookly-tbs .my-md-3{margin-top:1rem!important}#bookly-tbs .mr-md-3,#bookly-tbs .mx-md-3{margin-right:1rem!important}#bookly-tbs .mb-md-3,#bookly-tbs .my-md-3{margin-bottom:1rem!important}#bookly-tbs .ml-md-3,#bookly-tbs .mx-md-3{margin-left:1rem!important}#bookly-tbs .m-md-4{margin:1.5rem!important}#bookly-tbs .mt-md-4,#bookly-tbs .my-md-4{margin-top:1.5rem!important}#bookly-tbs .mr-md-4,#bookly-tbs .mx-md-4{margin-right:1.5rem!important}#bookly-tbs .mb-md-4,#bookly-tbs .my-md-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-md-4,#bookly-tbs .mx-md-4{margin-left:1.5rem!important}#bookly-tbs .m-md-5{margin:3rem!important}#bookly-tbs .mt-md-5,#bookly-tbs .my-md-5{margin-top:3rem!important}#bookly-tbs .mr-md-5,#bookly-tbs .mx-md-5{margin-right:3rem!important}#bookly-tbs .mb-md-5,#bookly-tbs .my-md-5{margin-bottom:3rem!important}#bookly-tbs .ml-md-5,#bookly-tbs .mx-md-5{margin-left:3rem!important}#bookly-tbs .p-md-0{padding:0!important}#bookly-tbs .pt-md-0,#bookly-tbs .py-md-0{padding-top:0!important}#bookly-tbs .pr-md-0,#bookly-tbs .px-md-0{padding-right:0!important}#bookly-tbs .pb-md-0,#bookly-tbs .py-md-0{padding-bottom:0!important}#bookly-tbs .pl-md-0,#bookly-tbs .px-md-0{padding-left:0!important}#bookly-tbs .p-md-1{padding:.25rem!important}#bookly-tbs .pt-md-1,#bookly-tbs .py-md-1{padding-top:.25rem!important}#bookly-tbs .pr-md-1,#bookly-tbs .px-md-1{padding-right:.25rem!important}#bookly-tbs .pb-md-1,#bookly-tbs .py-md-1{padding-bottom:.25rem!important}#bookly-tbs .pl-md-1,#bookly-tbs .px-md-1{padding-left:.25rem!important}#bookly-tbs .p-md-2{padding:.5rem!important}#bookly-tbs .pt-md-2,#bookly-tbs .py-md-2{padding-top:.5rem!important}#bookly-tbs .pr-md-2,#bookly-tbs .px-md-2{padding-right:.5rem!important}#bookly-tbs .pb-md-2,#bookly-tbs .py-md-2{padding-bottom:.5rem!important}#bookly-tbs .pl-md-2,#bookly-tbs .px-md-2{padding-left:.5rem!important}#bookly-tbs .p-md-3{padding:1rem!important}#bookly-tbs .pt-md-3,#bookly-tbs .py-md-3{padding-top:1rem!important}#bookly-tbs .pr-md-3,#bookly-tbs .px-md-3{padding-right:1rem!important}#bookly-tbs .pb-md-3,#bookly-tbs .py-md-3{padding-bottom:1rem!important}#bookly-tbs .pl-md-3,#bookly-tbs .px-md-3{padding-left:1rem!important}#bookly-tbs .p-md-4{padding:1.5rem!important}#bookly-tbs .pt-md-4,#bookly-tbs .py-md-4{padding-top:1.5rem!important}#bookly-tbs .pr-md-4,#bookly-tbs .px-md-4{padding-right:1.5rem!important}#bookly-tbs .pb-md-4,#bookly-tbs .py-md-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-md-4,#bookly-tbs .px-md-4{padding-left:1.5rem!important}#bookly-tbs .p-md-5{padding:3rem!important}#bookly-tbs .pt-md-5,#bookly-tbs .py-md-5{padding-top:3rem!important}#bookly-tbs .pr-md-5,#bookly-tbs .px-md-5{padding-right:3rem!important}#bookly-tbs .pb-md-5,#bookly-tbs .py-md-5{padding-bottom:3rem!important}#bookly-tbs .pl-md-5,#bookly-tbs .px-md-5{padding-left:3rem!important}#bookly-tbs .m-md-n1{margin:-.25rem!important}#bookly-tbs .mt-md-n1,#bookly-tbs .my-md-n1{margin-top:-.25rem!important}#bookly-tbs .mr-md-n1,#bookly-tbs .mx-md-n1{margin-right:-.25rem!important}#bookly-tbs .mb-md-n1,#bookly-tbs .my-md-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-md-n1,#bookly-tbs .mx-md-n1{margin-left:-.25rem!important}#bookly-tbs .m-md-n2{margin:-.5rem!important}#bookly-tbs .mt-md-n2,#bookly-tbs .my-md-n2{margin-top:-.5rem!important}#bookly-tbs .mr-md-n2,#bookly-tbs .mx-md-n2{margin-right:-.5rem!important}#bookly-tbs .mb-md-n2,#bookly-tbs .my-md-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-md-n2,#bookly-tbs .mx-md-n2{margin-left:-.5rem!important}#bookly-tbs .m-md-n3{margin:-1rem!important}#bookly-tbs .mt-md-n3,#bookly-tbs .my-md-n3{margin-top:-1rem!important}#bookly-tbs .mr-md-n3,#bookly-tbs .mx-md-n3{margin-right:-1rem!important}#bookly-tbs .mb-md-n3,#bookly-tbs .my-md-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-md-n3,#bookly-tbs .mx-md-n3{margin-left:-1rem!important}#bookly-tbs .m-md-n4{margin:-1.5rem!important}#bookly-tbs .mt-md-n4,#bookly-tbs .my-md-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-md-n4,#bookly-tbs .mx-md-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-md-n4,#bookly-tbs .my-md-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-md-n4,#bookly-tbs .mx-md-n4{margin-left:-1.5rem!important}#bookly-tbs .m-md-n5{margin:-3rem!important}#bookly-tbs .mt-md-n5,#bookly-tbs .my-md-n5{margin-top:-3rem!important}#bookly-tbs .mr-md-n5,#bookly-tbs .mx-md-n5{margin-right:-3rem!important}#bookly-tbs .mb-md-n5,#bookly-tbs .my-md-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-md-n5,#bookly-tbs .mx-md-n5{margin-left:-3rem!important}#bookly-tbs .m-md-auto{margin:auto!important}#bookly-tbs .mt-md-auto,#bookly-tbs .my-md-auto{margin-top:auto!important}#bookly-tbs .mr-md-auto,#bookly-tbs .mx-md-auto{margin-right:auto!important}#bookly-tbs .mb-md-auto,#bookly-tbs .my-md-auto{margin-bottom:auto!important}#bookly-tbs .ml-md-auto,#bookly-tbs .mx-md-auto{margin-left:auto!important}}@media (min-width:992px){#bookly-tbs .m-lg-0{margin:0!important}#bookly-tbs .mt-lg-0,#bookly-tbs .my-lg-0{margin-top:0!important}#bookly-tbs .mr-lg-0,#bookly-tbs .mx-lg-0{margin-right:0!important}#bookly-tbs .mb-lg-0,#bookly-tbs .my-lg-0{margin-bottom:0!important}#bookly-tbs .ml-lg-0,#bookly-tbs .mx-lg-0{margin-left:0!important}#bookly-tbs .m-lg-1{margin:.25rem!important}#bookly-tbs .mt-lg-1,#bookly-tbs .my-lg-1{margin-top:.25rem!important}#bookly-tbs .mr-lg-1,#bookly-tbs .mx-lg-1{margin-right:.25rem!important}#bookly-tbs .mb-lg-1,#bookly-tbs .my-lg-1{margin-bottom:.25rem!important}#bookly-tbs .ml-lg-1,#bookly-tbs .mx-lg-1{margin-left:.25rem!important}#bookly-tbs .m-lg-2{margin:.5rem!important}#bookly-tbs .mt-lg-2,#bookly-tbs .my-lg-2{margin-top:.5rem!important}#bookly-tbs .mr-lg-2,#bookly-tbs .mx-lg-2{margin-right:.5rem!important}#bookly-tbs .mb-lg-2,#bookly-tbs .my-lg-2{margin-bottom:.5rem!important}#bookly-tbs .ml-lg-2,#bookly-tbs .mx-lg-2{margin-left:.5rem!important}#bookly-tbs .m-lg-3{margin:1rem!important}#bookly-tbs .mt-lg-3,#bookly-tbs .my-lg-3{margin-top:1rem!important}#bookly-tbs .mr-lg-3,#bookly-tbs .mx-lg-3{margin-right:1rem!important}#bookly-tbs .mb-lg-3,#bookly-tbs .my-lg-3{margin-bottom:1rem!important}#bookly-tbs .ml-lg-3,#bookly-tbs .mx-lg-3{margin-left:1rem!important}#bookly-tbs .m-lg-4{margin:1.5rem!important}#bookly-tbs .mt-lg-4,#bookly-tbs .my-lg-4{margin-top:1.5rem!important}#bookly-tbs .mr-lg-4,#bookly-tbs .mx-lg-4{margin-right:1.5rem!important}#bookly-tbs .mb-lg-4,#bookly-tbs .my-lg-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-lg-4,#bookly-tbs .mx-lg-4{margin-left:1.5rem!important}#bookly-tbs .m-lg-5{margin:3rem!important}#bookly-tbs .mt-lg-5,#bookly-tbs .my-lg-5{margin-top:3rem!important}#bookly-tbs .mr-lg-5,#bookly-tbs .mx-lg-5{margin-right:3rem!important}#bookly-tbs .mb-lg-5,#bookly-tbs .my-lg-5{margin-bottom:3rem!important}#bookly-tbs .ml-lg-5,#bookly-tbs .mx-lg-5{margin-left:3rem!important}#bookly-tbs .p-lg-0{padding:0!important}#bookly-tbs .pt-lg-0,#bookly-tbs .py-lg-0{padding-top:0!important}#bookly-tbs .pr-lg-0,#bookly-tbs .px-lg-0{padding-right:0!important}#bookly-tbs .pb-lg-0,#bookly-tbs .py-lg-0{padding-bottom:0!important}#bookly-tbs .pl-lg-0,#bookly-tbs .px-lg-0{padding-left:0!important}#bookly-tbs .p-lg-1{padding:.25rem!important}#bookly-tbs .pt-lg-1,#bookly-tbs .py-lg-1{padding-top:.25rem!important}#bookly-tbs .pr-lg-1,#bookly-tbs .px-lg-1{padding-right:.25rem!important}#bookly-tbs .pb-lg-1,#bookly-tbs .py-lg-1{padding-bottom:.25rem!important}#bookly-tbs .pl-lg-1,#bookly-tbs .px-lg-1{padding-left:.25rem!important}#bookly-tbs .p-lg-2{padding:.5rem!important}#bookly-tbs .pt-lg-2,#bookly-tbs .py-lg-2{padding-top:.5rem!important}#bookly-tbs .pr-lg-2,#bookly-tbs .px-lg-2{padding-right:.5rem!important}#bookly-tbs .pb-lg-2,#bookly-tbs .py-lg-2{padding-bottom:.5rem!important}#bookly-tbs .pl-lg-2,#bookly-tbs .px-lg-2{padding-left:.5rem!important}#bookly-tbs .p-lg-3{padding:1rem!important}#bookly-tbs .pt-lg-3,#bookly-tbs .py-lg-3{padding-top:1rem!important}#bookly-tbs .pr-lg-3,#bookly-tbs .px-lg-3{padding-right:1rem!important}#bookly-tbs .pb-lg-3,#bookly-tbs .py-lg-3{padding-bottom:1rem!important}#bookly-tbs .pl-lg-3,#bookly-tbs .px-lg-3{padding-left:1rem!important}#bookly-tbs .p-lg-4{padding:1.5rem!important}#bookly-tbs .pt-lg-4,#bookly-tbs .py-lg-4{padding-top:1.5rem!important}#bookly-tbs .pr-lg-4,#bookly-tbs .px-lg-4{padding-right:1.5rem!important}#bookly-tbs .pb-lg-4,#bookly-tbs .py-lg-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-lg-4,#bookly-tbs .px-lg-4{padding-left:1.5rem!important}#bookly-tbs .p-lg-5{padding:3rem!important}#bookly-tbs .pt-lg-5,#bookly-tbs .py-lg-5{padding-top:3rem!important}#bookly-tbs .pr-lg-5,#bookly-tbs .px-lg-5{padding-right:3rem!important}#bookly-tbs .pb-lg-5,#bookly-tbs .py-lg-5{padding-bottom:3rem!important}#bookly-tbs .pl-lg-5,#bookly-tbs .px-lg-5{padding-left:3rem!important}#bookly-tbs .m-lg-n1{margin:-.25rem!important}#bookly-tbs .mt-lg-n1,#bookly-tbs .my-lg-n1{margin-top:-.25rem!important}#bookly-tbs .mr-lg-n1,#bookly-tbs .mx-lg-n1{margin-right:-.25rem!important}#bookly-tbs .mb-lg-n1,#bookly-tbs .my-lg-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-lg-n1,#bookly-tbs .mx-lg-n1{margin-left:-.25rem!important}#bookly-tbs .m-lg-n2{margin:-.5rem!important}#bookly-tbs .mt-lg-n2,#bookly-tbs .my-lg-n2{margin-top:-.5rem!important}#bookly-tbs .mr-lg-n2,#bookly-tbs .mx-lg-n2{margin-right:-.5rem!important}#bookly-tbs .mb-lg-n2,#bookly-tbs .my-lg-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-lg-n2,#bookly-tbs .mx-lg-n2{margin-left:-.5rem!important}#bookly-tbs .m-lg-n3{margin:-1rem!important}#bookly-tbs .mt-lg-n3,#bookly-tbs .my-lg-n3{margin-top:-1rem!important}#bookly-tbs .mr-lg-n3,#bookly-tbs .mx-lg-n3{margin-right:-1rem!important}#bookly-tbs .mb-lg-n3,#bookly-tbs .my-lg-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-lg-n3,#bookly-tbs .mx-lg-n3{margin-left:-1rem!important}#bookly-tbs .m-lg-n4{margin:-1.5rem!important}#bookly-tbs .mt-lg-n4,#bookly-tbs .my-lg-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-lg-n4,#bookly-tbs .mx-lg-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-lg-n4,#bookly-tbs .my-lg-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-lg-n4,#bookly-tbs .mx-lg-n4{margin-left:-1.5rem!important}#bookly-tbs .m-lg-n5{margin:-3rem!important}#bookly-tbs .mt-lg-n5,#bookly-tbs .my-lg-n5{margin-top:-3rem!important}#bookly-tbs .mr-lg-n5,#bookly-tbs .mx-lg-n5{margin-right:-3rem!important}#bookly-tbs .mb-lg-n5,#bookly-tbs .my-lg-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-lg-n5,#bookly-tbs .mx-lg-n5{margin-left:-3rem!important}#bookly-tbs .m-lg-auto{margin:auto!important}#bookly-tbs .mt-lg-auto,#bookly-tbs .my-lg-auto{margin-top:auto!important}#bookly-tbs .mr-lg-auto,#bookly-tbs .mx-lg-auto{margin-right:auto!important}#bookly-tbs .mb-lg-auto,#bookly-tbs .my-lg-auto{margin-bottom:auto!important}#bookly-tbs .ml-lg-auto,#bookly-tbs .mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){#bookly-tbs .m-xl-0{margin:0!important}#bookly-tbs .mt-xl-0,#bookly-tbs .my-xl-0{margin-top:0!important}#bookly-tbs .mr-xl-0,#bookly-tbs .mx-xl-0{margin-right:0!important}#bookly-tbs .mb-xl-0,#bookly-tbs .my-xl-0{margin-bottom:0!important}#bookly-tbs .ml-xl-0,#bookly-tbs .mx-xl-0{margin-left:0!important}#bookly-tbs .m-xl-1{margin:.25rem!important}#bookly-tbs .mt-xl-1,#bookly-tbs .my-xl-1{margin-top:.25rem!important}#bookly-tbs .mr-xl-1,#bookly-tbs .mx-xl-1{margin-right:.25rem!important}#bookly-tbs .mb-xl-1,#bookly-tbs .my-xl-1{margin-bottom:.25rem!important}#bookly-tbs .ml-xl-1,#bookly-tbs .mx-xl-1{margin-left:.25rem!important}#bookly-tbs .m-xl-2{margin:.5rem!important}#bookly-tbs .mt-xl-2,#bookly-tbs .my-xl-2{margin-top:.5rem!important}#bookly-tbs .mr-xl-2,#bookly-tbs .mx-xl-2{margin-right:.5rem!important}#bookly-tbs .mb-xl-2,#bookly-tbs .my-xl-2{margin-bottom:.5rem!important}#bookly-tbs .ml-xl-2,#bookly-tbs .mx-xl-2{margin-left:.5rem!important}#bookly-tbs .m-xl-3{margin:1rem!important}#bookly-tbs .mt-xl-3,#bookly-tbs .my-xl-3{margin-top:1rem!important}#bookly-tbs .mr-xl-3,#bookly-tbs .mx-xl-3{margin-right:1rem!important}#bookly-tbs .mb-xl-3,#bookly-tbs .my-xl-3{margin-bottom:1rem!important}#bookly-tbs .ml-xl-3,#bookly-tbs .mx-xl-3{margin-left:1rem!important}#bookly-tbs .m-xl-4{margin:1.5rem!important}#bookly-tbs .mt-xl-4,#bookly-tbs .my-xl-4{margin-top:1.5rem!important}#bookly-tbs .mr-xl-4,#bookly-tbs .mx-xl-4{margin-right:1.5rem!important}#bookly-tbs .mb-xl-4,#bookly-tbs .my-xl-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-xl-4,#bookly-tbs .mx-xl-4{margin-left:1.5rem!important}#bookly-tbs .m-xl-5{margin:3rem!important}#bookly-tbs .mt-xl-5,#bookly-tbs .my-xl-5{margin-top:3rem!important}#bookly-tbs .mr-xl-5,#bookly-tbs .mx-xl-5{margin-right:3rem!important}#bookly-tbs .mb-xl-5,#bookly-tbs .my-xl-5{margin-bottom:3rem!important}#bookly-tbs .ml-xl-5,#bookly-tbs .mx-xl-5{margin-left:3rem!important}#bookly-tbs .p-xl-0{padding:0!important}#bookly-tbs .pt-xl-0,#bookly-tbs .py-xl-0{padding-top:0!important}#bookly-tbs .pr-xl-0,#bookly-tbs .px-xl-0{padding-right:0!important}#bookly-tbs .pb-xl-0,#bookly-tbs .py-xl-0{padding-bottom:0!important}#bookly-tbs .pl-xl-0,#bookly-tbs .px-xl-0{padding-left:0!important}#bookly-tbs .p-xl-1{padding:.25rem!important}#bookly-tbs .pt-xl-1,#bookly-tbs .py-xl-1{padding-top:.25rem!important}#bookly-tbs .pr-xl-1,#bookly-tbs .px-xl-1{padding-right:.25rem!important}#bookly-tbs .pb-xl-1,#bookly-tbs .py-xl-1{padding-bottom:.25rem!important}#bookly-tbs .pl-xl-1,#bookly-tbs .px-xl-1{padding-left:.25rem!important}#bookly-tbs .p-xl-2{padding:.5rem!important}#bookly-tbs .pt-xl-2,#bookly-tbs .py-xl-2{padding-top:.5rem!important}#bookly-tbs .pr-xl-2,#bookly-tbs .px-xl-2{padding-right:.5rem!important}#bookly-tbs .pb-xl-2,#bookly-tbs .py-xl-2{padding-bottom:.5rem!important}#bookly-tbs .pl-xl-2,#bookly-tbs .px-xl-2{padding-left:.5rem!important}#bookly-tbs .p-xl-3{padding:1rem!important}#bookly-tbs .pt-xl-3,#bookly-tbs .py-xl-3{padding-top:1rem!important}#bookly-tbs .pr-xl-3,#bookly-tbs .px-xl-3{padding-right:1rem!important}#bookly-tbs .pb-xl-3,#bookly-tbs .py-xl-3{padding-bottom:1rem!important}#bookly-tbs .pl-xl-3,#bookly-tbs .px-xl-3{padding-left:1rem!important}#bookly-tbs .p-xl-4{padding:1.5rem!important}#bookly-tbs .pt-xl-4,#bookly-tbs .py-xl-4{padding-top:1.5rem!important}#bookly-tbs .pr-xl-4,#bookly-tbs .px-xl-4{padding-right:1.5rem!important}#bookly-tbs .pb-xl-4,#bookly-tbs .py-xl-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-xl-4,#bookly-tbs .px-xl-4{padding-left:1.5rem!important}#bookly-tbs .p-xl-5{padding:3rem!important}#bookly-tbs .pt-xl-5,#bookly-tbs .py-xl-5{padding-top:3rem!important}#bookly-tbs .pr-xl-5,#bookly-tbs .px-xl-5{padding-right:3rem!important}#bookly-tbs .pb-xl-5,#bookly-tbs .py-xl-5{padding-bottom:3rem!important}#bookly-tbs .pl-xl-5,#bookly-tbs .px-xl-5{padding-left:3rem!important}#bookly-tbs .m-xl-n1{margin:-.25rem!important}#bookly-tbs .mt-xl-n1,#bookly-tbs .my-xl-n1{margin-top:-.25rem!important}#bookly-tbs .mr-xl-n1,#bookly-tbs .mx-xl-n1{margin-right:-.25rem!important}#bookly-tbs .mb-xl-n1,#bookly-tbs .my-xl-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-xl-n1,#bookly-tbs .mx-xl-n1{margin-left:-.25rem!important}#bookly-tbs .m-xl-n2{margin:-.5rem!important}#bookly-tbs .mt-xl-n2,#bookly-tbs .my-xl-n2{margin-top:-.5rem!important}#bookly-tbs .mr-xl-n2,#bookly-tbs .mx-xl-n2{margin-right:-.5rem!important}#bookly-tbs .mb-xl-n2,#bookly-tbs .my-xl-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-xl-n2,#bookly-tbs .mx-xl-n2{margin-left:-.5rem!important}#bookly-tbs .m-xl-n3{margin:-1rem!important}#bookly-tbs .mt-xl-n3,#bookly-tbs .my-xl-n3{margin-top:-1rem!important}#bookly-tbs .mr-xl-n3,#bookly-tbs .mx-xl-n3{margin-right:-1rem!important}#bookly-tbs .mb-xl-n3,#bookly-tbs .my-xl-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-xl-n3,#bookly-tbs .mx-xl-n3{margin-left:-1rem!important}#bookly-tbs .m-xl-n4{margin:-1.5rem!important}#bookly-tbs .mt-xl-n4,#bookly-tbs .my-xl-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-xl-n4,#bookly-tbs .mx-xl-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-xl-n4,#bookly-tbs .my-xl-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-xl-n4,#bookly-tbs .mx-xl-n4{margin-left:-1.5rem!important}#bookly-tbs .m-xl-n5{margin:-3rem!important}#bookly-tbs .mt-xl-n5,#bookly-tbs .my-xl-n5{margin-top:-3rem!important}#bookly-tbs .mr-xl-n5,#bookly-tbs .mx-xl-n5{margin-right:-3rem!important}#bookly-tbs .mb-xl-n5,#bookly-tbs .my-xl-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-xl-n5,#bookly-tbs .mx-xl-n5{margin-left:-3rem!important}#bookly-tbs .m-xl-auto{margin:auto!important}#bookly-tbs .mt-xl-auto,#bookly-tbs .my-xl-auto{margin-top:auto!important}#bookly-tbs .mr-xl-auto,#bookly-tbs .mx-xl-auto{margin-right:auto!important}#bookly-tbs .mb-xl-auto,#bookly-tbs .my-xl-auto{margin-bottom:auto!important}#bookly-tbs .ml-xl-auto,#bookly-tbs .mx-xl-auto{margin-left:auto!important}}#bookly-tbs .text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}#bookly-tbs .text-justify{text-align:justify!important}#bookly-tbs .text-wrap{white-space:normal!important}#bookly-tbs .text-nowrap{white-space:nowrap!important}#bookly-tbs .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .text-left{text-align:left!important}#bookly-tbs .text-right{text-align:right!important}#bookly-tbs .text-center{text-align:center!important}@media (min-width:576px){#bookly-tbs .text-sm-left{text-align:left!important}#bookly-tbs .text-sm-right{text-align:right!important}#bookly-tbs .text-sm-center{text-align:center!important}}@media (min-width:768px){#bookly-tbs .text-md-left{text-align:left!important}#bookly-tbs .text-md-right{text-align:right!important}#bookly-tbs .text-md-center{text-align:center!important}}@media (min-width:992px){#bookly-tbs .text-lg-left{text-align:left!important}#bookly-tbs .text-lg-right{text-align:right!important}#bookly-tbs .text-lg-center{text-align:center!important}}@media (min-width:1200px){#bookly-tbs .text-xl-left{text-align:left!important}#bookly-tbs .text-xl-right{text-align:right!important}#bookly-tbs .text-xl-center{text-align:center!important}}#bookly-tbs .text-lowercase{text-transform:lowercase!important}#bookly-tbs .text-uppercase{text-transform:uppercase!important}#bookly-tbs .text-capitalize{text-transform:capitalize!important}#bookly-tbs .font-weight-light{font-weight:300!important}#bookly-tbs .font-weight-lighter{font-weight:lighter!important}#bookly-tbs .font-weight-normal{font-weight:400!important}#bookly-tbs .font-weight-bold{font-weight:700!important}#bookly-tbs .font-weight-bolder{font-weight:bolder!important}#bookly-tbs .font-italic{font-style:italic!important}#bookly-tbs .text-white{color:#fff!important}#bookly-tbs .text-primary{color:#007bff!important}#bookly-tbs a.text-primary:focus,#bookly-tbs a.text-primary:hover{color:#0056b3!important}#bookly-tbs .text-secondary{color:#6c757d!important}#bookly-tbs a.text-secondary:focus,#bookly-tbs a.text-secondary:hover{color:#494f54!important}#bookly-tbs .text-success{color:#28a745!important}#bookly-tbs a.text-success:focus,#bookly-tbs a.text-success:hover{color:#19692c!important}#bookly-tbs .text-info{color:#17a2b8!important}#bookly-tbs a.text-info:focus,#bookly-tbs a.text-info:hover{color:#0f6674!important}#bookly-tbs .text-warning{color:#ffc107!important}#bookly-tbs a.text-warning:focus,#bookly-tbs a.text-warning:hover{color:#ba8b00!important}#bookly-tbs .text-danger{color:#dc3545!important}#bookly-tbs a.text-danger:focus,#bookly-tbs a.text-danger:hover{color:#a71d2a!important}#bookly-tbs .text-light{color:#f8f9fa!important}#bookly-tbs a.text-light:focus,#bookly-tbs a.text-light:hover{color:#cbd3da!important}#bookly-tbs .text-dark{color:#343a40!important}#bookly-tbs a.text-dark:focus,#bookly-tbs a.text-dark:hover{color:#121416!important}#bookly-tbs .text-body{color:#212529!important}#bookly-tbs .text-muted{color:#6c757d!important}#bookly-tbs .text-black-50{color:rgba(0,0,0,.5)!important}#bookly-tbs .text-white-50{color:rgba(255,255,255,.5)!important}#bookly-tbs .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .text-decoration-none{text-decoration:none!important}#bookly-tbs .text-break{word-break:break-word!important;overflow-wrap:break-word!important}#bookly-tbs .text-reset{color:inherit!important}#bookly-tbs .visible{visibility:visible!important}#bookly-tbs .invisible{visibility:hidden!important}@media print{#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{text-shadow:none!important;box-shadow:none!important}#bookly-tbs a:not(.btn){text-decoration:underline}#bookly-tbs abbr[title]::after{content:" (" attr(title) ")"}#bookly-tbs pre{white-space:pre-wrap!important}#bookly-tbs blockquote,#bookly-tbs pre{border:1px solid #adb5bd;page-break-inside:avoid}#bookly-tbs thead{display:table-header-group}#bookly-tbs img,#bookly-tbs tr{page-break-inside:avoid}#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs p{orphans:3;widows:3}#bookly-tbs h2,#bookly-tbs h3{page-break-after:avoid}@page{size:a3}#bookly-tbs body{min-width:992px!important}#bookly-tbs .container{min-width:992px!important}#bookly-tbs .navbar{display:none}#bookly-tbs .badge{border:1px solid #000}#bookly-tbs .table{border-collapse:collapse!important}#bookly-tbs .table td,#bookly-tbs .table th{background-color:#fff!important}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6!important}#bookly-tbs .table-dark{color:inherit}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#dee2e6}#bookly-tbs .table .thead-dark th{color:inherit;border-color:#dee2e6}}#bookly-tbs p{font-size:1rem}#bookly-tbs ol,#bookly-tbs ul{padding:0 0 0 40px}#bookly-tbs ol{margin-left:0}#bookly-tbs ul{list-style:disc}#bookly-tbs li{margin:0}#bookly-tbs a:focus{box-shadow:none}#bookly-tbs .form-control{max-width:none}#bookly-tbs .btn,#bookly-tbs .fc .fc-button{white-space:nowrap}#bookly-tbs .btn-default,#bookly-tbs .fc .fc-button{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:hover,#bookly-tbs .fc .fc-button:hover{color:#212529;background-color:#ececec;border-color:#b1bbc4}#bookly-tbs .btn-default.focus,#bookly-tbs .btn-default:focus,#bookly-tbs .fc .fc-button:focus,#bookly-tbs .fc .focus.fc-button{color:#212529;background-color:#ececec;border-color:#b1bbc4;box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .btn-default.disabled,#bookly-tbs .btn-default:disabled,#bookly-tbs .fc .disabled.fc-button,#bookly-tbs .fc .fc-button:disabled{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled).active,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-default.dropdown-toggle,.show>#bookly-tbs .fc .dropdown-toggle.fc-button{color:#212529;background-color:#e6e6e6;border-color:#aab4bf}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active:focus,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled).active:focus,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-default.dropdown-toggle:focus,.show>#bookly-tbs .fc .dropdown-toggle.fc-button:focus{box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .bookly-fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-fade{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-fade:not(.show){opacity:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{background-color:#fff}#bookly-tbs .dropdown-item .dropdown-item{padding:.25rem 0 .25rem 1.5rem}#bookly-tbs .dropdown-item .custom-control label{width:100%}#bookly-tbs .dropdown-item .custom-control:focus,#bookly-tbs .dropdown-item .custom-control:hover{background-color:#f8f9fa}#bookly-tbs .bookly-modal .dropdown-menu.show{overflow-y:auto;max-height:300px}#bookly-tbs .custom-checkbox .custom-control-input.bookly-checkbox-loading~.custom-control-label:before{content:'';width:16px;height:16px;background:url(../../images/ajax_loader_32x32.gif) no-repeat;background-size:contain;border:none;background-color:transparent!important}#bookly-tbs .custom-checkbox .custom-control-input:not(:checked)~.custom-control-label.bookly-toggle-label{color:#6c757d}#bookly-tbs .nav-tabs .nav-link{color:#495057}#bookly-tbs .nav-tabs .nav-link:hover{color:#343a40}#bookly-tbs .nav-tabs .nav-link:focus{box-shadow:none;outline:0}@media (max-width:575.98px){#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:767.98px){#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:991.98px){#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:1199.98px){#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link:hover{border-color:#343a40}}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link:hover{border-color:#343a40}#bookly-tbs .nav-pills .nav-link{background-color:#fff;background-clip:border-box;color:#212529;border:1px solid #ced4da}#bookly-tbs .nav-pills .nav-link:hover{color:#fff;background-color:#007bff}#bookly-tbs .nav-pills .nav-link.active,#bookly-tbs .nav-pills .nav-link:hover{border-color:transparent}#bookly-tbs .card{margin-top:0;padding:0;max-width:none;box-shadow:none}#bookly-tbs .bookly-card-highlighted{background-color:#f4e9e6}#bookly-tbs .list-group-item+.list-group-item{border-top-width:0}#bookly-tbs .list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}#bookly-tbs .list-group-item[style="display: none;"]+.list-group-item{border-top-left-radius:.25rem;border-top-right-radius:.25rem;border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .list-group-item.ui-sortable-helper,#bookly-tbs .list-group-item.ui-sortable-placeholder+.list-group-item{border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .bookly-cursor-move{cursor:move}#bookly-tbs .bookly-loading{position:relative;height:100px}#bookly-tbs .bookly-loading:before{content:'';position:absolute;left:calc(50% - 16px);top:calc(50% - 16px);width:32px;height:32px;background:url(../../images/ajax_loader_32x32.gif) no-repeat;background-size:contain}#bookly-tbs .bookly-loading.bookly-loading-sm{position:relative;display:inline-block;min-width:16px;min-height:16px;height:16px}#bookly-tbs .bookly-loading.bookly-loading-sm:before{left:0;top:2px;width:16px;height:16px}#bookly-tbs .bookly-hide-empty:empty{display:none}#bookly-tbs .text-pre-wrap{white-space:pre-wrap!important}#bookly-tbs .bookly-cursor-pointer{cursor:pointer}#bookly-tbs .bookly-alert{position:fixed;top:55px;right:13px;z-index:10000;text-align:left}@media (min-width:783px){#bookly-tbs .bookly-alert{right:21px}}#bookly-tbs .bookly-alert button{margin-left:10px}#bookly-tbs .bookly-collapse{margin-bottom:.75rem}#bookly-tbs .bookly-collapse a[data-toggle=collapse]{text-decoration:none;color:#343a40}#bookly-tbs .bookly-collapse a[data-toggle=collapse]:after{content:"\f0d8";font-family:"Font Awesome 5 Free";font-size:.875rem;font-weight:900;margin-left:.5em}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed{color:#495057}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed:hover{color:#343a40}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed:after{content:"\f0d7"}#bookly-tbs .bookly-color-picker{height:38px}#bookly-tbs .bookly-color-picker .wp-picker-container{position:absolute;z-index:1;padding:9px 8px 8px;margin:-8px 0 0 -8px;background-color:#fff}#bookly-tbs .bookly-color-picker .wp-picker-container *{box-sizing:content-box}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result{border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:none;box-shadow:0 0 0 1px #ced4da}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:hover{box-shadow:0 0 0 1px #b1bbc4}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:hover .wp-color-result-text{color:#212529;border-color:#b1bbc4;background-color:#ececec}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result.focus,#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:focus{box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result.focus .wp-color-result-text,#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:focus .wp-color-result-text{color:#212529;border-color:#b1bbc4;background-color:#ececec}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result .wp-color-result-text{margin:-1px -1px -1px 0;border:1px solid #ced4da;border-radius:0 .25rem .25rem 0;color:#212529;padding:.375rem .75rem;font-weight:400;font-size:1rem;background-color:#fff;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;line-height:1.5;max-width:130px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result .wp-color-result-text{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-color-picker .wp-picker-container.wp-picker-active{box-shadow:0 5px 10px rgba(0,0,0,.2)}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap{margin-left:8px}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap .wp-color-picker{margin-top:-1px;min-height:26px;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap input.wp-picker-clear{display:none}#bookly-tbs table.dataTable{clear:both;margin-top:6px!important;margin-bottom:6px!important;max-width:none!important;border-collapse:separate!important;border-spacing:0}#bookly-tbs table.dataTable td,#bookly-tbs table.dataTable th{box-sizing:content-box}#bookly-tbs table.dataTable td.dataTables_empty,#bookly-tbs table.dataTable th.dataTables_empty{text-align:center}#bookly-tbs table.dataTable.nowrap td,#bookly-tbs table.dataTable.nowrap th{white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_length label{font-weight:400;text-align:left;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}#bookly-tbs div.dataTables_wrapper div.dataTables_filter{text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_filter label{font-weight:400;white-space:nowrap;text-align:left}#bookly-tbs div.dataTables_wrapper div.dataTables_filter input{margin-left:.5em;display:inline-block;width:auto}#bookly-tbs div.dataTables_wrapper div.dataTables_info{padding-top:.85em;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}#bookly-tbs table.dataTable thead>tr>td.sorting,#bookly-tbs table.dataTable thead>tr>td.sorting_asc,#bookly-tbs table.dataTable thead>tr>td.sorting_desc,#bookly-tbs table.dataTable thead>tr>th.sorting,#bookly-tbs table.dataTable thead>tr>th.sorting_asc,#bookly-tbs table.dataTable thead>tr>th.sorting_desc{padding-right:30px}#bookly-tbs table.dataTable thead>tr>td:active,#bookly-tbs table.dataTable thead>tr>th:active{outline:0}#bookly-tbs table.dataTable thead .sorting,#bookly-tbs table.dataTable thead .sorting_asc,#bookly-tbs table.dataTable thead .sorting_asc_disabled,#bookly-tbs table.dataTable thead .sorting_desc,#bookly-tbs table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}#bookly-tbs table.dataTable thead .sorting:after,#bookly-tbs table.dataTable thead .sorting:before,#bookly-tbs table.dataTable thead .sorting_asc:after,#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc:after,#bookly-tbs table.dataTable thead .sorting_desc:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:before{position:absolute;bottom:.9em;display:block;opacity:.3}#bookly-tbs table.dataTable thead .sorting:before,#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}#bookly-tbs table.dataTable thead .sorting:after,#bookly-tbs table.dataTable thead .sorting_asc:after,#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{right:.5em;content:"\2193"}#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_desc:after{opacity:1}#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{opacity:0}#bookly-tbs div.dataTables_scrollHead table.dataTable{margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table{border-top:none;margin-top:0!important;margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table thead .sorting:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting:before,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:before,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:before{display:none}#bookly-tbs div.dataTables_scrollBody table tbody tr:first-child td,#bookly-tbs div.dataTables_scrollBody table tbody tr:first-child th{border-top:none}#bookly-tbs div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}#bookly-tbs div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0!important;border-top:none}@media screen and (max-width:767px){#bookly-tbs div.dataTables_wrapper div.dataTables_filter,#bookly-tbs div.dataTables_wrapper div.dataTables_info,#bookly-tbs div.dataTables_wrapper div.dataTables_length,#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{text-align:center}}#bookly-tbs table.dataTable.table-sm>thead>tr>th{padding-right:20px}#bookly-tbs table.dataTable.table-sm .sorting:before,#bookly-tbs table.dataTable.table-sm .sorting_asc:before,#bookly-tbs table.dataTable.table-sm .sorting_desc:before{top:5px;right:.85em}#bookly-tbs table.dataTable.table-sm .sorting:after,#bookly-tbs table.dataTable.table-sm .sorting_asc:after,#bookly-tbs table.dataTable.table-sm .sorting_desc:after{top:5px}#bookly-tbs table.table-bordered.dataTable td,#bookly-tbs table.table-bordered.dataTable th{border-left-width:0}#bookly-tbs table.table-bordered.dataTable td:last-child,#bookly-tbs table.table-bordered.dataTable th:last-child{border-right-width:0}#bookly-tbs table.table-bordered.dataTable tbody td,#bookly-tbs table.table-bordered.dataTable tbody th{border-bottom-width:0}#bookly-tbs div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row{margin:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap>div[class^=col-]:first-child,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:first-child{padding-left:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap>div[class^=col-]:last-child,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:last-child{padding-right:0}@keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#bookly-tbs div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:#fff;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,.3);border-radius:3px;text-align:center;z-index:21}#bookly-tbs div.dt-button-info h2{padding:.5em;margin:0;font-weight:400;border-bottom:1px solid #ddd;background-color:#f3f3f3}#bookly-tbs div.dt-button-info>div{padding:1em}#bookly-tbs div.dt-button-collection-title{text-align:center;padding:.3em 0 .5em;font-size:.9em}#bookly-tbs div.dt-button-collection-title:empty{display:none}#bookly-tbs div.dt-button-collection{position:absolute;z-index:2001}#bookly-tbs div.dt-button-collection div.dropdown-menu{display:block;z-index:2002;min-width:100%}#bookly-tbs div.dt-button-collection div.dt-button-collection-title{background-color:#fff;border:1px solid rgba(0,0,0,.15)}#bookly-tbs div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}#bookly-tbs div.dt-button-collection.fixed.two-column{margin-left:-200px}#bookly-tbs div.dt-button-collection.fixed.three-column{margin-left:-225px}#bookly-tbs div.dt-button-collection.fixed.four-column{margin-left:-300px}#bookly-tbs div.dt-button-collection>:last-child{display:block!important;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}#bookly-tbs div.dt-button-collection>:last-child>*{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}#bookly-tbs div.dt-button-collection.two-column{width:400px}#bookly-tbs div.dt-button-collection.two-column>:last-child{padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}#bookly-tbs div.dt-button-collection.three-column{width:450px}#bookly-tbs div.dt-button-collection.three-column>:last-child{padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}#bookly-tbs div.dt-button-collection.four-column{width:600px}#bookly-tbs div.dt-button-collection.four-column>:last-child{padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}#bookly-tbs div.dt-button-collection .dt-button{border-radius:0}#bookly-tbs div.dt-button-collection.fixed{max-width:none}#bookly-tbs div.dt-button-collection.fixed:after,#bookly-tbs div.dt-button-collection.fixed:before{display:none}#bookly-tbs div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width:767px){#bookly-tbs div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:.5em}#bookly-tbs .fc div.dt-buttons a.fc-button,#bookly-tbs div.dt-buttons .fc a.fc-button,#bookly-tbs div.dt-buttons a.btn{float:none}}#bookly-tbs .fc div.dt-buttons a.processing.fc-button,#bookly-tbs .fc div.dt-buttons button.processing.fc-button,#bookly-tbs .fc div.dt-buttons div.processing.fc-button,#bookly-tbs div.dt-buttons .fc a.processing.fc-button,#bookly-tbs div.dt-buttons .fc button.processing.fc-button,#bookly-tbs div.dt-buttons .fc div.processing.fc-button,#bookly-tbs div.dt-buttons a.btn.processing,#bookly-tbs div.dt-buttons button.btn.processing,#bookly-tbs div.dt-buttons div.btn.processing{color:rgba(0,0,0,.2)}#bookly-tbs .fc div.dt-buttons a.processing.fc-button:after,#bookly-tbs .fc div.dt-buttons button.processing.fc-button:after,#bookly-tbs .fc div.dt-buttons div.processing.fc-button:after,#bookly-tbs div.dt-buttons .fc a.processing.fc-button:after,#bookly-tbs div.dt-buttons .fc button.processing.fc-button:after,#bookly-tbs div.dt-buttons .fc div.processing.fc-button:after,#bookly-tbs div.dt-buttons a.btn.processing:after,#bookly-tbs div.dt-buttons button.btn.processing:after,#bookly-tbs div.dt-buttons div.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1.5s infinite linear;-o-animation:dtb-spinner 1.5s infinite linear;-ms-animation:dtb-spinner 1.5s infinite linear;-webkit-animation:dtb-spinner 1.5s infinite linear;-moz-animation:dtb-spinner 1.5s infinite linear}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th.child{cursor:default!important}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before{display:none!important}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child{position:relative;padding-left:30px;cursor:pointer}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child:before{top:16px;left:4px;height:14px;width:14px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:'Courier New',Courier,monospace;line-height:14px;content:'+';background-color:#0275d8}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}#bookly-tbs table.dataTable.dtr-column>tbody>tr>td.control,#bookly-tbs table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}#bookly-tbs table.dataTable.dtr-column>tbody>tr>td.control:before,#bookly-tbs table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:'Courier New',Courier,monospace;line-height:14px;content:'+';background-color:#0275d8}#bookly-tbs table.dataTable.dtr-column>tbody>tr.parent td.control:before,#bookly-tbs table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}#bookly-tbs table.dataTable>tbody>tr.child{padding:.5em 1em}#bookly-tbs table.dataTable>tbody>tr.child:hover{background:0 0!important}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:.5em 0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}#bookly-tbs table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:700}#bookly-tbs div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}#bookly-tbs div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid #000;border-radius:.5em;box-shadow:0 12px 30px rgba(0,0,0,.6)}#bookly-tbs div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}#bookly-tbs div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}#bookly-tbs div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}#bookly-tbs div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,.6)}@media screen and (max-width:767px){#bookly-tbs div.dtr-modal div.dtr-modal-display{width:95%}}#bookly-tbs div.dtr-bs-modal table.table tr:first-child td{border-top:none}#bookly-tbs table.dt-rowReorder-float{position:absolute!important;opacity:.8;table-layout:fixed;outline:2px solid #0275d8;outline-offset:-2px;z-index:2001}#bookly-tbs tr.dt-rowReorder-moving{outline:2px solid #888;outline-offset:-2px}#bookly-tbs body.dt-rowReorder-noOverflow{overflow-x:hidden}#bookly-tbs table.dataTable td.reorder{text-align:center;cursor:move}#bookly-tbs .daterangepicker{position:absolute;color:inherit;background-color:#fff;border-radius:4px;border:1px solid #ddd;width:278px;max-width:none;padding:0;margin-top:7px;top:100px;left:20px;z-index:3001;display:none;font-family:arial;font-size:15px;line-height:1em}#bookly-tbs .daterangepicker:after,#bookly-tbs .daterangepicker:before{position:absolute;display:inline-block;border-bottom-color:rgba(0,0,0,.2);content:''}#bookly-tbs .daterangepicker:before{top:-7px;border-right:7px solid transparent;border-left:7px solid transparent;border-bottom:7px solid #ccc}#bookly-tbs .daterangepicker:after{top:-6px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}#bookly-tbs .daterangepicker.opensleft:before{right:9px}#bookly-tbs .daterangepicker.opensleft:after{right:10px}#bookly-tbs .daterangepicker.openscenter:before{left:0;right:0;width:0;margin-left:auto;margin-right:auto}#bookly-tbs .daterangepicker.openscenter:after{left:0;right:0;width:0;margin-left:auto;margin-right:auto}#bookly-tbs .daterangepicker.opensright:before{left:9px}#bookly-tbs .daterangepicker.opensright:after{left:10px}#bookly-tbs .daterangepicker.drop-up{margin-top:-7px}#bookly-tbs .daterangepicker.drop-up:before{top:initial;bottom:-7px;border-bottom:initial;border-top:7px solid #ccc}#bookly-tbs .daterangepicker.drop-up:after{top:initial;bottom:-6px;border-bottom:initial;border-top:6px solid #fff}#bookly-tbs .daterangepicker.single .daterangepicker .ranges,#bookly-tbs .daterangepicker.single .drp-calendar{float:none}#bookly-tbs .daterangepicker.single .drp-selected{display:none}#bookly-tbs .daterangepicker.show-calendar .drp-calendar{display:block}#bookly-tbs .daterangepicker.show-calendar .drp-calendar select{border:1px solid #ced4da;padding:0 7px}#bookly-tbs .daterangepicker.show-calendar .drp-calendar table th{text-transform:none}#bookly-tbs .daterangepicker.show-calendar .drp-buttons{display:block}#bookly-tbs .daterangepicker.auto-apply .drp-buttons{display:none}#bookly-tbs .daterangepicker .drp-calendar{display:none;max-width:270px}#bookly-tbs .daterangepicker .drp-calendar.left{padding:8px 0 8px 8px}#bookly-tbs .daterangepicker .drp-calendar.right{padding:8px}#bookly-tbs .daterangepicker .drp-calendar.single .calendar-table{border:none}#bookly-tbs .daterangepicker .calendar-table .next span,#bookly-tbs .daterangepicker .calendar-table .prev span{color:#fff;border:solid #000;border-width:0 2px 2px 0;border-radius:0;display:inline-block;padding:3px}#bookly-tbs .daterangepicker .calendar-table .next span{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}#bookly-tbs .daterangepicker .calendar-table .prev span{transform:rotate(135deg);-webkit-transform:rotate(135deg)}#bookly-tbs .daterangepicker .calendar-table td,#bookly-tbs .daterangepicker .calendar-table th{white-space:nowrap;text-align:center;vertical-align:middle;min-width:32px;width:32px;height:24px;line-height:24px;font-size:12px;border-radius:4px;border:1px solid transparent;cursor:pointer}#bookly-tbs .daterangepicker .calendar-table{border:1px solid #fff;border-radius:4px;background-color:#fff}#bookly-tbs .daterangepicker .calendar-table table{width:100%;margin:0;border-spacing:0;border-collapse:collapse}#bookly-tbs .daterangepicker td.available:hover,#bookly-tbs .daterangepicker th.available:hover{background-color:#eee;border-color:transparent;color:inherit}#bookly-tbs .daterangepicker td.week,#bookly-tbs .daterangepicker th.week{font-size:80%;color:#ccc}#bookly-tbs .daterangepicker td.off,#bookly-tbs .daterangepicker td.off.end-date,#bookly-tbs .daterangepicker td.off.in-range,#bookly-tbs .daterangepicker td.off.start-date{background-color:#fff;border-color:transparent;color:#999}#bookly-tbs .daterangepicker td.in-range{background-color:#ebf4f8;border-color:transparent;color:#000;border-radius:0}#bookly-tbs .daterangepicker td.start-date{border-radius:4px 0 0 4px}#bookly-tbs .daterangepicker td.end-date{border-radius:0 4px 4px 0}#bookly-tbs .daterangepicker td.start-date.end-date{border-radius:4px}#bookly-tbs .daterangepicker td.active,#bookly-tbs .daterangepicker td.active:hover{background-color:#357ebd;border-color:transparent;color:#fff}#bookly-tbs .daterangepicker th.month{width:auto}#bookly-tbs .daterangepicker option.disabled,#bookly-tbs .daterangepicker td.disabled{color:#999;cursor:not-allowed;text-decoration:line-through}#bookly-tbs .daterangepicker select.monthselect,#bookly-tbs .daterangepicker select.yearselect{font-size:12px;padding:1px;margin:0;cursor:default}#bookly-tbs .daterangepicker select.monthselect{margin-right:2%;width:56%}#bookly-tbs .daterangepicker select.yearselect{width:40%}#bookly-tbs .daterangepicker select.ampmselect,#bookly-tbs .daterangepicker select.hourselect,#bookly-tbs .daterangepicker select.minuteselect,#bookly-tbs .daterangepicker select.secondselect{width:50px;margin:0 auto;background:#eee;border:1px solid #eee;padding:2px;outline:0;font-size:12px}#bookly-tbs .daterangepicker .calendar-time{text-align:center;margin:4px auto 0 auto;line-height:30px;position:relative}#bookly-tbs .daterangepicker .calendar-time select.disabled{color:#ccc;cursor:not-allowed}#bookly-tbs .daterangepicker .drp-buttons{clear:both;text-align:right;padding:8px;border-top:1px solid #ddd;display:none;line-height:12px;vertical-align:middle}#bookly-tbs .daterangepicker .drp-selected{display:block;font-size:12px;padding:8px}#bookly-tbs .daterangepicker .drp-buttons .btn,#bookly-tbs .daterangepicker .drp-buttons .fc .fc-button,#bookly-tbs .fc .daterangepicker .drp-buttons .fc-button{margin-left:8px;font-size:12px;padding:4px 8px}#bookly-tbs .daterangepicker.show-ranges.single.rtl .drp-calendar.left{border-right:1px solid #ddd}#bookly-tbs .daterangepicker.show-ranges.single.ltr .drp-calendar.left{border-left:1px solid #ddd}#bookly-tbs .daterangepicker.show-ranges.rtl .drp-calendar.right{border-right:1px solid #ddd}#bookly-tbs .daterangepicker.show-calendar.show-ranges .ranges{min-height:246px;border-right:1px solid #ddd}#bookly-tbs .daterangepicker .ranges{float:none;text-align:left;margin:0}#bookly-tbs .daterangepicker .ranges ul{list-style:none;margin:0 auto;padding:0;width:100%}#bookly-tbs .daterangepicker .ranges li{font-size:12px;padding:8px 12px;cursor:pointer;border-radius:0;border:0;background-color:transparent}#bookly-tbs .daterangepicker .ranges li:first-child{border-radius:4px 4px 0 0}#bookly-tbs .daterangepicker .ranges li:last-child{border-radius:0 0 4px 4px}#bookly-tbs .daterangepicker .ranges li:hover{background-color:#f8f9fa;color:#212529}#bookly-tbs .daterangepicker .ranges li.active{background-color:#08c;color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}@media (min-width:564px){#bookly-tbs .daterangepicker{width:auto}#bookly-tbs .daterangepicker.show-calendar.show-ranges{width:646px}#bookly-tbs .daterangepicker .drp-selected{display:inline-block;padding-right:8px}#bookly-tbs .daterangepicker .ranges ul{width:140px}#bookly-tbs .daterangepicker.single .ranges ul{width:100%}#bookly-tbs .daterangepicker.single .drp-calendar.left{clear:none}#bookly-tbs .daterangepicker.single .drp-calendar,#bookly-tbs .daterangepicker.single .ranges{float:left}#bookly-tbs .daterangepicker{direction:ltr;text-align:left}#bookly-tbs .daterangepicker .drp-calendar.left{clear:left;margin-right:0}#bookly-tbs .daterangepicker .drp-calendar.left .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .daterangepicker .drp-calendar.right{margin-left:0}#bookly-tbs .daterangepicker .drp-calendar.right .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .daterangepicker .drp-calendar.left .calendar-table{padding-right:8px}#bookly-tbs .daterangepicker .drp-calendar,#bookly-tbs .daterangepicker .ranges{float:left}}@media (min-width:730px){#bookly-tbs .daterangepicker .ranges{width:auto}#bookly-tbs .daterangepicker .ranges{float:left}#bookly-tbs .daterangepicker.rtl .ranges{float:right}#bookly-tbs .daterangepicker .drp-calendar.left{clear:none!important}}#bookly-tbs .fc .fc-button-group>.fc-button.fc-agendaDay-button:not(:last-child):not(.dropdown-toggle){border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#bookly-tbs .fc .fc-button{background-image:none;height:auto}#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled).fc-state-active{color:#212529;background-color:#e6e6e6;border-color:#aab4bf;box-shadow:none}#bookly-tbs .fc .fc-toolbar .fc-today-button{margin-left:10px}#bookly-tbs .fc .fc-toolbar h2{cursor:pointer;font-size:24px;margin:6px 0 -3px}#bookly-tbs .fc .fc-toolbar h2::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#bookly-tbs .fc .fc-toolbar h2:empty::after{margin-left:0}#bookly-tbs .fc .fc-toolbar h2::after{font-size:1rem;margin-left:.5rem}#bookly-tbs .fc .fc-toolbar h2:hover{color:#0056b3}@media (max-width:767.98px){#bookly-tbs .fc .fc-toolbar .fc-left,#bookly-tbs .fc .fc-toolbar .fc-right{float:none;margin-bottom:10px}#bookly-tbs .fc .fc-toolbar .fc-left>*,#bookly-tbs .fc .fc-toolbar .fc-right>*{float:none}}#bookly-tbs .fc .fc-view{overflow:auto}#bookly-tbs .fc .fc-view>table{min-width:700px}#bookly-tbs .fc .fc-view .fc-day-header{font-weight:inherit;text-align:center}#bookly-tbs .fc .fc-view .fc-day.bookly-fc-day-active{background-color:#eafcff}#bookly-tbs .fc .fc-view .fc-axis{box-sizing:content-box;font-size:calc(1rem - 1px)}#bookly-tbs .fc .fc-view .fc-event{cursor:pointer;border:none;border-radius:0;padding:3px 2px 3px 5px}#bookly-tbs .fc .fc-view .fc-event:after{content:'';position:absolute;top:0;right:0;width:calc(100% - 2px);height:100%;background-color:rgba(255,255,255,.6)}#bookly-tbs .fc .fc-view .fc-event:hover:after{background-color:rgba(255,255,255,.7)}#bookly-tbs .fc .fc-view .fc-event .fc-time{font-size:inherit;font-weight:700}#bookly-tbs .fc .fc-view .fc-event .fc-time .bookly-fc-icon{cursor:pointer;float:right;font-size:1.2em;line-height:1.3;opacity:.8}#bookly-tbs .fc .fc-view .fc-event .fc-time .bookly-fc-icon:hover{opacity:1}#bookly-tbs .bookly-fc-loading{background-color:rgba(255,255,255,.7);bottom:0;left:0;position:absolute;right:0;top:50px;z-index:9}#bookly-tbs .bookly-fc-loading .bookly-fc-loading-icon{position:absolute;left:calc(50% - 16px);top:calc(50% - 16px);background:rgba(255,0,0,0) url(../../images/ajax_loader_32x32.gif) no-repeat scroll 50% center;width:32px;height:32px}@media (max-width:767.98px){#bookly-tbs .bookly-fc-loading{top:150px}}#bookly-tbs .jCal{width:100%;position:relative}#bookly-tbs .jCalMo{display:block;position:relative;padding:0 15px;margin-bottom:15px;white-space:nowrap}@media (min-width:576px){#bookly-tbs .jCalMo{height:257px}}#bookly-tbs .jCal .month,#bookly-tbs .jCal .monthName,#bookly-tbs .jCal .monthSelect,#bookly-tbs .jCal .monthYear{float:left}#bookly-tbs .jCal .monthName{font-weight:700;padding:.5rem 0;text-align:center;width:100%}#bookly-tbs .jCal .monthYear{float:right;text-align:left}#bookly-tbs .jCal .month{width:100%}#bookly-tbs .jCal .monthSelect{background:#f8f9fa}#bookly-tbs .jCal .monthSelector{position:absolute}#bookly-tbs .jCal .monthSelectorShadow{position:absolute;background:#adb5bd;padding:0}#bookly-tbs .jCal .monthNameHover,#bookly-tbs .jCal .monthYearHover{background:#f8f9fa;color:#adb5bd}#bookly-tbs .jCal .monthSelectHover{background:#007bff;color:#fff}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .day,#bookly-tbs .jCalMo .dow,#bookly-tbs .jCalMo .invday,#bookly-tbs .jCalMo .overDay,#bookly-tbs .jCalMo .pday,#bookly-tbs .jCalMo .selectedDay{position:relative;float:left;width:calc(14.2857% + 1px);margin-right:-1px;border:1px solid #f8f9fa;border-width:0 1px 1px 1px;text-align:center;cursor:default}#bookly-tbs .jCalMo .dow{font-size:12px;line-height:30px;background:#f8f9fa;border-bottom:0}#bookly-tbs .jCalMo .day{font-size:13px;line-height:30px;cursor:pointer;background:#fff}#bookly-tbs .jCalMo .invday{color:#adb5bd;background:#f8f9fa;text-decoration:line-through}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .pday{font-size:13px;line-height:30px;color:#f8f9fa;background:rgba(248,249,250,.3)}#bookly-tbs .jCalMo .overDay{color:#212529;background:rgba(0,123,255,.2)}#bookly-tbs .jCalMo .holidayDay{color:#fff;background:#ffc107}#bookly-tbs .jCalMo .holidayDay.repeatDay{color:#fff;background:#dc3545}#bookly-tbs .jCalMo .selectedDay,#bookly-tbs .jCalMo .selectedDay.repeatDay{color:#fff;background:#007bff}#bookly-tbs .jCal .left,#bookly-tbs .jCal .right{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .jCalMask,#bookly-tbs .jCalMove{position:absolute;overflow:hidden;width:700px;height:930px}@media (max-width:991.98px){#bookly-tbs .jCalMo{float:left;width:50%}}@media (min-width:992px){#bookly-tbs .jCalMo{float:left;width:33.33333333%}}#bookly-tbs .intl-tel-input{display:block}#bookly-tbs .intl-tel-input .flag-container{left:0;right:0}#bookly-tbs .intl-tel-input .flag-container ul.country-list{list-style:none;padding:0}#bookly-tbs .intl-tel-input .selected-flag{width:42px;padding:0 0 0 8px}#bookly-tbs .intl-tel-input .selected-flag .arrow{left:auto;right:4px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #000}#bookly-tbs .intl-tel-input .iti-flag{background-image:url(../../../../frontend/resources/images/flags.png)}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:2dppx){#bookly-tbs .intl-tel-input .iti-flag{background-image:url(../../../../frontend/resources/images/flags@2x.png)}}#bookly-tbs .intl-tel-input .form-control{padding-left:45px}#bookly-tbs .intl-tel-input .country-list{max-width:100%}#bookly-tbs .bookly-thumb{display:block;position:relative;width:106px;height:106px;border:1px solid #ced4da;border-radius:.25rem;background-color:#e9ecef;background-image:url(../../images/sprite.png);background-repeat:no-repeat;background-position:0 0;overflow:hidden}#bookly-tbs .bookly-thumb.w-100{background-image:none}#bookly-tbs .bookly-thumb .bookly-thumb-delete{position:absolute;top:.25rem;right:0;text-decoration:none}#bookly-tbs .bookly-thumb .bookly-thumb-edit{position:absolute;left:0;right:0;bottom:0;background-color:rgba(173,181,189,.5)}#bookly-tbs .bookly-thumb .bookly-thumb-edit:hover{background-color:rgba(173,181,189,.8)}#bookly-tbs .bookly-thumb .bookly-thumb-edit .bookly-thumb-edit-btn{width:100%;padding:0 3px;margin:0;text-align:center;color:#fff;font-size:13px;line-height:25px}#bookly-tbs .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}#bookly-tbs .select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .select2-container .select2-selection--single .select2-selection__clear{position:relative}#bookly-tbs .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}#bookly-tbs .select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .select2-container .select2-search--inline{float:left}#bookly-tbs .select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}#bookly-tbs .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}#bookly-tbs .select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}#bookly-tbs .select2-results{display:block}#bookly-tbs .select2-results__options{list-style:none;margin:0;padding:0}#bookly-tbs .select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-results__option[aria-selected]{cursor:pointer}#bookly-tbs .select2-container--open .select2-dropdown{left:0}#bookly-tbs .select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-search--dropdown{display:block;padding:4px}#bookly-tbs .select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}#bookly-tbs .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}#bookly-tbs .select2-search--dropdown.select2-search--hide{display:none}#bookly-tbs .select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}#bookly-tbs .select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}#bookly-tbs .select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}#bookly-tbs .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}#bookly-tbs .select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}#bookly-tbs .select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}#bookly-tbs .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,#bookly-tbs .select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,#bookly-tbs .select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}#bookly-tbs .select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}#bookly-tbs .select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}#bookly-tbs .select2-container--default .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--default .select2-results__option[aria-disabled=true]{color:#999}#bookly-tbs .select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option{padding-left:1em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}#bookly-tbs .select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}#bookly-tbs .select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}#bookly-tbs .select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #dee2e6;border-radius:.25rem;outline:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #dee2e6;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #dee2e6;border-radius:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;left:1px;right:auto}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,from(white),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(white));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;cursor:text;outline:0}#bookly-tbs .select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #dee2e6;border-radius:.25rem;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #dee2e6;outline:0}#bookly-tbs .select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}#bookly-tbs .select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}#bookly-tbs .select2-container--classic .select2-dropdown--above{border-bottom:none}#bookly-tbs .select2-container--classic .select2-dropdown--below{border-top:none}#bookly-tbs .select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}#bookly-tbs .select2-container--classic .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}#bookly-tbs .select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}#bookly-tbs .select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}#bookly-tbs .select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single{height:calc(1.5em + .75rem + 2px)!important}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder{color:#757575;line-height:calc(1.5em + .75rem)}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow{position:absolute;top:50%;right:3px;width:20px}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b{top:60%;border-color:#343a40 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;width:0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered{line-height:calc(1.5em + .75rem)}#bookly-tbs .select2-search--dropdown .select2-search__field{border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .select2-results__message{color:#6c757d}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple{min-height:calc(1.5em + .75rem + 2px)!important}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice{color:#343a40;border:1px solid #bdc6d0;border-radius:.2rem;padding:0;padding-right:5px;cursor:pointer;float:left;margin-top:.3em;margin-right:5px}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove{color:#bdc6d0;font-weight:700;margin-left:3px;margin-right:1px;padding-right:3px;padding-left:3px;float:left}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover{color:#343a40}#bookly-tbs .select2-container{display:block}#bookly-tbs .select2-container :focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .input-group .select2-container--bootstrap4{-webkit-box-flex:1;flex-grow:1}#bookly-tbs .input-group-prepend~.select2-container--bootstrap4 .select2-selection{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group>.select2-container--bootstrap4:not(:last-child) .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--bootstrap4 .select2-selection{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){#bookly-tbs .select2-container--bootstrap4 .select2-selection{-webkit-transition:none;transition:none}}#bookly-tbs .select2-container--bootstrap4.select2-container--focus .select2-selection{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .select2-container--bootstrap4.select2-container--focus.select2-container--open .select2-selection{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--bootstrap4.select2-container--disabled .select2-selection,#bookly-tbs .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection{background-color:#e9ecef;cursor:not-allowed;border-color:#ced4da;box-shadow:none}#bookly-tbs .select2-container--bootstrap4.select2-container--disabled .select2-search__field,#bookly-tbs .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-search__field{background-color:transparent}form.was-validated select:invalid~#bookly-tbs .select2-container--bootstrap4 .select2-selection,select.is-invalid~#bookly-tbs .select2-container--bootstrap4 .select2-selection{border-color:#dc3545}form.was-validated select:valid~#bookly-tbs .select2-container--bootstrap4 .select2-selection,select.is-valid~#bookly-tbs .select2-container--bootstrap4 .select2-selection{border-color:#28a745}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown{border-color:#ced4da;border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above{border-top:1px solid #ced4da;border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected=true]{background-color:#e9ecef}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown .select2-results__option:empty{padding:0}#bookly-tbs .select2-container--bootstrap4 .select2-results__option--highlighted,#bookly-tbs .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true]{background-color:#007bff;color:#f8f9fa}#bookly-tbs .select2-container--bootstrap4 .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--bootstrap4 .select2-results>.select2-results__options{max-height:15em;overflow-y:auto}#bookly-tbs .select2-container--bootstrap4 .select2-results__group{padding:6px;display:list-item;color:#6c757d}#bookly-tbs .select2-container--bootstrap4 .select2-selection__clear{width:1.2em;height:1.2em;line-height:1.15em;padding-left:.3em;margin-top:.5em;color:#6c757d;font-weight:700;float:right;margin-right:.3em}#bookly-tbs .select2-container--bootstrap4 .select2-selection__clear:hover{color:#343a40}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection,#bookly-tbs #bookly-package-dialog .select2 .select2-selection{height:38px;box-shadow:none}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection__choice,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection__choice,#bookly-tbs #bookly-package-dialog .select2 .select2-selection__choice{display:none}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection ul,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection ul,#bookly-tbs #bookly-package-dialog .select2 .select2-selection ul{margin-bottom:0}#bookly-tbs #bookly-appointment-dialog .select2.select2-container--focus,#bookly-tbs #bookly-coupon-modal .select2.select2-container--focus,#bookly-tbs #bookly-package-dialog .select2.select2-container--focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.25);border-radius:.25rem}#bookly-tbs #bookly-appointment-dialog .select2 .select2-search,#bookly-tbs #bookly-coupon-modal .select2 .select2-search,#bookly-tbs #bookly-package-dialog .select2 .select2-search{float:none;margin:3px 0;padding-left:8px;border-radius:.25rem}#bookly-tbs #bookly-appointment-dialog .select2 .select2-search__field,#bookly-tbs #bookly-coupon-modal .select2 .select2-search__field,#bookly-tbs #bookly-package-dialog .select2 .select2-search__field{min-width:50%!important;box-shadow:none;margin:0;padding:0;border:0}#bookly-tbs #select2-bookly-appointment-dialog-select2-results .select2-results__option[aria-selected=true]{background-color:#fff;color:#212529}.rtl #bookly-tbs *{text-align:right}.rtl #bookly-tbs .card-footer>button{margin:.25rem}.rtl #bookly-tbs .close{float:left}.rtl #bookly-tbs i.far,.rtl #bookly-tbs i.fas{margin-left:.5rem}.rtl #bookly-tbs .daterangepicker .calendar-table{text-align:center}.rtl #bookly-tbs .daterangepicker .drp-calendar{max-width:315px}.rtl #bookly-tbs .daterangepicker.show-calendar.show-ranges{width:774px}.rtl #bookly-tbs .fc-center h2{position:absolute;right:50%;top:0}.rtl #bookly-tbs .fc-icon{text-align:center}.rtl #bookly-tbs .input-group .select2-selection{border-radius:0 5px 5px 0!important}.rtl #bookly-tbs .input-group .form-control{border-radius:0 5px 5px 0;right:1px}.rtl #bookly-tbs .fc .input-group .input-group-append .fc-button,.rtl #bookly-tbs .input-group .input-group-append .btn,.rtl #bookly-tbs .input-group .input-group-append .fc .fc-button,.rtl #bookly-tbs .input-group .input-group-append .input-group-text{border-radius:5px 0 0 5px;border-top-left-radius:5px;border-bottom-left-radius:5px}.rtl #bookly-tbs .input-group .input-group-prepend{margin-left:-1px}.rtl #bookly-tbs .input-group .input-group-prepend .input-group-text{border-radius:0 5px 5px 0}.rtl #bookly-tbs #bookly-customer-information-fields .input-group .input-group-append:nth-child(2)>*{border-radius:0!important}.rtl #bookly-tbs .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:20px;padding-left:8px}.rtl #bookly-tbs .btn-group>:first-child,.rtl #bookly-tbs .fc .fc-button-group>:first-child{border-radius:0 3px 3px 0!important}.rtl #bookly-tbs .btn-group>.dropdown-toggle,.rtl #bookly-tbs .btn-group>:last-child,.rtl #bookly-tbs .fc .fc-button-group>.dropdown-toggle,.rtl #bookly-tbs .fc .fc-button-group>:last-child{border-radius:3px 0 0 3px!important;margin-right:0!important}.rtl #bookly-tbs .intl-tel-input .selected-flag{padding:0 16px 0 0}.rtl #bookly-tbs .intl-tel-input .country-list .flag-box{margin-left:6px}.rtl #bookly-tbs .intl-tel-input .form-control{padding-right:45px;padding-left:.75rem}.rtl #bookly-tbs .modal-header button.close{position:absolute;left:0}.rtl #bookly-tbs .custom-control.custom-checkbox{padding-left:0}.rtl #bookly-tbs label.custom-control-label{position:relative;padding-right:1.5rem}.rtl #bookly-tbs label.custom-control-label::after,.rtl #bookly-tbs label.custom-control-label::before{right:0;left:auto}
|
3 |
* Copyright 2011-2019 The Bootstrap Authors
|
4 |
* Copyright 2011-2019 Twitter, Inc.
|
5 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
6 |
+
*/#bookly-tbs{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:transparent}#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{box-sizing:border-box}#bookly-tbs html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#bookly-tbs article,#bookly-tbs aside,#bookly-tbs figcaption,#bookly-tbs figure,#bookly-tbs footer,#bookly-tbs header,#bookly-tbs hgroup,#bookly-tbs main,#bookly-tbs nav,#bookly-tbs section{display:block}#bookly-tbs body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}#bookly-tbs [tabindex="-1"]:focus:not(:focus-visible){outline:0!important}#bookly-tbs hr{box-sizing:content-box;height:0;overflow:visible}#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-top:0;margin-bottom:.5rem}#bookly-tbs p{margin-top:0;margin-bottom:1rem}#bookly-tbs abbr[data-original-title],#bookly-tbs abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}#bookly-tbs address{margin-bottom:1rem;font-style:normal;line-height:inherit}#bookly-tbs dl,#bookly-tbs ol,#bookly-tbs ul{margin-top:0;margin-bottom:1rem}#bookly-tbs ol ol,#bookly-tbs ol ul,#bookly-tbs ul ol,#bookly-tbs ul ul{margin-bottom:0}#bookly-tbs dt{font-weight:700}#bookly-tbs dd{margin-bottom:.5rem;margin-left:0}#bookly-tbs blockquote{margin:0 0 1rem}#bookly-tbs b,#bookly-tbs strong{font-weight:bolder}#bookly-tbs small{font-size:80%}#bookly-tbs sub,#bookly-tbs sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}#bookly-tbs sub{bottom:-.25em}#bookly-tbs sup{top:-.5em}#bookly-tbs a{color:#007bff;text-decoration:none;background-color:transparent}#bookly-tbs a:hover{color:#0056b3;text-decoration:underline}#bookly-tbs a:not([href]){color:inherit;text-decoration:none}#bookly-tbs a:not([href]):hover{color:inherit;text-decoration:none}#bookly-tbs code,#bookly-tbs kbd,#bookly-tbs pre,#bookly-tbs samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}#bookly-tbs pre{margin-top:0;margin-bottom:1rem;overflow:auto}#bookly-tbs figure{margin:0 0 1rem}#bookly-tbs img{vertical-align:middle;border-style:none}#bookly-tbs svg{overflow:hidden;vertical-align:middle}#bookly-tbs table{border-collapse:collapse}#bookly-tbs caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}#bookly-tbs th{text-align:inherit}#bookly-tbs label{display:inline-block;margin-bottom:.5rem}#bookly-tbs button{border-radius:0}#bookly-tbs button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}#bookly-tbs button,#bookly-tbs input,#bookly-tbs optgroup,#bookly-tbs select,#bookly-tbs textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}#bookly-tbs button,#bookly-tbs input{overflow:visible}#bookly-tbs button,#bookly-tbs select{text-transform:none}#bookly-tbs select{word-wrap:normal}#bookly-tbs [type=button],#bookly-tbs [type=reset],#bookly-tbs [type=submit],#bookly-tbs button{-webkit-appearance:button}#bookly-tbs [type=button]:not(:disabled),#bookly-tbs [type=reset]:not(:disabled),#bookly-tbs [type=submit]:not(:disabled),#bookly-tbs button:not(:disabled){cursor:pointer}#bookly-tbs [type=button]::-moz-focus-inner,#bookly-tbs [type=reset]::-moz-focus-inner,#bookly-tbs [type=submit]::-moz-focus-inner,#bookly-tbs button::-moz-focus-inner{padding:0;border-style:none}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{box-sizing:border-box;padding:0}#bookly-tbs input[type=date],#bookly-tbs input[type=datetime-local],#bookly-tbs input[type=month],#bookly-tbs input[type=time]{-webkit-appearance:listbox}#bookly-tbs textarea{overflow:auto;resize:vertical}#bookly-tbs fieldset{min-width:0;padding:0;margin:0;border:0}#bookly-tbs legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}#bookly-tbs progress{vertical-align:baseline}#bookly-tbs [type=number]::-webkit-inner-spin-button,#bookly-tbs [type=number]::-webkit-outer-spin-button{height:auto}#bookly-tbs [type=search]{outline-offset:-2px;-webkit-appearance:none}#bookly-tbs [type=search]::-webkit-search-decoration{-webkit-appearance:none}#bookly-tbs ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}#bookly-tbs output{display:inline-block}#bookly-tbs summary{display:list-item;cursor:pointer}#bookly-tbs template{display:none}#bookly-tbs [hidden]{display:none!important}#bookly-tbs .h1,#bookly-tbs .h2,#bookly-tbs .h3,#bookly-tbs .h4,#bookly-tbs .h5,#bookly-tbs .h6,#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}#bookly-tbs .h1,#bookly-tbs h1{font-size:2.5rem}#bookly-tbs .h2,#bookly-tbs h2{font-size:2rem}#bookly-tbs .h3,#bookly-tbs h3{font-size:1.75rem}#bookly-tbs .h4,#bookly-tbs h4{font-size:1.5rem}#bookly-tbs .h5,#bookly-tbs h5{font-size:1.25rem}#bookly-tbs .h6,#bookly-tbs h6{font-size:1rem}#bookly-tbs .lead{font-size:1.25rem;font-weight:300}#bookly-tbs .display-1{font-size:6rem;font-weight:300;line-height:1.2}#bookly-tbs .display-2{font-size:5.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-3{font-size:4.5rem;font-weight:300;line-height:1.2}#bookly-tbs .display-4{font-size:3.5rem;font-weight:300;line-height:1.2}#bookly-tbs hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}#bookly-tbs .small,#bookly-tbs small{font-size:80%;font-weight:400}#bookly-tbs .mark,#bookly-tbs mark{padding:.2em;background-color:#fcf8e3}#bookly-tbs .list-unstyled{padding-left:0;list-style:none}#bookly-tbs .list-inline{padding-left:0;list-style:none}#bookly-tbs .list-inline-item{display:inline-block}#bookly-tbs .list-inline-item:not(:last-child){margin-right:.5rem}#bookly-tbs .initialism{font-size:90%;text-transform:uppercase}#bookly-tbs .blockquote{margin-bottom:1rem;font-size:1.25rem}#bookly-tbs .blockquote-footer{display:block;font-size:80%;color:#6c757d}#bookly-tbs .blockquote-footer::before{content:"\2014\00A0"}#bookly-tbs .img-fluid{max-width:100%;height:auto}#bookly-tbs .img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}#bookly-tbs .figure{display:inline-block}#bookly-tbs .figure-img{margin-bottom:.5rem;line-height:1}#bookly-tbs .figure-caption{font-size:90%;color:#6c757d}#bookly-tbs code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>#bookly-tbs code{color:inherit}#bookly-tbs kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}#bookly-tbs kbd kbd{padding:0;font-size:100%;font-weight:700}#bookly-tbs pre{display:block;font-size:87.5%;color:#212529}#bookly-tbs pre code{font-size:inherit;color:inherit;word-break:normal}#bookly-tbs .pre-scrollable{max-height:340px;overflow-y:scroll}#bookly-tbs .container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container{max-width:540px}}@media (min-width:768px){#bookly-tbs .container{max-width:720px}}@media (min-width:992px){#bookly-tbs .container{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container{max-width:1140px}}#bookly-tbs .container-fluid,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){#bookly-tbs .container,#bookly-tbs .container-sm{max-width:540px}}@media (min-width:768px){#bookly-tbs .container,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:720px}}@media (min-width:992px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm{max-width:960px}}@media (min-width:1200px){#bookly-tbs .container,#bookly-tbs .container-lg,#bookly-tbs .container-md,#bookly-tbs .container-sm,#bookly-tbs .container-xl{max-width:1140px}}#bookly-tbs .jCal-wrap,#bookly-tbs .row{display:-webkit-box;display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .no-gutters{margin-right:0;margin-left:0}#bookly-tbs .no-gutters>.col,#bookly-tbs .no-gutters>[class*=col-]{padding-right:0;padding-left:0}#bookly-tbs .col,#bookly-tbs .col-1,#bookly-tbs .col-10,#bookly-tbs .col-11,#bookly-tbs .col-12,#bookly-tbs .col-2,#bookly-tbs .col-3,#bookly-tbs .col-4,#bookly-tbs .col-5,#bookly-tbs .col-6,#bookly-tbs .col-7,#bookly-tbs .col-8,#bookly-tbs .col-9,#bookly-tbs .col-auto,#bookly-tbs .col-lg,#bookly-tbs .col-lg-1,#bookly-tbs .col-lg-10,#bookly-tbs .col-lg-11,#bookly-tbs .col-lg-12,#bookly-tbs .col-lg-2,#bookly-tbs .col-lg-3,#bookly-tbs .col-lg-4,#bookly-tbs .col-lg-5,#bookly-tbs .col-lg-6,#bookly-tbs .col-lg-7,#bookly-tbs .col-lg-8,#bookly-tbs .col-lg-9,#bookly-tbs .col-lg-auto,#bookly-tbs .col-md,#bookly-tbs .col-md-1,#bookly-tbs .col-md-10,#bookly-tbs .col-md-11,#bookly-tbs .col-md-12,#bookly-tbs .col-md-2,#bookly-tbs .col-md-3,#bookly-tbs .col-md-4,#bookly-tbs .col-md-5,#bookly-tbs .col-md-6,#bookly-tbs .col-md-7,#bookly-tbs .col-md-8,#bookly-tbs .col-md-9,#bookly-tbs .col-md-auto,#bookly-tbs .col-sm,#bookly-tbs .col-sm-1,#bookly-tbs .col-sm-10,#bookly-tbs .col-sm-11,#bookly-tbs .col-sm-12,#bookly-tbs .col-sm-2,#bookly-tbs .col-sm-3,#bookly-tbs .col-sm-4,#bookly-tbs .col-sm-5,#bookly-tbs .col-sm-6,#bookly-tbs .col-sm-7,#bookly-tbs .col-sm-8,#bookly-tbs .col-sm-9,#bookly-tbs .col-sm-auto,#bookly-tbs .col-xl,#bookly-tbs .col-xl-1,#bookly-tbs .col-xl-10,#bookly-tbs .col-xl-11,#bookly-tbs .col-xl-12,#bookly-tbs .col-xl-2,#bookly-tbs .col-xl-3,#bookly-tbs .col-xl-4,#bookly-tbs .col-xl-5,#bookly-tbs .col-xl-6,#bookly-tbs .col-xl-7,#bookly-tbs .col-xl-8,#bookly-tbs .col-xl-9,#bookly-tbs .col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}#bookly-tbs .col{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-1{margin-left:8.333333%}#bookly-tbs .offset-2{margin-left:16.666667%}#bookly-tbs .offset-3{margin-left:25%}#bookly-tbs .offset-4{margin-left:33.333333%}#bookly-tbs .offset-5{margin-left:41.666667%}#bookly-tbs .offset-6{margin-left:50%}#bookly-tbs .offset-7{margin-left:58.333333%}#bookly-tbs .offset-8{margin-left:66.666667%}#bookly-tbs .offset-9{margin-left:75%}#bookly-tbs .offset-10{margin-left:83.333333%}#bookly-tbs .offset-11{margin-left:91.666667%}@media (min-width:576px){#bookly-tbs .col-sm{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-sm-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-sm-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-sm-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-sm-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-sm-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-sm-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-sm-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-sm-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-sm-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-sm-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-sm-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-sm-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-sm-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-sm-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-sm-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-sm-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-sm-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-sm-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-sm-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-sm-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-sm-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-sm-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-sm-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-sm-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-sm-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-sm-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-sm-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-sm-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-sm-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-sm-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-sm-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-sm-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-sm-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-sm-0{margin-left:0}#bookly-tbs .offset-sm-1{margin-left:8.333333%}#bookly-tbs .offset-sm-2{margin-left:16.666667%}#bookly-tbs .offset-sm-3{margin-left:25%}#bookly-tbs .offset-sm-4{margin-left:33.333333%}#bookly-tbs .offset-sm-5{margin-left:41.666667%}#bookly-tbs .offset-sm-6{margin-left:50%}#bookly-tbs .offset-sm-7{margin-left:58.333333%}#bookly-tbs .offset-sm-8{margin-left:66.666667%}#bookly-tbs .offset-sm-9{margin-left:75%}#bookly-tbs .offset-sm-10{margin-left:83.333333%}#bookly-tbs .offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){#bookly-tbs .col-md{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-md-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-md-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-md-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-md-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-md-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-md-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-md-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-md-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-md-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-md-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-md-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-md-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-md-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-md-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-md-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-md-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-md-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-md-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-md-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-md-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-md-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-md-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-md-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-md-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-md-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-md-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-md-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-md-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-md-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-md-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-md-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-md-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-md-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-md-0{margin-left:0}#bookly-tbs .offset-md-1{margin-left:8.333333%}#bookly-tbs .offset-md-2{margin-left:16.666667%}#bookly-tbs .offset-md-3{margin-left:25%}#bookly-tbs .offset-md-4{margin-left:33.333333%}#bookly-tbs .offset-md-5{margin-left:41.666667%}#bookly-tbs .offset-md-6{margin-left:50%}#bookly-tbs .offset-md-7{margin-left:58.333333%}#bookly-tbs .offset-md-8{margin-left:66.666667%}#bookly-tbs .offset-md-9{margin-left:75%}#bookly-tbs .offset-md-10{margin-left:83.333333%}#bookly-tbs .offset-md-11{margin-left:91.666667%}}@media (min-width:992px){#bookly-tbs .col-lg{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-lg-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-lg-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-lg-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-lg-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-lg-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-lg-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-lg-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-lg-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-lg-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-lg-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-lg-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-lg-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-lg-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-lg-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-lg-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-lg-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-lg-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-lg-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-lg-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-lg-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-lg-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-lg-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-lg-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-lg-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-lg-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-lg-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-lg-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-lg-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-lg-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-lg-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-lg-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-lg-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-lg-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-lg-0{margin-left:0}#bookly-tbs .offset-lg-1{margin-left:8.333333%}#bookly-tbs .offset-lg-2{margin-left:16.666667%}#bookly-tbs .offset-lg-3{margin-left:25%}#bookly-tbs .offset-lg-4{margin-left:33.333333%}#bookly-tbs .offset-lg-5{margin-left:41.666667%}#bookly-tbs .offset-lg-6{margin-left:50%}#bookly-tbs .offset-lg-7{margin-left:58.333333%}#bookly-tbs .offset-lg-8{margin-left:66.666667%}#bookly-tbs .offset-lg-9{margin-left:75%}#bookly-tbs .offset-lg-10{margin-left:83.333333%}#bookly-tbs .offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){#bookly-tbs .col-xl{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}#bookly-tbs .row-cols-xl-1>*{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .row-cols-xl-2>*{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .row-cols-xl-3>*{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .row-cols-xl-4>*{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .row-cols-xl-5>*{-webkit-box-flex:0;flex:0 0 20%;max-width:20%}#bookly-tbs .row-cols-xl-6>*{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:100%}#bookly-tbs .col-xl-1{-webkit-box-flex:0;flex:0 0 8.333333%;max-width:8.333333%}#bookly-tbs .col-xl-2{-webkit-box-flex:0;flex:0 0 16.666667%;max-width:16.666667%}#bookly-tbs .col-xl-3{-webkit-box-flex:0;flex:0 0 25%;max-width:25%}#bookly-tbs .col-xl-4{-webkit-box-flex:0;flex:0 0 33.333333%;max-width:33.333333%}#bookly-tbs .col-xl-5{-webkit-box-flex:0;flex:0 0 41.666667%;max-width:41.666667%}#bookly-tbs .col-xl-6{-webkit-box-flex:0;flex:0 0 50%;max-width:50%}#bookly-tbs .col-xl-7{-webkit-box-flex:0;flex:0 0 58.333333%;max-width:58.333333%}#bookly-tbs .col-xl-8{-webkit-box-flex:0;flex:0 0 66.666667%;max-width:66.666667%}#bookly-tbs .col-xl-9{-webkit-box-flex:0;flex:0 0 75%;max-width:75%}#bookly-tbs .col-xl-10{-webkit-box-flex:0;flex:0 0 83.333333%;max-width:83.333333%}#bookly-tbs .col-xl-11{-webkit-box-flex:0;flex:0 0 91.666667%;max-width:91.666667%}#bookly-tbs .col-xl-12{-webkit-box-flex:0;flex:0 0 100%;max-width:100%}#bookly-tbs .order-xl-first{-webkit-box-ordinal-group:0;order:-1}#bookly-tbs .order-xl-last{-webkit-box-ordinal-group:14;order:13}#bookly-tbs .order-xl-0{-webkit-box-ordinal-group:1;order:0}#bookly-tbs .order-xl-1{-webkit-box-ordinal-group:2;order:1}#bookly-tbs .order-xl-2{-webkit-box-ordinal-group:3;order:2}#bookly-tbs .order-xl-3{-webkit-box-ordinal-group:4;order:3}#bookly-tbs .order-xl-4{-webkit-box-ordinal-group:5;order:4}#bookly-tbs .order-xl-5{-webkit-box-ordinal-group:6;order:5}#bookly-tbs .order-xl-6{-webkit-box-ordinal-group:7;order:6}#bookly-tbs .order-xl-7{-webkit-box-ordinal-group:8;order:7}#bookly-tbs .order-xl-8{-webkit-box-ordinal-group:9;order:8}#bookly-tbs .order-xl-9{-webkit-box-ordinal-group:10;order:9}#bookly-tbs .order-xl-10{-webkit-box-ordinal-group:11;order:10}#bookly-tbs .order-xl-11{-webkit-box-ordinal-group:12;order:11}#bookly-tbs .order-xl-12{-webkit-box-ordinal-group:13;order:12}#bookly-tbs .offset-xl-0{margin-left:0}#bookly-tbs .offset-xl-1{margin-left:8.333333%}#bookly-tbs .offset-xl-2{margin-left:16.666667%}#bookly-tbs .offset-xl-3{margin-left:25%}#bookly-tbs .offset-xl-4{margin-left:33.333333%}#bookly-tbs .offset-xl-5{margin-left:41.666667%}#bookly-tbs .offset-xl-6{margin-left:50%}#bookly-tbs .offset-xl-7{margin-left:58.333333%}#bookly-tbs .offset-xl-8{margin-left:66.666667%}#bookly-tbs .offset-xl-9{margin-left:75%}#bookly-tbs .offset-xl-10{margin-left:83.333333%}#bookly-tbs .offset-xl-11{margin-left:91.666667%}}#bookly-tbs .table{width:100%;margin-bottom:1rem;color:#212529}#bookly-tbs .table td,#bookly-tbs .table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}#bookly-tbs .table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}#bookly-tbs .table tbody+tbody{border-top:2px solid #dee2e6}#bookly-tbs .table-sm td,#bookly-tbs .table-sm th{padding:.3rem}#bookly-tbs .table-bordered{border:1px solid #dee2e6}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6}#bookly-tbs .table-bordered thead td,#bookly-tbs .table-bordered thead th{border-bottom-width:2px}#bookly-tbs .table-borderless tbody+tbody,#bookly-tbs .table-borderless td,#bookly-tbs .table-borderless th,#bookly-tbs .table-borderless thead th{border:0}#bookly-tbs .table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}#bookly-tbs .table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}#bookly-tbs .table-primary,#bookly-tbs .table-primary>td,#bookly-tbs .table-primary>th{background-color:#b8daff}#bookly-tbs .table-primary tbody+tbody,#bookly-tbs .table-primary td,#bookly-tbs .table-primary th,#bookly-tbs .table-primary thead th{border-color:#7abaff}#bookly-tbs .table-hover .table-primary:hover{background-color:#9fcdff}#bookly-tbs .table-hover .table-primary:hover>td,#bookly-tbs .table-hover .table-primary:hover>th{background-color:#9fcdff}#bookly-tbs .table-secondary,#bookly-tbs .table-secondary>td,#bookly-tbs .table-secondary>th{background-color:#d6d8db}#bookly-tbs .table-secondary tbody+tbody,#bookly-tbs .table-secondary td,#bookly-tbs .table-secondary th,#bookly-tbs .table-secondary thead th{border-color:#b3b7bb}#bookly-tbs .table-hover .table-secondary:hover{background-color:#c8cbcf}#bookly-tbs .table-hover .table-secondary:hover>td,#bookly-tbs .table-hover .table-secondary:hover>th{background-color:#c8cbcf}#bookly-tbs .table-success,#bookly-tbs .table-success>td,#bookly-tbs .table-success>th{background-color:#c3e6cb}#bookly-tbs .table-success tbody+tbody,#bookly-tbs .table-success td,#bookly-tbs .table-success th,#bookly-tbs .table-success thead th{border-color:#8fd19e}#bookly-tbs .table-hover .table-success:hover{background-color:#b1dfbb}#bookly-tbs .table-hover .table-success:hover>td,#bookly-tbs .table-hover .table-success:hover>th{background-color:#b1dfbb}#bookly-tbs .table-info,#bookly-tbs .table-info>td,#bookly-tbs .table-info>th{background-color:#bee5eb}#bookly-tbs .table-info tbody+tbody,#bookly-tbs .table-info td,#bookly-tbs .table-info th,#bookly-tbs .table-info thead th{border-color:#86cfda}#bookly-tbs .table-hover .table-info:hover{background-color:#abdde5}#bookly-tbs .table-hover .table-info:hover>td,#bookly-tbs .table-hover .table-info:hover>th{background-color:#abdde5}#bookly-tbs .table-warning,#bookly-tbs .table-warning>td,#bookly-tbs .table-warning>th{background-color:#ffeeba}#bookly-tbs .table-warning tbody+tbody,#bookly-tbs .table-warning td,#bookly-tbs .table-warning th,#bookly-tbs .table-warning thead th{border-color:#ffdf7e}#bookly-tbs .table-hover .table-warning:hover{background-color:#ffe8a1}#bookly-tbs .table-hover .table-warning:hover>td,#bookly-tbs .table-hover .table-warning:hover>th{background-color:#ffe8a1}#bookly-tbs .table-danger,#bookly-tbs .table-danger>td,#bookly-tbs .table-danger>th{background-color:#f5c6cb}#bookly-tbs .table-danger tbody+tbody,#bookly-tbs .table-danger td,#bookly-tbs .table-danger th,#bookly-tbs .table-danger thead th{border-color:#ed969e}#bookly-tbs .table-hover .table-danger:hover{background-color:#f1b0b7}#bookly-tbs .table-hover .table-danger:hover>td,#bookly-tbs .table-hover .table-danger:hover>th{background-color:#f1b0b7}#bookly-tbs .table-light,#bookly-tbs .table-light>td,#bookly-tbs .table-light>th{background-color:#fdfdfe}#bookly-tbs .table-light tbody+tbody,#bookly-tbs .table-light td,#bookly-tbs .table-light th,#bookly-tbs .table-light thead th{border-color:#fbfcfc}#bookly-tbs .table-hover .table-light:hover{background-color:#ececf6}#bookly-tbs .table-hover .table-light:hover>td,#bookly-tbs .table-hover .table-light:hover>th{background-color:#ececf6}#bookly-tbs .table-dark,#bookly-tbs .table-dark>td,#bookly-tbs .table-dark>th{background-color:#c6c8ca}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#95999c}#bookly-tbs .table-hover .table-dark:hover{background-color:#b9bbbe}#bookly-tbs .table-hover .table-dark:hover>td,#bookly-tbs .table-hover .table-dark:hover>th{background-color:#b9bbbe}#bookly-tbs .table-active,#bookly-tbs .table-active>td,#bookly-tbs .table-active>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}#bookly-tbs .table-hover .table-active:hover>td,#bookly-tbs .table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}#bookly-tbs .table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}#bookly-tbs .table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .table-dark{color:#fff;background-color:#343a40}#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#454d55}#bookly-tbs .table-dark.table-bordered{border:0}#bookly-tbs .table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}#bookly-tbs .table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){#bookly-tbs .table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){#bookly-tbs .table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){#bookly-tbs .table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){#bookly-tbs .table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive-xl>.table-bordered{border:0}}#bookly-tbs .table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#bookly-tbs .table-responsive>.table-bordered{border:0}#bookly-tbs .form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .form-control{-webkit-transition:none;transition:none}}#bookly-tbs .form-control::-ms-expand{background-color:transparent;border:0}#bookly-tbs .form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::-moz-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::-ms-input-placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control::placeholder{color:#6c757d;opacity:1}#bookly-tbs .form-control:disabled,#bookly-tbs .form-control[readonly]{background-color:#e9ecef;opacity:1}#bookly-tbs select.form-control:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .form-control-file,#bookly-tbs .form-control-range{display:block;width:100%}#bookly-tbs .col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}#bookly-tbs .col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}#bookly-tbs .col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}#bookly-tbs .form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}#bookly-tbs .form-control-plaintext.form-control-lg,#bookly-tbs .form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}#bookly-tbs .form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs select.form-control[multiple],#bookly-tbs select.form-control[size]{height:auto}#bookly-tbs textarea.form-control{height:auto}#bookly-tbs .form-group{margin-bottom:1rem}#bookly-tbs .form-text{display:block;margin-top:.25rem}#bookly-tbs .form-row{display:-webkit-box;display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}#bookly-tbs .form-row>.col,#bookly-tbs .form-row>[class*=col-]{padding-right:5px;padding-left:5px}#bookly-tbs .form-check{position:relative;display:block;padding-left:1.25rem}#bookly-tbs .form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}#bookly-tbs .form-check-input:disabled~.form-check-label,#bookly-tbs .form-check-input[disabled]~.form-check-label{color:#6c757d}#bookly-tbs .form-check-label{margin-bottom:0}#bookly-tbs .form-check-inline{display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;padding-left:0;margin-right:.75rem}#bookly-tbs .form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}#bookly-tbs .valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}#bookly-tbs .valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}#bookly-tbs.is-valid~.valid-feedback,#bookly-tbs.is-valid~.valid-tooltip,.was-validated #bookly-tbs:valid~.valid-feedback,.was-validated #bookly-tbs:valid~.valid-tooltip{display:block}#bookly-tbs .form-control.is-valid,.was-validated #bookly-tbs .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-valid:focus,.was-validated #bookly-tbs .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs textarea.form-control.is-valid,.was-validated #bookly-tbs textarea.form-control:valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-valid,.was-validated #bookly-tbs .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-valid:focus,.was-validated #bookly-tbs .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .form-check-input.is-valid~.form-check-label,.was-validated #bookly-tbs .form-check-input:valid~.form-check-label{color:#28a745}#bookly-tbs .form-check-input.is-valid~.valid-feedback,#bookly-tbs .form-check-input.is-valid~.valid-tooltip,.was-validated #bookly-tbs .form-check-input:valid~.valid-feedback,.was-validated #bookly-tbs .form-check-input:valid~.valid-tooltip{display:block}#bookly-tbs .custom-control-input.is-valid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label{color:#28a745}#bookly-tbs .custom-control-input.is-valid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}#bookly-tbs .custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid~.custom-file-label{border-color:#28a745}#bookly-tbs .custom-file-input.is-valid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}#bookly-tbs .invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}#bookly-tbs .invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}#bookly-tbs.is-invalid~.invalid-feedback,#bookly-tbs.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs:invalid~.invalid-feedback,.was-validated #bookly-tbs:invalid~.invalid-tooltip{display:block}#bookly-tbs .form-control.is-invalid,.was-validated #bookly-tbs .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .form-control.is-invalid:focus,.was-validated #bookly-tbs .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs textarea.form-control.is-invalid,.was-validated #bookly-tbs textarea.form-control:invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}#bookly-tbs .custom-select.is-invalid,.was-validated #bookly-tbs .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}#bookly-tbs .custom-select.is-invalid:focus,.was-validated #bookly-tbs .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-check-input.is-invalid~.form-check-label,.was-validated #bookly-tbs .form-check-input:invalid~.form-check-label{color:#dc3545}#bookly-tbs .form-check-input.is-invalid~.invalid-feedback,#bookly-tbs .form-check-input.is-invalid~.invalid-tooltip,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-feedback,.was-validated #bookly-tbs .form-check-input:invalid~.invalid-tooltip{display:block}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label{color:#dc3545}#bookly-tbs .custom-control-input.is-invalid~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}#bookly-tbs .custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated #bookly-tbs .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}#bookly-tbs .custom-file-input.is-invalid:focus~.custom-file-label,.was-validated #bookly-tbs .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}#bookly-tbs .form-inline{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-align:center;align-items:center}#bookly-tbs .form-inline .form-check{width:100%}@media (min-width:576px){#bookly-tbs .form-inline label{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;margin-bottom:0}#bookly-tbs .form-inline .form-group{display:-webkit-box;display:flex;-webkit-box-flex:0;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-align:center;align-items:center;margin-bottom:0}#bookly-tbs .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}#bookly-tbs .form-inline .form-control-plaintext{display:inline-block}#bookly-tbs .form-inline .custom-select,#bookly-tbs .form-inline .input-group{width:auto}#bookly-tbs .form-inline .form-check{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;width:auto;padding-left:0}#bookly-tbs .form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}#bookly-tbs .form-inline .custom-control{-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}#bookly-tbs .form-inline .custom-control-label{margin-bottom:0}}#bookly-tbs .btn,#bookly-tbs .fc .fc-button{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .btn,#bookly-tbs .fc .fc-button{-webkit-transition:none;transition:none}}#bookly-tbs .btn:hover,#bookly-tbs .fc .fc-button:hover{color:#212529;text-decoration:none}#bookly-tbs .btn.focus,#bookly-tbs .btn:focus,#bookly-tbs .fc .fc-button:focus,#bookly-tbs .fc .focus.fc-button{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .btn.disabled,#bookly-tbs .btn:disabled,#bookly-tbs .fc .disabled.fc-button,#bookly-tbs .fc .fc-button:disabled{opacity:.65}#bookly-tbs .fc a.disabled.fc-button,#bookly-tbs .fc fieldset:disabled a.fc-button,#bookly-tbs a.btn.disabled,#bookly-tbs fieldset:disabled .fc a.fc-button,#bookly-tbs fieldset:disabled a.btn{pointer-events:none}#bookly-tbs .btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}#bookly-tbs .btn-primary.focus,#bookly-tbs .btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-primary.disabled,#bookly-tbs .btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}#bookly-tbs .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}#bookly-tbs .btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}#bookly-tbs .btn-secondary.focus,#bookly-tbs .btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-secondary.disabled,#bookly-tbs .btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}#bookly-tbs .btn-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}#bookly-tbs .btn-success,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:hover,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:hover{color:#fff;background-color:#218838;border-color:#1e7e34}#bookly-tbs .btn-success.focus,#bookly-tbs .btn-success:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .focus.btn-primary{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-success.disabled,#bookly-tbs .btn-success:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:disabled,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .disabled.btn-primary{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-success.dropdown-toggle,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary{color:#fff;background-color:#1e7e34;border-color:#1c7430}#bookly-tbs .btn-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-success:not(:disabled):not(.disabled):active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .daterangepicker.show-calendar .drp-buttons .btn-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-success.dropdown-toggle:focus,.show>#bookly-tbs .daterangepicker.show-calendar .drp-buttons .dropdown-toggle.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}#bookly-tbs .btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}#bookly-tbs .btn-info.focus,#bookly-tbs .btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-info.disabled,#bookly-tbs .btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}#bookly-tbs .btn-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}#bookly-tbs .btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}#bookly-tbs .btn-warning.focus,#bookly-tbs .btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-warning.disabled,#bookly-tbs .btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}#bookly-tbs .btn-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}#bookly-tbs .btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}#bookly-tbs .btn-danger.focus,#bookly-tbs .btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-danger.disabled,#bookly-tbs .btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}#bookly-tbs .btn-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}#bookly-tbs .btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}#bookly-tbs .btn-light.focus,#bookly-tbs .btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-light.disabled,#bookly-tbs .btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}#bookly-tbs .btn-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}#bookly-tbs .btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}#bookly-tbs .btn-dark.focus,#bookly-tbs .btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-dark.disabled,#bookly-tbs .btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}#bookly-tbs .btn-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}#bookly-tbs .btn-outline-primary{color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary.focus,#bookly-tbs .btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-primary.disabled,#bookly-tbs .btn-outline-primary:disabled{color:#007bff;background-color:transparent}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .btn-outline-secondary{color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary.focus,#bookly-tbs .btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-secondary.disabled,#bookly-tbs .btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .btn-outline-success{color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success.focus,#bookly-tbs .btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-success.disabled,#bookly-tbs .btn-outline-success:disabled{color:#28a745;background-color:transparent}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .btn-outline-info{color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info.focus,#bookly-tbs .btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-info.disabled,#bookly-tbs .btn-outline-info:disabled{color:#17a2b8;background-color:transparent}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .btn-outline-warning{color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning.focus,#bookly-tbs .btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-warning.disabled,#bookly-tbs .btn-outline-warning:disabled{color:#ffc107;background-color:transparent}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .btn-outline-danger{color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger.focus,#bookly-tbs .btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-danger.disabled,#bookly-tbs .btn-outline-danger:disabled{color:#dc3545;background-color:transparent}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light.focus,#bookly-tbs .btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-light.disabled,#bookly-tbs .btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .btn-outline-dark{color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark.focus,#bookly-tbs .btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-outline-dark.disabled,#bookly-tbs .btn-outline-dark:disabled{color:#343a40;background-color:transparent}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .btn-link{font-weight:400;color:#007bff;text-decoration:none}#bookly-tbs .btn-link:hover{color:#0056b3;text-decoration:underline}#bookly-tbs .btn-link.focus,#bookly-tbs .btn-link:focus{text-decoration:underline;box-shadow:none}#bookly-tbs .btn-link.disabled,#bookly-tbs .btn-link:disabled{color:#6c757d;pointer-events:none}#bookly-tbs .btn-group-lg>.btn,#bookly-tbs .btn-lg,#bookly-tbs .fc .btn-group-lg>.fc-button{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .btn-group-sm>.btn,#bookly-tbs .btn-sm,#bookly-tbs .fc .btn-group-sm>.fc-button{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .btn-block{display:block;width:100%}#bookly-tbs .btn-block+.btn-block{margin-top:.5rem}#bookly-tbs input[type=button].btn-block,#bookly-tbs input[type=reset].btn-block,#bookly-tbs input[type=submit].btn-block{width:100%}#bookly-tbs .fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .fade{-webkit-transition:none;transition:none}}#bookly-tbs .fade:not(.show){opacity:0}#bookly-tbs .collapse:not(.show){display:none}#bookly-tbs .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .collapsing{-webkit-transition:none;transition:none}}#bookly-tbs .dropdown,#bookly-tbs .dropleft,#bookly-tbs .dropright,#bookly-tbs .dropup{position:relative}#bookly-tbs .dropdown-toggle{white-space:nowrap}#bookly-tbs .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#bookly-tbs .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}#bookly-tbs .dropdown-menu-left{right:auto;left:0}#bookly-tbs .dropdown-menu-right{right:0;left:auto}@media (min-width:576px){#bookly-tbs .dropdown-menu-sm-left{right:auto;left:0}#bookly-tbs .dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){#bookly-tbs .dropdown-menu-md-left{right:auto;left:0}#bookly-tbs .dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){#bookly-tbs .dropdown-menu-lg-left{right:auto;left:0}#bookly-tbs .dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){#bookly-tbs .dropdown-menu-xl-left{right:auto;left:0}#bookly-tbs .dropdown-menu-xl-right{right:0;left:auto}}#bookly-tbs .dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}#bookly-tbs .dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}#bookly-tbs .dropup .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}#bookly-tbs .dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}#bookly-tbs .dropright .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropright .dropdown-toggle::after{vertical-align:0}#bookly-tbs .dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}#bookly-tbs .dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}#bookly-tbs .dropleft .dropdown-toggle::after{display:none}#bookly-tbs .dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}#bookly-tbs .dropleft .dropdown-toggle:empty::after{margin-left:0}#bookly-tbs .dropleft .dropdown-toggle::before{vertical-align:0}#bookly-tbs .dropdown-menu[x-placement^=bottom],#bookly-tbs .dropdown-menu[x-placement^=left],#bookly-tbs .dropdown-menu[x-placement^=right],#bookly-tbs .dropdown-menu[x-placement^=top]{right:auto;bottom:auto}#bookly-tbs .dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}#bookly-tbs .dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.active,#bookly-tbs .dropdown-item:active{color:#16181b;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .dropdown-item.disabled,#bookly-tbs .dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}#bookly-tbs .dropdown-menu.show{display:block}#bookly-tbs .dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}#bookly-tbs .dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}#bookly-tbs .btn-group,#bookly-tbs .btn-group-vertical,#bookly-tbs .fc .fc-button-group{position:relative;display:-webkit-inline-box;display:inline-flex;vertical-align:middle}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group>.btn,#bookly-tbs .fc .btn-group-vertical>.fc-button,#bookly-tbs .fc .btn-group>.fc-button,#bookly-tbs .fc .fc-button-group>.btn,#bookly-tbs .fc .fc-button-group>.fc-button{position:relative;-webkit-box-flex:1;flex:1 1 auto}#bookly-tbs .btn-group-vertical>.btn:hover,#bookly-tbs .btn-group>.btn:hover,#bookly-tbs .fc .btn-group-vertical>.fc-button:hover,#bookly-tbs .fc .btn-group>.fc-button:hover,#bookly-tbs .fc .fc-button-group>.btn:hover,#bookly-tbs .fc .fc-button-group>.fc-button:hover{z-index:1}#bookly-tbs .btn-group-vertical>.btn.active,#bookly-tbs .btn-group-vertical>.btn:active,#bookly-tbs .btn-group-vertical>.btn:focus,#bookly-tbs .btn-group>.btn.active,#bookly-tbs .btn-group>.btn:active,#bookly-tbs .btn-group>.btn:focus,#bookly-tbs .fc .btn-group-vertical>.active.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button:active,#bookly-tbs .fc .btn-group-vertical>.fc-button:focus,#bookly-tbs .fc .btn-group>.active.fc-button,#bookly-tbs .fc .btn-group>.fc-button:active,#bookly-tbs .fc .btn-group>.fc-button:focus,#bookly-tbs .fc .fc-button-group>.active.fc-button,#bookly-tbs .fc .fc-button-group>.btn.active,#bookly-tbs .fc .fc-button-group>.btn:active,#bookly-tbs .fc .fc-button-group>.btn:focus,#bookly-tbs .fc .fc-button-group>.fc-button:active,#bookly-tbs .fc .fc-button-group>.fc-button:focus{z-index:1}#bookly-tbs .btn-toolbar{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .btn-toolbar .input-group{width:auto}#bookly-tbs .btn-group>.btn-group:not(:first-child),#bookly-tbs .btn-group>.btn:not(:first-child),#bookly-tbs .fc .btn-group>.fc-button-group:not(:first-child),#bookly-tbs .fc .btn-group>.fc-button:not(:first-child),#bookly-tbs .fc .fc-button-group>.btn-group:not(:first-child),#bookly-tbs .fc .fc-button-group>.btn:not(:first-child),#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:first-child),#bookly-tbs .fc .fc-button-group>.fc-button:not(:first-child){margin-left:-1px}#bookly-tbs .btn-group>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .btn-group>.btn-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button-group:not(:last-child)>.btn,#bookly-tbs .fc .btn-group>.fc-button-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .fc-button-group>.btn-group:not(:last-child)>.btn,#bookly-tbs .fc .fc-button-group>.btn-group:not(:last-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:last-child)>.btn,#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:last-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.fc-button:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .btn-group>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group>.btn:not(:first-child),#bookly-tbs .fc .btn-group>.btn-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button-group:not(:first-child)>.btn,#bookly-tbs .fc .btn-group>.fc-button-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group>.fc-button:not(:first-child),#bookly-tbs .fc .fc-button-group>.btn-group:not(:first-child)>.btn,#bookly-tbs .fc .fc-button-group>.btn-group:not(:first-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.btn:not(:first-child),#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:first-child)>.btn,#bookly-tbs .fc .fc-button-group>.fc-button-group:not(:first-child)>.fc-button,#bookly-tbs .fc .fc-button-group>.fc-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}#bookly-tbs .dropdown-toggle-split::after,.dropright #bookly-tbs .dropdown-toggle-split::after,.dropup #bookly-tbs .dropdown-toggle-split::after{margin-left:0}.dropleft #bookly-tbs .dropdown-toggle-split::before{margin-right:0}#bookly-tbs .btn-group-sm>.btn+.dropdown-toggle-split,#bookly-tbs .btn-sm+.dropdown-toggle-split,#bookly-tbs .fc .btn-group-sm>.fc-button+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}#bookly-tbs .btn-group-lg>.btn+.dropdown-toggle-split,#bookly-tbs .btn-lg+.dropdown-toggle-split,#bookly-tbs .fc .btn-group-lg>.fc-button+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}#bookly-tbs .btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:start;align-items:flex-start;-webkit-box-pack:center;justify-content:center}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group-vertical>.btn-group,#bookly-tbs .fc .btn-group-vertical>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button-group{width:100%}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child),#bookly-tbs .btn-group-vertical>.btn:not(:first-child),#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:first-child),#bookly-tbs .fc .btn-group-vertical>.fc-button:not(:first-child){margin-top:-1px}#bookly-tbs .btn-group-vertical>.btn-group:not(:last-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .btn-group-vertical>.btn-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:last-child)>.btn,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:last-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child)>.btn,#bookly-tbs .btn-group-vertical>.btn:not(:first-child),#bookly-tbs .fc .btn-group-vertical>.btn-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:first-child)>.btn,#bookly-tbs .fc .btn-group-vertical>.fc-button-group:not(:first-child)>.fc-button,#bookly-tbs .fc .btn-group-vertical>.fc-button:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .btn-group-toggle>.btn,#bookly-tbs .btn-group-toggle>.btn-group>.btn,#bookly-tbs .fc .btn-group-toggle>.btn-group>.fc-button,#bookly-tbs .fc .btn-group-toggle>.fc-button,#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.btn,#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.fc-button{margin-bottom:0}#bookly-tbs .btn-group-toggle>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn input[type=radio],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=checkbox],#bookly-tbs .btn-group-toggle>.btn-group>.btn input[type=radio],#bookly-tbs .fc .btn-group-toggle>.btn-group>.fc-button input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.btn-group>.fc-button input[type=radio],#bookly-tbs .fc .btn-group-toggle>.fc-button input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.fc-button input[type=radio],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.btn input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.btn input[type=radio],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.fc-button input[type=checkbox],#bookly-tbs .fc .btn-group-toggle>.fc-button-group>.fc-button input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}#bookly-tbs .input-group{position:relative;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:stretch;align-items:stretch;width:100%}#bookly-tbs .input-group>.custom-file,#bookly-tbs .input-group>.custom-select,#bookly-tbs .input-group>.form-control,#bookly-tbs .input-group>.form-control-plaintext{position:relative;-webkit-box-flex:1;flex:1 1 0%;min-width:0;margin-bottom:0}#bookly-tbs .input-group>.custom-file+.custom-file,#bookly-tbs .input-group>.custom-file+.custom-select,#bookly-tbs .input-group>.custom-file+.form-control,#bookly-tbs .input-group>.custom-select+.custom-file,#bookly-tbs .input-group>.custom-select+.custom-select,#bookly-tbs .input-group>.custom-select+.form-control,#bookly-tbs .input-group>.form-control+.custom-file,#bookly-tbs .input-group>.form-control+.custom-select,#bookly-tbs .input-group>.form-control+.form-control,#bookly-tbs .input-group>.form-control-plaintext+.custom-file,#bookly-tbs .input-group>.form-control-plaintext+.custom-select,#bookly-tbs .input-group>.form-control-plaintext+.form-control{margin-left:-1px}#bookly-tbs .input-group>.custom-file .custom-file-input:focus~.custom-file-label,#bookly-tbs .input-group>.custom-select:focus,#bookly-tbs .input-group>.form-control:focus{z-index:3}#bookly-tbs .input-group>.custom-file .custom-file-input:focus{z-index:4}#bookly-tbs .input-group>.custom-select:not(:last-child),#bookly-tbs .input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-select:not(:first-child),#bookly-tbs .input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group>.custom-file{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label,#bookly-tbs .input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group-append,#bookly-tbs .input-group-prepend{display:-webkit-box;display:flex}#bookly-tbs .fc .input-group-append .fc-button,#bookly-tbs .fc .input-group-prepend .fc-button,#bookly-tbs .input-group-append .btn,#bookly-tbs .input-group-append .fc .fc-button,#bookly-tbs .input-group-prepend .btn,#bookly-tbs .input-group-prepend .fc .fc-button{position:relative;z-index:2}#bookly-tbs .fc .input-group-append .fc-button:focus,#bookly-tbs .fc .input-group-prepend .fc-button:focus,#bookly-tbs .input-group-append .btn:focus,#bookly-tbs .input-group-append .fc .fc-button:focus,#bookly-tbs .input-group-prepend .btn:focus,#bookly-tbs .input-group-prepend .fc .fc-button:focus{z-index:3}#bookly-tbs .fc .input-group-append .btn+.fc-button,#bookly-tbs .fc .input-group-append .fc-button+.btn,#bookly-tbs .fc .input-group-append .fc-button+.fc-button,#bookly-tbs .fc .input-group-append .fc-button+.input-group-text,#bookly-tbs .fc .input-group-append .input-group-text+.fc-button,#bookly-tbs .fc .input-group-prepend .btn+.fc-button,#bookly-tbs .fc .input-group-prepend .fc-button+.btn,#bookly-tbs .fc .input-group-prepend .fc-button+.fc-button,#bookly-tbs .fc .input-group-prepend .fc-button+.input-group-text,#bookly-tbs .fc .input-group-prepend .input-group-text+.fc-button,#bookly-tbs .input-group-append .btn+.btn,#bookly-tbs .input-group-append .btn+.input-group-text,#bookly-tbs .input-group-append .fc .btn+.fc-button,#bookly-tbs .input-group-append .fc .fc-button+.btn,#bookly-tbs .input-group-append .fc .fc-button+.fc-button,#bookly-tbs .input-group-append .fc .fc-button+.input-group-text,#bookly-tbs .input-group-append .fc .input-group-text+.fc-button,#bookly-tbs .input-group-append .input-group-text+.btn,#bookly-tbs .input-group-append .input-group-text+.input-group-text,#bookly-tbs .input-group-prepend .btn+.btn,#bookly-tbs .input-group-prepend .btn+.input-group-text,#bookly-tbs .input-group-prepend .fc .btn+.fc-button,#bookly-tbs .input-group-prepend .fc .fc-button+.btn,#bookly-tbs .input-group-prepend .fc .fc-button+.fc-button,#bookly-tbs .input-group-prepend .fc .fc-button+.input-group-text,#bookly-tbs .input-group-prepend .fc .input-group-text+.fc-button,#bookly-tbs .input-group-prepend .input-group-text+.btn,#bookly-tbs .input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}#bookly-tbs .input-group-prepend{margin-right:-1px}#bookly-tbs .input-group-append{margin-left:-1px}#bookly-tbs .input-group-text{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .input-group-text input[type=checkbox],#bookly-tbs .input-group-text input[type=radio]{margin-top:0}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}#bookly-tbs .fc .input-group-lg>.input-group-append>.fc-button,#bookly-tbs .fc .input-group-lg>.input-group-prepend>.fc-button,#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-lg>.form-control,#bookly-tbs .input-group-lg>.input-group-append>.btn,#bookly-tbs .input-group-lg>.input-group-append>.input-group-text,#bookly-tbs .input-group-lg>.input-group-prepend>.btn,#bookly-tbs .input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}#bookly-tbs .fc .input-group-sm>.input-group-append>.fc-button,#bookly-tbs .fc .input-group-sm>.input-group-prepend>.fc-button,#bookly-tbs .input-group-sm>.custom-select,#bookly-tbs .input-group-sm>.form-control,#bookly-tbs .input-group-sm>.input-group-append>.btn,#bookly-tbs .input-group-sm>.input-group-append>.input-group-text,#bookly-tbs .input-group-sm>.input-group-prepend>.btn,#bookly-tbs .input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}#bookly-tbs .input-group-lg>.custom-select,#bookly-tbs .input-group-sm>.custom-select{padding-right:1.75rem}#bookly-tbs .fc .input-group>.input-group-append:last-child>.fc-button:not(:last-child):not(.dropdown-toggle),#bookly-tbs .fc .input-group>.input-group-append:not(:last-child)>.fc-button,#bookly-tbs .fc .input-group>.input-group-prepend>.fc-button,#bookly-tbs .input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),#bookly-tbs .input-group>.input-group-append:last-child>.input-group-text:not(:last-child),#bookly-tbs .input-group>.input-group-append:not(:last-child)>.btn,#bookly-tbs .input-group>.input-group-append:not(:last-child)>.input-group-text,#bookly-tbs .input-group>.input-group-prepend>.btn,#bookly-tbs .input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .fc .input-group>.input-group-append>.fc-button,#bookly-tbs .fc .input-group>.input-group-prepend:first-child>.fc-button:not(:first-child),#bookly-tbs .fc .input-group>.input-group-prepend:not(:first-child)>.fc-button,#bookly-tbs .input-group>.input-group-append>.btn,#bookly-tbs .input-group>.input-group-append>.input-group-text,#bookly-tbs .input-group>.input-group-prepend:first-child>.btn:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.btn,#bookly-tbs .input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}#bookly-tbs .custom-control-inline{display:-webkit-inline-box;display:inline-flex;margin-right:1rem}#bookly-tbs .custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}#bookly-tbs .custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}#bookly-tbs .custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}#bookly-tbs .custom-control-input:disabled~.custom-control-label,#bookly-tbs .custom-control-input[disabled]~.custom-control-label{color:#6c757d}#bookly-tbs .custom-control-input:disabled~.custom-control-label::before,#bookly-tbs .custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}#bookly-tbs .custom-control-label{position:relative;margin-bottom:0;vertical-align:top}#bookly-tbs .custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}#bookly-tbs .custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}#bookly-tbs .custom-checkbox .custom-control-label::before{border-radius:.25rem}#bookly-tbs .custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}#bookly-tbs .custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}#bookly-tbs .custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-radio .custom-control-label::before{border-radius:50%}#bookly-tbs .custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}#bookly-tbs .custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-switch{padding-left:2.25rem}#bookly-tbs .custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}#bookly-tbs .custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-switch .custom-control-label::after{-webkit-transition:none;transition:none}}#bookly-tbs .custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}#bookly-tbs .custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}#bookly-tbs .custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-select:focus::-ms-value{color:#495057;background-color:#fff}#bookly-tbs .custom-select[multiple],#bookly-tbs .custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}#bookly-tbs .custom-select:disabled{color:#6c757d;background-color:#e9ecef}#bookly-tbs .custom-select::-ms-expand{display:none}#bookly-tbs .custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}#bookly-tbs .custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}#bookly-tbs .custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}#bookly-tbs .custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}#bookly-tbs .custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}#bookly-tbs .custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-file-input:disabled~.custom-file-label,#bookly-tbs .custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}#bookly-tbs .custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}#bookly-tbs .custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}#bookly-tbs .custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}#bookly-tbs .custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs .custom-range:focus{outline:0}#bookly-tbs .custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .custom-range::-moz-focus-outer{border:0}#bookly-tbs .custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}#bookly-tbs .custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}#bookly-tbs .custom-range::-moz-range-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}#bookly-tbs .custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-range::-ms-thumb{-ms-transition:none;transition:none}}#bookly-tbs .custom-range::-ms-thumb:active{background-color:#b3d7ff}#bookly-tbs .custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}#bookly-tbs .custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}#bookly-tbs .custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-webkit-slider-runnable-track{cursor:default}#bookly-tbs .custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}#bookly-tbs .custom-range:disabled::-moz-range-track{cursor:default}#bookly-tbs .custom-range:disabled::-ms-thumb{background-color:#adb5bd}#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .custom-control-label::before,#bookly-tbs .custom-file-label,#bookly-tbs .custom-select{-webkit-transition:none;transition:none}}#bookly-tbs .nav{display:-webkit-box;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .nav-link{display:block;padding:.5rem 1rem}#bookly-tbs .nav-link:focus,#bookly-tbs .nav-link:hover{text-decoration:none}#bookly-tbs .nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}#bookly-tbs .nav-tabs{border-bottom:1px solid #dee2e6}#bookly-tbs .nav-tabs .nav-item{margin-bottom:-1px}#bookly-tbs .nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .nav-tabs .nav-link:focus,#bookly-tbs .nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}#bookly-tbs .nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}#bookly-tbs .nav-tabs .nav-item.show .nav-link,#bookly-tbs .nav-tabs .nav-link.active{color:#343a40;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}#bookly-tbs .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .nav-pills .nav-link{border-radius:.25rem}#bookly-tbs .nav-pills .nav-link.active,#bookly-tbs .nav-pills .show>.nav-link{color:#fff;background-color:#007bff}#bookly-tbs .nav-fill .nav-item{-webkit-box-flex:1;flex:1 1 auto;text-align:center}#bookly-tbs .nav-justified .nav-item{flex-basis:0;-webkit-box-flex:1;flex-grow:1;text-align:center}#bookly-tbs .tab-content>.tab-pane{display:none}#bookly-tbs .tab-content>.active{display:block}#bookly-tbs .navbar{position:relative;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between;padding:.5rem 1rem}#bookly-tbs .navbar .container,#bookly-tbs .navbar .container-fluid,#bookly-tbs .navbar .container-lg,#bookly-tbs .navbar .container-md,#bookly-tbs .navbar .container-sm,#bookly-tbs .navbar .container-xl{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between}#bookly-tbs .navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}#bookly-tbs .navbar-brand:focus,#bookly-tbs .navbar-brand:hover{text-decoration:none}#bookly-tbs .navbar-nav{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .navbar-nav .nav-link{padding-right:0;padding-left:0}#bookly-tbs .navbar-nav .dropdown-menu{position:static;float:none}#bookly-tbs .navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}#bookly-tbs .navbar-collapse{flex-basis:100%;-webkit-box-flex:1;flex-grow:1;-webkit-box-align:center;align-items:center}#bookly-tbs .navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .navbar-toggler:focus,#bookly-tbs .navbar-toggler:hover{text-decoration:none}#bookly-tbs .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){#bookly-tbs .navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-sm>.container,#bookly-tbs .navbar-expand-sm>.container-fluid,#bookly-tbs .navbar-expand-sm>.container-lg,#bookly-tbs .navbar-expand-sm>.container-md,#bookly-tbs .navbar-expand-sm>.container-sm,#bookly-tbs .navbar-expand-sm>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){#bookly-tbs .navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-md>.container,#bookly-tbs .navbar-expand-md>.container-fluid,#bookly-tbs .navbar-expand-md>.container-lg,#bookly-tbs .navbar-expand-md>.container-md,#bookly-tbs .navbar-expand-md>.container-sm,#bookly-tbs .navbar-expand-md>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){#bookly-tbs .navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-lg>.container,#bookly-tbs .navbar-expand-lg>.container-fluid,#bookly-tbs .navbar-expand-lg>.container-lg,#bookly-tbs .navbar-expand-lg>.container-md,#bookly-tbs .navbar-expand-lg>.container-sm,#bookly-tbs .navbar-expand-lg>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){#bookly-tbs .navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand-xl>.container,#bookly-tbs .navbar-expand-xl>.container-fluid,#bookly-tbs .navbar-expand-xl>.container-lg,#bookly-tbs .navbar-expand-xl>.container-md,#bookly-tbs .navbar-expand-xl>.container-sm,#bookly-tbs .navbar-expand-xl>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand-xl .navbar-toggler{display:none}}#bookly-tbs .navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-pack:start;justify-content:flex-start}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{padding-right:0;padding-left:0}#bookly-tbs .navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .navbar-expand .navbar-nav .dropdown-menu{position:absolute}#bookly-tbs .navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}#bookly-tbs .navbar-expand>.container,#bookly-tbs .navbar-expand>.container-fluid,#bookly-tbs .navbar-expand>.container-lg,#bookly-tbs .navbar-expand>.container-md,#bookly-tbs .navbar-expand>.container-sm,#bookly-tbs .navbar-expand>.container-xl{flex-wrap:nowrap}#bookly-tbs .navbar-expand .navbar-collapse{display:-webkit-box!important;display:flex!important;flex-basis:auto}#bookly-tbs .navbar-expand .navbar-toggler{display:none}#bookly-tbs .navbar-light .navbar-brand{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-brand:focus,#bookly-tbs .navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-nav .nav-link:focus,#bookly-tbs .navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}#bookly-tbs .navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}#bookly-tbs .navbar-light .navbar-nav .active>.nav-link,#bookly-tbs .navbar-light .navbar-nav .nav-link.active,#bookly-tbs .navbar-light .navbar-nav .nav-link.show,#bookly-tbs .navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}#bookly-tbs .navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-light .navbar-text{color:rgba(0,0,0,.5)}#bookly-tbs .navbar-light .navbar-text a{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-light .navbar-text a:focus,#bookly-tbs .navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}#bookly-tbs .navbar-dark .navbar-brand{color:#fff}#bookly-tbs .navbar-dark .navbar-brand:focus,#bookly-tbs .navbar-dark .navbar-brand:hover{color:#fff}#bookly-tbs .navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-nav .nav-link:focus,#bookly-tbs .navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}#bookly-tbs .navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}#bookly-tbs .navbar-dark .navbar-nav .active>.nav-link,#bookly-tbs .navbar-dark .navbar-nav .nav-link.active,#bookly-tbs .navbar-dark .navbar-nav .nav-link.show,#bookly-tbs .navbar-dark .navbar-nav .show>.nav-link{color:#fff}#bookly-tbs .navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}#bookly-tbs .navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}#bookly-tbs .navbar-dark .navbar-text{color:rgba(255,255,255,.5)}#bookly-tbs .navbar-dark .navbar-text a{color:#fff}#bookly-tbs .navbar-dark .navbar-text a:focus,#bookly-tbs .navbar-dark .navbar-text a:hover{color:#fff}#bookly-tbs .card{position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}#bookly-tbs .card>hr{margin-right:0;margin-left:0}#bookly-tbs .card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .card-body{-webkit-box-flex:1;flex:1 1 auto;min-height:1px;padding:1.25rem}#bookly-tbs .card-title{margin-bottom:.75rem}#bookly-tbs .card-subtitle{margin-top:-.375rem;margin-bottom:0}#bookly-tbs .card-text:last-child{margin-bottom:0}#bookly-tbs .card-link:hover{text-decoration:none}#bookly-tbs .card-link+.card-link{margin-left:1.25rem}#bookly-tbs .card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}#bookly-tbs .card-header+.list-group .list-group-item:first-child{border-top:0}#bookly-tbs .card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}#bookly-tbs .card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}#bookly-tbs .card-header-pills{margin-right:-.625rem;margin-left:-.625rem}#bookly-tbs .card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom,#bookly-tbs .card-img-top{flex-shrink:0;width:100%}#bookly-tbs .card-img,#bookly-tbs .card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}#bookly-tbs .card-img,#bookly-tbs .card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}#bookly-tbs .card-deck .card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-deck{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}#bookly-tbs .card-deck .card{-webkit-box-flex:1;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}#bookly-tbs .card-group>.card{margin-bottom:15px}@media (min-width:576px){#bookly-tbs .card-group{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap}#bookly-tbs .card-group>.card{-webkit-box-flex:1;flex:1 0 0%;margin-bottom:0}#bookly-tbs .card-group>.card+.card{margin-left:0;border-left:0}#bookly-tbs .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-header,#bookly-tbs .card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}#bookly-tbs .card-group>.card:not(:last-child) .card-footer,#bookly-tbs .card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}#bookly-tbs .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-header,#bookly-tbs .card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}#bookly-tbs .card-group>.card:not(:first-child) .card-footer,#bookly-tbs .card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}#bookly-tbs .card-columns .card{margin-bottom:.75rem}@media (min-width:576px){#bookly-tbs .card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}#bookly-tbs .card-columns .card{display:inline-block;width:100%}}#bookly-tbs .accordion>.card{overflow:hidden}#bookly-tbs .accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}#bookly-tbs .breadcrumb{display:-webkit-box;display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item{padding-left:.5rem}#bookly-tbs .breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}#bookly-tbs .breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}#bookly-tbs .breadcrumb-item.active{color:#6c757d}#bookly-tbs .pagination{display:-webkit-box;display:flex;padding-left:0;list-style:none;border-radius:.25rem}#bookly-tbs .page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}#bookly-tbs .page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}#bookly-tbs .page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#bookly-tbs .page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}#bookly-tbs .pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}#bookly-tbs .pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}#bookly-tbs .pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}#bookly-tbs .pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}#bookly-tbs .pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}#bookly-tbs .pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}#bookly-tbs .badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .badge{-webkit-transition:none;transition:none}}#bookly-tbs a.badge:focus,#bookly-tbs a.badge:hover{text-decoration:none}#bookly-tbs .badge:empty{display:none}#bookly-tbs .btn .badge,#bookly-tbs .fc .fc-button .badge{position:relative;top:-1px}#bookly-tbs .badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}#bookly-tbs .badge-primary{color:#fff;background-color:#007bff}#bookly-tbs a.badge-primary:focus,#bookly-tbs a.badge-primary:hover{color:#fff;background-color:#0062cc}#bookly-tbs a.badge-primary.focus,#bookly-tbs a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}#bookly-tbs .badge-secondary{color:#fff;background-color:#6c757d}#bookly-tbs a.badge-secondary:focus,#bookly-tbs a.badge-secondary:hover{color:#fff;background-color:#545b62}#bookly-tbs a.badge-secondary.focus,#bookly-tbs a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}#bookly-tbs .badge-success{color:#fff;background-color:#28a745}#bookly-tbs a.badge-success:focus,#bookly-tbs a.badge-success:hover{color:#fff;background-color:#1e7e34}#bookly-tbs a.badge-success.focus,#bookly-tbs a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}#bookly-tbs .badge-info{color:#fff;background-color:#17a2b8}#bookly-tbs a.badge-info:focus,#bookly-tbs a.badge-info:hover{color:#fff;background-color:#117a8b}#bookly-tbs a.badge-info.focus,#bookly-tbs a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}#bookly-tbs .badge-warning{color:#212529;background-color:#ffc107}#bookly-tbs a.badge-warning:focus,#bookly-tbs a.badge-warning:hover{color:#212529;background-color:#d39e00}#bookly-tbs a.badge-warning.focus,#bookly-tbs a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}#bookly-tbs .badge-danger{color:#fff;background-color:#dc3545}#bookly-tbs a.badge-danger:focus,#bookly-tbs a.badge-danger:hover{color:#fff;background-color:#bd2130}#bookly-tbs a.badge-danger.focus,#bookly-tbs a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}#bookly-tbs .badge-light{color:#212529;background-color:#f8f9fa}#bookly-tbs a.badge-light:focus,#bookly-tbs a.badge-light:hover{color:#212529;background-color:#dae0e5}#bookly-tbs a.badge-light.focus,#bookly-tbs a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}#bookly-tbs .badge-dark{color:#fff;background-color:#343a40}#bookly-tbs a.badge-dark:focus,#bookly-tbs a.badge-dark:hover{color:#fff;background-color:#1d2124}#bookly-tbs a.badge-dark.focus,#bookly-tbs a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}#bookly-tbs .jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){#bookly-tbs .jumbotron{padding:4rem 2rem}}#bookly-tbs .jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}#bookly-tbs .alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}#bookly-tbs .alert-heading{color:inherit}#bookly-tbs .alert-link{font-weight:700}#bookly-tbs .alert-dismissible{padding-right:4rem}#bookly-tbs .alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}#bookly-tbs .alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}#bookly-tbs .alert-primary hr{border-top-color:#9fcdff}#bookly-tbs .alert-primary .alert-link{color:#002752}#bookly-tbs .alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}#bookly-tbs .alert-secondary hr{border-top-color:#c8cbcf}#bookly-tbs .alert-secondary .alert-link{color:#202326}#bookly-tbs .alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}#bookly-tbs .alert-success hr{border-top-color:#b1dfbb}#bookly-tbs .alert-success .alert-link{color:#0b2e13}#bookly-tbs .alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}#bookly-tbs .alert-info hr{border-top-color:#abdde5}#bookly-tbs .alert-info .alert-link{color:#062c33}#bookly-tbs .alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}#bookly-tbs .alert-warning hr{border-top-color:#ffe8a1}#bookly-tbs .alert-warning .alert-link{color:#533f03}#bookly-tbs .alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}#bookly-tbs .alert-danger hr{border-top-color:#f1b0b7}#bookly-tbs .alert-danger .alert-link{color:#491217}#bookly-tbs .alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}#bookly-tbs .alert-light hr{border-top-color:#ececf6}#bookly-tbs .alert-light .alert-link{color:#686868}#bookly-tbs .alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}#bookly-tbs .alert-dark hr{border-top-color:#b9bbbe}#bookly-tbs .alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}#bookly-tbs .progress{display:-webkit-box;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}#bookly-tbs .progress-bar{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;-webkit-transition:width .6s ease;transition:width .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar{-webkit-transition:none;transition:none}}#bookly-tbs .progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}#bookly-tbs .progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){#bookly-tbs .progress-bar-animated{-webkit-animation:none;animation:none}}#bookly-tbs .media{display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start}#bookly-tbs .media-body{-webkit-box-flex:1;flex:1}#bookly-tbs .list-group{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;padding-left:0;margin-bottom:0}#bookly-tbs .list-group-item-action{width:100%;color:#495057;text-align:inherit}#bookly-tbs .list-group-item-action:focus,#bookly-tbs .list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}#bookly-tbs .list-group-item-action:active{color:#212529;background-color:#e9ecef}#bookly-tbs .list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}#bookly-tbs .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}#bookly-tbs .list-group-item.disabled,#bookly-tbs .list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}#bookly-tbs .list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item{border-top-width:0}#bookly-tbs .list-group-item+#bookly-tbs .list-group-item.active{margin-top:-1px;border-top-width:1px}#bookly-tbs .list-group-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){#bookly-tbs .list-group-horizontal-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-sm .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){#bookly-tbs .list-group-horizontal-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-md .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){#bookly-tbs .list-group-horizontal-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-lg .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){#bookly-tbs .list-group-horizontal-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}#bookly-tbs .list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}#bookly-tbs .list-group-horizontal-xl .list-group-item.active{margin-top:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}#bookly-tbs .list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}#bookly-tbs .list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}#bookly-tbs .list-group-flush .list-group-item:first-child{border-top-width:0}#bookly-tbs .list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}#bookly-tbs .list-group-item-primary{color:#004085;background-color:#b8daff}#bookly-tbs .list-group-item-primary.list-group-item-action:focus,#bookly-tbs .list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}#bookly-tbs .list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}#bookly-tbs .list-group-item-secondary{color:#383d41;background-color:#d6d8db}#bookly-tbs .list-group-item-secondary.list-group-item-action:focus,#bookly-tbs .list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}#bookly-tbs .list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}#bookly-tbs .list-group-item-success{color:#155724;background-color:#c3e6cb}#bookly-tbs .list-group-item-success.list-group-item-action:focus,#bookly-tbs .list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}#bookly-tbs .list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}#bookly-tbs .list-group-item-info{color:#0c5460;background-color:#bee5eb}#bookly-tbs .list-group-item-info.list-group-item-action:focus,#bookly-tbs .list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}#bookly-tbs .list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}#bookly-tbs .list-group-item-warning{color:#856404;background-color:#ffeeba}#bookly-tbs .list-group-item-warning.list-group-item-action:focus,#bookly-tbs .list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}#bookly-tbs .list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}#bookly-tbs .list-group-item-danger{color:#721c24;background-color:#f5c6cb}#bookly-tbs .list-group-item-danger.list-group-item-action:focus,#bookly-tbs .list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}#bookly-tbs .list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}#bookly-tbs .list-group-item-light{color:#818182;background-color:#fdfdfe}#bookly-tbs .list-group-item-light.list-group-item-action:focus,#bookly-tbs .list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}#bookly-tbs .list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}#bookly-tbs .list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}#bookly-tbs .list-group-item-dark.list-group-item-action:focus,#bookly-tbs .list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}#bookly-tbs .list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}#bookly-tbs .close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}#bookly-tbs .close:hover{color:#000;text-decoration:none}#bookly-tbs .close:not(:disabled):not(.disabled):focus,#bookly-tbs .close:not(:disabled):not(.disabled):hover{opacity:.75}#bookly-tbs button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}#bookly-tbs a.close.disabled{pointer-events:none}#bookly-tbs .toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}#bookly-tbs .toast:not(:last-child){margin-bottom:.75rem}#bookly-tbs .toast.showing{opacity:1}#bookly-tbs .toast.show{display:block;opacity:1}#bookly-tbs .toast.hide{display:none}#bookly-tbs .toast-header{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}#bookly-tbs .toast-body{padding:.75rem}.bookly-modal-open{overflow:hidden}#bookly-tbs .bookly-modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.bookly-modal-open #bookly-tbs .bookly-modal{overflow-x:hidden;overflow-y:auto}#bookly-tbs .modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-modal.bookly-fade .modal-dialog{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-modal.show .modal-dialog{-webkit-transform:none;transform:none}#bookly-tbs .bookly-modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}#bookly-tbs .modal-dialog-scrollable{display:-webkit-box;display:flex;max-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}#bookly-tbs .modal-dialog-scrollable .modal-footer,#bookly-tbs .modal-dialog-scrollable .modal-header{flex-shrink:0}#bookly-tbs .modal-dialog-scrollable .modal-body{overflow-y:auto}#bookly-tbs .modal-dialog-centered{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;min-height:calc(100% - 1rem)}#bookly-tbs .modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;height:100%}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}#bookly-tbs .modal-dialog-centered.modal-dialog-scrollable::before{content:none}#bookly-tbs .modal-content{position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.bookly-modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.bookly-modal-backdrop.bookly-fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear;opacity:0}@media (prefers-reduced-motion:reduce){.bookly-modal-backdrop.bookly-fade{-webkit-transition:none;transition:none}}.bookly-modal-backdrop.show{opacity:.5}.bookly-modal-backdrop+.bookly-modal-backdrop{display:none!important}#bookly-tbs .modal-header{display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;-webkit-box-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}#bookly-tbs .modal-title{margin-bottom:0;line-height:1.5}#bookly-tbs .modal-body{position:relative;-webkit-box-flex:1;flex:1 1 auto;padding:1rem}#bookly-tbs .modal-footer{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}#bookly-tbs .modal-footer>*{margin:.25rem}#bookly-tbs .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){#bookly-tbs .modal-dialog{max-width:500px;margin:3rem auto}#bookly-tbs .modal-dialog-scrollable{max-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-scrollable .modal-content{max-height:calc(100vh - 6rem)}#bookly-tbs .modal-dialog-centered{min-height:calc(100% - 6rem)}#bookly-tbs .modal-dialog-centered::before{height:calc(100vh - 6rem)}#bookly-tbs .modal-sm{max-width:300px}}@media (min-width:992px){#bookly-tbs .modal-lg,#bookly-tbs .modal-xl{max-width:800px}}@media (min-width:1200px){#bookly-tbs .modal-xl{max-width:1140px}}#bookly-tbs .modal-faded{z-index:1039!important}#bookly-tbs .tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}#bookly-tbs .tooltip.show{opacity:.9}#bookly-tbs .tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}#bookly-tbs .tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-tooltip-auto[x-placement^=top],#bookly-tbs .bs-tooltip-top{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow,#bookly-tbs .bs-tooltip-top .arrow{bottom:0}#bookly-tbs .bs-tooltip-auto[x-placement^=top] .arrow::before,#bookly-tbs .bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=right],#bookly-tbs .bs-tooltip-right{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow,#bookly-tbs .bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=right] .arrow::before,#bookly-tbs .bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom],#bookly-tbs .bs-tooltip-bottom{padding:.4rem 0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow,#bookly-tbs .bs-tooltip-bottom .arrow{top:0}#bookly-tbs .bs-tooltip-auto[x-placement^=bottom] .arrow::before,#bookly-tbs .bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}#bookly-tbs .bs-tooltip-auto[x-placement^=left],#bookly-tbs .bs-tooltip-left{padding:0 .4rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow,#bookly-tbs .bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}#bookly-tbs .bs-tooltip-auto[x-placement^=left] .arrow::before,#bookly-tbs .bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}#bookly-tbs .tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}#bookly-tbs [class*=bs-popover-]>.arrow{overflow:visible;left:auto;top:auto;bottom:auto;right:auto;z-index:1040}#bookly-tbs [class*=bs-popover-]>.arrow::after{left:auto;top:auto;bottom:auto;right:auto;background-color:transparent;box-shadow:none;-webkit-transform:none;transform:none;width:auto;height:auto;z-index:1040}#bookly-tbs #bookly-appearance .bookly-popover{z-index:9999!important}#bookly-tbs .bookly-popover{position:absolute;top:0;left:0;z-index:1040;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}#bookly-tbs .bookly-popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}#bookly-tbs .bookly-popover .arrow::after,#bookly-tbs .bookly-popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}#bookly-tbs .bs-popover-auto[x-placement^=top],#bookly-tbs .bs-popover-top{margin-bottom:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow,#bookly-tbs .bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::before,#bookly-tbs .bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=top]>.arrow::after,#bookly-tbs .bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=right],#bookly-tbs .bs-popover-right{margin-left:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow,#bookly-tbs .bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::before,#bookly-tbs .bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=right]>.arrow::after,#bookly-tbs .bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom],#bookly-tbs .bs-popover-bottom{margin-top:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow,#bookly-tbs .bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::before,#bookly-tbs .bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=bottom]>.arrow::after,#bookly-tbs .bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}#bookly-tbs .bs-popover-auto[x-placement^=bottom] .popover-header::before,#bookly-tbs .bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}#bookly-tbs .bs-popover-auto[x-placement^=left],#bookly-tbs .bs-popover-left{margin-right:.5rem}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow,#bookly-tbs .bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::before,#bookly-tbs .bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}#bookly-tbs .bs-popover-auto[x-placement^=left]>.arrow::after,#bookly-tbs .bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}#bookly-tbs .popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}#bookly-tbs .popover-header:empty{display:none}#bookly-tbs .popover-body{padding:.5rem .75rem;color:#212529}#bookly-tbs .carousel{position:relative}#bookly-tbs .carousel.pointer-event{touch-action:pan-y}#bookly-tbs .carousel-inner{position:relative;width:100%;overflow:hidden}#bookly-tbs .carousel-inner::after{display:block;clear:both;content:""}#bookly-tbs .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-item{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-item-next,#bookly-tbs .carousel-item-prev,#bookly-tbs .carousel-item.active{display:block}#bookly-tbs .active.carousel-item-right,#bookly-tbs .carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}#bookly-tbs .active.carousel-item-left,#bookly-tbs .carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}#bookly-tbs .carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}#bookly-tbs .carousel-fade .carousel-item-next.carousel-item-left,#bookly-tbs .carousel-fade .carousel-item-prev.carousel-item-right,#bookly-tbs .carousel-fade .carousel-item.active{z-index:1;opacity:1}#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-fade .active.carousel-item-left,#bookly-tbs .carousel-fade .active.carousel-item-right{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;-webkit-transition:opacity .15s ease;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-control-next,#bookly-tbs .carousel-control-prev{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-control-next:focus,#bookly-tbs .carousel-control-next:hover,#bookly-tbs .carousel-control-prev:focus,#bookly-tbs .carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}#bookly-tbs .carousel-control-prev{left:0}#bookly-tbs .carousel-control-next{right:0}#bookly-tbs .carousel-control-next-icon,#bookly-tbs .carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}#bookly-tbs .carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}#bookly-tbs .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}#bookly-tbs .carousel-indicators li{box-sizing:content-box;-webkit-box-flex:0;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){#bookly-tbs .carousel-indicators li{-webkit-transition:none;transition:none}}#bookly-tbs .carousel-indicators .active{opacity:1}#bookly-tbs .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#bookly-tbs .spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}#bookly-tbs .spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}#bookly-tbs .spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}#bookly-tbs .spinner-grow-sm{width:1rem;height:1rem}#bookly-tbs .align-baseline{vertical-align:baseline!important}#bookly-tbs .align-top{vertical-align:top!important}#bookly-tbs .align-middle{vertical-align:middle!important}#bookly-tbs .align-bottom{vertical-align:bottom!important}#bookly-tbs .align-text-bottom{vertical-align:text-bottom!important}#bookly-tbs .align-text-top{vertical-align:text-top!important}#bookly-tbs .bg-primary{background-color:#007bff!important}#bookly-tbs a.bg-primary:focus,#bookly-tbs a.bg-primary:hover,#bookly-tbs button.bg-primary:focus,#bookly-tbs button.bg-primary:hover{background-color:#0062cc!important}#bookly-tbs .bg-secondary{background-color:#6c757d!important}#bookly-tbs a.bg-secondary:focus,#bookly-tbs a.bg-secondary:hover,#bookly-tbs button.bg-secondary:focus,#bookly-tbs button.bg-secondary:hover{background-color:#545b62!important}#bookly-tbs .bg-success{background-color:#28a745!important}#bookly-tbs a.bg-success:focus,#bookly-tbs a.bg-success:hover,#bookly-tbs button.bg-success:focus,#bookly-tbs button.bg-success:hover{background-color:#1e7e34!important}#bookly-tbs .bg-info{background-color:#17a2b8!important}#bookly-tbs a.bg-info:focus,#bookly-tbs a.bg-info:hover,#bookly-tbs button.bg-info:focus,#bookly-tbs button.bg-info:hover{background-color:#117a8b!important}#bookly-tbs .bg-warning{background-color:#ffc107!important}#bookly-tbs a.bg-warning:focus,#bookly-tbs a.bg-warning:hover,#bookly-tbs button.bg-warning:focus,#bookly-tbs button.bg-warning:hover{background-color:#d39e00!important}#bookly-tbs .bg-danger{background-color:#dc3545!important}#bookly-tbs a.bg-danger:focus,#bookly-tbs a.bg-danger:hover,#bookly-tbs button.bg-danger:focus,#bookly-tbs button.bg-danger:hover{background-color:#bd2130!important}#bookly-tbs .bg-light{background-color:#f8f9fa!important}#bookly-tbs a.bg-light:focus,#bookly-tbs a.bg-light:hover,#bookly-tbs button.bg-light:focus,#bookly-tbs button.bg-light:hover{background-color:#dae0e5!important}#bookly-tbs .bg-dark{background-color:#343a40!important}#bookly-tbs a.bg-dark:focus,#bookly-tbs a.bg-dark:hover,#bookly-tbs button.bg-dark:focus,#bookly-tbs button.bg-dark:hover{background-color:#1d2124!important}#bookly-tbs .bg-white{background-color:#fff!important}#bookly-tbs .bg-transparent{background-color:transparent!important}#bookly-tbs .border{border:1px solid #dee2e6!important}#bookly-tbs .border-top{border-top:1px solid #dee2e6!important}#bookly-tbs .border-right{border-right:1px solid #dee2e6!important}#bookly-tbs .border-bottom{border-bottom:1px solid #dee2e6!important}#bookly-tbs .border-left{border-left:1px solid #dee2e6!important}#bookly-tbs .border-0{border:0!important}#bookly-tbs .border-top-0{border-top:0!important}#bookly-tbs .border-right-0{border-right:0!important}#bookly-tbs .border-bottom-0{border-bottom:0!important}#bookly-tbs .border-left-0{border-left:0!important}#bookly-tbs .border-primary{border-color:#007bff!important}#bookly-tbs .border-secondary{border-color:#6c757d!important}#bookly-tbs .border-success{border-color:#28a745!important}#bookly-tbs .border-info{border-color:#17a2b8!important}#bookly-tbs .border-warning{border-color:#ffc107!important}#bookly-tbs .border-danger{border-color:#dc3545!important}#bookly-tbs .border-light{border-color:#f8f9fa!important}#bookly-tbs .border-dark{border-color:#343a40!important}#bookly-tbs .border-white{border-color:#fff!important}#bookly-tbs .rounded-sm{border-radius:.2rem!important}#bookly-tbs .rounded{border-radius:.25rem!important}#bookly-tbs .rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}#bookly-tbs .rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}#bookly-tbs .rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}#bookly-tbs .rounded-lg{border-radius:.3rem!important}#bookly-tbs .rounded-circle{border-radius:50%!important}#bookly-tbs .rounded-pill{border-radius:50rem!important}#bookly-tbs .rounded-0{border-radius:0!important}#bookly-tbs .clearfix::after{display:block;clear:both;content:""}#bookly-tbs .d-none{display:none!important}#bookly-tbs .d-inline{display:inline!important}#bookly-tbs .d-inline-block{display:inline-block!important}#bookly-tbs .d-block{display:block!important}#bookly-tbs .d-table{display:table!important}#bookly-tbs .d-table-row{display:table-row!important}#bookly-tbs .d-table-cell{display:table-cell!important}#bookly-tbs .d-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}@media (min-width:576px){#bookly-tbs .d-sm-none{display:none!important}#bookly-tbs .d-sm-inline{display:inline!important}#bookly-tbs .d-sm-inline-block{display:inline-block!important}#bookly-tbs .d-sm-block{display:block!important}#bookly-tbs .d-sm-table{display:table!important}#bookly-tbs .d-sm-table-row{display:table-row!important}#bookly-tbs .d-sm-table-cell{display:table-cell!important}#bookly-tbs .d-sm-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-sm-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media (min-width:768px){#bookly-tbs .d-md-none{display:none!important}#bookly-tbs .d-md-inline{display:inline!important}#bookly-tbs .d-md-inline-block{display:inline-block!important}#bookly-tbs .d-md-block{display:block!important}#bookly-tbs .d-md-table{display:table!important}#bookly-tbs .d-md-table-row{display:table-row!important}#bookly-tbs .d-md-table-cell{display:table-cell!important}#bookly-tbs .d-md-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-md-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media (min-width:992px){#bookly-tbs .d-lg-none{display:none!important}#bookly-tbs .d-lg-inline{display:inline!important}#bookly-tbs .d-lg-inline-block{display:inline-block!important}#bookly-tbs .d-lg-block{display:block!important}#bookly-tbs .d-lg-table{display:table!important}#bookly-tbs .d-lg-table-row{display:table-row!important}#bookly-tbs .d-lg-table-cell{display:table-cell!important}#bookly-tbs .d-lg-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-lg-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media (min-width:1200px){#bookly-tbs .d-xl-none{display:none!important}#bookly-tbs .d-xl-inline{display:inline!important}#bookly-tbs .d-xl-inline-block{display:inline-block!important}#bookly-tbs .d-xl-block{display:block!important}#bookly-tbs .d-xl-table{display:table!important}#bookly-tbs .d-xl-table-row{display:table-row!important}#bookly-tbs .d-xl-table-cell{display:table-cell!important}#bookly-tbs .d-xl-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-xl-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}@media print{#bookly-tbs .d-print-none{display:none!important}#bookly-tbs .d-print-inline{display:inline!important}#bookly-tbs .d-print-inline-block{display:inline-block!important}#bookly-tbs .d-print-block{display:block!important}#bookly-tbs .d-print-table{display:table!important}#bookly-tbs .d-print-table-row{display:table-row!important}#bookly-tbs .d-print-table-cell{display:table-cell!important}#bookly-tbs .d-print-flex{display:-webkit-box!important;display:flex!important}#bookly-tbs .d-print-inline-flex{display:-webkit-inline-box!important;display:inline-flex!important}}#bookly-tbs .embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}#bookly-tbs .embed-responsive::before{display:block;content:""}#bookly-tbs .embed-responsive .embed-responsive-item,#bookly-tbs .embed-responsive embed,#bookly-tbs .embed-responsive iframe,#bookly-tbs .embed-responsive object,#bookly-tbs .embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}#bookly-tbs .embed-responsive-21by9::before{padding-top:42.857143%}#bookly-tbs .embed-responsive-16by9::before{padding-top:56.25%}#bookly-tbs .embed-responsive-4by3::before{padding-top:75%}#bookly-tbs .embed-responsive-1by1::before{padding-top:100%}#bookly-tbs .flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-around{justify-content:space-around!important}#bookly-tbs .align-items-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-start{align-content:flex-start!important}#bookly-tbs .align-content-end{align-content:flex-end!important}#bookly-tbs .align-content-center{align-content:center!important}#bookly-tbs .align-content-between{align-content:space-between!important}#bookly-tbs .align-content-around{align-content:space-around!important}#bookly-tbs .align-content-stretch{align-content:stretch!important}#bookly-tbs .align-self-auto{align-self:auto!important}#bookly-tbs .align-self-start{align-self:flex-start!important}#bookly-tbs .align-self-end{align-self:flex-end!important}#bookly-tbs .align-self-center{align-self:center!important}#bookly-tbs .align-self-baseline{align-self:baseline!important}#bookly-tbs .align-self-stretch{align-self:stretch!important}@media (min-width:576px){#bookly-tbs .flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-sm-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-sm-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-sm-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-sm-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-sm-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-sm-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-sm-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-sm-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-sm-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-sm-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-sm-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-sm-around{justify-content:space-around!important}#bookly-tbs .align-items-sm-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-sm-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-sm-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-sm-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-sm-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-sm-start{align-content:flex-start!important}#bookly-tbs .align-content-sm-end{align-content:flex-end!important}#bookly-tbs .align-content-sm-center{align-content:center!important}#bookly-tbs .align-content-sm-between{align-content:space-between!important}#bookly-tbs .align-content-sm-around{align-content:space-around!important}#bookly-tbs .align-content-sm-stretch{align-content:stretch!important}#bookly-tbs .align-self-sm-auto{align-self:auto!important}#bookly-tbs .align-self-sm-start{align-self:flex-start!important}#bookly-tbs .align-self-sm-end{align-self:flex-end!important}#bookly-tbs .align-self-sm-center{align-self:center!important}#bookly-tbs .align-self-sm-baseline{align-self:baseline!important}#bookly-tbs .align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){#bookly-tbs .flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-md-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-md-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-md-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-md-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-md-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-md-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-md-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-md-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-md-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-md-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-md-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-md-around{justify-content:space-around!important}#bookly-tbs .align-items-md-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-md-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-md-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-md-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-md-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-md-start{align-content:flex-start!important}#bookly-tbs .align-content-md-end{align-content:flex-end!important}#bookly-tbs .align-content-md-center{align-content:center!important}#bookly-tbs .align-content-md-between{align-content:space-between!important}#bookly-tbs .align-content-md-around{align-content:space-around!important}#bookly-tbs .align-content-md-stretch{align-content:stretch!important}#bookly-tbs .align-self-md-auto{align-self:auto!important}#bookly-tbs .align-self-md-start{align-self:flex-start!important}#bookly-tbs .align-self-md-end{align-self:flex-end!important}#bookly-tbs .align-self-md-center{align-self:center!important}#bookly-tbs .align-self-md-baseline{align-self:baseline!important}#bookly-tbs .align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){#bookly-tbs .flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-lg-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-lg-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-lg-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-lg-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-lg-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-lg-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-lg-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-lg-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-lg-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-lg-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-lg-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-lg-around{justify-content:space-around!important}#bookly-tbs .align-items-lg-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-lg-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-lg-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-lg-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-lg-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-lg-start{align-content:flex-start!important}#bookly-tbs .align-content-lg-end{align-content:flex-end!important}#bookly-tbs .align-content-lg-center{align-content:center!important}#bookly-tbs .align-content-lg-between{align-content:space-between!important}#bookly-tbs .align-content-lg-around{align-content:space-around!important}#bookly-tbs .align-content-lg-stretch{align-content:stretch!important}#bookly-tbs .align-self-lg-auto{align-self:auto!important}#bookly-tbs .align-self-lg-start{align-self:flex-start!important}#bookly-tbs .align-self-lg-end{align-self:flex-end!important}#bookly-tbs .align-self-lg-center{align-self:center!important}#bookly-tbs .align-self-lg-baseline{align-self:baseline!important}#bookly-tbs .align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){#bookly-tbs .flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;flex-direction:row!important}#bookly-tbs .flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;flex-direction:column!important}#bookly-tbs .flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;flex-direction:row-reverse!important}#bookly-tbs .flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;flex-direction:column-reverse!important}#bookly-tbs .flex-xl-wrap{flex-wrap:wrap!important}#bookly-tbs .flex-xl-nowrap{flex-wrap:nowrap!important}#bookly-tbs .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}#bookly-tbs .flex-xl-fill{-webkit-box-flex:1!important;flex:1 1 auto!important}#bookly-tbs .flex-xl-grow-0{-webkit-box-flex:0!important;flex-grow:0!important}#bookly-tbs .flex-xl-grow-1{-webkit-box-flex:1!important;flex-grow:1!important}#bookly-tbs .flex-xl-shrink-0{flex-shrink:0!important}#bookly-tbs .flex-xl-shrink-1{flex-shrink:1!important}#bookly-tbs .justify-content-xl-start{-webkit-box-pack:start!important;justify-content:flex-start!important}#bookly-tbs .justify-content-xl-end{-webkit-box-pack:end!important;justify-content:flex-end!important}#bookly-tbs .justify-content-xl-center{-webkit-box-pack:center!important;justify-content:center!important}#bookly-tbs .justify-content-xl-between{-webkit-box-pack:justify!important;justify-content:space-between!important}#bookly-tbs .justify-content-xl-around{justify-content:space-around!important}#bookly-tbs .align-items-xl-start{-webkit-box-align:start!important;align-items:flex-start!important}#bookly-tbs .align-items-xl-end{-webkit-box-align:end!important;align-items:flex-end!important}#bookly-tbs .align-items-xl-center{-webkit-box-align:center!important;align-items:center!important}#bookly-tbs .align-items-xl-baseline{-webkit-box-align:baseline!important;align-items:baseline!important}#bookly-tbs .align-items-xl-stretch{-webkit-box-align:stretch!important;align-items:stretch!important}#bookly-tbs .align-content-xl-start{align-content:flex-start!important}#bookly-tbs .align-content-xl-end{align-content:flex-end!important}#bookly-tbs .align-content-xl-center{align-content:center!important}#bookly-tbs .align-content-xl-between{align-content:space-between!important}#bookly-tbs .align-content-xl-around{align-content:space-around!important}#bookly-tbs .align-content-xl-stretch{align-content:stretch!important}#bookly-tbs .align-self-xl-auto{align-self:auto!important}#bookly-tbs .align-self-xl-start{align-self:flex-start!important}#bookly-tbs .align-self-xl-end{align-self:flex-end!important}#bookly-tbs .align-self-xl-center{align-self:center!important}#bookly-tbs .align-self-xl-baseline{align-self:baseline!important}#bookly-tbs .align-self-xl-stretch{align-self:stretch!important}}#bookly-tbs .float-left{float:left!important}#bookly-tbs .float-right{float:right!important}#bookly-tbs .float-none{float:none!important}@media (min-width:576px){#bookly-tbs .float-sm-left{float:left!important}#bookly-tbs .float-sm-right{float:right!important}#bookly-tbs .float-sm-none{float:none!important}}@media (min-width:768px){#bookly-tbs .float-md-left{float:left!important}#bookly-tbs .float-md-right{float:right!important}#bookly-tbs .float-md-none{float:none!important}}@media (min-width:992px){#bookly-tbs .float-lg-left{float:left!important}#bookly-tbs .float-lg-right{float:right!important}#bookly-tbs .float-lg-none{float:none!important}}@media (min-width:1200px){#bookly-tbs .float-xl-left{float:left!important}#bookly-tbs .float-xl-right{float:right!important}#bookly-tbs .float-xl-none{float:none!important}}#bookly-tbs .overflow-auto{overflow:auto!important}#bookly-tbs .overflow-hidden{overflow:hidden!important}#bookly-tbs .position-static{position:static!important}#bookly-tbs .position-relative{position:relative!important}#bookly-tbs .position-absolute{position:absolute!important}#bookly-tbs .position-fixed{position:fixed!important}#bookly-tbs .position-sticky{position:-webkit-sticky!important;position:sticky!important}#bookly-tbs .fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}#bookly-tbs .fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){#bookly-tbs .sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}#bookly-tbs .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#bookly-tbs .sr-only-focusable:active,#bookly-tbs .sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}#bookly-tbs .shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}#bookly-tbs .shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}#bookly-tbs .shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}#bookly-tbs .shadow-none{box-shadow:none!important}#bookly-tbs .w-25{width:25%!important}#bookly-tbs .w-50{width:50%!important}#bookly-tbs .w-75{width:75%!important}#bookly-tbs .w-100{width:100%!important}#bookly-tbs .w-auto{width:auto!important}#bookly-tbs .h-25{height:25%!important}#bookly-tbs .h-50{height:50%!important}#bookly-tbs .h-75{height:75%!important}#bookly-tbs .h-100{height:100%!important}#bookly-tbs .h-auto{height:auto!important}#bookly-tbs .mw-100{max-width:100%!important}#bookly-tbs .mh-100{max-height:100%!important}#bookly-tbs .min-vw-100{min-width:100vw!important}#bookly-tbs .min-vh-100{min-height:100vh!important}#bookly-tbs .vw-100{width:100vw!important}#bookly-tbs .vh-100{height:100vh!important}#bookly-tbs .stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}#bookly-tbs .m-0{margin:0!important}#bookly-tbs .mt-0,#bookly-tbs .my-0{margin-top:0!important}#bookly-tbs .mr-0,#bookly-tbs .mx-0{margin-right:0!important}#bookly-tbs .mb-0,#bookly-tbs .my-0{margin-bottom:0!important}#bookly-tbs .ml-0,#bookly-tbs .mx-0{margin-left:0!important}#bookly-tbs .m-1{margin:.25rem!important}#bookly-tbs .mt-1,#bookly-tbs .my-1{margin-top:.25rem!important}#bookly-tbs .mr-1,#bookly-tbs .mx-1{margin-right:.25rem!important}#bookly-tbs .mb-1,#bookly-tbs .my-1{margin-bottom:.25rem!important}#bookly-tbs .ml-1,#bookly-tbs .mx-1{margin-left:.25rem!important}#bookly-tbs .m-2{margin:.5rem!important}#bookly-tbs .mt-2,#bookly-tbs .my-2{margin-top:.5rem!important}#bookly-tbs .mr-2,#bookly-tbs .mx-2{margin-right:.5rem!important}#bookly-tbs .mb-2,#bookly-tbs .my-2{margin-bottom:.5rem!important}#bookly-tbs .ml-2,#bookly-tbs .mx-2{margin-left:.5rem!important}#bookly-tbs .m-3{margin:1rem!important}#bookly-tbs .mt-3,#bookly-tbs .my-3{margin-top:1rem!important}#bookly-tbs .mr-3,#bookly-tbs .mx-3{margin-right:1rem!important}#bookly-tbs .mb-3,#bookly-tbs .my-3{margin-bottom:1rem!important}#bookly-tbs .ml-3,#bookly-tbs .mx-3{margin-left:1rem!important}#bookly-tbs .m-4{margin:1.5rem!important}#bookly-tbs .mt-4,#bookly-tbs .my-4{margin-top:1.5rem!important}#bookly-tbs .mr-4,#bookly-tbs .mx-4{margin-right:1.5rem!important}#bookly-tbs .mb-4,#bookly-tbs .my-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-4,#bookly-tbs .mx-4{margin-left:1.5rem!important}#bookly-tbs .m-5{margin:3rem!important}#bookly-tbs .mt-5,#bookly-tbs .my-5{margin-top:3rem!important}#bookly-tbs .mr-5,#bookly-tbs .mx-5{margin-right:3rem!important}#bookly-tbs .mb-5,#bookly-tbs .my-5{margin-bottom:3rem!important}#bookly-tbs .ml-5,#bookly-tbs .mx-5{margin-left:3rem!important}#bookly-tbs .p-0{padding:0!important}#bookly-tbs .pt-0,#bookly-tbs .py-0{padding-top:0!important}#bookly-tbs .pr-0,#bookly-tbs .px-0{padding-right:0!important}#bookly-tbs .pb-0,#bookly-tbs .py-0{padding-bottom:0!important}#bookly-tbs .pl-0,#bookly-tbs .px-0{padding-left:0!important}#bookly-tbs .p-1{padding:.25rem!important}#bookly-tbs .pt-1,#bookly-tbs .py-1{padding-top:.25rem!important}#bookly-tbs .pr-1,#bookly-tbs .px-1{padding-right:.25rem!important}#bookly-tbs .pb-1,#bookly-tbs .py-1{padding-bottom:.25rem!important}#bookly-tbs .pl-1,#bookly-tbs .px-1{padding-left:.25rem!important}#bookly-tbs .p-2{padding:.5rem!important}#bookly-tbs .pt-2,#bookly-tbs .py-2{padding-top:.5rem!important}#bookly-tbs .pr-2,#bookly-tbs .px-2{padding-right:.5rem!important}#bookly-tbs .pb-2,#bookly-tbs .py-2{padding-bottom:.5rem!important}#bookly-tbs .pl-2,#bookly-tbs .px-2{padding-left:.5rem!important}#bookly-tbs .p-3{padding:1rem!important}#bookly-tbs .pt-3,#bookly-tbs .py-3{padding-top:1rem!important}#bookly-tbs .pr-3,#bookly-tbs .px-3{padding-right:1rem!important}#bookly-tbs .pb-3,#bookly-tbs .py-3{padding-bottom:1rem!important}#bookly-tbs .pl-3,#bookly-tbs .px-3{padding-left:1rem!important}#bookly-tbs .p-4{padding:1.5rem!important}#bookly-tbs .pt-4,#bookly-tbs .py-4{padding-top:1.5rem!important}#bookly-tbs .pr-4,#bookly-tbs .px-4{padding-right:1.5rem!important}#bookly-tbs .pb-4,#bookly-tbs .py-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-4,#bookly-tbs .px-4{padding-left:1.5rem!important}#bookly-tbs .p-5{padding:3rem!important}#bookly-tbs .pt-5,#bookly-tbs .py-5{padding-top:3rem!important}#bookly-tbs .pr-5,#bookly-tbs .px-5{padding-right:3rem!important}#bookly-tbs .pb-5,#bookly-tbs .py-5{padding-bottom:3rem!important}#bookly-tbs .pl-5,#bookly-tbs .px-5{padding-left:3rem!important}#bookly-tbs .m-n1{margin:-.25rem!important}#bookly-tbs .mt-n1,#bookly-tbs .my-n1{margin-top:-.25rem!important}#bookly-tbs .mr-n1,#bookly-tbs .mx-n1{margin-right:-.25rem!important}#bookly-tbs .mb-n1,#bookly-tbs .my-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-n1,#bookly-tbs .mx-n1{margin-left:-.25rem!important}#bookly-tbs .m-n2{margin:-.5rem!important}#bookly-tbs .mt-n2,#bookly-tbs .my-n2{margin-top:-.5rem!important}#bookly-tbs .mr-n2,#bookly-tbs .mx-n2{margin-right:-.5rem!important}#bookly-tbs .mb-n2,#bookly-tbs .my-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-n2,#bookly-tbs .mx-n2{margin-left:-.5rem!important}#bookly-tbs .m-n3{margin:-1rem!important}#bookly-tbs .mt-n3,#bookly-tbs .my-n3{margin-top:-1rem!important}#bookly-tbs .mr-n3,#bookly-tbs .mx-n3{margin-right:-1rem!important}#bookly-tbs .mb-n3,#bookly-tbs .my-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-n3,#bookly-tbs .mx-n3{margin-left:-1rem!important}#bookly-tbs .m-n4{margin:-1.5rem!important}#bookly-tbs .mt-n4,#bookly-tbs .my-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-n4,#bookly-tbs .mx-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-n4,#bookly-tbs .my-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-n4,#bookly-tbs .mx-n4{margin-left:-1.5rem!important}#bookly-tbs .m-n5{margin:-3rem!important}#bookly-tbs .mt-n5,#bookly-tbs .my-n5{margin-top:-3rem!important}#bookly-tbs .mr-n5,#bookly-tbs .mx-n5{margin-right:-3rem!important}#bookly-tbs .mb-n5,#bookly-tbs .my-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-n5,#bookly-tbs .mx-n5{margin-left:-3rem!important}#bookly-tbs .m-auto{margin:auto!important}#bookly-tbs .mt-auto,#bookly-tbs .my-auto{margin-top:auto!important}#bookly-tbs .mr-auto,#bookly-tbs .mx-auto{margin-right:auto!important}#bookly-tbs .mb-auto,#bookly-tbs .my-auto{margin-bottom:auto!important}#bookly-tbs .ml-auto,#bookly-tbs .mx-auto{margin-left:auto!important}@media (min-width:576px){#bookly-tbs .m-sm-0{margin:0!important}#bookly-tbs .mt-sm-0,#bookly-tbs .my-sm-0{margin-top:0!important}#bookly-tbs .mr-sm-0,#bookly-tbs .mx-sm-0{margin-right:0!important}#bookly-tbs .mb-sm-0,#bookly-tbs .my-sm-0{margin-bottom:0!important}#bookly-tbs .ml-sm-0,#bookly-tbs .mx-sm-0{margin-left:0!important}#bookly-tbs .m-sm-1{margin:.25rem!important}#bookly-tbs .mt-sm-1,#bookly-tbs .my-sm-1{margin-top:.25rem!important}#bookly-tbs .mr-sm-1,#bookly-tbs .mx-sm-1{margin-right:.25rem!important}#bookly-tbs .mb-sm-1,#bookly-tbs .my-sm-1{margin-bottom:.25rem!important}#bookly-tbs .ml-sm-1,#bookly-tbs .mx-sm-1{margin-left:.25rem!important}#bookly-tbs .m-sm-2{margin:.5rem!important}#bookly-tbs .mt-sm-2,#bookly-tbs .my-sm-2{margin-top:.5rem!important}#bookly-tbs .mr-sm-2,#bookly-tbs .mx-sm-2{margin-right:.5rem!important}#bookly-tbs .mb-sm-2,#bookly-tbs .my-sm-2{margin-bottom:.5rem!important}#bookly-tbs .ml-sm-2,#bookly-tbs .mx-sm-2{margin-left:.5rem!important}#bookly-tbs .m-sm-3{margin:1rem!important}#bookly-tbs .mt-sm-3,#bookly-tbs .my-sm-3{margin-top:1rem!important}#bookly-tbs .mr-sm-3,#bookly-tbs .mx-sm-3{margin-right:1rem!important}#bookly-tbs .mb-sm-3,#bookly-tbs .my-sm-3{margin-bottom:1rem!important}#bookly-tbs .ml-sm-3,#bookly-tbs .mx-sm-3{margin-left:1rem!important}#bookly-tbs .m-sm-4{margin:1.5rem!important}#bookly-tbs .mt-sm-4,#bookly-tbs .my-sm-4{margin-top:1.5rem!important}#bookly-tbs .mr-sm-4,#bookly-tbs .mx-sm-4{margin-right:1.5rem!important}#bookly-tbs .mb-sm-4,#bookly-tbs .my-sm-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-sm-4,#bookly-tbs .mx-sm-4{margin-left:1.5rem!important}#bookly-tbs .m-sm-5{margin:3rem!important}#bookly-tbs .mt-sm-5,#bookly-tbs .my-sm-5{margin-top:3rem!important}#bookly-tbs .mr-sm-5,#bookly-tbs .mx-sm-5{margin-right:3rem!important}#bookly-tbs .mb-sm-5,#bookly-tbs .my-sm-5{margin-bottom:3rem!important}#bookly-tbs .ml-sm-5,#bookly-tbs .mx-sm-5{margin-left:3rem!important}#bookly-tbs .p-sm-0{padding:0!important}#bookly-tbs .pt-sm-0,#bookly-tbs .py-sm-0{padding-top:0!important}#bookly-tbs .pr-sm-0,#bookly-tbs .px-sm-0{padding-right:0!important}#bookly-tbs .pb-sm-0,#bookly-tbs .py-sm-0{padding-bottom:0!important}#bookly-tbs .pl-sm-0,#bookly-tbs .px-sm-0{padding-left:0!important}#bookly-tbs .p-sm-1{padding:.25rem!important}#bookly-tbs .pt-sm-1,#bookly-tbs .py-sm-1{padding-top:.25rem!important}#bookly-tbs .pr-sm-1,#bookly-tbs .px-sm-1{padding-right:.25rem!important}#bookly-tbs .pb-sm-1,#bookly-tbs .py-sm-1{padding-bottom:.25rem!important}#bookly-tbs .pl-sm-1,#bookly-tbs .px-sm-1{padding-left:.25rem!important}#bookly-tbs .p-sm-2{padding:.5rem!important}#bookly-tbs .pt-sm-2,#bookly-tbs .py-sm-2{padding-top:.5rem!important}#bookly-tbs .pr-sm-2,#bookly-tbs .px-sm-2{padding-right:.5rem!important}#bookly-tbs .pb-sm-2,#bookly-tbs .py-sm-2{padding-bottom:.5rem!important}#bookly-tbs .pl-sm-2,#bookly-tbs .px-sm-2{padding-left:.5rem!important}#bookly-tbs .p-sm-3{padding:1rem!important}#bookly-tbs .pt-sm-3,#bookly-tbs .py-sm-3{padding-top:1rem!important}#bookly-tbs .pr-sm-3,#bookly-tbs .px-sm-3{padding-right:1rem!important}#bookly-tbs .pb-sm-3,#bookly-tbs .py-sm-3{padding-bottom:1rem!important}#bookly-tbs .pl-sm-3,#bookly-tbs .px-sm-3{padding-left:1rem!important}#bookly-tbs .p-sm-4{padding:1.5rem!important}#bookly-tbs .pt-sm-4,#bookly-tbs .py-sm-4{padding-top:1.5rem!important}#bookly-tbs .pr-sm-4,#bookly-tbs .px-sm-4{padding-right:1.5rem!important}#bookly-tbs .pb-sm-4,#bookly-tbs .py-sm-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-sm-4,#bookly-tbs .px-sm-4{padding-left:1.5rem!important}#bookly-tbs .p-sm-5{padding:3rem!important}#bookly-tbs .pt-sm-5,#bookly-tbs .py-sm-5{padding-top:3rem!important}#bookly-tbs .pr-sm-5,#bookly-tbs .px-sm-5{padding-right:3rem!important}#bookly-tbs .pb-sm-5,#bookly-tbs .py-sm-5{padding-bottom:3rem!important}#bookly-tbs .pl-sm-5,#bookly-tbs .px-sm-5{padding-left:3rem!important}#bookly-tbs .m-sm-n1{margin:-.25rem!important}#bookly-tbs .mt-sm-n1,#bookly-tbs .my-sm-n1{margin-top:-.25rem!important}#bookly-tbs .mr-sm-n1,#bookly-tbs .mx-sm-n1{margin-right:-.25rem!important}#bookly-tbs .mb-sm-n1,#bookly-tbs .my-sm-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-sm-n1,#bookly-tbs .mx-sm-n1{margin-left:-.25rem!important}#bookly-tbs .m-sm-n2{margin:-.5rem!important}#bookly-tbs .mt-sm-n2,#bookly-tbs .my-sm-n2{margin-top:-.5rem!important}#bookly-tbs .mr-sm-n2,#bookly-tbs .mx-sm-n2{margin-right:-.5rem!important}#bookly-tbs .mb-sm-n2,#bookly-tbs .my-sm-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-sm-n2,#bookly-tbs .mx-sm-n2{margin-left:-.5rem!important}#bookly-tbs .m-sm-n3{margin:-1rem!important}#bookly-tbs .mt-sm-n3,#bookly-tbs .my-sm-n3{margin-top:-1rem!important}#bookly-tbs .mr-sm-n3,#bookly-tbs .mx-sm-n3{margin-right:-1rem!important}#bookly-tbs .mb-sm-n3,#bookly-tbs .my-sm-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-sm-n3,#bookly-tbs .mx-sm-n3{margin-left:-1rem!important}#bookly-tbs .m-sm-n4{margin:-1.5rem!important}#bookly-tbs .mt-sm-n4,#bookly-tbs .my-sm-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-sm-n4,#bookly-tbs .mx-sm-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-sm-n4,#bookly-tbs .my-sm-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-sm-n4,#bookly-tbs .mx-sm-n4{margin-left:-1.5rem!important}#bookly-tbs .m-sm-n5{margin:-3rem!important}#bookly-tbs .mt-sm-n5,#bookly-tbs .my-sm-n5{margin-top:-3rem!important}#bookly-tbs .mr-sm-n5,#bookly-tbs .mx-sm-n5{margin-right:-3rem!important}#bookly-tbs .mb-sm-n5,#bookly-tbs .my-sm-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-sm-n5,#bookly-tbs .mx-sm-n5{margin-left:-3rem!important}#bookly-tbs .m-sm-auto{margin:auto!important}#bookly-tbs .mt-sm-auto,#bookly-tbs .my-sm-auto{margin-top:auto!important}#bookly-tbs .mr-sm-auto,#bookly-tbs .mx-sm-auto{margin-right:auto!important}#bookly-tbs .mb-sm-auto,#bookly-tbs .my-sm-auto{margin-bottom:auto!important}#bookly-tbs .ml-sm-auto,#bookly-tbs .mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){#bookly-tbs .m-md-0{margin:0!important}#bookly-tbs .mt-md-0,#bookly-tbs .my-md-0{margin-top:0!important}#bookly-tbs .mr-md-0,#bookly-tbs .mx-md-0{margin-right:0!important}#bookly-tbs .mb-md-0,#bookly-tbs .my-md-0{margin-bottom:0!important}#bookly-tbs .ml-md-0,#bookly-tbs .mx-md-0{margin-left:0!important}#bookly-tbs .m-md-1{margin:.25rem!important}#bookly-tbs .mt-md-1,#bookly-tbs .my-md-1{margin-top:.25rem!important}#bookly-tbs .mr-md-1,#bookly-tbs .mx-md-1{margin-right:.25rem!important}#bookly-tbs .mb-md-1,#bookly-tbs .my-md-1{margin-bottom:.25rem!important}#bookly-tbs .ml-md-1,#bookly-tbs .mx-md-1{margin-left:.25rem!important}#bookly-tbs .m-md-2{margin:.5rem!important}#bookly-tbs .mt-md-2,#bookly-tbs .my-md-2{margin-top:.5rem!important}#bookly-tbs .mr-md-2,#bookly-tbs .mx-md-2{margin-right:.5rem!important}#bookly-tbs .mb-md-2,#bookly-tbs .my-md-2{margin-bottom:.5rem!important}#bookly-tbs .ml-md-2,#bookly-tbs .mx-md-2{margin-left:.5rem!important}#bookly-tbs .m-md-3{margin:1rem!important}#bookly-tbs .mt-md-3,#bookly-tbs .my-md-3{margin-top:1rem!important}#bookly-tbs .mr-md-3,#bookly-tbs .mx-md-3{margin-right:1rem!important}#bookly-tbs .mb-md-3,#bookly-tbs .my-md-3{margin-bottom:1rem!important}#bookly-tbs .ml-md-3,#bookly-tbs .mx-md-3{margin-left:1rem!important}#bookly-tbs .m-md-4{margin:1.5rem!important}#bookly-tbs .mt-md-4,#bookly-tbs .my-md-4{margin-top:1.5rem!important}#bookly-tbs .mr-md-4,#bookly-tbs .mx-md-4{margin-right:1.5rem!important}#bookly-tbs .mb-md-4,#bookly-tbs .my-md-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-md-4,#bookly-tbs .mx-md-4{margin-left:1.5rem!important}#bookly-tbs .m-md-5{margin:3rem!important}#bookly-tbs .mt-md-5,#bookly-tbs .my-md-5{margin-top:3rem!important}#bookly-tbs .mr-md-5,#bookly-tbs .mx-md-5{margin-right:3rem!important}#bookly-tbs .mb-md-5,#bookly-tbs .my-md-5{margin-bottom:3rem!important}#bookly-tbs .ml-md-5,#bookly-tbs .mx-md-5{margin-left:3rem!important}#bookly-tbs .p-md-0{padding:0!important}#bookly-tbs .pt-md-0,#bookly-tbs .py-md-0{padding-top:0!important}#bookly-tbs .pr-md-0,#bookly-tbs .px-md-0{padding-right:0!important}#bookly-tbs .pb-md-0,#bookly-tbs .py-md-0{padding-bottom:0!important}#bookly-tbs .pl-md-0,#bookly-tbs .px-md-0{padding-left:0!important}#bookly-tbs .p-md-1{padding:.25rem!important}#bookly-tbs .pt-md-1,#bookly-tbs .py-md-1{padding-top:.25rem!important}#bookly-tbs .pr-md-1,#bookly-tbs .px-md-1{padding-right:.25rem!important}#bookly-tbs .pb-md-1,#bookly-tbs .py-md-1{padding-bottom:.25rem!important}#bookly-tbs .pl-md-1,#bookly-tbs .px-md-1{padding-left:.25rem!important}#bookly-tbs .p-md-2{padding:.5rem!important}#bookly-tbs .pt-md-2,#bookly-tbs .py-md-2{padding-top:.5rem!important}#bookly-tbs .pr-md-2,#bookly-tbs .px-md-2{padding-right:.5rem!important}#bookly-tbs .pb-md-2,#bookly-tbs .py-md-2{padding-bottom:.5rem!important}#bookly-tbs .pl-md-2,#bookly-tbs .px-md-2{padding-left:.5rem!important}#bookly-tbs .p-md-3{padding:1rem!important}#bookly-tbs .pt-md-3,#bookly-tbs .py-md-3{padding-top:1rem!important}#bookly-tbs .pr-md-3,#bookly-tbs .px-md-3{padding-right:1rem!important}#bookly-tbs .pb-md-3,#bookly-tbs .py-md-3{padding-bottom:1rem!important}#bookly-tbs .pl-md-3,#bookly-tbs .px-md-3{padding-left:1rem!important}#bookly-tbs .p-md-4{padding:1.5rem!important}#bookly-tbs .pt-md-4,#bookly-tbs .py-md-4{padding-top:1.5rem!important}#bookly-tbs .pr-md-4,#bookly-tbs .px-md-4{padding-right:1.5rem!important}#bookly-tbs .pb-md-4,#bookly-tbs .py-md-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-md-4,#bookly-tbs .px-md-4{padding-left:1.5rem!important}#bookly-tbs .p-md-5{padding:3rem!important}#bookly-tbs .pt-md-5,#bookly-tbs .py-md-5{padding-top:3rem!important}#bookly-tbs .pr-md-5,#bookly-tbs .px-md-5{padding-right:3rem!important}#bookly-tbs .pb-md-5,#bookly-tbs .py-md-5{padding-bottom:3rem!important}#bookly-tbs .pl-md-5,#bookly-tbs .px-md-5{padding-left:3rem!important}#bookly-tbs .m-md-n1{margin:-.25rem!important}#bookly-tbs .mt-md-n1,#bookly-tbs .my-md-n1{margin-top:-.25rem!important}#bookly-tbs .mr-md-n1,#bookly-tbs .mx-md-n1{margin-right:-.25rem!important}#bookly-tbs .mb-md-n1,#bookly-tbs .my-md-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-md-n1,#bookly-tbs .mx-md-n1{margin-left:-.25rem!important}#bookly-tbs .m-md-n2{margin:-.5rem!important}#bookly-tbs .mt-md-n2,#bookly-tbs .my-md-n2{margin-top:-.5rem!important}#bookly-tbs .mr-md-n2,#bookly-tbs .mx-md-n2{margin-right:-.5rem!important}#bookly-tbs .mb-md-n2,#bookly-tbs .my-md-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-md-n2,#bookly-tbs .mx-md-n2{margin-left:-.5rem!important}#bookly-tbs .m-md-n3{margin:-1rem!important}#bookly-tbs .mt-md-n3,#bookly-tbs .my-md-n3{margin-top:-1rem!important}#bookly-tbs .mr-md-n3,#bookly-tbs .mx-md-n3{margin-right:-1rem!important}#bookly-tbs .mb-md-n3,#bookly-tbs .my-md-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-md-n3,#bookly-tbs .mx-md-n3{margin-left:-1rem!important}#bookly-tbs .m-md-n4{margin:-1.5rem!important}#bookly-tbs .mt-md-n4,#bookly-tbs .my-md-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-md-n4,#bookly-tbs .mx-md-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-md-n4,#bookly-tbs .my-md-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-md-n4,#bookly-tbs .mx-md-n4{margin-left:-1.5rem!important}#bookly-tbs .m-md-n5{margin:-3rem!important}#bookly-tbs .mt-md-n5,#bookly-tbs .my-md-n5{margin-top:-3rem!important}#bookly-tbs .mr-md-n5,#bookly-tbs .mx-md-n5{margin-right:-3rem!important}#bookly-tbs .mb-md-n5,#bookly-tbs .my-md-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-md-n5,#bookly-tbs .mx-md-n5{margin-left:-3rem!important}#bookly-tbs .m-md-auto{margin:auto!important}#bookly-tbs .mt-md-auto,#bookly-tbs .my-md-auto{margin-top:auto!important}#bookly-tbs .mr-md-auto,#bookly-tbs .mx-md-auto{margin-right:auto!important}#bookly-tbs .mb-md-auto,#bookly-tbs .my-md-auto{margin-bottom:auto!important}#bookly-tbs .ml-md-auto,#bookly-tbs .mx-md-auto{margin-left:auto!important}}@media (min-width:992px){#bookly-tbs .m-lg-0{margin:0!important}#bookly-tbs .mt-lg-0,#bookly-tbs .my-lg-0{margin-top:0!important}#bookly-tbs .mr-lg-0,#bookly-tbs .mx-lg-0{margin-right:0!important}#bookly-tbs .mb-lg-0,#bookly-tbs .my-lg-0{margin-bottom:0!important}#bookly-tbs .ml-lg-0,#bookly-tbs .mx-lg-0{margin-left:0!important}#bookly-tbs .m-lg-1{margin:.25rem!important}#bookly-tbs .mt-lg-1,#bookly-tbs .my-lg-1{margin-top:.25rem!important}#bookly-tbs .mr-lg-1,#bookly-tbs .mx-lg-1{margin-right:.25rem!important}#bookly-tbs .mb-lg-1,#bookly-tbs .my-lg-1{margin-bottom:.25rem!important}#bookly-tbs .ml-lg-1,#bookly-tbs .mx-lg-1{margin-left:.25rem!important}#bookly-tbs .m-lg-2{margin:.5rem!important}#bookly-tbs .mt-lg-2,#bookly-tbs .my-lg-2{margin-top:.5rem!important}#bookly-tbs .mr-lg-2,#bookly-tbs .mx-lg-2{margin-right:.5rem!important}#bookly-tbs .mb-lg-2,#bookly-tbs .my-lg-2{margin-bottom:.5rem!important}#bookly-tbs .ml-lg-2,#bookly-tbs .mx-lg-2{margin-left:.5rem!important}#bookly-tbs .m-lg-3{margin:1rem!important}#bookly-tbs .mt-lg-3,#bookly-tbs .my-lg-3{margin-top:1rem!important}#bookly-tbs .mr-lg-3,#bookly-tbs .mx-lg-3{margin-right:1rem!important}#bookly-tbs .mb-lg-3,#bookly-tbs .my-lg-3{margin-bottom:1rem!important}#bookly-tbs .ml-lg-3,#bookly-tbs .mx-lg-3{margin-left:1rem!important}#bookly-tbs .m-lg-4{margin:1.5rem!important}#bookly-tbs .mt-lg-4,#bookly-tbs .my-lg-4{margin-top:1.5rem!important}#bookly-tbs .mr-lg-4,#bookly-tbs .mx-lg-4{margin-right:1.5rem!important}#bookly-tbs .mb-lg-4,#bookly-tbs .my-lg-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-lg-4,#bookly-tbs .mx-lg-4{margin-left:1.5rem!important}#bookly-tbs .m-lg-5{margin:3rem!important}#bookly-tbs .mt-lg-5,#bookly-tbs .my-lg-5{margin-top:3rem!important}#bookly-tbs .mr-lg-5,#bookly-tbs .mx-lg-5{margin-right:3rem!important}#bookly-tbs .mb-lg-5,#bookly-tbs .my-lg-5{margin-bottom:3rem!important}#bookly-tbs .ml-lg-5,#bookly-tbs .mx-lg-5{margin-left:3rem!important}#bookly-tbs .p-lg-0{padding:0!important}#bookly-tbs .pt-lg-0,#bookly-tbs .py-lg-0{padding-top:0!important}#bookly-tbs .pr-lg-0,#bookly-tbs .px-lg-0{padding-right:0!important}#bookly-tbs .pb-lg-0,#bookly-tbs .py-lg-0{padding-bottom:0!important}#bookly-tbs .pl-lg-0,#bookly-tbs .px-lg-0{padding-left:0!important}#bookly-tbs .p-lg-1{padding:.25rem!important}#bookly-tbs .pt-lg-1,#bookly-tbs .py-lg-1{padding-top:.25rem!important}#bookly-tbs .pr-lg-1,#bookly-tbs .px-lg-1{padding-right:.25rem!important}#bookly-tbs .pb-lg-1,#bookly-tbs .py-lg-1{padding-bottom:.25rem!important}#bookly-tbs .pl-lg-1,#bookly-tbs .px-lg-1{padding-left:.25rem!important}#bookly-tbs .p-lg-2{padding:.5rem!important}#bookly-tbs .pt-lg-2,#bookly-tbs .py-lg-2{padding-top:.5rem!important}#bookly-tbs .pr-lg-2,#bookly-tbs .px-lg-2{padding-right:.5rem!important}#bookly-tbs .pb-lg-2,#bookly-tbs .py-lg-2{padding-bottom:.5rem!important}#bookly-tbs .pl-lg-2,#bookly-tbs .px-lg-2{padding-left:.5rem!important}#bookly-tbs .p-lg-3{padding:1rem!important}#bookly-tbs .pt-lg-3,#bookly-tbs .py-lg-3{padding-top:1rem!important}#bookly-tbs .pr-lg-3,#bookly-tbs .px-lg-3{padding-right:1rem!important}#bookly-tbs .pb-lg-3,#bookly-tbs .py-lg-3{padding-bottom:1rem!important}#bookly-tbs .pl-lg-3,#bookly-tbs .px-lg-3{padding-left:1rem!important}#bookly-tbs .p-lg-4{padding:1.5rem!important}#bookly-tbs .pt-lg-4,#bookly-tbs .py-lg-4{padding-top:1.5rem!important}#bookly-tbs .pr-lg-4,#bookly-tbs .px-lg-4{padding-right:1.5rem!important}#bookly-tbs .pb-lg-4,#bookly-tbs .py-lg-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-lg-4,#bookly-tbs .px-lg-4{padding-left:1.5rem!important}#bookly-tbs .p-lg-5{padding:3rem!important}#bookly-tbs .pt-lg-5,#bookly-tbs .py-lg-5{padding-top:3rem!important}#bookly-tbs .pr-lg-5,#bookly-tbs .px-lg-5{padding-right:3rem!important}#bookly-tbs .pb-lg-5,#bookly-tbs .py-lg-5{padding-bottom:3rem!important}#bookly-tbs .pl-lg-5,#bookly-tbs .px-lg-5{padding-left:3rem!important}#bookly-tbs .m-lg-n1{margin:-.25rem!important}#bookly-tbs .mt-lg-n1,#bookly-tbs .my-lg-n1{margin-top:-.25rem!important}#bookly-tbs .mr-lg-n1,#bookly-tbs .mx-lg-n1{margin-right:-.25rem!important}#bookly-tbs .mb-lg-n1,#bookly-tbs .my-lg-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-lg-n1,#bookly-tbs .mx-lg-n1{margin-left:-.25rem!important}#bookly-tbs .m-lg-n2{margin:-.5rem!important}#bookly-tbs .mt-lg-n2,#bookly-tbs .my-lg-n2{margin-top:-.5rem!important}#bookly-tbs .mr-lg-n2,#bookly-tbs .mx-lg-n2{margin-right:-.5rem!important}#bookly-tbs .mb-lg-n2,#bookly-tbs .my-lg-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-lg-n2,#bookly-tbs .mx-lg-n2{margin-left:-.5rem!important}#bookly-tbs .m-lg-n3{margin:-1rem!important}#bookly-tbs .mt-lg-n3,#bookly-tbs .my-lg-n3{margin-top:-1rem!important}#bookly-tbs .mr-lg-n3,#bookly-tbs .mx-lg-n3{margin-right:-1rem!important}#bookly-tbs .mb-lg-n3,#bookly-tbs .my-lg-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-lg-n3,#bookly-tbs .mx-lg-n3{margin-left:-1rem!important}#bookly-tbs .m-lg-n4{margin:-1.5rem!important}#bookly-tbs .mt-lg-n4,#bookly-tbs .my-lg-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-lg-n4,#bookly-tbs .mx-lg-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-lg-n4,#bookly-tbs .my-lg-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-lg-n4,#bookly-tbs .mx-lg-n4{margin-left:-1.5rem!important}#bookly-tbs .m-lg-n5{margin:-3rem!important}#bookly-tbs .mt-lg-n5,#bookly-tbs .my-lg-n5{margin-top:-3rem!important}#bookly-tbs .mr-lg-n5,#bookly-tbs .mx-lg-n5{margin-right:-3rem!important}#bookly-tbs .mb-lg-n5,#bookly-tbs .my-lg-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-lg-n5,#bookly-tbs .mx-lg-n5{margin-left:-3rem!important}#bookly-tbs .m-lg-auto{margin:auto!important}#bookly-tbs .mt-lg-auto,#bookly-tbs .my-lg-auto{margin-top:auto!important}#bookly-tbs .mr-lg-auto,#bookly-tbs .mx-lg-auto{margin-right:auto!important}#bookly-tbs .mb-lg-auto,#bookly-tbs .my-lg-auto{margin-bottom:auto!important}#bookly-tbs .ml-lg-auto,#bookly-tbs .mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){#bookly-tbs .m-xl-0{margin:0!important}#bookly-tbs .mt-xl-0,#bookly-tbs .my-xl-0{margin-top:0!important}#bookly-tbs .mr-xl-0,#bookly-tbs .mx-xl-0{margin-right:0!important}#bookly-tbs .mb-xl-0,#bookly-tbs .my-xl-0{margin-bottom:0!important}#bookly-tbs .ml-xl-0,#bookly-tbs .mx-xl-0{margin-left:0!important}#bookly-tbs .m-xl-1{margin:.25rem!important}#bookly-tbs .mt-xl-1,#bookly-tbs .my-xl-1{margin-top:.25rem!important}#bookly-tbs .mr-xl-1,#bookly-tbs .mx-xl-1{margin-right:.25rem!important}#bookly-tbs .mb-xl-1,#bookly-tbs .my-xl-1{margin-bottom:.25rem!important}#bookly-tbs .ml-xl-1,#bookly-tbs .mx-xl-1{margin-left:.25rem!important}#bookly-tbs .m-xl-2{margin:.5rem!important}#bookly-tbs .mt-xl-2,#bookly-tbs .my-xl-2{margin-top:.5rem!important}#bookly-tbs .mr-xl-2,#bookly-tbs .mx-xl-2{margin-right:.5rem!important}#bookly-tbs .mb-xl-2,#bookly-tbs .my-xl-2{margin-bottom:.5rem!important}#bookly-tbs .ml-xl-2,#bookly-tbs .mx-xl-2{margin-left:.5rem!important}#bookly-tbs .m-xl-3{margin:1rem!important}#bookly-tbs .mt-xl-3,#bookly-tbs .my-xl-3{margin-top:1rem!important}#bookly-tbs .mr-xl-3,#bookly-tbs .mx-xl-3{margin-right:1rem!important}#bookly-tbs .mb-xl-3,#bookly-tbs .my-xl-3{margin-bottom:1rem!important}#bookly-tbs .ml-xl-3,#bookly-tbs .mx-xl-3{margin-left:1rem!important}#bookly-tbs .m-xl-4{margin:1.5rem!important}#bookly-tbs .mt-xl-4,#bookly-tbs .my-xl-4{margin-top:1.5rem!important}#bookly-tbs .mr-xl-4,#bookly-tbs .mx-xl-4{margin-right:1.5rem!important}#bookly-tbs .mb-xl-4,#bookly-tbs .my-xl-4{margin-bottom:1.5rem!important}#bookly-tbs .ml-xl-4,#bookly-tbs .mx-xl-4{margin-left:1.5rem!important}#bookly-tbs .m-xl-5{margin:3rem!important}#bookly-tbs .mt-xl-5,#bookly-tbs .my-xl-5{margin-top:3rem!important}#bookly-tbs .mr-xl-5,#bookly-tbs .mx-xl-5{margin-right:3rem!important}#bookly-tbs .mb-xl-5,#bookly-tbs .my-xl-5{margin-bottom:3rem!important}#bookly-tbs .ml-xl-5,#bookly-tbs .mx-xl-5{margin-left:3rem!important}#bookly-tbs .p-xl-0{padding:0!important}#bookly-tbs .pt-xl-0,#bookly-tbs .py-xl-0{padding-top:0!important}#bookly-tbs .pr-xl-0,#bookly-tbs .px-xl-0{padding-right:0!important}#bookly-tbs .pb-xl-0,#bookly-tbs .py-xl-0{padding-bottom:0!important}#bookly-tbs .pl-xl-0,#bookly-tbs .px-xl-0{padding-left:0!important}#bookly-tbs .p-xl-1{padding:.25rem!important}#bookly-tbs .pt-xl-1,#bookly-tbs .py-xl-1{padding-top:.25rem!important}#bookly-tbs .pr-xl-1,#bookly-tbs .px-xl-1{padding-right:.25rem!important}#bookly-tbs .pb-xl-1,#bookly-tbs .py-xl-1{padding-bottom:.25rem!important}#bookly-tbs .pl-xl-1,#bookly-tbs .px-xl-1{padding-left:.25rem!important}#bookly-tbs .p-xl-2{padding:.5rem!important}#bookly-tbs .pt-xl-2,#bookly-tbs .py-xl-2{padding-top:.5rem!important}#bookly-tbs .pr-xl-2,#bookly-tbs .px-xl-2{padding-right:.5rem!important}#bookly-tbs .pb-xl-2,#bookly-tbs .py-xl-2{padding-bottom:.5rem!important}#bookly-tbs .pl-xl-2,#bookly-tbs .px-xl-2{padding-left:.5rem!important}#bookly-tbs .p-xl-3{padding:1rem!important}#bookly-tbs .pt-xl-3,#bookly-tbs .py-xl-3{padding-top:1rem!important}#bookly-tbs .pr-xl-3,#bookly-tbs .px-xl-3{padding-right:1rem!important}#bookly-tbs .pb-xl-3,#bookly-tbs .py-xl-3{padding-bottom:1rem!important}#bookly-tbs .pl-xl-3,#bookly-tbs .px-xl-3{padding-left:1rem!important}#bookly-tbs .p-xl-4{padding:1.5rem!important}#bookly-tbs .pt-xl-4,#bookly-tbs .py-xl-4{padding-top:1.5rem!important}#bookly-tbs .pr-xl-4,#bookly-tbs .px-xl-4{padding-right:1.5rem!important}#bookly-tbs .pb-xl-4,#bookly-tbs .py-xl-4{padding-bottom:1.5rem!important}#bookly-tbs .pl-xl-4,#bookly-tbs .px-xl-4{padding-left:1.5rem!important}#bookly-tbs .p-xl-5{padding:3rem!important}#bookly-tbs .pt-xl-5,#bookly-tbs .py-xl-5{padding-top:3rem!important}#bookly-tbs .pr-xl-5,#bookly-tbs .px-xl-5{padding-right:3rem!important}#bookly-tbs .pb-xl-5,#bookly-tbs .py-xl-5{padding-bottom:3rem!important}#bookly-tbs .pl-xl-5,#bookly-tbs .px-xl-5{padding-left:3rem!important}#bookly-tbs .m-xl-n1{margin:-.25rem!important}#bookly-tbs .mt-xl-n1,#bookly-tbs .my-xl-n1{margin-top:-.25rem!important}#bookly-tbs .mr-xl-n1,#bookly-tbs .mx-xl-n1{margin-right:-.25rem!important}#bookly-tbs .mb-xl-n1,#bookly-tbs .my-xl-n1{margin-bottom:-.25rem!important}#bookly-tbs .ml-xl-n1,#bookly-tbs .mx-xl-n1{margin-left:-.25rem!important}#bookly-tbs .m-xl-n2{margin:-.5rem!important}#bookly-tbs .mt-xl-n2,#bookly-tbs .my-xl-n2{margin-top:-.5rem!important}#bookly-tbs .mr-xl-n2,#bookly-tbs .mx-xl-n2{margin-right:-.5rem!important}#bookly-tbs .mb-xl-n2,#bookly-tbs .my-xl-n2{margin-bottom:-.5rem!important}#bookly-tbs .ml-xl-n2,#bookly-tbs .mx-xl-n2{margin-left:-.5rem!important}#bookly-tbs .m-xl-n3{margin:-1rem!important}#bookly-tbs .mt-xl-n3,#bookly-tbs .my-xl-n3{margin-top:-1rem!important}#bookly-tbs .mr-xl-n3,#bookly-tbs .mx-xl-n3{margin-right:-1rem!important}#bookly-tbs .mb-xl-n3,#bookly-tbs .my-xl-n3{margin-bottom:-1rem!important}#bookly-tbs .ml-xl-n3,#bookly-tbs .mx-xl-n3{margin-left:-1rem!important}#bookly-tbs .m-xl-n4{margin:-1.5rem!important}#bookly-tbs .mt-xl-n4,#bookly-tbs .my-xl-n4{margin-top:-1.5rem!important}#bookly-tbs .mr-xl-n4,#bookly-tbs .mx-xl-n4{margin-right:-1.5rem!important}#bookly-tbs .mb-xl-n4,#bookly-tbs .my-xl-n4{margin-bottom:-1.5rem!important}#bookly-tbs .ml-xl-n4,#bookly-tbs .mx-xl-n4{margin-left:-1.5rem!important}#bookly-tbs .m-xl-n5{margin:-3rem!important}#bookly-tbs .mt-xl-n5,#bookly-tbs .my-xl-n5{margin-top:-3rem!important}#bookly-tbs .mr-xl-n5,#bookly-tbs .mx-xl-n5{margin-right:-3rem!important}#bookly-tbs .mb-xl-n5,#bookly-tbs .my-xl-n5{margin-bottom:-3rem!important}#bookly-tbs .ml-xl-n5,#bookly-tbs .mx-xl-n5{margin-left:-3rem!important}#bookly-tbs .m-xl-auto{margin:auto!important}#bookly-tbs .mt-xl-auto,#bookly-tbs .my-xl-auto{margin-top:auto!important}#bookly-tbs .mr-xl-auto,#bookly-tbs .mx-xl-auto{margin-right:auto!important}#bookly-tbs .mb-xl-auto,#bookly-tbs .my-xl-auto{margin-bottom:auto!important}#bookly-tbs .ml-xl-auto,#bookly-tbs .mx-xl-auto{margin-left:auto!important}}#bookly-tbs .text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}#bookly-tbs .text-justify{text-align:justify!important}#bookly-tbs .text-wrap{white-space:normal!important}#bookly-tbs .text-nowrap{white-space:nowrap!important}#bookly-tbs .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .text-left{text-align:left!important}#bookly-tbs .text-right{text-align:right!important}#bookly-tbs .text-center{text-align:center!important}@media (min-width:576px){#bookly-tbs .text-sm-left{text-align:left!important}#bookly-tbs .text-sm-right{text-align:right!important}#bookly-tbs .text-sm-center{text-align:center!important}}@media (min-width:768px){#bookly-tbs .text-md-left{text-align:left!important}#bookly-tbs .text-md-right{text-align:right!important}#bookly-tbs .text-md-center{text-align:center!important}}@media (min-width:992px){#bookly-tbs .text-lg-left{text-align:left!important}#bookly-tbs .text-lg-right{text-align:right!important}#bookly-tbs .text-lg-center{text-align:center!important}}@media (min-width:1200px){#bookly-tbs .text-xl-left{text-align:left!important}#bookly-tbs .text-xl-right{text-align:right!important}#bookly-tbs .text-xl-center{text-align:center!important}}#bookly-tbs .text-lowercase{text-transform:lowercase!important}#bookly-tbs .text-uppercase{text-transform:uppercase!important}#bookly-tbs .text-capitalize{text-transform:capitalize!important}#bookly-tbs .font-weight-light{font-weight:300!important}#bookly-tbs .font-weight-lighter{font-weight:lighter!important}#bookly-tbs .font-weight-normal{font-weight:400!important}#bookly-tbs .font-weight-bold{font-weight:700!important}#bookly-tbs .font-weight-bolder{font-weight:bolder!important}#bookly-tbs .font-italic{font-style:italic!important}#bookly-tbs .text-white{color:#fff!important}#bookly-tbs .text-primary{color:#007bff!important}#bookly-tbs a.text-primary:focus,#bookly-tbs a.text-primary:hover{color:#0056b3!important}#bookly-tbs .text-secondary{color:#6c757d!important}#bookly-tbs a.text-secondary:focus,#bookly-tbs a.text-secondary:hover{color:#494f54!important}#bookly-tbs .text-success{color:#28a745!important}#bookly-tbs a.text-success:focus,#bookly-tbs a.text-success:hover{color:#19692c!important}#bookly-tbs .text-info{color:#17a2b8!important}#bookly-tbs a.text-info:focus,#bookly-tbs a.text-info:hover{color:#0f6674!important}#bookly-tbs .text-warning{color:#ffc107!important}#bookly-tbs a.text-warning:focus,#bookly-tbs a.text-warning:hover{color:#ba8b00!important}#bookly-tbs .text-danger{color:#dc3545!important}#bookly-tbs a.text-danger:focus,#bookly-tbs a.text-danger:hover{color:#a71d2a!important}#bookly-tbs .text-light{color:#f8f9fa!important}#bookly-tbs a.text-light:focus,#bookly-tbs a.text-light:hover{color:#cbd3da!important}#bookly-tbs .text-dark{color:#343a40!important}#bookly-tbs a.text-dark:focus,#bookly-tbs a.text-dark:hover{color:#121416!important}#bookly-tbs .text-body{color:#212529!important}#bookly-tbs .text-muted{color:#6c757d!important}#bookly-tbs .text-black-50{color:rgba(0,0,0,.5)!important}#bookly-tbs .text-white-50{color:rgba(255,255,255,.5)!important}#bookly-tbs .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .text-decoration-none{text-decoration:none!important}#bookly-tbs .text-break{word-break:break-word!important;overflow-wrap:break-word!important}#bookly-tbs .text-reset{color:inherit!important}#bookly-tbs .visible{visibility:visible!important}#bookly-tbs .invisible{visibility:hidden!important}@media print{#bookly-tbs *,#bookly-tbs ::after,#bookly-tbs ::before{text-shadow:none!important;box-shadow:none!important}#bookly-tbs a:not(.btn){text-decoration:underline}#bookly-tbs abbr[title]::after{content:" (" attr(title) ")"}#bookly-tbs pre{white-space:pre-wrap!important}#bookly-tbs blockquote,#bookly-tbs pre{border:1px solid #adb5bd;page-break-inside:avoid}#bookly-tbs thead{display:table-header-group}#bookly-tbs img,#bookly-tbs tr{page-break-inside:avoid}#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs p{orphans:3;widows:3}#bookly-tbs h2,#bookly-tbs h3{page-break-after:avoid}@page{size:a3}#bookly-tbs body{min-width:992px!important}#bookly-tbs .container{min-width:992px!important}#bookly-tbs .navbar{display:none}#bookly-tbs .badge{border:1px solid #000}#bookly-tbs .table{border-collapse:collapse!important}#bookly-tbs .table td,#bookly-tbs .table th{background-color:#fff!important}#bookly-tbs .table-bordered td,#bookly-tbs .table-bordered th{border:1px solid #dee2e6!important}#bookly-tbs .table-dark{color:inherit}#bookly-tbs .table-dark tbody+tbody,#bookly-tbs .table-dark td,#bookly-tbs .table-dark th,#bookly-tbs .table-dark thead th{border-color:#dee2e6}#bookly-tbs .table .thead-dark th{color:inherit;border-color:#dee2e6}}#bookly-tbs p{font-size:1rem}#bookly-tbs ol,#bookly-tbs ul{padding:0 0 0 40px}#bookly-tbs ol{margin-left:0}#bookly-tbs ul{list-style:disc}#bookly-tbs li{margin:0}#bookly-tbs a:focus{box-shadow:none}#bookly-tbs .form-control{max-width:none}#bookly-tbs .btn,#bookly-tbs .fc .fc-button{white-space:nowrap}#bookly-tbs .btn-default,#bookly-tbs .fc .fc-button{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:hover,#bookly-tbs .fc .fc-button:hover{color:#212529;background-color:#ececec;border-color:#b1bbc4}#bookly-tbs .btn-default.focus,#bookly-tbs .btn-default:focus,#bookly-tbs .fc .fc-button:focus,#bookly-tbs .fc .focus.fc-button{color:#212529;background-color:#ececec;border-color:#b1bbc4;box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .btn-default.disabled,#bookly-tbs .btn-default:disabled,#bookly-tbs .fc .disabled.fc-button,#bookly-tbs .fc .fc-button:disabled{color:#212529;background-color:#fff;border-color:#ced4da}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled).active,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled):active,.show>#bookly-tbs .btn-default.dropdown-toggle,.show>#bookly-tbs .fc .dropdown-toggle.fc-button{color:#212529;background-color:#e6e6e6;border-color:#aab4bf}#bookly-tbs .btn-default:not(:disabled):not(.disabled).active:focus,#bookly-tbs .btn-default:not(:disabled):not(.disabled):active:focus,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled).active:focus,#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled):active:focus,.show>#bookly-tbs .btn-default.dropdown-toggle:focus,.show>#bookly-tbs .fc .dropdown-toggle.fc-button:focus{box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .bookly-fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-fade{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-fade:not(.show){opacity:0}#bookly-tbs .dropdown-item:focus,#bookly-tbs .dropdown-item:hover{background-color:#fff}#bookly-tbs .dropdown-item .dropdown-item{padding:.25rem 0 .25rem 1.5rem}#bookly-tbs .dropdown-item .custom-control label{width:100%}#bookly-tbs .dropdown-item .custom-control:focus,#bookly-tbs .dropdown-item .custom-control:hover{background-color:#f8f9fa}#bookly-tbs .bookly-modal .dropdown-menu.show{overflow-y:auto;max-height:320px}#bookly-tbs .custom-checkbox .custom-control-input.bookly-checkbox-loading~.custom-control-label:before{content:'';width:16px;height:16px;background:url(../../images/ajax_loader_32x32.gif) no-repeat;background-size:contain;border:none;background-color:transparent!important}#bookly-tbs .custom-checkbox .custom-control-input:not(:checked)~.custom-control-label.bookly-toggle-label{color:#6c757d}#bookly-tbs .nav-tabs .nav-link{color:#495057}#bookly-tbs .nav-tabs .nav-link:hover{color:#343a40}#bookly-tbs .nav-tabs .nav-link:focus{box-shadow:none;outline:0}@media (max-width:575.98px){#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-xs.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:767.98px){#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-sm.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:991.98px){#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-md.nav-tabs .nav-link:hover{border-color:#343a40}}@media (max-width:1199.98px){#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-lg.nav-tabs .nav-link:hover{border-color:#343a40}}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link{background-color:#f8f9fa;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;border-color:#dee2e6;margin-bottom:.5rem}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link.active{background-color:#fff;border-bottom:1px solid #dee2e6}#bookly-tbs .bookly-nav-tabs-xl.nav-tabs .nav-link:hover{border-color:#343a40}#bookly-tbs .nav-pills .nav-link{background-color:#fff;background-clip:border-box;color:#212529;border:1px solid #ced4da}#bookly-tbs .nav-pills .nav-link:hover{color:#fff;background-color:#007bff}#bookly-tbs .nav-pills .nav-link.active,#bookly-tbs .nav-pills .nav-link:hover{border-color:transparent}#bookly-tbs .card{margin-top:0;padding:0;max-width:none;box-shadow:none}#bookly-tbs .bookly-card-highlighted{background-color:#f4e9e6}#bookly-tbs .list-group-item+.list-group-item{border-top-width:0}#bookly-tbs .list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}#bookly-tbs .list-group-item[style="display: none;"]+.list-group-item{border-top-left-radius:.25rem;border-top-right-radius:.25rem;border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .list-group-item.ui-sortable-helper,#bookly-tbs .list-group-item.ui-sortable-placeholder+.list-group-item{border-top:1px solid rgba(0,0,0,.125)}#bookly-tbs .bookly-cursor-move{cursor:move}#bookly-tbs .bookly-loading{position:relative;height:100px}#bookly-tbs .bookly-loading:before{content:'';position:absolute;left:calc(50% - 16px);top:calc(50% - 16px);width:32px;height:32px;background:url(../../images/ajax_loader_32x32.gif) no-repeat;background-size:contain}#bookly-tbs .bookly-loading.bookly-loading-sm{position:relative;display:inline-block;min-width:16px;min-height:16px;height:16px}#bookly-tbs .bookly-loading.bookly-loading-sm:before{left:0;top:2px;width:16px;height:16px}#bookly-tbs .bookly-hide-empty:empty{display:none}#bookly-tbs .text-pre-wrap{white-space:pre-wrap!important}#bookly-tbs .bookly-cursor-pointer{cursor:pointer}#bookly-tbs .bookly-alert{position:fixed;top:55px;right:13px;z-index:10000;text-align:left}@media (min-width:783px){#bookly-tbs .bookly-alert{right:21px}}#bookly-tbs .bookly-alert button{margin-left:10px}#bookly-tbs .bookly-collapse{margin-bottom:.75rem}#bookly-tbs .bookly-collapse a[data-toggle=collapse]{text-decoration:none;color:#343a40}#bookly-tbs .bookly-collapse a[data-toggle=collapse]:after{content:"\f0d8";font-family:"Font Awesome 5 Free";font-size:.875rem;font-weight:900;margin-left:.5em}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed{color:#495057}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed:hover{color:#343a40}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed:after{content:"\f0d7"}#bookly-tbs .bookly-color-picker{height:38px}#bookly-tbs .bookly-color-picker .wp-picker-container{position:absolute;z-index:1;padding:9px 8px 8px;margin:-8px 0 0 -8px;background-color:#fff}#bookly-tbs .bookly-color-picker .wp-picker-container *{box-sizing:content-box}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result{border-radius:.25rem;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:none;box-shadow:0 0 0 1px #ced4da}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:hover{box-shadow:0 0 0 1px #b1bbc4}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:hover .wp-color-result-text{color:#212529;border-color:#b1bbc4;background-color:#ececec}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result.focus,#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:focus{box-shadow:0 0 0 .2rem rgba(180,186,191,.5)}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result.focus .wp-color-result-text,#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result:focus .wp-color-result-text{color:#212529;border-color:#b1bbc4;background-color:#ececec}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result .wp-color-result-text{margin:-1px -1px -1px 0;border:1px solid #ced4da;border-radius:0 .25rem .25rem 0;color:#212529;padding:.375rem .75rem;font-weight:400;font-size:1rem;background-color:#fff;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;line-height:1.5;max-width:130px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){#bookly-tbs .bookly-color-picker .wp-picker-container .wp-color-result .wp-color-result-text{-webkit-transition:none;transition:none}}#bookly-tbs .bookly-color-picker .wp-picker-container.wp-picker-active{box-shadow:0 5px 10px rgba(0,0,0,.2)}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap{margin-left:8px}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap .wp-color-picker{margin-top:-1px;min-height:26px;border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .bookly-color-picker .wp-picker-container .wp-picker-input-wrap input.wp-picker-clear{display:none}#bookly-tbs table.dataTable{clear:both;margin-top:6px!important;margin-bottom:6px!important;max-width:none!important;border-collapse:separate!important;border-spacing:0}#bookly-tbs table.dataTable td,#bookly-tbs table.dataTable th{box-sizing:content-box}#bookly-tbs table.dataTable td.dataTables_empty,#bookly-tbs table.dataTable th.dataTables_empty{text-align:center}#bookly-tbs table.dataTable.nowrap td,#bookly-tbs table.dataTable.nowrap th{white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_length label{font-weight:400;text-align:left;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}#bookly-tbs div.dataTables_wrapper div.dataTables_filter{text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_filter label{font-weight:400;white-space:nowrap;text-align:left}#bookly-tbs div.dataTables_wrapper div.dataTables_filter input{margin-left:.5em;display:inline-block;width:auto}#bookly-tbs div.dataTables_wrapper div.dataTables_info{padding-top:.85em;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}#bookly-tbs table.dataTable thead>tr>td.sorting,#bookly-tbs table.dataTable thead>tr>td.sorting_asc,#bookly-tbs table.dataTable thead>tr>td.sorting_desc,#bookly-tbs table.dataTable thead>tr>th.sorting,#bookly-tbs table.dataTable thead>tr>th.sorting_asc,#bookly-tbs table.dataTable thead>tr>th.sorting_desc{padding-right:30px}#bookly-tbs table.dataTable thead>tr>td:active,#bookly-tbs table.dataTable thead>tr>th:active{outline:0}#bookly-tbs table.dataTable thead .sorting,#bookly-tbs table.dataTable thead .sorting_asc,#bookly-tbs table.dataTable thead .sorting_asc_disabled,#bookly-tbs table.dataTable thead .sorting_desc,#bookly-tbs table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}#bookly-tbs table.dataTable thead .sorting:after,#bookly-tbs table.dataTable thead .sorting:before,#bookly-tbs table.dataTable thead .sorting_asc:after,#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc:after,#bookly-tbs table.dataTable thead .sorting_desc:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:before{position:absolute;bottom:.9em;display:block;opacity:.3}#bookly-tbs table.dataTable thead .sorting:before,#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}#bookly-tbs table.dataTable thead .sorting:after,#bookly-tbs table.dataTable thead .sorting_asc:after,#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{right:.5em;content:"\2193"}#bookly-tbs table.dataTable thead .sorting_asc:before,#bookly-tbs table.dataTable thead .sorting_desc:after{opacity:1}#bookly-tbs table.dataTable thead .sorting_asc_disabled:before,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{opacity:0}#bookly-tbs div.dataTables_scrollHead table.dataTable{margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table{border-top:none;margin-top:0!important;margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table thead .sorting:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting:before,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:before,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:before{display:none}#bookly-tbs div.dataTables_scrollBody table tbody tr:first-child td,#bookly-tbs div.dataTables_scrollBody table tbody tr:first-child th{border-top:none}#bookly-tbs div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}#bookly-tbs div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0!important;border-top:none}@media screen and (max-width:767px){#bookly-tbs div.dataTables_wrapper div.dataTables_filter,#bookly-tbs div.dataTables_wrapper div.dataTables_info,#bookly-tbs div.dataTables_wrapper div.dataTables_length,#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{text-align:center}}#bookly-tbs table.dataTable.table-sm>thead>tr>th{padding-right:20px}#bookly-tbs table.dataTable.table-sm .sorting:before,#bookly-tbs table.dataTable.table-sm .sorting_asc:before,#bookly-tbs table.dataTable.table-sm .sorting_desc:before{top:5px;right:.85em}#bookly-tbs table.dataTable.table-sm .sorting:after,#bookly-tbs table.dataTable.table-sm .sorting_asc:after,#bookly-tbs table.dataTable.table-sm .sorting_desc:after{top:5px}#bookly-tbs table.table-bordered.dataTable td,#bookly-tbs table.table-bordered.dataTable th{border-left-width:0}#bookly-tbs table.table-bordered.dataTable td:last-child,#bookly-tbs table.table-bordered.dataTable th:last-child{border-right-width:0}#bookly-tbs table.table-bordered.dataTable tbody td,#bookly-tbs table.table-bordered.dataTable tbody th{border-bottom-width:0}#bookly-tbs div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row{margin:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap>div[class^=col-]:first-child,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:first-child{padding-left:0}#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.jCal-wrap>div[class^=col-]:last-child,#bookly-tbs div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:last-child{padding-right:0}@keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#bookly-tbs div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:#fff;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,.3);border-radius:3px;text-align:center;z-index:21}#bookly-tbs div.dt-button-info h2{padding:.5em;margin:0;font-weight:400;border-bottom:1px solid #ddd;background-color:#f3f3f3}#bookly-tbs div.dt-button-info>div{padding:1em}#bookly-tbs div.dt-button-collection-title{text-align:center;padding:.3em 0 .5em;font-size:.9em}#bookly-tbs div.dt-button-collection-title:empty{display:none}#bookly-tbs div.dt-button-collection{position:absolute;z-index:2001}#bookly-tbs div.dt-button-collection div.dropdown-menu{display:block;z-index:2002;min-width:100%}#bookly-tbs div.dt-button-collection div.dt-button-collection-title{background-color:#fff;border:1px solid rgba(0,0,0,.15)}#bookly-tbs div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}#bookly-tbs div.dt-button-collection.fixed.two-column{margin-left:-200px}#bookly-tbs div.dt-button-collection.fixed.three-column{margin-left:-225px}#bookly-tbs div.dt-button-collection.fixed.four-column{margin-left:-300px}#bookly-tbs div.dt-button-collection>:last-child{display:block!important;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}#bookly-tbs div.dt-button-collection>:last-child>*{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}#bookly-tbs div.dt-button-collection.two-column{width:400px}#bookly-tbs div.dt-button-collection.two-column>:last-child{padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}#bookly-tbs div.dt-button-collection.three-column{width:450px}#bookly-tbs div.dt-button-collection.three-column>:last-child{padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}#bookly-tbs div.dt-button-collection.four-column{width:600px}#bookly-tbs div.dt-button-collection.four-column>:last-child{padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}#bookly-tbs div.dt-button-collection .dt-button{border-radius:0}#bookly-tbs div.dt-button-collection.fixed{max-width:none}#bookly-tbs div.dt-button-collection.fixed:after,#bookly-tbs div.dt-button-collection.fixed:before{display:none}#bookly-tbs div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width:767px){#bookly-tbs div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:.5em}#bookly-tbs .fc div.dt-buttons a.fc-button,#bookly-tbs div.dt-buttons .fc a.fc-button,#bookly-tbs div.dt-buttons a.btn{float:none}}#bookly-tbs .fc div.dt-buttons a.processing.fc-button,#bookly-tbs .fc div.dt-buttons button.processing.fc-button,#bookly-tbs .fc div.dt-buttons div.processing.fc-button,#bookly-tbs div.dt-buttons .fc a.processing.fc-button,#bookly-tbs div.dt-buttons .fc button.processing.fc-button,#bookly-tbs div.dt-buttons .fc div.processing.fc-button,#bookly-tbs div.dt-buttons a.btn.processing,#bookly-tbs div.dt-buttons button.btn.processing,#bookly-tbs div.dt-buttons div.btn.processing{color:rgba(0,0,0,.2)}#bookly-tbs .fc div.dt-buttons a.processing.fc-button:after,#bookly-tbs .fc div.dt-buttons button.processing.fc-button:after,#bookly-tbs .fc div.dt-buttons div.processing.fc-button:after,#bookly-tbs div.dt-buttons .fc a.processing.fc-button:after,#bookly-tbs div.dt-buttons .fc button.processing.fc-button:after,#bookly-tbs div.dt-buttons .fc div.processing.fc-button:after,#bookly-tbs div.dt-buttons a.btn.processing:after,#bookly-tbs div.dt-buttons button.btn.processing:after,#bookly-tbs div.dt-buttons div.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1.5s infinite linear;-o-animation:dtb-spinner 1.5s infinite linear;-ms-animation:dtb-spinner 1.5s infinite linear;-webkit-animation:dtb-spinner 1.5s infinite linear;-moz-animation:dtb-spinner 1.5s infinite linear}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th.child{cursor:default!important}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before{display:none!important}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child{position:relative;padding-left:30px;cursor:pointer}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child:before{top:16px;left:4px;height:14px;width:14px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:'Courier New',Courier,monospace;line-height:14px;content:'+';background-color:#0275d8}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}#bookly-tbs table.dataTable.dtr-column>tbody>tr>td.control,#bookly-tbs table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}#bookly-tbs table.dataTable.dtr-column>tbody>tr>td.control:before,#bookly-tbs table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:'Courier New',Courier,monospace;line-height:14px;content:'+';background-color:#0275d8}#bookly-tbs table.dataTable.dtr-column>tbody>tr.parent td.control:before,#bookly-tbs table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}#bookly-tbs table.dataTable>tbody>tr.child{padding:.5em 1em}#bookly-tbs table.dataTable>tbody>tr.child:hover{background:0 0!important}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:.5em 0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}#bookly-tbs table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}#bookly-tbs table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:700}#bookly-tbs div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}#bookly-tbs div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid #000;border-radius:.5em;box-shadow:0 12px 30px rgba(0,0,0,.6)}#bookly-tbs div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}#bookly-tbs div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}#bookly-tbs div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}#bookly-tbs div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,.6)}@media screen and (max-width:767px){#bookly-tbs div.dtr-modal div.dtr-modal-display{width:95%}}#bookly-tbs div.dtr-bs-modal table.table tr:first-child td{border-top:none}#bookly-tbs table.dt-rowReorder-float{position:absolute!important;opacity:.8;table-layout:fixed;outline:2px solid #0275d8;outline-offset:-2px;z-index:2001}#bookly-tbs tr.dt-rowReorder-moving{outline:2px solid #888;outline-offset:-2px}#bookly-tbs body.dt-rowReorder-noOverflow{overflow-x:hidden}#bookly-tbs table.dataTable td.reorder{text-align:center;cursor:move}#bookly-tbs .daterangepicker{position:absolute;color:inherit;background-color:#fff;border-radius:4px;border:1px solid #ddd;width:278px;max-width:none;padding:0;margin-top:7px;top:100px;left:20px;z-index:3001;display:none;font-family:arial;font-size:15px;line-height:1em}#bookly-tbs .daterangepicker:after,#bookly-tbs .daterangepicker:before{position:absolute;display:inline-block;border-bottom-color:rgba(0,0,0,.2);content:''}#bookly-tbs .daterangepicker:before{top:-7px;border-right:7px solid transparent;border-left:7px solid transparent;border-bottom:7px solid #ccc}#bookly-tbs .daterangepicker:after{top:-6px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}#bookly-tbs .daterangepicker.opensleft:before{right:9px}#bookly-tbs .daterangepicker.opensleft:after{right:10px}#bookly-tbs .daterangepicker.openscenter:before{left:0;right:0;width:0;margin-left:auto;margin-right:auto}#bookly-tbs .daterangepicker.openscenter:after{left:0;right:0;width:0;margin-left:auto;margin-right:auto}#bookly-tbs .daterangepicker.opensright:before{left:9px}#bookly-tbs .daterangepicker.opensright:after{left:10px}#bookly-tbs .daterangepicker.drop-up{margin-top:-7px}#bookly-tbs .daterangepicker.drop-up:before{top:initial;bottom:-7px;border-bottom:initial;border-top:7px solid #ccc}#bookly-tbs .daterangepicker.drop-up:after{top:initial;bottom:-6px;border-bottom:initial;border-top:6px solid #fff}#bookly-tbs .daterangepicker.single .daterangepicker .ranges,#bookly-tbs .daterangepicker.single .drp-calendar{float:none}#bookly-tbs .daterangepicker.single .drp-selected{display:none}#bookly-tbs .daterangepicker.show-calendar .drp-calendar{display:block}#bookly-tbs .daterangepicker.show-calendar .drp-calendar select{border:1px solid #ced4da;padding:0 7px}#bookly-tbs .daterangepicker.show-calendar .drp-calendar table th{text-transform:none}#bookly-tbs .daterangepicker.show-calendar .drp-buttons{display:block}#bookly-tbs .daterangepicker.auto-apply .drp-buttons{display:none}#bookly-tbs .daterangepicker .drp-calendar{display:none;max-width:270px}#bookly-tbs .daterangepicker .drp-calendar.left{padding:8px 0 8px 8px}#bookly-tbs .daterangepicker .drp-calendar.right{padding:8px}#bookly-tbs .daterangepicker .drp-calendar.single .calendar-table{border:none}#bookly-tbs .daterangepicker .calendar-table .next span,#bookly-tbs .daterangepicker .calendar-table .prev span{color:#fff;border:solid #000;border-width:0 2px 2px 0;border-radius:0;display:inline-block;padding:3px}#bookly-tbs .daterangepicker .calendar-table .next span{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}#bookly-tbs .daterangepicker .calendar-table .prev span{transform:rotate(135deg);-webkit-transform:rotate(135deg)}#bookly-tbs .daterangepicker .calendar-table td,#bookly-tbs .daterangepicker .calendar-table th{white-space:nowrap;text-align:center;vertical-align:middle;min-width:32px;width:32px;height:24px;line-height:24px;font-size:12px;border-radius:4px;border:1px solid transparent;cursor:pointer}#bookly-tbs .daterangepicker .calendar-table{border:1px solid #fff;border-radius:4px;background-color:#fff}#bookly-tbs .daterangepicker .calendar-table table{width:100%;margin:0;border-spacing:0;border-collapse:collapse}#bookly-tbs .daterangepicker td.available:hover,#bookly-tbs .daterangepicker th.available:hover{background-color:#eee;border-color:transparent;color:inherit}#bookly-tbs .daterangepicker td.week,#bookly-tbs .daterangepicker th.week{font-size:80%;color:#ccc}#bookly-tbs .daterangepicker td.off,#bookly-tbs .daterangepicker td.off.end-date,#bookly-tbs .daterangepicker td.off.in-range,#bookly-tbs .daterangepicker td.off.start-date{background-color:#fff;border-color:transparent;color:#999}#bookly-tbs .daterangepicker td.in-range{background-color:#ebf4f8;border-color:transparent;color:#000;border-radius:0}#bookly-tbs .daterangepicker td.start-date{border-radius:4px 0 0 4px}#bookly-tbs .daterangepicker td.end-date{border-radius:0 4px 4px 0}#bookly-tbs .daterangepicker td.start-date.end-date{border-radius:4px}#bookly-tbs .daterangepicker td.active,#bookly-tbs .daterangepicker td.active:hover{background-color:#357ebd;border-color:transparent;color:#fff}#bookly-tbs .daterangepicker th.month{width:auto}#bookly-tbs .daterangepicker option.disabled,#bookly-tbs .daterangepicker td.disabled{color:#999;cursor:not-allowed;text-decoration:line-through}#bookly-tbs .daterangepicker select.monthselect,#bookly-tbs .daterangepicker select.yearselect{font-size:12px;padding:1px;margin:0;cursor:default}#bookly-tbs .daterangepicker select.monthselect{margin-right:2%;width:56%}#bookly-tbs .daterangepicker select.yearselect{width:40%}#bookly-tbs .daterangepicker select.ampmselect,#bookly-tbs .daterangepicker select.hourselect,#bookly-tbs .daterangepicker select.minuteselect,#bookly-tbs .daterangepicker select.secondselect{width:50px;margin:0 auto;background:#eee;border:1px solid #eee;padding:2px;outline:0;font-size:12px}#bookly-tbs .daterangepicker .calendar-time{text-align:center;margin:4px auto 0 auto;line-height:30px;position:relative}#bookly-tbs .daterangepicker .calendar-time select.disabled{color:#ccc;cursor:not-allowed}#bookly-tbs .daterangepicker .drp-buttons{clear:both;text-align:right;padding:8px;border-top:1px solid #ddd;display:none;line-height:12px;vertical-align:middle}#bookly-tbs .daterangepicker .drp-selected{display:block;font-size:12px;padding:8px}#bookly-tbs .daterangepicker .drp-buttons .btn,#bookly-tbs .daterangepicker .drp-buttons .fc .fc-button,#bookly-tbs .fc .daterangepicker .drp-buttons .fc-button{margin-left:8px;font-size:12px;padding:4px 8px}#bookly-tbs .daterangepicker.show-ranges.single.rtl .drp-calendar.left{border-right:1px solid #ddd}#bookly-tbs .daterangepicker.show-ranges.single.ltr .drp-calendar.left{border-left:1px solid #ddd}#bookly-tbs .daterangepicker.show-ranges.rtl .drp-calendar.right{border-right:1px solid #ddd}#bookly-tbs .daterangepicker.show-calendar.show-ranges .ranges{min-height:246px;border-right:1px solid #ddd}#bookly-tbs .daterangepicker .ranges{float:none;text-align:left;margin:0}#bookly-tbs .daterangepicker .ranges ul{list-style:none;margin:0 auto;padding:0;width:100%}#bookly-tbs .daterangepicker .ranges li{font-size:12px;padding:8px 12px;cursor:pointer;border-radius:0;border:0;background-color:transparent}#bookly-tbs .daterangepicker .ranges li:first-child{border-radius:4px 4px 0 0}#bookly-tbs .daterangepicker .ranges li:last-child{border-radius:0 0 4px 4px}#bookly-tbs .daterangepicker .ranges li:hover{background-color:#f8f9fa;color:#212529}#bookly-tbs .daterangepicker .ranges li.active{background-color:#08c;color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}@media (min-width:564px){#bookly-tbs .daterangepicker{width:auto}#bookly-tbs .daterangepicker.show-calendar.show-ranges{width:646px}#bookly-tbs .daterangepicker .drp-selected{display:inline-block;padding-right:8px}#bookly-tbs .daterangepicker .ranges ul{width:140px}#bookly-tbs .daterangepicker.single .ranges ul{width:100%}#bookly-tbs .daterangepicker.single .drp-calendar.left{clear:none}#bookly-tbs .daterangepicker.single .drp-calendar,#bookly-tbs .daterangepicker.single .ranges{float:left}#bookly-tbs .daterangepicker{direction:ltr;text-align:left}#bookly-tbs .daterangepicker .drp-calendar.left{clear:left;margin-right:0}#bookly-tbs .daterangepicker .drp-calendar.left .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .daterangepicker .drp-calendar.right{margin-left:0}#bookly-tbs .daterangepicker .drp-calendar.right .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .daterangepicker .drp-calendar.left .calendar-table{padding-right:8px}#bookly-tbs .daterangepicker .drp-calendar,#bookly-tbs .daterangepicker .ranges{float:left}}@media (min-width:730px){#bookly-tbs .daterangepicker .ranges{width:auto}#bookly-tbs .daterangepicker .ranges{float:left}#bookly-tbs .daterangepicker.rtl .ranges{float:right}#bookly-tbs .daterangepicker .drp-calendar.left{clear:none!important}}#bookly-tbs .fc .fc-button-group>.fc-button.fc-agendaDay-button:not(:last-child):not(.dropdown-toggle){border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#bookly-tbs .fc .fc-button{background-image:none;height:auto}#bookly-tbs .fc .fc-button:not(:disabled):not(.disabled).fc-state-active{color:#212529;background-color:#e6e6e6;border-color:#aab4bf;box-shadow:none}#bookly-tbs .fc .fc-toolbar .fc-today-button{margin-left:10px}#bookly-tbs .fc .fc-toolbar h2{cursor:pointer;font-size:24px;margin:6px 0 -3px}#bookly-tbs .fc .fc-toolbar h2::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#bookly-tbs .fc .fc-toolbar h2:empty::after{margin-left:0}#bookly-tbs .fc .fc-toolbar h2::after{font-size:1rem;margin-left:.5rem}#bookly-tbs .fc .fc-toolbar h2:hover{color:#0056b3}@media (max-width:767.98px){#bookly-tbs .fc .fc-toolbar .fc-left,#bookly-tbs .fc .fc-toolbar .fc-right{float:none;margin-bottom:10px}#bookly-tbs .fc .fc-toolbar .fc-left>*,#bookly-tbs .fc .fc-toolbar .fc-right>*{float:none}}#bookly-tbs .fc .fc-view{overflow:auto}#bookly-tbs .fc .fc-view>table{min-width:700px}#bookly-tbs .fc .fc-view .fc-day-header{font-weight:inherit;text-align:center}#bookly-tbs .fc .fc-view .fc-day.bookly-fc-day-active{background-color:#eafcff}#bookly-tbs .fc .fc-view .fc-axis{box-sizing:content-box;font-size:calc(1rem - 1px)}#bookly-tbs .fc .fc-view .fc-event{cursor:pointer;border:none;border-radius:0;padding:3px 2px 3px 5px}#bookly-tbs .fc .fc-view .fc-event:after{content:'';position:absolute;top:0;right:0;width:calc(100% - 2px);height:100%;background-color:rgba(255,255,255,.6)}#bookly-tbs .fc .fc-view .fc-event:hover:after{background-color:rgba(255,255,255,.7)}#bookly-tbs .fc .fc-view .fc-event .fc-time{font-size:inherit;font-weight:700}#bookly-tbs .fc .fc-view .fc-event .fc-time .bookly-fc-icon{cursor:pointer;float:right;font-size:1.2em;line-height:1.3;opacity:.8}#bookly-tbs .fc .fc-view .fc-event .fc-time .bookly-fc-icon:hover{opacity:1}#bookly-tbs .bookly-fc-loading{background-color:rgba(255,255,255,.7);bottom:0;left:0;position:absolute;right:0;top:50px;z-index:9}#bookly-tbs .bookly-fc-loading .bookly-fc-loading-icon{position:absolute;left:calc(50% - 16px);top:calc(50% - 16px);background:rgba(255,0,0,0) url(../../images/ajax_loader_32x32.gif) no-repeat scroll 50% center;width:32px;height:32px}@media (max-width:767.98px){#bookly-tbs .bookly-fc-loading{top:150px}}#bookly-tbs .jCal{width:100%;position:relative}#bookly-tbs .jCalMo{display:block;position:relative;padding:0 15px;margin-bottom:15px;white-space:nowrap}@media (min-width:576px){#bookly-tbs .jCalMo{height:257px}}#bookly-tbs .jCal .month,#bookly-tbs .jCal .monthName,#bookly-tbs .jCal .monthSelect,#bookly-tbs .jCal .monthYear{float:left}#bookly-tbs .jCal .monthName{font-weight:700;padding:.5rem 0;text-align:center;width:100%}#bookly-tbs .jCal .monthYear{float:right;text-align:left}#bookly-tbs .jCal .month{width:100%}#bookly-tbs .jCal .monthSelect{background:#f8f9fa}#bookly-tbs .jCal .monthSelector{position:absolute}#bookly-tbs .jCal .monthSelectorShadow{position:absolute;background:#adb5bd;padding:0}#bookly-tbs .jCal .monthNameHover,#bookly-tbs .jCal .monthYearHover{background:#f8f9fa;color:#adb5bd}#bookly-tbs .jCal .monthSelectHover{background:#007bff;color:#fff}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .day,#bookly-tbs .jCalMo .dow,#bookly-tbs .jCalMo .invday,#bookly-tbs .jCalMo .overDay,#bookly-tbs .jCalMo .pday,#bookly-tbs .jCalMo .selectedDay{position:relative;float:left;width:calc(14.2857% + 1px);margin-right:-1px;border:1px solid #f8f9fa;border-width:0 1px 1px 1px;text-align:center;cursor:default}#bookly-tbs .jCalMo .dow{font-size:12px;line-height:30px;background:#f8f9fa;border-bottom:0}#bookly-tbs .jCalMo .day{font-size:13px;line-height:30px;cursor:pointer;background:#fff}#bookly-tbs .jCalMo .invday{color:#adb5bd;background:#f8f9fa;text-decoration:line-through}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .pday{font-size:13px;line-height:30px;color:#f8f9fa;background:rgba(248,249,250,.3)}#bookly-tbs .jCalMo .overDay{color:#212529;background:rgba(0,123,255,.2)}#bookly-tbs .jCalMo .holidayDay{color:#fff;background:#ffc107}#bookly-tbs .jCalMo .holidayDay.repeatDay{color:#fff;background:#dc3545}#bookly-tbs .jCalMo .selectedDay,#bookly-tbs .jCalMo .selectedDay.repeatDay{color:#fff;background:#007bff}#bookly-tbs .jCal .left,#bookly-tbs .jCal .right{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .jCalMask,#bookly-tbs .jCalMove{position:absolute;overflow:hidden;width:700px;height:930px}@media (max-width:991.98px){#bookly-tbs .jCalMo{float:left;width:50%}}@media (min-width:992px){#bookly-tbs .jCalMo{float:left;width:33.33333333%}}#bookly-tbs .intl-tel-input{display:block}#bookly-tbs .intl-tel-input .flag-container{left:0;right:0}#bookly-tbs .intl-tel-input .flag-container ul.country-list{list-style:none;padding:0}#bookly-tbs .intl-tel-input .selected-flag{width:42px;padding:0 0 0 8px}#bookly-tbs .intl-tel-input .selected-flag .arrow{left:auto;right:4px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #000}#bookly-tbs .intl-tel-input .iti-flag{background-image:url(../../../../frontend/resources/images/flags.png)}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:2dppx){#bookly-tbs .intl-tel-input .iti-flag{background-image:url(../../../../frontend/resources/images/flags@2x.png)}}#bookly-tbs .intl-tel-input .form-control{padding-left:45px}#bookly-tbs .intl-tel-input .country-list{max-width:100%}#bookly-tbs .bookly-thumb{display:block;position:relative;width:106px;height:106px;border:1px solid #ced4da;border-radius:.25rem;background-color:#e9ecef;background-image:url(../../images/sprite.png);background-repeat:no-repeat;background-position:0 0;overflow:hidden}#bookly-tbs .bookly-thumb.w-100{background-image:none}#bookly-tbs .bookly-thumb .bookly-thumb-delete{position:absolute;top:.25rem;right:0;text-decoration:none}#bookly-tbs .bookly-thumb .bookly-thumb-edit{position:absolute;left:0;right:0;bottom:0;background-color:rgba(173,181,189,.5)}#bookly-tbs .bookly-thumb .bookly-thumb-edit:hover{background-color:rgba(173,181,189,.8)}#bookly-tbs .bookly-thumb .bookly-thumb-edit .bookly-thumb-edit-btn{width:100%;padding:0 3px;margin:0;text-align:center;color:#fff;font-size:13px;line-height:25px}#bookly-tbs .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}#bookly-tbs .select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .select2-container .select2-selection--single .select2-selection__clear{position:relative}#bookly-tbs .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}#bookly-tbs .select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .select2-container .select2-search--inline{float:left}#bookly-tbs .select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}#bookly-tbs .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}#bookly-tbs .select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}#bookly-tbs .select2-results{display:block}#bookly-tbs .select2-results__options{list-style:none;margin:0;padding:0}#bookly-tbs .select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}#bookly-tbs .select2-results__option[aria-selected]{cursor:pointer}#bookly-tbs .select2-container--open .select2-dropdown{left:0}#bookly-tbs .select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-search--dropdown{display:block;padding:4px}#bookly-tbs .select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}#bookly-tbs .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}#bookly-tbs .select2-search--dropdown.select2-search--hide{display:none}#bookly-tbs .select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}#bookly-tbs .select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}#bookly-tbs .select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}#bookly-tbs .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}#bookly-tbs .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}#bookly-tbs .select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}#bookly-tbs .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}#bookly-tbs .select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}#bookly-tbs .select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}#bookly-tbs .select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}#bookly-tbs .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,#bookly-tbs .select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,#bookly-tbs .select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}#bookly-tbs .select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}#bookly-tbs .select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}#bookly-tbs .select2-container--default .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--default .select2-results__option[aria-disabled=true]{color:#999}#bookly-tbs .select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option{padding-left:1em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}#bookly-tbs .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}#bookly-tbs .select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}#bookly-tbs .select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}#bookly-tbs .select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #dee2e6;border-radius:.25rem;outline:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #dee2e6;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #dee2e6;border-radius:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;left:1px;right:auto}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,from(white),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(white));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}#bookly-tbs .select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;cursor:text;outline:0}#bookly-tbs .select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #dee2e6;border-radius:.25rem;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}#bookly-tbs .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}#bookly-tbs .select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}#bookly-tbs .select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #dee2e6;outline:0}#bookly-tbs .select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}#bookly-tbs .select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}#bookly-tbs .select2-container--classic .select2-dropdown--above{border-bottom:none}#bookly-tbs .select2-container--classic .select2-dropdown--below{border-top:none}#bookly-tbs .select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}#bookly-tbs .select2-container--classic .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}#bookly-tbs .select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}#bookly-tbs .select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}#bookly-tbs .select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single{height:calc(1.5em + .75rem + 2px)!important}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder{color:#757575;line-height:calc(1.5em + .75rem)}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow{position:absolute;top:50%;right:3px;width:20px}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b{top:60%;border-color:#343a40 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;width:0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute}#bookly-tbs .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered{line-height:calc(1.5em + .75rem)}#bookly-tbs .select2-search--dropdown .select2-search__field{border:1px solid #ced4da;border-radius:.25rem}#bookly-tbs .select2-results__message{color:#6c757d}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple{min-height:calc(1.5em + .75rem + 2px)!important}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice{color:#343a40;border:1px solid #bdc6d0;border-radius:.2rem;padding:0;padding-right:5px;cursor:pointer;float:left;margin-top:.3em;margin-right:5px}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove{color:#bdc6d0;font-weight:700;margin-left:3px;margin-right:1px;padding-right:3px;padding-left:3px;float:left}#bookly-tbs .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover{color:#343a40}#bookly-tbs .select2-container{display:block}#bookly-tbs .select2-container :focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .input-group .select2-container--bootstrap4{-webkit-box-flex:1;flex-grow:1}#bookly-tbs .input-group-prepend~.select2-container--bootstrap4 .select2-selection{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group>.select2-container--bootstrap4:not(:last-child) .select2-selection{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--bootstrap4 .select2-selection{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){#bookly-tbs .select2-container--bootstrap4 .select2-selection{-webkit-transition:none;transition:none}}#bookly-tbs .select2-container--bootstrap4.select2-container--focus .select2-selection{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}#bookly-tbs .select2-container--bootstrap4.select2-container--focus.select2-container--open .select2-selection{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}#bookly-tbs .select2-container--bootstrap4.select2-container--disabled .select2-selection,#bookly-tbs .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-selection{background-color:#e9ecef;cursor:not-allowed;border-color:#ced4da;box-shadow:none}#bookly-tbs .select2-container--bootstrap4.select2-container--disabled .select2-search__field,#bookly-tbs .select2-container--bootstrap4.select2-container--disabled.select2-container--focus .select2-search__field{background-color:transparent}form.was-validated select:invalid~#bookly-tbs .select2-container--bootstrap4 .select2-selection,select.is-invalid~#bookly-tbs .select2-container--bootstrap4 .select2-selection{border-color:#dc3545}form.was-validated select:valid~#bookly-tbs .select2-container--bootstrap4 .select2-selection,select.is-valid~#bookly-tbs .select2-container--bootstrap4 .select2-selection{border-color:#28a745}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown{border-color:#ced4da;border-top:none;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above{border-top:1px solid #ced4da;border-top-left-radius:.25rem;border-top-right-radius:.25rem}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown .select2-results__option[aria-selected=true]{background-color:#e9ecef}#bookly-tbs .select2-container--bootstrap4 .select2-dropdown .select2-results__option:empty{padding:0}#bookly-tbs .select2-container--bootstrap4 .select2-results__option--highlighted,#bookly-tbs .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option[aria-selected=true]{background-color:#007bff;color:#f8f9fa}#bookly-tbs .select2-container--bootstrap4 .select2-results__option[role=group]{padding:0}#bookly-tbs .select2-container--bootstrap4 .select2-results>.select2-results__options{max-height:15em;overflow-y:auto}#bookly-tbs .select2-container--bootstrap4 .select2-results__group{padding:6px;display:list-item;color:#6c757d}#bookly-tbs .select2-container--bootstrap4 .select2-selection__clear{width:1.2em;height:1.2em;line-height:1.15em;padding-left:.3em;margin-top:.5em;color:#6c757d;font-weight:700;float:right;margin-right:.3em}#bookly-tbs .select2-container--bootstrap4 .select2-selection__clear:hover{color:#343a40}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection,#bookly-tbs #bookly-package-dialog .select2 .select2-selection{height:38px;box-shadow:none}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection__choice,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection__choice,#bookly-tbs #bookly-package-dialog .select2 .select2-selection__choice{display:none}#bookly-tbs #bookly-appointment-dialog .select2 .select2-selection ul,#bookly-tbs #bookly-coupon-modal .select2 .select2-selection ul,#bookly-tbs #bookly-package-dialog .select2 .select2-selection ul{margin-bottom:0}#bookly-tbs #bookly-appointment-dialog .select2.select2-container--focus,#bookly-tbs #bookly-coupon-modal .select2.select2-container--focus,#bookly-tbs #bookly-package-dialog .select2.select2-container--focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.25);border-radius:.25rem}#bookly-tbs #bookly-appointment-dialog .select2 .select2-search,#bookly-tbs #bookly-coupon-modal .select2 .select2-search,#bookly-tbs #bookly-package-dialog .select2 .select2-search{float:none;margin:3px 0;padding-left:8px;border-radius:.25rem}#bookly-tbs #bookly-appointment-dialog .select2 .select2-search__field,#bookly-tbs #bookly-coupon-modal .select2 .select2-search__field,#bookly-tbs #bookly-package-dialog .select2 .select2-search__field{min-width:50%!important;box-shadow:none;margin:0;padding:0;border:0}#bookly-tbs #select2-bookly-appointment-dialog-select2-results .select2-results__option[aria-selected=true]{background-color:#fff;color:#212529}.rtl #bookly-tbs *{text-align:right}.rtl #bookly-tbs .card-footer>button{margin:.25rem}.rtl #bookly-tbs .close{float:left}.rtl #bookly-tbs i.far,.rtl #bookly-tbs i.fas{margin-left:.5rem}.rtl #bookly-tbs .daterangepicker .calendar-table{text-align:center}.rtl #bookly-tbs .daterangepicker .drp-calendar{max-width:315px}.rtl #bookly-tbs .daterangepicker.show-calendar.show-ranges{width:774px}.rtl #bookly-tbs .fc-center h2{position:absolute;right:50%;top:0}.rtl #bookly-tbs .fc-icon{text-align:center}.rtl #bookly-tbs .input-group .select2-selection{border-radius:0 5px 5px 0!important}.rtl #bookly-tbs .input-group .form-control{border-radius:0 5px 5px 0;right:1px}.rtl #bookly-tbs .fc .input-group .input-group-append .fc-button,.rtl #bookly-tbs .input-group .input-group-append .btn,.rtl #bookly-tbs .input-group .input-group-append .fc .fc-button,.rtl #bookly-tbs .input-group .input-group-append .input-group-text{border-radius:5px 0 0 5px;border-top-left-radius:5px;border-bottom-left-radius:5px}.rtl #bookly-tbs .input-group .input-group-prepend{margin-left:-1px}.rtl #bookly-tbs .input-group .input-group-prepend .input-group-text{border-radius:0 5px 5px 0}.rtl #bookly-tbs #bookly-customer-information-fields .input-group .input-group-append:nth-child(2)>*{border-radius:0!important}.rtl #bookly-tbs .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:20px;padding-left:8px}.rtl #bookly-tbs .btn-group>:first-child,.rtl #bookly-tbs .fc .fc-button-group>:first-child{border-radius:0 3px 3px 0!important}.rtl #bookly-tbs .btn-group>.dropdown-toggle,.rtl #bookly-tbs .btn-group>:last-child,.rtl #bookly-tbs .fc .fc-button-group>.dropdown-toggle,.rtl #bookly-tbs .fc .fc-button-group>:last-child{border-radius:3px 0 0 3px!important;margin-right:0!important}.rtl #bookly-tbs .intl-tel-input .selected-flag{padding:0 16px 0 0}.rtl #bookly-tbs .intl-tel-input .country-list .flag-box{margin-left:6px}.rtl #bookly-tbs .intl-tel-input .form-control{padding-right:45px;padding-left:.75rem}.rtl #bookly-tbs .modal-header button.close{position:absolute;left:0}.rtl #bookly-tbs .custom-control.custom-checkbox{padding-left:0}.rtl #bookly-tbs label.custom-control-label{position:relative;padding-right:1.5rem}.rtl #bookly-tbs label.custom-control-label::after,.rtl #bookly-tbs label.custom-control-label::before{right:0;left:auto}
|
backend/resources/images/buy10.png
DELETED
Binary file
|
backend/resources/images/buy100.png
DELETED
Binary file
|
backend/resources/images/buy25.png
DELETED
Binary file
|
backend/resources/images/buy50.png
DELETED
Binary file
|
backend/resources/images/calendar.png
ADDED
Binary file
|
frontend/components/booking/InfoText.php
CHANGED
@@ -196,12 +196,14 @@ class InfoText
|
|
196 |
$data['appointment_time'][] = $slots[0][2] !== null ? ( $cart_item->getUnits() * $cart_item->getService()->getDuration() >= DAY_IN_SECONDS ? $service->getStartTimeInfo() : $service_dp->formatI18nTime() ) : __( 'N/A', 'bookly' );
|
197 |
$data['service_duration'][] = Lib\Utils\DateTime::secondsToInterval( $cart_item->getUnits() * $cart_item->getService()->getDuration() );
|
198 |
}
|
199 |
-
|
200 |
-
$
|
201 |
-
|
202 |
-
|
|
|
|
|
203 |
} else {
|
204 |
-
$data['staff_photo'][]
|
205 |
}
|
206 |
|
207 |
// If appointment exists, prepare some additional data.
|
196 |
$data['appointment_time'][] = $slots[0][2] !== null ? ( $cart_item->getUnits() * $cart_item->getService()->getDuration() >= DAY_IN_SECONDS ? $service->getStartTimeInfo() : $service_dp->formatI18nTime() ) : __( 'N/A', 'bookly' );
|
197 |
$data['service_duration'][] = Lib\Utils\DateTime::secondsToInterval( $cart_item->getUnits() * $cart_item->getService()->getDuration() );
|
198 |
}
|
199 |
+
// For Task when time step can be skipped, staff can be false
|
200 |
+
$staff = $cart_item->getStaff();
|
201 |
+
$data['staff_info'][] = $staff ? $staff->getTranslatedInfo() : '';
|
202 |
+
$data['staff_name'][] = $staff ? $staff->getTranslatedName() : '';
|
203 |
+
if ( $staff && $staff->getAttachmentId() && $img = wp_get_attachment_image_src( $staff->getAttachmentId(), 'full' ) ) {
|
204 |
+
$data['staff_photo'][] = '<img src="' . $img[0] . '"/>';
|
205 |
} else {
|
206 |
+
$data['staff_photo'][] = '';
|
207 |
}
|
208 |
|
209 |
// If appointment exists, prepare some additional data.
|
frontend/modules/booking/Ajax.php
CHANGED
@@ -1135,10 +1135,11 @@ class Ajax extends Lib\Base\Ajax
|
|
1135 |
$defaults = Lib\Session::getFormVar( self::parameter( 'form_id' ), 'defaults' );
|
1136 |
$service_id = $defaults['service_id'];
|
1137 |
if ( $defaults['staff_id'] == 0 ) {
|
1138 |
-
$service
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
|
|
1142 |
$staff_ids = Lib\Entities\StaffService::query()
|
1143 |
->where( 'service_id', $service_id )
|
1144 |
->fetchCol( 'staff_id' );
|
1135 |
$defaults = Lib\Session::getFormVar( self::parameter( 'form_id' ), 'defaults' );
|
1136 |
$service_id = $defaults['service_id'];
|
1137 |
if ( $defaults['staff_id'] == 0 ) {
|
1138 |
+
$service = Lib\Entities\Service::find( $defaults['service_id'] );
|
1139 |
+
if ( $service && $service->withSubServices() ) {
|
1140 |
+
$sub_services = $service->getSubServices();
|
1141 |
+
$service_id = reset( $sub_services )->getId();
|
1142 |
+
}
|
1143 |
$staff_ids = Lib\Entities\StaffService::query()
|
1144 |
->where( 'service_id', $service_id )
|
1145 |
->fetchCol( 'staff_id' );
|
languages/bookly-ar.mo
CHANGED
Binary file
|
languages/bookly-ar.po
CHANGED
@@ -2332,7 +2332,7 @@ msgid ""
|
|
2332 |
"booking."
|
2333 |
msgstr "أنت تحاول استخدام الخدمة كثيرًا. يرجى الاتصال بنا لإجراء حجز."
|
2334 |
|
2335 |
-
msgid "Your payment has been accepted for processing
|
2336 |
msgstr "تم قبول عملية الدفع الخاص بك للمعالجة."
|
2337 |
|
2338 |
msgid ""
|
@@ -3704,7 +3704,7 @@ msgstr "طول الفترة الزمنية كمدة الخدمة"
|
|
3704 |
msgid ""
|
3705 |
"The time interval which is used as a step when building all time slots for "
|
3706 |
"the service at the Time step. The setting overrides global settings in "
|
3707 |
-
"Settings
|
3708 |
msgstr ""
|
3709 |
"الفاصل الزمني الذي يتم استخدامه كخطوة عند إنشاء جميع فترات الوقت للخدمة في "
|
3710 |
"خطوة الوقت. يتجاوز الإعداد الإعدادات العامة في الإعدادات العامة. استخدم "
|
@@ -5888,7 +5888,7 @@ msgstr ""
|
|
5888 |
msgid ""
|
5889 |
"If this setting is enabled then online meetings will be created for new "
|
5890 |
"appointments with the selected online meeting provider. Make sure that the "
|
5891 |
-
"provider is configured properly in Settings
|
5892 |
"Meetings</a>"
|
5893 |
msgstr ""
|
5894 |
|
@@ -5958,7 +5958,7 @@ msgstr "كل سنة"
|
|
5958 |
msgid ""
|
5959 |
"This setting allows you to limit the number of appointments that can be "
|
5960 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
5961 |
-
"period or with the beginning of the next calendar period
|
5962 |
"month, etc."
|
5963 |
msgstr ""
|
5964 |
"يتيح لك هذا الإعداد تحديد عدد المواعيد التي يمكن حجزها من قبل العميل في أي "
|
2332 |
"booking."
|
2333 |
msgstr "أنت تحاول استخدام الخدمة كثيرًا. يرجى الاتصال بنا لإجراء حجز."
|
2334 |
|
2335 |
+
msgid "Your payment has been accepted for processing"
|
2336 |
msgstr "تم قبول عملية الدفع الخاص بك للمعالجة."
|
2337 |
|
2338 |
msgid ""
|
3704 |
msgid ""
|
3705 |
"The time interval which is used as a step when building all time slots for "
|
3706 |
"the service at the Time step. The setting overrides global settings in "
|
3707 |
+
"Settings > General. Use Default to apply global settings."
|
3708 |
msgstr ""
|
3709 |
"الفاصل الزمني الذي يتم استخدامه كخطوة عند إنشاء جميع فترات الوقت للخدمة في "
|
3710 |
"خطوة الوقت. يتجاوز الإعداد الإعدادات العامة في الإعدادات العامة. استخدم "
|
5888 |
msgid ""
|
5889 |
"If this setting is enabled then online meetings will be created for new "
|
5890 |
"appointments with the selected online meeting provider. Make sure that the "
|
5891 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
5892 |
"Meetings</a>"
|
5893 |
msgstr ""
|
5894 |
|
5958 |
msgid ""
|
5959 |
"This setting allows you to limit the number of appointments that can be "
|
5960 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
5961 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
5962 |
"month, etc."
|
5963 |
msgstr ""
|
5964 |
"يتيح لك هذا الإعداد تحديد عدد المواعيد التي يمكن حجزها من قبل العميل في أي "
|
languages/bookly-cs_CZ.po
CHANGED
@@ -2025,8 +2025,8 @@ msgstr ""
|
|
2025 |
"Snažíte se službu používat příliš často. Prosím, kontaktujte nás pro "
|
2026 |
"vytvoření rezervace."
|
2027 |
|
2028 |
-
msgid "Your payment has been accepted for processing
|
2029 |
-
msgstr "Vaše platba byla přijata ke
|
2030 |
|
2031 |
msgid ""
|
2032 |
"You selected a booking for {service_name} by {staff_name} at "
|
@@ -3388,7 +3388,7 @@ msgstr ""
|
|
3388 |
msgid ""
|
3389 |
"The time interval which is used as a step when building all time slots for "
|
3390 |
"the service at the Time step. The setting overrides global settings in "
|
3391 |
-
"Settings
|
3392 |
msgstr ""
|
3393 |
|
3394 |
msgid "You must select at least one repeat option for recurring services."
|
@@ -5437,7 +5437,7 @@ msgstr ""
|
|
5437 |
msgid ""
|
5438 |
"If this setting is enabled then online meetings will be created for new "
|
5439 |
"appointments with the selected online meeting provider. Make sure that the "
|
5440 |
-
"provider is configured properly in Settings
|
5441 |
"Meetings</a>"
|
5442 |
msgstr ""
|
5443 |
|
@@ -5507,7 +5507,7 @@ msgstr "za rok"
|
|
5507 |
msgid ""
|
5508 |
"This setting allows you to limit the number of appointments that can be "
|
5509 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
5510 |
-
"period or with the beginning of the next calendar period
|
5511 |
"month, etc."
|
5512 |
msgstr ""
|
5513 |
|
2025 |
"Snažíte se službu používat příliš často. Prosím, kontaktujte nás pro "
|
2026 |
"vytvoření rezervace."
|
2027 |
|
2028 |
+
msgid "Your payment has been accepted for processing"
|
2029 |
+
msgstr "Vaše platba byla přijata ke zpracování"
|
2030 |
|
2031 |
msgid ""
|
2032 |
"You selected a booking for {service_name} by {staff_name} at "
|
3388 |
msgid ""
|
3389 |
"The time interval which is used as a step when building all time slots for "
|
3390 |
"the service at the Time step. The setting overrides global settings in "
|
3391 |
+
"Settings > General. Use Default to apply global settings."
|
3392 |
msgstr ""
|
3393 |
|
3394 |
msgid "You must select at least one repeat option for recurring services."
|
5437 |
msgid ""
|
5438 |
"If this setting is enabled then online meetings will be created for new "
|
5439 |
"appointments with the selected online meeting provider. Make sure that the "
|
5440 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
5441 |
"Meetings</a>"
|
5442 |
msgstr ""
|
5443 |
|
5507 |
msgid ""
|
5508 |
"This setting allows you to limit the number of appointments that can be "
|
5509 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
5510 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
5511 |
"month, etc."
|
5512 |
msgstr ""
|
5513 |
|
languages/bookly-de_DE.mo
CHANGED
Binary file
|
languages/bookly-de_DE.po
CHANGED
@@ -8,8 +8,8 @@ msgstr ""
|
|
8 |
"Language: de_DE\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: German\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1428,7 +1428,7 @@ msgstr "Löschen"
|
|
1428 |
|
1429 |
# Speichern wrong
|
1430 |
msgid "Apply"
|
1431 |
-
msgstr "
|
1432 |
|
1433 |
# Ein weiteres Zeitfenster wurde auf den Seiten angeboten wrong
|
1434 |
msgid "Another time was offered on pages"
|
@@ -1609,6 +1609,13 @@ msgstr "Mitarbeitereinsatzplan hinzufügen"
|
|
1609 |
msgid "Add Staff Days Off"
|
1610 |
msgstr "Freie Tage des Mitarbeiters hinzufügen"
|
1611 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1612 |
# Unsichtbare Felder ausblenden wrong
|
1613 |
msgid "Hide visibility field"
|
1614 |
msgstr "Sichtbarkeitsfeld ausblenden"
|
@@ -1669,6 +1676,9 @@ msgstr ""
|
|
1669 |
msgid "Capacity"
|
1670 |
msgstr "Kapazität"
|
1671 |
|
|
|
|
|
|
|
1672 |
msgid "Special hours"
|
1673 |
msgstr "Sondertage"
|
1674 |
|
@@ -2111,7 +2121,7 @@ msgid "Staff"
|
|
2111 |
msgstr "Mitarbeiter"
|
2112 |
|
2113 |
msgid "Cancel"
|
2114 |
-
msgstr "
|
2115 |
|
2116 |
# Neu planen wrong
|
2117 |
msgid "Reschedule"
|
@@ -2628,7 +2638,7 @@ msgstr ""
|
|
2628 |
"uns, um eine Buchung vorzunehmen."
|
2629 |
|
2630 |
msgid "Your payment has been accepted for processing."
|
2631 |
-
msgstr "Ihre Zahlung wurde zur
|
2632 |
|
2633 |
msgid ""
|
2634 |
"You selected a booking for {service_name} by {staff_name} at "
|
@@ -3034,9 +3044,6 @@ msgstr "Regulärer Preis"
|
|
3034 |
msgid "Price with custom Sender ID"
|
3035 |
msgstr "Preis mit benutzerdefinierter Absender-ID"
|
3036 |
|
3037 |
-
msgid "Order"
|
3038 |
-
msgstr "Bestellen"
|
3039 |
-
|
3040 |
# Gewünscht ID wrong
|
3041 |
msgid "Requested ID"
|
3042 |
msgstr "Angeforderte ID"
|
@@ -3345,6 +3352,9 @@ msgstr "Ungültige E-Mail."
|
|
3345 |
msgid "Pending sender ID already exists."
|
3346 |
msgstr "Ausstehende Absender-ID bereits vorhanden."
|
3347 |
|
|
|
|
|
|
|
3348 |
msgid "Recovery code expired."
|
3349 |
msgstr "Wiederherstellungscode abgelaufen."
|
3350 |
|
@@ -3424,78 +3434,63 @@ msgstr "Anhänge"
|
|
3424 |
msgid "Archived"
|
3425 |
msgstr "Archiviert"
|
3426 |
|
3427 |
-
msgid "
|
3428 |
-
msgstr "
|
3429 |
-
|
3430 |
-
msgid "Company name"
|
3431 |
-
msgstr "Firmenname"
|
3432 |
-
|
3433 |
-
# Achtung: die Rechnung wird Ihnen an Ihre Paypal E-Mail Adresse geschickt. wrong
|
3434 |
-
msgid "Note: invoice will be sent to your PayPal email address"
|
3435 |
-
msgstr "Hinweis: Die Rechnung wird an Ihre PayPal-E-Mail-Adresse gesendet."
|
3436 |
-
|
3437 |
-
msgid "Company address"
|
3438 |
-
msgstr "Firmenadresse"
|
3439 |
-
|
3440 |
-
# Kopieren Sie die Rechnung in weitere E-Mails wrong
|
3441 |
-
msgid "Copy invoice to another email(s)"
|
3442 |
-
msgstr "Kopieren der Rechnung in eine andere E-Mail(s)"
|
3443 |
|
3444 |
-
msgid "
|
|
|
|
|
3445 |
msgstr ""
|
3446 |
-
"
|
3447 |
-
"
|
|
|
3448 |
|
3449 |
-
|
3450 |
-
|
3451 |
-
|
|
|
|
|
|
|
|
|
|
|
3452 |
|
3453 |
-
msgid "
|
3454 |
-
|
|
|
|
|
|
|
|
|
|
|
3455 |
|
3456 |
-
|
3457 |
-
|
3458 |
-
msgstr "Firmen Code"
|
3459 |
|
3460 |
-
|
3461 |
-
|
3462 |
-
msgstr "Zusätzlicher Text zur Aufnahme in die Rechnung"
|
3463 |
|
3464 |
msgid "SMS Notifications"
|
3465 |
msgstr "SMS Benachrichtigungen"
|
3466 |
|
3467 |
-
msgid "Your balance"
|
3468 |
-
msgstr "Ihr Guthaben"
|
3469 |
-
|
3470 |
-
msgid "Send email notification to administrators at low balance"
|
3471 |
-
msgstr ""
|
3472 |
-
"Senden von E-Mail-Benachrichtigung an die Administratoren bei niedrigen "
|
3473 |
-
"Guthaben"
|
3474 |
-
|
3475 |
-
msgid "Send weekly summary to administrators"
|
3476 |
-
msgstr "Senden wöchentliche Zusammenfassung für Administratoren"
|
3477 |
-
|
3478 |
-
msgid "Change"
|
3479 |
-
msgstr "Ändern"
|
3480 |
-
|
3481 |
# Zugelassen bei wrong
|
3482 |
msgid "Approved at"
|
3483 |
msgstr "Genehmigt bei"
|
3484 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3485 |
msgid "Log out"
|
3486 |
msgstr "Abmelden"
|
3487 |
|
3488 |
msgid "Notifications"
|
3489 |
msgstr "Benachrichtigungen"
|
3490 |
|
3491 |
-
# Geld hinzufügen wrong
|
3492 |
-
msgid "Add money"
|
3493 |
-
msgstr "Geldbetrag hinzufügen"
|
3494 |
-
|
3495 |
-
# Automatische Aufladefunktion wrong
|
3496 |
-
msgid "Auto-Recharge"
|
3497 |
-
msgstr "Automatisches Aufladen"
|
3498 |
-
|
3499 |
# Einkäufe wrong
|
3500 |
msgid "Purchases"
|
3501 |
msgstr "Bestellungen"
|
@@ -3601,25 +3596,6 @@ msgstr "Geben Sie den Code aus der E-Mail ein"
|
|
3601 |
msgid "Repeat new password"
|
3602 |
msgstr "Neues Passwort wiederholen"
|
3603 |
|
3604 |
-
# Kennwort ändern wrong
|
3605 |
-
msgid "Change password"
|
3606 |
-
msgstr "Passwort ändern"
|
3607 |
-
|
3608 |
-
msgid "Old password"
|
3609 |
-
msgstr "Altes Passwort"
|
3610 |
-
|
3611 |
-
msgid ""
|
3612 |
-
"We will only charge your PayPal account when your balance falls below $10."
|
3613 |
-
msgstr ""
|
3614 |
-
"Wir belasten nur Ihr PayPal-Konto, sobald Ihr Guthaben unter $10 fällt."
|
3615 |
-
|
3616 |
-
msgid "Enable Auto-Recharge"
|
3617 |
-
msgstr "Aktivieren Sie Automatische Aufladefunktion"
|
3618 |
-
|
3619 |
-
# Deaktivieren Sie Automatische Aufladefunktion wrong
|
3620 |
-
msgid "Disable Auto-Recharge"
|
3621 |
-
msgstr "Automatisches Aufladen abschalten"
|
3622 |
-
|
3623 |
msgid ""
|
3624 |
"If you do not see your country in the list please contact us at <a "
|
3625 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3691,21 +3667,89 @@ msgstr "Anfrage abbrechen"
|
|
3691 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3692 |
msgstr "Kann nur Buchstaben oder Ziffern (bis zu 11 Zeichen) enthalten."
|
3693 |
|
3694 |
-
msgid "
|
3695 |
-
msgstr "
|
3696 |
|
3697 |
-
|
3698 |
-
|
|
|
3699 |
|
3700 |
-
|
3701 |
-
|
3702 |
-
msgstr "Automatisches Aufladen aktiviert."
|
3703 |
|
3704 |
-
|
3705 |
-
|
|
|
3706 |
|
3707 |
-
|
3708 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3709 |
|
3710 |
msgid "Last month"
|
3711 |
msgstr "Letzter Monat"
|
@@ -3720,15 +3764,12 @@ msgstr "Die Absender-ID wird auf den Standardwert zurückgesetzt."
|
|
3720 |
msgid "No records for selected period."
|
3721 |
msgstr "Keine Einträge für den ausgewählten Zeitraum."
|
3722 |
|
3723 |
-
msgid "Invoice"
|
3724 |
-
msgstr "Rechnung"
|
3725 |
-
|
3726 |
msgid ""
|
3727 |
-
"To generate an invoice you should fill in company information in Bookly
|
3728 |
-
"
|
3729 |
msgstr ""
|
3730 |
-
"Um eine Rechnung zu erstellen, müssen Sie
|
3731 |
-
"
|
3732 |
|
3733 |
msgid "enable"
|
3734 |
msgstr "Aktivieren"
|
@@ -3745,23 +3786,6 @@ msgstr ""
|
|
3745 |
"Diese Dienstleistung ist vorübergehend nicht verfügbar. Bitte versuchen Sie "
|
3746 |
"es später noch einmal."
|
3747 |
|
3748 |
-
# Automatische Aufladefunktion ist fehlgeschlagen, bitte füllen Sie Ihre Guthaben direkt auf. wrong
|
3749 |
-
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3750 |
-
msgstr ""
|
3751 |
-
"Das automatische Aufladen ist fehlgeschlagen, bitte laden Sie Ihr Guthaben "
|
3752 |
-
"direkt wieder auf."
|
3753 |
-
|
3754 |
-
# Automatische Aufladefunktion deaktiviert wrong
|
3755 |
-
msgid "Auto-Recharge disabled"
|
3756 |
-
msgstr "Automatisches Aufladen deaktiviert"
|
3757 |
-
|
3758 |
-
msgid ""
|
3759 |
-
"Error. Can't disable Auto-Recharge, you can perform this action in your "
|
3760 |
-
"PayPal account."
|
3761 |
-
msgstr ""
|
3762 |
-
"Fehler. Wir können die automatische Aufladefunktion nicht deaktivieren. Sie "
|
3763 |
-
"können dies in Ihrem PayPal-Konto durchführen."
|
3764 |
-
|
3765 |
msgid "SMS has been sent successfully."
|
3766 |
msgstr "SMS wurde erfolgreich gesendet."
|
3767 |
|
@@ -4005,6 +4029,9 @@ msgstr ""
|
|
4005 |
"Buchungssystems feststellen.\n"
|
4006 |
"\n"
|
4007 |
|
|
|
|
|
|
|
4008 |
msgid "duration of service"
|
4009 |
msgstr "Dienstleistungslaufzeit"
|
4010 |
|
@@ -4170,13 +4197,19 @@ msgstr "Zeitfensterlänge als Dienstleistungslaufzeit"
|
|
4170 |
msgid ""
|
4171 |
"The time interval which is used as a step when building all time slots for "
|
4172 |
"the service at the Time step. The setting overrides global settings in "
|
4173 |
-
"Settings
|
4174 |
msgstr ""
|
4175 |
"Das Zeitintervall, das als Schritt verwendet wird, wenn alle Zeitfenster für "
|
4176 |
"den Dienst im Zeitschritt erstellt werden. Die Einstellung überschreibt die "
|
4177 |
"globalen Einstellungen in den allgemeinen Einstellungen. Verwenden Sie "
|
4178 |
"Standardwerte, um die globalen Einstellungen anzuwenden"
|
4179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4180 |
msgid "You must select at least one repeat option for recurring services."
|
4181 |
msgstr ""
|
4182 |
"Für wiederkehrende Leistungen müssen Sie mindestens eine Wiederholungsoption "
|
@@ -4191,6 +4224,25 @@ msgid_plural "%d services"
|
|
4191 |
msgstr[0] "%d Dienstleistung"
|
4192 |
msgstr[1] "%d Dienstleistungen"
|
4193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4194 |
msgid "Welcome to Bookly and thank you for your choice!"
|
4195 |
msgstr "Willkommen bei Bookly und vielen Dank für Ihre Wahl!"
|
4196 |
|
@@ -4691,50 +4743,6 @@ msgstr "Bookly Buchungsformular hinzufügen"
|
|
4691 |
msgid "Insert Appointment Booking Form"
|
4692 |
msgstr "Terminreservierungsformular einfügen"
|
4693 |
|
4694 |
-
msgid ""
|
4695 |
-
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4696 |
-
msgstr ""
|
4697 |
-
"Könnten Sie mir bitte einen GROSSEN Gefallen tun und bei WordPress ein 5-"
|
4698 |
-
"Sterne-Rating vergeben?"
|
4699 |
-
|
4700 |
-
msgid "Just to help us spread the word and boost our motivation."
|
4701 |
-
msgstr ""
|
4702 |
-
"Einfach um uns zu helfen, die Botschaft zu verkündigen und unsere Motivation "
|
4703 |
-
"zu steigern."
|
4704 |
-
|
4705 |
-
msgid "Ok, you deserve it"
|
4706 |
-
msgstr "Ok, Sie haben es sich verdient"
|
4707 |
-
|
4708 |
-
msgid "Nope, maybe later"
|
4709 |
-
msgstr "Nein, vielleicht später"
|
4710 |
-
|
4711 |
-
msgid "Thank you for the {star} star rating!!!"
|
4712 |
-
msgstr "Vielen Dank für die {star} Sternebewertung!!!"
|
4713 |
-
|
4714 |
-
msgid "You asked to remind you"
|
4715 |
-
msgstr "Sie haben darum gebeten, Sie daran zu erinnern"
|
4716 |
-
|
4717 |
-
msgid "Congratulations!!!"
|
4718 |
-
msgstr "Herzlichen Glückwunsch!!!"
|
4719 |
-
|
4720 |
-
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4721 |
-
msgstr ""
|
4722 |
-
"Sie haben soeben den <b>10ten Verkauf</b>bei Verwendung des Bookly-Plugin!"
|
4723 |
-
|
4724 |
-
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4725 |
-
msgstr ""
|
4726 |
-
"Sie haben soeben den <b>100sten Verkauf </b>bei Verwendung des Bookly-Plugin!"
|
4727 |
-
|
4728 |
-
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4729 |
-
msgstr ""
|
4730 |
-
"Sie haben soeben den <b>1000sten Verkauf </b>bei Verwendung des Bookly-"
|
4731 |
-
"Plugin!"
|
4732 |
-
|
4733 |
-
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4734 |
-
msgstr ""
|
4735 |
-
"Sie haben soeben den <b>10000sten Verkauf </b>bei Verwendung des Bookly-"
|
4736 |
-
"Plugin!"
|
4737 |
-
|
4738 |
msgid "Send tax information"
|
4739 |
msgstr "Steuerinformationen senden"
|
4740 |
|
@@ -5154,6 +5162,112 @@ msgstr "Neue E-Mail Benachrichtigung"
|
|
5154 |
msgid "Edit email notification"
|
5155 |
msgstr "E-Mail Benachrichtigung bearbeiten"
|
5156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5157 |
msgid "total quantity of appointments in cart"
|
5158 |
msgstr "Gesamtmenge der Termine im Warenkorb"
|
5159 |
|
@@ -5164,6 +5278,50 @@ msgstr "Anmeldeformular"
|
|
5164 |
msgid "total price of booking"
|
5165 |
msgstr "Gesamtpreis der Buchung"
|
5166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5167 |
msgid ""
|
5168 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
5169 |
" You can opt out of sharing the information in Settings > General."
|
@@ -5180,13 +5338,13 @@ msgstr ""
|
|
5180 |
"Lassen Sie das Plugin anonym Nutzungsinformationen sammeln, um dem Bookly-"
|
5181 |
"Team zu helfen, das Produkt zu verbessern."
|
5182 |
|
|
|
|
|
|
|
5183 |
# Widersprechen wrong
|
5184 |
msgid "Disagree"
|
5185 |
msgstr "Nicht einverstanden"
|
5186 |
|
5187 |
-
msgid "Agree"
|
5188 |
-
msgstr "Zustimmen"
|
5189 |
-
|
5190 |
#, php-format
|
5191 |
msgid ""
|
5192 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
@@ -5203,6 +5361,31 @@ msgstr ""
|
|
5203 |
"Blogbeitrag</a>.\n"
|
5204 |
"\n"
|
5205 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5206 |
msgid "This function is not available in the Bookly."
|
5207 |
msgstr "Diese Funktion ist in Bookly nicht verfügbar."
|
5208 |
|
@@ -5483,7 +5666,7 @@ msgid "Notification to customer about purchased package"
|
|
5483 |
msgstr "Benachrichtigung an den Kunden über das gekaufte Paket"
|
5484 |
|
5485 |
msgid "Your package at {company_name}"
|
5486 |
-
msgstr "
|
5487 |
|
5488 |
# Danke, dass Sie sich für unser Angebot entschieden haben.
|
5489 |
# wrong
|
@@ -6700,7 +6883,7 @@ msgstr "Online-Besprechungen erstellen"
|
|
6700 |
msgid ""
|
6701 |
"If this setting is enabled then online meetings will be created for new "
|
6702 |
"appointments with the selected online meeting provider. Make sure that the "
|
6703 |
-
"provider is configured properly in Settings
|
6704 |
"Meetings</a>"
|
6705 |
msgstr ""
|
6706 |
"Wenn diese Einstellung aktiviert ist, werden Online-Besprechungen für neue "
|
@@ -6747,6 +6930,18 @@ msgstr ""
|
|
6747 |
"Berechnung der Belegung der Anbieter berücksichtigt werden sollen. 0 "
|
6748 |
"bedeutet den Tag der Buchung."
|
6749 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6750 |
# Anzahl Termine pro Kunde wrong
|
6751 |
msgid "Limit appointments per customer"
|
6752 |
msgstr "Termine pro Kunde begrenzen"
|
@@ -6782,7 +6977,7 @@ msgstr "Pro Jahr"
|
|
6782 |
msgid ""
|
6783 |
"This setting allows you to limit the number of appointments that can be "
|
6784 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6785 |
-
"period or with the beginning of the next calendar period
|
6786 |
"month, etc."
|
6787 |
msgstr ""
|
6788 |
"Mit dieser Einstellung können Sie die Anzahl der Termine begrenzen, die von "
|
@@ -7532,9 +7727,6 @@ msgstr "Kunden begrenzen "
|
|
7532 |
msgid "Create another coupon"
|
7533 |
msgstr "Einen weiteren Gutschein erstellen"
|
7534 |
|
7535 |
-
msgid "Duplicate"
|
7536 |
-
msgstr "Duplikat"
|
7537 |
-
|
7538 |
msgid "No coupons found."
|
7539 |
msgstr "Keine Gutscheine gefunden."
|
7540 |
|
@@ -7555,6 +7747,9 @@ msgstr "Die Mindestanzahl der Termine sollte größer als Null sein."
|
|
7555 |
msgid "Max appointments should be greater than zero."
|
7556 |
msgstr "Maximale Termine sollten größer als Null sein."
|
7557 |
|
|
|
|
|
|
|
7558 |
# Bitte geben Sie eine nicht-leere Maske ein. wrong
|
7559 |
msgid "Please enter a non empty mask."
|
7560 |
msgstr "Bitte geben Sie eine unausgefüllte Maske ein."
|
@@ -8354,5 +8549,19 @@ msgstr ""
|
|
8354 |
"Bookly Termine kopiert. Wenn deaktiviert, wird standardmäßig der Titel "
|
8355 |
"\"Google Kalender Ereignis\" genutzt."
|
8356 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8357 |
msgid "Synchronize with Google Calendar"
|
8358 |
msgstr "Mit Google Kalender synchronisieren"
|
8 |
"Language: de_DE\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-06-08 11:37+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-06-08 11:47+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: German\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
1428 |
|
1429 |
# Speichern wrong
|
1430 |
msgid "Apply"
|
1431 |
+
msgstr "Anwenden"
|
1432 |
|
1433 |
# Ein weiteres Zeitfenster wurde auf den Seiten angeboten wrong
|
1434 |
msgid "Another time was offered on pages"
|
1609 |
msgid "Add Staff Days Off"
|
1610 |
msgstr "Freie Tage des Mitarbeiters hinzufügen"
|
1611 |
|
1612 |
+
msgid ""
|
1613 |
+
"Hide this field if you want to hide the list of WP users from your staff "
|
1614 |
+
"members."
|
1615 |
+
msgstr ""
|
1616 |
+
"Blenden Sie dieses Feld aus, wenn Sie die Liste der WP-Benutzer vor Ihren "
|
1617 |
+
"Mitarbeitern verbergen möchten."
|
1618 |
+
|
1619 |
# Unsichtbare Felder ausblenden wrong
|
1620 |
msgid "Hide visibility field"
|
1621 |
msgstr "Sichtbarkeitsfeld ausblenden"
|
1676 |
msgid "Capacity"
|
1677 |
msgstr "Kapazität"
|
1678 |
|
1679 |
+
msgid "Hide WordPress users"
|
1680 |
+
msgstr "WordPress-Benutzer ausblenden"
|
1681 |
+
|
1682 |
msgid "Special hours"
|
1683 |
msgstr "Sondertage"
|
1684 |
|
2121 |
msgstr "Mitarbeiter"
|
2122 |
|
2123 |
msgid "Cancel"
|
2124 |
+
msgstr "Stornieren"
|
2125 |
|
2126 |
# Neu planen wrong
|
2127 |
msgid "Reschedule"
|
2638 |
"uns, um eine Buchung vorzunehmen."
|
2639 |
|
2640 |
msgid "Your payment has been accepted for processing."
|
2641 |
+
msgstr "Ihre Zahlung wurde zur Bearbeitung angenommen."
|
2642 |
|
2643 |
msgid ""
|
2644 |
"You selected a booking for {service_name} by {staff_name} at "
|
3044 |
msgid "Price with custom Sender ID"
|
3045 |
msgstr "Preis mit benutzerdefinierter Absender-ID"
|
3046 |
|
|
|
|
|
|
|
3047 |
# Gewünscht ID wrong
|
3048 |
msgid "Requested ID"
|
3049 |
msgstr "Angeforderte ID"
|
3352 |
msgid "Pending sender ID already exists."
|
3353 |
msgstr "Ausstehende Absender-ID bereits vorhanden."
|
3354 |
|
3355 |
+
msgid "Recharge not available."
|
3356 |
+
msgstr "Aufladen nicht verfügbar."
|
3357 |
+
|
3358 |
msgid "Recovery code expired."
|
3359 |
msgstr "Wiederherstellungscode abgelaufen."
|
3360 |
|
3434 |
msgid "Archived"
|
3435 |
msgstr "Archiviert"
|
3436 |
|
3437 |
+
msgid "Setup your country"
|
3438 |
+
msgstr "Ihr Land konfigurieren."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3439 |
|
3440 |
+
msgid ""
|
3441 |
+
"Please spend a minute to setup your country. This will help us provide you "
|
3442 |
+
"with appropriate payment methods when replenishing your account."
|
3443 |
msgstr ""
|
3444 |
+
"Bitte nehmen Sie sich eine Minute Zeit, um Ihr Land einzurichten. Dadurch "
|
3445 |
+
"können wir Ihnen bei der Auffüllung Ihres Kontos geeignete Zahlungsmethoden "
|
3446 |
+
"anbieten."
|
3447 |
|
3448 |
+
msgid ""
|
3449 |
+
"The country will also be displayed in the invoice on a separate line below "
|
3450 |
+
"the company address. Make sure the other fields in the invoice do not "
|
3451 |
+
"contain the name of the country."
|
3452 |
+
msgstr ""
|
3453 |
+
"Das Land wird auch in der Rechnung in einer separaten Position unterhalb der "
|
3454 |
+
"Firmenadresse angezeigt. Stellen Sie sicher, dass die anderen Felder in der "
|
3455 |
+
"Rechnung nicht den Namen des Landes enthalten."
|
3456 |
|
3457 |
+
msgid ""
|
3458 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3459 |
+
"is used to provide you with the payment methods available in that country"
|
3460 |
+
msgstr ""
|
3461 |
+
"Ihr Land ist der Standort, von dem aus Sie die SMS-Dienste von Bookly "
|
3462 |
+
"konsumieren und dient dazu, Ihnen die in diesem Land verfügbaren "
|
3463 |
+
"Zahlungsmethoden zur Verfügung zu stellen."
|
3464 |
|
3465 |
+
msgid "Set country"
|
3466 |
+
msgstr "Land festlegen"
|
|
|
3467 |
|
3468 |
+
msgid "I'll do it later"
|
3469 |
+
msgstr "Ich werde es später durchführen."
|
|
|
3470 |
|
3471 |
msgid "SMS Notifications"
|
3472 |
msgstr "SMS Benachrichtigungen"
|
3473 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3474 |
# Zugelassen bei wrong
|
3475 |
msgid "Approved at"
|
3476 |
msgstr "Genehmigt bei"
|
3477 |
|
3478 |
+
msgid "Change the sender's name to your phone number or any other name"
|
3479 |
+
msgstr ""
|
3480 |
+
"Ändern Sie den Namen des Absenders in Ihre Telefonnummer oder einen anderen "
|
3481 |
+
"Namen"
|
3482 |
+
|
3483 |
+
msgid "Click this button to access your Bookly SMS account settings"
|
3484 |
+
msgstr ""
|
3485 |
+
"Klicken Sie auf diese Schaltfläche, um auf Ihre Bookly SMS-"
|
3486 |
+
"Kontoeinstellungen zuzugreifen"
|
3487 |
+
|
3488 |
msgid "Log out"
|
3489 |
msgstr "Abmelden"
|
3490 |
|
3491 |
msgid "Notifications"
|
3492 |
msgstr "Benachrichtigungen"
|
3493 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3494 |
# Einkäufe wrong
|
3495 |
msgid "Purchases"
|
3496 |
msgstr "Bestellungen"
|
3596 |
msgid "Repeat new password"
|
3597 |
msgstr "Neues Passwort wiederholen"
|
3598 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3599 |
msgid ""
|
3600 |
"If you do not see your country in the list please contact us at <a "
|
3601 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3667 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3668 |
msgstr "Kann nur Buchstaben oder Ziffern (bis zu 11 Zeichen) enthalten."
|
3669 |
|
3670 |
+
msgid "Account settings"
|
3671 |
+
msgstr "Konto-Einstellungen"
|
3672 |
|
3673 |
+
# Automatische Aufladefunktion wrong
|
3674 |
+
msgid "Auto-Recharge"
|
3675 |
+
msgstr "Automatisches Aufladen"
|
3676 |
|
3677 |
+
msgid "Invoice"
|
3678 |
+
msgstr "Rechnung"
|
|
|
3679 |
|
3680 |
+
# Kennwort ändern wrong
|
3681 |
+
msgid "Change password"
|
3682 |
+
msgstr "Passwort ändern"
|
3683 |
|
3684 |
+
#, php-format
|
3685 |
+
msgid "We will only charge you when your balance falls bellow %s"
|
3686 |
+
msgstr "Wir berechnen Ihnen nur dann Gebühren, wenn Ihr Saldo unter %s fällt"
|
3687 |
+
|
3688 |
+
msgid "Company name"
|
3689 |
+
msgstr "Firmenname"
|
3690 |
+
|
3691 |
+
msgid "Company address"
|
3692 |
+
msgstr "Firmenadresse"
|
3693 |
+
|
3694 |
+
# Firmenadresse Reihe 2 wrong
|
3695 |
+
msgid "Company address line 2"
|
3696 |
+
msgstr "Firmenadresse Zeile 2"
|
3697 |
+
|
3698 |
+
msgid "You can change the country <a href=\"#\">here</a>"
|
3699 |
+
msgstr "Sie können das Land <a href=\"#\">hier</a> ändern."
|
3700 |
+
|
3701 |
+
msgid "Company number"
|
3702 |
+
msgstr "Firmennummer"
|
3703 |
+
|
3704 |
+
msgid "VAT / Tax number"
|
3705 |
+
msgstr "Umsatzsteuer-/Steuernummer"
|
3706 |
+
|
3707 |
+
msgid "Additional text to include in invoice"
|
3708 |
+
msgstr "Zusätzlicher Text zur Berücksichtigung in der Rechnung"
|
3709 |
+
|
3710 |
+
#, php-format
|
3711 |
+
msgid "The invoice will be sent to <a href=\"mailto:%1$s\">%1$s</a>"
|
3712 |
+
msgstr "Die Rechnung wird an <a href=\"mailto:%1$s\">%1$s</a> gesendet."
|
3713 |
+
|
3714 |
+
# Kopieren Sie die Rechnung in weitere E-Mails wrong
|
3715 |
+
msgid "Copy invoice to another email(s)"
|
3716 |
+
msgstr "Kopieren der Rechnung in eine andere E-Mail(s)"
|
3717 |
+
|
3718 |
+
msgid "Enter one or more email addresses separated by commas."
|
3719 |
+
msgstr ""
|
3720 |
+
"Geben Sie eine oder mehrere E-Mail Adressen ein, getrennt durch Kommas.\n"
|
3721 |
+
"\n"
|
3722 |
+
|
3723 |
+
msgid "Save invoice settings"
|
3724 |
+
msgstr "Rechnungseinstellungen speichern"
|
3725 |
+
|
3726 |
+
msgid "Send email notification to administrators at low balance"
|
3727 |
+
msgstr ""
|
3728 |
+
"Senden von E-Mail-Benachrichtigung an die Administratoren bei niedrigen "
|
3729 |
+
"Guthaben"
|
3730 |
+
|
3731 |
+
msgid "Send weekly summary to administrators"
|
3732 |
+
msgstr "Senden wöchentliche Zusammenfassung für Administratoren"
|
3733 |
+
|
3734 |
+
msgid ""
|
3735 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3736 |
+
"is used to provide you with the payment methods available in that country."
|
3737 |
+
msgstr ""
|
3738 |
+
"Ihr Land ist der Standort, von dem aus Sie die SMS-Dienste von Bookly in "
|
3739 |
+
"Anspruch nehmen und dient dazu, Ihnen die in diesem Land verfügbaren "
|
3740 |
+
"Zahlungsmethoden zur Verfügung zu stellen."
|
3741 |
+
|
3742 |
+
msgid "Update country"
|
3743 |
+
msgstr "Land aktualisieren"
|
3744 |
+
|
3745 |
+
msgid "Old password"
|
3746 |
+
msgstr "Altes Passwort"
|
3747 |
+
|
3748 |
+
msgid "Please accept terms and conditions."
|
3749 |
+
msgstr "Bitte akzeptieren Sie Nutzungsbedingungen."
|
3750 |
+
|
3751 |
+
msgid "Passwords don't match"
|
3752 |
+
msgstr "Passwörter stimmen nicht überein"
|
3753 |
|
3754 |
msgid "Last month"
|
3755 |
msgstr "Letzter Monat"
|
3764 |
msgid "No records for selected period."
|
3765 |
msgstr "Keine Einträge für den ausgewählten Zeitraum."
|
3766 |
|
|
|
|
|
|
|
3767 |
msgid ""
|
3768 |
+
"To generate an invoice you should fill in company information in Bookly SMS "
|
3769 |
+
"Account settings -> Invoice"
|
3770 |
msgstr ""
|
3771 |
+
"Um eine Rechnung zu erstellen, müssen Sie Firmeninformationen in den Bookly "
|
3772 |
+
"SMS Kontoeinstellungen -> Rechnung eingeben."
|
3773 |
|
3774 |
msgid "enable"
|
3775 |
msgstr "Aktivieren"
|
3786 |
"Diese Dienstleistung ist vorübergehend nicht verfügbar. Bitte versuchen Sie "
|
3787 |
"es später noch einmal."
|
3788 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3789 |
msgid "SMS has been sent successfully."
|
3790 |
msgstr "SMS wurde erfolgreich gesendet."
|
3791 |
|
4029 |
"Buchungssystems feststellen.\n"
|
4030 |
"\n"
|
4031 |
|
4032 |
+
msgid "internal note"
|
4033 |
+
msgstr "Interne Notiz"
|
4034 |
+
|
4035 |
msgid "duration of service"
|
4036 |
msgstr "Dienstleistungslaufzeit"
|
4037 |
|
4197 |
msgid ""
|
4198 |
"The time interval which is used as a step when building all time slots for "
|
4199 |
"the service at the Time step. The setting overrides global settings in "
|
4200 |
+
"Settings > General. Use Default to apply global settings."
|
4201 |
msgstr ""
|
4202 |
"Das Zeitintervall, das als Schritt verwendet wird, wenn alle Zeitfenster für "
|
4203 |
"den Dienst im Zeitschritt erstellt werden. Die Einstellung überschreibt die "
|
4204 |
"globalen Einstellungen in den allgemeinen Einstellungen. Verwenden Sie "
|
4205 |
"Standardwerte, um die globalen Einstellungen anzuwenden"
|
4206 |
|
4207 |
+
msgid "The service will be created with the visibility of Private."
|
4208 |
+
msgstr "Die Dienstleistung wird als Privat dargestellt werden."
|
4209 |
+
|
4210 |
+
msgid "Duplicate"
|
4211 |
+
msgstr "Duplikat"
|
4212 |
+
|
4213 |
msgid "You must select at least one repeat option for recurring services."
|
4214 |
msgstr ""
|
4215 |
"Für wiederkehrende Leistungen müssen Sie mindestens eine Wiederholungsoption "
|
4224 |
msgstr[0] "%d Dienstleistung"
|
4225 |
msgstr[1] "%d Dienstleistungen"
|
4226 |
|
4227 |
+
#, php-format
|
4228 |
+
msgid "Copy of %s"
|
4229 |
+
msgstr "Kopie von %s"
|
4230 |
+
|
4231 |
+
msgid "Auto-refresh Calendar"
|
4232 |
+
msgstr "Automatisches Neuladen des Kalenders"
|
4233 |
+
|
4234 |
+
msgid "Every 1 minute"
|
4235 |
+
msgstr "Jede 1te Minute"
|
4236 |
+
|
4237 |
+
msgid "Every 5 minutes"
|
4238 |
+
msgstr "Alle 5 Minuten"
|
4239 |
+
|
4240 |
+
msgid "Every 15 minutes"
|
4241 |
+
msgstr "Alle 15 Minuten"
|
4242 |
+
|
4243 |
+
msgid "Disable"
|
4244 |
+
msgstr "Deaktivieren "
|
4245 |
+
|
4246 |
msgid "Welcome to Bookly and thank you for your choice!"
|
4247 |
msgstr "Willkommen bei Bookly und vielen Dank für Ihre Wahl!"
|
4248 |
|
4743 |
msgid "Insert Appointment Booking Form"
|
4744 |
msgstr "Terminreservierungsformular einfügen"
|
4745 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4746 |
msgid "Send tax information"
|
4747 |
msgstr "Steuerinformationen senden"
|
4748 |
|
5162 |
msgid "Edit email notification"
|
5163 |
msgstr "E-Mail Benachrichtigung bearbeiten"
|
5164 |
|
5165 |
+
msgid "Thank you"
|
5166 |
+
msgstr "Vielen Dank."
|
5167 |
+
|
5168 |
+
msgid "Your payment has been accepted for processing"
|
5169 |
+
msgstr "Ihre Zahlung wurde zur Verarbeitung übernommen"
|
5170 |
+
|
5171 |
+
msgid "Back to the list of amounts"
|
5172 |
+
msgstr "Zurück zur Liste der Betragsangaben"
|
5173 |
+
|
5174 |
+
msgid "Please select a payment method"
|
5175 |
+
msgstr "Bitte wählen Sie eine Zahlungsmethode"
|
5176 |
+
|
5177 |
+
msgid "Credit card"
|
5178 |
+
msgstr "Kreditkarte"
|
5179 |
+
|
5180 |
+
msgid "Account recharge"
|
5181 |
+
msgstr "Konto aufladen"
|
5182 |
+
|
5183 |
+
msgid "Oops"
|
5184 |
+
msgstr "Ups"
|
5185 |
+
|
5186 |
+
msgid "Your payment has been cancelled"
|
5187 |
+
msgstr "Ihre Zahlung wurde storniert"
|
5188 |
+
|
5189 |
+
msgid "Please select an amount and recharge your account"
|
5190 |
+
msgstr "Bitte wählen Sie einen Betrag und laden Sie Ihr Konto auf"
|
5191 |
+
|
5192 |
+
msgid "Pay using"
|
5193 |
+
msgstr "Bezahlen über"
|
5194 |
+
|
5195 |
+
msgid "Continue with"
|
5196 |
+
msgstr "Fahren Sie fort mit"
|
5197 |
+
|
5198 |
+
msgid "Auto-Recharge has been enabled"
|
5199 |
+
msgstr "Automatisches Aufladen wurde aktiviert"
|
5200 |
+
|
5201 |
+
msgid "Auto-Recharge has been cancelled"
|
5202 |
+
msgstr "Das automatische Aufladen wurde abgebrochen"
|
5203 |
+
|
5204 |
+
msgid "current<br/>balance"
|
5205 |
+
msgstr "aktueller<br/>Kontostand"
|
5206 |
+
|
5207 |
+
msgid "Recharge"
|
5208 |
+
msgstr "Aufladen"
|
5209 |
+
|
5210 |
+
msgid "users choice"
|
5211 |
+
msgstr "Benutzer-Auswahl"
|
5212 |
+
|
5213 |
+
msgid "Buy now"
|
5214 |
+
msgstr "Jetzt kaufen!"
|
5215 |
+
|
5216 |
+
msgid "Best offer"
|
5217 |
+
msgstr "Bestes Angebot"
|
5218 |
+
|
5219 |
+
msgid "Users choice"
|
5220 |
+
msgstr "Auswahl für Benutzer"
|
5221 |
+
|
5222 |
+
msgid "Other options"
|
5223 |
+
msgstr "Andere Optionen"
|
5224 |
+
|
5225 |
+
msgid "best offer"
|
5226 |
+
msgstr "bestes Angebot"
|
5227 |
+
|
5228 |
+
msgid "Select amount of Auto-Recharge"
|
5229 |
+
msgstr "Betrag für das automatische Aufladen auswählen"
|
5230 |
+
|
5231 |
+
msgid "Enable"
|
5232 |
+
msgstr "Aktivieren "
|
5233 |
+
|
5234 |
+
# Deaktivieren Sie Automatische Aufladefunktion wrong
|
5235 |
+
msgid "Disable Auto-Recharge"
|
5236 |
+
msgstr "Automatisches Aufladen abschalten"
|
5237 |
+
|
5238 |
+
msgid "Are you sure you want to disable Auto-Recharge?"
|
5239 |
+
msgstr ""
|
5240 |
+
"Sind Sie sicher, daß Sie das automatische Aufladen deaktivieren wollen?"
|
5241 |
+
|
5242 |
+
msgid "Turn on Auto-Recharge and get even more"
|
5243 |
+
msgstr "Aktivieren Sie die automatische Aufladung und erhalten Sie noch mehr"
|
5244 |
+
|
5245 |
+
# Automatische Aufladefunktion deaktiviert wrong
|
5246 |
+
msgid "Auto-Recharge disabled"
|
5247 |
+
msgstr "Automatisches Aufladen deaktiviert"
|
5248 |
+
|
5249 |
+
#, php-format
|
5250 |
+
msgid "Can't disable Auto-Recharge, please contact us at %s"
|
5251 |
+
msgstr ""
|
5252 |
+
"Das automatische Aufladen kann nicht deaktiviert werden, bitte kontaktieren "
|
5253 |
+
"Sie uns unter %s"
|
5254 |
+
|
5255 |
+
# Automatische Aufladefunktion ist fehlgeschlagen, bitte füllen Sie Ihre Guthaben direkt auf. wrong
|
5256 |
+
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
5257 |
+
msgstr ""
|
5258 |
+
"Das automatische Aufladen ist fehlgeschlagen, bitte laden Sie Ihr Guthaben "
|
5259 |
+
"direkt wieder auf."
|
5260 |
+
|
5261 |
+
msgid "Card payment has failed, please use another payment option"
|
5262 |
+
msgstr ""
|
5263 |
+
"Die Kartenzahlung ist fehlgeschlagen, bitte verwenden Sie eine andere "
|
5264 |
+
"Zahlungsoption"
|
5265 |
+
|
5266 |
+
msgid "Payment has failed, please use another payment option"
|
5267 |
+
msgstr ""
|
5268 |
+
"Die Zahlung ist fehlgeschlagen, bitte verwenden Sie eine andere "
|
5269 |
+
"Zahlungsoption"
|
5270 |
+
|
5271 |
msgid "total quantity of appointments in cart"
|
5272 |
msgstr "Gesamtmenge der Termine im Warenkorb"
|
5273 |
|
5278 |
msgid "total price of booking"
|
5279 |
msgstr "Gesamtpreis der Buchung"
|
5280 |
|
5281 |
+
msgid ""
|
5282 |
+
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
5283 |
+
msgstr ""
|
5284 |
+
"Könnten Sie mir bitte einen GROSSEN Gefallen tun und bei WordPress ein 5-"
|
5285 |
+
"Sterne-Rating vergeben?"
|
5286 |
+
|
5287 |
+
msgid "Just to help us spread the word and boost our motivation."
|
5288 |
+
msgstr ""
|
5289 |
+
"Einfach um uns zu helfen, die Botschaft zu verkündigen und unsere Motivation "
|
5290 |
+
"zu steigern."
|
5291 |
+
|
5292 |
+
msgid "Ok, you deserve it"
|
5293 |
+
msgstr "Ok, Sie haben es sich verdient"
|
5294 |
+
|
5295 |
+
msgid "Nope, maybe later"
|
5296 |
+
msgstr "Nein, vielleicht später"
|
5297 |
+
|
5298 |
+
msgid "Thank you for the {star} star rating!!!"
|
5299 |
+
msgstr "Vielen Dank für die {star} Sternebewertung!!!"
|
5300 |
+
|
5301 |
+
msgid "You asked to remind you"
|
5302 |
+
msgstr "Sie haben darum gebeten, Sie daran zu erinnern"
|
5303 |
+
|
5304 |
+
msgid "Congratulations!!!"
|
5305 |
+
msgstr "Herzlichen Glückwunsch!!!"
|
5306 |
+
|
5307 |
+
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
5308 |
+
msgstr ""
|
5309 |
+
"Sie haben soeben den <b>10ten Verkauf</b>bei Verwendung des Bookly-Plugin!"
|
5310 |
+
|
5311 |
+
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
5312 |
+
msgstr ""
|
5313 |
+
"Sie haben soeben den <b>100sten Verkauf </b>bei Verwendung des Bookly-Plugin!"
|
5314 |
+
|
5315 |
+
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
5316 |
+
msgstr ""
|
5317 |
+
"Sie haben soeben den <b>1000sten Verkauf </b>bei Verwendung des Bookly-"
|
5318 |
+
"Plugin!"
|
5319 |
+
|
5320 |
+
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
5321 |
+
msgstr ""
|
5322 |
+
"Sie haben soeben den <b>10000sten Verkauf </b>bei Verwendung des Bookly-"
|
5323 |
+
"Plugin!"
|
5324 |
+
|
5325 |
msgid ""
|
5326 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
5327 |
" You can opt out of sharing the information in Settings > General."
|
5338 |
"Lassen Sie das Plugin anonym Nutzungsinformationen sammeln, um dem Bookly-"
|
5339 |
"Team zu helfen, das Produkt zu verbessern."
|
5340 |
|
5341 |
+
msgid "Agree"
|
5342 |
+
msgstr "Zustimmen"
|
5343 |
+
|
5344 |
# Widersprechen wrong
|
5345 |
msgid "Disagree"
|
5346 |
msgstr "Nicht einverstanden"
|
5347 |
|
|
|
|
|
|
|
5348 |
#, php-format
|
5349 |
msgid ""
|
5350 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
5361 |
"Blogbeitrag</a>.\n"
|
5362 |
"\n"
|
5363 |
|
5364 |
+
#, php-format
|
5365 |
+
msgid "Recharge your account and get up to %s extra."
|
5366 |
+
msgstr "Laden Sie Ihr Konto auf und erhalten Sie bis zu %s extra."
|
5367 |
+
|
5368 |
+
msgid ""
|
5369 |
+
"Send SMS notifications to your customers, increasing their loyalty and "
|
5370 |
+
"involvement."
|
5371 |
+
msgstr ""
|
5372 |
+
"Senden Sie SMS-Benachrichtigungen an Ihre Kunden und erhöhen Sie so deren "
|
5373 |
+
"Loyalität und Involvierung."
|
5374 |
+
|
5375 |
+
#, php-format
|
5376 |
+
msgid "Enable Auto-Recharge and get up to %s extra."
|
5377 |
+
msgstr ""
|
5378 |
+
"Aktivieren Sie die automatische Aufladung und erhalten Sie bis zu %s extra."
|
5379 |
+
|
5380 |
+
msgid ""
|
5381 |
+
"Let your clients receive notifications on time - don't let the service stop."
|
5382 |
+
msgstr ""
|
5383 |
+
"Ermöglichen Sie es Ihren Kunden, Benachrichtigungen rechtzeitig zu erhalten -"
|
5384 |
+
" damit der Service nicht aufhört."
|
5385 |
+
|
5386 |
+
msgid "Remind me later"
|
5387 |
+
msgstr "Erinnern Sie mich später daran"
|
5388 |
+
|
5389 |
msgid "This function is not available in the Bookly."
|
5390 |
msgstr "Diese Funktion ist in Bookly nicht verfügbar."
|
5391 |
|
5666 |
msgstr "Benachrichtigung an den Kunden über das gekaufte Paket"
|
5667 |
|
5668 |
msgid "Your package at {company_name}"
|
5669 |
+
msgstr "Ihr Paket bei {company_name}"
|
5670 |
|
5671 |
# Danke, dass Sie sich für unser Angebot entschieden haben.
|
5672 |
# wrong
|
6883 |
msgid ""
|
6884 |
"If this setting is enabled then online meetings will be created for new "
|
6885 |
"appointments with the selected online meeting provider. Make sure that the "
|
6886 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6887 |
"Meetings</a>"
|
6888 |
msgstr ""
|
6889 |
"Wenn diese Einstellung aktiviert ist, werden Online-Besprechungen für neue "
|
6930 |
"Berechnung der Belegung der Anbieter berücksichtigt werden sollen. 0 "
|
6931 |
"bedeutet den Tag der Buchung."
|
6932 |
|
6933 |
+
msgid "Pick random staff member in case of uncertainty"
|
6934 |
+
msgstr "Wählen Sie einen zufälligen Mitarbeiter im Falle von Unklarheit aus"
|
6935 |
+
|
6936 |
+
msgid ""
|
6937 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6938 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6939 |
+
"unknown."
|
6940 |
+
msgstr ""
|
6941 |
+
"Aktivieren Sie diese Option, um einen Mitarbeiter nach dem Zufallsprinzip "
|
6942 |
+
"auszuwählen, wenn beide die unter \"Anbieter bevorzugt für JEDEN\" gewählten "
|
6943 |
+
"Kriterien erfüllen. Andernfalls ist die Reihenfolge der Auswahl unbekannt."
|
6944 |
+
|
6945 |
# Anzahl Termine pro Kunde wrong
|
6946 |
msgid "Limit appointments per customer"
|
6947 |
msgstr "Termine pro Kunde begrenzen"
|
6977 |
msgid ""
|
6978 |
"This setting allows you to limit the number of appointments that can be "
|
6979 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6980 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6981 |
"month, etc."
|
6982 |
msgstr ""
|
6983 |
"Mit dieser Einstellung können Sie die Anzahl der Termine begrenzen, die von "
|
7727 |
msgid "Create another coupon"
|
7728 |
msgstr "Einen weiteren Gutschein erstellen"
|
7729 |
|
|
|
|
|
|
|
7730 |
msgid "No coupons found."
|
7731 |
msgstr "Keine Gutscheine gefunden."
|
7732 |
|
7747 |
msgid "Max appointments should be greater than zero."
|
7748 |
msgstr "Maximale Termine sollten größer als Null sein."
|
7749 |
|
7750 |
+
msgid "The code already exists"
|
7751 |
+
msgstr "Der Code existiert bereits"
|
7752 |
+
|
7753 |
# Bitte geben Sie eine nicht-leere Maske ein. wrong
|
7754 |
msgid "Please enter a non empty mask."
|
7755 |
msgstr "Bitte geben Sie eine unausgefüllte Maske ein."
|
8549 |
"Bookly Termine kopiert. Wenn deaktiviert, wird standardmäßig der Titel "
|
8550 |
"\"Google Kalender Ereignis\" genutzt."
|
8551 |
|
8552 |
+
msgid "Overwrite the description of the original Google Calendar events"
|
8553 |
+
msgstr ""
|
8554 |
+
"Überschreiben Sie die Beschreibung der ursprünglichen Google Kalender-"
|
8555 |
+
"Veranstaltungen."
|
8556 |
+
|
8557 |
+
msgid ""
|
8558 |
+
"If enabled then the description of the Google Calendar events originally "
|
8559 |
+
"copied to Bookly will be overwritten by the Bookly appointment data after "
|
8560 |
+
"they have been edited in Bookly Calendar"
|
8561 |
+
msgstr ""
|
8562 |
+
"Wenn diese Option aktiviert ist, wird die Beschreibung der Google Kalender-"
|
8563 |
+
"Termine, die ursprünglich in Bookly kopiert wurden, durch die Termindaten "
|
8564 |
+
"von Bookly überschrieben, nachdem sie in Bookly Kalender bearbeitet wurden."
|
8565 |
+
|
8566 |
msgid "Synchronize with Google Calendar"
|
8567 |
msgstr "Mit Google Kalender synchronisieren"
|
languages/bookly-es_ES.mo
CHANGED
Binary file
|
languages/bookly-es_ES.po
CHANGED
@@ -8,8 +8,8 @@ msgstr ""
|
|
8 |
"Language: es_ES\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Spanish (Spain)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1488,6 +1488,13 @@ msgstr "Agregar Horario del Personal"
|
|
1488 |
msgid "Add Staff Days Off"
|
1489 |
msgstr "Añadir Días Libres del Personal"
|
1490 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1491 |
msgid "Hide visibility field"
|
1492 |
msgstr "Ocultar campo de visibilidad"
|
1493 |
|
@@ -1536,6 +1543,9 @@ msgstr "Un bloque personalizado para mostrar los días libres del personal"
|
|
1536 |
msgid "Capacity"
|
1537 |
msgstr "Capacidad"
|
1538 |
|
|
|
|
|
|
|
1539 |
msgid "Special hours"
|
1540 |
msgstr "Horas especiales"
|
1541 |
|
@@ -2811,9 +2821,6 @@ msgstr "Precio regular"
|
|
2811 |
msgid "Price with custom Sender ID"
|
2812 |
msgstr "Precio con el ID del remitente personalizado"
|
2813 |
|
2814 |
-
msgid "Order"
|
2815 |
-
msgstr "Orden"
|
2816 |
-
|
2817 |
msgid "Requested ID"
|
2818 |
msgstr "ID solicitado"
|
2819 |
|
@@ -3104,6 +3111,9 @@ msgstr "Email inválido."
|
|
3104 |
msgid "Pending sender ID already exists."
|
3105 |
msgstr "A la espera de ID del remitente ya existe."
|
3106 |
|
|
|
|
|
|
|
3107 |
msgid "Recovery code expired."
|
3108 |
msgstr "Código de Recuperación expiró."
|
3109 |
|
@@ -3179,57 +3189,53 @@ msgstr "Archivos adjuntos"
|
|
3179 |
msgid "Archived"
|
3180 |
msgstr "Archivado"
|
3181 |
|
3182 |
-
msgid "
|
3183 |
-
msgstr "
|
3184 |
-
|
3185 |
-
msgid "Company name"
|
3186 |
-
msgstr "Nombre de la compañía"
|
3187 |
|
3188 |
-
msgid "
|
|
|
|
|
3189 |
msgstr ""
|
3190 |
-
"
|
|
|
3191 |
|
3192 |
-
msgid "
|
3193 |
-
|
3194 |
-
|
3195 |
-
|
3196 |
-
msgstr "Copiar factura a otro/s correo/s electrónico/s"
|
3197 |
-
|
3198 |
-
msgid "Enter one or more email addresses separated by commas."
|
3199 |
msgstr ""
|
3200 |
-
"
|
|
|
|
|
3201 |
|
3202 |
-
msgid "
|
3203 |
-
|
3204 |
-
|
3205 |
-
|
3206 |
-
|
|
|
3207 |
|
3208 |
-
msgid "
|
3209 |
-
msgstr "
|
3210 |
|
3211 |
-
msgid "
|
3212 |
-
msgstr "
|
3213 |
|
3214 |
msgid "SMS Notifications"
|
3215 |
msgstr "Notificaciones de SMS"
|
3216 |
|
3217 |
-
msgid "
|
3218 |
-
msgstr "
|
3219 |
|
3220 |
-
msgid "
|
3221 |
msgstr ""
|
3222 |
-
"
|
3223 |
-
"
|
3224 |
-
|
3225 |
-
msgid "Send weekly summary to administrators"
|
3226 |
-
msgstr "Enviar resumen semanal para los administradores"
|
3227 |
|
3228 |
-
msgid "
|
3229 |
-
msgstr "
|
3230 |
-
|
3231 |
-
|
3232 |
-
msgstr "Aprobada en"
|
3233 |
|
3234 |
msgid "Log out"
|
3235 |
msgstr "Cerrar sesión"
|
@@ -3237,12 +3243,6 @@ msgstr "Cerrar sesión"
|
|
3237 |
msgid "Notifications"
|
3238 |
msgstr "Notificaciones"
|
3239 |
|
3240 |
-
msgid "Add money"
|
3241 |
-
msgstr "Añadir dinero"
|
3242 |
-
|
3243 |
-
msgid "Auto-Recharge"
|
3244 |
-
msgstr "Auto-Recarga"
|
3245 |
-
|
3246 |
msgid "Purchases"
|
3247 |
msgstr "Las compras"
|
3248 |
|
@@ -3341,22 +3341,6 @@ msgstr "Introduzca el código de correo electrónico"
|
|
3341 |
msgid "Repeat new password"
|
3342 |
msgstr "Repita la nueva contraseña"
|
3343 |
|
3344 |
-
msgid "Change password"
|
3345 |
-
msgstr "Cambiar la contraseña"
|
3346 |
-
|
3347 |
-
msgid "Old password"
|
3348 |
-
msgstr "Contraseña anterior"
|
3349 |
-
|
3350 |
-
msgid ""
|
3351 |
-
"We will only charge your PayPal account when your balance falls below $10."
|
3352 |
-
msgstr "Sólo se cargará en su cuenta PayPal cuando su saldo es inferior a $10."
|
3353 |
-
|
3354 |
-
msgid "Enable Auto-Recharge"
|
3355 |
-
msgstr "Activar Auto-Recarga"
|
3356 |
-
|
3357 |
-
msgid "Disable Auto-Recharge"
|
3358 |
-
msgstr "Desactivar Auto-Recarga"
|
3359 |
-
|
3360 |
msgid ""
|
3361 |
"If you do not see your country in the list please contact us at <a "
|
3362 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3425,20 +3409,83 @@ msgstr "Cancelar petición"
|
|
3425 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3426 |
msgstr "Sólo puede contener letras o dígitos (hasta 11 caracteres)."
|
3427 |
|
3428 |
-
msgid "
|
3429 |
-
msgstr "
|
3430 |
|
3431 |
-
msgid "
|
3432 |
-
msgstr "
|
3433 |
|
3434 |
-
msgid "
|
3435 |
-
msgstr "
|
3436 |
|
3437 |
-
msgid "
|
3438 |
-
msgstr "
|
3439 |
|
3440 |
-
|
3441 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3442 |
|
3443 |
msgid "Last month"
|
3444 |
msgstr "El mes pasado"
|
@@ -3452,15 +3499,12 @@ msgstr "ID del remitente se restablece a los valores predeterminados."
|
|
3452 |
msgid "No records for selected period."
|
3453 |
msgstr "No hay registros para el período seleccionado."
|
3454 |
|
3455 |
-
msgid "Invoice"
|
3456 |
-
msgstr "Factura"
|
3457 |
-
|
3458 |
msgid ""
|
3459 |
-
"To generate an invoice you should fill in company information in Bookly
|
3460 |
-
"
|
3461 |
msgstr ""
|
3462 |
-
"Para generar una factura, debe completar la información de la
|
3463 |
-
"
|
3464 |
|
3465 |
msgid "enable"
|
3466 |
msgstr "habilitar"
|
@@ -3476,19 +3520,6 @@ msgstr ""
|
|
3476 |
"El servicio no está disponible temporalmente. Por favor, inténtelo de nuevo "
|
3477 |
"más tarde."
|
3478 |
|
3479 |
-
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3480 |
-
msgstr "Auto-Recarga ha fallado, por favor reponer el equilibrio directamente."
|
3481 |
-
|
3482 |
-
msgid "Auto-Recharge disabled"
|
3483 |
-
msgstr "Auto-Recarga deshabilitado"
|
3484 |
-
|
3485 |
-
msgid ""
|
3486 |
-
"Error. Can't disable Auto-Recharge, you can perform this action in your "
|
3487 |
-
"PayPal account."
|
3488 |
-
msgstr ""
|
3489 |
-
"Error. No se puede deshabilitar la Recarga Automática, puede realizar esta "
|
3490 |
-
"acción en su cuenta PayPal."
|
3491 |
-
|
3492 |
msgid "SMS has been sent successfully."
|
3493 |
msgstr "SMS ha sido enviado con éxito."
|
3494 |
|
@@ -3703,6 +3734,9 @@ msgstr ""
|
|
3703 |
"Asegúrese de revisar el horario de sus miembros del personal si tiene algún "
|
3704 |
"comportamiento inesperado del sistema de reservas."
|
3705 |
|
|
|
|
|
|
|
3706 |
msgid "duration of service"
|
3707 |
msgstr "duración del servicio"
|
3708 |
|
@@ -3860,13 +3894,19 @@ msgstr "Longitud de la franja como duración del servicio"
|
|
3860 |
msgid ""
|
3861 |
"The time interval which is used as a step when building all time slots for "
|
3862 |
"the service at the Time step. The setting overrides global settings in "
|
3863 |
-
"Settings
|
3864 |
msgstr ""
|
3865 |
"Intervalo de tiempo que se utiliza como paso al crear todas las franjas "
|
3866 |
"horarias para el servicio en el paso Tiempo. La configuración invalida la "
|
3867 |
"configuración global en Configuración General. Utiliza Predeterminado para "
|
3868 |
"aplicar la configuración global."
|
3869 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3870 |
msgid "You must select at least one repeat option for recurring services."
|
3871 |
msgstr ""
|
3872 |
"Debe seleccionar al menos una opción de repetición para servicios "
|
@@ -3881,6 +3921,25 @@ msgid_plural "%d services"
|
|
3881 |
msgstr[0] "%d servicio"
|
3882 |
msgstr[1] "%d servicios"
|
3883 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3884 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3885 |
msgstr "¡Bienvenido a Bookly y gracias por tu elección!"
|
3886 |
|
@@ -4332,45 +4391,6 @@ msgstr "Añadir formulario de cita Bookly"
|
|
4332 |
msgid "Insert Appointment Booking Form"
|
4333 |
msgstr "Inserte formulario de reserva de cita"
|
4334 |
|
4335 |
-
msgid ""
|
4336 |
-
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4337 |
-
msgstr ""
|
4338 |
-
"¿Podría hacerme un GRAN favor y darle una calificación de 5 estrellas en "
|
4339 |
-
"WordPress?"
|
4340 |
-
|
4341 |
-
msgid "Just to help us spread the word and boost our motivation."
|
4342 |
-
msgstr "Solo para ayudarnos a correr la voz y aumentar nuestra motivación."
|
4343 |
-
|
4344 |
-
msgid "Ok, you deserve it"
|
4345 |
-
msgstr "Ok, usted lo ha pedido"
|
4346 |
-
|
4347 |
-
msgid "Nope, maybe later"
|
4348 |
-
msgstr "No, tal vez más tarde"
|
4349 |
-
|
4350 |
-
msgid "Thank you for the {star} star rating!!!"
|
4351 |
-
msgstr "¡Gracias por la calificación de estrellas {star}!"
|
4352 |
-
|
4353 |
-
msgid "You asked to remind you"
|
4354 |
-
msgstr "Ha pedido que se le recuerde"
|
4355 |
-
|
4356 |
-
msgid "Congratulations!!!"
|
4357 |
-
msgstr "¡¡¡Felicidades!!!"
|
4358 |
-
|
4359 |
-
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4360 |
-
msgstr "¡Acaba de hacer la<b>Venta número 10</b> usando el complemento Bookly!"
|
4361 |
-
|
4362 |
-
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4363 |
-
msgstr ""
|
4364 |
-
"¡Acaba de hacer la<b>Venta número 100</b> usando el complemento Bookly!"
|
4365 |
-
|
4366 |
-
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4367 |
-
msgstr ""
|
4368 |
-
"¡Acaba de hacer la<b>Venta número 1.000</b> usando el complemento Bookly!"
|
4369 |
-
|
4370 |
-
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4371 |
-
msgstr ""
|
4372 |
-
"¡Acaba de hacer la<b>Venta número 10.000</b> usando el complemento Bookly!"
|
4373 |
-
|
4374 |
msgid "Send tax information"
|
4375 |
msgstr "Enviar información fiscal"
|
4376 |
|
@@ -4747,6 +4767,101 @@ msgstr "Notificación de nuevo correo electrónico"
|
|
4747 |
msgid "Edit email notification"
|
4748 |
msgstr "Editar notificación de correo electrónico"
|
4749 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4750 |
msgid "total quantity of appointments in cart"
|
4751 |
msgstr "cantidad total de citas en el carrito"
|
4752 |
|
@@ -4756,6 +4871,45 @@ msgstr "formulario de acceso"
|
|
4756 |
msgid "total price of booking"
|
4757 |
msgstr "precio total de la reserva"
|
4758 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4759 |
msgid ""
|
4760 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4761 |
" You can opt out of sharing the information in Settings > General."
|
@@ -4771,12 +4925,12 @@ msgstr ""
|
|
4771 |
"Deje que el complemento recopile de forma anónima información de uso para "
|
4772 |
"ayudar al equipo de Bookly a mejorar el producto."
|
4773 |
|
4774 |
-
msgid "Disagree"
|
4775 |
-
msgstr "Disentir"
|
4776 |
-
|
4777 |
msgid "Agree"
|
4778 |
msgstr "Aprobar"
|
4779 |
|
|
|
|
|
|
|
4780 |
#, php-format
|
4781 |
msgid ""
|
4782 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
@@ -4792,6 +4946,30 @@ msgstr ""
|
|
4792 |
"importante actualización de Bookly, consulte nuestra <a href=\"%s\" "
|
4793 |
"target=\"_blank\">entrada del blog</a>."
|
4794 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4795 |
msgid "This function is not available in the Bookly."
|
4796 |
msgstr "Esta función no está disponible en Bookly."
|
4797 |
|
@@ -6148,7 +6326,7 @@ msgstr "Crear reuniones en línea"
|
|
6148 |
msgid ""
|
6149 |
"If this setting is enabled then online meetings will be created for new "
|
6150 |
"appointments with the selected online meeting provider. Make sure that the "
|
6151 |
-
"provider is configured properly in Settings
|
6152 |
"Meetings</a>"
|
6153 |
msgstr ""
|
6154 |
"Si esta configuración está habilitada, se crearán reuniones en línea para "
|
@@ -6191,6 +6369,18 @@ msgstr ""
|
|
6191 |
"cuenta al calcular la ocupación de los proveedores. 0 significa el día de la "
|
6192 |
"reserva."
|
6193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6194 |
msgid "Limit appointments per customer"
|
6195 |
msgstr "Limitar citas por cliente"
|
6196 |
|
@@ -6224,7 +6414,7 @@ msgstr "por año"
|
|
6224 |
msgid ""
|
6225 |
"This setting allows you to limit the number of appointments that can be "
|
6226 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6227 |
-
"period or with the beginning of the next calendar period
|
6228 |
"month, etc."
|
6229 |
msgstr ""
|
6230 |
"Esta configuración te permite limitar el número de citas que un cliente "
|
@@ -6899,9 +7089,6 @@ msgstr "Límite a los clientes"
|
|
6899 |
msgid "Create another coupon"
|
6900 |
msgstr "Crear otro cupón"
|
6901 |
|
6902 |
-
msgid "Duplicate"
|
6903 |
-
msgstr "Duplicar"
|
6904 |
-
|
6905 |
msgid "No coupons found."
|
6906 |
msgstr "No se encontraron cupones."
|
6907 |
|
@@ -6920,6 +7107,9 @@ msgstr "Las citas mínimas deben ser mayores que cero."
|
|
6920 |
msgid "Max appointments should be greater than zero."
|
6921 |
msgstr "Las citas máximas deben ser mayores que cero."
|
6922 |
|
|
|
|
|
|
|
6923 |
msgid "Please enter a non empty mask."
|
6924 |
msgstr "Por favor, ingrese una máscara que no esté vacía."
|
6925 |
|
@@ -7643,5 +7833,19 @@ msgstr ""
|
|
7643 |
"copiarán en las citas de Bookly. Si está desactivado, se usará un título "
|
7644 |
"estándar \"Evento del Calendario de Google\"."
|
7645 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7646 |
msgid "Synchronize with Google Calendar"
|
7647 |
msgstr "Sincronizar con el Calendario de Google"
|
8 |
"Language: es_ES\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-06-03 15:11+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-06-07 17:16+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Spanish (Spain)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
1488 |
msgid "Add Staff Days Off"
|
1489 |
msgstr "Añadir Días Libres del Personal"
|
1490 |
|
1491 |
+
msgid ""
|
1492 |
+
"Hide this field if you want to hide the list of WP users from your staff "
|
1493 |
+
"members."
|
1494 |
+
msgstr ""
|
1495 |
+
"Oculte este campo si desea ocultar la lista de usuarios de WP de los "
|
1496 |
+
"miembros de su personal."
|
1497 |
+
|
1498 |
msgid "Hide visibility field"
|
1499 |
msgstr "Ocultar campo de visibilidad"
|
1500 |
|
1543 |
msgid "Capacity"
|
1544 |
msgstr "Capacidad"
|
1545 |
|
1546 |
+
msgid "Hide WordPress users"
|
1547 |
+
msgstr "Ocultar usuarios de WordPress"
|
1548 |
+
|
1549 |
msgid "Special hours"
|
1550 |
msgstr "Horas especiales"
|
1551 |
|
2821 |
msgid "Price with custom Sender ID"
|
2822 |
msgstr "Precio con el ID del remitente personalizado"
|
2823 |
|
|
|
|
|
|
|
2824 |
msgid "Requested ID"
|
2825 |
msgstr "ID solicitado"
|
2826 |
|
3111 |
msgid "Pending sender ID already exists."
|
3112 |
msgstr "A la espera de ID del remitente ya existe."
|
3113 |
|
3114 |
+
msgid "Recharge not available."
|
3115 |
+
msgstr "Recarga no disponible."
|
3116 |
+
|
3117 |
msgid "Recovery code expired."
|
3118 |
msgstr "Código de Recuperación expiró."
|
3119 |
|
3189 |
msgid "Archived"
|
3190 |
msgstr "Archivado"
|
3191 |
|
3192 |
+
msgid "Setup your country"
|
3193 |
+
msgstr "Establezca su país"
|
|
|
|
|
|
|
3194 |
|
3195 |
+
msgid ""
|
3196 |
+
"Please spend a minute to setup your country. This will help us provide you "
|
3197 |
+
"with appropriate payment methods when replenishing your account."
|
3198 |
msgstr ""
|
3199 |
+
"Dedique un minuto a configurar su país. Esto nos ayudará a proporcionarle "
|
3200 |
+
"los métodos de pago adecuados al recargar su cuenta."
|
3201 |
|
3202 |
+
msgid ""
|
3203 |
+
"The country will also be displayed in the invoice on a separate line below "
|
3204 |
+
"the company address. Make sure the other fields in the invoice do not "
|
3205 |
+
"contain the name of the country."
|
|
|
|
|
|
|
3206 |
msgstr ""
|
3207 |
+
"El país también se mostrará en la factura en una línea separada debajo de la "
|
3208 |
+
"dirección de la empresa. Asegúrese de que los otros campos en la factura no "
|
3209 |
+
"contengan el nombre del país."
|
3210 |
|
3211 |
+
msgid ""
|
3212 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3213 |
+
"is used to provide you with the payment methods available in that country"
|
3214 |
+
msgstr ""
|
3215 |
+
"Su país es la ubicación desde donde utiliza los servicios de Bookly SMS y se "
|
3216 |
+
"usa para proporcionarle los métodos de pago disponibles en ese país."
|
3217 |
|
3218 |
+
msgid "Set country"
|
3219 |
+
msgstr "Establecer país"
|
3220 |
|
3221 |
+
msgid "I'll do it later"
|
3222 |
+
msgstr "lo haré después"
|
3223 |
|
3224 |
msgid "SMS Notifications"
|
3225 |
msgstr "Notificaciones de SMS"
|
3226 |
|
3227 |
+
msgid "Approved at"
|
3228 |
+
msgstr "Aprobada en"
|
3229 |
|
3230 |
+
msgid "Change the sender's name to your phone number or any other name"
|
3231 |
msgstr ""
|
3232 |
+
"Cambie el nombre del remitente con su número de teléfono o cualquier otro "
|
3233 |
+
"nombre"
|
|
|
|
|
|
|
3234 |
|
3235 |
+
msgid "Click this button to access your Bookly SMS account settings"
|
3236 |
+
msgstr ""
|
3237 |
+
"Haga clic en este botón para acceder a la configuración de su cuenta Bookly "
|
3238 |
+
"SMS"
|
|
|
3239 |
|
3240 |
msgid "Log out"
|
3241 |
msgstr "Cerrar sesión"
|
3243 |
msgid "Notifications"
|
3244 |
msgstr "Notificaciones"
|
3245 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3246 |
msgid "Purchases"
|
3247 |
msgstr "Las compras"
|
3248 |
|
3341 |
msgid "Repeat new password"
|
3342 |
msgstr "Repita la nueva contraseña"
|
3343 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3344 |
msgid ""
|
3345 |
"If you do not see your country in the list please contact us at <a "
|
3346 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3409 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3410 |
msgstr "Sólo puede contener letras o dígitos (hasta 11 caracteres)."
|
3411 |
|
3412 |
+
msgid "Account settings"
|
3413 |
+
msgstr "Configuraciones de la cuenta"
|
3414 |
|
3415 |
+
msgid "Auto-Recharge"
|
3416 |
+
msgstr "Auto-Recarga"
|
3417 |
|
3418 |
+
msgid "Invoice"
|
3419 |
+
msgstr "Factura"
|
3420 |
|
3421 |
+
msgid "Change password"
|
3422 |
+
msgstr "Cambiar la contraseña"
|
3423 |
|
3424 |
+
#, php-format
|
3425 |
+
msgid "We will only charge you when your balance falls bellow %s"
|
3426 |
+
msgstr "Solo le cargaremos cuando su saldo sea inferior a %s"
|
3427 |
+
|
3428 |
+
msgid "Company name"
|
3429 |
+
msgstr "Nombre de la compañía"
|
3430 |
+
|
3431 |
+
msgid "Company address"
|
3432 |
+
msgstr "Dirección de la empresa"
|
3433 |
+
|
3434 |
+
msgid "Company address line 2"
|
3435 |
+
msgstr "Línea 2 de la dirección de la empresa"
|
3436 |
+
|
3437 |
+
msgid "You can change the country <a href=\"#\">here</a>"
|
3438 |
+
msgstr "Puede cambiar el pais<a href=\"#\">aquí</a>"
|
3439 |
+
|
3440 |
+
msgid "Company number"
|
3441 |
+
msgstr "Numero de la empresa"
|
3442 |
+
|
3443 |
+
msgid "VAT / Tax number"
|
3444 |
+
msgstr "Número de Identificación Fiscal"
|
3445 |
+
|
3446 |
+
msgid "Additional text to include in invoice"
|
3447 |
+
msgstr "Texto adicional para incluir en la factura"
|
3448 |
+
|
3449 |
+
#, php-format
|
3450 |
+
msgid "The invoice will be sent to <a href=\"mailto:%1$s\">%1$s</a>"
|
3451 |
+
msgstr "La factura se enviará a <a href=\"mailto:%1$s\">%1$s</a>"
|
3452 |
+
|
3453 |
+
msgid "Copy invoice to another email(s)"
|
3454 |
+
msgstr "Copiar factura a otro/s correo/s electrónico/s"
|
3455 |
+
|
3456 |
+
msgid "Enter one or more email addresses separated by commas."
|
3457 |
+
msgstr ""
|
3458 |
+
"Introduzca una o más direcciones de correo electrónico separadas por comas."
|
3459 |
+
|
3460 |
+
msgid "Save invoice settings"
|
3461 |
+
msgstr "Guardar configuración de factura"
|
3462 |
+
|
3463 |
+
msgid "Send email notification to administrators at low balance"
|
3464 |
+
msgstr ""
|
3465 |
+
"Enviar notificación por correo electrónico a los administradores a baja "
|
3466 |
+
"equilibrio"
|
3467 |
+
|
3468 |
+
msgid "Send weekly summary to administrators"
|
3469 |
+
msgstr "Enviar resumen semanal para los administradores"
|
3470 |
+
|
3471 |
+
msgid ""
|
3472 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3473 |
+
"is used to provide you with the payment methods available in that country."
|
3474 |
+
msgstr ""
|
3475 |
+
"Su país es la ubicación desde donde utiliza los servicios de Bookly SMS y se "
|
3476 |
+
"usa para proporcionarle los métodos de pago disponibles en ese país."
|
3477 |
+
|
3478 |
+
msgid "Update country"
|
3479 |
+
msgstr "Actualizar país"
|
3480 |
+
|
3481 |
+
msgid "Old password"
|
3482 |
+
msgstr "Contraseña anterior"
|
3483 |
+
|
3484 |
+
msgid "Please accept terms and conditions."
|
3485 |
+
msgstr "Por favor, acepte los términos y condiciones."
|
3486 |
+
|
3487 |
+
msgid "Passwords don't match"
|
3488 |
+
msgstr "Las contraseñas no coinciden"
|
3489 |
|
3490 |
msgid "Last month"
|
3491 |
msgstr "El mes pasado"
|
3499 |
msgid "No records for selected period."
|
3500 |
msgstr "No hay registros para el período seleccionado."
|
3501 |
|
|
|
|
|
|
|
3502 |
msgid ""
|
3503 |
+
"To generate an invoice you should fill in company information in Bookly SMS "
|
3504 |
+
"Account settings -> Invoice"
|
3505 |
msgstr ""
|
3506 |
+
"Para generar una factura, debe completar la información de la empresa en la "
|
3507 |
+
"configuración de la cuenta de Bookly SMS -> Factura"
|
3508 |
|
3509 |
msgid "enable"
|
3510 |
msgstr "habilitar"
|
3520 |
"El servicio no está disponible temporalmente. Por favor, inténtelo de nuevo "
|
3521 |
"más tarde."
|
3522 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3523 |
msgid "SMS has been sent successfully."
|
3524 |
msgstr "SMS ha sido enviado con éxito."
|
3525 |
|
3734 |
"Asegúrese de revisar el horario de sus miembros del personal si tiene algún "
|
3735 |
"comportamiento inesperado del sistema de reservas."
|
3736 |
|
3737 |
+
msgid "internal note"
|
3738 |
+
msgstr "nota interna"
|
3739 |
+
|
3740 |
msgid "duration of service"
|
3741 |
msgstr "duración del servicio"
|
3742 |
|
3894 |
msgid ""
|
3895 |
"The time interval which is used as a step when building all time slots for "
|
3896 |
"the service at the Time step. The setting overrides global settings in "
|
3897 |
+
"Settings > General. Use Default to apply global settings."
|
3898 |
msgstr ""
|
3899 |
"Intervalo de tiempo que se utiliza como paso al crear todas las franjas "
|
3900 |
"horarias para el servicio en el paso Tiempo. La configuración invalida la "
|
3901 |
"configuración global en Configuración General. Utiliza Predeterminado para "
|
3902 |
"aplicar la configuración global."
|
3903 |
|
3904 |
+
msgid "The service will be created with the visibility of Private."
|
3905 |
+
msgstr "El servicio se creará con la visibilidad de Privado."
|
3906 |
+
|
3907 |
+
msgid "Duplicate"
|
3908 |
+
msgstr "Duplicar"
|
3909 |
+
|
3910 |
msgid "You must select at least one repeat option for recurring services."
|
3911 |
msgstr ""
|
3912 |
"Debe seleccionar al menos una opción de repetición para servicios "
|
3921 |
msgstr[0] "%d servicio"
|
3922 |
msgstr[1] "%d servicios"
|
3923 |
|
3924 |
+
#, php-format
|
3925 |
+
msgid "Copy of %s"
|
3926 |
+
msgstr "Copia de %s"
|
3927 |
+
|
3928 |
+
msgid "Auto-refresh Calendar"
|
3929 |
+
msgstr "Calendario de actualización automática"
|
3930 |
+
|
3931 |
+
msgid "Every 1 minute"
|
3932 |
+
msgstr "Cada 1 minuto"
|
3933 |
+
|
3934 |
+
msgid "Every 5 minutes"
|
3935 |
+
msgstr "Cada 5 minutos"
|
3936 |
+
|
3937 |
+
msgid "Every 15 minutes"
|
3938 |
+
msgstr "Cada 15 minutos"
|
3939 |
+
|
3940 |
+
msgid "Disable"
|
3941 |
+
msgstr "Inhabilitar"
|
3942 |
+
|
3943 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3944 |
msgstr "¡Bienvenido a Bookly y gracias por tu elección!"
|
3945 |
|
4391 |
msgid "Insert Appointment Booking Form"
|
4392 |
msgstr "Inserte formulario de reserva de cita"
|
4393 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4394 |
msgid "Send tax information"
|
4395 |
msgstr "Enviar información fiscal"
|
4396 |
|
4767 |
msgid "Edit email notification"
|
4768 |
msgstr "Editar notificación de correo electrónico"
|
4769 |
|
4770 |
+
msgid "Thank you"
|
4771 |
+
msgstr "Gracias"
|
4772 |
+
|
4773 |
+
msgid "Your payment has been accepted for processing"
|
4774 |
+
msgstr "Su pago ha sido aceptado para su procesamiento"
|
4775 |
+
|
4776 |
+
msgid "Back to the list of amounts"
|
4777 |
+
msgstr "Volver a la lista de importes"
|
4778 |
+
|
4779 |
+
msgid "Please select a payment method"
|
4780 |
+
msgstr "Por favor seleccione un método de pago"
|
4781 |
+
|
4782 |
+
msgid "Credit card"
|
4783 |
+
msgstr "Tarjeta de crédito"
|
4784 |
+
|
4785 |
+
msgid "Account recharge"
|
4786 |
+
msgstr "Recarga de la cuenta"
|
4787 |
+
|
4788 |
+
msgid "Oops"
|
4789 |
+
msgstr "Ups"
|
4790 |
+
|
4791 |
+
msgid "Your payment has been cancelled"
|
4792 |
+
msgstr "Su pago ha sido cancelado"
|
4793 |
+
|
4794 |
+
msgid "Please select an amount and recharge your account"
|
4795 |
+
msgstr "Seleccione un importe y recargue su cuenta"
|
4796 |
+
|
4797 |
+
msgid "Pay using"
|
4798 |
+
msgstr "Pague usando"
|
4799 |
+
|
4800 |
+
msgid "Continue with"
|
4801 |
+
msgstr "Continuar con"
|
4802 |
+
|
4803 |
+
msgid "Auto-Recharge has been enabled"
|
4804 |
+
msgstr "La recarga automática ha sido habilitada"
|
4805 |
+
|
4806 |
+
msgid "Auto-Recharge has been cancelled"
|
4807 |
+
msgstr "La recarga automática ha sido cancelada"
|
4808 |
+
|
4809 |
+
msgid "current<br/>balance"
|
4810 |
+
msgstr "balance<br/>actual"
|
4811 |
+
|
4812 |
+
msgid "Recharge"
|
4813 |
+
msgstr "Recargar"
|
4814 |
+
|
4815 |
+
msgid "users choice"
|
4816 |
+
msgstr "elección de los usuarios"
|
4817 |
+
|
4818 |
+
msgid "Buy now"
|
4819 |
+
msgstr "Comprar ahora"
|
4820 |
+
|
4821 |
+
msgid "Best offer"
|
4822 |
+
msgstr "Mejor oferta"
|
4823 |
+
|
4824 |
+
msgid "Users choice"
|
4825 |
+
msgstr "Elección de los usuarios"
|
4826 |
+
|
4827 |
+
msgid "Other options"
|
4828 |
+
msgstr "Otras opciones"
|
4829 |
+
|
4830 |
+
msgid "best offer"
|
4831 |
+
msgstr "mejor oferta"
|
4832 |
+
|
4833 |
+
msgid "Select amount of Auto-Recharge"
|
4834 |
+
msgstr "Seleccione la cantidad de recarga automática"
|
4835 |
+
|
4836 |
+
msgid "Enable"
|
4837 |
+
msgstr "Habilitar"
|
4838 |
+
|
4839 |
+
msgid "Disable Auto-Recharge"
|
4840 |
+
msgstr "Desactivar Auto-Recarga"
|
4841 |
+
|
4842 |
+
msgid "Are you sure you want to disable Auto-Recharge?"
|
4843 |
+
msgstr "¿Está seguro de que desea desactivar la recarga automática?"
|
4844 |
+
|
4845 |
+
msgid "Turn on Auto-Recharge and get even more"
|
4846 |
+
msgstr "Active la recarga automática y obtenga aún más"
|
4847 |
+
|
4848 |
+
msgid "Auto-Recharge disabled"
|
4849 |
+
msgstr "Auto-Recarga deshabilitado"
|
4850 |
+
|
4851 |
+
#, php-format
|
4852 |
+
msgid "Can't disable Auto-Recharge, please contact us at %s"
|
4853 |
+
msgstr ""
|
4854 |
+
"No se puede desactivar la recarga automática, contáctenos a través de %s"
|
4855 |
+
|
4856 |
+
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
4857 |
+
msgstr "Auto-Recarga ha fallado, por favor reponer el equilibrio directamente."
|
4858 |
+
|
4859 |
+
msgid "Card payment has failed, please use another payment option"
|
4860 |
+
msgstr "El pago con tarjeta no ha sido posible, utilice otra opción de pago"
|
4861 |
+
|
4862 |
+
msgid "Payment has failed, please use another payment option"
|
4863 |
+
msgstr "El pago no ha sido posible, utilice otra opción de pago"
|
4864 |
+
|
4865 |
msgid "total quantity of appointments in cart"
|
4866 |
msgstr "cantidad total de citas en el carrito"
|
4867 |
|
4871 |
msgid "total price of booking"
|
4872 |
msgstr "precio total de la reserva"
|
4873 |
|
4874 |
+
msgid ""
|
4875 |
+
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4876 |
+
msgstr ""
|
4877 |
+
"¿Podría hacerme un GRAN favor y darle una calificación de 5 estrellas en "
|
4878 |
+
"WordPress?"
|
4879 |
+
|
4880 |
+
msgid "Just to help us spread the word and boost our motivation."
|
4881 |
+
msgstr "Solo para ayudarnos a correr la voz y aumentar nuestra motivación."
|
4882 |
+
|
4883 |
+
msgid "Ok, you deserve it"
|
4884 |
+
msgstr "Ok, usted lo ha pedido"
|
4885 |
+
|
4886 |
+
msgid "Nope, maybe later"
|
4887 |
+
msgstr "No, tal vez más tarde"
|
4888 |
+
|
4889 |
+
msgid "Thank you for the {star} star rating!!!"
|
4890 |
+
msgstr "¡Gracias por la calificación de estrellas {star}!"
|
4891 |
+
|
4892 |
+
msgid "You asked to remind you"
|
4893 |
+
msgstr "Ha pedido que se le recuerde"
|
4894 |
+
|
4895 |
+
msgid "Congratulations!!!"
|
4896 |
+
msgstr "¡¡¡Felicidades!!!"
|
4897 |
+
|
4898 |
+
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4899 |
+
msgstr "¡Acaba de hacer la<b>Venta número 10</b> usando el complemento Bookly!"
|
4900 |
+
|
4901 |
+
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4902 |
+
msgstr ""
|
4903 |
+
"¡Acaba de hacer la<b>Venta número 100</b> usando el complemento Bookly!"
|
4904 |
+
|
4905 |
+
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4906 |
+
msgstr ""
|
4907 |
+
"¡Acaba de hacer la<b>Venta número 1.000</b> usando el complemento Bookly!"
|
4908 |
+
|
4909 |
+
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4910 |
+
msgstr ""
|
4911 |
+
"¡Acaba de hacer la<b>Venta número 10.000</b> usando el complemento Bookly!"
|
4912 |
+
|
4913 |
msgid ""
|
4914 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4915 |
" You can opt out of sharing the information in Settings > General."
|
4925 |
"Deje que el complemento recopile de forma anónima información de uso para "
|
4926 |
"ayudar al equipo de Bookly a mejorar el producto."
|
4927 |
|
|
|
|
|
|
|
4928 |
msgid "Agree"
|
4929 |
msgstr "Aprobar"
|
4930 |
|
4931 |
+
msgid "Disagree"
|
4932 |
+
msgstr "Disentir"
|
4933 |
+
|
4934 |
#, php-format
|
4935 |
msgid ""
|
4936 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
4946 |
"importante actualización de Bookly, consulte nuestra <a href=\"%s\" "
|
4947 |
"target=\"_blank\">entrada del blog</a>."
|
4948 |
|
4949 |
+
#, php-format
|
4950 |
+
msgid "Recharge your account and get up to %s extra."
|
4951 |
+
msgstr "Recargue su cuenta y obtenga hasta %s extra."
|
4952 |
+
|
4953 |
+
msgid ""
|
4954 |
+
"Send SMS notifications to your customers, increasing their loyalty and "
|
4955 |
+
"involvement."
|
4956 |
+
msgstr ""
|
4957 |
+
"Envíe notificaciones por SMS a sus clientes, aumentando su fidelidad y "
|
4958 |
+
"participación."
|
4959 |
+
|
4960 |
+
#, php-format
|
4961 |
+
msgid "Enable Auto-Recharge and get up to %s extra."
|
4962 |
+
msgstr "Habilite la recarga automática y obtenga hasta %s extra."
|
4963 |
+
|
4964 |
+
msgid ""
|
4965 |
+
"Let your clients receive notifications on time - don't let the service stop."
|
4966 |
+
msgstr ""
|
4967 |
+
"Permita que sus clientes reciban notificaciones a tiempo, no deje que el "
|
4968 |
+
"servicio se detenga."
|
4969 |
+
|
4970 |
+
msgid "Remind me later"
|
4971 |
+
msgstr "Recuérdemelo más tarde"
|
4972 |
+
|
4973 |
msgid "This function is not available in the Bookly."
|
4974 |
msgstr "Esta función no está disponible en Bookly."
|
4975 |
|
6326 |
msgid ""
|
6327 |
"If this setting is enabled then online meetings will be created for new "
|
6328 |
"appointments with the selected online meeting provider. Make sure that the "
|
6329 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6330 |
"Meetings</a>"
|
6331 |
msgstr ""
|
6332 |
"Si esta configuración está habilitada, se crearán reuniones en línea para "
|
6369 |
"cuenta al calcular la ocupación de los proveedores. 0 significa el día de la "
|
6370 |
"reserva."
|
6371 |
|
6372 |
+
msgid "Pick random staff member in case of uncertainty"
|
6373 |
+
msgstr "Elija un miembro del personal al azar en caso de incertidumbre"
|
6374 |
+
|
6375 |
+
msgid ""
|
6376 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6377 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6378 |
+
"unknown."
|
6379 |
+
msgstr ""
|
6380 |
+
"Habilite esta opción para elegir un miembro del personal al azar si ambos "
|
6381 |
+
"cumplen los criterios elegidos en \"Preferencia de proveedores para "
|
6382 |
+
"CUALQUIERA\". De lo contrario, el orden de selección será desconocido."
|
6383 |
+
|
6384 |
msgid "Limit appointments per customer"
|
6385 |
msgstr "Limitar citas por cliente"
|
6386 |
|
6414 |
msgid ""
|
6415 |
"This setting allows you to limit the number of appointments that can be "
|
6416 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6417 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6418 |
"month, etc."
|
6419 |
msgstr ""
|
6420 |
"Esta configuración te permite limitar el número de citas que un cliente "
|
7089 |
msgid "Create another coupon"
|
7090 |
msgstr "Crear otro cupón"
|
7091 |
|
|
|
|
|
|
|
7092 |
msgid "No coupons found."
|
7093 |
msgstr "No se encontraron cupones."
|
7094 |
|
7107 |
msgid "Max appointments should be greater than zero."
|
7108 |
msgstr "Las citas máximas deben ser mayores que cero."
|
7109 |
|
7110 |
+
msgid "The code already exists"
|
7111 |
+
msgstr "El código ya existe"
|
7112 |
+
|
7113 |
msgid "Please enter a non empty mask."
|
7114 |
msgstr "Por favor, ingrese una máscara que no esté vacía."
|
7115 |
|
7833 |
"copiarán en las citas de Bookly. Si está desactivado, se usará un título "
|
7834 |
"estándar \"Evento del Calendario de Google\"."
|
7835 |
|
7836 |
+
msgid "Overwrite the description of the original Google Calendar events"
|
7837 |
+
msgstr ""
|
7838 |
+
"Sobrescriba la descripción de los eventos originales del Calendario de "
|
7839 |
+
"Google "
|
7840 |
+
|
7841 |
+
msgid ""
|
7842 |
+
"If enabled then the description of the Google Calendar events originally "
|
7843 |
+
"copied to Bookly will be overwritten by the Bookly appointment data after "
|
7844 |
+
"they have been edited in Bookly Calendar"
|
7845 |
+
msgstr ""
|
7846 |
+
"Si está habilitado, la descripción de los eventos del Calendario de Google "
|
7847 |
+
"copiados originalmente en Bookly se sobrescribirá con los datos de la cita "
|
7848 |
+
"de Bookly después de haber sido editados en el Calendario de Bookly "
|
7849 |
+
|
7850 |
msgid "Synchronize with Google Calendar"
|
7851 |
msgstr "Sincronizar con el Calendario de Google"
|
languages/bookly-fr_FR.mo
CHANGED
Binary file
|
languages/bookly-fr_FR.po
CHANGED
@@ -8,9 +8,9 @@ msgstr ""
|
|
8 |
"Language: fr_FR\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
-
"Last-Translator:
|
14 |
"Language-Team: French (France)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
16 |
|
@@ -1475,6 +1475,13 @@ msgstr "Ajouter Planning Équipe"
|
|
1475 |
msgid "Add Staff Days Off"
|
1476 |
msgstr "Ajouter Jours de Congé Équipe"
|
1477 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1478 |
msgid "Hide visibility field"
|
1479 |
msgstr "Cacher champ visibilité"
|
1480 |
|
@@ -1523,6 +1530,9 @@ msgstr "Bloc personnalisé pour l'affichage des jours de congé de l'équipe"
|
|
1523 |
msgid "Capacity"
|
1524 |
msgstr "Capacité"
|
1525 |
|
|
|
|
|
|
|
1526 |
msgid "Special hours"
|
1527 |
msgstr "Heures spéciales"
|
1528 |
|
@@ -2422,7 +2432,7 @@ msgstr ""
|
|
2422 |
"pour effectuer une réservation."
|
2423 |
|
2424 |
msgid "Your payment has been accepted for processing."
|
2425 |
-
msgstr "Votre paiement a été
|
2426 |
|
2427 |
msgid ""
|
2428 |
"You selected a booking for {service_name} by {staff_name} at "
|
@@ -2788,9 +2798,6 @@ msgstr "Prix normal"
|
|
2788 |
msgid "Price with custom Sender ID"
|
2789 |
msgstr "Prix avec ID émetteur personnalisé"
|
2790 |
|
2791 |
-
msgid "Order"
|
2792 |
-
msgstr "Commande"
|
2793 |
-
|
2794 |
msgid "Requested ID"
|
2795 |
msgstr "ID demandé"
|
2796 |
|
@@ -3083,6 +3090,9 @@ msgstr "E-mail Invalide."
|
|
3083 |
msgid "Pending sender ID already exists."
|
3084 |
msgstr "L'ID Émetteur en attente existe déjà."
|
3085 |
|
|
|
|
|
|
|
3086 |
msgid "Recovery code expired."
|
3087 |
msgstr "Code de récupération expiré."
|
3088 |
|
@@ -3158,55 +3168,53 @@ msgstr "Attachements"
|
|
3158 |
msgid "Archived"
|
3159 |
msgstr "Archivé"
|
3160 |
|
3161 |
-
msgid "
|
3162 |
-
msgstr "
|
3163 |
-
|
3164 |
-
msgid "Company name"
|
3165 |
-
msgstr "Nom de la société"
|
3166 |
-
|
3167 |
-
msgid "Note: invoice will be sent to your PayPal email address"
|
3168 |
-
msgstr "Note: la facture sera envoyée à votre adresse e-mail PayPal"
|
3169 |
|
3170 |
-
msgid "
|
3171 |
-
|
3172 |
-
|
3173 |
-
|
3174 |
-
|
3175 |
-
|
3176 |
-
|
3177 |
-
msgstr "Entrer une ou plusieurs adresses e-mail séparées par des virgules."
|
3178 |
|
3179 |
-
msgid "
|
3180 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3181 |
|
3182 |
-
msgid "
|
3183 |
-
|
|
|
|
|
|
|
|
|
|
|
3184 |
|
3185 |
-
msgid "
|
3186 |
-
msgstr "
|
3187 |
|
3188 |
-
msgid "
|
3189 |
-
msgstr "
|
3190 |
|
3191 |
msgid "SMS Notifications"
|
3192 |
msgstr "Notifications SMS"
|
3193 |
|
3194 |
-
msgid "
|
3195 |
-
msgstr "
|
3196 |
|
3197 |
-
msgid "
|
3198 |
msgstr ""
|
3199 |
-
"
|
3200 |
-
"faible"
|
3201 |
-
|
3202 |
-
msgid "Send weekly summary to administrators"
|
3203 |
-
msgstr "Envoyer rapport hebdomadaire aux administrateurs"
|
3204 |
|
3205 |
-
msgid "
|
3206 |
-
msgstr "
|
3207 |
-
|
3208 |
-
msgid "Approved at"
|
3209 |
-
msgstr "Accepté à"
|
3210 |
|
3211 |
msgid "Log out"
|
3212 |
msgstr "Déconnexion"
|
@@ -3214,12 +3222,6 @@ msgstr "Déconnexion"
|
|
3214 |
msgid "Notifications"
|
3215 |
msgstr "Notifications"
|
3216 |
|
3217 |
-
msgid "Add money"
|
3218 |
-
msgstr "Ajouter argent"
|
3219 |
-
|
3220 |
-
msgid "Auto-Recharge"
|
3221 |
-
msgstr "Recharge automatique"
|
3222 |
-
|
3223 |
msgid "Purchases"
|
3224 |
msgstr "Achats"
|
3225 |
|
@@ -3317,23 +3319,6 @@ msgstr "Entrer le code de l'e-mail"
|
|
3317 |
msgid "Repeat new password"
|
3318 |
msgstr "Répéter nouveau mot de passe"
|
3319 |
|
3320 |
-
msgid "Change password"
|
3321 |
-
msgstr "Changer mot de passe"
|
3322 |
-
|
3323 |
-
msgid "Old password"
|
3324 |
-
msgstr "Ancien mot de passe"
|
3325 |
-
|
3326 |
-
msgid ""
|
3327 |
-
"We will only charge your PayPal account when your balance falls below $10."
|
3328 |
-
msgstr ""
|
3329 |
-
"Nous ne débitons votre compte PayPal que si votre crédit descend sous $10."
|
3330 |
-
|
3331 |
-
msgid "Enable Auto-Recharge"
|
3332 |
-
msgstr "Activer Recharge Automatique"
|
3333 |
-
|
3334 |
-
msgid "Disable Auto-Recharge"
|
3335 |
-
msgstr "Désactiver Recharger Automatique"
|
3336 |
-
|
3337 |
msgid ""
|
3338 |
"If you do not see your country in the list please contact us at <a "
|
3339 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3402,20 +3387,83 @@ msgstr "Annuler requête"
|
|
3402 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3403 |
msgstr "Ne peut contenir que des lettres ou chiffres (jusqu'à 11 caract.)"
|
3404 |
|
3405 |
-
msgid "
|
3406 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3407 |
|
3408 |
-
msgid "
|
3409 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3410 |
|
3411 |
-
msgid "
|
3412 |
-
msgstr "
|
3413 |
|
3414 |
-
msgid "
|
3415 |
-
msgstr "
|
3416 |
|
3417 |
-
msgid "
|
3418 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3419 |
|
3420 |
msgid "Last month"
|
3421 |
msgstr "Mois dernier"
|
@@ -3429,15 +3477,12 @@ msgstr "L'ID Émetteur est réinitialisé."
|
|
3429 |
msgid "No records for selected period."
|
3430 |
msgstr "Pas d'enregistrements pour cette période."
|
3431 |
|
3432 |
-
msgid "Invoice"
|
3433 |
-
msgstr "Facture"
|
3434 |
-
|
3435 |
msgid ""
|
3436 |
-
"To generate an invoice you should fill in company information in Bookly
|
3437 |
-
"
|
3438 |
msgstr ""
|
3439 |
-
"Pour
|
3440 |
-
"
|
3441 |
|
3442 |
msgid "enable"
|
3443 |
msgstr "activer"
|
@@ -3452,21 +3497,6 @@ msgid "Service is temporarily unavailable. Please try again later."
|
|
3452 |
msgstr ""
|
3453 |
"Le service est temporairement indisponible. Veuillez réessayer plus tard."
|
3454 |
|
3455 |
-
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3456 |
-
msgstr ""
|
3457 |
-
"La recharge automatique n'a pas réussi. Veuillez compléter votre crédit "
|
3458 |
-
"manuellement."
|
3459 |
-
|
3460 |
-
msgid "Auto-Recharge disabled"
|
3461 |
-
msgstr "Recharge automatique désactivée"
|
3462 |
-
|
3463 |
-
msgid ""
|
3464 |
-
"Error. Can't disable Auto-Recharge, you can perform this action in your "
|
3465 |
-
"PayPal account."
|
3466 |
-
msgstr ""
|
3467 |
-
"Erreur. Impossible de désactiver la recharge automatique, vous pouvez le "
|
3468 |
-
"faire dans votre compte PayPal."
|
3469 |
-
|
3470 |
msgid "SMS has been sent successfully."
|
3471 |
msgstr "Le SMS a été envoyé avec succès."
|
3472 |
|
@@ -3682,6 +3712,9 @@ msgstr ""
|
|
3682 |
"horaires de travail de la société. Vérifiez bien les horaires de vos membres "
|
3683 |
"d'équipe si vous avez un comportement innatendu du système de réservation."
|
3684 |
|
|
|
|
|
|
|
3685 |
msgid "duration of service"
|
3686 |
msgstr "durée de service"
|
3687 |
|
@@ -3840,13 +3873,19 @@ msgstr "Durée du créneau comme durée du service"
|
|
3840 |
msgid ""
|
3841 |
"The time interval which is used as a step when building all time slots for "
|
3842 |
"the service at the Time step. The setting overrides global settings in "
|
3843 |
-
"Settings
|
3844 |
msgstr ""
|
3845 |
"L'intervalle de temps utilisé comme une étape lors de la définition des "
|
3846 |
"crénaux du service dans l'étape Time. Ce paramètre a priorité sur les "
|
3847 |
"paramétrages globaux dans Paramètres généraux. Utilisez Défaut pour "
|
3848 |
"appliquer les paramètres globaux."
|
3849 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3850 |
msgid "You must select at least one repeat option for recurring services."
|
3851 |
msgstr ""
|
3852 |
"Vous devez sélectionner au moins une option de répétition pour les services "
|
@@ -3861,6 +3900,25 @@ msgid_plural "%d services"
|
|
3861 |
msgstr[0] "%d service"
|
3862 |
msgstr[1] "%d services"
|
3863 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3864 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3865 |
msgstr "Bienvenu à Bookly et merci de votre choix !"
|
3866 |
|
@@ -4307,42 +4365,6 @@ msgstr "Ajouter le formulaire de réservation Bookly"
|
|
4307 |
msgid "Insert Appointment Booking Form"
|
4308 |
msgstr "Insérer un formulaire de réservation"
|
4309 |
|
4310 |
-
msgid ""
|
4311 |
-
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4312 |
-
msgstr ""
|
4313 |
-
"Pouvez-vous me faire une GRANDE faveur et donner une classification 5 "
|
4314 |
-
"étoiles dans WordPress ?"
|
4315 |
-
|
4316 |
-
msgid "Just to help us spread the word and boost our motivation."
|
4317 |
-
msgstr "Juste pour passer le mot et et stimuler votre motivation"
|
4318 |
-
|
4319 |
-
msgid "Ok, you deserve it"
|
4320 |
-
msgstr "Ok, vous l'avez mérité"
|
4321 |
-
|
4322 |
-
msgid "Nope, maybe later"
|
4323 |
-
msgstr "Non, peut-être plus tard"
|
4324 |
-
|
4325 |
-
msgid "Thank you for the {star} star rating!!!"
|
4326 |
-
msgstr "Merci pour la classification {star} étoiles !!!!"
|
4327 |
-
|
4328 |
-
msgid "You asked to remind you"
|
4329 |
-
msgstr "Vous avez demandé un rappel"
|
4330 |
-
|
4331 |
-
msgid "Congratulations!!!"
|
4332 |
-
msgstr "Félicitations !!!"
|
4333 |
-
|
4334 |
-
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4335 |
-
msgstr "Vous venez de faire la <b>10ème Vente</b> avec le Plugin Bookly !"
|
4336 |
-
|
4337 |
-
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4338 |
-
msgstr "Vous venez de faire la <b>100ème Vente</b> avec le Plugin Bookly !"
|
4339 |
-
|
4340 |
-
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4341 |
-
msgstr "Vous venez de faire la <b>1000ème Vente</b> avec le Plugin Bookly !"
|
4342 |
-
|
4343 |
-
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4344 |
-
msgstr "Vous venez de faire la <b>10000ème Vente</b> avec le Plugin Bookly !"
|
4345 |
-
|
4346 |
msgid "Send tax information"
|
4347 |
msgstr "Envoyer information taxe"
|
4348 |
|
@@ -4720,6 +4742,105 @@ msgstr "Nouvelle notification e-mail"
|
|
4720 |
msgid "Edit email notification"
|
4721 |
msgstr "Modifier notification e-mail"
|
4722 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4723 |
msgid "total quantity of appointments in cart"
|
4724 |
msgstr "quantité totale de réservations dans le panier"
|
4725 |
|
@@ -4729,6 +4850,42 @@ msgstr "formulaire de login"
|
|
4729 |
msgid "total price of booking"
|
4730 |
msgstr "prix total de la réservation"
|
4731 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4732 |
msgid ""
|
4733 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4734 |
" You can opt out of sharing the information in Settings > General."
|
@@ -4744,12 +4901,12 @@ msgstr ""
|
|
4744 |
"Autoriser le plugin à collecter des informations d'utilisation anonymes pour "
|
4745 |
"aider l'équipe Bookly à améliorer le produit."
|
4746 |
|
4747 |
-
msgid "Disagree"
|
4748 |
-
msgstr "Refuser"
|
4749 |
-
|
4750 |
msgid "Agree"
|
4751 |
msgstr "Accepter"
|
4752 |
|
|
|
|
|
|
|
4753 |
#, php-format
|
4754 |
msgid ""
|
4755 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
@@ -4765,6 +4922,30 @@ msgstr ""
|
|
4765 |
"jour majeure de Bookly, consultez notre <a href=\"%s\" target=\"_blank\">"
|
4766 |
"post de blog</a>.\n"
|
4767 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4768 |
msgid "This function is not available in the Bookly."
|
4769 |
msgstr "Cette fonction n'est pas disponible dans Bookly."
|
4770 |
|
@@ -6115,7 +6296,7 @@ msgstr "Créer des réunions online"
|
|
6115 |
msgid ""
|
6116 |
"If this setting is enabled then online meetings will be created for new "
|
6117 |
"appointments with the selected online meeting provider. Make sure that the "
|
6118 |
-
"provider is configured properly in Settings
|
6119 |
"Meetings</a>"
|
6120 |
msgstr ""
|
6121 |
"Si ce paramètre est activé, des réunions en ligne seront créées pour les "
|
@@ -6159,6 +6340,18 @@ msgstr ""
|
|
6159 |
"compte pour le calcul de l'occupation d'un fournisseur. 0 correspond au jour "
|
6160 |
"de la réservation."
|
6161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6162 |
msgid "Limit appointments per customer"
|
6163 |
msgstr "Limite de rendez-vous par client"
|
6164 |
|
@@ -6192,7 +6385,7 @@ msgstr "par année"
|
|
6192 |
msgid ""
|
6193 |
"This setting allows you to limit the number of appointments that can be "
|
6194 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6195 |
-
"period or with the beginning of the next calendar period
|
6196 |
"month, etc."
|
6197 |
msgstr ""
|
6198 |
"Ce paramètre permet de limiter le nombre de rendez-vous qui réservés par un "
|
@@ -6864,9 +7057,6 @@ msgstr "Limite client"
|
|
6864 |
msgid "Create another coupon"
|
6865 |
msgstr "Créer nouveau code promo"
|
6866 |
|
6867 |
-
msgid "Duplicate"
|
6868 |
-
msgstr "Dupliquer"
|
6869 |
-
|
6870 |
msgid "No coupons found."
|
6871 |
msgstr "Pas de code promo trouvé."
|
6872 |
|
@@ -6885,6 +7075,9 @@ msgstr "Min. rendez-vous doit être supérieur à 0."
|
|
6885 |
msgid "Max appointments should be greater than zero."
|
6886 |
msgstr "Max. rendez-vous doit être supérieur à 0."
|
6887 |
|
|
|
|
|
|
|
6888 |
msgid "Please enter a non empty mask."
|
6889 |
msgstr "Veuillez entrer un masque."
|
6890 |
|
@@ -7602,5 +7795,17 @@ msgstr ""
|
|
7602 |
"rendez-vous Bookly. Si désactivé, un titre générique \"Événement Google "
|
7603 |
"Calendar\" sera utilisé."
|
7604 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7605 |
msgid "Synchronize with Google Calendar"
|
7606 |
msgstr "Synchroniser avec Google Calendar"
|
8 |
"Language: fr_FR\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-06-05 05:28+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-06-05 07:46+0000\n"
|
13 |
+
"Last-Translator: Claire Bustany <claire.bustany@gmail.com>\n"
|
14 |
"Language-Team: French (France)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
16 |
|
1475 |
msgid "Add Staff Days Off"
|
1476 |
msgstr "Ajouter Jours de Congé Équipe"
|
1477 |
|
1478 |
+
msgid ""
|
1479 |
+
"Hide this field if you want to hide the list of WP users from your staff "
|
1480 |
+
"members."
|
1481 |
+
msgstr ""
|
1482 |
+
"Cachez ce champ si vous voulez cacher la liste des utilisateurs de WordPress "
|
1483 |
+
"aux membres de votre personnel."
|
1484 |
+
|
1485 |
msgid "Hide visibility field"
|
1486 |
msgstr "Cacher champ visibilité"
|
1487 |
|
1530 |
msgid "Capacity"
|
1531 |
msgstr "Capacité"
|
1532 |
|
1533 |
+
msgid "Hide WordPress users"
|
1534 |
+
msgstr "Cacher les utilisateurs de WordPress"
|
1535 |
+
|
1536 |
msgid "Special hours"
|
1537 |
msgstr "Heures spéciales"
|
1538 |
|
2432 |
"pour effectuer une réservation."
|
2433 |
|
2434 |
msgid "Your payment has been accepted for processing."
|
2435 |
+
msgstr "Votre paiement a été accepté et est en cours de traitement."
|
2436 |
|
2437 |
msgid ""
|
2438 |
"You selected a booking for {service_name} by {staff_name} at "
|
2798 |
msgid "Price with custom Sender ID"
|
2799 |
msgstr "Prix avec ID émetteur personnalisé"
|
2800 |
|
|
|
|
|
|
|
2801 |
msgid "Requested ID"
|
2802 |
msgstr "ID demandé"
|
2803 |
|
3090 |
msgid "Pending sender ID already exists."
|
3091 |
msgstr "L'ID Émetteur en attente existe déjà."
|
3092 |
|
3093 |
+
msgid "Recharge not available."
|
3094 |
+
msgstr "Recharge non disponible."
|
3095 |
+
|
3096 |
msgid "Recovery code expired."
|
3097 |
msgstr "Code de récupération expiré."
|
3098 |
|
3168 |
msgid "Archived"
|
3169 |
msgstr "Archivé"
|
3170 |
|
3171 |
+
msgid "Setup your country"
|
3172 |
+
msgstr "Définissez votre pays"
|
|
|
|
|
|
|
|
|
|
|
|
|
3173 |
|
3174 |
+
msgid ""
|
3175 |
+
"Please spend a minute to setup your country. This will help us provide you "
|
3176 |
+
"with appropriate payment methods when replenishing your account."
|
3177 |
+
msgstr ""
|
3178 |
+
"Veuillez consacrer une minute à la sélection de votre pays. Cela nous aidera "
|
3179 |
+
"à vous fournir les méthodes de paiement appropriées lors du "
|
3180 |
+
"réapprovisionnement de votre compte."
|
|
|
3181 |
|
3182 |
+
msgid ""
|
3183 |
+
"The country will also be displayed in the invoice on a separate line below "
|
3184 |
+
"the company address. Make sure the other fields in the invoice do not "
|
3185 |
+
"contain the name of the country."
|
3186 |
+
msgstr ""
|
3187 |
+
"Le pays sera également indiqué dans la facture sur une ligne distincte sous "
|
3188 |
+
"l'adresse de l’entreprise. Assurez-vous que les autres champs de la facture "
|
3189 |
+
"ne contiennent pas le nom du pays."
|
3190 |
|
3191 |
+
msgid ""
|
3192 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3193 |
+
"is used to provide you with the payment methods available in that country"
|
3194 |
+
msgstr ""
|
3195 |
+
"Votre pays est le lieu à partir duquel vous consommez les services Bookly "
|
3196 |
+
"SMS et est utilisé pour vous fournir les méthodes de paiement disponibles "
|
3197 |
+
"dans ce pays."
|
3198 |
|
3199 |
+
msgid "Set country"
|
3200 |
+
msgstr "Définir le pays"
|
3201 |
|
3202 |
+
msgid "I'll do it later"
|
3203 |
+
msgstr "Je le ferai plus tard"
|
3204 |
|
3205 |
msgid "SMS Notifications"
|
3206 |
msgstr "Notifications SMS"
|
3207 |
|
3208 |
+
msgid "Approved at"
|
3209 |
+
msgstr "Accepté à"
|
3210 |
|
3211 |
+
msgid "Change the sender's name to your phone number or any other name"
|
3212 |
msgstr ""
|
3213 |
+
"Changez le numéro de l’expéditeur ou tout autre nom sur votre téléphone "
|
|
|
|
|
|
|
|
|
3214 |
|
3215 |
+
msgid "Click this button to access your Bookly SMS account settings"
|
3216 |
+
msgstr ""
|
3217 |
+
"Cliquez sur ce bouton pour accéder aux paramètres de votre compte Bookly SMS"
|
|
|
|
|
3218 |
|
3219 |
msgid "Log out"
|
3220 |
msgstr "Déconnexion"
|
3222 |
msgid "Notifications"
|
3223 |
msgstr "Notifications"
|
3224 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3225 |
msgid "Purchases"
|
3226 |
msgstr "Achats"
|
3227 |
|
3319 |
msgid "Repeat new password"
|
3320 |
msgstr "Répéter nouveau mot de passe"
|
3321 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3322 |
msgid ""
|
3323 |
"If you do not see your country in the list please contact us at <a "
|
3324 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3387 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3388 |
msgstr "Ne peut contenir que des lettres ou chiffres (jusqu'à 11 caract.)"
|
3389 |
|
3390 |
+
msgid "Account settings"
|
3391 |
+
msgstr "Paramètres du compte"
|
3392 |
+
|
3393 |
+
msgid "Auto-Recharge"
|
3394 |
+
msgstr "Recharge automatique"
|
3395 |
+
|
3396 |
+
msgid "Invoice"
|
3397 |
+
msgstr "Facture"
|
3398 |
+
|
3399 |
+
msgid "Change password"
|
3400 |
+
msgstr "Changer mot de passe"
|
3401 |
+
|
3402 |
+
#, php-format
|
3403 |
+
msgid "We will only charge you when your balance falls bellow %s"
|
3404 |
+
msgstr "Nous ne vous facturerons que si votre solde tombe en dessous de %s"
|
3405 |
|
3406 |
+
msgid "Company name"
|
3407 |
+
msgstr "Nom de la société"
|
3408 |
+
|
3409 |
+
msgid "Company address"
|
3410 |
+
msgstr "Adresse de la société"
|
3411 |
+
|
3412 |
+
msgid "Company address line 2"
|
3413 |
+
msgstr "Adresse de la société ligne 2"
|
3414 |
+
|
3415 |
+
msgid "You can change the country <a href=\"#\">here</a>"
|
3416 |
+
msgstr "Vous pouvez changer le pays <a href=\"#\">here</a>"
|
3417 |
|
3418 |
+
msgid "Company number"
|
3419 |
+
msgstr "Numéro d’entreprise"
|
3420 |
|
3421 |
+
msgid "VAT / Tax number"
|
3422 |
+
msgstr "TVA / Numéro fiscal "
|
3423 |
|
3424 |
+
msgid "Additional text to include in invoice"
|
3425 |
+
msgstr "Texte supplémentaire à inclure dans la facture"
|
3426 |
+
|
3427 |
+
#, php-format
|
3428 |
+
msgid "The invoice will be sent to <a href=\"mailto:%1$s\">%1$s</a>"
|
3429 |
+
msgstr "La facture sera envoyée à <a href=\"mailto:%1$s\">%1$s</a>"
|
3430 |
+
|
3431 |
+
msgid "Copy invoice to another email(s)"
|
3432 |
+
msgstr "Envoyer copie de la facture à d'autres e-mails"
|
3433 |
+
|
3434 |
+
msgid "Enter one or more email addresses separated by commas."
|
3435 |
+
msgstr "Entrer une ou plusieurs adresses e-mail séparées par des virgules."
|
3436 |
+
|
3437 |
+
msgid "Save invoice settings"
|
3438 |
+
msgstr "Sauvegarder les paramètres de la facture"
|
3439 |
+
|
3440 |
+
msgid "Send email notification to administrators at low balance"
|
3441 |
+
msgstr ""
|
3442 |
+
"Envoyer un e-mail de notification aux administrateur quand le crédit est "
|
3443 |
+
"faible"
|
3444 |
+
|
3445 |
+
msgid "Send weekly summary to administrators"
|
3446 |
+
msgstr "Envoyer rapport hebdomadaire aux administrateurs"
|
3447 |
+
|
3448 |
+
msgid ""
|
3449 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3450 |
+
"is used to provide you with the payment methods available in that country."
|
3451 |
+
msgstr ""
|
3452 |
+
"Votre pays est le lieu à partir duquel vous consommez les services Bookly "
|
3453 |
+
"SMS et est utilisé pour vous fournir les méthodes de paiement disponibles "
|
3454 |
+
"dans ce pays."
|
3455 |
+
|
3456 |
+
msgid "Update country"
|
3457 |
+
msgstr "Mise à jour du pays"
|
3458 |
+
|
3459 |
+
msgid "Old password"
|
3460 |
+
msgstr "Ancien mot de passe"
|
3461 |
+
|
3462 |
+
msgid "Please accept terms and conditions."
|
3463 |
+
msgstr "Veuillez accepter les Termes et Conditions."
|
3464 |
+
|
3465 |
+
msgid "Passwords don't match"
|
3466 |
+
msgstr "Les mots de passe ne correspondent pas"
|
3467 |
|
3468 |
msgid "Last month"
|
3469 |
msgstr "Mois dernier"
|
3477 |
msgid "No records for selected period."
|
3478 |
msgstr "Pas d'enregistrements pour cette période."
|
3479 |
|
|
|
|
|
|
|
3480 |
msgid ""
|
3481 |
+
"To generate an invoice you should fill in company information in Bookly SMS "
|
3482 |
+
"Account settings -> Invoice"
|
3483 |
msgstr ""
|
3484 |
+
"Pour générer une facture, vous devez remplir les informations sur "
|
3485 |
+
"l'entreprise dans les paramètres du compte SMS Bookly -> Facture"
|
3486 |
|
3487 |
msgid "enable"
|
3488 |
msgstr "activer"
|
3497 |
msgstr ""
|
3498 |
"Le service est temporairement indisponible. Veuillez réessayer plus tard."
|
3499 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3500 |
msgid "SMS has been sent successfully."
|
3501 |
msgstr "Le SMS a été envoyé avec succès."
|
3502 |
|
3712 |
"horaires de travail de la société. Vérifiez bien les horaires de vos membres "
|
3713 |
"d'équipe si vous avez un comportement innatendu du système de réservation."
|
3714 |
|
3715 |
+
msgid "internal note"
|
3716 |
+
msgstr "note interne"
|
3717 |
+
|
3718 |
msgid "duration of service"
|
3719 |
msgstr "durée de service"
|
3720 |
|
3873 |
msgid ""
|
3874 |
"The time interval which is used as a step when building all time slots for "
|
3875 |
"the service at the Time step. The setting overrides global settings in "
|
3876 |
+
"Settings > General. Use Default to apply global settings."
|
3877 |
msgstr ""
|
3878 |
"L'intervalle de temps utilisé comme une étape lors de la définition des "
|
3879 |
"crénaux du service dans l'étape Time. Ce paramètre a priorité sur les "
|
3880 |
"paramétrages globaux dans Paramètres généraux. Utilisez Défaut pour "
|
3881 |
"appliquer les paramètres globaux."
|
3882 |
|
3883 |
+
msgid "The service will be created with the visibility of Private."
|
3884 |
+
msgstr "Le service sera créé avec la visibilité de Privé."
|
3885 |
+
|
3886 |
+
msgid "Duplicate"
|
3887 |
+
msgstr "Dupliquer"
|
3888 |
+
|
3889 |
msgid "You must select at least one repeat option for recurring services."
|
3890 |
msgstr ""
|
3891 |
"Vous devez sélectionner au moins une option de répétition pour les services "
|
3900 |
msgstr[0] "%d service"
|
3901 |
msgstr[1] "%d services"
|
3902 |
|
3903 |
+
#, php-format
|
3904 |
+
msgid "Copy of %s"
|
3905 |
+
msgstr "Copie de %s"
|
3906 |
+
|
3907 |
+
msgid "Auto-refresh Calendar"
|
3908 |
+
msgstr "Rafraîchissement automatique du calendrier "
|
3909 |
+
|
3910 |
+
msgid "Every 1 minute"
|
3911 |
+
msgstr "Toutes les minutes"
|
3912 |
+
|
3913 |
+
msgid "Every 5 minutes"
|
3914 |
+
msgstr "Toutes les 5 minutes"
|
3915 |
+
|
3916 |
+
msgid "Every 15 minutes"
|
3917 |
+
msgstr "Toutes les 15 minutes"
|
3918 |
+
|
3919 |
+
msgid "Disable"
|
3920 |
+
msgstr "Désactiver"
|
3921 |
+
|
3922 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3923 |
msgstr "Bienvenu à Bookly et merci de votre choix !"
|
3924 |
|
4365 |
msgid "Insert Appointment Booking Form"
|
4366 |
msgstr "Insérer un formulaire de réservation"
|
4367 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4368 |
msgid "Send tax information"
|
4369 |
msgstr "Envoyer information taxe"
|
4370 |
|
4742 |
msgid "Edit email notification"
|
4743 |
msgstr "Modifier notification e-mail"
|
4744 |
|
4745 |
+
msgid "Thank you"
|
4746 |
+
msgstr "Merci"
|
4747 |
+
|
4748 |
+
msgid "Your payment has been accepted for processing"
|
4749 |
+
msgstr "Votre paiement a été accepté"
|
4750 |
+
|
4751 |
+
msgid "Back to the list of amounts"
|
4752 |
+
msgstr "Retour à la liste des montants"
|
4753 |
+
|
4754 |
+
msgid "Please select a payment method"
|
4755 |
+
msgstr "Merci de bien vouloir sélectionner une méthode de paiement "
|
4756 |
+
|
4757 |
+
msgid "Credit card"
|
4758 |
+
msgstr "Carte de crédit"
|
4759 |
+
|
4760 |
+
msgid "Account recharge"
|
4761 |
+
msgstr "Rechargement du compte"
|
4762 |
+
|
4763 |
+
msgid "Oops"
|
4764 |
+
msgstr "Oups"
|
4765 |
+
|
4766 |
+
msgid "Your payment has been cancelled"
|
4767 |
+
msgstr "Votre paiement a été annulé "
|
4768 |
+
|
4769 |
+
msgid "Please select an amount and recharge your account"
|
4770 |
+
msgstr "Veuillez sélectionner un montant et recharger votre compte"
|
4771 |
+
|
4772 |
+
msgid "Pay using"
|
4773 |
+
msgstr "Payer avec"
|
4774 |
+
|
4775 |
+
msgid "Continue with"
|
4776 |
+
msgstr "Continuez avec"
|
4777 |
+
|
4778 |
+
msgid "Auto-Recharge has been enabled"
|
4779 |
+
msgstr "La recharge automatique a été activée"
|
4780 |
+
|
4781 |
+
msgid "Auto-Recharge has been cancelled"
|
4782 |
+
msgstr "La recharge automatique a été annulée"
|
4783 |
+
|
4784 |
+
msgid "current<br/>balance"
|
4785 |
+
msgstr "solde<br/>actuel"
|
4786 |
+
|
4787 |
+
msgid "Recharge"
|
4788 |
+
msgstr "Recharge"
|
4789 |
+
|
4790 |
+
msgid "users choice"
|
4791 |
+
msgstr "choix des utilisateurs"
|
4792 |
+
|
4793 |
+
msgid "Buy now"
|
4794 |
+
msgstr "Acheter maintenant"
|
4795 |
+
|
4796 |
+
msgid "Best offer"
|
4797 |
+
msgstr "Meilleure offre"
|
4798 |
+
|
4799 |
+
msgid "Users choice"
|
4800 |
+
msgstr "Choix des utilisateurs"
|
4801 |
+
|
4802 |
+
msgid "Other options"
|
4803 |
+
msgstr "Autres options"
|
4804 |
+
|
4805 |
+
msgid "best offer"
|
4806 |
+
msgstr "meilleure offre"
|
4807 |
+
|
4808 |
+
msgid "Select amount of Auto-Recharge"
|
4809 |
+
msgstr "Sélectionnez le montant de la recharge automatique"
|
4810 |
+
|
4811 |
+
msgid "Enable"
|
4812 |
+
msgstr "Activer"
|
4813 |
+
|
4814 |
+
msgid "Disable Auto-Recharge"
|
4815 |
+
msgstr "Désactiver Recharger Automatique"
|
4816 |
+
|
4817 |
+
msgid "Are you sure you want to disable Auto-Recharge?"
|
4818 |
+
msgstr "Etes-vous certain de vouloir désactiver la recharge automatique ?"
|
4819 |
+
|
4820 |
+
msgid "Turn on Auto-Recharge and get even more"
|
4821 |
+
msgstr "Activez la recharge automatique et obtenez encore plus"
|
4822 |
+
|
4823 |
+
msgid "Auto-Recharge disabled"
|
4824 |
+
msgstr "Recharge automatique désactivée"
|
4825 |
+
|
4826 |
+
#, php-format
|
4827 |
+
msgid "Can't disable Auto-Recharge, please contact us at %s"
|
4828 |
+
msgstr ""
|
4829 |
+
"Si vous ne parvenez pas à désactiver la recharge automatique, veuillez nous "
|
4830 |
+
"contacter à l'adresse suivante %s"
|
4831 |
+
|
4832 |
+
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
4833 |
+
msgstr ""
|
4834 |
+
"La recharge automatique n'a pas réussi. Veuillez compléter votre crédit "
|
4835 |
+
"manuellement."
|
4836 |
+
|
4837 |
+
msgid "Card payment has failed, please use another payment option"
|
4838 |
+
msgstr ""
|
4839 |
+
"Le paiement par carte a échoué, veuillez utiliser un autre moyen de paiement"
|
4840 |
+
|
4841 |
+
msgid "Payment has failed, please use another payment option"
|
4842 |
+
msgstr "Le paiement a échoué, veuillez utiliser un autre mode de paiement"
|
4843 |
+
|
4844 |
msgid "total quantity of appointments in cart"
|
4845 |
msgstr "quantité totale de réservations dans le panier"
|
4846 |
|
4850 |
msgid "total price of booking"
|
4851 |
msgstr "prix total de la réservation"
|
4852 |
|
4853 |
+
msgid ""
|
4854 |
+
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4855 |
+
msgstr ""
|
4856 |
+
"Pouvez-vous me faire une GRANDE faveur et donner une classification 5 "
|
4857 |
+
"étoiles dans WordPress ?"
|
4858 |
+
|
4859 |
+
msgid "Just to help us spread the word and boost our motivation."
|
4860 |
+
msgstr "Juste pour passer le mot et et stimuler votre motivation"
|
4861 |
+
|
4862 |
+
msgid "Ok, you deserve it"
|
4863 |
+
msgstr "Ok, vous l'avez mérité"
|
4864 |
+
|
4865 |
+
msgid "Nope, maybe later"
|
4866 |
+
msgstr "Non, peut-être plus tard"
|
4867 |
+
|
4868 |
+
msgid "Thank you for the {star} star rating!!!"
|
4869 |
+
msgstr "Merci pour la classification {star} étoiles !!!!"
|
4870 |
+
|
4871 |
+
msgid "You asked to remind you"
|
4872 |
+
msgstr "Vous avez demandé un rappel"
|
4873 |
+
|
4874 |
+
msgid "Congratulations!!!"
|
4875 |
+
msgstr "Félicitations !!!"
|
4876 |
+
|
4877 |
+
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4878 |
+
msgstr "Vous venez de faire la <b>10ème Vente</b> avec le Plugin Bookly !"
|
4879 |
+
|
4880 |
+
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4881 |
+
msgstr "Vous venez de faire la <b>100ème Vente</b> avec le Plugin Bookly !"
|
4882 |
+
|
4883 |
+
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4884 |
+
msgstr "Vous venez de faire la <b>1000ème Vente</b> avec le Plugin Bookly !"
|
4885 |
+
|
4886 |
+
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4887 |
+
msgstr "Vous venez de faire la <b>10000ème Vente</b> avec le Plugin Bookly !"
|
4888 |
+
|
4889 |
msgid ""
|
4890 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4891 |
" You can opt out of sharing the information in Settings > General."
|
4901 |
"Autoriser le plugin à collecter des informations d'utilisation anonymes pour "
|
4902 |
"aider l'équipe Bookly à améliorer le produit."
|
4903 |
|
|
|
|
|
|
|
4904 |
msgid "Agree"
|
4905 |
msgstr "Accepter"
|
4906 |
|
4907 |
+
msgid "Disagree"
|
4908 |
+
msgstr "Refuser"
|
4909 |
+
|
4910 |
#, php-format
|
4911 |
msgid ""
|
4912 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
4922 |
"jour majeure de Bookly, consultez notre <a href=\"%s\" target=\"_blank\">"
|
4923 |
"post de blog</a>.\n"
|
4924 |
|
4925 |
+
#, php-format
|
4926 |
+
msgid "Recharge your account and get up to %s extra."
|
4927 |
+
msgstr "Rechargez votre compte et obtenez jusqu’à %s supplémentaire."
|
4928 |
+
|
4929 |
+
msgid ""
|
4930 |
+
"Send SMS notifications to your customers, increasing their loyalty and "
|
4931 |
+
"involvement."
|
4932 |
+
msgstr ""
|
4933 |
+
"Envoyez des notifications par SMS à vos clients, ce qui accroît leur "
|
4934 |
+
"fidélité et leur implication."
|
4935 |
+
|
4936 |
+
#, php-format
|
4937 |
+
msgid "Enable Auto-Recharge and get up to %s extra."
|
4938 |
+
msgstr "Activez la recharge automatique et obtenez jusqu'à %s supplémentaires."
|
4939 |
+
|
4940 |
+
msgid ""
|
4941 |
+
"Let your clients receive notifications on time - don't let the service stop."
|
4942 |
+
msgstr ""
|
4943 |
+
"Faites en sorte que vos clients reçoivent les notifications à temps - ne "
|
4944 |
+
"laissez pas le service s'arrêter."
|
4945 |
+
|
4946 |
+
msgid "Remind me later"
|
4947 |
+
msgstr "Me le rappeler ultérieurement "
|
4948 |
+
|
4949 |
msgid "This function is not available in the Bookly."
|
4950 |
msgstr "Cette fonction n'est pas disponible dans Bookly."
|
4951 |
|
6296 |
msgid ""
|
6297 |
"If this setting is enabled then online meetings will be created for new "
|
6298 |
"appointments with the selected online meeting provider. Make sure that the "
|
6299 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6300 |
"Meetings</a>"
|
6301 |
msgstr ""
|
6302 |
"Si ce paramètre est activé, des réunions en ligne seront créées pour les "
|
6340 |
"compte pour le calcul de l'occupation d'un fournisseur. 0 correspond au jour "
|
6341 |
"de la réservation."
|
6342 |
|
6343 |
+
msgid "Pick random staff member in case of uncertainty"
|
6344 |
+
msgstr "Choisir un membre du personnel au hasard en cas d'incertitude "
|
6345 |
+
|
6346 |
+
msgid ""
|
6347 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6348 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6349 |
+
"unknown."
|
6350 |
+
msgstr ""
|
6351 |
+
"Activez cette option pour choisir un membre du personnel au hasard si tous "
|
6352 |
+
"deux répondent aux critères choisis dans \"Préférence des fournisseurs pour "
|
6353 |
+
"TOUT\". Autrement, l'ordre de sélection est inconnu."
|
6354 |
+
|
6355 |
msgid "Limit appointments per customer"
|
6356 |
msgstr "Limite de rendez-vous par client"
|
6357 |
|
6385 |
msgid ""
|
6386 |
"This setting allows you to limit the number of appointments that can be "
|
6387 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6388 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6389 |
"month, etc."
|
6390 |
msgstr ""
|
6391 |
"Ce paramètre permet de limiter le nombre de rendez-vous qui réservés par un "
|
7057 |
msgid "Create another coupon"
|
7058 |
msgstr "Créer nouveau code promo"
|
7059 |
|
|
|
|
|
|
|
7060 |
msgid "No coupons found."
|
7061 |
msgstr "Pas de code promo trouvé."
|
7062 |
|
7075 |
msgid "Max appointments should be greater than zero."
|
7076 |
msgstr "Max. rendez-vous doit être supérieur à 0."
|
7077 |
|
7078 |
+
msgid "The code already exists"
|
7079 |
+
msgstr "Le code existe déjà "
|
7080 |
+
|
7081 |
msgid "Please enter a non empty mask."
|
7082 |
msgstr "Veuillez entrer un masque."
|
7083 |
|
7795 |
"rendez-vous Bookly. Si désactivé, un titre générique \"Événement Google "
|
7796 |
"Calendar\" sera utilisé."
|
7797 |
|
7798 |
+
msgid "Overwrite the description of the original Google Calendar events"
|
7799 |
+
msgstr "Remplacer la description des événements originaux de Google Agenda"
|
7800 |
+
|
7801 |
+
msgid ""
|
7802 |
+
"If enabled then the description of the Google Calendar events originally "
|
7803 |
+
"copied to Bookly will be overwritten by the Bookly appointment data after "
|
7804 |
+
"they have been edited in Bookly Calendar"
|
7805 |
+
msgstr ""
|
7806 |
+
"Si cette option est activée, la description des événements de Google Agenda "
|
7807 |
+
"initialement copiée dans Bookly sera remplacée par les données de rendez-"
|
7808 |
+
"vous de Bookly après leur modification dans Bookly Calendar"
|
7809 |
+
|
7810 |
msgid "Synchronize with Google Calendar"
|
7811 |
msgstr "Synchroniser avec Google Calendar"
|
languages/bookly-it_IT.po
CHANGED
@@ -2016,8 +2016,8 @@ msgid ""
|
|
2016 |
"booking."
|
2017 |
msgstr ""
|
2018 |
|
2019 |
-
msgid "Your payment has been accepted for processing
|
2020 |
-
msgstr "Il pagamento è stato accettato per l'elaborazione
|
2021 |
|
2022 |
msgid ""
|
2023 |
"You selected a booking for {service_name} by {staff_name} at "
|
@@ -3370,7 +3370,7 @@ msgstr ""
|
|
3370 |
msgid ""
|
3371 |
"The time interval which is used as a step when building all time slots for "
|
3372 |
"the service at the Time step. The setting overrides global settings in "
|
3373 |
-
"Settings
|
3374 |
msgstr ""
|
3375 |
|
3376 |
msgid "You must select at least one repeat option for recurring services."
|
@@ -5392,7 +5392,7 @@ msgstr ""
|
|
5392 |
msgid ""
|
5393 |
"If this setting is enabled then online meetings will be created for new "
|
5394 |
"appointments with the selected online meeting provider. Make sure that the "
|
5395 |
-
"provider is configured properly in Settings
|
5396 |
"Meetings</a>"
|
5397 |
msgstr ""
|
5398 |
|
@@ -5462,7 +5462,7 @@ msgstr ""
|
|
5462 |
msgid ""
|
5463 |
"This setting allows you to limit the number of appointments that can be "
|
5464 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
5465 |
-
"period or with the beginning of the next calendar period
|
5466 |
"month, etc."
|
5467 |
msgstr ""
|
5468 |
|
2016 |
"booking."
|
2017 |
msgstr ""
|
2018 |
|
2019 |
+
msgid "Your payment has been accepted for processing"
|
2020 |
+
msgstr "Il pagamento è stato accettato per l'elaborazione"
|
2021 |
|
2022 |
msgid ""
|
2023 |
"You selected a booking for {service_name} by {staff_name} at "
|
3370 |
msgid ""
|
3371 |
"The time interval which is used as a step when building all time slots for "
|
3372 |
"the service at the Time step. The setting overrides global settings in "
|
3373 |
+
"Settings > General. Use Default to apply global settings."
|
3374 |
msgstr ""
|
3375 |
|
3376 |
msgid "You must select at least one repeat option for recurring services."
|
5392 |
msgid ""
|
5393 |
"If this setting is enabled then online meetings will be created for new "
|
5394 |
"appointments with the selected online meeting provider. Make sure that the "
|
5395 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
5396 |
"Meetings</a>"
|
5397 |
msgstr ""
|
5398 |
|
5462 |
msgid ""
|
5463 |
"This setting allows you to limit the number of appointments that can be "
|
5464 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
5465 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
5466 |
"month, etc."
|
5467 |
msgstr ""
|
5468 |
|
languages/bookly-ja.mo
CHANGED
Binary file
|
languages/bookly-ja.po
CHANGED
@@ -2270,7 +2270,7 @@ msgid ""
|
|
2270 |
"booking."
|
2271 |
msgstr "あなたはサービスを頻繁に使用しすぎています。 予約をするには私達に連絡してください。"
|
2272 |
|
2273 |
-
msgid "Your payment has been accepted for processing
|
2274 |
msgstr "お支払い手続きが承認されました"
|
2275 |
|
2276 |
msgid ""
|
@@ -3545,7 +3545,7 @@ msgstr ""
|
|
3545 |
msgid ""
|
3546 |
"The time interval which is used as a step when building all time slots for "
|
3547 |
"the service at the Time step. The setting overrides global settings in "
|
3548 |
-
"Settings
|
3549 |
msgstr ""
|
3550 |
"タイム•インターバルは、タイムステップでサービスのすべてのタイムスロットを構築するときのステップとして使用されます。この設定は、[設定] "
|
3551 |
"項目にある{一般]のグローバル設定よりも優先されます。 デフォルトを使用してグローバル設定を適用してください。"
|
@@ -5542,7 +5542,7 @@ msgstr "顧客あたりの面会予約を制限する"
|
|
5542 |
msgid ""
|
5543 |
"This setting allows you to limit the number of appointments that can be "
|
5544 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
5545 |
-
"period or with the beginning of the next calendar period
|
5546 |
"month, etc."
|
5547 |
msgstr ""
|
5548 |
" この設定では、任意の期間に顧客が予約可能な面会予定の数を制限することができます。 "
|
2270 |
"booking."
|
2271 |
msgstr "あなたはサービスを頻繁に使用しすぎています。 予約をするには私達に連絡してください。"
|
2272 |
|
2273 |
+
msgid "Your payment has been accepted for processing"
|
2274 |
msgstr "お支払い手続きが承認されました"
|
2275 |
|
2276 |
msgid ""
|
3545 |
msgid ""
|
3546 |
"The time interval which is used as a step when building all time slots for "
|
3547 |
"the service at the Time step. The setting overrides global settings in "
|
3548 |
+
"Settings > General. Use Default to apply global settings."
|
3549 |
msgstr ""
|
3550 |
"タイム•インターバルは、タイムステップでサービスのすべてのタイムスロットを構築するときのステップとして使用されます。この設定は、[設定] "
|
3551 |
"項目にある{一般]のグローバル設定よりも優先されます。 デフォルトを使用してグローバル設定を適用してください。"
|
5542 |
msgid ""
|
5543 |
"This setting allows you to limit the number of appointments that can be "
|
5544 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
5545 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
5546 |
"month, etc."
|
5547 |
msgstr ""
|
5548 |
" この設定では、任意の期間に顧客が予約可能な面会予定の数を制限することができます。 "
|
languages/bookly-nl_NL.mo
CHANGED
Binary file
|
languages/bookly-nl_NL.po
CHANGED
@@ -8,8 +8,8 @@ msgstr ""
|
|
8 |
"Language: nl_NL\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Dutch\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1467,6 +1467,13 @@ msgstr "Voeg Personeelsplanning toe"
|
|
1467 |
msgid "Add Staff Days Off"
|
1468 |
msgstr "Voeg personeel vrije dag toe"
|
1469 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1470 |
msgid "Hide visibility field"
|
1471 |
msgstr "Verberg zichtbaarheidsveld"
|
1472 |
|
@@ -1521,6 +1528,9 @@ msgstr ""
|
|
1521 |
msgid "Capacity"
|
1522 |
msgstr "Capaciteit"
|
1523 |
|
|
|
|
|
|
|
1524 |
msgid "Special hours"
|
1525 |
msgstr "Speciale uren"
|
1526 |
|
@@ -2416,7 +2426,7 @@ msgstr ""
|
|
2416 |
"boeking uit te voeren."
|
2417 |
|
2418 |
msgid "Your payment has been accepted for processing."
|
2419 |
-
msgstr "Uw betaling
|
2420 |
|
2421 |
msgid ""
|
2422 |
"You selected a booking for {service_name} by {staff_name} at "
|
@@ -2781,9 +2791,6 @@ msgstr "Normale prijs"
|
|
2781 |
msgid "Price with custom Sender ID"
|
2782 |
msgstr "Prijs met aangepaste Afzender ID"
|
2783 |
|
2784 |
-
msgid "Order"
|
2785 |
-
msgstr "Volgorde"
|
2786 |
-
|
2787 |
msgid "Requested ID"
|
2788 |
msgstr "Aangevraagde ID"
|
2789 |
|
@@ -3072,6 +3079,9 @@ msgstr "Ongeldig e-mailadres."
|
|
3072 |
msgid "Pending sender ID already exists."
|
3073 |
msgstr "In afwachting van de afzender ID bestaat al."
|
3074 |
|
|
|
|
|
|
|
3075 |
msgid "Recovery code expired."
|
3076 |
msgstr "Herstelcode verlopen."
|
3077 |
|
@@ -3147,66 +3157,58 @@ msgstr "Bijlagen"
|
|
3147 |
msgid "Archived"
|
3148 |
msgstr "Gearchiveerd"
|
3149 |
|
3150 |
-
msgid "
|
3151 |
-
msgstr "
|
3152 |
-
|
3153 |
-
msgid "Company name"
|
3154 |
-
msgstr "Bedrijfsnaam"
|
3155 |
|
3156 |
-
msgid "
|
3157 |
-
|
3158 |
-
|
3159 |
-
|
3160 |
-
|
3161 |
-
|
3162 |
-
msgid "Copy invoice to another email(s)"
|
3163 |
-
msgstr "Kopieer factuur naar andere e-mail(s)"
|
3164 |
-
|
3165 |
-
msgid "Enter one or more email addresses separated by commas."
|
3166 |
-
msgstr "Vul een of mesrdere e-mailadressen in, gescheiden door komma's."
|
3167 |
|
3168 |
-
msgid "
|
3169 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3170 |
|
3171 |
-
msgid "
|
3172 |
-
|
|
|
|
|
|
|
|
|
|
|
3173 |
|
3174 |
-
msgid "
|
3175 |
-
msgstr "
|
3176 |
|
3177 |
-
msgid "
|
3178 |
-
msgstr "
|
3179 |
|
3180 |
msgid "SMS Notifications"
|
3181 |
msgstr "SMS-meldingen"
|
3182 |
|
3183 |
-
msgid "Your balance"
|
3184 |
-
msgstr "Uw saldo"
|
3185 |
-
|
3186 |
-
msgid "Send email notification to administrators at low balance"
|
3187 |
-
msgstr "Stuur e-mail notificatie aan beheerders bij lage balans"
|
3188 |
-
|
3189 |
-
msgid "Send weekly summary to administrators"
|
3190 |
-
msgstr "Stuur wekelijkse samenvatting naar beheerders"
|
3191 |
-
|
3192 |
-
msgid "Change"
|
3193 |
-
msgstr "Wijzigen"
|
3194 |
-
|
3195 |
msgid "Approved at"
|
3196 |
msgstr "Goedgekeurd op"
|
3197 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3198 |
msgid "Log out"
|
3199 |
msgstr "Uitloggen"
|
3200 |
|
3201 |
msgid "Notifications"
|
3202 |
msgstr "Meldingen"
|
3203 |
|
3204 |
-
msgid "Add money"
|
3205 |
-
msgstr "Geld toevoegen"
|
3206 |
-
|
3207 |
-
msgid "Auto-Recharge"
|
3208 |
-
msgstr "Auto-Opladen"
|
3209 |
-
|
3210 |
msgid "Purchases"
|
3211 |
msgstr "Aankopen"
|
3212 |
|
@@ -3302,24 +3304,6 @@ msgstr "Voer de per e-mail toegestuurde code in"
|
|
3302 |
msgid "Repeat new password"
|
3303 |
msgstr "Herhaal nieuw wachtwoord"
|
3304 |
|
3305 |
-
msgid "Change password"
|
3306 |
-
msgstr "Verander wachtwoord"
|
3307 |
-
|
3308 |
-
msgid "Old password"
|
3309 |
-
msgstr "Oude wachtwoord"
|
3310 |
-
|
3311 |
-
msgid ""
|
3312 |
-
"We will only charge your PayPal account when your balance falls below $10."
|
3313 |
-
msgstr ""
|
3314 |
-
"We zullen alleen uw PayPal-rekening belasten wanneer uw saldo daalt tot "
|
3315 |
-
"onder $10."
|
3316 |
-
|
3317 |
-
msgid "Enable Auto-Recharge"
|
3318 |
-
msgstr "Inschakelen Auto-Opladen"
|
3319 |
-
|
3320 |
-
msgid "Disable Auto-Recharge"
|
3321 |
-
msgstr "Uitschakelen Auto-Opladen"
|
3322 |
-
|
3323 |
msgid ""
|
3324 |
"If you do not see your country in the list please contact us at <a "
|
3325 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3388,20 +3372,81 @@ msgstr "Annuleer verzoek"
|
|
3388 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3389 |
msgstr "Kan alleen letters of cijfers bevatten (maximaal 11 tekens)."
|
3390 |
|
3391 |
-
msgid "
|
3392 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3393 |
|
3394 |
-
msgid "
|
3395 |
-
msgstr "
|
|
|
|
|
|
|
3396 |
|
3397 |
-
msgid "
|
3398 |
-
msgstr "
|
3399 |
|
3400 |
-
msgid "
|
3401 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3402 |
|
3403 |
-
msgid "
|
3404 |
-
msgstr "
|
3405 |
|
3406 |
msgid "Last month"
|
3407 |
msgstr "Afgelopen maand"
|
@@ -3415,15 +3460,12 @@ msgstr "Afzender ID is teruggezet naar de standaardinstelling."
|
|
3415 |
msgid "No records for selected period."
|
3416 |
msgstr "Geen records voor de geselecteerde periode."
|
3417 |
|
3418 |
-
msgid "Invoice"
|
3419 |
-
msgstr "Factuur"
|
3420 |
-
|
3421 |
msgid ""
|
3422 |
-
"To generate an invoice you should fill in company information in Bookly
|
3423 |
-
"
|
3424 |
msgstr ""
|
3425 |
-
"Om een factuur te genereren moet u bedrijfsinformatie invullen in
|
3426 |
-
"SMS
|
3427 |
|
3428 |
msgid "enable"
|
3429 |
msgstr "inschakelen"
|
@@ -3437,19 +3479,6 @@ msgstr "De e-mail is nogmaals verzonden"
|
|
3437 |
msgid "Service is temporarily unavailable. Please try again later."
|
3438 |
msgstr "Service is tijdelijk niet beschikbaar. Probeer het later nogmaals."
|
3439 |
|
3440 |
-
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3441 |
-
msgstr "Auto-Opladen is mislukt, vult uw saldo direct aan."
|
3442 |
-
|
3443 |
-
msgid "Auto-Recharge disabled"
|
3444 |
-
msgstr "Auto-Opladen uitgeschakeld"
|
3445 |
-
|
3446 |
-
msgid ""
|
3447 |
-
"Error. Can't disable Auto-Recharge, you can perform this action in your "
|
3448 |
-
"PayPal account."
|
3449 |
-
msgstr ""
|
3450 |
-
"Fout. Kan Auto-Opladen niet uitschakelen, u kunt deze actie uitvoeren in uw "
|
3451 |
-
"PayPal-rekening."
|
3452 |
-
|
3453 |
msgid "SMS has been sent successfully."
|
3454 |
msgstr "SMS is met succes verstuurd."
|
3455 |
|
@@ -3668,6 +3697,9 @@ msgstr ""
|
|
3668 |
"kantooruren van het bedrijf. Zorg ervoor om de planning van uw medewerkers "
|
3669 |
"te controleren als u onverwacht gedrag van de reserveringssysteem heeft."
|
3670 |
|
|
|
|
|
|
|
3671 |
msgid "duration of service"
|
3672 |
msgstr "duur van de dienstverlening"
|
3673 |
|
@@ -3822,13 +3854,19 @@ msgstr "Lengte vak als service tijdsduur"
|
|
3822 |
msgid ""
|
3823 |
"The time interval which is used as a step when building all time slots for "
|
3824 |
"the service at the Time step. The setting overrides global settings in "
|
3825 |
-
"Settings
|
3826 |
msgstr ""
|
3827 |
"De tijdsinterval die wordt gebruikt als een stap bij het bouwen van alle "
|
3828 |
"tijdvakken voor de service in de Tijd stap. De instelling gaat voor de "
|
3829 |
"algemene instellingen in de Instellingen Algemeen. Gebruik Standaard om "
|
3830 |
"algemene instellingen toe te passen."
|
3831 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3832 |
msgid "You must select at least one repeat option for recurring services."
|
3833 |
msgstr ""
|
3834 |
"Je moet ten minste één herhaaloptie selecteren voor terugkerende services."
|
@@ -3842,6 +3880,25 @@ msgid_plural "%d services"
|
|
3842 |
msgstr[0] "%d dienst"
|
3843 |
msgstr[1] "%d diensten"
|
3844 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3845 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3846 |
msgstr "Welkom bij Bookly en bedankt voor uw keuze!"
|
3847 |
|
@@ -4288,44 +4345,6 @@ msgstr "Bookly boekingsformulier toevoegen"
|
|
4288 |
msgid "Insert Appointment Booking Form"
|
4289 |
msgstr "Boekingsformulier Invoegen"
|
4290 |
|
4291 |
-
msgid ""
|
4292 |
-
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4293 |
-
msgstr ""
|
4294 |
-
"Kun je me alsjeblieft een GROTE gunst bewijzen en een 5-sterrenbeoordeling "
|
4295 |
-
"geven op WordPress?"
|
4296 |
-
|
4297 |
-
msgid "Just to help us spread the word and boost our motivation."
|
4298 |
-
msgstr ""
|
4299 |
-
"Gewoon om ons te helpen de boodschap te verspreiden en onze motivatie te "
|
4300 |
-
"vergroten."
|
4301 |
-
|
4302 |
-
msgid "Ok, you deserve it"
|
4303 |
-
msgstr "Ok, je verdient het"
|
4304 |
-
|
4305 |
-
msgid "Nope, maybe later"
|
4306 |
-
msgstr "Nee, misschien later"
|
4307 |
-
|
4308 |
-
msgid "Thank you for the {star} star rating!!!"
|
4309 |
-
msgstr "Bedankt voor de {star} sterren beoordeling!!!"
|
4310 |
-
|
4311 |
-
msgid "You asked to remind you"
|
4312 |
-
msgstr "Je hebt gevraagd je eraan te herinneren"
|
4313 |
-
|
4314 |
-
msgid "Congratulations!!!"
|
4315 |
-
msgstr "Gefeliciteerd!!!"
|
4316 |
-
|
4317 |
-
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4318 |
-
msgstr "Je hebt zojuist de <b>10e Verkoop</b> gedaan met de Bookly Plug-in!"
|
4319 |
-
|
4320 |
-
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4321 |
-
msgstr "Je hebt zojuist de <b>100e Verkoop</b> gedaan met de Bookly Plug-in!"
|
4322 |
-
|
4323 |
-
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4324 |
-
msgstr "Je hebt zojuist de <b>1000e Verkoop</b> gedaan met de Bookly Plug-in!"
|
4325 |
-
|
4326 |
-
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4327 |
-
msgstr "Je hebt zojuist de <b>10000e Verkoop</b> gedaan met de Bookly Plug-in!"
|
4328 |
-
|
4329 |
msgid "Send tax information"
|
4330 |
msgstr "Verzend belasting informatie"
|
4331 |
|
@@ -4699,6 +4718,101 @@ msgstr "Nieuwe e-mail melding"
|
|
4699 |
msgid "Edit email notification"
|
4700 |
msgstr "Bewerk e-mail melding"
|
4701 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4702 |
msgid "total quantity of appointments in cart"
|
4703 |
msgstr "aantal afspraken in het winkelmandje"
|
4704 |
|
@@ -4708,6 +4822,44 @@ msgstr "inlogformulier"
|
|
4708 |
msgid "total price of booking"
|
4709 |
msgstr "totale prijs van de reservering"
|
4710 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4711 |
msgid ""
|
4712 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4713 |
" You can opt out of sharing the information in Settings > General."
|
@@ -4723,12 +4875,12 @@ msgstr ""
|
|
4723 |
"Laat de plug-in anoniem gebruiksinformatie verzamelen om het Bookly team te "
|
4724 |
"helpen het product te verbeteren."
|
4725 |
|
4726 |
-
msgid "Disagree"
|
4727 |
-
msgstr "Oneens"
|
4728 |
-
|
4729 |
msgid "Agree"
|
4730 |
msgstr "Eens"
|
4731 |
|
|
|
|
|
|
|
4732 |
#, php-format
|
4733 |
msgid ""
|
4734 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
@@ -4744,6 +4896,29 @@ msgstr ""
|
|
4744 |
"over de grote Bookly update, lees dan ons <a href=\"%s\" target=\"_blank\">"
|
4745 |
"blogbericht</a>."
|
4746 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4747 |
msgid "This function is not available in the Bookly."
|
4748 |
msgstr "Deze functie is niet beschikbaar in Bookly."
|
4749 |
|
@@ -6090,7 +6265,7 @@ msgstr "Maak online vergaderingen"
|
|
6090 |
msgid ""
|
6091 |
"If this setting is enabled then online meetings will be created for new "
|
6092 |
"appointments with the selected online meeting provider. Make sure that the "
|
6093 |
-
"provider is configured properly in Settings
|
6094 |
"Meetings</a>"
|
6095 |
msgstr ""
|
6096 |
"Als deze instelling is ingeschakeld, worden er online vergaderingen gemaakt "
|
@@ -6133,6 +6308,18 @@ msgstr ""
|
|
6133 |
"gehouden bij het bereken van de bezetting van leveranciers. 0 betekent de "
|
6134 |
"dag van boeking."
|
6135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6136 |
msgid "Limit appointments per customer"
|
6137 |
msgstr "Limiet afspraken per klant"
|
6138 |
|
@@ -6166,7 +6353,7 @@ msgstr "per jaar"
|
|
6166 |
msgid ""
|
6167 |
"This setting allows you to limit the number of appointments that can be "
|
6168 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6169 |
-
"period or with the beginning of the next calendar period
|
6170 |
"month, etc."
|
6171 |
msgstr ""
|
6172 |
"Met deze instelling kunt u het aantal afspraken beperken dat door een klant "
|
@@ -6836,9 +7023,6 @@ msgstr "Limiet voor klanten"
|
|
6836 |
msgid "Create another coupon"
|
6837 |
msgstr "Maak nog een kortingsbon"
|
6838 |
|
6839 |
-
msgid "Duplicate"
|
6840 |
-
msgstr "Dupliceer"
|
6841 |
-
|
6842 |
msgid "No coupons found."
|
6843 |
msgstr "Geen kortingsbonnen gevonden."
|
6844 |
|
@@ -6857,6 +7041,9 @@ msgstr "Min afspraken moet groter zijn dan nul."
|
|
6857 |
msgid "Max appointments should be greater than zero."
|
6858 |
msgstr "Max afspraken moet groter zijn dan nul."
|
6859 |
|
|
|
|
|
|
|
6860 |
msgid "Please enter a non empty mask."
|
6861 |
msgstr "Voer een niet leeg masker in."
|
6862 |
|
@@ -7568,5 +7755,18 @@ msgstr ""
|
|
7568 |
"gekopieerd naar Bookly afspraken. Indien uitgeschakeld zal een standaard "
|
7569 |
"titel \"Google Kalender evenement\" worden gebruikt."
|
7570 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7571 |
msgid "Synchronize with Google Calendar"
|
7572 |
msgstr "Synchroniseer met Google Kalender"
|
8 |
"Language: nl_NL\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-06-03 19:02+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-06-03 19:22+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Dutch\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
1467 |
msgid "Add Staff Days Off"
|
1468 |
msgstr "Voeg personeel vrije dag toe"
|
1469 |
|
1470 |
+
msgid ""
|
1471 |
+
"Hide this field if you want to hide the list of WP users from your staff "
|
1472 |
+
"members."
|
1473 |
+
msgstr ""
|
1474 |
+
"Verberg dit veld als u de lijst met WP-gebruikers voor uw medewerkers wilt "
|
1475 |
+
"verbergen."
|
1476 |
+
|
1477 |
msgid "Hide visibility field"
|
1478 |
msgstr "Verberg zichtbaarheidsveld"
|
1479 |
|
1528 |
msgid "Capacity"
|
1529 |
msgstr "Capaciteit"
|
1530 |
|
1531 |
+
msgid "Hide WordPress users"
|
1532 |
+
msgstr "Verberg Wordpress gebruikers"
|
1533 |
+
|
1534 |
msgid "Special hours"
|
1535 |
msgstr "Speciale uren"
|
1536 |
|
2426 |
"boeking uit te voeren."
|
2427 |
|
2428 |
msgid "Your payment has been accepted for processing."
|
2429 |
+
msgstr "Uw betaling is geaccepteerd voor verwerking."
|
2430 |
|
2431 |
msgid ""
|
2432 |
"You selected a booking for {service_name} by {staff_name} at "
|
2791 |
msgid "Price with custom Sender ID"
|
2792 |
msgstr "Prijs met aangepaste Afzender ID"
|
2793 |
|
|
|
|
|
|
|
2794 |
msgid "Requested ID"
|
2795 |
msgstr "Aangevraagde ID"
|
2796 |
|
3079 |
msgid "Pending sender ID already exists."
|
3080 |
msgstr "In afwachting van de afzender ID bestaat al."
|
3081 |
|
3082 |
+
msgid "Recharge not available."
|
3083 |
+
msgstr "Herladen niet beschikbaar."
|
3084 |
+
|
3085 |
msgid "Recovery code expired."
|
3086 |
msgstr "Herstelcode verlopen."
|
3087 |
|
3157 |
msgid "Archived"
|
3158 |
msgstr "Gearchiveerd"
|
3159 |
|
3160 |
+
msgid "Setup your country"
|
3161 |
+
msgstr "Stel uw land in"
|
|
|
|
|
|
|
3162 |
|
3163 |
+
msgid ""
|
3164 |
+
"Please spend a minute to setup your country. This will help us provide you "
|
3165 |
+
"with appropriate payment methods when replenishing your account."
|
3166 |
+
msgstr ""
|
3167 |
+
"Neem even de tijd om uw land in te stellen. Dit helpt ons om u de juiste "
|
3168 |
+
"betalingsmethoden te bieden bij het aanvullen van uw account."
|
|
|
|
|
|
|
|
|
|
|
3169 |
|
3170 |
+
msgid ""
|
3171 |
+
"The country will also be displayed in the invoice on a separate line below "
|
3172 |
+
"the company address. Make sure the other fields in the invoice do not "
|
3173 |
+
"contain the name of the country."
|
3174 |
+
msgstr ""
|
3175 |
+
"Het land wordt ook weergegeven op de factuur op een aparte regel onder het "
|
3176 |
+
"bedrijfsadres. Zorg ervoor dat de andere velden op de factuur niet de naam "
|
3177 |
+
"van het land bevatten."
|
3178 |
|
3179 |
+
msgid ""
|
3180 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3181 |
+
"is used to provide you with the payment methods available in that country"
|
3182 |
+
msgstr ""
|
3183 |
+
"Uw land is de locatie waar u de SMS-diensten van Bookly gebruikt en wordt "
|
3184 |
+
"gebruikt om u te voorzien van de betalingsmethoden die in dat land "
|
3185 |
+
"beschikbaar zijn"
|
3186 |
|
3187 |
+
msgid "Set country"
|
3188 |
+
msgstr "Stel land in"
|
3189 |
|
3190 |
+
msgid "I'll do it later"
|
3191 |
+
msgstr "Ik doe het later"
|
3192 |
|
3193 |
msgid "SMS Notifications"
|
3194 |
msgstr "SMS-meldingen"
|
3195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3196 |
msgid "Approved at"
|
3197 |
msgstr "Goedgekeurd op"
|
3198 |
|
3199 |
+
msgid "Change the sender's name to your phone number or any other name"
|
3200 |
+
msgstr "Wijzig de naam van de afzender in uw telefoonnummer of een andere naam"
|
3201 |
+
|
3202 |
+
msgid "Click this button to access your Bookly SMS account settings"
|
3203 |
+
msgstr ""
|
3204 |
+
"Klik op deze knop om toegang te krijgen tot uw Bookly SMS-accountinstellingen"
|
3205 |
+
|
3206 |
msgid "Log out"
|
3207 |
msgstr "Uitloggen"
|
3208 |
|
3209 |
msgid "Notifications"
|
3210 |
msgstr "Meldingen"
|
3211 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3212 |
msgid "Purchases"
|
3213 |
msgstr "Aankopen"
|
3214 |
|
3304 |
msgid "Repeat new password"
|
3305 |
msgstr "Herhaal nieuw wachtwoord"
|
3306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3307 |
msgid ""
|
3308 |
"If you do not see your country in the list please contact us at <a "
|
3309 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3372 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3373 |
msgstr "Kan alleen letters of cijfers bevatten (maximaal 11 tekens)."
|
3374 |
|
3375 |
+
msgid "Account settings"
|
3376 |
+
msgstr "Accountinstellingen"
|
3377 |
+
|
3378 |
+
msgid "Auto-Recharge"
|
3379 |
+
msgstr "Auto-Opladen"
|
3380 |
+
|
3381 |
+
msgid "Invoice"
|
3382 |
+
msgstr "Factuur"
|
3383 |
+
|
3384 |
+
msgid "Change password"
|
3385 |
+
msgstr "Verander wachtwoord"
|
3386 |
+
|
3387 |
+
#, php-format
|
3388 |
+
msgid "We will only charge you when your balance falls bellow %s"
|
3389 |
+
msgstr "We brengen alleen kosten in rekening als uw saldo onder %s daalt"
|
3390 |
+
|
3391 |
+
msgid "Company name"
|
3392 |
+
msgstr "Bedrijfsnaam"
|
3393 |
+
|
3394 |
+
msgid "Company address"
|
3395 |
+
msgstr "Adres bedrijf"
|
3396 |
+
|
3397 |
+
msgid "Company address line 2"
|
3398 |
+
msgstr "Adres bedrijf regel 2"
|
3399 |
+
|
3400 |
+
msgid "You can change the country <a href=\"#\">here</a>"
|
3401 |
+
msgstr "U kunt het land <a href=\"#\">hier</a> wijzigen"
|
3402 |
+
|
3403 |
+
msgid "Company number"
|
3404 |
+
msgstr "Bedrijfsnummer"
|
3405 |
+
|
3406 |
+
msgid "VAT / Tax number"
|
3407 |
+
msgstr "BTW-nummer"
|
3408 |
+
|
3409 |
+
msgid "Additional text to include in invoice"
|
3410 |
+
msgstr "Extra tekst voor op de factuur"
|
3411 |
+
|
3412 |
+
#, php-format
|
3413 |
+
msgid "The invoice will be sent to <a href=\"mailto:%1$s\">%1$s</a>"
|
3414 |
+
msgstr "De factuur zal worden verzonden naar <a href=\"mailto:%1$s\">%1$s</a>"
|
3415 |
+
|
3416 |
+
msgid "Copy invoice to another email(s)"
|
3417 |
+
msgstr "Kopieer factuur naar andere e-mail(s)"
|
3418 |
|
3419 |
+
msgid "Enter one or more email addresses separated by commas."
|
3420 |
+
msgstr "Vul een of mesrdere e-mailadressen in, gescheiden door komma's."
|
3421 |
+
|
3422 |
+
msgid "Save invoice settings"
|
3423 |
+
msgstr "Bewaar factuur instellingen"
|
3424 |
|
3425 |
+
msgid "Send email notification to administrators at low balance"
|
3426 |
+
msgstr "Stuur e-mail notificatie aan beheerders bij lage balans"
|
3427 |
|
3428 |
+
msgid "Send weekly summary to administrators"
|
3429 |
+
msgstr "Stuur wekelijkse samenvatting naar beheerders"
|
3430 |
+
|
3431 |
+
msgid ""
|
3432 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3433 |
+
"is used to provide you with the payment methods available in that country."
|
3434 |
+
msgstr ""
|
3435 |
+
"Uw land is de locatie waar u de SMS-diensten van Bookly gebruikt en wordt "
|
3436 |
+
"gebruikt om u te voorzien van de betalingsmethoden die in dat land "
|
3437 |
+
"beschikbaar zijn."
|
3438 |
+
|
3439 |
+
msgid "Update country"
|
3440 |
+
msgstr "Land bijwerken"
|
3441 |
+
|
3442 |
+
msgid "Old password"
|
3443 |
+
msgstr "Oude wachtwoord"
|
3444 |
+
|
3445 |
+
msgid "Please accept terms and conditions."
|
3446 |
+
msgstr "Accepteer alstublieft onze algemene voorwaarden."
|
3447 |
|
3448 |
+
msgid "Passwords don't match"
|
3449 |
+
msgstr "Wachtwoorden komen niet overeen"
|
3450 |
|
3451 |
msgid "Last month"
|
3452 |
msgstr "Afgelopen maand"
|
3460 |
msgid "No records for selected period."
|
3461 |
msgstr "Geen records voor de geselecteerde periode."
|
3462 |
|
|
|
|
|
|
|
3463 |
msgid ""
|
3464 |
+
"To generate an invoice you should fill in company information in Bookly SMS "
|
3465 |
+
"Account settings -> Invoice"
|
3466 |
msgstr ""
|
3467 |
+
"Om een factuur te genereren, moet u bedrijfsinformatie invullen in de "
|
3468 |
+
"instellingen van Bookly SMS Accountinstellingen -> Factuur"
|
3469 |
|
3470 |
msgid "enable"
|
3471 |
msgstr "inschakelen"
|
3479 |
msgid "Service is temporarily unavailable. Please try again later."
|
3480 |
msgstr "Service is tijdelijk niet beschikbaar. Probeer het later nogmaals."
|
3481 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3482 |
msgid "SMS has been sent successfully."
|
3483 |
msgstr "SMS is met succes verstuurd."
|
3484 |
|
3697 |
"kantooruren van het bedrijf. Zorg ervoor om de planning van uw medewerkers "
|
3698 |
"te controleren als u onverwacht gedrag van de reserveringssysteem heeft."
|
3699 |
|
3700 |
+
msgid "internal note"
|
3701 |
+
msgstr "interne notitie"
|
3702 |
+
|
3703 |
msgid "duration of service"
|
3704 |
msgstr "duur van de dienstverlening"
|
3705 |
|
3854 |
msgid ""
|
3855 |
"The time interval which is used as a step when building all time slots for "
|
3856 |
"the service at the Time step. The setting overrides global settings in "
|
3857 |
+
"Settings > General. Use Default to apply global settings."
|
3858 |
msgstr ""
|
3859 |
"De tijdsinterval die wordt gebruikt als een stap bij het bouwen van alle "
|
3860 |
"tijdvakken voor de service in de Tijd stap. De instelling gaat voor de "
|
3861 |
"algemene instellingen in de Instellingen Algemeen. Gebruik Standaard om "
|
3862 |
"algemene instellingen toe te passen."
|
3863 |
|
3864 |
+
msgid "The service will be created with the visibility of Private."
|
3865 |
+
msgstr "De service wordt gemaakt met de zichtbaarheid van Privé."
|
3866 |
+
|
3867 |
+
msgid "Duplicate"
|
3868 |
+
msgstr "Dupliceer"
|
3869 |
+
|
3870 |
msgid "You must select at least one repeat option for recurring services."
|
3871 |
msgstr ""
|
3872 |
"Je moet ten minste één herhaaloptie selecteren voor terugkerende services."
|
3880 |
msgstr[0] "%d dienst"
|
3881 |
msgstr[1] "%d diensten"
|
3882 |
|
3883 |
+
#, php-format
|
3884 |
+
msgid "Copy of %s"
|
3885 |
+
msgstr "Kopie van %s"
|
3886 |
+
|
3887 |
+
msgid "Auto-refresh Calendar"
|
3888 |
+
msgstr "Automatisch verversen Kalender"
|
3889 |
+
|
3890 |
+
msgid "Every 1 minute"
|
3891 |
+
msgstr "Iedere 1 minuut"
|
3892 |
+
|
3893 |
+
msgid "Every 5 minutes"
|
3894 |
+
msgstr "Iedere 5 minuten"
|
3895 |
+
|
3896 |
+
msgid "Every 15 minutes"
|
3897 |
+
msgstr "Iedere 15 minuten"
|
3898 |
+
|
3899 |
+
msgid "Disable"
|
3900 |
+
msgstr "Uitschakelen"
|
3901 |
+
|
3902 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3903 |
msgstr "Welkom bij Bookly en bedankt voor uw keuze!"
|
3904 |
|
4345 |
msgid "Insert Appointment Booking Form"
|
4346 |
msgstr "Boekingsformulier Invoegen"
|
4347 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4348 |
msgid "Send tax information"
|
4349 |
msgstr "Verzend belasting informatie"
|
4350 |
|
4718 |
msgid "Edit email notification"
|
4719 |
msgstr "Bewerk e-mail melding"
|
4720 |
|
4721 |
+
msgid "Thank you"
|
4722 |
+
msgstr "Bedankt"
|
4723 |
+
|
4724 |
+
msgid "Your payment has been accepted for processing"
|
4725 |
+
msgstr "Uw betaling wordt verwerkt"
|
4726 |
+
|
4727 |
+
msgid "Back to the list of amounts"
|
4728 |
+
msgstr "Terug naar de lijst van bedragen"
|
4729 |
+
|
4730 |
+
msgid "Please select a payment method"
|
4731 |
+
msgstr "Selecteer een betalingsmethode"
|
4732 |
+
|
4733 |
+
msgid "Credit card"
|
4734 |
+
msgstr "Creditkaart"
|
4735 |
+
|
4736 |
+
msgid "Account recharge"
|
4737 |
+
msgstr "Account opnieuw opladen"
|
4738 |
+
|
4739 |
+
msgid "Oops"
|
4740 |
+
msgstr "Oeps"
|
4741 |
+
|
4742 |
+
msgid "Your payment has been cancelled"
|
4743 |
+
msgstr "Uw betaling is geannuleerd"
|
4744 |
+
|
4745 |
+
msgid "Please select an amount and recharge your account"
|
4746 |
+
msgstr "Selecteer een bedrag en herlaad uw account"
|
4747 |
+
|
4748 |
+
msgid "Pay using"
|
4749 |
+
msgstr "Betaal met"
|
4750 |
+
|
4751 |
+
msgid "Continue with"
|
4752 |
+
msgstr "Doorgaan met"
|
4753 |
+
|
4754 |
+
msgid "Auto-Recharge has been enabled"
|
4755 |
+
msgstr "Automatisch herladen is ingeschakeld"
|
4756 |
+
|
4757 |
+
msgid "Auto-Recharge has been cancelled"
|
4758 |
+
msgstr "Automatisch herladen is geannuleerd"
|
4759 |
+
|
4760 |
+
msgid "current<br/>balance"
|
4761 |
+
msgstr "huidigsaldo"
|
4762 |
+
|
4763 |
+
msgid "Recharge"
|
4764 |
+
msgstr "Herladen"
|
4765 |
+
|
4766 |
+
msgid "users choice"
|
4767 |
+
msgstr "gebruikerskeuze"
|
4768 |
+
|
4769 |
+
msgid "Buy now"
|
4770 |
+
msgstr "Nu kopen"
|
4771 |
+
|
4772 |
+
msgid "Best offer"
|
4773 |
+
msgstr "Beste aanbieding"
|
4774 |
+
|
4775 |
+
msgid "Users choice"
|
4776 |
+
msgstr "Gebruikerskeuze"
|
4777 |
+
|
4778 |
+
msgid "Other options"
|
4779 |
+
msgstr "Andere opties"
|
4780 |
+
|
4781 |
+
msgid "best offer"
|
4782 |
+
msgstr "beste aanbieding"
|
4783 |
+
|
4784 |
+
msgid "Select amount of Auto-Recharge"
|
4785 |
+
msgstr "Selecteer bedrag voor Automatisch herladen"
|
4786 |
+
|
4787 |
+
msgid "Enable"
|
4788 |
+
msgstr "Inschakelen"
|
4789 |
+
|
4790 |
+
msgid "Disable Auto-Recharge"
|
4791 |
+
msgstr "Uitschakelen Auto-Opladen"
|
4792 |
+
|
4793 |
+
msgid "Are you sure you want to disable Auto-Recharge?"
|
4794 |
+
msgstr "Weet u zeker dat u Automatisch herladen wilt uitschakelen?"
|
4795 |
+
|
4796 |
+
msgid "Turn on Auto-Recharge and get even more"
|
4797 |
+
msgstr "Schakel Automatisch herladen in en ontvang zelfs nog meer"
|
4798 |
+
|
4799 |
+
msgid "Auto-Recharge disabled"
|
4800 |
+
msgstr "Auto-Opladen uitgeschakeld"
|
4801 |
+
|
4802 |
+
#, php-format
|
4803 |
+
msgid "Can't disable Auto-Recharge, please contact us at %s"
|
4804 |
+
msgstr ""
|
4805 |
+
"Kan Automatisch herladen niet uitschakelen, neem contact met ons op via %s"
|
4806 |
+
|
4807 |
+
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
4808 |
+
msgstr "Auto-Opladen is mislukt, vult uw saldo direct aan."
|
4809 |
+
|
4810 |
+
msgid "Card payment has failed, please use another payment option"
|
4811 |
+
msgstr "Kaart betaling is mislukt, gebruik een andere betalingsmethode"
|
4812 |
+
|
4813 |
+
msgid "Payment has failed, please use another payment option"
|
4814 |
+
msgstr "Betaling is mislukt, gebruik een andere betalingsmethode"
|
4815 |
+
|
4816 |
msgid "total quantity of appointments in cart"
|
4817 |
msgstr "aantal afspraken in het winkelmandje"
|
4818 |
|
4822 |
msgid "total price of booking"
|
4823 |
msgstr "totale prijs van de reservering"
|
4824 |
|
4825 |
+
msgid ""
|
4826 |
+
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4827 |
+
msgstr ""
|
4828 |
+
"Kun je me alsjeblieft een GROTE gunst bewijzen en een 5-sterrenbeoordeling "
|
4829 |
+
"geven op WordPress?"
|
4830 |
+
|
4831 |
+
msgid "Just to help us spread the word and boost our motivation."
|
4832 |
+
msgstr ""
|
4833 |
+
"Gewoon om ons te helpen de boodschap te verspreiden en onze motivatie te "
|
4834 |
+
"vergroten."
|
4835 |
+
|
4836 |
+
msgid "Ok, you deserve it"
|
4837 |
+
msgstr "Ok, je verdient het"
|
4838 |
+
|
4839 |
+
msgid "Nope, maybe later"
|
4840 |
+
msgstr "Nee, misschien later"
|
4841 |
+
|
4842 |
+
msgid "Thank you for the {star} star rating!!!"
|
4843 |
+
msgstr "Bedankt voor de {star} sterren beoordeling!!!"
|
4844 |
+
|
4845 |
+
msgid "You asked to remind you"
|
4846 |
+
msgstr "Je hebt gevraagd je eraan te herinneren"
|
4847 |
+
|
4848 |
+
msgid "Congratulations!!!"
|
4849 |
+
msgstr "Gefeliciteerd!!!"
|
4850 |
+
|
4851 |
+
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4852 |
+
msgstr "Je hebt zojuist de <b>10e Verkoop</b> gedaan met de Bookly Plug-in!"
|
4853 |
+
|
4854 |
+
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4855 |
+
msgstr "Je hebt zojuist de <b>100e Verkoop</b> gedaan met de Bookly Plug-in!"
|
4856 |
+
|
4857 |
+
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4858 |
+
msgstr "Je hebt zojuist de <b>1000e Verkoop</b> gedaan met de Bookly Plug-in!"
|
4859 |
+
|
4860 |
+
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4861 |
+
msgstr "Je hebt zojuist de <b>10000e Verkoop</b> gedaan met de Bookly Plug-in!"
|
4862 |
+
|
4863 |
msgid ""
|
4864 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4865 |
" You can opt out of sharing the information in Settings > General."
|
4875 |
"Laat de plug-in anoniem gebruiksinformatie verzamelen om het Bookly team te "
|
4876 |
"helpen het product te verbeteren."
|
4877 |
|
|
|
|
|
|
|
4878 |
msgid "Agree"
|
4879 |
msgstr "Eens"
|
4880 |
|
4881 |
+
msgid "Disagree"
|
4882 |
+
msgstr "Oneens"
|
4883 |
+
|
4884 |
#, php-format
|
4885 |
msgid ""
|
4886 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
4896 |
"over de grote Bookly update, lees dan ons <a href=\"%s\" target=\"_blank\">"
|
4897 |
"blogbericht</a>."
|
4898 |
|
4899 |
+
#, php-format
|
4900 |
+
msgid "Recharge your account and get up to %s extra."
|
4901 |
+
msgstr "Herlaad uw account en ontvang tot %s extra."
|
4902 |
+
|
4903 |
+
msgid ""
|
4904 |
+
"Send SMS notifications to your customers, increasing their loyalty and "
|
4905 |
+
"involvement."
|
4906 |
+
msgstr ""
|
4907 |
+
"Stuur sms-meldingen naar uw klanten en vergroot hun loyaliteit en "
|
4908 |
+
"betrokkenheid."
|
4909 |
+
|
4910 |
+
#, php-format
|
4911 |
+
msgid "Enable Auto-Recharge and get up to %s extra."
|
4912 |
+
msgstr "Schakel Automatisch herladen in en ontvang tot %s extra."
|
4913 |
+
|
4914 |
+
msgid ""
|
4915 |
+
"Let your clients receive notifications on time - don't let the service stop."
|
4916 |
+
msgstr ""
|
4917 |
+
"Laat uw klanten op tijd meldingen ontvangen - laat de service niet stoppen."
|
4918 |
+
|
4919 |
+
msgid "Remind me later"
|
4920 |
+
msgstr "Herinner me later"
|
4921 |
+
|
4922 |
msgid "This function is not available in the Bookly."
|
4923 |
msgstr "Deze functie is niet beschikbaar in Bookly."
|
4924 |
|
6265 |
msgid ""
|
6266 |
"If this setting is enabled then online meetings will be created for new "
|
6267 |
"appointments with the selected online meeting provider. Make sure that the "
|
6268 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6269 |
"Meetings</a>"
|
6270 |
msgstr ""
|
6271 |
"Als deze instelling is ingeschakeld, worden er online vergaderingen gemaakt "
|
6308 |
"gehouden bij het bereken van de bezetting van leveranciers. 0 betekent de "
|
6309 |
"dag van boeking."
|
6310 |
|
6311 |
+
msgid "Pick random staff member in case of uncertainty"
|
6312 |
+
msgstr "Kies een willekeurige medewerker in geval van onzekerheid"
|
6313 |
+
|
6314 |
+
msgid ""
|
6315 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6316 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6317 |
+
"unknown."
|
6318 |
+
msgstr ""
|
6319 |
+
"Schakel deze optie in om een willekeurige medewerker te kiezen als beide "
|
6320 |
+
"voldoen aan de criteria die zijn gekozen in \"Provider voorkeur voor ELKE\". "
|
6321 |
+
"Anders is de selectievolgorde onbekend."
|
6322 |
+
|
6323 |
msgid "Limit appointments per customer"
|
6324 |
msgstr "Limiet afspraken per klant"
|
6325 |
|
6353 |
msgid ""
|
6354 |
"This setting allows you to limit the number of appointments that can be "
|
6355 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6356 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6357 |
"month, etc."
|
6358 |
msgstr ""
|
6359 |
"Met deze instelling kunt u het aantal afspraken beperken dat door een klant "
|
7023 |
msgid "Create another coupon"
|
7024 |
msgstr "Maak nog een kortingsbon"
|
7025 |
|
|
|
|
|
|
|
7026 |
msgid "No coupons found."
|
7027 |
msgstr "Geen kortingsbonnen gevonden."
|
7028 |
|
7041 |
msgid "Max appointments should be greater than zero."
|
7042 |
msgstr "Max afspraken moet groter zijn dan nul."
|
7043 |
|
7044 |
+
msgid "The code already exists"
|
7045 |
+
msgstr "De code bestaat reeds"
|
7046 |
+
|
7047 |
msgid "Please enter a non empty mask."
|
7048 |
msgstr "Voer een niet leeg masker in."
|
7049 |
|
7755 |
"gekopieerd naar Bookly afspraken. Indien uitgeschakeld zal een standaard "
|
7756 |
"titel \"Google Kalender evenement\" worden gebruikt."
|
7757 |
|
7758 |
+
msgid "Overwrite the description of the original Google Calendar events"
|
7759 |
+
msgstr ""
|
7760 |
+
"Overschrijf de beschrijving van de originele Google Calendar-evenementen"
|
7761 |
+
|
7762 |
+
msgid ""
|
7763 |
+
"If enabled then the description of the Google Calendar events originally "
|
7764 |
+
"copied to Bookly will be overwritten by the Bookly appointment data after "
|
7765 |
+
"they have been edited in Bookly Calendar"
|
7766 |
+
msgstr ""
|
7767 |
+
"Indien ingeschakeld, wordt de beschrijving van de Google Calendar-"
|
7768 |
+
"evenementen die oorspronkelijk naar Bookly zijn gekopieerd, overschreven "
|
7769 |
+
"door de afspraakgegevens van Bookly nadat ze zijn bewerkt in Bookly Calendar"
|
7770 |
+
|
7771 |
msgid "Synchronize with Google Calendar"
|
7772 |
msgstr "Synchroniseer met Google Kalender"
|
languages/bookly-pt_BR.mo
CHANGED
Binary file
|
languages/bookly-pt_BR.po
CHANGED
@@ -8,8 +8,8 @@ msgstr ""
|
|
8 |
"Language: pt_BR\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Portuguese (Brazil)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1471,6 +1471,11 @@ msgstr "Adicionar horário do funcionário"
|
|
1471 |
msgid "Add Staff Days Off"
|
1472 |
msgstr "Adicionar dias de folga do funcionário"
|
1473 |
|
|
|
|
|
|
|
|
|
|
|
1474 |
msgid "Hide visibility field"
|
1475 |
msgstr "Ocultar campo de visibilidade"
|
1476 |
|
@@ -1519,6 +1524,9 @@ msgstr "Bloco personalizado para exibição dos dias de folga do funcionário"
|
|
1519 |
msgid "Capacity"
|
1520 |
msgstr "Capacidade"
|
1521 |
|
|
|
|
|
|
|
1522 |
msgid "Special hours"
|
1523 |
msgstr "Horas especiais"
|
1524 |
|
@@ -2416,7 +2424,7 @@ msgstr ""
|
|
2416 |
"contato conosco para fazer uma reserva."
|
2417 |
|
2418 |
msgid "Your payment has been accepted for processing."
|
2419 |
-
msgstr "
|
2420 |
|
2421 |
msgid ""
|
2422 |
"You selected a booking for {service_name} by {staff_name} at "
|
@@ -2789,9 +2797,6 @@ msgstr "Preço regular"
|
|
2789 |
msgid "Price with custom Sender ID"
|
2790 |
msgstr "Preço com ID do remetente personalizada"
|
2791 |
|
2792 |
-
msgid "Order"
|
2793 |
-
msgstr "Pedido"
|
2794 |
-
|
2795 |
msgid "Requested ID"
|
2796 |
msgstr "ID solicitada"
|
2797 |
|
@@ -3080,6 +3085,9 @@ msgstr "E-mail inválido."
|
|
3080 |
msgid "Pending sender ID already exists."
|
3081 |
msgstr "ID do remetente pendente já existe"
|
3082 |
|
|
|
|
|
|
|
3083 |
msgid "Recovery code expired."
|
3084 |
msgstr "Código de recuperação expirado."
|
3085 |
|
@@ -3155,66 +3163,49 @@ msgstr "Anexos"
|
|
3155 |
msgid "Archived"
|
3156 |
msgstr "Arquivado"
|
3157 |
|
3158 |
-
msgid "
|
3159 |
-
msgstr "
|
3160 |
-
|
3161 |
-
msgid "Company name"
|
3162 |
-
msgstr "Nome da empresa"
|
3163 |
-
|
3164 |
-
msgid "Note: invoice will be sent to your PayPal email address"
|
3165 |
-
msgstr "Nota: a fatura será enviada ao seu endereço e-mail PayPal"
|
3166 |
-
|
3167 |
-
msgid "Company address"
|
3168 |
-
msgstr "Endereço da empresa"
|
3169 |
-
|
3170 |
-
msgid "Copy invoice to another email(s)"
|
3171 |
-
msgstr "Copiar fatura paro outro(s) e-mail(s)."
|
3172 |
|
3173 |
-
msgid "
|
3174 |
-
|
|
|
|
|
3175 |
|
3176 |
-
msgid "
|
3177 |
-
|
|
|
|
|
|
|
3178 |
|
3179 |
-
msgid "
|
3180 |
-
|
|
|
|
|
3181 |
|
3182 |
-
msgid "
|
3183 |
-
msgstr "
|
3184 |
|
3185 |
-
msgid "
|
3186 |
-
msgstr "
|
3187 |
|
3188 |
msgid "SMS Notifications"
|
3189 |
msgstr "Notificações por SMS"
|
3190 |
|
3191 |
-
msgid "Your balance"
|
3192 |
-
msgstr "Seu saldo"
|
3193 |
-
|
3194 |
-
msgid "Send email notification to administrators at low balance"
|
3195 |
-
msgstr "Enviar notificação por email para os administradores com saldo baixo"
|
3196 |
-
|
3197 |
-
msgid "Send weekly summary to administrators"
|
3198 |
-
msgstr "Enviar resumo semanal para os administradores"
|
3199 |
-
|
3200 |
-
msgid "Change"
|
3201 |
-
msgstr "Alterar"
|
3202 |
-
|
3203 |
msgid "Approved at"
|
3204 |
msgstr "Aprovado em"
|
3205 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3206 |
msgid "Log out"
|
3207 |
msgstr "Sair"
|
3208 |
|
3209 |
msgid "Notifications"
|
3210 |
msgstr "Notificações"
|
3211 |
|
3212 |
-
msgid "Add money"
|
3213 |
-
msgstr "Adicionar dinheiro"
|
3214 |
-
|
3215 |
-
msgid "Auto-Recharge"
|
3216 |
-
msgstr "Auto-Recharge"
|
3217 |
-
|
3218 |
msgid "Purchases"
|
3219 |
msgstr "Compras"
|
3220 |
|
@@ -3311,23 +3302,6 @@ msgstr "Digite o código recebido no e-mail"
|
|
3311 |
msgid "Repeat new password"
|
3312 |
msgstr "Repita a nova senha"
|
3313 |
|
3314 |
-
msgid "Change password"
|
3315 |
-
msgstr "Alterar a senha"
|
3316 |
-
|
3317 |
-
msgid "Old password"
|
3318 |
-
msgstr "Senha antiga"
|
3319 |
-
|
3320 |
-
msgid ""
|
3321 |
-
"We will only charge your PayPal account when your balance falls below $10."
|
3322 |
-
msgstr ""
|
3323 |
-
"Só debitamos de sua conta PayPal quando seu saldo estiver abaixo de $10."
|
3324 |
-
|
3325 |
-
msgid "Enable Auto-Recharge"
|
3326 |
-
msgstr "Ativar Auto-Recharge"
|
3327 |
-
|
3328 |
-
msgid "Disable Auto-Recharge"
|
3329 |
-
msgstr "Desativar Auto-Recharge"
|
3330 |
-
|
3331 |
msgid ""
|
3332 |
"If you do not see your country in the list please contact us at <a "
|
3333 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3397,20 +3371,78 @@ msgstr "Cancelar solicitação"
|
|
3397 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3398 |
msgstr "Só pode conter letras ou dígitos (até 11 caracteres)."
|
3399 |
|
3400 |
-
msgid "
|
3401 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3402 |
|
3403 |
-
msgid "
|
3404 |
-
msgstr "
|
3405 |
|
3406 |
-
msgid "
|
3407 |
-
msgstr "
|
3408 |
|
3409 |
-
msgid "
|
3410 |
-
msgstr "
|
3411 |
|
3412 |
-
msgid "
|
3413 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3414 |
|
3415 |
msgid "Last month"
|
3416 |
msgstr "Último mês"
|
@@ -3424,15 +3456,10 @@ msgstr "ID do remetente foi redefinido para o padrão."
|
|
3424 |
msgid "No records for selected period."
|
3425 |
msgstr "Não há registros para o período selecionado."
|
3426 |
|
3427 |
-
msgid "Invoice"
|
3428 |
-
msgstr "Fatura"
|
3429 |
-
|
3430 |
msgid ""
|
3431 |
-
"To generate an invoice you should fill in company information in Bookly
|
3432 |
-
"
|
3433 |
msgstr ""
|
3434 |
-
"Para gerar uma fatura, você deve preencher as informações da empresa em "
|
3435 |
-
"Bookly > Notificações por SMS> Enviar fatura."
|
3436 |
|
3437 |
msgid "enable"
|
3438 |
msgstr "ativar"
|
@@ -3448,19 +3475,6 @@ msgstr ""
|
|
3448 |
"O serviço está temporariamente indisponível. Por favor, tente novamente mais "
|
3449 |
"tarde."
|
3450 |
|
3451 |
-
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3452 |
-
msgstr "O Auto-Recharge falhou. Por favor, recarregue o seu saldo diretamente."
|
3453 |
-
|
3454 |
-
msgid "Auto-Recharge disabled"
|
3455 |
-
msgstr "Auto-Recharge desativado"
|
3456 |
-
|
3457 |
-
msgid ""
|
3458 |
-
"Error. Can't disable Auto-Recharge, you can perform this action in your "
|
3459 |
-
"PayPal account."
|
3460 |
-
msgstr ""
|
3461 |
-
"Erro. Não é possível desativar o Auto-Recharge. Você pode executar esta ação "
|
3462 |
-
"em sua conta PayPal."
|
3463 |
-
|
3464 |
msgid "SMS has been sent successfully."
|
3465 |
msgstr "SMS foi enviada com sucesso."
|
3466 |
|
@@ -3678,6 +3692,9 @@ msgstr ""
|
|
3678 |
"o horário dos seus funcionários se você notar algum comportamento inesperado "
|
3679 |
"do sistema de reserva."
|
3680 |
|
|
|
|
|
|
|
3681 |
msgid "duration of service"
|
3682 |
msgstr "duração do serviço"
|
3683 |
|
@@ -3835,12 +3852,18 @@ msgstr "Intervalo de tempo igual à duração do serviço."
|
|
3835 |
msgid ""
|
3836 |
"The time interval which is used as a step when building all time slots for "
|
3837 |
"the service at the Time step. The setting overrides global settings in "
|
3838 |
-
"Settings
|
3839 |
msgstr ""
|
3840 |
"A duração usada como etapa na construção de todos intervalos de tempo do "
|
3841 |
"serviço na etapa Time. A definição substitui as definições globais en "
|
3842 |
"Settings General. Use Default para aplicar as definições globais."
|
3843 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3844 |
msgid "You must select at least one repeat option for recurring services."
|
3845 |
msgstr ""
|
3846 |
"É necessário selecionar pelo menos uma opção de repetição para serviços "
|
@@ -3855,6 +3878,25 @@ msgid_plural "%d services"
|
|
3855 |
msgstr[0] "%d serviço"
|
3856 |
msgstr[1] "%d serviços"
|
3857 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3858 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3859 |
msgstr "Bem-vindo ao Bookly e obrigado pela sua escolha!"
|
3860 |
|
@@ -4305,42 +4347,6 @@ msgstr "Adicionar formulário de reserva no Bookly "
|
|
4305 |
msgid "Insert Appointment Booking Form"
|
4306 |
msgstr "Insira formulário de reserva de compromissos"
|
4307 |
|
4308 |
-
msgid ""
|
4309 |
-
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4310 |
-
msgstr ""
|
4311 |
-
"Pode nos fazer um GRANDE favor e nos dar uma classificação de 5 estrelas no "
|
4312 |
-
"WordPress ?"
|
4313 |
-
|
4314 |
-
msgid "Just to help us spread the word and boost our motivation."
|
4315 |
-
msgstr "É só para passar a palavra e estimular sua motivação."
|
4316 |
-
|
4317 |
-
msgid "Ok, you deserve it"
|
4318 |
-
msgstr "OK, você o mereceu"
|
4319 |
-
|
4320 |
-
msgid "Nope, maybe later"
|
4321 |
-
msgstr "Não, talvez posteriormente"
|
4322 |
-
|
4323 |
-
msgid "Thank you for the {star} star rating!!!"
|
4324 |
-
msgstr "Obrigado pela classificação de {star} estrelas"
|
4325 |
-
|
4326 |
-
msgid "You asked to remind you"
|
4327 |
-
msgstr "Você pediu para relembrar"
|
4328 |
-
|
4329 |
-
msgid "Congratulations!!!"
|
4330 |
-
msgstr "Felicitações !!!!"
|
4331 |
-
|
4332 |
-
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4333 |
-
msgstr "Acabou de fazer sua 10.a venda usando o plugin Bookly !"
|
4334 |
-
|
4335 |
-
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4336 |
-
msgstr "Acabou de fazer sua 100.a venda usando o plugin Bookly !"
|
4337 |
-
|
4338 |
-
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4339 |
-
msgstr "Acabou de fazer sua 1000.a venda usando o plugin Bookly !"
|
4340 |
-
|
4341 |
-
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4342 |
-
msgstr "Acabou de fazer sua 10000.a venda usando o plugin Bookly !"
|
4343 |
-
|
4344 |
msgid "Send tax information"
|
4345 |
msgstr "Enviar informações de tributação"
|
4346 |
|
@@ -4713,6 +4719,100 @@ msgstr "Notificação de novo email"
|
|
4713 |
msgid "Edit email notification"
|
4714 |
msgstr "Editar notificação de email"
|
4715 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4716 |
msgid "total quantity of appointments in cart"
|
4717 |
msgstr "quantidade total de compromissos no carrinho"
|
4718 |
|
@@ -4722,6 +4822,42 @@ msgstr "formulário de login"
|
|
4722 |
msgid "total price of booking"
|
4723 |
msgstr "preço total da reserva"
|
4724 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4725 |
msgid ""
|
4726 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4727 |
" You can opt out of sharing the information in Settings > General."
|
@@ -4737,12 +4873,12 @@ msgstr ""
|
|
4737 |
"Permitir que o plugin colete informações de uso anonimamente para ajudar a "
|
4738 |
"equipe Bookly a aprimorar o produto."
|
4739 |
|
4740 |
-
msgid "Disagree"
|
4741 |
-
msgstr "Discordo"
|
4742 |
-
|
4743 |
msgid "Agree"
|
4744 |
msgstr "Concordo"
|
4745 |
|
|
|
|
|
|
|
4746 |
#, php-format
|
4747 |
msgid ""
|
4748 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
@@ -4757,6 +4893,26 @@ msgstr ""
|
|
4757 |
"novo Bookly gratuito. Para saber mais sobre essa grande atualização do "
|
4758 |
"Bookly, confira no nosso <a href=\"%s\" target=\"_blank\">post do blog</a>."
|
4759 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4760 |
msgid "This function is not available in the Bookly."
|
4761 |
msgstr "Esta função não está disponível no Bookly."
|
4762 |
|
@@ -6103,7 +6259,7 @@ msgstr "Criar reuniões on-line"
|
|
6103 |
msgid ""
|
6104 |
"If this setting is enabled then online meetings will be created for new "
|
6105 |
"appointments with the selected online meeting provider. Make sure that the "
|
6106 |
-
"provider is configured properly in Settings
|
6107 |
"Meetings</a>"
|
6108 |
msgstr ""
|
6109 |
"Se esta configuração estiver ativada, as reuniões on-line serão criadas para "
|
@@ -6147,6 +6303,15 @@ msgstr ""
|
|
6147 |
"consideração ao calcular a ocupação dos fornecedores. 0 significa o dia da "
|
6148 |
"reserva."
|
6149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6150 |
msgid "Limit appointments per customer"
|
6151 |
msgstr "Limite de compromissos por cliente"
|
6152 |
|
@@ -6180,7 +6345,7 @@ msgstr "por ano"
|
|
6180 |
msgid ""
|
6181 |
"This setting allows you to limit the number of appointments that can be "
|
6182 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6183 |
-
"period or with the beginning of the next calendar period
|
6184 |
"month, etc."
|
6185 |
msgstr ""
|
6186 |
"Esta configuração permite limitar o número de compromissos que podem ser "
|
@@ -6854,9 +7019,6 @@ msgstr "Limitar aos clientes"
|
|
6854 |
msgid "Create another coupon"
|
6855 |
msgstr "Criar outro cupom"
|
6856 |
|
6857 |
-
msgid "Duplicate"
|
6858 |
-
msgstr "Duplicata"
|
6859 |
-
|
6860 |
msgid "No coupons found."
|
6861 |
msgstr "Nenhum cupom encontrado."
|
6862 |
|
@@ -6875,6 +7037,9 @@ msgstr "O mínimo de compromissos deve ser maior que zero."
|
|
6875 |
msgid "Max appointments should be greater than zero."
|
6876 |
msgstr "O máximo de compromissos deve ser maior que zero."
|
6877 |
|
|
|
|
|
|
|
6878 |
msgid "Please enter a non empty mask."
|
6879 |
msgstr "Por favor, insira uma máscara não-vazia."
|
6880 |
|
@@ -7580,5 +7745,14 @@ msgstr ""
|
|
7580 |
"reservas do Bookly. Se desativada, o título padrão \"Evento do Google "
|
7581 |
"Agenda\" será usado."
|
7582 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7583 |
msgid "Synchronize with Google Calendar"
|
7584 |
msgstr "Sincronizar com o Google Agenda"
|
8 |
"Language: pt_BR\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-06-03 15:11+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-06-03 15:11+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Portuguese (Brazil)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
1471 |
msgid "Add Staff Days Off"
|
1472 |
msgstr "Adicionar dias de folga do funcionário"
|
1473 |
|
1474 |
+
msgid ""
|
1475 |
+
"Hide this field if you want to hide the list of WP users from your staff "
|
1476 |
+
"members."
|
1477 |
+
msgstr ""
|
1478 |
+
|
1479 |
msgid "Hide visibility field"
|
1480 |
msgstr "Ocultar campo de visibilidade"
|
1481 |
|
1524 |
msgid "Capacity"
|
1525 |
msgstr "Capacidade"
|
1526 |
|
1527 |
+
msgid "Hide WordPress users"
|
1528 |
+
msgstr ""
|
1529 |
+
|
1530 |
msgid "Special hours"
|
1531 |
msgstr "Horas especiais"
|
1532 |
|
2424 |
"contato conosco para fazer uma reserva."
|
2425 |
|
2426 |
msgid "Your payment has been accepted for processing."
|
2427 |
+
msgstr ""
|
2428 |
|
2429 |
msgid ""
|
2430 |
"You selected a booking for {service_name} by {staff_name} at "
|
2797 |
msgid "Price with custom Sender ID"
|
2798 |
msgstr "Preço com ID do remetente personalizada"
|
2799 |
|
|
|
|
|
|
|
2800 |
msgid "Requested ID"
|
2801 |
msgstr "ID solicitada"
|
2802 |
|
3085 |
msgid "Pending sender ID already exists."
|
3086 |
msgstr "ID do remetente pendente já existe"
|
3087 |
|
3088 |
+
msgid "Recharge not available."
|
3089 |
+
msgstr ""
|
3090 |
+
|
3091 |
msgid "Recovery code expired."
|
3092 |
msgstr "Código de recuperação expirado."
|
3093 |
|
3163 |
msgid "Archived"
|
3164 |
msgstr "Arquivado"
|
3165 |
|
3166 |
+
msgid "Setup your country"
|
3167 |
+
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3168 |
|
3169 |
+
msgid ""
|
3170 |
+
"Please spend a minute to setup your country. This will help us provide you "
|
3171 |
+
"with appropriate payment methods when replenishing your account."
|
3172 |
+
msgstr ""
|
3173 |
|
3174 |
+
msgid ""
|
3175 |
+
"The country will also be displayed in the invoice on a separate line below "
|
3176 |
+
"the company address. Make sure the other fields in the invoice do not "
|
3177 |
+
"contain the name of the country."
|
3178 |
+
msgstr ""
|
3179 |
|
3180 |
+
msgid ""
|
3181 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3182 |
+
"is used to provide you with the payment methods available in that country"
|
3183 |
+
msgstr ""
|
3184 |
|
3185 |
+
msgid "Set country"
|
3186 |
+
msgstr ""
|
3187 |
|
3188 |
+
msgid "I'll do it later"
|
3189 |
+
msgstr ""
|
3190 |
|
3191 |
msgid "SMS Notifications"
|
3192 |
msgstr "Notificações por SMS"
|
3193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3194 |
msgid "Approved at"
|
3195 |
msgstr "Aprovado em"
|
3196 |
|
3197 |
+
msgid "Change the sender's name to your phone number or any other name"
|
3198 |
+
msgstr ""
|
3199 |
+
|
3200 |
+
msgid "Click this button to access your Bookly SMS account settings"
|
3201 |
+
msgstr ""
|
3202 |
+
|
3203 |
msgid "Log out"
|
3204 |
msgstr "Sair"
|
3205 |
|
3206 |
msgid "Notifications"
|
3207 |
msgstr "Notificações"
|
3208 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3209 |
msgid "Purchases"
|
3210 |
msgstr "Compras"
|
3211 |
|
3302 |
msgid "Repeat new password"
|
3303 |
msgstr "Repita a nova senha"
|
3304 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3305 |
msgid ""
|
3306 |
"If you do not see your country in the list please contact us at <a "
|
3307 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3371 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3372 |
msgstr "Só pode conter letras ou dígitos (até 11 caracteres)."
|
3373 |
|
3374 |
+
msgid "Account settings"
|
3375 |
+
msgstr ""
|
3376 |
+
|
3377 |
+
msgid "Auto-Recharge"
|
3378 |
+
msgstr "Auto-Recharge"
|
3379 |
+
|
3380 |
+
msgid "Invoice"
|
3381 |
+
msgstr "Fatura"
|
3382 |
+
|
3383 |
+
msgid "Change password"
|
3384 |
+
msgstr "Alterar a senha"
|
3385 |
+
|
3386 |
+
#, php-format
|
3387 |
+
msgid "We will only charge you when your balance falls bellow %s"
|
3388 |
+
msgstr ""
|
3389 |
+
|
3390 |
+
msgid "Company name"
|
3391 |
+
msgstr "Nome da empresa"
|
3392 |
+
|
3393 |
+
msgid "Company address"
|
3394 |
+
msgstr "Endereço da empresa"
|
3395 |
|
3396 |
+
msgid "Company address line 2"
|
3397 |
+
msgstr "Endereço da empresa linha 2"
|
3398 |
|
3399 |
+
msgid "You can change the country <a href=\"#\">here</a>"
|
3400 |
+
msgstr ""
|
3401 |
|
3402 |
+
msgid "Company number"
|
3403 |
+
msgstr ""
|
3404 |
|
3405 |
+
msgid "VAT / Tax number"
|
3406 |
+
msgstr ""
|
3407 |
+
|
3408 |
+
msgid "Additional text to include in invoice"
|
3409 |
+
msgstr ""
|
3410 |
+
|
3411 |
+
#, php-format
|
3412 |
+
msgid "The invoice will be sent to <a href=\"mailto:%1$s\">%1$s</a>"
|
3413 |
+
msgstr ""
|
3414 |
+
|
3415 |
+
msgid "Copy invoice to another email(s)"
|
3416 |
+
msgstr "Copiar fatura paro outro(s) e-mail(s)."
|
3417 |
+
|
3418 |
+
msgid "Enter one or more email addresses separated by commas."
|
3419 |
+
msgstr "Entrar um ou mais endereços de e-mail separados por virgulas."
|
3420 |
+
|
3421 |
+
msgid "Save invoice settings"
|
3422 |
+
msgstr ""
|
3423 |
+
|
3424 |
+
msgid "Send email notification to administrators at low balance"
|
3425 |
+
msgstr "Enviar notificação por email para os administradores com saldo baixo"
|
3426 |
+
|
3427 |
+
msgid "Send weekly summary to administrators"
|
3428 |
+
msgstr "Enviar resumo semanal para os administradores"
|
3429 |
+
|
3430 |
+
msgid ""
|
3431 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3432 |
+
"is used to provide you with the payment methods available in that country."
|
3433 |
+
msgstr ""
|
3434 |
+
|
3435 |
+
msgid "Update country"
|
3436 |
+
msgstr ""
|
3437 |
+
|
3438 |
+
msgid "Old password"
|
3439 |
+
msgstr "Senha antiga"
|
3440 |
+
|
3441 |
+
msgid "Please accept terms and conditions."
|
3442 |
+
msgstr "Por favor, aceite os termos e condições."
|
3443 |
+
|
3444 |
+
msgid "Passwords don't match"
|
3445 |
+
msgstr ""
|
3446 |
|
3447 |
msgid "Last month"
|
3448 |
msgstr "Último mês"
|
3456 |
msgid "No records for selected period."
|
3457 |
msgstr "Não há registros para o período selecionado."
|
3458 |
|
|
|
|
|
|
|
3459 |
msgid ""
|
3460 |
+
"To generate an invoice you should fill in company information in Bookly SMS "
|
3461 |
+
"Account settings -> Invoice"
|
3462 |
msgstr ""
|
|
|
|
|
3463 |
|
3464 |
msgid "enable"
|
3465 |
msgstr "ativar"
|
3475 |
"O serviço está temporariamente indisponível. Por favor, tente novamente mais "
|
3476 |
"tarde."
|
3477 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3478 |
msgid "SMS has been sent successfully."
|
3479 |
msgstr "SMS foi enviada com sucesso."
|
3480 |
|
3692 |
"o horário dos seus funcionários se você notar algum comportamento inesperado "
|
3693 |
"do sistema de reserva."
|
3694 |
|
3695 |
+
msgid "internal note"
|
3696 |
+
msgstr ""
|
3697 |
+
|
3698 |
msgid "duration of service"
|
3699 |
msgstr "duração do serviço"
|
3700 |
|
3852 |
msgid ""
|
3853 |
"The time interval which is used as a step when building all time slots for "
|
3854 |
"the service at the Time step. The setting overrides global settings in "
|
3855 |
+
"Settings > General. Use Default to apply global settings."
|
3856 |
msgstr ""
|
3857 |
"A duração usada como etapa na construção de todos intervalos de tempo do "
|
3858 |
"serviço na etapa Time. A definição substitui as definições globais en "
|
3859 |
"Settings General. Use Default para aplicar as definições globais."
|
3860 |
|
3861 |
+
msgid "The service will be created with the visibility of Private."
|
3862 |
+
msgstr ""
|
3863 |
+
|
3864 |
+
msgid "Duplicate"
|
3865 |
+
msgstr "Duplicata"
|
3866 |
+
|
3867 |
msgid "You must select at least one repeat option for recurring services."
|
3868 |
msgstr ""
|
3869 |
"É necessário selecionar pelo menos uma opção de repetição para serviços "
|
3878 |
msgstr[0] "%d serviço"
|
3879 |
msgstr[1] "%d serviços"
|
3880 |
|
3881 |
+
#, php-format
|
3882 |
+
msgid "Copy of %s"
|
3883 |
+
msgstr ""
|
3884 |
+
|
3885 |
+
msgid "Auto-refresh Calendar"
|
3886 |
+
msgstr ""
|
3887 |
+
|
3888 |
+
msgid "Every 1 minute"
|
3889 |
+
msgstr ""
|
3890 |
+
|
3891 |
+
msgid "Every 5 minutes"
|
3892 |
+
msgstr ""
|
3893 |
+
|
3894 |
+
msgid "Every 15 minutes"
|
3895 |
+
msgstr ""
|
3896 |
+
|
3897 |
+
msgid "Disable"
|
3898 |
+
msgstr ""
|
3899 |
+
|
3900 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3901 |
msgstr "Bem-vindo ao Bookly e obrigado pela sua escolha!"
|
3902 |
|
4347 |
msgid "Insert Appointment Booking Form"
|
4348 |
msgstr "Insira formulário de reserva de compromissos"
|
4349 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4350 |
msgid "Send tax information"
|
4351 |
msgstr "Enviar informações de tributação"
|
4352 |
|
4719 |
msgid "Edit email notification"
|
4720 |
msgstr "Editar notificação de email"
|
4721 |
|
4722 |
+
msgid "Thank you"
|
4723 |
+
msgstr ""
|
4724 |
+
|
4725 |
+
msgid "Your payment has been accepted for processing"
|
4726 |
+
msgstr "Seu pagamento foi aceito para processamento"
|
4727 |
+
|
4728 |
+
msgid "Back to the list of amounts"
|
4729 |
+
msgstr ""
|
4730 |
+
|
4731 |
+
msgid "Please select a payment method"
|
4732 |
+
msgstr ""
|
4733 |
+
|
4734 |
+
msgid "Credit card"
|
4735 |
+
msgstr ""
|
4736 |
+
|
4737 |
+
msgid "Account recharge"
|
4738 |
+
msgstr ""
|
4739 |
+
|
4740 |
+
msgid "Oops"
|
4741 |
+
msgstr ""
|
4742 |
+
|
4743 |
+
msgid "Your payment has been cancelled"
|
4744 |
+
msgstr ""
|
4745 |
+
|
4746 |
+
msgid "Please select an amount and recharge your account"
|
4747 |
+
msgstr ""
|
4748 |
+
|
4749 |
+
msgid "Pay using"
|
4750 |
+
msgstr ""
|
4751 |
+
|
4752 |
+
msgid "Continue with"
|
4753 |
+
msgstr ""
|
4754 |
+
|
4755 |
+
msgid "Auto-Recharge has been enabled"
|
4756 |
+
msgstr ""
|
4757 |
+
|
4758 |
+
msgid "Auto-Recharge has been cancelled"
|
4759 |
+
msgstr ""
|
4760 |
+
|
4761 |
+
msgid "current<br/>balance"
|
4762 |
+
msgstr ""
|
4763 |
+
|
4764 |
+
msgid "Recharge"
|
4765 |
+
msgstr ""
|
4766 |
+
|
4767 |
+
msgid "users choice"
|
4768 |
+
msgstr ""
|
4769 |
+
|
4770 |
+
msgid "Buy now"
|
4771 |
+
msgstr ""
|
4772 |
+
|
4773 |
+
msgid "Best offer"
|
4774 |
+
msgstr ""
|
4775 |
+
|
4776 |
+
msgid "Users choice"
|
4777 |
+
msgstr ""
|
4778 |
+
|
4779 |
+
msgid "Other options"
|
4780 |
+
msgstr ""
|
4781 |
+
|
4782 |
+
msgid "best offer"
|
4783 |
+
msgstr ""
|
4784 |
+
|
4785 |
+
msgid "Select amount of Auto-Recharge"
|
4786 |
+
msgstr ""
|
4787 |
+
|
4788 |
+
msgid "Enable"
|
4789 |
+
msgstr ""
|
4790 |
+
|
4791 |
+
msgid "Disable Auto-Recharge"
|
4792 |
+
msgstr "Desativar Auto-Recharge"
|
4793 |
+
|
4794 |
+
msgid "Are you sure you want to disable Auto-Recharge?"
|
4795 |
+
msgstr ""
|
4796 |
+
|
4797 |
+
msgid "Turn on Auto-Recharge and get even more"
|
4798 |
+
msgstr ""
|
4799 |
+
|
4800 |
+
msgid "Auto-Recharge disabled"
|
4801 |
+
msgstr "Auto-Recharge desativado"
|
4802 |
+
|
4803 |
+
#, php-format
|
4804 |
+
msgid "Can't disable Auto-Recharge, please contact us at %s"
|
4805 |
+
msgstr ""
|
4806 |
+
|
4807 |
+
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
4808 |
+
msgstr "O Auto-Recharge falhou. Por favor, recarregue o seu saldo diretamente."
|
4809 |
+
|
4810 |
+
msgid "Card payment has failed, please use another payment option"
|
4811 |
+
msgstr ""
|
4812 |
+
|
4813 |
+
msgid "Payment has failed, please use another payment option"
|
4814 |
+
msgstr ""
|
4815 |
+
|
4816 |
msgid "total quantity of appointments in cart"
|
4817 |
msgstr "quantidade total de compromissos no carrinho"
|
4818 |
|
4822 |
msgid "total price of booking"
|
4823 |
msgstr "preço total da reserva"
|
4824 |
|
4825 |
+
msgid ""
|
4826 |
+
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4827 |
+
msgstr ""
|
4828 |
+
"Pode nos fazer um GRANDE favor e nos dar uma classificação de 5 estrelas no "
|
4829 |
+
"WordPress ?"
|
4830 |
+
|
4831 |
+
msgid "Just to help us spread the word and boost our motivation."
|
4832 |
+
msgstr "É só para passar a palavra e estimular sua motivação."
|
4833 |
+
|
4834 |
+
msgid "Ok, you deserve it"
|
4835 |
+
msgstr "OK, você o mereceu"
|
4836 |
+
|
4837 |
+
msgid "Nope, maybe later"
|
4838 |
+
msgstr "Não, talvez posteriormente"
|
4839 |
+
|
4840 |
+
msgid "Thank you for the {star} star rating!!!"
|
4841 |
+
msgstr "Obrigado pela classificação de {star} estrelas"
|
4842 |
+
|
4843 |
+
msgid "You asked to remind you"
|
4844 |
+
msgstr "Você pediu para relembrar"
|
4845 |
+
|
4846 |
+
msgid "Congratulations!!!"
|
4847 |
+
msgstr "Felicitações !!!!"
|
4848 |
+
|
4849 |
+
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4850 |
+
msgstr "Acabou de fazer sua 10.a venda usando o plugin Bookly !"
|
4851 |
+
|
4852 |
+
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4853 |
+
msgstr "Acabou de fazer sua 100.a venda usando o plugin Bookly !"
|
4854 |
+
|
4855 |
+
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4856 |
+
msgstr "Acabou de fazer sua 1000.a venda usando o plugin Bookly !"
|
4857 |
+
|
4858 |
+
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4859 |
+
msgstr "Acabou de fazer sua 10000.a venda usando o plugin Bookly !"
|
4860 |
+
|
4861 |
msgid ""
|
4862 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4863 |
" You can opt out of sharing the information in Settings > General."
|
4873 |
"Permitir que o plugin colete informações de uso anonimamente para ajudar a "
|
4874 |
"equipe Bookly a aprimorar o produto."
|
4875 |
|
|
|
|
|
|
|
4876 |
msgid "Agree"
|
4877 |
msgstr "Concordo"
|
4878 |
|
4879 |
+
msgid "Disagree"
|
4880 |
+
msgstr "Discordo"
|
4881 |
+
|
4882 |
#, php-format
|
4883 |
msgid ""
|
4884 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
4893 |
"novo Bookly gratuito. Para saber mais sobre essa grande atualização do "
|
4894 |
"Bookly, confira no nosso <a href=\"%s\" target=\"_blank\">post do blog</a>."
|
4895 |
|
4896 |
+
#, php-format
|
4897 |
+
msgid "Recharge your account and get up to %s extra."
|
4898 |
+
msgstr ""
|
4899 |
+
|
4900 |
+
msgid ""
|
4901 |
+
"Send SMS notifications to your customers, increasing their loyalty and "
|
4902 |
+
"involvement."
|
4903 |
+
msgstr ""
|
4904 |
+
|
4905 |
+
#, php-format
|
4906 |
+
msgid "Enable Auto-Recharge and get up to %s extra."
|
4907 |
+
msgstr ""
|
4908 |
+
|
4909 |
+
msgid ""
|
4910 |
+
"Let your clients receive notifications on time - don't let the service stop."
|
4911 |
+
msgstr ""
|
4912 |
+
|
4913 |
+
msgid "Remind me later"
|
4914 |
+
msgstr ""
|
4915 |
+
|
4916 |
msgid "This function is not available in the Bookly."
|
4917 |
msgstr "Esta função não está disponível no Bookly."
|
4918 |
|
6259 |
msgid ""
|
6260 |
"If this setting is enabled then online meetings will be created for new "
|
6261 |
"appointments with the selected online meeting provider. Make sure that the "
|
6262 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6263 |
"Meetings</a>"
|
6264 |
msgstr ""
|
6265 |
"Se esta configuração estiver ativada, as reuniões on-line serão criadas para "
|
6303 |
"consideração ao calcular a ocupação dos fornecedores. 0 significa o dia da "
|
6304 |
"reserva."
|
6305 |
|
6306 |
+
msgid "Pick random staff member in case of uncertainty"
|
6307 |
+
msgstr ""
|
6308 |
+
|
6309 |
+
msgid ""
|
6310 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6311 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6312 |
+
"unknown."
|
6313 |
+
msgstr ""
|
6314 |
+
|
6315 |
msgid "Limit appointments per customer"
|
6316 |
msgstr "Limite de compromissos por cliente"
|
6317 |
|
6345 |
msgid ""
|
6346 |
"This setting allows you to limit the number of appointments that can be "
|
6347 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6348 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6349 |
"month, etc."
|
6350 |
msgstr ""
|
6351 |
"Esta configuração permite limitar o número de compromissos que podem ser "
|
7019 |
msgid "Create another coupon"
|
7020 |
msgstr "Criar outro cupom"
|
7021 |
|
|
|
|
|
|
|
7022 |
msgid "No coupons found."
|
7023 |
msgstr "Nenhum cupom encontrado."
|
7024 |
|
7037 |
msgid "Max appointments should be greater than zero."
|
7038 |
msgstr "O máximo de compromissos deve ser maior que zero."
|
7039 |
|
7040 |
+
msgid "The code already exists"
|
7041 |
+
msgstr ""
|
7042 |
+
|
7043 |
msgid "Please enter a non empty mask."
|
7044 |
msgstr "Por favor, insira uma máscara não-vazia."
|
7045 |
|
7745 |
"reservas do Bookly. Se desativada, o título padrão \"Evento do Google "
|
7746 |
"Agenda\" será usado."
|
7747 |
|
7748 |
+
msgid "Overwrite the description of the original Google Calendar events"
|
7749 |
+
msgstr ""
|
7750 |
+
|
7751 |
+
msgid ""
|
7752 |
+
"If enabled then the description of the Google Calendar events originally "
|
7753 |
+
"copied to Bookly will be overwritten by the Bookly appointment data after "
|
7754 |
+
"they have been edited in Bookly Calendar"
|
7755 |
+
msgstr ""
|
7756 |
+
|
7757 |
msgid "Synchronize with Google Calendar"
|
7758 |
msgstr "Sincronizar com o Google Agenda"
|
languages/bookly-pt_PT.mo
CHANGED
Binary file
|
languages/bookly-pt_PT.po
CHANGED
@@ -8,14 +8,14 @@ msgstr ""
|
|
8 |
"Language: pt_PT\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
-
"POT-Creation-Date: 2020-
|
12 |
-
"PO-Revision-Date: 2020-
|
13 |
-
"Last-Translator:
|
14 |
"Language-Team: Portuguese (Portugal)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
16 |
|
17 |
msgid "Invoice #{invoice_number} for your appointment"
|
18 |
-
msgstr "Fatura #{invoice_number)
|
19 |
|
20 |
msgid ""
|
21 |
"Dear {client_name}.\n"
|
@@ -30,7 +30,7 @@ msgid ""
|
|
30 |
msgstr ""
|
31 |
"Prezado {nome_do_cliente}.\n"
|
32 |
"\n"
|
33 |
-
"Em anexo encontra-se a fatura #{número_da fatura}
|
34 |
"\n"
|
35 |
"Obrigado por escolher a nossa empresa.\n"
|
36 |
"\n"
|
@@ -49,9 +49,9 @@ msgid ""
|
|
49 |
msgstr ""
|
50 |
"Olá,\n"
|
51 |
"\n"
|
52 |
-
"
|
53 |
"marcado por {primeiro_nome_do cliente} {sobrenome_do cliente}.\n"
|
54 |
-
"Por favor,
|
55 |
|
56 |
msgid "BILL TO"
|
57 |
msgstr "CONTA PARA"
|
@@ -106,7 +106,7 @@ msgid "Settings saved."
|
|
106 |
msgstr "Definições guardadas."
|
107 |
|
108 |
msgid "Download invoices"
|
109 |
-
msgstr "
|
110 |
|
111 |
msgid "invoice creation date"
|
112 |
msgstr "Data de criação da fatura"
|
@@ -158,10 +158,10 @@ msgid "Subtotal"
|
|
158 |
msgstr "Subtotal"
|
159 |
|
160 |
msgid "Coupon discount"
|
161 |
-
msgstr "
|
162 |
|
163 |
msgid "Group discount"
|
164 |
-
msgstr "Desconto
|
165 |
|
166 |
msgid "Total"
|
167 |
msgstr "Total"
|
@@ -170,13 +170,13 @@ msgid "Paid"
|
|
170 |
msgstr "Pago"
|
171 |
|
172 |
msgid "Due"
|
173 |
-
msgstr "
|
174 |
|
175 |
msgid "Discount"
|
176 |
msgstr "Desconto"
|
177 |
|
178 |
msgid "Outlook Calendar event"
|
179 |
-
msgstr "Evento Outlook
|
180 |
|
181 |
msgid "Name"
|
182 |
msgstr "Nome"
|
@@ -188,7 +188,7 @@ msgid "Phone"
|
|
188 |
msgstr "Telefone"
|
189 |
|
190 |
msgid "Outlook Calendar integration"
|
191 |
-
msgstr "Integração Outlook
|
192 |
|
193 |
msgid "Connect"
|
194 |
msgstr "Conectar"
|
@@ -196,8 +196,8 @@ msgstr "Conectar"
|
|
196 |
#, php-format
|
197 |
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
198 |
msgstr ""
|
199 |
-
"Por favor, configure o
|
200 |
-
"
|
201 |
|
202 |
msgid "Connected"
|
203 |
msgstr "Conectado"
|
@@ -206,25 +206,26 @@ msgid "disconnect"
|
|
206 |
msgstr "desconectar"
|
207 |
|
208 |
msgid "Synchronize staff member appointments with Outlook Calendar."
|
209 |
-
msgstr "
|
|
|
210 |
|
211 |
msgid "Calendar"
|
212 |
msgstr "Calendário"
|
213 |
|
214 |
msgid "-- Select calendar --"
|
215 |
-
msgstr "-- Selecionar calendário --"
|
216 |
|
217 |
msgid ""
|
218 |
"When you connect a calendar all future and past events will be synchronized "
|
219 |
"according to the selected synchronization mode. This may take a few minutes. "
|
220 |
"Please wait."
|
221 |
msgstr ""
|
222 |
-
"Quando
|
223 |
-
"sincronizados de acordo com o modo de sincronização selecionado.
|
224 |
-
"demorar alguns minutos. Por favor,
|
225 |
|
226 |
msgid "Can't change calendar for archived staff"
|
227 |
-
msgstr "Impossível mudar calendário para funcionários arquivados"
|
228 |
|
229 |
msgid "Instructions"
|
230 |
msgstr "Instruções"
|
@@ -234,21 +235,20 @@ msgid ""
|
|
234 |
"not work with your website if there is no valid SSL certificate installed on "
|
235 |
"your web server."
|
236 |
msgstr ""
|
237 |
-
"Importante: seu site deve usar <b>HTTPS</b>. A API do
|
238 |
-
"funcionará com o seu site se não houver um certificado SSL
|
239 |
-
"
|
240 |
|
241 |
msgid "To find your Application ID and Application Secret, do the following:"
|
242 |
msgstr ""
|
243 |
-
"Para encontrar
|
244 |
-
"seguinte:"
|
245 |
|
246 |
#, php-format
|
247 |
msgid ""
|
248 |
"Sign in to the <a href=\"%s\" target=\"_blank\">Azure portal</a> using "
|
249 |
"either a work or school account or a personal Microsoft account."
|
250 |
msgstr ""
|
251 |
-
"Faça login no <a href=\"%s\" target=\"_blank\">Azure
|
252 |
"conta profissional ou educacional, ou uma conta pessoal Microsoft."
|
253 |
|
254 |
msgid ""
|
@@ -256,9 +256,9 @@ msgid ""
|
|
256 |
"account in the top right corner, and set your portal session to the Azure AD "
|
257 |
"tenant that you want."
|
258 |
msgstr ""
|
259 |
-
"Se a sua conta
|
260 |
-
"canto superior direito e defina a sessão do portal para o
|
261 |
-
"AD que pretende."
|
262 |
|
263 |
msgid ""
|
264 |
"In the left-hand navigation pane, select the <b>Azure Active Directory</b> "
|
@@ -275,24 +275,25 @@ msgid ""
|
|
275 |
"any organizational directory and personal Microsoft accounts</b>. When "
|
276 |
"finished, select <b>Register</b>."
|
277 |
msgstr ""
|
278 |
-
"Quando a página <b>
|
279 |
-
"
|
280 |
-
"
|
281 |
-
"
|
282 |
-
" Para terminar, selecione <b>
|
283 |
|
284 |
msgid ""
|
285 |
"Azure AD assigns a unique application (client) ID to your app, and you're "
|
286 |
"taken to your application's <b>Overview</b> page."
|
287 |
msgstr ""
|
288 |
-
"Azure AD atribui um ID
|
289 |
-
"a página <b>Overview</b>
|
290 |
|
291 |
msgid ""
|
292 |
"Copy the <b>Application (client) ID</b> and insert it into the form below on "
|
293 |
"this page."
|
294 |
msgstr ""
|
295 |
-
"Copie o
|
|
|
296 |
|
297 |
msgid ""
|
298 |
"Under <b>Certificates & secrets</b>, choose <b>New client secret</b>, "
|
@@ -300,10 +301,10 @@ msgid ""
|
|
300 |
"from the <b>Client secrets</b> list before leaving the page. Insert the "
|
301 |
"secret into the form below on this page."
|
302 |
msgstr ""
|
303 |
-
"Em <b>
|
304 |
-
"defina <b>
|
305 |
-
"
|
306 |
-
"da página. Insira o segredo no
|
307 |
|
308 |
msgid ""
|
309 |
"Under <b>API permissions</b>, choose <b>Add a permission</b>, and select <b>"
|
@@ -311,35 +312,35 @@ msgid ""
|
|
311 |
"find <b>Calendars.ReadWrite</b>, select it and click <b>Add permissions</b> "
|
312 |
"button."
|
313 |
msgstr ""
|
314 |
-
"Em <b>API
|
315 |
-
"Microsoft Graph >
|
316 |
-
"procure <b>Calendars.ReadWrite</b>, selecione e clique no
|
317 |
-
"
|
318 |
|
319 |
msgid "<b>Save</b> your changes."
|
320 |
-
msgstr "<b>
|
321 |
|
322 |
msgid ""
|
323 |
"Go to Staff Members, select a staff member and click <b>Connect</b> which is "
|
324 |
"located at the bottom of the page."
|
325 |
msgstr ""
|
326 |
-
"Vá para Funcionários, selecione um funcionário e clique em <b>
|
327 |
"que está localizado na parte inferior da página."
|
328 |
|
329 |
msgid "Application ID"
|
330 |
-
msgstr "
|
331 |
|
332 |
msgid "The Application ID obtained from the Microsoft App Registration Portal."
|
333 |
-
msgstr "O
|
334 |
|
335 |
msgid "Application secret"
|
336 |
-
msgstr "
|
337 |
|
338 |
msgid ""
|
339 |
"The Application Secret password obtained from the Microsoft App Registration "
|
340 |
"Portal."
|
341 |
msgstr ""
|
342 |
-
"
|
343 |
|
344 |
msgid "Redirect URI"
|
345 |
msgstr "URI de redirecionamento"
|
@@ -347,8 +348,8 @@ msgstr "URI de redirecionamento"
|
|
347 |
msgid ""
|
348 |
"Enter this URL as a Redirect URLs in the Microsoft App Registration Portal."
|
349 |
msgstr ""
|
350 |
-
"Insira este URL como um redirecionamento de URL no
|
351 |
-
"
|
352 |
|
353 |
msgid "Synchronization mode"
|
354 |
msgstr "Modo de sincronização"
|
@@ -362,77 +363,77 @@ msgid ""
|
|
362 |
"way\" sync all bookings created in Bookly Calendar will be automatically "
|
363 |
"copied to Outlook Calendar and vice versa."
|
364 |
msgstr ""
|
365 |
-
"Com a sincronização de uma via, o Bookly encaminha
|
366 |
-
"quaisquer outras mudanças para o
|
367 |
-
"vias exclusiva do frontend, o Bookly vai além disso, buscar eventos
|
368 |
-
"
|
369 |
-
"exibir o intervalo de tempo do formulário de reserva (isto pode
|
370 |
-
"atrasos quando os
|
371 |
-
"tempo). Com a sincronização
|
372 |
-
"Bookly
|
373 |
-
"versa."
|
374 |
|
375 |
msgid "One-way"
|
376 |
msgstr "Uma via"
|
377 |
|
378 |
msgid "Two-way front-end only"
|
379 |
-
msgstr "Duas vias exclusiva do front-end"
|
380 |
|
381 |
msgid "Two-way"
|
382 |
msgstr "Duas vias"
|
383 |
|
384 |
msgid "Sync appointments history"
|
385 |
-
msgstr "Sincronizar histórico de
|
386 |
|
387 |
msgid ""
|
388 |
"Specify how many days of past calendar data you wish to sync at the time of "
|
389 |
"initial sync. If you enter 0, synchronization of past events will not be "
|
390 |
"performed."
|
391 |
msgstr ""
|
392 |
-
"Especificar quantos dados de datas antigas na sua agenda
|
393 |
-
"
|
394 |
-
"
|
395 |
|
396 |
msgid "Copy Outlook Calendar event titles"
|
397 |
-
msgstr "Copiar os
|
398 |
|
399 |
msgid ""
|
400 |
"If enabled then titles of Outlook Calendar events will be copied to Bookly "
|
401 |
"appointments. If disabled, a standard title \"Outlook Calendar event\" will "
|
402 |
"be used."
|
403 |
msgstr ""
|
404 |
-
"Se ativado, os
|
405 |
-
"
|
406 |
-
"Outlook
|
407 |
|
408 |
msgid "Limit number of fetched events"
|
409 |
-
msgstr "
|
410 |
|
411 |
msgid ""
|
412 |
"If there is a lot of events in Outlook Calendar sometimes this leads to a "
|
413 |
"lack of memory in PHP when Bookly tries to fetch all events. You can limit "
|
414 |
"the number of fetched events here."
|
415 |
msgstr ""
|
416 |
-
"Se houver muitos eventos no Outlook
|
417 |
-
"falta de memória no PHP quando o Bookly tenta
|
418 |
-
"
|
419 |
|
420 |
msgid "Template for event title"
|
421 |
-
msgstr "
|
422 |
|
423 |
msgid ""
|
424 |
"Configure what information should be placed in the title of Outlook Calendar "
|
425 |
"event. Available codes are {service_name}, {staff_name} and {client_names}."
|
426 |
msgstr ""
|
427 |
-
"Configure
|
428 |
-
"Outlook
|
429 |
-
"{
|
430 |
|
431 |
msgid "Appointment section"
|
432 |
-
msgstr "Secção
|
433 |
|
434 |
msgid "This section describes information that is displayed about appointment."
|
435 |
-
msgstr "Esta seção descreve
|
436 |
|
437 |
msgid "Customer section"
|
438 |
msgstr "Secção do cliente"
|
@@ -441,11 +442,11 @@ msgid ""
|
|
441 |
"This section describes information that is displayed about each participant "
|
442 |
"of the appointment."
|
443 |
msgstr ""
|
444 |
-
"Esta seção descreve
|
445 |
-
"
|
446 |
|
447 |
msgid "customer notes for appointment"
|
448 |
-
msgstr "observações do cliente para
|
449 |
|
450 |
msgid "email of client"
|
451 |
msgstr "e-mail do cliente"
|
@@ -469,18 +470,18 @@ msgid "payment type"
|
|
469 |
msgstr "tipo de pagamento"
|
470 |
|
471 |
msgid "status of appointment"
|
472 |
-
msgstr "status
|
473 |
|
474 |
msgid "total price of booking (sum of all cart items after applying coupon)"
|
475 |
msgstr ""
|
476 |
"preço total da reserva (soma de todos os itens do carrinho após a aplicação "
|
477 |
-
"do
|
478 |
|
479 |
msgid "date of appointment"
|
480 |
-
msgstr "data
|
481 |
|
482 |
msgid "time of appointment"
|
483 |
-
msgstr "hora
|
484 |
|
485 |
msgid "booking number"
|
486 |
msgstr "número de reserva"
|
@@ -522,13 +523,13 @@ msgid "phone of staff"
|
|
522 |
msgstr "telefone do funcionário"
|
523 |
|
524 |
msgid "Outlook Calendar"
|
525 |
-
msgstr " Outlook
|
526 |
|
527 |
msgid "Disabled"
|
528 |
msgstr "Desativado"
|
529 |
|
530 |
msgid "Synchronize with Outlook Calendar"
|
531 |
-
msgstr "Sincronizar com Outlook
|
532 |
|
533 |
msgid "Calendars synchronized successfully."
|
534 |
msgstr "Calendários sincronizados com sucesso."
|
@@ -552,12 +553,12 @@ msgid ""
|
|
552 |
"When this setting is enabled you will be able to create service specific "
|
553 |
"custom fields."
|
554 |
msgstr ""
|
555 |
-
"Quando esta configuração estiver ativada,
|
556 |
"personalizados de serviços específicos."
|
557 |
|
558 |
msgid "Merge repeating custom fields for multiple bookings of the service"
|
559 |
msgstr ""
|
560 |
-
"
|
561 |
|
562 |
msgid ""
|
563 |
"If enabled, customers will see custom fields for unique appointments while "
|
@@ -565,10 +566,10 @@ msgid ""
|
|
565 |
"merged (collapsed) into one field. If disabled, customers will see custom "
|
566 |
"fields for each appointment in the set of bookings."
|
567 |
msgstr ""
|
568 |
-
"Se ativada, os clientes
|
569 |
" enquanto reservam múltiplas instâncias do serviço. Campos personalizados "
|
570 |
-
"repetidos são
|
571 |
-
"
|
572 |
|
573 |
msgid "Text Field"
|
574 |
msgstr "Campo do texto"
|
@@ -583,7 +584,7 @@ msgid "Checkbox Group"
|
|
583 |
msgstr "Grupo das caixas de seleção"
|
584 |
|
585 |
msgid "Radio Button Group"
|
586 |
-
msgstr "Grupo dos botões
|
587 |
|
588 |
msgid "Drop Down"
|
589 |
msgstr "Seleção flutuante"
|
@@ -604,13 +605,13 @@ msgid "Required field"
|
|
604 |
msgstr "Campo obrigatório"
|
605 |
|
606 |
msgid "Enter a content"
|
607 |
-
msgstr "
|
608 |
|
609 |
msgid "Checkbox"
|
610 |
msgstr "Caixa de seleção"
|
611 |
|
612 |
msgid "Radio Button"
|
613 |
-
msgstr "Botão
|
614 |
|
615 |
msgid "Option"
|
616 |
msgstr "Opção"
|
@@ -628,21 +629,20 @@ msgid "Show custom fields"
|
|
628 |
msgstr "Exibir campos personalizados"
|
629 |
|
630 |
msgid "extended staff agenda for next day"
|
631 |
-
msgstr "agenda estendida da
|
632 |
|
633 |
msgid "combined values of all custom fields (formatted in 2 columns)"
|
634 |
msgstr ""
|
635 |
-
"valores combinados de todos os campos personalizados (formatado em
|
636 |
-
"colunas)"
|
637 |
|
638 |
msgid "Another code"
|
639 |
msgstr "Outro código"
|
640 |
|
641 |
msgid "Notification to customer about approved recurring appointment"
|
642 |
-
msgstr "Notificação ao cliente sobre
|
643 |
|
644 |
msgid "Your appointment information"
|
645 |
-
msgstr "
|
646 |
|
647 |
msgid ""
|
648 |
"Dear {client_name}.\n"
|
@@ -699,9 +699,9 @@ msgid ""
|
|
699 |
msgstr ""
|
700 |
"Olá.\n"
|
701 |
"\n"
|
702 |
-
"
|
703 |
"\n"
|
704 |
-
"Serviço: {service_name} (x {
|
705 |
"Horário:\n"
|
706 |
"{appointment_schedule}\n"
|
707 |
"Nome do cliente: {client_name}\n"
|
@@ -709,7 +709,7 @@ msgstr ""
|
|
709 |
"E-mail do cliente: {client_email}"
|
710 |
|
711 |
msgid "Notification to customer about cancelled recurring appointment"
|
712 |
-
msgstr "Notificação ao cliente
|
713 |
|
714 |
msgid "Booking cancellation"
|
715 |
msgstr "Cancelamento da reserva"
|
@@ -733,7 +733,7 @@ msgid ""
|
|
733 |
msgstr ""
|
734 |
"Prezado {client_name}.\n"
|
735 |
"\n"
|
736 |
-
"A sua reserva de {service_name} (x {
|
737 |
"\n"
|
738 |
"Motivo: {cancellation_reason}\n"
|
739 |
"\n"
|
@@ -749,7 +749,7 @@ msgstr ""
|
|
749 |
|
750 |
msgid "Notification to staff member about cancelled recurring appointment"
|
751 |
msgstr ""
|
752 |
-
"Notificação aos funcionários sobre
|
753 |
|
754 |
msgid ""
|
755 |
"Hello.\n"
|
@@ -779,10 +779,10 @@ msgstr ""
|
|
779 |
"E-mail do cliente: {client_email}"
|
780 |
|
781 |
msgid "Notification to customer about rejected recurring appointment"
|
782 |
-
msgstr "Notificação ao cliente sobre
|
783 |
|
784 |
msgid "Booking rejection"
|
785 |
-
msgstr "Rejeição
|
786 |
|
787 |
msgid ""
|
788 |
"Dear {client_name}.\n"
|
@@ -807,7 +807,7 @@ msgstr ""
|
|
807 |
"\n"
|
808 |
"Motivo: {cancellation_reason}\n"
|
809 |
"\n"
|
810 |
-
"Por favor,
|
811 |
"\n"
|
812 |
"{appointment_schedule}\n"
|
813 |
"\n"
|
@@ -818,7 +818,7 @@ msgstr ""
|
|
818 |
"{company_website}"
|
819 |
|
820 |
msgid "Notification to staff member about rejected recurring appointment "
|
821 |
-
msgstr "Notificação ao funcionário sobre
|
822 |
|
823 |
msgid ""
|
824 |
"Hello.\n"
|
@@ -851,11 +851,11 @@ msgid ""
|
|
851 |
"Notification to customer about placing on waiting list for recurring "
|
852 |
"appointment"
|
853 |
msgstr ""
|
854 |
-
"Notificação ao cliente sobre o posicionamento na lista de espera para "
|
855 |
-
"
|
856 |
|
857 |
msgid "You have been added to waiting list for appointment"
|
858 |
-
msgstr "
|
859 |
|
860 |
msgid ""
|
861 |
"Dear {client_name}.\n"
|
@@ -875,10 +875,10 @@ msgid ""
|
|
875 |
msgstr ""
|
876 |
"Prezado {client_name}.\n"
|
877 |
"\n"
|
878 |
-
"Esta é uma confirmação de que
|
879 |
"{service_name} (x {recorring_count}).\n"
|
880 |
"\n"
|
881 |
-
"Por favor,
|
882 |
"\n"
|
883 |
"{appointment_schedule}\n"
|
884 |
"\n"
|
@@ -892,8 +892,8 @@ msgid ""
|
|
892 |
"Notification to staff member about placing on waiting list for recurring "
|
893 |
"appointment "
|
894 |
msgstr ""
|
895 |
-
"Notificação ao funcionário sobre o
|
896 |
-
"
|
897 |
|
898 |
msgid "New waiting list information"
|
899 |
msgstr "Nova informação da lista de espera"
|
@@ -912,7 +912,7 @@ msgid ""
|
|
912 |
msgstr ""
|
913 |
"Olá.\n"
|
914 |
"\n"
|
915 |
-
"
|
916 |
"\n"
|
917 |
"Serviço: {service_name} (x {recorring_count})\n"
|
918 |
"Horário:\n"
|
@@ -935,12 +935,12 @@ msgid ""
|
|
935 |
"{company_website}"
|
936 |
msgstr ""
|
937 |
"Prezado {client_name}.\n"
|
938 |
-
"Esta é uma confirmação de que
|
939 |
-
"
|
940 |
-
"Por favor,
|
941 |
"{appointment_schedule}\n"
|
942 |
"\n"
|
943 |
-
"Estamos
|
944 |
"Obrigado por escolher a nossa empresa.\n"
|
945 |
"{company_name}\n"
|
946 |
"{company_phone}\n"
|
@@ -957,7 +957,7 @@ msgid ""
|
|
957 |
"Client email: {client_email}"
|
958 |
msgstr ""
|
959 |
"Olá.\n"
|
960 |
-
"
|
961 |
"Serviço: {service_name} (x {recorring_count})\n"
|
962 |
"Horário:\n"
|
963 |
"{appointment_schedule}\n"
|
@@ -979,14 +979,14 @@ msgstr ""
|
|
979 |
"Prezado {client_name}.\n"
|
980 |
"A sua reserva de {service_name} (x {recorring_count}) foi cancelada.\n"
|
981 |
"Motivo: {cancellation_reason}\n"
|
982 |
-
"Por favor,
|
983 |
"Obrigado por escolher a nossa empresa.\n"
|
984 |
"{company_name}\n"
|
985 |
"{company_phone}\n"
|
986 |
"{company_website}"
|
987 |
|
988 |
msgid "Notification to staff member about cancelled recurring appointment "
|
989 |
-
msgstr "Notificação ao funcionário sobre
|
990 |
|
991 |
msgid ""
|
992 |
"Hello.\n"
|
@@ -1062,9 +1062,9 @@ msgid ""
|
|
1062 |
"{company_website}"
|
1063 |
msgstr ""
|
1064 |
"Prezado {client_name}.\n"
|
1065 |
-
"Esta é uma confirmação de que
|
1066 |
"{service_name} (x {recorring_count}).\n"
|
1067 |
-
"Por favor,
|
1068 |
"{appointment_schedule}\n"
|
1069 |
"Obrigado por escolher a nossa empresa.\n"
|
1070 |
"{company_name}\n"
|
@@ -1082,7 +1082,7 @@ msgid ""
|
|
1082 |
"Client email: {client_email}"
|
1083 |
msgstr ""
|
1084 |
"Olá.\n"
|
1085 |
-
"
|
1086 |
"Serviço: {service_name} (x {recorring_count})\n"
|
1087 |
"Horário:\n"
|
1088 |
"{appointment_schedule}\n"
|
@@ -1102,10 +1102,10 @@ msgid ""
|
|
1102 |
"please check the box below and set appropriate parameters. Otherwise press "
|
1103 |
"Next button below."
|
1104 |
msgstr ""
|
1105 |
-
"
|
1106 |
-
"{appointment_date}. Se
|
1107 |
-
"
|
1108 |
-
"
|
1109 |
|
1110 |
msgid "Another time"
|
1111 |
msgstr "Outra hora"
|
@@ -1123,7 +1123,7 @@ msgid "day(s)"
|
|
1123 |
msgstr "dia(s)"
|
1124 |
|
1125 |
msgid "Deleted"
|
1126 |
-
msgstr "
|
1127 |
|
1128 |
msgid "every"
|
1129 |
msgstr "cada"
|
@@ -1132,14 +1132,14 @@ msgid ""
|
|
1132 |
"The first recurring appointment was added to cart. You will be invoiced for "
|
1133 |
"the remaining appointments later."
|
1134 |
msgstr ""
|
1135 |
-
"
|
1136 |
-
"
|
1137 |
|
1138 |
msgid "Monthly"
|
1139 |
msgstr "Mensal"
|
1140 |
|
1141 |
msgid "There are no available time slots for this day"
|
1142 |
-
msgstr "Não há
|
1143 |
|
1144 |
msgid "On"
|
1145 |
msgstr "Em"
|
@@ -1157,15 +1157,15 @@ msgid ""
|
|
1157 |
"Some of the desired time slots are busy. System offers the nearest time slot "
|
1158 |
"instead. Click the Edit button to select another time if needed."
|
1159 |
msgstr ""
|
1160 |
-
"Alguns dos
|
1161 |
-
"
|
1162 |
-
"
|
1163 |
|
1164 |
msgid "Specific day"
|
1165 |
msgstr "Dia específico"
|
1166 |
|
1167 |
msgid "Repeat this appointment"
|
1168 |
-
msgstr "Repita
|
1169 |
|
1170 |
msgid "Until"
|
1171 |
msgstr "Até"
|
@@ -1195,23 +1195,23 @@ msgid "time(s)"
|
|
1195 |
msgstr "hora(s)"
|
1196 |
|
1197 |
msgid "Notification to customer about pending recurring appointment"
|
1198 |
-
msgstr "Notificação ao cliente sobre
|
1199 |
|
1200 |
msgid "Notification to staff member about pending recurring appointment"
|
1201 |
-
msgstr "Notificação ao funcionário sobre
|
1202 |
|
1203 |
msgid ""
|
1204 |
"Notification to staff member about placing on waiting list for recurring "
|
1205 |
"appointment"
|
1206 |
msgstr ""
|
1207 |
-
"Notificação ao funcionário sobre a colocação em lista de espera de
|
1208 |
-
"
|
1209 |
|
1210 |
msgid "New recurring booking notification"
|
1211 |
-
msgstr "Notificação de
|
1212 |
|
1213 |
msgid "Notification about recurring appointment status changes"
|
1214 |
-
msgstr "Notificação de mudança de status de
|
1215 |
|
1216 |
msgid "at"
|
1217 |
msgstr "às"
|
@@ -1220,49 +1220,49 @@ msgid "Online Payments"
|
|
1220 |
msgstr "Pagamentos on-line"
|
1221 |
|
1222 |
msgid "Customers must pay only for the 1st appointment"
|
1223 |
-
msgstr "Os clientes devem pagar apenas para
|
1224 |
|
1225 |
msgid "Customers must pay for all appointments in series"
|
1226 |
-
msgstr "Os clientes devem pagar
|
1227 |
|
1228 |
msgid "Group appointments"
|
1229 |
-
msgstr "
|
1230 |
|
1231 |
msgid "Create new appointment for every recurring booking"
|
1232 |
-
msgstr "
|
1233 |
|
1234 |
msgid "Add customer to available group bookings"
|
1235 |
-
msgstr "
|
1236 |
|
1237 |
msgid "Recurring Appointments"
|
1238 |
-
msgstr "
|
1239 |
|
1240 |
msgid "Approve recurring appointment URL (success)"
|
1241 |
-
msgstr "Aprovar a URL
|
1242 |
|
1243 |
msgid ""
|
1244 |
"Set the URL of a page that is shown to staff after they successfully "
|
1245 |
"approved recurring appointment."
|
1246 |
msgstr ""
|
1247 |
-
"Definir a URL de uma página que será mostrada aos funcionários depois
|
1248 |
-
"
|
1249 |
|
1250 |
msgid "Approve recurring appointment URL (denied)"
|
1251 |
-
msgstr "Aprovar a URL
|
1252 |
|
1253 |
msgid ""
|
1254 |
"Set the URL of a page that is shown to staff when the approval of recurring "
|
1255 |
"appointment cannot be done (changed status, etc.)."
|
1256 |
msgstr ""
|
1257 |
"Defina a URL de uma página que será mostrada aos funcionários quando a "
|
1258 |
-
"aprovação
|
1259 |
-
")."
|
1260 |
|
1261 |
msgid "Enabled"
|
1262 |
msgstr "Ativado"
|
1263 |
|
1264 |
msgid "Allow this service to have recurring appointments."
|
1265 |
-
msgstr "Permitir que este serviço tenha
|
1266 |
|
1267 |
msgid "Frequencies"
|
1268 |
msgstr "Frequências"
|
@@ -1289,16 +1289,16 @@ msgid "Show Repeat step"
|
|
1289 |
msgstr "Exibir o passo Repetir"
|
1290 |
|
1291 |
msgid "recurring appointments schedule"
|
1292 |
-
msgstr "lista de
|
1293 |
|
1294 |
msgid "recurring appointments schedule with cancel"
|
1295 |
-
msgstr "lista de
|
1296 |
|
1297 |
msgid "URL for approving the whole schedule"
|
1298 |
msgstr "URL para aprovar todo o horário"
|
1299 |
|
1300 |
msgid "recurring appointments"
|
1301 |
-
msgstr "
|
1302 |
|
1303 |
msgid "Every"
|
1304 |
msgstr "Cada"
|
@@ -1316,16 +1316,16 @@ msgid "Another time was offered on pages"
|
|
1316 |
msgstr "Outro horário foi oferecido nas páginas"
|
1317 |
|
1318 |
msgid "Delete Appointment"
|
1319 |
-
msgstr "
|
1320 |
|
1321 |
msgid "Delete only this appointment"
|
1322 |
-
msgstr "
|
1323 |
|
1324 |
msgid "Delete this and the following appointments"
|
1325 |
-
msgstr "
|
1326 |
|
1327 |
msgid "Delete all appointments in series"
|
1328 |
-
msgstr "
|
1329 |
|
1330 |
msgid "Send notifications"
|
1331 |
msgstr "Enviar notificações"
|
@@ -1334,7 +1334,7 @@ msgid "Cancellation reason (optional)"
|
|
1334 |
msgstr "Motivo de cancelamento (opcional)"
|
1335 |
|
1336 |
msgid "Recurring appointments"
|
1337 |
-
msgstr "
|
1338 |
|
1339 |
msgid "Close"
|
1340 |
msgstr "Fechar"
|
@@ -1343,7 +1343,7 @@ msgid "Save"
|
|
1343 |
msgstr "Guardar"
|
1344 |
|
1345 |
msgid "I will pay now with Credit Card"
|
1346 |
-
msgstr "Vou pagar
|
1347 |
|
1348 |
msgid "Sandbox Mode"
|
1349 |
msgstr "Modo Sandbox"
|
@@ -1369,11 +1369,11 @@ msgid ""
|
|
1369 |
"\"Unit Price\" field specify the cost of 1 unit, so the total cost of the "
|
1370 |
"service will increase linearly with the increase of its duration."
|
1371 |
msgstr ""
|
1372 |
-
"Definir a duração do serviço. Se
|
1373 |
-
"
|
1374 |
-
"
|
1375 |
-
"
|
1376 |
-
"
|
1377 |
|
1378 |
msgid "Unit duration"
|
1379 |
msgstr "Duração da unidade"
|
@@ -1391,7 +1391,7 @@ msgid "Custom"
|
|
1391 |
msgstr "Customizar"
|
1392 |
|
1393 |
msgid "Show service price next to duration"
|
1394 |
-
msgstr "Exibir o preço do serviço
|
1395 |
|
1396 |
msgid "Hide this field"
|
1397 |
msgstr "Ocultar este campo"
|
@@ -1471,6 +1471,13 @@ msgstr "Adicionar horário do funcionário"
|
|
1471 |
msgid "Add Staff Days Off"
|
1472 |
msgstr "Adicionar dias de folga do funcionário"
|
1473 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1474 |
msgid "Hide visibility field"
|
1475 |
msgstr "Ocultar campo de visibilidade"
|
1476 |
|
@@ -1484,7 +1491,7 @@ msgid "Insert"
|
|
1484 |
msgstr "Inserir"
|
1485 |
|
1486 |
msgid "Add Staff Cabinet"
|
1487 |
-
msgstr "
|
1488 |
|
1489 |
msgid "A custom block for displaying staff calendar"
|
1490 |
msgstr "Bloco personalizado para exibição do calendário do funcionário"
|
@@ -1519,6 +1526,9 @@ msgstr "Bloco personalizado para exibição dos dias de folga do funcionário"
|
|
1519 |
msgid "Capacity"
|
1520 |
msgstr "Capacidade"
|
1521 |
|
|
|
|
|
|
|
1522 |
msgid "Special hours"
|
1523 |
msgstr "Horas especiais"
|
1524 |
|
@@ -1526,16 +1536,16 @@ msgid "Fields"
|
|
1526 |
msgstr "Campos"
|
1527 |
|
1528 |
msgid "read only"
|
1529 |
-
msgstr "somente leitura"
|
1530 |
|
1531 |
msgid "Repeat every year"
|
1532 |
msgstr "Repetir todos os anos"
|
1533 |
|
1534 |
msgid "We are not working on this day"
|
1535 |
-
msgstr "Não estamos
|
1536 |
|
1537 |
msgid "Min capacity should not be greater than max capacity."
|
1538 |
-
msgstr "A capacidade mínima não deve ser
|
1539 |
|
1540 |
msgid "Export to CSV"
|
1541 |
msgstr "Exportar para CSV"
|
@@ -1617,7 +1627,7 @@ msgid ""
|
|
1617 |
"If you want to become invisible to your customers set the visibility to "
|
1618 |
"\"Private\"."
|
1619 |
msgstr ""
|
1620 |
-
"Se
|
1621 |
"para \"Privado\"."
|
1622 |
|
1623 |
msgid "Public"
|
@@ -1633,13 +1643,13 @@ msgid "No locations selected"
|
|
1633 |
msgstr "Nenhum local selecionado"
|
1634 |
|
1635 |
msgid "You don't have permissions to view this content."
|
1636 |
-
msgstr "
|
1637 |
|
1638 |
msgid ""
|
1639 |
"Your account has been disabled. Contact your website administrator to "
|
1640 |
"continue."
|
1641 |
msgstr ""
|
1642 |
-
"
|
1643 |
"para continuar."
|
1644 |
|
1645 |
msgid "API Login ID"
|
@@ -1649,7 +1659,7 @@ msgid "API Transaction Key"
|
|
1649 |
msgstr "Chave de transação do API"
|
1650 |
|
1651 |
msgid "Title"
|
1652 |
-
msgstr "
|
1653 |
|
1654 |
msgid "Rate"
|
1655 |
msgstr "Taxa"
|
@@ -1700,7 +1710,7 @@ msgstr "taxa da tributação de serviço"
|
|
1700 |
|
1701 |
msgid "total tax included in the appointment (summary for all items)"
|
1702 |
msgstr ""
|
1703 |
-
"total de tributações incluídas
|
1704 |
|
1705 |
msgid "total price without tax"
|
1706 |
msgstr "preço total sem tributação"
|
@@ -1712,10 +1722,10 @@ msgid ""
|
|
1712 |
"additional amount to the cost. If you need to report the exact tax amount to "
|
1713 |
"the payment system, do not use additional charge."
|
1714 |
msgstr ""
|
1715 |
-
"
|
1716 |
-
"pagamento usado. Especifique uma
|
1717 |
"menos (\"-\") para diminuir / desconto. Observe que o imposto não será "
|
1718 |
-
"calculado para o valor adicional ao custo. Se
|
1719 |
"exato do imposto ao sistema de pagamento, não use cobranças adicionais."
|
1720 |
|
1721 |
msgid "Customer Information"
|
@@ -1731,11 +1741,11 @@ msgid ""
|
|
1731 |
"To receive REST API credentials, in <b>My Apps & Credentials</b> of your "
|
1732 |
"PayPal account do the following steps:"
|
1733 |
msgstr ""
|
1734 |
-
"Para receber os credenciais REST API, em <b>
|
1735 |
-
"conta Paypal siga os seguintes passos:"
|
1736 |
|
1737 |
msgid "Click <b>Create App</b> and enter application details."
|
1738 |
-
msgstr "
|
1739 |
|
1740 |
msgid ""
|
1741 |
"Once created, copy <b>Client ID</b> and <b>Secret</b> and use them in the "
|
@@ -1760,7 +1770,7 @@ msgid "Mollie error."
|
|
1760 |
msgstr "Erro do Mollie."
|
1761 |
|
1762 |
msgid "I will pay now with Mollie"
|
1763 |
-
msgstr "Vou pagar
|
1764 |
|
1765 |
msgid "API Key"
|
1766 |
msgstr "Chave do API"
|
@@ -1774,7 +1784,7 @@ msgid ""
|
|
1774 |
"a scheduled cron job."
|
1775 |
msgstr ""
|
1776 |
"Esta configuração determina o tempo limite o qual o pagamento feito através "
|
1777 |
-
"do gateway de pagamento é considerado incompleto.
|
1778 |
"um trabalho cron agendado."
|
1779 |
|
1780 |
msgid "Persons"
|
@@ -1784,7 +1794,7 @@ msgid "Number of persons"
|
|
1784 |
msgstr "Número de pessoas"
|
1785 |
|
1786 |
msgid "Capacity (min and max)"
|
1787 |
-
msgstr "Capacidade (
|
1788 |
|
1789 |
msgid "Group bookings information format"
|
1790 |
msgstr "Agrupar o formato das informações de reserva"
|
@@ -1792,7 +1802,7 @@ msgstr "Agrupar o formato das informações de reserva"
|
|
1792 |
msgid ""
|
1793 |
"Select format for displaying the time slot occupancy for group bookings."
|
1794 |
msgstr ""
|
1795 |
-
"
|
1796 |
"reservas de grupo."
|
1797 |
|
1798 |
msgid "[Booked/Max capacity]"
|
@@ -1802,7 +1812,7 @@ msgid "[Available left]"
|
|
1802 |
msgstr "[Restantes]"
|
1803 |
|
1804 |
msgid "Group Booking"
|
1805 |
-
msgstr "Reserva
|
1806 |
|
1807 |
msgid "number of persons"
|
1808 |
msgstr "número de pessoas"
|
@@ -1818,7 +1828,7 @@ msgid ""
|
|
1818 |
"the certain time period."
|
1819 |
msgstr ""
|
1820 |
"Número mínimo e máximo de clientes autorizados a reservar o serviço durante "
|
1821 |
-
"
|
1822 |
|
1823 |
msgid "One booking per time slot"
|
1824 |
msgstr "Uma reserva por intervalo de tempo"
|
@@ -1840,7 +1850,7 @@ msgid "Address"
|
|
1840 |
msgstr "Endereço"
|
1841 |
|
1842 |
msgid "Follow these steps to get an API key:"
|
1843 |
-
msgstr "Siga
|
1844 |
|
1845 |
msgid ""
|
1846 |
"Go to the <a href=\"https://console.developers.google.com/flows/enableapi?"
|
@@ -1854,7 +1864,7 @@ msgstr ""
|
|
1854 |
|
1855 |
msgid "Create or select a project. Click <b>Continue</b> to enable the API."
|
1856 |
msgstr ""
|
1857 |
-
"
|
1858 |
|
1859 |
msgid ""
|
1860 |
"On the <b>Credentials</b> page, get an <b>API key</b> (and set the API key "
|
@@ -1862,15 +1872,15 @@ msgid ""
|
|
1862 |
"with server restrictions, you may use that key."
|
1863 |
msgstr ""
|
1864 |
"Na página <b>Credenciais</b>, obtenha a <b>chave API</b> (e defina as "
|
1865 |
-
"restrições da chave API). Observação: Se
|
1866 |
-
"
|
1867 |
|
1868 |
msgid ""
|
1869 |
"Click <b>Library</b> on the left sidebar menu. Select Google Maps JavaScript "
|
1870 |
"API and make sure it's enabled."
|
1871 |
msgstr ""
|
1872 |
"Clique em <b>Library</b> no menu lateral da esquerda. Selecione Google Maps "
|
1873 |
-
"JavaScript API e certifique-se de
|
1874 |
|
1875 |
msgid "Use your <b>API key</b> in the form below."
|
1876 |
msgstr "Use your <b>chave API</b> no formulário abaixo."
|
@@ -1879,8 +1889,8 @@ msgid ""
|
|
1879 |
"Enter a Google API key that you got after registering your app project on "
|
1880 |
"the Google API Console."
|
1881 |
msgstr ""
|
1882 |
-
"Insira a chave API da Google que
|
1883 |
-
"
|
1884 |
|
1885 |
msgid "Google Maps"
|
1886 |
msgstr "Google Maps"
|
@@ -1907,7 +1917,7 @@ msgid "Part of collaborative service"
|
|
1907 |
msgstr "Parte de um serviço colaborativo"
|
1908 |
|
1909 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1910 |
-
msgstr "
|
1911 |
|
1912 |
msgid "Appointment management"
|
1913 |
msgstr "Gestão de compromissos"
|
@@ -1940,16 +1950,16 @@ msgid "Wordpress password"
|
|
1940 |
msgstr "Senha do Wordpress"
|
1941 |
|
1942 |
msgid "Delete account"
|
1943 |
-
msgstr "
|
1944 |
|
1945 |
msgid "Add Customer Cabinet"
|
1946 |
-
msgstr "Adicionar
|
1947 |
|
1948 |
msgid "Customer cabinet"
|
1949 |
-
msgstr "
|
1950 |
|
1951 |
msgid "A custom block for displaying customer cabinet"
|
1952 |
-
msgstr "Bloco personalizado para exibição de
|
1953 |
|
1954 |
msgid "show"
|
1955 |
msgstr "mostrar"
|
@@ -1976,7 +1986,7 @@ msgid "Profile"
|
|
1976 |
msgstr "Perfil"
|
1977 |
|
1978 |
msgid "WP user"
|
1979 |
-
msgstr "
|
1980 |
|
1981 |
msgid "Current password"
|
1982 |
msgstr "Senha atual"
|
@@ -1988,7 +1998,7 @@ msgid "Confirm password"
|
|
1988 |
msgstr "Confirmar senha"
|
1989 |
|
1990 |
msgid "No appointments."
|
1991 |
-
msgstr "
|
1992 |
|
1993 |
msgid "Expired"
|
1994 |
msgstr "Expirado"
|
@@ -1997,7 +2007,7 @@ msgid "Not allowed"
|
|
1997 |
msgstr "Não permitido"
|
1998 |
|
1999 |
msgid "There are no time slots for selected date."
|
2000 |
-
msgstr "Não há
|
2001 |
|
2002 |
msgid "Profile updated successfully."
|
2003 |
msgstr "Perfil atualizado com sucesso."
|
@@ -2006,8 +2016,8 @@ msgid ""
|
|
2006 |
"Unfortunately, you're not able to cancel the appointment because the "
|
2007 |
"required time limit prior to canceling has expired."
|
2008 |
msgstr ""
|
2009 |
-
"Infelizmente
|
2010 |
-
"
|
2011 |
|
2012 |
msgid ""
|
2013 |
"The selected time is not available anymore. Please, choose another time slot."
|
@@ -2022,28 +2032,28 @@ msgid "Wrong current password"
|
|
2022 |
msgstr "Senha atual incorreta"
|
2023 |
|
2024 |
msgid "Passwords mismatch"
|
2025 |
-
msgstr "As senhas não
|
2026 |
|
2027 |
msgid "Cancel Appointment"
|
2028 |
-
msgstr "Cancelar
|
2029 |
|
2030 |
msgid "You are going to cancel a scheduled appointment. Are you sure?"
|
2031 |
-
msgstr "
|
2032 |
|
2033 |
msgid ""
|
2034 |
"You are going to delete your account and all information associated with it. "
|
2035 |
"Click Confirm to continue or Cancel to cancel the action."
|
2036 |
msgstr ""
|
2037 |
-
"
|
2038 |
-
"
|
2039 |
|
2040 |
msgid ""
|
2041 |
"This account cannot be deleted because it is associated with scheduled "
|
2042 |
"appointments. Please cancel bookings or contact the service provider."
|
2043 |
msgstr ""
|
2044 |
-
"Esta conta não pode ser
|
2045 |
-
"
|
2046 |
-
"
|
2047 |
|
2048 |
msgid "Confirm"
|
2049 |
msgstr "Confirmar"
|
@@ -2054,11 +2064,11 @@ msgstr "OK"
|
|
2054 |
#, php-format
|
2055 |
msgid " and %d more item"
|
2056 |
msgid_plural " and %d more items"
|
2057 |
-
msgstr[0] " e %d
|
2058 |
msgstr[1] " e %d mais itens"
|
2059 |
|
2060 |
msgid "Notification to customer about approved appointment"
|
2061 |
-
msgstr "Notificação ao cliente sobre
|
2062 |
|
2063 |
msgid ""
|
2064 |
"Dear {client_name}.\n"
|
@@ -2078,7 +2088,7 @@ msgstr ""
|
|
2078 |
"\n"
|
2079 |
"Esta é uma confirmação de que você reservou {service_name}.\n"
|
2080 |
"\n"
|
2081 |
-
"
|
2082 |
"{appointment_time} .\n"
|
2083 |
"\n"
|
2084 |
"Obrigado por escolher nossos serviços.\n"
|
@@ -2088,7 +2098,7 @@ msgstr ""
|
|
2088 |
"{company_website}"
|
2089 |
|
2090 |
msgid "Notification to staff member about approved appointment"
|
2091 |
-
msgstr "Notificação ao funcionário sobre
|
2092 |
|
2093 |
msgid ""
|
2094 |
"Hello.\n"
|
@@ -2104,7 +2114,7 @@ msgid ""
|
|
2104 |
msgstr ""
|
2105 |
"Olá.\n"
|
2106 |
"\n"
|
2107 |
-
"
|
2108 |
"\n"
|
2109 |
"Serviço: {service_name}\n"
|
2110 |
"Data: {appointment_date}\n"
|
@@ -2114,7 +2124,7 @@ msgstr ""
|
|
2114 |
"E-mail do cliente: {client_email}"
|
2115 |
|
2116 |
msgid "Notification to customer about cancelled appointment"
|
2117 |
-
msgstr "Notificação ao cliente sobre
|
2118 |
|
2119 |
msgid ""
|
2120 |
"Dear {client_name}.\n"
|
@@ -2140,7 +2150,7 @@ msgstr ""
|
|
2140 |
"{company_website}"
|
2141 |
|
2142 |
msgid "Notification to staff member about cancelled appointment"
|
2143 |
-
msgstr "Notificação ao funcionário sobre
|
2144 |
|
2145 |
msgid ""
|
2146 |
"Hello.\n"
|
@@ -2166,7 +2176,7 @@ msgstr ""
|
|
2166 |
"E-mail do cliente: {client_email}"
|
2167 |
|
2168 |
msgid "Notification to customer about rejected appointment"
|
2169 |
-
msgstr "Notificação ao cliente sobre
|
2170 |
|
2171 |
msgid ""
|
2172 |
"Dear {client_name}.\n"
|
@@ -2196,7 +2206,7 @@ msgstr ""
|
|
2196 |
"{company_website}"
|
2197 |
|
2198 |
msgid "Notification to staff member about rejected appointment"
|
2199 |
-
msgstr "Notificação ao funcionário sobre
|
2200 |
|
2201 |
msgid ""
|
2202 |
"Hello.\n"
|
@@ -2236,7 +2246,7 @@ msgid ""
|
|
2236 |
"{company_website}"
|
2237 |
msgstr ""
|
2238 |
"Prezado {client_name},\n"
|
2239 |
-
"Esta é uma confirmação de que
|
2240 |
"Aguardamos você em {company_address} no dia {appointment_date} às "
|
2241 |
"{appointment_time} .\n"
|
2242 |
"Obrigado por escolher nossos serviços.\n"
|
@@ -2255,7 +2265,7 @@ msgid ""
|
|
2255 |
"Client email: {client_email}"
|
2256 |
msgstr ""
|
2257 |
"Olá,\n"
|
2258 |
-
"Você
|
2259 |
"Serviço: {service_name}\n"
|
2260 |
"Data: {appointment_date}\n"
|
2261 |
"Hora: {appointment_time}\n"
|
@@ -2273,7 +2283,7 @@ msgid ""
|
|
2273 |
"{company_website}"
|
2274 |
msgstr ""
|
2275 |
"Prezado {client_name}.\n"
|
2276 |
-
"Cancelou
|
2277 |
"{appointment_time}.\n"
|
2278 |
"Obrigado por escolher nossos serviços.\n"
|
2279 |
"{company_name}\n"
|
@@ -2342,7 +2352,7 @@ msgstr ""
|
|
2342 |
msgid ""
|
2343 |
"Evening reminder to customer about next day appointment (requires cron setup)"
|
2344 |
msgstr ""
|
2345 |
-
"Lembrete noturno ao cliente sobre
|
2346 |
"configuração do cron)"
|
2347 |
|
2348 |
msgid ""
|
@@ -2356,7 +2366,7 @@ msgid ""
|
|
2356 |
msgstr ""
|
2357 |
"Prezado {client_name}.\n"
|
2358 |
"Gostariamos de relembrar que você reservou {service_name} amanhã às "
|
2359 |
-
"{appointment_time}.
|
2360 |
"Obrigado por escolher nossos serviços.\n"
|
2361 |
"{company_name}\n"
|
2362 |
"{company_phone}\n"
|
@@ -2365,7 +2375,7 @@ msgstr ""
|
|
2365 |
msgid ""
|
2366 |
"Follow-up message in the same day after appointment (requires cron setup)"
|
2367 |
msgstr ""
|
2368 |
-
"Mensagem
|
2369 |
"configuração do cron)"
|
2370 |
|
2371 |
msgid ""
|
@@ -2406,17 +2416,17 @@ msgid ""
|
|
2406 |
"has been sent to you."
|
2407 |
msgstr ""
|
2408 |
"Muito obrigado! O processo de reserva está completo. Um e-mail com os seus "
|
2409 |
-
"detalhes da reserva foi enviado para
|
2410 |
|
2411 |
msgid ""
|
2412 |
"You are trying to use the service too often. Please contact us to make a "
|
2413 |
"booking."
|
2414 |
msgstr ""
|
2415 |
-
"
|
2416 |
-
"
|
2417 |
|
2418 |
msgid "Your payment has been accepted for processing."
|
2419 |
-
msgstr "
|
2420 |
|
2421 |
msgid ""
|
2422 |
"You selected a booking for {service_name} by {staff_name} at "
|
@@ -2424,8 +2434,8 @@ msgid ""
|
|
2424 |
"{service_price}.\n"
|
2425 |
"Please provide your details in the form below to proceed with booking."
|
2426 |
msgstr ""
|
2427 |
-
"
|
2428 |
-
"{appointment_time} em {appointment_date}. O preço
|
2429 |
"{service_price}.\n"
|
2430 |
"Por favor, forneça os seus detalhes no formulário abaixo para proceder com a "
|
2431 |
"reserva."
|
@@ -2441,15 +2451,15 @@ msgid ""
|
|
2441 |
"{staff_name}.\n"
|
2442 |
"Click on a time slot to proceed with booking."
|
2443 |
msgstr ""
|
2444 |
-
"
|
2445 |
-
"
|
2446 |
"Clique no horário para prosseguir com a marcação."
|
2447 |
|
2448 |
msgid "Confirm email"
|
2449 |
msgstr "Confirmar e-mail"
|
2450 |
|
2451 |
msgid "Finish by"
|
2452 |
-
msgstr "
|
2453 |
|
2454 |
msgid "First name"
|
2455 |
msgstr "Primeiro nome"
|
@@ -2467,16 +2477,16 @@ msgid "I'm available on or after"
|
|
2467 |
msgstr "Estou disponível em ou depois de"
|
2468 |
|
2469 |
msgid "Start from"
|
2470 |
-
msgstr "
|
2471 |
|
2472 |
msgid "Select category"
|
2473 |
-
msgstr "
|
2474 |
|
2475 |
msgid "Any"
|
2476 |
msgstr "Qualquer"
|
2477 |
|
2478 |
msgid "Select service"
|
2479 |
-
msgstr "
|
2480 |
|
2481 |
msgid "Select day"
|
2482 |
msgstr "Selecione um dia"
|
@@ -2494,7 +2504,7 @@ msgid "Email confirmation doesn't match"
|
|
2494 |
msgstr "E-mail de confirmação não coincide"
|
2495 |
|
2496 |
msgid "Please select an employee"
|
2497 |
-
msgstr "Por favor, selecione um
|
2498 |
|
2499 |
msgid "Please tell us your name"
|
2500 |
msgstr "Por favor, informe o seu nome"
|
@@ -2512,7 +2522,7 @@ msgid "Please select a service"
|
|
2512 |
msgstr "Por favor, selecione um serviço"
|
2513 |
|
2514 |
msgid "Login"
|
2515 |
-
msgstr "
|
2516 |
|
2517 |
msgid "Done"
|
2518 |
msgstr "Concluir"
|
@@ -2524,46 +2534,46 @@ msgid "Custom notification"
|
|
2524 |
msgstr "Notificação personalizada"
|
2525 |
|
2526 |
msgid "Appointment reminder"
|
2527 |
-
msgstr "Lembrete de
|
2528 |
|
2529 |
msgid "New booking"
|
2530 |
msgstr "Nova reserva"
|
2531 |
|
2532 |
msgid "Notification about customer's appointment status change"
|
2533 |
-
msgstr "Notificação de modificação de status de
|
2534 |
|
2535 |
msgid "Customer birthday greeting (requires cron setup)"
|
2536 |
msgstr "Cumprimento do aniversário do cliente (requer configuração do cron)"
|
2537 |
|
2538 |
msgid "Notification to customer about pending appointment"
|
2539 |
-
msgstr "Notificação ao cliente sobre
|
2540 |
|
2541 |
msgid ""
|
2542 |
"1st reminder to customer about upcoming appointment (requires cron setup)"
|
2543 |
msgstr ""
|
2544 |
-
"1º lembrete para o cliente sobre
|
2545 |
-
"
|
2546 |
|
2547 |
msgid ""
|
2548 |
"2nd reminder to customer about upcoming appointment (requires cron setup)"
|
2549 |
msgstr ""
|
2550 |
-
"2º lembrete para o cliente sobre
|
2551 |
-
"
|
2552 |
|
2553 |
msgid ""
|
2554 |
"3rd reminder to customer about upcoming appointment (requires cron setup)"
|
2555 |
msgstr ""
|
2556 |
-
"3º lembrete para o cliente sobre
|
2557 |
-
"
|
2558 |
|
2559 |
msgid "Last client's appointment"
|
2560 |
-
msgstr "
|
2561 |
|
2562 |
msgid "Full day agenda"
|
2563 |
msgstr "Agenda do dia inteiro"
|
2564 |
|
2565 |
msgid "Notification to staff member about pending appointment"
|
2566 |
-
msgstr "Notificação ao funcionário sobre
|
2567 |
|
2568 |
msgid "Invalid day"
|
2569 |
msgstr "Dia inválido"
|
@@ -2584,7 +2594,7 @@ msgid "State/Region"
|
|
2584 |
msgstr "Estado/Região"
|
2585 |
|
2586 |
msgid "Postal Code"
|
2587 |
-
msgstr "
|
2588 |
|
2589 |
msgid "City"
|
2590 |
msgstr "Cidade"
|
@@ -2602,7 +2612,7 @@ msgid "State is required"
|
|
2602 |
msgstr "É necessário informar o estado"
|
2603 |
|
2604 |
msgid "Postcode is required"
|
2605 |
-
msgstr "É necessário informar o
|
2606 |
|
2607 |
msgid "City is required"
|
2608 |
msgstr "É necessário informar a cidade"
|
@@ -2617,8 +2627,7 @@ msgid ""
|
|
2617 |
"The highlighted time is not available anymore. Please, choose another time "
|
2618 |
"slot."
|
2619 |
msgstr ""
|
2620 |
-
"A hora destacada não está mais disponível. Por favor, escolha outro "
|
2621 |
-
"intervalo de tempo."
|
2622 |
|
2623 |
msgid "Happy Birthday!"
|
2624 |
msgstr "Feliz Aniversário!"
|
@@ -2639,8 +2648,8 @@ msgstr ""
|
|
2639 |
"Prezado {client_name},\n"
|
2640 |
"\n"
|
2641 |
"Feliz Aniversário!\n"
|
2642 |
-
"Desejamos
|
2643 |
-
"Que você e
|
2644 |
"\n"
|
2645 |
"Obrigado por escolher nossa empresa.\n"
|
2646 |
"\n"
|
@@ -2660,8 +2669,8 @@ msgid ""
|
|
2660 |
msgstr ""
|
2661 |
"Prezado {client_name},\n"
|
2662 |
"Feliz Aniversário!\n"
|
2663 |
-
"Desejamos-lhe
|
2664 |
-
"Que você e
|
2665 |
"Obrigado por escolher nossa empresa.\n"
|
2666 |
"{company_name}\n"
|
2667 |
"{company_phone}\n"
|
@@ -2730,7 +2739,7 @@ msgid "No."
|
|
2730 |
msgstr "Núm."
|
2731 |
|
2732 |
msgid "Appointment date"
|
2733 |
-
msgstr "Data
|
2734 |
|
2735 |
msgid "Customer name"
|
2736 |
msgstr "Nome do Cliente"
|
@@ -2745,13 +2754,13 @@ msgid "Created"
|
|
2745 |
msgstr "Criado"
|
2746 |
|
2747 |
msgid "User"
|
2748 |
-
msgstr "
|
2749 |
|
2750 |
msgid "Last appointment"
|
2751 |
-
msgstr "
|
2752 |
|
2753 |
msgid "Total appointments"
|
2754 |
-
msgstr "Total de
|
2755 |
|
2756 |
msgid "Payments"
|
2757 |
msgstr "Pagamentos"
|
@@ -2784,16 +2793,13 @@ msgid "Code"
|
|
2784 |
msgstr "Código"
|
2785 |
|
2786 |
msgid "Regular price"
|
2787 |
-
msgstr "Preço
|
2788 |
|
2789 |
msgid "Price with custom Sender ID"
|
2790 |
-
msgstr "Preço com ID do remetente
|
2791 |
-
|
2792 |
-
msgid "Order"
|
2793 |
-
msgstr "Pedido"
|
2794 |
|
2795 |
msgid "Requested ID"
|
2796 |
-
msgstr "ID
|
2797 |
|
2798 |
msgid "Status date"
|
2799 |
msgstr "Data do status"
|
@@ -2808,7 +2814,7 @@ msgstr ""
|
|
2808 |
|
2809 |
#, php-format
|
2810 |
msgid "View %1$s version %2$s details"
|
2811 |
-
msgstr "Ver detalhes
|
2812 |
|
2813 |
msgid "Important"
|
2814 |
msgstr "Importante"
|
@@ -2819,10 +2825,11 @@ msgid ""
|
|
2819 |
"properly on all WordPress configurations and completely protect it from the "
|
2820 |
"influence of other plugins."
|
2821 |
msgstr ""
|
2822 |
-
"Cada versão do Bookly é
|
2823 |
-
"qualidade antes da instalação, no entanto não podemos garantir que depois
|
2824 |
-
"uma atualização, o plugin funcione
|
2825 |
-
"e esteja totalmente protegido das
|
|
|
2826 |
|
2827 |
#, php-format
|
2828 |
msgid ""
|
@@ -2830,10 +2837,10 @@ msgid ""
|
|
2830 |
"the plugin. Please note that, according to %1$s Envato rules %2$s, we will "
|
2831 |
"be able to help you only if you have active item support period."
|
2832 |
msgstr ""
|
2833 |
-
"Há um pequeno risco de que alguns problemas
|
2834 |
-
"
|
2835 |
-
"
|
2836 |
-
"
|
2837 |
|
2838 |
#, php-format
|
2839 |
msgid ""
|
@@ -2842,13 +2849,13 @@ msgid ""
|
|
2842 |
msgstr "Pode renovar o suporte %1$s aqui ou %2$s Já renovei o suporte. %3$s"
|
2843 |
|
2844 |
msgid "Bookly updater"
|
2845 |
-
msgstr "Atualização
|
2846 |
|
2847 |
msgid ""
|
2848 |
"Please wait, we are checking updates for {checked}/{total} Bookly add-ons"
|
2849 |
msgstr ""
|
2850 |
-
"
|
2851 |
-
"
|
2852 |
|
2853 |
msgid "No updates available"
|
2854 |
msgstr "Nenhuma atualização disponível"
|
@@ -2875,25 +2882,25 @@ msgid "Cancelled"
|
|
2875 |
msgstr "Cancelada"
|
2876 |
|
2877 |
msgid "Untitled"
|
2878 |
-
msgstr "Sem
|
2879 |
|
2880 |
msgid "Unknown"
|
2881 |
msgstr "Desconhecido"
|
2882 |
|
2883 |
msgid "New booking notification"
|
2884 |
-
msgstr "Nova reserva
|
2885 |
|
2886 |
msgid "New booking combined notification"
|
2887 |
msgstr "Nova notificação de reserva combinada"
|
2888 |
|
2889 |
msgid "New customer's WordPress user login details"
|
2890 |
-
msgstr "Detalhes do
|
2891 |
|
2892 |
msgid "Customer's birthday greeting"
|
2893 |
msgstr "Cumprimento do aniversário do cliente"
|
2894 |
|
2895 |
msgid "Customer's last appointment notification"
|
2896 |
-
msgstr "Notificação
|
2897 |
|
2898 |
msgid "Staff full day agenda"
|
2899 |
msgstr "Agenda do funcionário para o dia "
|
@@ -2926,8 +2933,8 @@ msgid ""
|
|
2926 |
"should update your user data, or press Cancel to edit entered data."
|
2927 |
msgstr ""
|
2928 |
"Seu %s: %s já está associado com outro %s.<br/>clique em Atualizar se "
|
2929 |
-
"devemos atualizar seus dados de
|
2930 |
-
"dados inseridos."
|
2931 |
|
2932 |
msgid "sent to our system"
|
2933 |
msgstr "enviado para o nosso sistema"
|
@@ -2945,7 +2952,7 @@ msgid ""
|
|
2945 |
"Thank you for using Bookly SMS. We wish you a lucky week!\n"
|
2946 |
"Bookly SMS Team"
|
2947 |
msgstr ""
|
2948 |
-
"Esperamos que
|
2949 |
"mensagens enviadas na semana passada:\n"
|
2950 |
"{notification_list}\n"
|
2951 |
"\n"
|
@@ -2954,7 +2961,7 @@ msgstr ""
|
|
2954 |
"O custo de envio de {total} mensagens foi {amount}. O saldo corrente de "
|
2955 |
"Bookly SMS é {balance}.\n"
|
2956 |
"\n"
|
2957 |
-
"Obrigado por usar Bookly SMS.
|
2958 |
"Equipe Bookly SMS"
|
2959 |
|
2960 |
msgid "more"
|
@@ -2973,25 +2980,24 @@ msgid ""
|
|
2973 |
"To view the details of these appointments, please contact your website "
|
2974 |
"administrator in order to verify Bookly Pro license."
|
2975 |
msgstr ""
|
2976 |
-
"Para visualizar os detalhes
|
2977 |
-
"
|
2978 |
-
"Bookly Pro."
|
2979 |
|
2980 |
msgid "Admins"
|
2981 |
msgstr "Admins"
|
2982 |
|
2983 |
msgid "Passwords must be the same."
|
2984 |
-
msgstr "As
|
2985 |
|
2986 |
msgid ""
|
2987 |
"Your don't have enough Bookly SMS credits to send this message. Please add "
|
2988 |
"funds to your balance and try again."
|
2989 |
msgstr ""
|
2990 |
-
"
|
2991 |
-
"
|
2992 |
|
2993 |
msgid "Failed to send SMS."
|
2994 |
-
msgstr "Não foi possível enviar SMS."
|
2995 |
|
2996 |
msgid "Phone number is empty."
|
2997 |
msgstr "Número de telefone está vazio."
|
@@ -3043,11 +3049,11 @@ msgid ""
|
|
3043 |
"settings <a href='%s'>here</a>."
|
3044 |
msgstr ""
|
3045 |
"Prezado cliente Bookly SMS.\n"
|
3046 |
-
"Gostaríamos de informá-lo que o seu saldo Bookly SMS
|
3047 |
-
"Para usar nosso serviço sem interrupções recarregue seu saldo,
|
3048 |
"página do Bookly SMS <a href='%s'>aqui</a>.\n"
|
3049 |
"\n"
|
3050 |
-
"Se quiser parar de receber estas notificações, por favor, atualize suas "
|
3051 |
"configurações <a href='%s'>aqui</a>."
|
3052 |
|
3053 |
msgid "Bookly SMS - Low Balance"
|
@@ -3080,6 +3086,10 @@ msgstr "E-mail inválido."
|
|
3080 |
msgid "Pending sender ID already exists."
|
3081 |
msgstr "ID do remetente pendente já existe"
|
3082 |
|
|
|
|
|
|
|
|
|
3083 |
msgid "Recovery code expired."
|
3084 |
msgstr "Código de recuperação expirado."
|
3085 |
|
@@ -3087,13 +3097,13 @@ msgid "Error sending email."
|
|
3087 |
msgstr "Erro ao enviar e-mail."
|
3088 |
|
3089 |
msgid "User not found."
|
3090 |
-
msgstr "
|
3091 |
|
3092 |
msgid "Email already in use."
|
3093 |
msgstr "Email já está em uso."
|
3094 |
|
3095 |
msgid "Dashboard"
|
3096 |
-
msgstr "Painel
|
3097 |
|
3098 |
msgid "Staff Members"
|
3099 |
msgstr "Funcionários"
|
@@ -3138,10 +3148,10 @@ msgid "Created at any time"
|
|
3138 |
msgstr "Criado em qualquer data"
|
3139 |
|
3140 |
msgid "Any time"
|
3141 |
-
msgstr "
|
3142 |
|
3143 |
msgid "No appointments for selected period."
|
3144 |
-
msgstr "Sem
|
3145 |
|
3146 |
msgid "No result found"
|
3147 |
msgstr "Nenhum resultado encontrado"
|
@@ -3155,66 +3165,62 @@ msgstr "Anexos"
|
|
3155 |
msgid "Archived"
|
3156 |
msgstr "Arquivado"
|
3157 |
|
3158 |
-
msgid "
|
3159 |
-
msgstr "
|
3160 |
-
|
3161 |
-
msgid "Company name"
|
3162 |
-
msgstr "Nome da empresa"
|
3163 |
-
|
3164 |
-
msgid "Note: invoice will be sent to your PayPal email address"
|
3165 |
-
msgstr "Nota: a fatura será enviada ao seu endereço e-mail PayPal"
|
3166 |
-
|
3167 |
-
msgid "Company address"
|
3168 |
-
msgstr "Endereço da empresa"
|
3169 |
-
|
3170 |
-
msgid "Copy invoice to another email(s)"
|
3171 |
-
msgstr "Copiar fatura paro outro(s) e-mail(s)."
|
3172 |
|
3173 |
-
msgid "
|
3174 |
-
|
|
|
|
|
|
|
|
|
|
|
3175 |
|
3176 |
-
msgid "
|
3177 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3178 |
|
3179 |
-
msgid "
|
3180 |
-
|
|
|
|
|
|
|
|
|
3181 |
|
3182 |
-
msgid "
|
3183 |
-
msgstr "
|
|
|
3184 |
|
3185 |
-
msgid "
|
3186 |
-
msgstr "
|
|
|
3187 |
|
3188 |
msgid "SMS Notifications"
|
3189 |
-
msgstr "Notificações
|
3190 |
-
|
3191 |
-
msgid "Your balance"
|
3192 |
-
msgstr "Seu saldo"
|
3193 |
-
|
3194 |
-
msgid "Send email notification to administrators at low balance"
|
3195 |
-
msgstr "Enviar notificação por email para os administradores com saldo baixo"
|
3196 |
-
|
3197 |
-
msgid "Send weekly summary to administrators"
|
3198 |
-
msgstr "Enviar resumo semanal para os administradores"
|
3199 |
-
|
3200 |
-
msgid "Change"
|
3201 |
-
msgstr "Alterar"
|
3202 |
|
3203 |
msgid "Approved at"
|
3204 |
msgstr "Aprovado em"
|
3205 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3206 |
msgid "Log out"
|
3207 |
msgstr "Sair"
|
3208 |
|
3209 |
msgid "Notifications"
|
3210 |
msgstr "Notificações"
|
3211 |
|
3212 |
-
msgid "Add money"
|
3213 |
-
msgstr "Adicionar dinheiro"
|
3214 |
-
|
3215 |
-
msgid "Auto-Recharge"
|
3216 |
-
msgstr "Auto-Recharge"
|
3217 |
-
|
3218 |
msgid "Purchases"
|
3219 |
msgstr "Compras"
|
3220 |
|
@@ -3228,9 +3234,8 @@ msgid ""
|
|
3228 |
"SMS Notifications (or \"Bookly SMS\") is a service for notifying your "
|
3229 |
"customers via text messages which are sent to mobile phones."
|
3230 |
msgstr ""
|
3231 |
-
"Notificações
|
3232 |
-
"clientes através de mensagens de texto que são enviadas para
|
3233 |
-
"móveis."
|
3234 |
|
3235 |
msgid "It is necessary to register in order to start using this service."
|
3236 |
msgstr "É necessário registrar-se para começar a utilizar este serviço."
|
@@ -3239,11 +3244,11 @@ msgid ""
|
|
3239 |
"After registration you will need to configure notification messages and top "
|
3240 |
"up your balance in order to start sending SMS."
|
3241 |
msgstr ""
|
3242 |
-
"Após o
|
3243 |
-
"
|
3244 |
|
3245 |
msgid "Thank you for registration."
|
3246 |
-
msgstr "Obrigado por ter
|
3247 |
|
3248 |
msgid "You're almost ready to get started with Bookly SMS Service."
|
3249 |
msgstr "Está quase pronto para começar a usar o Serviço Bookly SMS."
|
@@ -3266,73 +3271,56 @@ msgstr "Não recebeu o email ?"
|
|
3266 |
|
3267 |
#, php-format
|
3268 |
msgid "Is %s the correct email?"
|
3269 |
-
msgstr "%s é o email correto ?"
|
3270 |
|
3271 |
#, php-format
|
3272 |
msgid "If not, you can %s restart the registration process%s."
|
3273 |
-
msgstr "Caso contrário, pode %s recomeçar o processo de
|
3274 |
|
3275 |
msgid "Check your spam folder."
|
3276 |
msgstr "Verifique sua pasta de spams."
|
3277 |
|
3278 |
#, php-format
|
3279 |
msgid "Click %s here %s to resend the email."
|
3280 |
-
msgstr "Clicar %s aqui %s para
|
3281 |
|
3282 |
msgid "Password"
|
3283 |
-
msgstr "
|
3284 |
|
3285 |
msgid "Log In"
|
3286 |
msgstr "Entrar"
|
3287 |
|
3288 |
msgid "Registration"
|
3289 |
-
msgstr "
|
3290 |
|
3291 |
msgid "Forgot password"
|
3292 |
-
msgstr "Esqueceu sua
|
3293 |
|
3294 |
msgid "Repeat password"
|
3295 |
-
msgstr "Repita a
|
3296 |
|
3297 |
#, php-format
|
3298 |
msgid ""
|
3299 |
"I accept <a href=\"%1$s\" target=\"_blank\">Service Terms</a> and <a "
|
3300 |
"href=\"%2$s\" target=\"_blank\">Privacy Policy</a>"
|
3301 |
msgstr ""
|
3302 |
-
"Eu aceito <a href=\"%1$s\" target=\"_blank\">os Termos de Serviço</a>
|
3303 |
-
"href=\"%2$s\" target=\"_blank\">
|
3304 |
|
3305 |
msgid "Register"
|
3306 |
-
msgstr "
|
3307 |
|
3308 |
msgid "Enter code from email"
|
3309 |
msgstr "Digite o código recebido no e-mail"
|
3310 |
|
3311 |
msgid "Repeat new password"
|
3312 |
-
msgstr "Repita a nova
|
3313 |
-
|
3314 |
-
msgid "Change password"
|
3315 |
-
msgstr "Alterar a senha"
|
3316 |
-
|
3317 |
-
msgid "Old password"
|
3318 |
-
msgstr "Senha antiga"
|
3319 |
-
|
3320 |
-
msgid ""
|
3321 |
-
"We will only charge your PayPal account when your balance falls below $10."
|
3322 |
-
msgstr ""
|
3323 |
-
"Só debitamos de sua conta PayPal quando seu saldo estiver abaixo de $10."
|
3324 |
-
|
3325 |
-
msgid "Enable Auto-Recharge"
|
3326 |
-
msgstr "Ativar Auto-Recharge"
|
3327 |
-
|
3328 |
-
msgid "Disable Auto-Recharge"
|
3329 |
-
msgstr "Desativar Auto-Recharge"
|
3330 |
|
3331 |
msgid ""
|
3332 |
"If you do not see your country in the list please contact us at <a "
|
3333 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3334 |
msgstr ""
|
3335 |
-
"Se não vê seu pais nesta lista, Por favor, entre em contato
|
3336 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3337 |
|
3338 |
msgid "Administrator phone"
|
@@ -3342,7 +3330,7 @@ msgid "Send test SMS"
|
|
3342 |
msgstr "Enviar SMS de teste"
|
3343 |
|
3344 |
msgid "Save administrator phone"
|
3345 |
-
msgstr "Guardar telefone do administrador"
|
3346 |
|
3347 |
msgid ""
|
3348 |
"Enter a phone number in international format. E.g. for the United States a "
|
@@ -3359,7 +3347,7 @@ msgid ""
|
|
3359 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
3360 |
"Multisite</a> add-on <a href=\"%2$s\">message</a>."
|
3361 |
msgstr ""
|
3362 |
-
"Para enviar notificações agendadas consulte o
|
3363 |
"Multisite</a> <a href=\"%2$s\">mensagem</a>."
|
3364 |
|
3365 |
msgid ""
|
@@ -3375,12 +3363,12 @@ msgid ""
|
|
3375 |
"our price list. Also please note that prices for messages with custom sender "
|
3376 |
"ID are usually 20% - 25% higher than normal message price."
|
3377 |
msgstr ""
|
3378 |
-
"Por favor,
|
3379 |
"personalizado de remetente de SMS. Por favor, verifique se determinado país "
|
3380 |
-
"permite
|
3381 |
-
"
|
3382 |
-
"
|
3383 |
-
"normal."
|
3384 |
|
3385 |
msgid "Request Sender ID"
|
3386 |
msgstr "Solicitar ID de remetente"
|
@@ -3397,20 +3385,83 @@ msgstr "Cancelar solicitação"
|
|
3397 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3398 |
msgstr "Só pode conter letras ou dígitos (até 11 caracteres)."
|
3399 |
|
3400 |
-
msgid "
|
3401 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3402 |
|
3403 |
-
msgid "
|
3404 |
-
msgstr "
|
3405 |
|
3406 |
-
msgid "
|
3407 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3408 |
|
3409 |
-
msgid "
|
3410 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3411 |
|
3412 |
-
msgid "
|
3413 |
-
msgstr "
|
|
|
3414 |
|
3415 |
msgid "Last month"
|
3416 |
msgstr "Último mês"
|
@@ -3424,15 +3475,12 @@ msgstr "ID do remetente foi redefinido para o padrão."
|
|
3424 |
msgid "No records for selected period."
|
3425 |
msgstr "Não há registros para o período selecionado."
|
3426 |
|
3427 |
-
msgid "Invoice"
|
3428 |
-
msgstr "Fatura"
|
3429 |
-
|
3430 |
msgid ""
|
3431 |
-
"To generate an invoice you should fill in company information in Bookly
|
3432 |
-
"
|
3433 |
msgstr ""
|
3434 |
-
"Para gerar uma fatura,
|
3435 |
-
"
|
3436 |
|
3437 |
msgid "enable"
|
3438 |
msgstr "ativar"
|
@@ -3448,19 +3496,6 @@ msgstr ""
|
|
3448 |
"O serviço está temporariamente indisponível. Por favor, tente novamente mais "
|
3449 |
"tarde."
|
3450 |
|
3451 |
-
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3452 |
-
msgstr "O Auto-Recharge falhou. Por favor, recarregue o seu saldo diretamente."
|
3453 |
-
|
3454 |
-
msgid "Auto-Recharge disabled"
|
3455 |
-
msgstr "Auto-Recharge desativado"
|
3456 |
-
|
3457 |
-
msgid ""
|
3458 |
-
"Error. Can't disable Auto-Recharge, you can perform this action in your "
|
3459 |
-
"PayPal account."
|
3460 |
-
msgstr ""
|
3461 |
-
"Erro. Não é possível desativar o Auto-Recharge. Você pode executar esta ação "
|
3462 |
-
"em sua conta PayPal."
|
3463 |
-
|
3464 |
msgid "SMS has been sent successfully."
|
3465 |
msgstr "SMS foi enviada com sucesso."
|
3466 |
|
@@ -3468,10 +3503,10 @@ msgid "Staff members order"
|
|
3468 |
msgstr "Ordem dos funcionários"
|
3469 |
|
3470 |
msgid "Add staff"
|
3471 |
-
msgstr "Adicionar
|
3472 |
|
3473 |
msgid "Quick search staff"
|
3474 |
-
msgstr "Pesquisa rápida
|
3475 |
|
3476 |
msgid "Categories"
|
3477 |
msgstr "Categorias"
|
@@ -3499,7 +3534,7 @@ msgstr ""
|
|
3499 |
"os intervalos de tempo no sistema."
|
3500 |
|
3501 |
msgid "Set slot length as service duration"
|
3502 |
-
msgstr "Definir duração do intervalo de tempo como duração do serviço"
|
3503 |
|
3504 |
msgid ""
|
3505 |
"Enable this option to make slot length equal to service duration at the Time "
|
@@ -3512,20 +3547,20 @@ msgid "Default appointment status"
|
|
3512 |
msgstr "Status padrão do compromisso"
|
3513 |
|
3514 |
msgid "Select status for newly booked appointments."
|
3515 |
-
msgstr "Selecione um status para os compromissos recém-
|
3516 |
|
3517 |
msgid "Number of days available for booking"
|
3518 |
msgstr "Número de dias disponíveis para reservas"
|
3519 |
|
3520 |
msgid "Set how far in the future the clients can book appointments."
|
3521 |
msgstr ""
|
3522 |
-
"Definir o quão longe no futuro os clientes podem
|
3523 |
|
3524 |
msgid "Display available time slots in client's time zone"
|
3525 |
msgstr "Exibir intervalos de tempo disponíveis no fuso horário do cliente"
|
3526 |
|
3527 |
msgid "The value is taken from client's browser."
|
3528 |
-
msgstr "O valor "
|
3529 |
|
3530 |
msgid "Allow staff members to edit their profiles"
|
3531 |
msgstr "Permitir que os funcionários editem os seus perfis"
|
@@ -3536,8 +3571,8 @@ msgid ""
|
|
3536 |
"and days off."
|
3537 |
msgstr ""
|
3538 |
"Se esta opção estiver ativada, todos os funcionários que estão associados "
|
3539 |
-
"com os
|
3540 |
-
"serviços,
|
3541 |
|
3542 |
msgid "Method to include Bookly JavaScript and CSS files on the page"
|
3543 |
msgstr "Método para incluir o Bookly JavaScript e arquivos CSS na página"
|
@@ -3556,16 +3591,16 @@ msgstr ""
|
|
3556 |
|
3557 |
msgid "Help us improve Bookly by sending anonymous usage stats"
|
3558 |
msgstr ""
|
3559 |
-
"Ajude-nos a melhorar o Bookly enviando estatísticas de utilização
|
3560 |
|
3561 |
msgid ""
|
3562 |
"Allow the plugin to set a Powered by Bookly notice on the booking widget to "
|
3563 |
"spread information about the plugin. This will allow the team to improve the "
|
3564 |
"product and enhance its functionality"
|
3565 |
msgstr ""
|
3566 |
-
"
|
3567 |
-
"reservas e
|
3568 |
-
"a
|
3569 |
|
3570 |
msgid "Caching of pages with booking form"
|
3571 |
msgstr "Páginas em cache com formulário de reserva."
|
@@ -3576,7 +3611,7 @@ msgid ""
|
|
3576 |
"form."
|
3577 |
msgstr ""
|
3578 |
"Selecione \"Impedir\" se quiser que Bookly evite cache por plugins de cache "
|
3579 |
-
"de terceiros, adicionando uma constante DONOTCACHEPAGE
|
3580 |
"formulário de reserva."
|
3581 |
|
3582 |
msgid "Allow"
|
@@ -3598,71 +3633,71 @@ msgid "Company"
|
|
3598 |
msgstr "Empresa"
|
3599 |
|
3600 |
msgid "Business Hours"
|
3601 |
-
msgstr "Horário
|
3602 |
|
3603 |
msgid "Holidays"
|
3604 |
msgstr "Feriados"
|
3605 |
|
3606 |
msgid "Approve appointment URL (success)"
|
3607 |
-
msgstr "URL de aprovação
|
3608 |
|
3609 |
msgid ""
|
3610 |
"Set the URL of a page that is shown to staff after they successfully "
|
3611 |
"approved the appointment."
|
3612 |
msgstr ""
|
3613 |
-
"
|
3614 |
-
"aprovarem
|
3615 |
|
3616 |
msgid "Approve appointment URL (denied)"
|
3617 |
-
msgstr "URL de aprovação
|
3618 |
|
3619 |
msgid ""
|
3620 |
"Set the URL of a page that is shown to staff when the approval of "
|
3621 |
"appointment cannot be done (due to capacity, changed status, etc.)."
|
3622 |
msgstr ""
|
3623 |
-
"Defina a URL
|
3624 |
-
"
|
3625 |
-
"
|
3626 |
|
3627 |
msgid "Cancel appointment URL (success)"
|
3628 |
-
msgstr "URL de cancelamento
|
3629 |
|
3630 |
msgid ""
|
3631 |
"Set the URL of a page that is shown to clients after they successfully "
|
3632 |
"cancelled their appointment."
|
3633 |
msgstr ""
|
3634 |
-
"Defina a URL
|
3635 |
-
"
|
3636 |
|
3637 |
msgid "Cancel appointment URL (denied)"
|
3638 |
-
msgstr "URL para cancelamento
|
3639 |
|
3640 |
msgid ""
|
3641 |
"Set the URL of a page that is shown to clients when the cancellation of "
|
3642 |
"appointment is not available anymore."
|
3643 |
msgstr ""
|
3644 |
-
"Defina a URL
|
3645 |
-
"
|
3646 |
|
3647 |
msgid "Reject appointment URL (success)"
|
3648 |
-
msgstr "URL
|
3649 |
|
3650 |
msgid ""
|
3651 |
"Set the URL of a page that is shown to staff after they successfully "
|
3652 |
"rejected the appointment."
|
3653 |
msgstr ""
|
3654 |
-
"Definir a URL
|
3655 |
-
"rejeitarem
|
3656 |
|
3657 |
msgid "Reject appointment URL (denied)"
|
3658 |
-
msgstr "URL
|
3659 |
|
3660 |
msgid ""
|
3661 |
"Set the URL of a page that is shown to staff when the rejection of "
|
3662 |
"appointment cannot be done (due to changed status, etc.)."
|
3663 |
msgstr ""
|
3664 |
-
"Definir a URL
|
3665 |
-
"
|
3666 |
|
3667 |
msgid ""
|
3668 |
"Please note, the business hours below work as a template for all new staff "
|
@@ -3671,21 +3706,25 @@ msgid ""
|
|
3671 |
"sure to check the schedule of your staff members if you have some unexpected "
|
3672 |
"behavior of the booking system."
|
3673 |
msgstr ""
|
3674 |
-
"Por favor, observe que o horário
|
3675 |
-
"para todos os novos funcionários. Para
|
3676 |
-
"
|
3677 |
-
"funcionários, não o horário comercial da empresa. Certifique-se de
|
3678 |
-
"o horário dos seus funcionários
|
3679 |
-
"do sistema de reserva."
|
|
|
|
|
|
|
|
|
3680 |
|
3681 |
msgid "duration of service"
|
3682 |
msgstr "duração do serviço"
|
3683 |
|
3684 |
msgid "Appointment with one participant"
|
3685 |
-
msgstr "
|
3686 |
|
3687 |
msgid "Appointment with many participants"
|
3688 |
-
msgstr "
|
3689 |
|
3690 |
msgid "Set order of the fields in calendar"
|
3691 |
msgstr "Definir a ordem dos campos no calendário"
|
@@ -3694,7 +3733,7 @@ msgid "Currency"
|
|
3694 |
msgstr "Moeda"
|
3695 |
|
3696 |
msgid "Price format"
|
3697 |
-
msgstr "Formato
|
3698 |
|
3699 |
msgid "Phone field default country"
|
3700 |
msgstr "País padrão do campo de telefone"
|
@@ -3705,11 +3744,11 @@ msgid ""
|
|
3705 |
"client."
|
3706 |
msgstr ""
|
3707 |
"Selecione um país padrão para o campo de telefone no passo \"Detalhes\" da "
|
3708 |
-
"reserva.
|
3709 |
"endereço IP do cliente."
|
3710 |
|
3711 |
msgid "Guess country by user's IP address"
|
3712 |
-
msgstr "Adivinhar país por endereço IP do
|
3713 |
|
3714 |
msgid "Default country code"
|
3715 |
msgstr "Código padrão de país"
|
@@ -3722,25 +3761,25 @@ msgid ""
|
|
3722 |
"client enters their phone as \"(600) 555-2222\" the resulting phone number "
|
3723 |
"to send the SMS to will be \"+1600555222\"."
|
3724 |
msgstr ""
|
3725 |
-
"
|
3726 |
-
"
|
3727 |
-
"código de país padrão que será utilizado como
|
3728 |
-
"números de telefone que não começam com \"+\" ou \"00\". Por
|
3729 |
-
"
|
3730 |
-
"como \"(600) 555-2222\", o número de telefone resultante para
|
3731 |
-
"será \"+1600555222\"."
|
3732 |
|
3733 |
msgid "Remember personal information in cookies"
|
3734 |
-
msgstr "Lembrar
|
3735 |
|
3736 |
msgid ""
|
3737 |
"If this setting is enabled then returning customers will have their personal "
|
3738 |
"information fields filled in at the Details step with the data previously "
|
3739 |
"saved in cookies."
|
3740 |
msgstr ""
|
3741 |
-
"Se esta configuração estiver ativada, os clientes que retornarem terão
|
3742 |
-
"campos de informações pessoais preenchidos na etapa Detalhes com os
|
3743 |
-
"salvos anteriormente nos cookies."
|
3744 |
|
3745 |
msgid "Allow duplicate customers"
|
3746 |
msgstr "Permitir clientes duplicados"
|
@@ -3749,8 +3788,8 @@ msgid ""
|
|
3749 |
"If enabled, a new user will be created if any of the registration data "
|
3750 |
"during the booking is different."
|
3751 |
msgstr ""
|
3752 |
-
"Se ativado, um novo
|
3753 |
-
"durante a reserva
|
3754 |
|
3755 |
msgid "Show confirmation dialog before updating customer's data"
|
3756 |
msgstr ""
|
@@ -3771,13 +3810,13 @@ msgid ""
|
|
3771 |
"correct this problem."
|
3772 |
msgstr ""
|
3773 |
"O carrinho do WooCommerce não está configurado. Siga o <a href=\"%s\">"
|
3774 |
-
"link</a> para corrigir
|
3775 |
|
3776 |
msgid "Services order"
|
3777 |
msgstr "Ordem dos serviços"
|
3778 |
|
3779 |
msgid "Add service"
|
3780 |
-
msgstr "Adicionar serviço"
|
3781 |
|
3782 |
msgid "Quick search services"
|
3783 |
msgstr "Pesquisa rápida serviços"
|
@@ -3790,12 +3829,12 @@ msgid ""
|
|
3790 |
"separately for each staff member. Do you want to update it in staff settings "
|
3791 |
"too?"
|
3792 |
msgstr ""
|
3793 |
-
"
|
3794 |
-
"separadamente para cada funcionário.
|
3795 |
-
"
|
3796 |
|
3797 |
msgid "Remember my choice"
|
3798 |
-
msgstr "Lembrar da minha escolha"
|
3799 |
|
3800 |
msgid "No, update just here in services"
|
3801 |
msgstr "Não, apenas atualizar aqui em serviços"
|
@@ -3814,32 +3853,40 @@ msgstr "Nenhum funcionário escolhido"
|
|
3814 |
|
3815 |
#, php-format
|
3816 |
msgid "This text can be inserted into notifications with %s code."
|
3817 |
-
msgstr "Este texto pode ser inserido
|
3818 |
|
3819 |
msgid "Start and end times of the appointment"
|
3820 |
-
msgstr "Horas de início e término
|
3821 |
|
3822 |
msgid ""
|
3823 |
"Allows to set the start and end times for an appointment for services with "
|
3824 |
"the duration of 1 day or longer. This time will be displayed in "
|
3825 |
"notifications to customers, backend calendar and codes for booking form."
|
3826 |
msgstr ""
|
3827 |
-
"Permite definir os horários de início e término de
|
3828 |
-
"
|
3829 |
-
"
|
3830 |
-
"
|
3831 |
|
3832 |
msgid "Slot length as service duration"
|
3833 |
-
msgstr "Intervalo de tempo
|
3834 |
|
3835 |
msgid ""
|
3836 |
"The time interval which is used as a step when building all time slots for "
|
3837 |
"the service at the Time step. The setting overrides global settings in "
|
3838 |
-
"Settings
|
3839 |
msgstr ""
|
3840 |
-
"
|
3841 |
-
"serviço na etapa
|
3842 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3843 |
|
3844 |
msgid "You must select at least one repeat option for recurring services."
|
3845 |
msgstr ""
|
@@ -3855,6 +3902,29 @@ msgid_plural "%d services"
|
|
3855 |
msgstr[0] "%d serviço"
|
3856 |
msgstr[1] "%d serviços"
|
3857 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3858 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3859 |
msgstr "Bem-vindo ao Bookly e obrigado pela sua escolha!"
|
3860 |
|
@@ -3864,38 +3934,38 @@ msgid ""
|
|
3864 |
"Bookly your clients can see your availability, pick the services you provide,"
|
3865 |
" book them online and much more."
|
3866 |
msgstr ""
|
3867 |
-
"O Bookly simplificará o processo de reservas para seus clientes. Este
|
3868 |
-
"cria outro ponto de contato para converter seus visitantes em
|
3869 |
-
"o Bookly, seus clientes podem ver sua disponibilidade,
|
3870 |
-
"que
|
3871 |
|
3872 |
msgid ""
|
3873 |
"To start using Bookly, you need to set up the services you provide and "
|
3874 |
"specify the staff members who will provide those services."
|
3875 |
msgstr ""
|
3876 |
-
"Para começar a usar o Bookly,
|
3877 |
-
"
|
3878 |
|
3879 |
msgid ""
|
3880 |
"Add a staff member (you can add only one service provider with a free "
|
3881 |
"version of Bookly)."
|
3882 |
msgstr ""
|
3883 |
-
"
|
3884 |
"serviço com a versão gratuita do Bookly)."
|
3885 |
|
3886 |
msgid ""
|
3887 |
"Add services you provide (up to five with a free version of Bookly) and "
|
3888 |
"assign them to a staff member."
|
3889 |
msgstr ""
|
3890 |
-
"
|
3891 |
-
"
|
3892 |
|
3893 |
msgid ""
|
3894 |
"Go to Posts/Pages and click on the Add Bookly booking form button in the "
|
3895 |
"page editor to publish the booking form on your website."
|
3896 |
msgstr ""
|
3897 |
-
"Vá para
|
3898 |
-
"Bookly no editor de
|
3899 |
|
3900 |
#, php-format
|
3901 |
msgid ""
|
@@ -3906,18 +3976,18 @@ msgid ""
|
|
3906 |
"install other add-ons for Bookly, and includes six months of customer "
|
3907 |
"support."
|
3908 |
msgstr ""
|
3909 |
-
"O Bookly pode impulsionar as suas vendas e crescer
|
3910 |
-
"
|
3911 |
-
"
|
3912 |
-
"
|
3913 |
-
"
|
3914 |
-
"
|
3915 |
|
3916 |
msgid "Add Staff Members"
|
3917 |
-
msgstr "
|
3918 |
|
3919 |
msgid "Add Services"
|
3920 |
-
msgstr "
|
3921 |
|
3922 |
msgid "Try Bookly Pro add-on"
|
3923 |
msgstr "Experimente o add-on Bookly Pro"
|
@@ -3929,13 +3999,13 @@ msgid "See details for more items"
|
|
3929 |
msgstr "Ver detalhes para mais itens"
|
3930 |
|
3931 |
msgid "Edit custom CSS"
|
3932 |
-
msgstr "
|
3933 |
|
3934 |
msgid "Set up your custom CSS styles"
|
3935 |
-
msgstr "Configure seus estilos CSS personalizados"
|
3936 |
|
3937 |
msgid "Show form progress tracker"
|
3938 |
-
msgstr "Ver
|
3939 |
|
3940 |
msgid "Align buttons to the left"
|
3941 |
msgstr "Alinhar os botões à esquerda"
|
@@ -3952,9 +4022,9 @@ msgid ""
|
|
3952 |
"like to keep or remove from the booking form. Click Insert, and the booking "
|
3953 |
"form will be added to the page."
|
3954 |
msgstr ""
|
3955 |
-
"Abra a página
|
3956 |
-
"
|
3957 |
-
"Bookly\". Escolha quais campos
|
3958 |
"reserva. Clique em Inserir e o formulário de reserva será adicionado à "
|
3959 |
"página."
|
3960 |
|
@@ -3965,7 +4035,7 @@ msgid "Make selecting employee required"
|
|
3965 |
msgstr "Tornar a seleção dos empregados obrigatória"
|
3966 |
|
3967 |
msgid "Show service price next to employee name"
|
3968 |
-
msgstr "Mostrar preço do serviço ao lado do nome do
|
3969 |
|
3970 |
msgid "Show service duration next to service name"
|
3971 |
msgstr "Mostrar a duração do serviço ao lado do nome do serviço"
|
@@ -3974,10 +4044,10 @@ msgid "Show calendar"
|
|
3974 |
msgstr "Mostrar calendário"
|
3975 |
|
3976 |
msgid "Show blocked timeslots"
|
3977 |
-
msgstr "Mostrar intervalos de tempo bloqueados"
|
3978 |
|
3979 |
msgid "Show each day in one column"
|
3980 |
-
msgstr "Mostrar cada dia
|
3981 |
|
3982 |
msgid "Phone field required"
|
3983 |
msgstr "O campo de telefone é necessário"
|
@@ -3993,7 +4063,8 @@ msgstr "Exibir botão de Login"
|
|
3993 |
|
3994 |
msgid "Do not forget to update your email and SMS codes for customer names"
|
3995 |
msgstr ""
|
3996 |
-
"Não esqueça de atualizar seu e-mail e códigos SMS para os nomes dos
|
|
|
3997 |
|
3998 |
msgid "Use first and last name instead of full name"
|
3999 |
msgstr "Use o primeiro e o último nome ao invés do nome completo"
|
@@ -4002,7 +4073,7 @@ msgid "Email confirmation field"
|
|
4002 |
msgstr "Campo de confirmação de e-mail"
|
4003 |
|
4004 |
msgid "Show notes field"
|
4005 |
-
msgstr "Exibir campo de observações"
|
4006 |
|
4007 |
msgid ""
|
4008 |
"The booking form on this step may have different set or states of its "
|
@@ -4011,7 +4082,7 @@ msgid ""
|
|
4011 |
"and click on the underlined text to edit."
|
4012 |
msgstr ""
|
4013 |
"O formulário de reserva nesta etapa pode ter diferentes conjuntos ou estados "
|
4014 |
-
"
|
4015 |
"instalados/ativados, configuração de definições ou escolhas feitas nos "
|
4016 |
"passos anteriores. Selecione a opção e clique no texto sublinhado para "
|
4017 |
"editar."
|
@@ -4024,48 +4095,48 @@ msgstr "Visualização do formulário caso o número das reservas exceda o limit
|
|
4024 |
|
4025 |
msgid "Form view in case of payment has been accepted for processing"
|
4026 |
msgstr ""
|
4027 |
-
"Visualização do formulário caso o pagamento seja
|
4028 |
|
4029 |
msgid "Visible when the chosen time slot has been already booked"
|
4030 |
msgstr "Visível quando o intervalo de tempo escolhido já foi reservado"
|
4031 |
|
4032 |
msgid "Visible to non-logged in customers only"
|
4033 |
-
msgstr "Visível apenas
|
4034 |
|
4035 |
msgid "Previous month"
|
4036 |
msgstr "Mês anterior"
|
4037 |
|
4038 |
msgid "Your custom CSS was saved. Please refresh the page to see your changes."
|
4039 |
msgstr ""
|
4040 |
-
"
|
4041 |
"alterações."
|
4042 |
|
4043 |
msgid "New customer"
|
4044 |
msgstr "Novo cliente"
|
4045 |
|
4046 |
msgid "Merge with"
|
4047 |
-
msgstr "
|
4048 |
|
4049 |
msgid "Select for merge"
|
4050 |
-
msgstr "Selecionar para
|
4051 |
|
4052 |
msgid "Merge list"
|
4053 |
-
msgstr "
|
4054 |
|
4055 |
msgid "Merge customers"
|
4056 |
-
msgstr "
|
4057 |
|
4058 |
msgid ""
|
4059 |
"You are about to merge customers from the merge list with the selected one. "
|
4060 |
"This will result in losing the merged customers and moving all their "
|
4061 |
"appointments to the selected customer. Are you sure you want to continue?"
|
4062 |
msgstr ""
|
4063 |
-
"
|
4064 |
-
"
|
4065 |
-
"
|
4066 |
|
4067 |
msgid "Merge"
|
4068 |
-
msgstr "
|
4069 |
|
4070 |
msgid "No customers found."
|
4071 |
msgstr "Nenhum cliente encontrado."
|
@@ -4128,14 +4199,13 @@ msgstr "Tudo certo."
|
|
4128 |
msgid ""
|
4129 |
"See the number of appointments and total revenue for the selected period"
|
4130 |
msgstr ""
|
4131 |
-
"
|
4132 |
-
"selecionado"
|
4133 |
|
4134 |
msgid "end date of appointment"
|
4135 |
-
msgstr "data final
|
4136 |
|
4137 |
msgid "end time of appointment"
|
4138 |
-
msgstr "hora final
|
4139 |
|
4140 |
msgid "cart information"
|
4141 |
msgstr "informações do carrinho"
|
@@ -4150,8 +4220,7 @@ msgid "time zone of client"
|
|
4150 |
msgstr "fuso horário do cliente"
|
4151 |
|
4152 |
msgid "URL of approve appointment link (to use inside <a> tag)"
|
4153 |
-
msgstr ""
|
4154 |
-
"URL para o link da aprovação de compromisso (para usar dentro da tag <a>)"
|
4155 |
|
4156 |
msgid ""
|
4157 |
"URL of cancel appointment link with confirmation (to use inside <a> tag)"
|
@@ -4160,19 +4229,19 @@ msgstr ""
|
|
4160 |
|
4161 |
msgid "URL of cancel appointment link (to use inside <a> tag)"
|
4162 |
msgstr ""
|
4163 |
-
"URL para o link de cancelamento de
|
4164 |
|
4165 |
msgid "reason you mentioned while deleting appointment"
|
4166 |
-
msgstr "motivo que
|
4167 |
|
4168 |
msgid ""
|
4169 |
"URL for adding event to client's Google Calendar (to use inside <a> tag)"
|
4170 |
msgstr ""
|
4171 |
-
"URL para a adição de eventos para o Google
|
4172 |
"dentro da tag <a>)"
|
4173 |
|
4174 |
msgid "URL of reject appointment link (to use inside <a> tag)"
|
4175 |
-
msgstr "URL do link
|
4176 |
|
4177 |
msgid "payment status"
|
4178 |
msgstr "status de pagamento"
|
@@ -4187,10 +4256,10 @@ msgid "date of next day"
|
|
4187 |
msgstr "data do dia seguinte"
|
4188 |
|
4189 |
msgid "customer new password"
|
4190 |
-
msgstr "nova
|
4191 |
|
4192 |
msgid "customer new username"
|
4193 |
-
msgstr "novo nome de
|
4194 |
|
4195 |
msgid "site address"
|
4196 |
msgstr "endereço do site"
|
@@ -4199,7 +4268,7 @@ msgid "company logo"
|
|
4199 |
msgstr "logotipo da empresa"
|
4200 |
|
4201 |
msgid "cancel appointment link"
|
4202 |
-
msgstr "link para cancelamento
|
4203 |
|
4204 |
msgid "photo of staff"
|
4205 |
msgstr "foto do funcionário"
|
@@ -4208,21 +4277,20 @@ msgid "General settings"
|
|
4208 |
msgstr "Configurações Gerais"
|
4209 |
|
4210 |
msgid "Scheduled notifications retry period"
|
4211 |
-
msgstr "Período
|
4212 |
|
4213 |
msgid ""
|
4214 |
"Set period of time when system will attempt to deliver notification to user. "
|
4215 |
"Notification will be discarded after period expiration."
|
4216 |
msgstr ""
|
4217 |
-
"
|
4218 |
-
"
|
4219 |
-
"expiração."
|
4220 |
|
4221 |
msgid "Save settings"
|
4222 |
msgstr "Guardar definições"
|
4223 |
|
4224 |
msgid "Test email notifications"
|
4225 |
-
msgstr "Teste de notificações
|
4226 |
|
4227 |
msgid "To email"
|
4228 |
msgstr "Para o e-mail"
|
@@ -4237,7 +4305,7 @@ msgid "Send"
|
|
4237 |
msgstr "Enviar"
|
4238 |
|
4239 |
msgid "Email notifications"
|
4240 |
-
msgstr "Notificações
|
4241 |
|
4242 |
msgid "Sender name"
|
4243 |
msgstr "Nome do remetente"
|
@@ -4253,7 +4321,7 @@ msgid ""
|
|
4253 |
"use Text mode of rich-text editors below. On some servers only text emails "
|
4254 |
"are sent successfully."
|
4255 |
msgstr ""
|
4256 |
-
"HTML permite formatação, cores, fontes, posicionamento, etc. Com Texto
|
4257 |
"deve usar o modo Texto de editores rich-text abaixo. Em alguns servidores "
|
4258 |
"apenas e-mails de texto são enviados com sucesso."
|
4259 |
|
@@ -4268,8 +4336,8 @@ msgid ""
|
|
4268 |
"a sender email address for notifications sent to staff members and "
|
4269 |
"administrators."
|
4270 |
msgstr ""
|
4271 |
-
"Se
|
4272 |
-
"endereço de e-mail
|
4273 |
"funcionários e administradores."
|
4274 |
|
4275 |
msgid "Sent successfully."
|
@@ -4286,12 +4354,12 @@ msgid ""
|
|
4286 |
"you choose to hide this field, please be sure to select a default value for "
|
4287 |
"it"
|
4288 |
msgstr ""
|
4289 |
-
"
|
4290 |
-
"por ocultar este campo,
|
4291 |
-
"
|
4292 |
|
4293 |
msgid "Default value for employee select"
|
4294 |
-
msgstr "Valor padrão do
|
4295 |
|
4296 |
msgid "Week days"
|
4297 |
msgstr "Dias da semana"
|
@@ -4300,47 +4368,11 @@ msgid "Time range"
|
|
4300 |
msgstr "Intervalo de tempo"
|
4301 |
|
4302 |
msgid "Add Bookly booking form"
|
4303 |
-
msgstr "Adicionar formulário de reserva no Bookly "
|
4304 |
|
4305 |
msgid "Insert Appointment Booking Form"
|
4306 |
msgstr "Insira formulário de reserva de compromissos"
|
4307 |
|
4308 |
-
msgid ""
|
4309 |
-
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4310 |
-
msgstr ""
|
4311 |
-
"Pode fazer-nos um GRANDE favor e dar-nos uma classificação de 5 estrelas no "
|
4312 |
-
"WordPress ?"
|
4313 |
-
|
4314 |
-
msgid "Just to help us spread the word and boost our motivation."
|
4315 |
-
msgstr "É só para passar a palavra e estimular a sua motivação."
|
4316 |
-
|
4317 |
-
msgid "Ok, you deserve it"
|
4318 |
-
msgstr "OK, você o mereceu"
|
4319 |
-
|
4320 |
-
msgid "Nope, maybe later"
|
4321 |
-
msgstr "Não, talvez posteriormente"
|
4322 |
-
|
4323 |
-
msgid "Thank you for the {star} star rating!!!"
|
4324 |
-
msgstr "Obrigado pela classificação de {star} estrelas"
|
4325 |
-
|
4326 |
-
msgid "You asked to remind you"
|
4327 |
-
msgstr "Você pediu para relembrar"
|
4328 |
-
|
4329 |
-
msgid "Congratulations!!!"
|
4330 |
-
msgstr "Parabéns !!!!"
|
4331 |
-
|
4332 |
-
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4333 |
-
msgstr "Acabou de fazer sua 10.a venda usando o plugin Bookly !"
|
4334 |
-
|
4335 |
-
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4336 |
-
msgstr "Acabou de fazer sua 100.a venda usando o plugin Bookly !"
|
4337 |
-
|
4338 |
-
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4339 |
-
msgstr "Acabou de fazer sua 1000.a venda usando o plugin Bookly !"
|
4340 |
-
|
4341 |
-
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4342 |
-
msgstr "Acabou de fazer sua 10000.a venda usando o plugin Bookly !"
|
4343 |
-
|
4344 |
msgid "Send tax information"
|
4345 |
msgstr "Enviar informações de tributação"
|
4346 |
|
@@ -4358,9 +4390,9 @@ msgid ""
|
|
4358 |
"gateway used. Specify a percentage or fixed amount. Use minus (\"-\") sign "
|
4359 |
"for decrease/discount."
|
4360 |
msgstr ""
|
4361 |
-
"
|
4362 |
-
"pagamento
|
4363 |
-
"menos (\"-\") para diminuir / desconto."
|
4364 |
|
4365 |
msgid "Enter a value"
|
4366 |
msgstr "Digite um valor"
|
@@ -4369,7 +4401,7 @@ msgid "Add"
|
|
4369 |
msgstr "Adicionar"
|
4370 |
|
4371 |
msgid "Reset"
|
4372 |
-
msgstr "
|
4373 |
|
4374 |
msgid "Notification settings"
|
4375 |
msgstr "Definições de notificações"
|
@@ -4382,7 +4414,7 @@ msgid ""
|
|
4382 |
"disabled and no messages are sent until you activate the notification."
|
4383 |
msgstr ""
|
4384 |
"Escolha se a notificação está ativada e as mensagens são enviadas ou se está "
|
4385 |
-
"desativada e nenhuma mensagem será enviada até que
|
4386 |
|
4387 |
msgid "Recipients"
|
4388 |
msgstr "Destinatários"
|
@@ -4409,8 +4441,8 @@ msgid ""
|
|
4409 |
"This notification is sent once for a booking made by a customer and includes "
|
4410 |
"all cart items."
|
4411 |
msgstr ""
|
4412 |
-
"Esta notificação é enviada uma
|
4413 |
-
"e inclui todos os itens do carrinho."
|
4414 |
|
4415 |
msgid "Save notification"
|
4416 |
msgstr "Salvar notificação"
|
@@ -4419,13 +4451,13 @@ msgid "Codes"
|
|
4419 |
msgstr "Códigos"
|
4420 |
|
4421 |
msgid "Appointment status"
|
4422 |
-
msgstr "Status
|
4423 |
|
4424 |
msgid ""
|
4425 |
"Select what status an appointment should have for the notification to be "
|
4426 |
"sent."
|
4427 |
msgstr ""
|
4428 |
-
"Selecione o status que
|
4429 |
"enviada."
|
4430 |
|
4431 |
msgid ""
|
@@ -4465,29 +4497,29 @@ msgid "New notification"
|
|
4465 |
msgstr "Nova notificação"
|
4466 |
|
4467 |
msgid "Select from WP users"
|
4468 |
-
msgstr "
|
4469 |
|
4470 |
msgid ""
|
4471 |
"If this staff member requires separate login to access personal calendar, a "
|
4472 |
"regular WP user needs to be created for this purpose."
|
4473 |
msgstr ""
|
4474 |
-
"Se este funcionário solicitar um login separado para
|
4475 |
-
"pessoal, um
|
4476 |
|
4477 |
msgid ""
|
4478 |
"User with \"Administrator\" role will have access to calendars and settings "
|
4479 |
"of all staff members, user with another role will have access only to "
|
4480 |
"personal calendar and settings."
|
4481 |
msgstr ""
|
4482 |
-
"Um
|
4483 |
-
"definições de todos os funcionários. Um
|
4484 |
-
"apenas ao calendário pessoal e suas definições."
|
4485 |
|
4486 |
msgid ""
|
4487 |
"If you leave this field blank, this staff member will not be able to access "
|
4488 |
"personal calendar using WP backend."
|
4489 |
msgstr ""
|
4490 |
-
"Se deixar este campo vazio, o funcionário não será capaz de
|
4491 |
"calendário pessoal através da área de administração do WP."
|
4492 |
|
4493 |
msgid "Archive"
|
@@ -4504,7 +4536,7 @@ msgid "No services found. Please add services."
|
|
4504 |
msgstr "Nenhum serviço encontrado. Por favor adicione serviços."
|
4505 |
|
4506 |
msgid "Add Service"
|
4507 |
-
msgstr "
|
4508 |
|
4509 |
msgid "Days Off"
|
4510 |
msgstr "Dias de folga"
|
@@ -4513,7 +4545,7 @@ msgid "The date has already passed."
|
|
4513 |
msgstr "A data já passou."
|
4514 |
|
4515 |
msgid "Create staff"
|
4516 |
-
msgstr "Criar
|
4517 |
|
4518 |
msgid "Edit staff"
|
4519 |
msgstr "Editar funcionário"
|
@@ -4525,10 +4557,10 @@ msgid "Error adding the break interval"
|
|
4525 |
msgstr "Erro ao adicionar o intervalo da folga"
|
4526 |
|
4527 |
msgid "Adjust the order of staff members in your booking form"
|
4528 |
-
msgstr "
|
4529 |
|
4530 |
msgid "Complete payment"
|
4531 |
-
msgstr "
|
4532 |
|
4533 |
msgid "Bind payment"
|
4534 |
msgstr "Vincular pagametno"
|
@@ -4546,7 +4578,7 @@ msgid "Selected period doesn't match service duration"
|
|
4546 |
msgstr "A duração do período selecionado não coincide com a duração do serviço"
|
4547 |
|
4548 |
msgid "The selected period is occupied by another appointment"
|
4549 |
-
msgstr "O período selecionado está ocupado
|
4550 |
|
4551 |
msgid "Selected period doesn't match provider's schedule"
|
4552 |
msgstr "O período selecionado não é igual ao horário do fornecedor"
|
@@ -4555,10 +4587,10 @@ msgid "Selected period doesn't match service schedule"
|
|
4555 |
msgstr "O período selecionado não é igual ao horário do serviço"
|
4556 |
|
4557 |
msgid "Booking exceeds the working hours limit for staff member"
|
4558 |
-
msgstr "
|
4559 |
|
4560 |
msgid "Booking exceeds your working hours limit"
|
4561 |
-
msgstr "
|
4562 |
|
4563 |
msgid "Selected / maximum"
|
4564 |
msgstr "Selecionado / máximo"
|
@@ -4585,7 +4617,7 @@ msgid "Internal note"
|
|
4585 |
msgstr "Observação interna"
|
4586 |
|
4587 |
msgid "Send if new or status changed"
|
4588 |
-
msgstr "Enviar se for novo ou status
|
4589 |
|
4590 |
msgid "Send as for new"
|
4591 |
msgstr "Enviar como novo"
|
@@ -4598,16 +4630,15 @@ msgid ""
|
|
4598 |
"You can also send notifications as if all customers were added as new by "
|
4599 |
"selecting \"Send as for new\"."
|
4600 |
msgstr ""
|
4601 |
-
"Se adicionou um novo cliente a
|
4602 |
-
"
|
4603 |
-
"
|
4604 |
-
"
|
4605 |
-
"
|
4606 |
-
"
|
4607 |
-
"para novos\"."
|
4608 |
|
4609 |
msgid "Edit appointment"
|
4610 |
-
msgstr "Editar
|
4611 |
|
4612 |
msgid "Start time must not be empty"
|
4613 |
msgstr "Hora de início não pode estar vazia"
|
@@ -4623,7 +4654,7 @@ msgid "The number of customers should not be more than %d"
|
|
4623 |
msgstr "O número de clientes não deve ser maior que %d"
|
4624 |
|
4625 |
msgid "Could not save appointment in database."
|
4626 |
-
msgstr "Não foi possível guardar
|
4627 |
|
4628 |
#, php-format
|
4629 |
msgid "%s has reached the limit of bookings for this service"
|
@@ -4633,46 +4664,45 @@ msgid ""
|
|
4633 |
"You are going to delete appointment(s). Notifications will be sent in "
|
4634 |
"accordance with your settings."
|
4635 |
msgstr ""
|
4636 |
-
"
|
4637 |
-
"
|
4638 |
|
4639 |
msgid "New Customer"
|
4640 |
msgstr "Novo Cliente"
|
4641 |
|
4642 |
msgid "Delete customers"
|
4643 |
-
msgstr "
|
4644 |
|
4645 |
msgid ""
|
4646 |
"You are going to delete customers with existing bookings. Notifications will "
|
4647 |
"not be sent to them."
|
4648 |
msgstr ""
|
4649 |
-
"
|
4650 |
-
"enviadas para
|
4651 |
|
4652 |
msgid "You are going to delete customers, are you sure?"
|
4653 |
-
msgstr "
|
4654 |
|
4655 |
msgid "Delete customers with existing bookings"
|
4656 |
-
msgstr "
|
4657 |
|
4658 |
msgid "Delete customers' WordPress accounts if there are any"
|
4659 |
-
msgstr "
|
4660 |
|
4661 |
msgid "Deleted Customer"
|
4662 |
-
msgstr "Cliente
|
4663 |
|
4664 |
msgid ""
|
4665 |
"You are going to delete item which is involved in upcoming appointments. All "
|
4666 |
"related appointments will be deleted. Please double check and edit "
|
4667 |
"appointments before this item deletion if needed."
|
4668 |
msgstr ""
|
4669 |
-
"
|
4670 |
-
"
|
4671 |
-
"
|
4672 |
-
"necessário."
|
4673 |
|
4674 |
msgid "Edit appointments"
|
4675 |
-
msgstr "Editar
|
4676 |
|
4677 |
msgid "All unsaved changes will be lost."
|
4678 |
msgstr "Todas as mudanças não guardadas serão perdidas."
|
@@ -4681,10 +4711,10 @@ msgid "Don't save"
|
|
4681 |
msgstr "Não guardar"
|
4682 |
|
4683 |
msgid "Create service"
|
4684 |
-
msgstr "Criar serviço"
|
4685 |
|
4686 |
msgid "Edit service"
|
4687 |
-
msgstr "Editar serviço"
|
4688 |
|
4689 |
msgid "Advanced"
|
4690 |
msgstr "Avançado"
|
@@ -4693,10 +4723,10 @@ msgid "Adjust the order of services in your booking form"
|
|
4693 |
msgstr "Definir a ordem dos serviços no formulário de reservas"
|
4694 |
|
4695 |
msgid "Add category"
|
4696 |
-
msgstr "
|
4697 |
|
4698 |
msgid "Adjust the order of categories in your booking form"
|
4699 |
-
msgstr "
|
4700 |
|
4701 |
msgid "Table settings"
|
4702 |
msgstr "Configurações da tabela"
|
@@ -4713,6 +4743,116 @@ msgstr "Notificação de novo email"
|
|
4713 |
msgid "Edit email notification"
|
4714 |
msgstr "Editar notificação de email"
|
4715 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4716 |
msgid "total quantity of appointments in cart"
|
4717 |
msgstr "quantidade total de compromissos no carrinho"
|
4718 |
|
@@ -4722,12 +4862,48 @@ msgstr "formulário de login"
|
|
4722 |
msgid "total price of booking"
|
4723 |
msgstr "preço total da reserva"
|
4724 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4725 |
msgid ""
|
4726 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4727 |
" You can opt out of sharing the information in Settings > General."
|
4728 |
msgstr ""
|
4729 |
"Para nos ajudar a aprimorar o Bookly, o plugin coleta informações de uso "
|
4730 |
-
"anonimamente.
|
4731 |
"Configurações > Geral."
|
4732 |
|
4733 |
msgid ""
|
@@ -4737,12 +4913,12 @@ msgstr ""
|
|
4737 |
"Permitir que o plugin colete informações de uso anonimamente para ajudar a "
|
4738 |
"equipe Bookly a aprimorar o produto."
|
4739 |
|
4740 |
-
msgid "Disagree"
|
4741 |
-
msgstr "Discordo"
|
4742 |
-
|
4743 |
msgid "Agree"
|
4744 |
msgstr "Concordo"
|
4745 |
|
|
|
|
|
|
|
4746 |
#, php-format
|
4747 |
msgid ""
|
4748 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
@@ -4751,11 +4927,40 @@ msgid ""
|
|
4751 |
"free Bookly. To learn more about the major Bookly update, check our <a "
|
4752 |
"href=\"%s\" target=\"_blank\">blog post</a>."
|
4753 |
msgstr ""
|
4754 |
-
"<b>O Bookly Lite se
|
4755 |
-
"<br/>
|
4756 |
"desenvolvimento de ambas as versões do plugin e adicionar mais opções ao "
|
4757 |
"novo Bookly gratuito. Para saber mais sobre essa grande atualização do "
|
4758 |
-
"Bookly,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4759 |
|
4760 |
msgid "This function is not available in the Bookly."
|
4761 |
msgstr "Esta função não está disponível no Bookly."
|
@@ -4764,13 +4969,13 @@ msgid ""
|
|
4764 |
"To get access to all Bookly features, lifetime free updates and 24/7 support,"
|
4765 |
" please upgrade to the Pro version of Bookly.<br>For more information visit"
|
4766 |
msgstr ""
|
4767 |
-
"Para
|
4768 |
-
"suporte 24/7, por favor,
|
4769 |
-
"
|
4770 |
|
4771 |
msgid "Subscribe to monthly emails about Bookly improvements and new releases."
|
4772 |
msgstr ""
|
4773 |
-
"
|
4774 |
"lançamentos."
|
4775 |
|
4776 |
msgid ""
|
@@ -4778,38 +4983,38 @@ msgid ""
|
|
4778 |
"spread information about the plugin. This will allow the team to improve the "
|
4779 |
"product and enhance its functionality."
|
4780 |
msgstr ""
|
4781 |
-
"Permitir que o plugin exiba a informação
|
4782 |
-
"reservas e
|
4783 |
-
"a aprimorar o produto e melhorar suas funcionalidades"
|
4784 |
|
4785 |
msgid ""
|
4786 |
"How likely is it that you would recommend Bookly to a friend or colleague?"
|
4787 |
-
msgstr "
|
4788 |
|
4789 |
msgid "What do you think should be improved?"
|
4790 |
-
msgstr "O que
|
4791 |
|
4792 |
msgid "Please enter your email (optional)"
|
4793 |
-
msgstr "
|
4794 |
|
4795 |
msgid "Please, check your email to confirm the subscription. Thank you!"
|
4796 |
msgstr ""
|
4797 |
"Por favor, verifique seu e-mail para confirmar a subscrição. Obrigado !"
|
4798 |
|
4799 |
msgid "Given email address is already subscribed, thank you!"
|
4800 |
-
msgstr "O endereço e-
|
4801 |
|
4802 |
msgid "This email address is not valid."
|
4803 |
-
msgstr "endereço e-mail inválido."
|
4804 |
|
4805 |
msgid "Revenue"
|
4806 |
msgstr "Receita"
|
4807 |
|
4808 |
msgid "Approved appointments"
|
4809 |
-
msgstr "
|
4810 |
|
4811 |
msgid "Pending appointments"
|
4812 |
-
msgstr "
|
4813 |
|
4814 |
msgid "All fields marked with an asterisk (*) are required."
|
4815 |
msgstr "Todos os campos marcados com um asterisco (*) são obrigatórios."
|
@@ -4835,8 +5040,8 @@ msgid ""
|
|
4835 |
"most suitable configuration according to your business needs."
|
4836 |
msgstr ""
|
4837 |
"A demonstração é uma versão do Bookly Pro com todos os add-ons instalados, "
|
4838 |
-
"para que
|
4839 |
-
"
|
4840 |
"necessidades do seu negócio."
|
4841 |
|
4842 |
msgid "don't show this notification again"
|
@@ -4858,7 +5063,7 @@ msgid "Leave us a message"
|
|
4858 |
msgstr "Deixe uma mensagem"
|
4859 |
|
4860 |
msgid "Your name"
|
4861 |
-
msgstr "
|
4862 |
|
4863 |
msgid "Email address"
|
4864 |
msgstr "Endereço de e-mail"
|
@@ -4873,15 +5078,15 @@ msgid ""
|
|
4873 |
"In the Feature Requests section of our Community, you can make suggestions "
|
4874 |
"about what you'd like to see in our future releases."
|
4875 |
msgstr ""
|
4876 |
-
"Na
|
4877 |
-
"sugestões
|
4878 |
|
4879 |
msgid ""
|
4880 |
"Before you post, please check if the same suggestion has already been made. "
|
4881 |
"If so, vote for ideas you like and add a comment with the details about your "
|
4882 |
"situation."
|
4883 |
msgstr ""
|
4884 |
-
"Antes de
|
4885 |
"feita. Se for o caso, vote pelas ideias que gosta mais, e faça comentários "
|
4886 |
"com explicações sobre sua situação."
|
4887 |
|
@@ -4892,32 +5097,33 @@ msgid ""
|
|
4892 |
"better idea of the problem you're facing:"
|
4893 |
msgstr ""
|
4894 |
"É muito mais fácil abordar uma sugestão se entendermos claramente o contexto "
|
4895 |
-
"e o problema, e
|
4896 |
-
"considere estas questões para que possamos ter uma ideia melhor do
|
4897 |
-
"que
|
4898 |
|
4899 |
msgid "What is the issue you're struggling with?"
|
4900 |
-
msgstr "Qual é o problema com o qual
|
4901 |
|
4902 |
msgid "Where in your workflow do you encounter this issue?"
|
4903 |
-
msgstr "Onde, no seu fluxo de trabalho,
|
4904 |
|
4905 |
msgid ""
|
4906 |
"Is this something that impacts just you, your whole team, or your customers?"
|
4907 |
-
msgstr "
|
|
|
4908 |
|
4909 |
msgid "Proceed to Feature requests"
|
4910 |
msgstr "Prosseguir para Solicitação de funcionalidades"
|
4911 |
|
4912 |
msgid "Feedback"
|
4913 |
-
msgstr "
|
4914 |
|
4915 |
msgid ""
|
4916 |
"We care about your experience of using Bookly!<br/>Leave a review and tell "
|
4917 |
"others what you think."
|
4918 |
msgstr ""
|
4919 |
-
"
|
4920 |
-
"comentário e conte
|
4921 |
|
4922 |
msgid "Booking form"
|
4923 |
msgstr "Formulário de reserva"
|
@@ -4935,13 +5141,13 @@ msgid "Default value for location"
|
|
4935 |
msgstr "Valor padrão para local"
|
4936 |
|
4937 |
msgid "Default value for category"
|
4938 |
-
msgstr "Valor padrão para categoria"
|
4939 |
|
4940 |
msgid "Default value for service"
|
4941 |
-
msgstr "Valor padrão para serviço"
|
4942 |
|
4943 |
msgid "Default value for employee"
|
4944 |
-
msgstr "Valor padrão para funcionário"
|
4945 |
|
4946 |
msgid "Quantity"
|
4947 |
msgstr "Quantidade"
|
@@ -4950,19 +5156,19 @@ msgid "hide"
|
|
4950 |
msgstr "ocultar"
|
4951 |
|
4952 |
msgid "Username"
|
4953 |
-
msgstr "Nome de
|
4954 |
|
4955 |
msgid "Remember Me"
|
4956 |
-
msgstr "
|
4957 |
|
4958 |
msgid "Lost your password?"
|
4959 |
-
msgstr "Perdeu
|
4960 |
|
4961 |
msgid "Loading..."
|
4962 |
msgstr "Carregando..."
|
4963 |
|
4964 |
msgid "Powered by"
|
4965 |
-
msgstr "
|
4966 |
|
4967 |
msgid "No time is available for selected criteria."
|
4968 |
msgstr "Nenhum horário está disponível para o critério selecionado."
|
@@ -4980,8 +5186,7 @@ msgstr "Redirecionamento da página"
|
|
4980 |
msgid ""
|
4981 |
"If you are not redirected automatically, follow the <a href=\"%s\">link</a>."
|
4982 |
msgstr ""
|
4983 |
-
"Se
|
4984 |
-
"."
|
4985 |
|
4986 |
msgid "Show more"
|
4987 |
msgstr "Mostrar mais"
|
@@ -5005,7 +5210,7 @@ msgid "Notification to customer about purchased package"
|
|
5005 |
msgstr "Notificação ao cliente sobre o pacote comprado"
|
5006 |
|
5007 |
msgid "Your package at {company_name}"
|
5008 |
-
msgstr "
|
5009 |
|
5010 |
msgid ""
|
5011 |
"Dear {client_name}.\n"
|
@@ -5021,8 +5226,8 @@ msgid ""
|
|
5021 |
msgstr ""
|
5022 |
"Prezado {client_name}.\n"
|
5023 |
"\n"
|
5024 |
-
"Esta é uma confirmação de que
|
5025 |
-
"
|
5026 |
"\n"
|
5027 |
"Obrigado por escolher nossa empresa.\n"
|
5028 |
"\n"
|
@@ -5051,7 +5256,7 @@ msgid ""
|
|
5051 |
msgstr ""
|
5052 |
"Olá.\n"
|
5053 |
"\n"
|
5054 |
-
"
|
5055 |
"\n"
|
5056 |
"Pacote: {package_name}\n"
|
5057 |
"\n"
|
@@ -5071,8 +5276,8 @@ msgid ""
|
|
5071 |
"{company_website}"
|
5072 |
msgstr ""
|
5073 |
"Prezado {client_name}.\n"
|
5074 |
-
"Esta é uma confirmação de que
|
5075 |
-
"
|
5076 |
"Obrigado por escolher nossa empresa.\n"
|
5077 |
"{company_name}\n"
|
5078 |
"{company_phone}\n"
|
@@ -5087,7 +5292,7 @@ msgid ""
|
|
5087 |
"Client email: {client_email}"
|
5088 |
msgstr ""
|
5089 |
"Olá.\n"
|
5090 |
-
"
|
5091 |
"Pacote: {package_name}\n"
|
5092 |
"Nome do cliente: {client_name}\n"
|
5093 |
"Telefone do cliente: {client_phone}\n"
|
@@ -5113,11 +5318,11 @@ msgid ""
|
|
5113 |
msgstr ""
|
5114 |
"Prezado {client_name}.\n"
|
5115 |
"\n"
|
5116 |
-
"
|
5117 |
"\n"
|
5118 |
"Obrigado por escolher a nossa empresa.\n"
|
5119 |
"\n"
|
5120 |
-
"Se você tiver alguma pergunta, por favor, entre em
|
5121 |
"{company_name}\n"
|
5122 |
"{company_phone}\n"
|
5123 |
"{company_website}"
|
@@ -5156,9 +5361,9 @@ msgid ""
|
|
5156 |
"{company_website}"
|
5157 |
msgstr ""
|
5158 |
"Prezado {client_name}.\n"
|
5159 |
-
"
|
5160 |
"Obrigado por escolher nossa empresa.\n"
|
5161 |
-
"Se você tiver alguma pergunta, por favor, entre em
|
5162 |
"{company_name}\n"
|
5163 |
"{company_phone}\n"
|
5164 |
"{company_website}"
|
@@ -5171,16 +5376,16 @@ msgid ""
|
|
5171 |
"Client email: {client_email}"
|
5172 |
msgstr ""
|
5173 |
"Olá.\n"
|
5174 |
-
"
|
5175 |
"Nome do cliente: {client_name}\n"
|
5176 |
"Telefone do cliente: {client_phone}\n"
|
5177 |
"E-mail do cliente: {client_email}"
|
5178 |
|
5179 |
msgid "Notification about new package creation"
|
5180 |
-
msgstr "Notificação sobre a criação de novo pacote"
|
5181 |
|
5182 |
msgid "Notification about package deletion"
|
5183 |
-
msgstr "Notificação sobre exclusão de pacotes"
|
5184 |
|
5185 |
msgid "Creation date"
|
5186 |
msgstr "Data de criação"
|
@@ -5227,7 +5432,7 @@ msgid "package life time"
|
|
5227 |
msgstr "tempo de vida do pacote"
|
5228 |
|
5229 |
msgid "reason you mentioned while deleting package"
|
5230 |
-
msgstr "motivo que você mencionou
|
5231 |
|
5232 |
msgid "Add customer packages list"
|
5233 |
msgstr "Adicionar lista de pacotes de clientes"
|
@@ -5253,7 +5458,7 @@ msgid "Please select a customer"
|
|
5253 |
msgstr "Por favor, selecione um cliente"
|
5254 |
|
5255 |
msgid "Save & schedule"
|
5256 |
-
msgstr "Guardar
|
5257 |
|
5258 |
msgid "Could not save package in database."
|
5259 |
msgstr "Não foi possível salvar o pacote na base de dados."
|
@@ -5269,30 +5474,30 @@ msgid "Ignore"
|
|
5269 |
msgstr "Ignorar"
|
5270 |
|
5271 |
msgid "Selected period is occupied by another appointment"
|
5272 |
-
msgstr "O período selecionado está ocupado
|
5273 |
|
5274 |
msgid ""
|
5275 |
"Unfortunately, you're not able to book an appointment because the required "
|
5276 |
"time limit prior to booking has expired."
|
5277 |
msgstr ""
|
5278 |
-
"Infelizmente
|
5279 |
-
"
|
5280 |
|
5281 |
msgid ""
|
5282 |
"You are trying to schedule an appointment in the past. Please select another "
|
5283 |
"time slot."
|
5284 |
msgstr ""
|
5285 |
-
"
|
5286 |
-
"
|
5287 |
|
5288 |
msgid "Select appointment date"
|
5289 |
-
msgstr "Selecionar data do compromisso"
|
5290 |
|
5291 |
msgid "Edit package appointment"
|
5292 |
-
msgstr "Editar pacote de compromissos"
|
5293 |
|
5294 |
msgid "Delete package appointment"
|
5295 |
-
msgstr "
|
5296 |
|
5297 |
msgid "Packages list"
|
5298 |
msgstr "Lista de pacotes"
|
@@ -5308,7 +5513,8 @@ msgstr "Expira"
|
|
5308 |
|
5309 |
msgid "Notification to customer about their WordPress user login details"
|
5310 |
msgstr ""
|
5311 |
-
"Notificação ao cliente sobre seus detalhes de login
|
|
|
5312 |
|
5313 |
msgid ""
|
5314 |
"Hello.\n"
|
@@ -5323,16 +5529,16 @@ msgid ""
|
|
5323 |
msgstr ""
|
5324 |
"Olá.\n"
|
5325 |
"\n"
|
5326 |
-
"Uma conta foi criada para
|
5327 |
"\n"
|
5328 |
-
"Os seus dados de
|
5329 |
"usuário: {new_username}\n"
|
5330 |
"senha: {new_password}\n"
|
5331 |
"\n"
|
5332 |
"Obrigado."
|
5333 |
|
5334 |
msgid "Your appointment at {company_name}"
|
5335 |
-
msgstr "
|
5336 |
|
5337 |
msgid ""
|
5338 |
"Dear {client_name}.\n"
|
@@ -5348,8 +5554,8 @@ msgid ""
|
|
5348 |
msgstr ""
|
5349 |
"Prezado {client_name}.\n"
|
5350 |
"\n"
|
5351 |
-
"Gostariamos de relembrar que
|
5352 |
-
"{appointment_time}.
|
5353 |
"\n"
|
5354 |
"Obrigado por escolher nossos serviços.\n"
|
5355 |
"\n"
|
@@ -5358,7 +5564,7 @@ msgstr ""
|
|
5358 |
"{company_website}"
|
5359 |
|
5360 |
msgid "Your visit to {company_name}"
|
5361 |
-
msgstr "
|
5362 |
|
5363 |
msgid ""
|
5364 |
"Dear {client_name}.\n"
|
@@ -5374,8 +5580,8 @@ msgid ""
|
|
5374 |
msgstr ""
|
5375 |
"Prezado {client_name}.\n"
|
5376 |
"\n"
|
5377 |
-
"Obrigado por escolher {company_name}. Esperamos que
|
5378 |
-
"
|
5379 |
"\n"
|
5380 |
"Obrigado e aguardamos uma nova visita.\n"
|
5381 |
"\n"
|
@@ -5414,11 +5620,11 @@ msgid ""
|
|
5414 |
msgstr ""
|
5415 |
"Caro {client_name}.\n"
|
5416 |
"\n"
|
5417 |
-
"Esta é uma confirmação de que
|
5418 |
"\n"
|
5419 |
"{cart_info}\n"
|
5420 |
"\n"
|
5421 |
-
"Obrigado por escolher nossa empresa.\n"
|
5422 |
"\n"
|
5423 |
"{company_name}\n"
|
5424 |
"{company_phone}\n"
|
@@ -5434,10 +5640,10 @@ msgid ""
|
|
5434 |
"Thanks."
|
5435 |
msgstr ""
|
5436 |
"Olá.\n"
|
5437 |
-
"Uma conta foi criada para
|
5438 |
-
"Os seus dados de
|
5439 |
-
"
|
5440 |
-
"
|
5441 |
"\n"
|
5442 |
"Obrigado."
|
5443 |
|
@@ -5453,26 +5659,26 @@ msgstr ""
|
|
5453 |
"Prezado {client_name},\n"
|
5454 |
"Esta é uma confirmação de que você reservou os seguintes itens:\n"
|
5455 |
"{cart_info}\n"
|
5456 |
-
"Obrigado por escolher nossa empresa.\n"
|
5457 |
"{company_name}\n"
|
5458 |
"{company_phone}\n"
|
5459 |
"{company_website}"
|
5460 |
|
5461 |
msgid "I will pay now with PayPal"
|
5462 |
-
msgstr "Vou pagar
|
5463 |
|
5464 |
msgid ""
|
5465 |
"You are not required to pay for the booked services, click Next to complete "
|
5466 |
"the booking process."
|
5467 |
msgstr ""
|
5468 |
-
"Não é necessário pagamento para reserva de serviços, clique em
|
5469 |
-
"finalizar o processo de reserva."
|
5470 |
|
5471 |
msgid "Street Number"
|
5472 |
msgstr "Número da rua"
|
5473 |
|
5474 |
msgid "Street number is required"
|
5475 |
-
msgstr "Número da rua obrigatório"
|
5476 |
|
5477 |
msgid "Card Security Code"
|
5478 |
msgstr "Código de segurança do cartão"
|
@@ -5484,16 +5690,16 @@ msgid "Credit Card Number"
|
|
5484 |
msgstr "Número do cartão de crédito"
|
5485 |
|
5486 |
msgid "Appointment"
|
5487 |
-
msgstr "
|
5488 |
|
5489 |
msgid "Customer's birthday"
|
5490 |
msgstr "Aniversário do cliente"
|
5491 |
|
5492 |
msgid "Notification to customer about approved appointments"
|
5493 |
-
msgstr "Notificação ao cliente sobre
|
5494 |
|
5495 |
msgid "Notification to customer about pending appointments"
|
5496 |
-
msgstr "Notificação ao cliente sobre
|
5497 |
|
5498 |
msgid "Extras"
|
5499 |
msgstr "Extras"
|
@@ -5513,24 +5719,24 @@ msgstr "Status do verificador de atualização desconhecido \"%s\""
|
|
5513 |
|
5514 |
#, php-format
|
5515 |
msgid "To update - enter the <a href=\"%s\">Purchase Code</a>"
|
5516 |
-
msgstr "Para atualizar - digite o <a href=\"%s\">Código Compra</a>"
|
5517 |
|
5518 |
msgid "Please verify your Bookly Pro license"
|
5519 |
-
msgstr "Por favor, verifique sua licença Bookly Pro"
|
5520 |
|
5521 |
msgid ""
|
5522 |
"Bookly Pro will need to verify your license to restore access to your "
|
5523 |
"bookings. Please enter the purchase code in the administrative panel."
|
5524 |
msgstr ""
|
5525 |
-
"O Bookly Pro precisará verificar sua licença para restaurar o acesso às
|
5526 |
-
"reservas. Por favor, insira o código de compra no painel administrativo."
|
5527 |
|
5528 |
msgid ""
|
5529 |
"Please verify Bookly Pro license in the administrative panel. If you do not "
|
5530 |
"verify the license within {days}, access to your bookings will be disabled."
|
5531 |
msgstr ""
|
5532 |
"Por favor, verifique a licença do Bookly Pro no painel administrativo. Se "
|
5533 |
-
"
|
5534 |
"desabilitado."
|
5535 |
|
5536 |
msgid "Online meeting"
|
@@ -5547,38 +5753,37 @@ msgid ""
|
|
5547 |
"please contact your website administrator in order to verify Bookly Pro "
|
5548 |
"license."
|
5549 |
msgstr ""
|
5550 |
-
"
|
5551 |
-
"
|
5552 |
-
"
|
5553 |
|
5554 |
msgid ""
|
5555 |
"You have a new appointment. To view it, contact your admin to verify Bookly "
|
5556 |
"Pro license."
|
5557 |
msgstr ""
|
5558 |
-
"
|
5559 |
-
"administrador para verificar a licença Bookly Pro."
|
5560 |
|
5561 |
msgid ""
|
5562 |
"A new appointment has been created. To view the details of this appointment, "
|
5563 |
"please verify Bookly Pro license in the administrative panel."
|
5564 |
msgstr ""
|
5565 |
-
"
|
5566 |
-
"
|
5567 |
-
"administrativo. "
|
5568 |
|
5569 |
msgid ""
|
5570 |
"You have a new appointment. To view it, please verify Bookly Pro license."
|
5571 |
msgstr ""
|
5572 |
-
"
|
5573 |
-
"
|
5574 |
|
5575 |
msgid ""
|
5576 |
"Please contact your website administrator in order to verify the license for "
|
5577 |
"Bookly add-ons. If you do not verify the license within {days}, the "
|
5578 |
"respective add-ons will be disabled."
|
5579 |
msgstr ""
|
5580 |
-
"Entre em contato com o administrador do site
|
5581 |
-
"
|
5582 |
"respectivos add-ons serão desativados."
|
5583 |
|
5584 |
msgid "Contact your admin to verify Bookly add-ons license; {days} remaining."
|
@@ -5592,8 +5797,8 @@ msgid ""
|
|
5592 |
"disabled."
|
5593 |
msgstr ""
|
5594 |
"Por favor, verifique a licença para os Bookly add-ons no painel "
|
5595 |
-
"administrativo. Se
|
5596 |
-
"
|
5597 |
|
5598 |
msgid "Please verify Bookly add-ons license; {days} remaining."
|
5599 |
msgstr "Por favor, verifique a licença de add-ons Bookly; {days} restantes."
|
@@ -5607,7 +5812,7 @@ msgid ""
|
|
5607 |
msgstr ""
|
5608 |
"%s é usado em outro domínio %s.<br/>Para usar o código de compra neste "
|
5609 |
"domínio, desassocie-o no painel de administração do outro domínio.<br/> Se "
|
5610 |
-
"
|
5611 |
"técnico em support@bookly.info para transferir a licença manualmente."
|
5612 |
|
5613 |
#, php-format
|
@@ -5618,7 +5823,7 @@ msgid ""
|
|
5618 |
"Purchase code verification is temporarily unavailable. Please try again "
|
5619 |
"later."
|
5620 |
msgstr ""
|
5621 |
-
"A verificação
|
5622 |
"favor, tente novamente mais tarde."
|
5623 |
|
5624 |
#, php-format
|
@@ -5629,17 +5834,17 @@ msgid "Print"
|
|
5629 |
msgstr "Imprimir"
|
5630 |
|
5631 |
msgid "Google Calendar integration"
|
5632 |
-
msgstr "Integração com o Google
|
5633 |
|
5634 |
#, php-format
|
5635 |
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
5636 |
msgstr ""
|
5637 |
-
"Por favor, configure primeiramente as <a href=\"%s\">
|
5638 |
-
"
|
5639 |
|
5640 |
msgid "Synchronize staff member appointments with Google Calendar."
|
5641 |
msgstr ""
|
5642 |
-
"Sincronizar os dados das reservas do funcionário com o Google
|
5643 |
|
5644 |
msgid "Limit working hours per day"
|
5645 |
msgstr "Limite de horas trabalhadas por dia."
|
@@ -5651,8 +5856,8 @@ msgid ""
|
|
5651 |
"This setting allows limiting the total time occupied by bookings per day for "
|
5652 |
"staff member. Padding time is not included."
|
5653 |
msgstr ""
|
5654 |
-
"
|
5655 |
-
"para o funcionário.
|
5656 |
|
5657 |
msgid "API Username"
|
5658 |
msgstr "Utilizador API"
|
@@ -5670,9 +5875,9 @@ msgid ""
|
|
5670 |
"Set how late appointments can be booked (for example, require customers to "
|
5671 |
"book at least 1 hour before the appointment time)."
|
5672 |
msgstr ""
|
5673 |
-
"Definir como
|
5674 |
"que os clientes façam suas reservas pelo menos 1 hora antes da hora marcada "
|
5675 |
-
"
|
5676 |
|
5677 |
msgid "Minimum time requirement prior to canceling"
|
5678 |
msgstr "Tempo mínimo antes de cancelar"
|
@@ -5681,26 +5886,25 @@ msgid ""
|
|
5681 |
"Set how late appointments can be cancelled (for example, require customers "
|
5682 |
"to cancel at least 1 hour before the appointment time)."
|
5683 |
msgstr ""
|
5684 |
-
"Definir como
|
5685 |
-
"
|
5686 |
-
"
|
5687 |
|
5688 |
msgid "Appointment cancellation confirmation URL"
|
5689 |
-
msgstr "URL de confirmação de cancelamento
|
5690 |
|
5691 |
msgid ""
|
5692 |
"Set the URL of an appointment cancellation confirmation page that is shown "
|
5693 |
"to clients when they press cancellation link."
|
5694 |
msgstr ""
|
5695 |
-
"Definir a URL de uma página de confirmação de cancelamento
|
5696 |
-
"
|
5697 |
-
"cancelamento."
|
5698 |
|
5699 |
msgid ""
|
5700 |
"You need to install and activate WooCommerce plugin before using the options "
|
5701 |
"below.<br/><br/>Once the plugin is activated do the following steps:"
|
5702 |
msgstr ""
|
5703 |
-
"
|
5704 |
"opções abaixo.<br/><br/>Quando o plugin for ativado, execute os seguintes "
|
5705 |
"passos:"
|
5706 |
|
@@ -5714,7 +5918,7 @@ msgid ""
|
|
5714 |
"Select the product that you created at step 1 in the drop down list of "
|
5715 |
"products."
|
5716 |
msgstr ""
|
5717 |
-
"Selecione o produto que
|
5718 |
|
5719 |
msgid ""
|
5720 |
"If needed, edit item data which will be displayed in the cart. Besides cart "
|
@@ -5723,17 +5927,17 @@ msgid ""
|
|
5723 |
msgstr ""
|
5724 |
"Se necessário, edite os dados do item que serão exibidos no carrinho. Além "
|
5725 |
"dos dados do item no carrinho, o Bookly transfere os campos de endereço e "
|
5726 |
-
"conta para o WooCommerce se
|
5727 |
|
5728 |
msgid ""
|
5729 |
"Note that once you have enabled WooCommerce option in Bookly the built-in "
|
5730 |
"payment methods will no longer work. All your customers will be redirected "
|
5731 |
"to WooCommerce cart instead of standard payment step."
|
5732 |
msgstr ""
|
5733 |
-
"Observe que, quando
|
5734 |
-
"
|
5735 |
-
"
|
5736 |
-
"
|
5737 |
|
5738 |
msgid "Booking product"
|
5739 |
msgstr "Produto da reserva"
|
@@ -5755,7 +5959,7 @@ msgid "Customer's address fields"
|
|
5755 |
msgstr "Campos de endereço do cliente"
|
5756 |
|
5757 |
msgid "Choose address fields you want to request from the client."
|
5758 |
-
msgstr "Escolha os campos de endereço que
|
5759 |
|
5760 |
msgid "Final step URL"
|
5761 |
msgstr "URL do passo final"
|
@@ -5767,8 +5971,9 @@ msgid ""
|
|
5767 |
"Set the URL of a page that the user will be forwarded to after successful "
|
5768 |
"booking. If disabled then the default Done step is displayed."
|
5769 |
msgstr ""
|
5770 |
-
"Defina a URL de uma página que o
|
5771 |
-
"sucedida. Se desativada, então o passo padrão Concluído é
|
|
|
5772 |
|
5773 |
msgid "Make birthday mandatory"
|
5774 |
msgstr "Tornar aniversário obrigatório"
|
@@ -5789,7 +5994,7 @@ msgid ""
|
|
5789 |
"change the order of fields."
|
5790 |
msgstr ""
|
5791 |
"Selecione os campos que devem ser exibidos no carrinho antes de confirmar a "
|
5792 |
-
"reserva.
|
5793 |
"mudar a ordem dos campos."
|
5794 |
|
5795 |
msgid ""
|
@@ -5798,8 +6003,8 @@ msgid ""
|
|
5798 |
"to hide the column."
|
5799 |
msgstr ""
|
5800 |
"Se usa o código {cart_info} nas notificações, pode selecionar os campos que "
|
5801 |
-
"pretende exibir e definir a ordem dos campos aqui.
|
5802 |
-
"
|
5803 |
|
5804 |
msgid "To find your client ID and client secret, do the following:"
|
5805 |
msgstr ""
|
@@ -5822,24 +6027,24 @@ msgid ""
|
|
5822 |
msgstr ""
|
5823 |
"Clique na parte superior à esquerda para ver uma barra lateral deslizante. "
|
5824 |
"Em seguida, clique em <b>API Manager</b>. Na lista de APIs procure <b>"
|
5825 |
-
"Calendar API</b> e verifique se
|
5826 |
|
5827 |
msgid "In the sidebar on the left, select <b>Credentials</b>."
|
5828 |
-
msgstr "Na barra lateral à esquerda, selecione <b>
|
5829 |
|
5830 |
msgid ""
|
5831 |
"Go to <b>OAuth consent screen</b> tab and give a name to the product, then "
|
5832 |
"click <b>Save</b>."
|
5833 |
msgstr ""
|
5834 |
-
"Vá para a aba <b>OAuth consent screen</b> e dê um nome para
|
5835 |
"seguida, clique em <b>Save</b>."
|
5836 |
|
5837 |
msgid ""
|
5838 |
"Go to <b>Credentials</b> tab and in <b>New credentials</b> drop-down menu "
|
5839 |
"select <b>OAuth client ID</b>."
|
5840 |
msgstr ""
|
5841 |
-
"Vá para a aba <b>
|
5842 |
-
"selecione <b>OAuth client ID</b>."
|
5843 |
|
5844 |
msgid ""
|
5845 |
"Select <b>Web application</b> and create your project's OAuth 2.0 "
|
@@ -5847,17 +6052,17 @@ msgid ""
|
|
5847 |
"redirect URIs</b> enter the <b>Redirect URI</b> found below on this page. "
|
5848 |
"Click <b>Create</b>."
|
5849 |
msgstr ""
|
5850 |
-
"Selecione <b>Web
|
5851 |
-
"projeto, fornecendo as informações necessárias. Para <b>
|
5852 |
-
"
|
5853 |
-
"em <b>
|
5854 |
|
5855 |
msgid ""
|
5856 |
"In the popup window look for the <b>Client ID</b> and <b>Client secret</b>. "
|
5857 |
"Use them in the form below on this page."
|
5858 |
msgstr ""
|
5859 |
-
"Na janela pop-up procure o <b>
|
5860 |
-
"no formulário abaixo nesta página."
|
5861 |
|
5862 |
#, php-format
|
5863 |
msgid ""
|
@@ -5870,17 +6075,17 @@ msgstr ""
|
|
5870 |
"Importante: para a sincronização em duas vias, seu website deve usar HTTPS. "
|
5871 |
"O Google Calendar API serão capaz de enviar notificações para endereços "
|
5872 |
"HTTPS somente se um certificado SSL válido estiver instalado no seu servidor "
|
5873 |
-
"web. Siga os passos
|
5874 |
-
"<b>verificar e
|
5875 |
|
5876 |
msgid "The client ID obtained from the Developers Console"
|
5877 |
msgstr "O ID do cliente obtido a partir do Developers Console"
|
5878 |
|
5879 |
msgid "Client secret"
|
5880 |
-
msgstr "
|
5881 |
|
5882 |
msgid "The client secret obtained from the Developers Console"
|
5883 |
-
msgstr "O segredo
|
5884 |
|
5885 |
msgid "Enter this URL as a redirect URI in the Developers Console"
|
5886 |
msgstr "Digite esta URL como uma URI de redirecionamento no Developers Console"
|
@@ -5892,32 +6097,33 @@ msgid ""
|
|
5892 |
"slots before displaying the Time step of the booking form (this may lead to "
|
5893 |
"a delay when users click Next to get to the Time step)."
|
5894 |
msgstr ""
|
5895 |
-
"Com a sincronização de \"uma via\", o Bookly coloca
|
5896 |
-
"qualquer mudança adicional no Google
|
5897 |
-
"vias exclusiva do front-end\", o Bookly vai buscar adicionalmente
|
5898 |
-
"Google
|
5899 |
-
"exibir o passo da Hora no formulário de reserva (
|
5900 |
-
"quando os
|
|
|
5901 |
|
5902 |
msgid ""
|
5903 |
"If there is a lot of events in Google Calendar sometimes this leads to a "
|
5904 |
"lack of memory in PHP when Bookly tries to fetch all events. You can limit "
|
5905 |
"the number of fetched events here."
|
5906 |
msgstr ""
|
5907 |
-
"Se
|
5908 |
-
"memória na PHP quando o Bookly tenta
|
5909 |
-
"limitar o número de eventos
|
5910 |
|
5911 |
msgid ""
|
5912 |
"Configure what information should be placed in the title of Google Calendar "
|
5913 |
"event. Available codes are {service_name}, {staff_name} and {client_names}."
|
5914 |
msgstr ""
|
5915 |
-
"
|
5916 |
-
"Google
|
5917 |
"{client_names}."
|
5918 |
|
5919 |
msgid "To set up Facebook integration, do the following:"
|
5920 |
-
msgstr "Para configurar a integração do Facebook,
|
5921 |
|
5922 |
msgid ""
|
5923 |
"Follow the steps at <a href=\"https://developers.facebook."
|
@@ -5930,10 +6136,10 @@ msgid ""
|
|
5930 |
msgstr ""
|
5931 |
"Siga os passos em <a href=\"https://developers.facebook."
|
5932 |
"com/docs/apps/register\" target=\"_blank\">https://developers.facebook."
|
5933 |
-
"com/docs/apps/register</a> para criar uma Conta de Desenvolvedor,
|
5934 |
-
"
|
5935 |
-
"
|
5936 |
-
"
|
5937 |
"com/docs/facebook-login/review\" target=\"_blank\">Guia de Revisão de "
|
5938 |
"Login</a>."
|
5939 |
|
@@ -5941,20 +6147,21 @@ msgid ""
|
|
5941 |
"Below the App Details Panel click Add Platform button, select Website and "
|
5942 |
"enter your website URL."
|
5943 |
msgstr ""
|
5944 |
-
"Abaixo do Painel de Detalhes
|
5945 |
-
"selecione Website e insira a URL do seu website."
|
5946 |
|
5947 |
msgid ""
|
5948 |
"Go to your App Dashboard. In the left side navigation panel of the App "
|
5949 |
"Dashboard, click Settings > Basic to view the App Details Panel with your "
|
5950 |
"App ID. Use it in the form below."
|
5951 |
msgstr ""
|
5952 |
-
"Vá para
|
5953 |
-
"
|
5954 |
-
"de Detalhes
|
|
|
5955 |
|
5956 |
msgid "App ID"
|
5957 |
-
msgstr "ID
|
5958 |
|
5959 |
msgid ""
|
5960 |
"Upon providing the purchase code you will have access to free updates of "
|
@@ -5963,8 +6170,8 @@ msgid ""
|
|
5963 |
"this <a href=\"https://help.market.envato.com/hc/en-us/articles/202822600-"
|
5964 |
"Where-can-I-find-my-Purchase-Code-\" target=\"_blank\">page</a>."
|
5965 |
msgstr ""
|
5966 |
-
"Após fornecer o código,
|
5967 |
-
"
|
5968 |
"segurança importantes. Para mais informações sobre onde encontrar o seu "
|
5969 |
"código de compra, veja esta <a href=\"https://help.market.envato.com/hc/en-"
|
5970 |
"us/articles/202822600-Where-can-I-find-my-Purchase-Code-\" target=\"_blank\">"
|
@@ -5974,8 +6181,8 @@ msgid ""
|
|
5974 |
"If you do not provide a valid purchase code within {days}, access to your "
|
5975 |
"bookings will be disabled."
|
5976 |
msgstr ""
|
5977 |
-
"Se
|
5978 |
-
"
|
5979 |
|
5980 |
msgid "Customer address"
|
5981 |
msgstr "Endereço do cliente"
|
@@ -5986,15 +6193,15 @@ msgstr ""
|
|
5986 |
"Definir a maneira como o endereço do cliente é exibido nas notificações."
|
5987 |
|
5988 |
msgid "To find your API Key and Secret, do the following:"
|
5989 |
-
msgstr "Para encontrar sua chave API e o código
|
5990 |
|
5991 |
msgid "Sign in to your Zoom account"
|
5992 |
-
msgstr "Fazer login
|
5993 |
|
5994 |
msgid ""
|
5995 |
"Visit the <a href=\"https://marketplace.zoom.us/\" target=\"_blank\">Zoom "
|
5996 |
"App Marketplace</a>"
|
5997 |
-
msgstr "Visitar o Marketplace Zoom
|
5998 |
|
5999 |
msgid ""
|
6000 |
"Click on the <b>Develop</b> option in the dropdown on the top-right corner "
|
@@ -6007,36 +6214,36 @@ msgid ""
|
|
6007 |
"A page with various app types will be displayed. Select <b>JWT</b> as the "
|
6008 |
"app type and click on <b>Create</b>"
|
6009 |
msgstr ""
|
6010 |
-
"Uma página com vários tipos de
|
6011 |
-
"tipo de
|
6012 |
|
6013 |
msgid "After creating your app, fill out descriptive and contact information"
|
6014 |
msgstr ""
|
6015 |
-
"Depois de criar
|
6016 |
-
"contacto"
|
6017 |
|
6018 |
msgid ""
|
6019 |
"Go to <b>App Credentials</b> tab and look for the <b>API Key</b> and <b>API "
|
6020 |
"Secret</b>. Use them in the form below on this page"
|
6021 |
msgstr ""
|
6022 |
-
"No tab <b>
|
6023 |
-
"
|
6024 |
|
6025 |
msgid ""
|
6026 |
"Once you've copied over your API Key and Secret, go to <b>Activation</b> tab "
|
6027 |
"and make sure your app is activated"
|
6028 |
msgstr ""
|
6029 |
-
"Depois de copiar a chave API e o código
|
6030 |
-
"
|
6031 |
|
6032 |
msgid "The API Key obtained from your JWT app"
|
6033 |
msgstr "A chave API obtida no seu app JWT"
|
6034 |
|
6035 |
msgid "API Secret"
|
6036 |
-
msgstr "
|
6037 |
|
6038 |
msgid "The API Secret obtained from your JWT app"
|
6039 |
-
msgstr "O código
|
6040 |
|
6041 |
msgid "Cart"
|
6042 |
msgstr "Carrinho"
|
@@ -6053,13 +6260,13 @@ msgstr ""
|
|
6053 |
"aqui</a>."
|
6054 |
|
6055 |
msgid "Google Calendar"
|
6056 |
-
msgstr "Google
|
6057 |
|
6058 |
msgid "Purchase Code"
|
6059 |
msgstr "Código de compra"
|
6060 |
|
6061 |
msgid "Create WordPress user account for customers"
|
6062 |
-
msgstr "
|
6063 |
|
6064 |
msgid ""
|
6065 |
"If this setting is enabled then Bookly will be creating WordPress user "
|
@@ -6067,30 +6274,29 @@ msgid ""
|
|
6067 |
"customer will be associated with the existing user account."
|
6068 |
msgstr ""
|
6069 |
"Se essa configuração for habilitada, o Bookly estará criando contas de "
|
6070 |
-
"
|
6071 |
-
"conectado, o novo cliente será associado com a conta de
|
6072 |
|
6073 |
msgid "Cancel appointment action"
|
6074 |
-
msgstr "Ação para cancelar
|
6075 |
|
6076 |
msgid ""
|
6077 |
"Select what happens when customer clicks cancel appointment link. With "
|
6078 |
"\"Delete\" the appointment will be deleted from the calendar. With "
|
6079 |
"\"Cancel\" only appointment status will be changed to \"Cancelled\"."
|
6080 |
msgstr ""
|
6081 |
-
"Selecione o que acontece quando o cliente clica no link para cancelar
|
6082 |
-
"
|
6083 |
-
"\"Cancelar\", apenas o status
|
6084 |
-
"\"Cancelado\"."
|
6085 |
|
6086 |
msgid "New user account role"
|
6087 |
-
msgstr "Novo papel da conta de
|
6088 |
|
6089 |
msgid ""
|
6090 |
"Select what role will be assigned to newly created WordPress user accounts "
|
6091 |
"for customers."
|
6092 |
msgstr ""
|
6093 |
-
"Selecione qual papel será atribuído às contas de
|
6094 |
"criadas para os clientes."
|
6095 |
|
6096 |
msgid "Online Meetings"
|
@@ -6103,7 +6309,7 @@ msgstr "Criar reuniões on-line"
|
|
6103 |
msgid ""
|
6104 |
"If this setting is enabled then online meetings will be created for new "
|
6105 |
"appointments with the selected online meeting provider. Make sure that the "
|
6106 |
-
"provider is configured properly in Settings
|
6107 |
"Meetings</a>"
|
6108 |
msgstr ""
|
6109 |
"Se esta configuração estiver ativada, as reuniões on-line serão criadas para "
|
@@ -6120,11 +6326,11 @@ msgid ""
|
|
6120 |
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6121 |
"then the next available time slot will be 9:15 rather than 9:00."
|
6122 |
msgstr ""
|
6123 |
-
"Definir a hora de preenchimento antes e/ou depois de
|
6124 |
-
"exemplo, se
|
6125 |
-
"
|
6126 |
-
"
|
6127 |
-
"
|
6128 |
|
6129 |
msgid "Providers preference for ANY"
|
6130 |
msgstr "Preferência dos fornecedores para QUALQUER"
|
@@ -6133,8 +6339,8 @@ msgid ""
|
|
6133 |
"Allows you to define the rule of staff members auto assignment when ANY "
|
6134 |
"option is selected"
|
6135 |
msgstr ""
|
6136 |
-
"Permite que
|
6137 |
-
"quando a opção QUALQUER for selecionada"
|
6138 |
|
6139 |
msgid "Period (before and after)"
|
6140 |
msgstr "Período (antes e depois)"
|
@@ -6143,10 +6349,23 @@ msgid ""
|
|
6143 |
"Set number of days before and after appointment that will be taken into "
|
6144 |
"account when calculating providers occupancy. 0 means the day of booking."
|
6145 |
msgstr ""
|
6146 |
-
"Definir o número de dias antes e depois
|
6147 |
"consideração ao calcular a ocupação dos fornecedores. 0 significa o dia da "
|
6148 |
"reserva."
|
6149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6150 |
msgid "Limit appointments per customer"
|
6151 |
msgstr "Limite de compromissos por cliente"
|
6152 |
|
@@ -6180,11 +6399,11 @@ msgstr "por ano"
|
|
6180 |
msgid ""
|
6181 |
"This setting allows you to limit the number of appointments that can be "
|
6182 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6183 |
-
"period or with the beginning of the next calendar period
|
6184 |
"month, etc."
|
6185 |
msgstr ""
|
6186 |
-
"Esta configuração permite limitar o número de
|
6187 |
-
"
|
6188 |
"terminar após um período fixo ou com o início do próximo período : novo dia, "
|
6189 |
"semana, mês, etc."
|
6190 |
|
@@ -6250,8 +6469,8 @@ msgid ""
|
|
6250 |
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6251 |
"first."
|
6252 |
msgstr ""
|
6253 |
-
"Por favor, configure a integração com
|
6254 |
-
"configurações</a> primeiro."
|
6255 |
|
6256 |
msgid "Ok"
|
6257 |
msgstr "Ok"
|
@@ -6270,9 +6489,9 @@ msgid ""
|
|
6270 |
"contained in your file. The sequence of columns should coincide with the "
|
6271 |
"specified one."
|
6272 |
msgstr ""
|
6273 |
-
"
|
6274 |
-
"
|
6275 |
-
"
|
6276 |
|
6277 |
msgid "Select file"
|
6278 |
msgstr "Selecionar o ficheiro"
|
@@ -6294,13 +6513,13 @@ msgid "online meeting URL"
|
|
6294 |
msgstr "URL de reunião on-line"
|
6295 |
|
6296 |
msgid "Titles"
|
6297 |
-
msgstr "
|
6298 |
|
6299 |
msgid "Add Bookly appointments list"
|
6300 |
msgstr "Adicionar lista de compromissos Bookly "
|
6301 |
|
6302 |
msgid "Add appointment cancellation confirmation"
|
6303 |
-
msgstr "Adicionar confirmação de cancelamento de
|
6304 |
|
6305 |
#, php-format
|
6306 |
msgid ""
|
@@ -6316,7 +6535,7 @@ msgid ""
|
|
6316 |
"\n"
|
6317 |
"This will also remove the entered purchase code from this site."
|
6318 |
msgstr ""
|
6319 |
-
"
|
6320 |
"\n"
|
6321 |
"Isso também removerá o código de compra inserido neste site."
|
6322 |
|
@@ -6324,15 +6543,14 @@ msgid "Error dissociating purchase code."
|
|
6324 |
msgstr "Erro ao dissociar o código de compra."
|
6325 |
|
6326 |
msgid "Archiving Staff"
|
6327 |
-
msgstr "
|
6328 |
|
6329 |
msgid ""
|
6330 |
"You are going to archive item which is involved in upcoming appointments. "
|
6331 |
"Please double check and edit appointments before this item archive if needed."
|
6332 |
msgstr ""
|
6333 |
-
"
|
6334 |
-
"verifique e edite
|
6335 |
-
"necessário."
|
6336 |
|
6337 |
msgid "Ok, continue editing"
|
6338 |
msgstr "Ok, continuar a ediitar"
|
@@ -6371,7 +6589,7 @@ msgstr ""
|
|
6371 |
"{online_meeting_url}"
|
6372 |
|
6373 |
msgid "Save appointment to create a meeting"
|
6374 |
-
msgstr "Guardar
|
6375 |
|
6376 |
msgid "Custom service name"
|
6377 |
msgstr "Nome do serviço customizado"
|
@@ -6389,7 +6607,7 @@ msgid "Add staff members."
|
|
6389 |
msgstr "Adicionar funcionários."
|
6390 |
|
6391 |
msgid "Add services you provide and assign them to staff members."
|
6392 |
-
msgstr "Adicionar os serviços que
|
6393 |
|
6394 |
msgid ""
|
6395 |
"Bookly can boost your sales and scale together with your business. With "
|
@@ -6397,10 +6615,10 @@ msgid ""
|
|
6397 |
"online scheduling system according to your business needs and simplify the "
|
6398 |
"process even more."
|
6399 |
msgstr ""
|
6400 |
-
"O Bookly pode impulsionar e
|
6401 |
-
"os add-ons Bookly,
|
6402 |
-
"customizar seu sistema de agendamento online de acordo com as
|
6403 |
-
"do seu negócio e simplificar ainda mais o processo."
|
6404 |
|
6405 |
msgid "Bookly Add-ons"
|
6406 |
msgstr "Add-ons do Bookly"
|
@@ -6427,21 +6645,21 @@ msgid ""
|
|
6427 |
"If you do not provide a valid purchase code within {days}, access to your "
|
6428 |
"bookings will be disabled. <a href=\"{url}\">Details</a>"
|
6429 |
msgstr ""
|
6430 |
-
"Se
|
6431 |
"reservas será desabilitado. <a href=\"{url}\">Detalhes</a>"
|
6432 |
|
6433 |
msgid "License verification succeeded"
|
6434 |
msgstr "Verificação de licença bem sucedido"
|
6435 |
|
6436 |
msgid "Your license has been verified successfully."
|
6437 |
-
msgstr "
|
6438 |
|
6439 |
msgid ""
|
6440 |
"You have access to software updates, including feature improvements and "
|
6441 |
"important security fixes."
|
6442 |
msgstr ""
|
6443 |
-
"
|
6444 |
-
"
|
6445 |
|
6446 |
msgid "Thank you for choosing Bookly Pro as your booking solution."
|
6447 |
msgstr "Obrigado por escolher o Bookly Pro como sua solução de agendamentos."
|
@@ -6457,11 +6675,11 @@ msgid ""
|
|
6457 |
"access to your bookings will be disabled."
|
6458 |
msgstr ""
|
6459 |
"Por favor, entre em contacto com o administrador do seu website para "
|
6460 |
-
"verificar sua licença, fornecendo um código de compra válido. No momento
|
6461 |
-
"o código de compra é fornecido,
|
6462 |
"software, incluindo melhorias nas opções e correções de segurança "
|
6463 |
-
"importantes. Se
|
6464 |
-
"
|
6465 |
|
6466 |
msgid "Access to your bookings has been disabled."
|
6467 |
msgstr "O acesso às suas reservas foi desativado."
|
@@ -6471,7 +6689,7 @@ msgid ""
|
|
6471 |
"in order to verify the license."
|
6472 |
msgstr ""
|
6473 |
"Para ativar o acesso às suas reservas, entre em contato com o administrador "
|
6474 |
-
"do site
|
6475 |
|
6476 |
msgid ""
|
6477 |
"To enable access to your bookings, please verify your license by providing a "
|
@@ -6491,8 +6709,7 @@ msgstr "Desativar o Bookly Pro"
|
|
6491 |
|
6492 |
msgid ""
|
6493 |
"Please contact your website administrator in order to verify the license."
|
6494 |
-
msgstr ""
|
6495 |
-
"Entre em contato com o administrador do site a fim de verificar a licença."
|
6496 |
|
6497 |
msgid ""
|
6498 |
"If you do not verify the license within {days}, access to your bookings will "
|
@@ -6509,7 +6726,7 @@ msgid ""
|
|
6509 |
"Cannot find your purchase code? See this <a href=\"%s\" target=\"_blank\">"
|
6510 |
"page</a>."
|
6511 |
msgstr ""
|
6512 |
-
"Não consegue encontrar o seu código de compra? Veja
|
6513 |
"target=\"_blank\">página</a>."
|
6514 |
|
6515 |
msgid "I will provide license info later"
|
@@ -6597,8 +6814,8 @@ msgid ""
|
|
6597 |
"deposit amount. If you enable \"Deposit or full price\", customers will be "
|
6598 |
"requested to pay a deposit amount or a full amount."
|
6599 |
msgstr ""
|
6600 |
-
"Se
|
6601 |
-
"um valor de depósito. Se
|
6602 |
"clientes serão requisitados a pagar um valor de depósito ou o montante total."
|
6603 |
|
6604 |
msgid "amount due"
|
@@ -6626,7 +6843,7 @@ msgid "Pay now tax"
|
|
6626 |
msgstr "Pagar a taxa agora"
|
6627 |
|
6628 |
msgid "Your task is done"
|
6629 |
-
msgstr "
|
6630 |
|
6631 |
msgid ""
|
6632 |
"Dear {client_name}.\n"
|
@@ -6641,7 +6858,7 @@ msgid ""
|
|
6641 |
msgstr ""
|
6642 |
"Prezado/Prezada {client_name}.\n"
|
6643 |
"\n"
|
6644 |
-
"
|
6645 |
"\n"
|
6646 |
"Obrigado por escolher nossa empresa.\n"
|
6647 |
"\n"
|
@@ -6686,7 +6903,7 @@ msgid ""
|
|
6686 |
"{company_website}"
|
6687 |
msgstr ""
|
6688 |
"Prezado/Prezada {client_name}.\n"
|
6689 |
-
"
|
6690 |
"Obrigado por escolher nossa empresa.\n"
|
6691 |
"{company_name}\n"
|
6692 |
"{company_phone}\n"
|
@@ -6701,7 +6918,7 @@ msgid ""
|
|
6701 |
"Client email: {client_email}"
|
6702 |
msgstr ""
|
6703 |
"Ola.\n"
|
6704 |
-
"A tarefa
|
6705 |
"Serviço: {service_name}\n"
|
6706 |
"Nome de/da cliente: {client_name}\n"
|
6707 |
"Tel. do/da Cliente: {client_phone}\n"
|
@@ -6729,7 +6946,7 @@ msgstr ""
|
|
6729 |
"etapa de tempo, mas permitir que o cliente a ignore."
|
6730 |
|
6731 |
msgid "Skip time selection"
|
6732 |
-
msgstr "
|
6733 |
|
6734 |
msgid "Incorrect payment data"
|
6735 |
msgstr "Dados de pagamento incorretos"
|
@@ -6744,11 +6961,11 @@ msgid ""
|
|
6744 |
"You selected to book {appointments_count} appointments with total price "
|
6745 |
"{total_price}."
|
6746 |
msgstr ""
|
6747 |
-
"
|
6748 |
-
"
|
6749 |
|
6750 |
msgid "Coupon"
|
6751 |
-
msgstr "
|
6752 |
|
6753 |
msgid "Discount (%)"
|
6754 |
msgstr "Desconto (%)"
|
@@ -6772,37 +6989,37 @@ msgid "Active until"
|
|
6772 |
msgstr "Ativo até"
|
6773 |
|
6774 |
msgid "Min. appointments"
|
6775 |
-
msgstr "
|
6776 |
|
6777 |
msgid "Max. appointments"
|
6778 |
-
msgstr "Compromissos
|
6779 |
|
6780 |
msgid "Coupons"
|
6781 |
-
msgstr "
|
6782 |
|
6783 |
msgid "Add Coupon Series"
|
6784 |
-
msgstr "Adiciona série de
|
6785 |
|
6786 |
msgid "Add Coupon"
|
6787 |
-
msgstr "Adicionar
|
6788 |
|
6789 |
msgid "Coupon code"
|
6790 |
-
msgstr "Código de
|
6791 |
|
6792 |
msgid "Show only active"
|
6793 |
msgstr "Mostrar somente o ativo"
|
6794 |
|
6795 |
msgid "Export only active coupons"
|
6796 |
-
msgstr "Exportar somente
|
6797 |
|
6798 |
msgid "New coupon series"
|
6799 |
-
msgstr "Nova série de
|
6800 |
|
6801 |
msgid "New coupon"
|
6802 |
-
msgstr "Novo
|
6803 |
|
6804 |
msgid "Edit coupon"
|
6805 |
-
msgstr "Editar
|
6806 |
|
6807 |
msgid "Generate"
|
6808 |
msgstr "Gerar"
|
@@ -6811,8 +7028,8 @@ msgid ""
|
|
6811 |
"You can enter a mask containing asterisks \"*\" for variables here and click "
|
6812 |
"Generate."
|
6813 |
msgstr ""
|
6814 |
-
"
|
6815 |
-
"
|
6816 |
|
6817 |
msgid "Mask"
|
6818 |
msgstr "Máscara"
|
@@ -6825,8 +7042,7 @@ msgstr "Uma vez por cliente"
|
|
6825 |
|
6826 |
msgid ""
|
6827 |
"Select this option to limit the use of the coupon to 1 time per customer."
|
6828 |
-
msgstr ""
|
6829 |
-
"Seleciona esta opção para limitar o uso de cupons para uma vez por cliente."
|
6830 |
|
6831 |
msgid "Date limit (from and to)"
|
6832 |
msgstr "Limite de data (de e até)"
|
@@ -6838,26 +7054,23 @@ msgid "Clear field"
|
|
6838 |
msgstr "Limpar campo"
|
6839 |
|
6840 |
msgid "Limit appointments in cart (min and max)"
|
6841 |
-
msgstr "Limitar
|
6842 |
|
6843 |
msgid ""
|
6844 |
"Specify minimum and maximum (optional) number of services of the same type "
|
6845 |
"required to apply a coupon."
|
6846 |
msgstr ""
|
6847 |
"Especificar o mínimo e o máximo (opcional) de serviços do mesmo tipo "
|
6848 |
-
"requeridos para utilizar um
|
6849 |
|
6850 |
msgid "Limit to customers"
|
6851 |
msgstr "Limitar aos clientes"
|
6852 |
|
6853 |
msgid "Create another coupon"
|
6854 |
-
msgstr "Criar outro
|
6855 |
-
|
6856 |
-
msgid "Duplicate"
|
6857 |
-
msgstr "Duplicata"
|
6858 |
|
6859 |
msgid "No coupons found."
|
6860 |
-
msgstr "Nenhum
|
6861 |
|
6862 |
msgid "All customers"
|
6863 |
msgstr "Todos os clientes"
|
@@ -6874,6 +7087,10 @@ msgstr "O mínimo de compromissos deve ser maior que zero."
|
|
6874 |
msgid "Max appointments should be greater than zero."
|
6875 |
msgstr "O máximo de compromissos deve ser maior que zero."
|
6876 |
|
|
|
|
|
|
|
|
|
6877 |
msgid "Please enter a non empty mask."
|
6878 |
msgstr "Por favor, insira uma máscara não-vazia."
|
6879 |
|
@@ -6886,7 +7103,7 @@ msgstr ""
|
|
6886 |
"%d códigos."
|
6887 |
|
6888 |
msgid "All possible codes have already been generated for this mask."
|
6889 |
-
msgstr "Todos os códigos possíveis já foram gerados
|
6890 |
|
6891 |
msgid "Default code mask"
|
6892 |
msgstr "Máscara de código padrão"
|
@@ -6898,16 +7115,16 @@ msgid "Show coupons"
|
|
6898 |
msgstr "Exibir cupões"
|
6899 |
|
6900 |
msgid "This coupon code is invalid or has been used"
|
6901 |
-
msgstr "Este código de
|
6902 |
|
6903 |
msgid "This coupon code has expired"
|
6904 |
-
msgstr "Este código de
|
6905 |
|
6906 |
msgid "Group name"
|
6907 |
msgstr "Nome do grupo"
|
6908 |
|
6909 |
msgid "Number of users"
|
6910 |
-
msgstr "Numero de
|
6911 |
|
6912 |
msgid "Description"
|
6913 |
msgstr "Descrição"
|
@@ -6959,14 +7176,14 @@ msgid ""
|
|
6959 |
"Enter the fixed amount of discount (e.g. 10 off). To specify a percentage "
|
6960 |
"discount (e.g. 10% off), add '%' symbol to a numerical value."
|
6961 |
msgstr ""
|
6962 |
-
"Insira um valor fixo de desconto (ex: 10%). Para especificar uma
|
6963 |
"de desconto (ex: 10%), adicione o símbolo \"%\" ao valor numérico."
|
6964 |
|
6965 |
msgid "Edit group"
|
6966 |
msgstr "Editar grupo"
|
6967 |
|
6968 |
msgid "Group name is required"
|
6969 |
-
msgstr "Nome do grupo obrigatório"
|
6970 |
|
6971 |
msgid "Notification to customer about placing on waiting list"
|
6972 |
msgstr "Notificação ao cliente sobre o posicionamento na lista de espera"
|
@@ -6985,7 +7202,7 @@ msgid ""
|
|
6985 |
msgstr ""
|
6986 |
"Prezado {client_name}.\n"
|
6987 |
"\n"
|
6988 |
-
"Esta é uma confirmação de que
|
6989 |
"{service_name} no dia {appointment_date} às {appointment_time}.\n"
|
6990 |
"\n"
|
6991 |
"{company_name}\n"
|
@@ -7009,7 +7226,7 @@ msgid ""
|
|
7009 |
msgstr ""
|
7010 |
"Olá.\n"
|
7011 |
"\n"
|
7012 |
-
"
|
7013 |
"\n"
|
7014 |
"Serviço: {service_name}\n"
|
7015 |
"Data: {appointment_date}\n"
|
@@ -7019,11 +7236,10 @@ msgstr ""
|
|
7019 |
"E-mail do cliente: {client_email}"
|
7020 |
|
7021 |
msgid "Notification to staff member to set appointment from waiting list"
|
7022 |
-
msgstr ""
|
7023 |
-
"Notificação ao funcionário para marcar um compromisso da lista de espera"
|
7024 |
|
7025 |
msgid "Set appointment from waiting list"
|
7026 |
-
msgstr "Marcar
|
7027 |
|
7028 |
msgid ""
|
7029 |
"Dear {staff_name},\n"
|
@@ -7037,8 +7253,8 @@ msgstr ""
|
|
7037 |
"Prezado {staff_name},\n"
|
7038 |
"\n"
|
7039 |
"O intervalo de tempo no dia {appointment_date} às {appointment_time} para "
|
7040 |
-
"{service_name} está disponível para reserva
|
7041 |
-
"
|
7042 |
"\n"
|
7043 |
"{appointment_waiting_list}"
|
7044 |
|
@@ -7052,7 +7268,7 @@ msgid ""
|
|
7052 |
"{company_website}"
|
7053 |
msgstr ""
|
7054 |
"Prezado {client_name}.\n"
|
7055 |
-
"Esta é uma confirmação de que
|
7056 |
"{service_name} no dia {appointment_date} às {appointment_time}.\n"
|
7057 |
"Obrigado por escolher nossa empresa.\n"
|
7058 |
"{company_name}\n"
|
@@ -7070,7 +7286,7 @@ msgid ""
|
|
7070 |
"Client email: {client_email}"
|
7071 |
msgstr ""
|
7072 |
"Olá.\n"
|
7073 |
-
"
|
7074 |
"Serviço: {service_name}\n"
|
7075 |
"Data: {appointment_date}\n"
|
7076 |
"Hora: {appointment_time}\n"
|
@@ -7087,8 +7303,8 @@ msgid ""
|
|
7087 |
msgstr ""
|
7088 |
"Prezado {staff_name},\n"
|
7089 |
"O intervalo de tempo no dia {appointment_date} às {appointment_time} para "
|
7090 |
-
"{service_name} está disponível para reserva
|
7091 |
-
"
|
7092 |
"{appointment_waiting_list}"
|
7093 |
|
7094 |
msgid ""
|
@@ -7101,11 +7317,11 @@ msgstr ""
|
|
7101 |
|
7102 |
msgid "Notification for staff member to set up appointment from waiting list"
|
7103 |
msgstr ""
|
7104 |
-
"Notificação ao funcionário para marcar
|
7105 |
"espera"
|
7106 |
|
7107 |
msgid "Set appointment"
|
7108 |
-
msgstr "Marcar
|
7109 |
|
7110 |
msgid "number of persons on waiting list"
|
7111 |
msgstr "número de pessoas na lista de espera"
|
@@ -7114,7 +7330,7 @@ msgid "Show waiting list slots"
|
|
7114 |
msgstr "Exibir espaços da lista de espera"
|
7115 |
|
7116 |
msgid "waiting list of appointment"
|
7117 |
-
msgstr "lista de espera para
|
7118 |
|
7119 |
msgid "Show chain appointments"
|
7120 |
msgstr "Exibir reservas encadeadas"
|
@@ -7152,7 +7368,7 @@ msgid "number of uploaded files"
|
|
7152 |
msgstr "número de ficheiros enviados"
|
7153 |
|
7154 |
msgid "download"
|
7155 |
-
msgstr "
|
7156 |
|
7157 |
msgid ""
|
7158 |
"In <b>Checkout Options</b> of your 2Checkout account do the following steps:"
|
@@ -7168,7 +7384,7 @@ msgid "In <b>Approved URL</b> enter the URL of your booking page."
|
|
7168 |
msgstr "Em <b>URL aprovada</b> insira a URL da sua página de reservas."
|
7169 |
|
7170 |
msgid "Finally provide the necessary information in the form below."
|
7171 |
-
msgstr "Finalmente,
|
7172 |
|
7173 |
msgid "Account Number"
|
7174 |
msgstr "Número da conta"
|
@@ -7202,7 +7418,7 @@ msgid "Service Extras"
|
|
7202 |
msgstr "Extras do serviço"
|
7203 |
|
7204 |
msgid "extras titles"
|
7205 |
-
msgstr "
|
7206 |
|
7207 |
msgid "extras total price"
|
7208 |
msgstr "preço total dos extras"
|
@@ -7214,7 +7430,7 @@ msgid "New Item"
|
|
7214 |
msgstr "Novo item"
|
7215 |
|
7216 |
msgid "Show title"
|
7217 |
-
msgstr "Mostrar
|
7218 |
|
7219 |
msgid "Show price"
|
7220 |
msgstr "Mostrar preços"
|
@@ -7247,9 +7463,
|
8 |
"Language: pt_PT\n"
|
9 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
10 |
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-06-05 06:59+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-06-05 07:02+0000\n"
|
13 |
+
"Last-Translator: Isabel Andrade <estgf_nemo@hotmail.com>\n"
|
14 |
"Language-Team: Portuguese (Portugal)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
16 |
|
17 |
msgid "Invoice #{invoice_number} for your appointment"
|
18 |
+
msgstr "Fatura #{invoice_number) da sua marcação"
|
19 |
|
20 |
msgid ""
|
21 |
"Dear {client_name}.\n"
|
30 |
msgstr ""
|
31 |
"Prezado {nome_do_cliente}.\n"
|
32 |
"\n"
|
33 |
+
"Em anexo encontra-se a fatura #{número_da fatura} para a sua marcação.\n"
|
34 |
"\n"
|
35 |
"Obrigado por escolher a nossa empresa.\n"
|
36 |
"\n"
|
49 |
msgstr ""
|
50 |
"Olá,\n"
|
51 |
"\n"
|
52 |
+
"Tem uma nova fatura #{número_da fatura} para um compromisso\n"
|
53 |
"marcado por {primeiro_nome_do cliente} {sobrenome_do cliente}.\n"
|
54 |
+
"Por favor, faça o download da fatura aqui: {link_da fatura}"
|
55 |
|
56 |
msgid "BILL TO"
|
57 |
msgstr "CONTA PARA"
|
106 |
msgstr "Definições guardadas."
|
107 |
|
108 |
msgid "Download invoices"
|
109 |
+
msgstr "Faça o download das faturas"
|
110 |
|
111 |
msgid "invoice creation date"
|
112 |
msgstr "Data de criação da fatura"
|
158 |
msgstr "Subtotal"
|
159 |
|
160 |
msgid "Coupon discount"
|
161 |
+
msgstr "Cupão de desconto"
|
162 |
|
163 |
msgid "Group discount"
|
164 |
+
msgstr "Desconto de grupo"
|
165 |
|
166 |
msgid "Total"
|
167 |
msgstr "Total"
|
170 |
msgstr "Pago"
|
171 |
|
172 |
msgid "Due"
|
173 |
+
msgstr "Vencido"
|
174 |
|
175 |
msgid "Discount"
|
176 |
msgstr "Desconto"
|
177 |
|
178 |
msgid "Outlook Calendar event"
|
179 |
+
msgstr "Evento Calendário do Outlook"
|
180 |
|
181 |
msgid "Name"
|
182 |
msgstr "Nome"
|
188 |
msgstr "Telefone"
|
189 |
|
190 |
msgid "Outlook Calendar integration"
|
191 |
+
msgstr "Integração do Calendário do Outlook"
|
192 |
|
193 |
msgid "Connect"
|
194 |
msgstr "Conectar"
|
196 |
#, php-format
|
197 |
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
198 |
msgstr ""
|
199 |
+
"Por favor, configure o Calendário do Outlook <a href=\"%s\">configurações</a>"
|
200 |
+
" primeiro"
|
201 |
|
202 |
msgid "Connected"
|
203 |
msgstr "Conectado"
|
206 |
msgstr "desconectar"
|
207 |
|
208 |
msgid "Synchronize staff member appointments with Outlook Calendar."
|
209 |
+
msgstr ""
|
210 |
+
"Sincronizar os compromissos do membro da equipa com o Calendário do Outlook."
|
211 |
|
212 |
msgid "Calendar"
|
213 |
msgstr "Calendário"
|
214 |
|
215 |
msgid "-- Select calendar --"
|
216 |
+
msgstr "-- Selecionar o calendário --"
|
217 |
|
218 |
msgid ""
|
219 |
"When you connect a calendar all future and past events will be synchronized "
|
220 |
"according to the selected synchronization mode. This may take a few minutes. "
|
221 |
"Please wait."
|
222 |
msgstr ""
|
223 |
+
"Quando conecta um calendário, todos os eventos passados e futuros serão "
|
224 |
+
"sincronizados de acordo com o modo de sincronização selecionado. Isto pode "
|
225 |
+
"demorar alguns minutos. Por favor, aguarde."
|
226 |
|
227 |
msgid "Can't change calendar for archived staff"
|
228 |
+
msgstr "Impossível mudar o calendário para os funcionários arquivados"
|
229 |
|
230 |
msgid "Instructions"
|
231 |
msgstr "Instruções"
|
235 |
"not work with your website if there is no valid SSL certificate installed on "
|
236 |
"your web server."
|
237 |
msgstr ""
|
238 |
+
"Importante: O seu site deve usar <b>HTTPS</b>. A API do Calendário do "
|
239 |
+
"Outlook não funcionará com o seu site se não houver um certificado SSL "
|
240 |
+
"válido instalado no seu servidor web."
|
241 |
|
242 |
msgid "To find your Application ID and Application Secret, do the following:"
|
243 |
msgstr ""
|
244 |
+
"Para encontrar o ID da Aplicação e a Aplicação Secret, faça o seguinte:"
|
|
|
245 |
|
246 |
#, php-format
|
247 |
msgid ""
|
248 |
"Sign in to the <a href=\"%s\" target=\"_blank\">Azure portal</a> using "
|
249 |
"either a work or school account or a personal Microsoft account."
|
250 |
msgstr ""
|
251 |
+
"Faça login no <a href=\"%s\" target=\"_blank\">portal Azure</a> usando uma "
|
252 |
"conta profissional ou educacional, ou uma conta pessoal Microsoft."
|
253 |
|
254 |
msgid ""
|
256 |
"account in the top right corner, and set your portal session to the Azure AD "
|
257 |
"tenant that you want."
|
258 |
msgstr ""
|
259 |
+
"Se a sua conta tiver acesso a mais do que um inquilino, selecione a sua "
|
260 |
+
"conta no canto superior direito e defina a sessão do portal para o inquilino "
|
261 |
+
"do Azure AD que pretende."
|
262 |
|
263 |
msgid ""
|
264 |
"In the left-hand navigation pane, select the <b>Azure Active Directory</b> "
|
275 |
"any organizational directory and personal Microsoft accounts</b>. When "
|
276 |
"finished, select <b>Register</b>."
|
277 |
msgstr ""
|
278 |
+
"Quando a página <b>Registe uma aplicação</b> é exibida, insira o <b>Nome</b> "
|
279 |
+
"da sua aplicação e o <b>Redirect URI</b> encontrado em baixo desta página. "
|
280 |
+
"Assegure-se que <b>os tipos de conta suportada</b> está definido para <b>"
|
281 |
+
"Contas em qualquer diretório organizacional e conta pessoal da Microsoft "
|
282 |
+
"o</b>. Para terminar, selecione <b>Registo</b>."
|
283 |
|
284 |
msgid ""
|
285 |
"Azure AD assigns a unique application (client) ID to your app, and you're "
|
286 |
"taken to your application's <b>Overview</b> page."
|
287 |
msgstr ""
|
288 |
+
"Azure AD atribui um ID da aplicação (cliente) única à sua aplicação, de "
|
289 |
+
"seguida a página <b>Overview</b> da aplicação é exibida."
|
290 |
|
291 |
msgid ""
|
292 |
"Copy the <b>Application (client) ID</b> and insert it into the form below on "
|
293 |
"this page."
|
294 |
msgstr ""
|
295 |
+
"Copie o <b>ID da Aplicação (cliente)</b> e insira no formulário abaixo desta "
|
296 |
+
"página. "
|
297 |
|
298 |
msgid ""
|
299 |
"Under <b>Certificates & secrets</b>, choose <b>New client secret</b>, "
|
301 |
"from the <b>Client secrets</b> list before leaving the page. Insert the "
|
302 |
"secret into the form below on this page."
|
303 |
msgstr ""
|
304 |
+
"Em <b>Certificados & segredos</b>, escolha <b>Novo cliente segredo</b>, "
|
305 |
+
"defina <b>Expira</b> para <b>Nunca</b> e clique <b>Adicione</b>. Copie a "
|
306 |
+
"aplicação segredo a partir da lista de <b>Clientes segredo</b> antes de sair "
|
307 |
+
"da página. Insira o segredo no formulário em baixo desta página."
|
308 |
|
309 |
msgid ""
|
310 |
"Under <b>API permissions</b>, choose <b>Add a permission</b>, and select <b>"
|
312 |
"find <b>Calendars.ReadWrite</b>, select it and click <b>Add permissions</b> "
|
313 |
"button."
|
314 |
msgstr ""
|
315 |
+
"Em <b>permissões API</b>, escolha <b>adicione uma permissão</b>, e selecione "
|
316 |
+
"<b>Microsoft Graph > permissões delegadas</b>. Em <b>Selecione "
|
317 |
+
"permissões</b> procure <b>Calendars.ReadWrite</b>, selecione e clique no "
|
318 |
+
"botão <b>Adicione permissões</b>."
|
319 |
|
320 |
msgid "<b>Save</b> your changes."
|
321 |
+
msgstr "<b>Salve</b> as suas alterações"
|
322 |
|
323 |
msgid ""
|
324 |
"Go to Staff Members, select a staff member and click <b>Connect</b> which is "
|
325 |
"located at the bottom of the page."
|
326 |
msgstr ""
|
327 |
+
"Vá para Funcionários, selecione um funcionário e clique em <b>Conectar</b>, "
|
328 |
"que está localizado na parte inferior da página."
|
329 |
|
330 |
msgid "Application ID"
|
331 |
+
msgstr "ID da aplicação"
|
332 |
|
333 |
msgid "The Application ID obtained from the Microsoft App Registration Portal."
|
334 |
+
msgstr "O ID da aplicação obtido do Portal de Registo do Microsoft."
|
335 |
|
336 |
msgid "Application secret"
|
337 |
+
msgstr "Aplicação Segredo"
|
338 |
|
339 |
msgid ""
|
340 |
"The Application Secret password obtained from the Microsoft App Registration "
|
341 |
"Portal."
|
342 |
msgstr ""
|
343 |
+
"A password da Aplicação Segredo obtida do Portal de Registo do Microsoft.\n"
|
344 |
|
345 |
msgid "Redirect URI"
|
346 |
msgstr "URI de redirecionamento"
|
348 |
msgid ""
|
349 |
"Enter this URL as a Redirect URLs in the Microsoft App Registration Portal."
|
350 |
msgstr ""
|
351 |
+
"Insira este URL como um redirecionamento de URL no Portal de Registo do "
|
352 |
+
"Microsoft."
|
353 |
|
354 |
msgid "Synchronization mode"
|
355 |
msgstr "Modo de sincronização"
|
363 |
"way\" sync all bookings created in Bookly Calendar will be automatically "
|
364 |
"copied to Outlook Calendar and vice versa."
|
365 |
msgstr ""
|
366 |
+
"Com a sincronização de uma via, o Bookly encaminha novas marcações e "
|
367 |
+
"quaisquer outras mudanças para o Calendário do Outlook. Com a sincronização "
|
368 |
+
"de duas vias exclusiva do frontend, o Bookly vai além disso, buscar eventos "
|
369 |
+
"do Calendário do Outlook e vai remover os espaços de tempo correspondentes "
|
370 |
+
"antes de exibir o intervalo de tempo do formulário de reserva (isto pode "
|
371 |
+
"levar a atrasos quando os utilizadores clicam em Seguinte para obterem o "
|
372 |
+
"intervalo de tempo). Com a sincronização de duas vias, todas as reservas "
|
373 |
+
"criadas no calendário Bookly serão automaticamente copiadas para o "
|
374 |
+
"Calendário do Outlook e vice-versa."
|
375 |
|
376 |
msgid "One-way"
|
377 |
msgstr "Uma via"
|
378 |
|
379 |
msgid "Two-way front-end only"
|
380 |
+
msgstr "Duas vias exclusiva apenas do front-end"
|
381 |
|
382 |
msgid "Two-way"
|
383 |
msgstr "Duas vias"
|
384 |
|
385 |
msgid "Sync appointments history"
|
386 |
+
msgstr "Sincronizar histórico de marcações"
|
387 |
|
388 |
msgid ""
|
389 |
"Specify how many days of past calendar data you wish to sync at the time of "
|
390 |
"initial sync. If you enter 0, synchronization of past events will not be "
|
391 |
"performed."
|
392 |
msgstr ""
|
393 |
+
"Especificar quantos dados de datas antigas na sua agenda deseja sincronizar "
|
394 |
+
"no momento da sincronização inicial. Se inserir 0, a sincronização de "
|
395 |
+
"eventos passados não será realizada."
|
396 |
|
397 |
msgid "Copy Outlook Calendar event titles"
|
398 |
+
msgstr "Copiar os nomes dos eventos Calendário Outlook "
|
399 |
|
400 |
msgid ""
|
401 |
"If enabled then titles of Outlook Calendar events will be copied to Bookly "
|
402 |
"appointments. If disabled, a standard title \"Outlook Calendar event\" will "
|
403 |
"be used."
|
404 |
msgstr ""
|
405 |
+
"Se ativado, os nomes dos eventos do Calendário Outlook serão copiados para "
|
406 |
+
"as marcações do Bookly. Se desativado, um título padrão \"Evento do "
|
407 |
+
"Calendário Outlook \" será utilizado."
|
408 |
|
409 |
msgid "Limit number of fetched events"
|
410 |
+
msgstr "Limite o número de eventos obtidos"
|
411 |
|
412 |
msgid ""
|
413 |
"If there is a lot of events in Outlook Calendar sometimes this leads to a "
|
414 |
"lack of memory in PHP when Bookly tries to fetch all events. You can limit "
|
415 |
"the number of fetched events here."
|
416 |
msgstr ""
|
417 |
+
"Se houver muitos eventos no Calendário do Outlook, às vezes, isso leva a uma "
|
418 |
+
"falta de memória no PHP quando o Bookly tenta obter todos os eventos. Pode "
|
419 |
+
"limitar o número de eventos obtidos aqui."
|
420 |
|
421 |
msgid "Template for event title"
|
422 |
+
msgstr "Template para o nome do evento"
|
423 |
|
424 |
msgid ""
|
425 |
"Configure what information should be placed in the title of Outlook Calendar "
|
426 |
"event. Available codes are {service_name}, {staff_name} and {client_names}."
|
427 |
msgstr ""
|
428 |
+
"Configure que informações devem ser colocadas no nome do evento do "
|
429 |
+
"Calendário do Outlook. Os códigos disponíveis são {nome_serviço}, "
|
430 |
+
"{nome_funcionário} e {nome_cliente}."
|
431 |
|
432 |
msgid "Appointment section"
|
433 |
+
msgstr "Secção da marcação"
|
434 |
|
435 |
msgid "This section describes information that is displayed about appointment."
|
436 |
+
msgstr "Esta seção descreve a informação exibida acerca do compromisso."
|
437 |
|
438 |
msgid "Customer section"
|
439 |
msgstr "Secção do cliente"
|
442 |
"This section describes information that is displayed about each participant "
|
443 |
"of the appointment."
|
444 |
msgstr ""
|
445 |
+
"Esta seção descreve a informação exibida acerca de cada participante da "
|
446 |
+
"marcação."
|
447 |
|
448 |
msgid "customer notes for appointment"
|
449 |
+
msgstr "observações do cliente para a marcação"
|
450 |
|
451 |
msgid "email of client"
|
452 |
msgstr "e-mail do cliente"
|
470 |
msgstr "tipo de pagamento"
|
471 |
|
472 |
msgid "status of appointment"
|
473 |
+
msgstr "status da marcação"
|
474 |
|
475 |
msgid "total price of booking (sum of all cart items after applying coupon)"
|
476 |
msgstr ""
|
477 |
"preço total da reserva (soma de todos os itens do carrinho após a aplicação "
|
478 |
+
"do cupão)"
|
479 |
|
480 |
msgid "date of appointment"
|
481 |
+
msgstr "data da marcação"
|
482 |
|
483 |
msgid "time of appointment"
|
484 |
+
msgstr "hora da marcação"
|
485 |
|
486 |
msgid "booking number"
|
487 |
msgstr "número de reserva"
|
523 |
msgstr "telefone do funcionário"
|
524 |
|
525 |
msgid "Outlook Calendar"
|
526 |
+
msgstr " Calendário do Outlook "
|
527 |
|
528 |
msgid "Disabled"
|
529 |
msgstr "Desativado"
|
530 |
|
531 |
msgid "Synchronize with Outlook Calendar"
|
532 |
+
msgstr "Sincronizar com Calendário do Outlook "
|
533 |
|
534 |
msgid "Calendars synchronized successfully."
|
535 |
msgstr "Calendários sincronizados com sucesso."
|
553 |
"When this setting is enabled you will be able to create service specific "
|
554 |
"custom fields."
|
555 |
msgstr ""
|
556 |
+
"Quando esta configuração estiver ativada, será capaz de criar campos "
|
557 |
"personalizados de serviços específicos."
|
558 |
|
559 |
msgid "Merge repeating custom fields for multiple bookings of the service"
|
560 |
msgstr ""
|
561 |
+
"Combinar campos personalizados repetidos para múltiplas reservas do serviço"
|
562 |
|
563 |
msgid ""
|
564 |
"If enabled, customers will see custom fields for unique appointments while "
|
566 |
"merged (collapsed) into one field. If disabled, customers will see custom "
|
567 |
"fields for each appointment in the set of bookings."
|
568 |
msgstr ""
|
569 |
+
"Se ativada, os clientes irão ver campos personalizados para marcações únicas,"
|
570 |
" enquanto reservam múltiplas instâncias do serviço. Campos personalizados "
|
571 |
+
"repetidos são combinados (colapsados) num campo. Se desativada, os clientes "
|
572 |
+
"irão ver campos personalizados para cada marcação no conjunto das reservas."
|
573 |
|
574 |
msgid "Text Field"
|
575 |
msgstr "Campo do texto"
|
584 |
msgstr "Grupo das caixas de seleção"
|
585 |
|
586 |
msgid "Radio Button Group"
|
587 |
+
msgstr "Grupo dos botões de opção"
|
588 |
|
589 |
msgid "Drop Down"
|
590 |
msgstr "Seleção flutuante"
|
605 |
msgstr "Campo obrigatório"
|
606 |
|
607 |
msgid "Enter a content"
|
608 |
+
msgstr "Insira um conteúdo"
|
609 |
|
610 |
msgid "Checkbox"
|
611 |
msgstr "Caixa de seleção"
|
612 |
|
613 |
msgid "Radio Button"
|
614 |
+
msgstr "Botão de opção"
|
615 |
|
616 |
msgid "Option"
|
617 |
msgstr "Opção"
|
629 |
msgstr "Exibir campos personalizados"
|
630 |
|
631 |
msgid "extended staff agenda for next day"
|
632 |
+
msgstr "agenda estendida da equipa para o dia seguinte"
|
633 |
|
634 |
msgid "combined values of all custom fields (formatted in 2 columns)"
|
635 |
msgstr ""
|
636 |
+
"valores combinados de todos os campos personalizados (formatado em 2 colunas)"
|
|
|
637 |
|
638 |
msgid "Another code"
|
639 |
msgstr "Outro código"
|
640 |
|
641 |
msgid "Notification to customer about approved recurring appointment"
|
642 |
+
msgstr "Notificação ao cliente sobre a marcação recorrente aprovada"
|
643 |
|
644 |
msgid "Your appointment information"
|
645 |
+
msgstr "A informação da sua marcação"
|
646 |
|
647 |
msgid ""
|
648 |
"Dear {client_name}.\n"
|
699 |
msgstr ""
|
700 |
"Olá.\n"
|
701 |
"\n"
|
702 |
+
"Tem uma nova reserva.\n"
|
703 |
"\n"
|
704 |
+
"Serviço: {service_name} (x {recurring_count})\n"
|
705 |
"Horário:\n"
|
706 |
"{appointment_schedule}\n"
|
707 |
"Nome do cliente: {client_name}\n"
|
709 |
"E-mail do cliente: {client_email}"
|
710 |
|
711 |
msgid "Notification to customer about cancelled recurring appointment"
|
712 |
+
msgstr "Notificação ao cliente acerca de um compromisso recorrente cancelado"
|
713 |
|
714 |
msgid "Booking cancellation"
|
715 |
msgstr "Cancelamento da reserva"
|
733 |
msgstr ""
|
734 |
"Prezado {client_name}.\n"
|
735 |
"\n"
|
736 |
+
"A sua reserva de {service_name} (x {recurring_count}) foi cancelada.\n"
|
737 |
"\n"
|
738 |
"Motivo: {cancellation_reason}\n"
|
739 |
"\n"
|
749 |
|
750 |
msgid "Notification to staff member about cancelled recurring appointment"
|
751 |
msgstr ""
|
752 |
+
"Notificação aos funcionários sobre o cancelamento de reservas recorrentes"
|
753 |
|
754 |
msgid ""
|
755 |
"Hello.\n"
|
779 |
"E-mail do cliente: {client_email}"
|
780 |
|
781 |
msgid "Notification to customer about rejected recurring appointment"
|
782 |
+
msgstr "Notificação ao cliente sobre uma reserva recorrente rejeitada"
|
783 |
|
784 |
msgid "Booking rejection"
|
785 |
+
msgstr "Rejeição da reserva"
|
786 |
|
787 |
msgid ""
|
788 |
"Dear {client_name}.\n"
|
807 |
"\n"
|
808 |
"Motivo: {cancellation_reason}\n"
|
809 |
"\n"
|
810 |
+
"Por favor, consulte o horário da sua reserva abaixo.:\n"
|
811 |
"\n"
|
812 |
"{appointment_schedule}\n"
|
813 |
"\n"
|
818 |
"{company_website}"
|
819 |
|
820 |
msgid "Notification to staff member about rejected recurring appointment "
|
821 |
+
msgstr "Notificação ao funcionário sobre a reserva recorrente rejeitada"
|
822 |
|
823 |
msgid ""
|
824 |
"Hello.\n"
|
851 |
"Notification to customer about placing on waiting list for recurring "
|
852 |
"appointment"
|
853 |
msgstr ""
|
854 |
+
"Notificação ao cliente sobre o posicionamento na lista de espera para a "
|
855 |
+
"reserva recorrente"
|
856 |
|
857 |
msgid "You have been added to waiting list for appointment"
|
858 |
+
msgstr "Foi adicionado à lista de espera para a reserva"
|
859 |
|
860 |
msgid ""
|
861 |
"Dear {client_name}.\n"
|
875 |
msgstr ""
|
876 |
"Prezado {client_name}.\n"
|
877 |
"\n"
|
878 |
+
"Esta é uma confirmação de que foi adicionado à lista de espera para "
|
879 |
"{service_name} (x {recorring_count}).\n"
|
880 |
"\n"
|
881 |
+
"Por favor, consulte o horário de serviço abaixo.\n"
|
882 |
"\n"
|
883 |
"{appointment_schedule}\n"
|
884 |
"\n"
|
892 |
"Notification to staff member about placing on waiting list for recurring "
|
893 |
"appointment "
|
894 |
msgstr ""
|
895 |
+
"Notificação ao funcionário sobre o posicionamento na lista de espera para "
|
896 |
+
"reserva recorrente"
|
897 |
|
898 |
msgid "New waiting list information"
|
899 |
msgstr "Nova informação da lista de espera"
|
912 |
msgstr ""
|
913 |
"Olá.\n"
|
914 |
"\n"
|
915 |
+
"Tem um novo cliente na lista de espera.\n"
|
916 |
"\n"
|
917 |
"Serviço: {service_name} (x {recorring_count})\n"
|
918 |
"Horário:\n"
|
935 |
"{company_website}"
|
936 |
msgstr ""
|
937 |
"Prezado {client_name}.\n"
|
938 |
+
"Esta é uma confirmação de que reservou {service_name} (x {recorring_count})."
|
939 |
+
"\n"
|
940 |
+
"Por favor, consulte o horário da sua reserva abaixo.\n"
|
941 |
"{appointment_schedule}\n"
|
942 |
"\n"
|
943 |
+
"Estamos à sua espera na {company_address}.\n"
|
944 |
"Obrigado por escolher a nossa empresa.\n"
|
945 |
"{company_name}\n"
|
946 |
"{company_phone}\n"
|
957 |
"Client email: {client_email}"
|
958 |
msgstr ""
|
959 |
"Olá.\n"
|
960 |
+
"Tem uma nova reserva.\n"
|
961 |
"Serviço: {service_name} (x {recorring_count})\n"
|
962 |
"Horário:\n"
|
963 |
"{appointment_schedule}\n"
|
979 |
"Prezado {client_name}.\n"
|
980 |
"A sua reserva de {service_name} (x {recorring_count}) foi cancelada.\n"
|
981 |
"Motivo: {cancellation_reason}\n"
|
982 |
+
"Por favor, consulte o horário da sua reserva abaixo: {appointment_schedule}\n"
|
983 |
"Obrigado por escolher a nossa empresa.\n"
|
984 |
"{company_name}\n"
|
985 |
"{company_phone}\n"
|
986 |
"{company_website}"
|
987 |
|
988 |
msgid "Notification to staff member about cancelled recurring appointment "
|
989 |
+
msgstr "Notificação ao funcionário sobre a reserva recorrente cancelada"
|
990 |
|
991 |
msgid ""
|
992 |
"Hello.\n"
|
1062 |
"{company_website}"
|
1063 |
msgstr ""
|
1064 |
"Prezado {client_name}.\n"
|
1065 |
+
"Esta é uma confirmação de que foi adicionado à lista de espera para "
|
1066 |
"{service_name} (x {recorring_count}).\n"
|
1067 |
+
"Por favor, consulte o horário de serviço abaixo.\n"
|
1068 |
"{appointment_schedule}\n"
|
1069 |
"Obrigado por escolher a nossa empresa.\n"
|
1070 |
"{company_name}\n"
|
1082 |
"Client email: {client_email}"
|
1083 |
msgstr ""
|
1084 |
"Olá.\n"
|
1085 |
+
"Tem um novo cliente na lista de espera.\n"
|
1086 |
"Serviço: {service_name} (x {recorring_count})\n"
|
1087 |
"Horário:\n"
|
1088 |
"{appointment_schedule}\n"
|
1102 |
"please check the box below and set appropriate parameters. Otherwise press "
|
1103 |
"Next button below."
|
1104 |
msgstr ""
|
1105 |
+
"Selecionou uma reserva para {service_name} às {appointment_time} no dia "
|
1106 |
+
"{appointment_date}. Se quiser que este compromisso seja recorrente, marque a "
|
1107 |
+
"caixa abaixo e defina os parâmetros apropriados. Caso contrário, pressione o "
|
1108 |
+
"botão Próximo abaixo."
|
1109 |
|
1110 |
msgid "Another time"
|
1111 |
msgstr "Outra hora"
|
1123 |
msgstr "dia(s)"
|
1124 |
|
1125 |
msgid "Deleted"
|
1126 |
+
msgstr "Apagado"
|
1127 |
|
1128 |
msgid "every"
|
1129 |
msgstr "cada"
|
1132 |
"The first recurring appointment was added to cart. You will be invoiced for "
|
1133 |
"the remaining appointments later."
|
1134 |
msgstr ""
|
1135 |
+
"A primeira reserva recorrente foi adicionada ao carrinho. Irá receber uma "
|
1136 |
+
"fatura para as restantes reservas mais tarde."
|
1137 |
|
1138 |
msgid "Monthly"
|
1139 |
msgstr "Mensal"
|
1140 |
|
1141 |
msgid "There are no available time slots for this day"
|
1142 |
+
msgstr "Não há horário disponível para este dia"
|
1143 |
|
1144 |
msgid "On"
|
1145 |
msgstr "Em"
|
1157 |
"Some of the desired time slots are busy. System offers the nearest time slot "
|
1158 |
"instead. Click the Edit button to select another time if needed."
|
1159 |
msgstr ""
|
1160 |
+
"Alguns dos horários desejados estão ocupados. Como alternativa, o sistema "
|
1161 |
+
"oferece o horário mais próximo. Clique no botão Editar para selecionar outra "
|
1162 |
+
"hora, se necessário."
|
1163 |
|
1164 |
msgid "Specific day"
|
1165 |
msgstr "Dia específico"
|
1166 |
|
1167 |
msgid "Repeat this appointment"
|
1168 |
+
msgstr "Repita esta reserva"
|
1169 |
|
1170 |
msgid "Until"
|
1171 |
msgstr "Até"
|
1195 |
msgstr "hora(s)"
|
1196 |
|
1197 |
msgid "Notification to customer about pending recurring appointment"
|
1198 |
+
msgstr "Notificação ao cliente sobre a reserva recorrente pendente"
|
1199 |
|
1200 |
msgid "Notification to staff member about pending recurring appointment"
|
1201 |
+
msgstr "Notificação ao funcionário sobre a reserva recorrente pendente"
|
1202 |
|
1203 |
msgid ""
|
1204 |
"Notification to staff member about placing on waiting list for recurring "
|
1205 |
"appointment"
|
1206 |
msgstr ""
|
1207 |
+
"Notificação ao funcionário sobre a colocação em lista de espera de uma "
|
1208 |
+
"reserva recorrente"
|
1209 |
|
1210 |
msgid "New recurring booking notification"
|
1211 |
+
msgstr "Notificação de uma nova reserva recorrente"
|
1212 |
|
1213 |
msgid "Notification about recurring appointment status changes"
|
1214 |
+
msgstr "Notificação de mudança de status de uma reserva recorrente"
|
1215 |
|
1216 |
msgid "at"
|
1217 |
msgstr "às"
|
1220 |
msgstr "Pagamentos on-line"
|
1221 |
|
1222 |
msgid "Customers must pay only for the 1st appointment"
|
1223 |
+
msgstr "Os clientes devem pagar apenas para a 1ª reserva"
|
1224 |
|
1225 |
msgid "Customers must pay for all appointments in series"
|
1226 |
+
msgstr "Os clientes devem pagar todas as reservas em série"
|
1227 |
|
1228 |
msgid "Group appointments"
|
1229 |
+
msgstr "Reservas de grupo"
|
1230 |
|
1231 |
msgid "Create new appointment for every recurring booking"
|
1232 |
+
msgstr "Crie uma nova reserva para cada reserva recorrente"
|
1233 |
|
1234 |
msgid "Add customer to available group bookings"
|
1235 |
+
msgstr "Adicione um cliente às reservas de grupo disponíveis "
|
1236 |
|
1237 |
msgid "Recurring Appointments"
|
1238 |
+
msgstr "Reservas Recorrentes"
|
1239 |
|
1240 |
msgid "Approve recurring appointment URL (success)"
|
1241 |
+
msgstr "Aprovar a URL da reserva recorrente (sucesso)"
|
1242 |
|
1243 |
msgid ""
|
1244 |
"Set the URL of a page that is shown to staff after they successfully "
|
1245 |
"approved recurring appointment."
|
1246 |
msgstr ""
|
1247 |
+
"Definir a URL de uma página que será mostrada aos funcionários depois de "
|
1248 |
+
"estes aprovarem a reserva recorrente."
|
1249 |
|
1250 |
msgid "Approve recurring appointment URL (denied)"
|
1251 |
+
msgstr "Aprovar a URL da reserva recorrente (negado)"
|
1252 |
|
1253 |
msgid ""
|
1254 |
"Set the URL of a page that is shown to staff when the approval of recurring "
|
1255 |
"appointment cannot be done (changed status, etc.)."
|
1256 |
msgstr ""
|
1257 |
"Defina a URL de uma página que será mostrada aos funcionários quando a "
|
1258 |
+
"aprovação de uma reserva recorrente não puder ser feita (status alterado, "
|
1259 |
+
"etc.)."
|
1260 |
|
1261 |
msgid "Enabled"
|
1262 |
msgstr "Ativado"
|
1263 |
|
1264 |
msgid "Allow this service to have recurring appointments."
|
1265 |
+
msgstr "Permitir que este serviço tenha reservas recorrentes."
|
1266 |
|
1267 |
msgid "Frequencies"
|
1268 |
msgstr "Frequências"
|
1289 |
msgstr "Exibir o passo Repetir"
|
1290 |
|
1291 |
msgid "recurring appointments schedule"
|
1292 |
+
msgstr "lista de reserva recorrentes"
|
1293 |
|
1294 |
msgid "recurring appointments schedule with cancel"
|
1295 |
+
msgstr "lista de reserva recorrentes com cancelamento"
|
1296 |
|
1297 |
msgid "URL for approving the whole schedule"
|
1298 |
msgstr "URL para aprovar todo o horário"
|
1299 |
|
1300 |
msgid "recurring appointments"
|
1301 |
+
msgstr "reserva recorrentes"
|
1302 |
|
1303 |
msgid "Every"
|
1304 |
msgstr "Cada"
|
1316 |
msgstr "Outro horário foi oferecido nas páginas"
|
1317 |
|
1318 |
msgid "Delete Appointment"
|
1319 |
+
msgstr "Apagar a reserva"
|
1320 |
|
1321 |
msgid "Delete only this appointment"
|
1322 |
+
msgstr "Apagar apenas esta reserva"
|
1323 |
|
1324 |
msgid "Delete this and the following appointments"
|
1325 |
+
msgstr "Apagar esta e as seguintes reservas"
|
1326 |
|
1327 |
msgid "Delete all appointments in series"
|
1328 |
+
msgstr "Apagar todas as reservas em série"
|
1329 |
|
1330 |
msgid "Send notifications"
|
1331 |
msgstr "Enviar notificações"
|
1334 |
msgstr "Motivo de cancelamento (opcional)"
|
1335 |
|
1336 |
msgid "Recurring appointments"
|
1337 |
+
msgstr "Reservas recorrentes"
|
1338 |
|
1339 |
msgid "Close"
|
1340 |
msgstr "Fechar"
|
1343 |
msgstr "Guardar"
|
1344 |
|
1345 |
msgid "I will pay now with Credit Card"
|
1346 |
+
msgstr "Vou pagar com cartão de crédito"
|
1347 |
|
1348 |
msgid "Sandbox Mode"
|
1349 |
msgstr "Modo Sandbox"
|
1369 |
"\"Unit Price\" field specify the cost of 1 unit, so the total cost of the "
|
1370 |
"service will increase linearly with the increase of its duration."
|
1371 |
msgstr ""
|
1372 |
+
"Definir a duração do serviço. Se selecionar Customizar, um cliente enquanto "
|
1373 |
+
"faz a reserva terá que escolher a duração do serviço entre várias unidades "
|
1374 |
+
"de tempo. No campo \"Preço da unidade\" especifique o custo de 1 unidade, "
|
1375 |
+
"para que o custo total do serviço aumente linearmente com o incremento da "
|
1376 |
+
"sua duração."
|
1377 |
|
1378 |
msgid "Unit duration"
|
1379 |
msgstr "Duração da unidade"
|
1391 |
msgstr "Customizar"
|
1392 |
|
1393 |
msgid "Show service price next to duration"
|
1394 |
+
msgstr "Exibir o preço do serviço ao lado da duração"
|
1395 |
|
1396 |
msgid "Hide this field"
|
1397 |
msgstr "Ocultar este campo"
|
1471 |
msgid "Add Staff Days Off"
|
1472 |
msgstr "Adicionar dias de folga do funcionário"
|
1473 |
|
1474 |
+
msgid ""
|
1475 |
+
"Hide this field if you want to hide the list of WP users from your staff "
|
1476 |
+
"members."
|
1477 |
+
msgstr ""
|
1478 |
+
"Oculte este campo se quiser ocultar a lista de utilizadores WP dos seus "
|
1479 |
+
"funcionários.\n"
|
1480 |
+
|
1481 |
msgid "Hide visibility field"
|
1482 |
msgstr "Ocultar campo de visibilidade"
|
1483 |
|
1491 |
msgstr "Inserir"
|
1492 |
|
1493 |
msgid "Add Staff Cabinet"
|
1494 |
+
msgstr "Adicione Staff Cabinet"
|
1495 |
|
1496 |
msgid "A custom block for displaying staff calendar"
|
1497 |
msgstr "Bloco personalizado para exibição do calendário do funcionário"
|
1526 |
msgid "Capacity"
|
1527 |
msgstr "Capacidade"
|
1528 |
|
1529 |
+
msgid "Hide WordPress users"
|
1530 |
+
msgstr "Oculte utilizadores WordPress"
|
1531 |
+
|
1532 |
msgid "Special hours"
|
1533 |
msgstr "Horas especiais"
|
1534 |
|
1536 |
msgstr "Campos"
|
1537 |
|
1538 |
msgid "read only"
|
1539 |
+
msgstr "somente de leitura"
|
1540 |
|
1541 |
msgid "Repeat every year"
|
1542 |
msgstr "Repetir todos os anos"
|
1543 |
|
1544 |
msgid "We are not working on this day"
|
1545 |
+
msgstr "Não estamos abertos nesse dia"
|
1546 |
|
1547 |
msgid "Min capacity should not be greater than max capacity."
|
1548 |
+
msgstr "A capacidade mínima não deve ser superior que a capacidade máxima."
|
1549 |
|
1550 |
msgid "Export to CSV"
|
1551 |
msgstr "Exportar para CSV"
|
1627 |
"If you want to become invisible to your customers set the visibility to "
|
1628 |
"\"Private\"."
|
1629 |
msgstr ""
|
1630 |
+
"Se pretende ficar invisível para os seus clientes, defina a visibilidade "
|
1631 |
"para \"Privado\"."
|
1632 |
|
1633 |
msgid "Public"
|
1643 |
msgstr "Nenhum local selecionado"
|
1644 |
|
1645 |
msgid "You don't have permissions to view this content."
|
1646 |
+
msgstr "Não tem permissões para ver este conteúdo."
|
1647 |
|
1648 |
msgid ""
|
1649 |
"Your account has been disabled. Contact your website administrator to "
|
1650 |
"continue."
|
1651 |
msgstr ""
|
1652 |
+
"A sua conta foi desativada. Entre em contato com o administrador do seu site "
|
1653 |
"para continuar."
|
1654 |
|
1655 |
msgid "API Login ID"
|
1659 |
msgstr "Chave de transação do API"
|
1660 |
|
1661 |
msgid "Title"
|
1662 |
+
msgstr "Nome"
|
1663 |
|
1664 |
msgid "Rate"
|
1665 |
msgstr "Taxa"
|
1710 |
|
1711 |
msgid "total tax included in the appointment (summary for all items)"
|
1712 |
msgstr ""
|
1713 |
+
"total de tributações incluídas na reserva (sumário para todos os itens)"
|
1714 |
|
1715 |
msgid "total price without tax"
|
1716 |
msgstr "preço total sem tributação"
|
1722 |
"additional amount to the cost. If you need to report the exact tax amount to "
|
1723 |
"the payment system, do not use additional charge."
|
1724 |
msgstr ""
|
1725 |
+
"Esta configuração afeta o custo da reserva de acordo com o gateway de "
|
1726 |
+
"pagamento usado. Especifique uma percentagem ou quantia fixa. Use o sinal "
|
1727 |
"menos (\"-\") para diminuir / desconto. Observe que o imposto não será "
|
1728 |
+
"calculado para o valor adicional ao custo. Se precisar de informar o valor "
|
1729 |
"exato do imposto ao sistema de pagamento, não use cobranças adicionais."
|
1730 |
|
1731 |
msgid "Customer Information"
|
1741 |
"To receive REST API credentials, in <b>My Apps & Credentials</b> of your "
|
1742 |
"PayPal account do the following steps:"
|
1743 |
msgstr ""
|
1744 |
+
"Para receber os credenciais REST API, em <b>As minhas Aplicações & "
|
1745 |
+
"Credenciais</b> da sua conta Paypal siga os seguintes passos:"
|
1746 |
|
1747 |
msgid "Click <b>Create App</b> and enter application details."
|
1748 |
+
msgstr "Clique em <b>Create App</b> e digite as informações da aplicação."
|
1749 |
|
1750 |
msgid ""
|
1751 |
"Once created, copy <b>Client ID</b> and <b>Secret</b> and use them in the "
|
1770 |
msgstr "Erro do Mollie."
|
1771 |
|
1772 |
msgid "I will pay now with Mollie"
|
1773 |
+
msgstr "Vou pagar com Mollie"
|
1774 |
|
1775 |
msgid "API Key"
|
1776 |
msgstr "Chave do API"
|
1784 |
"a scheduled cron job."
|
1785 |
msgstr ""
|
1786 |
"Esta configuração determina o tempo limite o qual o pagamento feito através "
|
1787 |
+
"do gateway de pagamento é considerado incompleto. Esta funcionalidade requer "
|
1788 |
"um trabalho cron agendado."
|
1789 |
|
1790 |
msgid "Persons"
|
1794 |
msgstr "Número de pessoas"
|
1795 |
|
1796 |
msgid "Capacity (min and max)"
|
1797 |
+
msgstr "Capacidade (mín e máx)"
|
1798 |
|
1799 |
msgid "Group bookings information format"
|
1800 |
msgstr "Agrupar o formato das informações de reserva"
|
1802 |
msgid ""
|
1803 |
"Select format for displaying the time slot occupancy for group bookings."
|
1804 |
msgstr ""
|
1805 |
+
"Selecione o formato para a exibição da ocupação do intervalo de tempo para "
|
1806 |
"reservas de grupo."
|
1807 |
|
1808 |
msgid "[Booked/Max capacity]"
|
1812 |
msgstr "[Restantes]"
|
1813 |
|
1814 |
msgid "Group Booking"
|
1815 |
+
msgstr "Reserva de grupo"
|
1816 |
|
1817 |
msgid "number of persons"
|
1818 |
msgstr "número de pessoas"
|
1828 |
"the certain time period."
|
1829 |
msgstr ""
|
1830 |
"Número mínimo e máximo de clientes autorizados a reservar o serviço durante "
|
1831 |
+
"um determinado período."
|
1832 |
|
1833 |
msgid "One booking per time slot"
|
1834 |
msgstr "Uma reserva por intervalo de tempo"
|
1850 |
msgstr "Endereço"
|
1851 |
|
1852 |
msgid "Follow these steps to get an API key:"
|
1853 |
+
msgstr "Siga estes passos para obter uma chave API:"
|
1854 |
|
1855 |
msgid ""
|
1856 |
"Go to the <a href=\"https://console.developers.google.com/flows/enableapi?"
|
1864 |
|
1865 |
msgid "Create or select a project. Click <b>Continue</b> to enable the API."
|
1866 |
msgstr ""
|
1867 |
+
"Crie ou selecione um projeto. Clique em <b>Continuar</b> para ativar a API."
|
1868 |
|
1869 |
msgid ""
|
1870 |
"On the <b>Credentials</b> page, get an <b>API key</b> (and set the API key "
|
1872 |
"with server restrictions, you may use that key."
|
1873 |
msgstr ""
|
1874 |
"Na página <b>Credenciais</b>, obtenha a <b>chave API</b> (e defina as "
|
1875 |
+
"restrições da chave API). Observação: Se tem um chave API não restrita ou "
|
1876 |
+
"uma chave com restrições de servidor, pode usar essa chave."
|
1877 |
|
1878 |
msgid ""
|
1879 |
"Click <b>Library</b> on the left sidebar menu. Select Google Maps JavaScript "
|
1880 |
"API and make sure it's enabled."
|
1881 |
msgstr ""
|
1882 |
"Clique em <b>Library</b> no menu lateral da esquerda. Selecione Google Maps "
|
1883 |
+
"JavaScript API e certifique-se de que esta está ativada."
|
1884 |
|
1885 |
msgid "Use your <b>API key</b> in the form below."
|
1886 |
msgstr "Use your <b>chave API</b> no formulário abaixo."
|
1889 |
"Enter a Google API key that you got after registering your app project on "
|
1890 |
"the Google API Console."
|
1891 |
msgstr ""
|
1892 |
+
"Insira a chave API da Google que obteve depois de registar seu projeto da "
|
1893 |
+
"aplicação na Google API Console."
|
1894 |
|
1895 |
msgid "Google Maps"
|
1896 |
msgstr "Google Maps"
|
1917 |
msgstr "Parte de um serviço colaborativo"
|
1918 |
|
1919 |
msgid "Customer cabinet (all services displayed in tabs)"
|
1920 |
+
msgstr "Cabinet do cliente (todos os serviços exibidos em abas)"
|
1921 |
|
1922 |
msgid "Appointment management"
|
1923 |
msgstr "Gestão de compromissos"
|
1950 |
msgstr "Senha do Wordpress"
|
1951 |
|
1952 |
msgid "Delete account"
|
1953 |
+
msgstr "Apagar conta"
|
1954 |
|
1955 |
msgid "Add Customer Cabinet"
|
1956 |
+
msgstr "Adicionar Cabinet de clientes"
|
1957 |
|
1958 |
msgid "Customer cabinet"
|
1959 |
+
msgstr "Cabinet de clientes"
|
1960 |
|
1961 |
msgid "A custom block for displaying customer cabinet"
|
1962 |
+
msgstr "Bloco personalizado para exibição de Cabinet de clientes"
|
1963 |
|
1964 |
msgid "show"
|
1965 |
msgstr "mostrar"
|
1986 |
msgstr "Perfil"
|
1987 |
|
1988 |
msgid "WP user"
|
1989 |
+
msgstr "Utilizador WP"
|
1990 |
|
1991 |
msgid "Current password"
|
1992 |
msgstr "Senha atual"
|
1998 |
msgstr "Confirmar senha"
|
1999 |
|
2000 |
msgid "No appointments."
|
2001 |
+
msgstr "Nenhuma reserva"
|
2002 |
|
2003 |
msgid "Expired"
|
2004 |
msgstr "Expirado"
|
2007 |
msgstr "Não permitido"
|
2008 |
|
2009 |
msgid "There are no time slots for selected date."
|
2010 |
+
msgstr "Não há horários disponíveis para a data selecionada."
|
2011 |
|
2012 |
msgid "Profile updated successfully."
|
2013 |
msgstr "Perfil atualizado com sucesso."
|
2016 |
"Unfortunately, you're not able to cancel the appointment because the "
|
2017 |
"required time limit prior to canceling has expired."
|
2018 |
msgstr ""
|
2019 |
+
"Infelizmente não pode cancelar a reserva porque o limite de tempo necessário "
|
2020 |
+
"antes do cancelamento expirou."
|
2021 |
|
2022 |
msgid ""
|
2023 |
"The selected time is not available anymore. Please, choose another time slot."
|
2032 |
msgstr "Senha atual incorreta"
|
2033 |
|
2034 |
msgid "Passwords mismatch"
|
2035 |
+
msgstr "As senhas não estão corretas"
|
2036 |
|
2037 |
msgid "Cancel Appointment"
|
2038 |
+
msgstr "Cancelar reserva"
|
2039 |
|
2040 |
msgid "You are going to cancel a scheduled appointment. Are you sure?"
|
2041 |
+
msgstr "Vai cancelar uma reserva marcada. Tem certeza?"
|
2042 |
|
2043 |
msgid ""
|
2044 |
"You are going to delete your account and all information associated with it. "
|
2045 |
"Click Confirm to continue or Cancel to cancel the action."
|
2046 |
msgstr ""
|
2047 |
+
"Vai apagar a sua conta com todas as informações associadas a esta. Clique em "
|
2048 |
+
"confirmar para continuar ou em Cancelar para cancelar a ação."
|
2049 |
|
2050 |
msgid ""
|
2051 |
"This account cannot be deleted because it is associated with scheduled "
|
2052 |
"appointments. Please cancel bookings or contact the service provider."
|
2053 |
msgstr ""
|
2054 |
+
"Esta conta não pode ser apagada porque está associada a reservas agendadas. "
|
2055 |
+
"Por favor, cancele as reservas ou entre em contacto com o prestador de "
|
2056 |
+
"serviços."
|
2057 |
|
2058 |
msgid "Confirm"
|
2059 |
msgstr "Confirmar"
|
2064 |
#, php-format
|
2065 |
msgid " and %d more item"
|
2066 |
msgid_plural " and %d more items"
|
2067 |
+
msgstr[0] " e %d outro item"
|
2068 |
msgstr[1] " e %d mais itens"
|
2069 |
|
2070 |
msgid "Notification to customer about approved appointment"
|
2071 |
+
msgstr "Notificação ao cliente sobre a reserva aprovada"
|
2072 |
|
2073 |
msgid ""
|
2074 |
"Dear {client_name}.\n"
|
2088 |
"\n"
|
2089 |
"Esta é uma confirmação de que você reservou {service_name}.\n"
|
2090 |
"\n"
|
2091 |
+
"Esperamos por si em {company_address} no dia {appointment_date} às "
|
2092 |
"{appointment_time} .\n"
|
2093 |
"\n"
|
2094 |
"Obrigado por escolher nossos serviços.\n"
|
2098 |
"{company_website}"
|
2099 |
|
2100 |
msgid "Notification to staff member about approved appointment"
|
2101 |
+
msgstr "Notificação ao funcionário sobre a reserva aprovada"
|
2102 |
|
2103 |
msgid ""
|
2104 |
"Hello.\n"
|
2114 |
msgstr ""
|
2115 |
"Olá.\n"
|
2116 |
"\n"
|
2117 |
+
"Tem uma nova reserva.\n"
|
2118 |
"\n"
|
2119 |
"Serviço: {service_name}\n"
|
2120 |
"Data: {appointment_date}\n"
|
2124 |
"E-mail do cliente: {client_email}"
|
2125 |
|
2126 |
msgid "Notification to customer about cancelled appointment"
|
2127 |
+
msgstr "Notificação ao cliente sobre a reserva cancelada"
|
2128 |
|
2129 |
msgid ""
|
2130 |
"Dear {client_name}.\n"
|
2150 |
"{company_website}"
|
2151 |
|
2152 |
msgid "Notification to staff member about cancelled appointment"
|
2153 |
+
msgstr "Notificação ao funcionário sobre a reserva cancelada"
|
2154 |
|
2155 |
msgid ""
|
2156 |
"Hello.\n"
|
2176 |
"E-mail do cliente: {client_email}"
|
2177 |
|
2178 |
msgid "Notification to customer about rejected appointment"
|
2179 |
+
msgstr "Notificação ao cliente sobre a reserva rejeitada"
|
2180 |
|
2181 |
msgid ""
|
2182 |
"Dear {client_name}.\n"
|
2206 |
"{company_website}"
|
2207 |
|
2208 |
msgid "Notification to staff member about rejected appointment"
|
2209 |
+
msgstr "Notificação ao funcionário sobre a reserva rejeitada"
|
2210 |
|
2211 |
msgid ""
|
2212 |
"Hello.\n"
|
2246 |
"{company_website}"
|
2247 |
msgstr ""
|
2248 |
"Prezado {client_name},\n"
|
2249 |
+
"Esta é uma confirmação de que reservou {service_name}.\n"
|
2250 |
"Aguardamos você em {company_address} no dia {appointment_date} às "
|
2251 |
"{appointment_time} .\n"
|
2252 |
"Obrigado por escolher nossos serviços.\n"
|
2265 |
"Client email: {client_email}"
|
2266 |
msgstr ""
|
2267 |
"Olá,\n"
|
2268 |
+
"Você uma nova reserva.\n"
|
2269 |
"Serviço: {service_name}\n"
|
2270 |
"Data: {appointment_date}\n"
|
2271 |
"Hora: {appointment_time}\n"
|
2283 |
"{company_website}"
|
2284 |
msgstr ""
|
2285 |
"Prezado {client_name}.\n"
|
2286 |
+
"Cancelou a reserva de {service_name} no dia {appointment_date} às "
|
2287 |
"{appointment_time}.\n"
|
2288 |
"Obrigado por escolher nossos serviços.\n"
|
2289 |
"{company_name}\n"
|
2352 |
msgid ""
|
2353 |
"Evening reminder to customer about next day appointment (requires cron setup)"
|
2354 |
msgstr ""
|
2355 |
+
"Lembrete noturno ao cliente sobre a reserva do dia seguinte (requer "
|
2356 |
"configuração do cron)"
|
2357 |
|
2358 |
msgid ""
|
2366 |
msgstr ""
|
2367 |
"Prezado {client_name}.\n"
|
2368 |
"Gostariamos de relembrar que você reservou {service_name} amanhã às "
|
2369 |
+
"{appointment_time}. Esperamos por si em {company_address}.\n"
|
2370 |
"Obrigado por escolher nossos serviços.\n"
|
2371 |
"{company_name}\n"
|
2372 |
"{company_phone}\n"
|
2375 |
msgid ""
|
2376 |
"Follow-up message in the same day after appointment (requires cron setup)"
|
2377 |
msgstr ""
|
2378 |
+
"Mensagem de acompanhamento no mesmo dia depois da reserva (requer "
|
2379 |
"configuração do cron)"
|
2380 |
|
2381 |
msgid ""
|
2416 |
"has been sent to you."
|
2417 |
msgstr ""
|
2418 |
"Muito obrigado! O processo de reserva está completo. Um e-mail com os seus "
|
2419 |
+
"detalhes da reserva foi enviado para si."
|
2420 |
|
2421 |
msgid ""
|
2422 |
"You are trying to use the service too often. Please contact us to make a "
|
2423 |
"booking."
|
2424 |
msgstr ""
|
2425 |
+
"Está a usar o serviço com muita frequência. Por favor, entre em contato "
|
2426 |
+
"connosco para fazer uma reserva."
|
2427 |
|
2428 |
msgid "Your payment has been accepted for processing."
|
2429 |
+
msgstr "O seu pagamento foi aceite para processamento."
|
2430 |
|
2431 |
msgid ""
|
2432 |
"You selected a booking for {service_name} by {staff_name} at "
|
2434 |
"{service_price}.\n"
|
2435 |
"Please provide your details in the form below to proceed with booking."
|
2436 |
msgstr ""
|
2437 |
+
"Escolheu uma reserva para {service_name} com {staff_name} às "
|
2438 |
+
"{appointment_time} em {appointment_date}. O preço deste serviço é de "
|
2439 |
"{service_price}.\n"
|
2440 |
"Por favor, forneça os seus detalhes no formulário abaixo para proceder com a "
|
2441 |
"reserva."
|
2451 |
"{staff_name}.\n"
|
2452 |
"Click on a time slot to proceed with booking."
|
2453 |
msgstr ""
|
2454 |
+
"Pode encontrar abaixo uma lista dos horários disponíveis para {service_name} "
|
2455 |
+
"com {staff_name}.\n"
|
2456 |
"Clique no horário para prosseguir com a marcação."
|
2457 |
|
2458 |
msgid "Confirm email"
|
2459 |
msgstr "Confirmar e-mail"
|
2460 |
|
2461 |
msgid "Finish by"
|
2462 |
+
msgstr "Acabar às"
|
2463 |
|
2464 |
msgid "First name"
|
2465 |
msgstr "Primeiro nome"
|
2477 |
msgstr "Estou disponível em ou depois de"
|
2478 |
|
2479 |
msgid "Start from"
|
2480 |
+
msgstr "Começar de"
|
2481 |
|
2482 |
msgid "Select category"
|
2483 |
+
msgstr "Selecione categoria"
|
2484 |
|
2485 |
msgid "Any"
|
2486 |
msgstr "Qualquer"
|
2487 |
|
2488 |
msgid "Select service"
|
2489 |
+
msgstr "Selecione serviço"
|
2490 |
|
2491 |
msgid "Select day"
|
2492 |
msgstr "Selecione um dia"
|
2504 |
msgstr "E-mail de confirmação não coincide"
|
2505 |
|
2506 |
msgid "Please select an employee"
|
2507 |
+
msgstr "Por favor, selecione um funcionário"
|
2508 |
|
2509 |
msgid "Please tell us your name"
|
2510 |
msgstr "Por favor, informe o seu nome"
|
2522 |
msgstr "Por favor, selecione um serviço"
|
2523 |
|
2524 |
msgid "Login"
|
2525 |
+
msgstr "Login"
|
2526 |
|
2527 |
msgid "Done"
|
2528 |
msgstr "Concluir"
|
2534 |
msgstr "Notificação personalizada"
|
2535 |
|
2536 |
msgid "Appointment reminder"
|
2537 |
+
msgstr "Lembrete de reserva"
|
2538 |
|
2539 |
msgid "New booking"
|
2540 |
msgstr "Nova reserva"
|
2541 |
|
2542 |
msgid "Notification about customer's appointment status change"
|
2543 |
+
msgstr "Notificação de modificação de status da reserva de cliente"
|
2544 |
|
2545 |
msgid "Customer birthday greeting (requires cron setup)"
|
2546 |
msgstr "Cumprimento do aniversário do cliente (requer configuração do cron)"
|
2547 |
|
2548 |
msgid "Notification to customer about pending appointment"
|
2549 |
+
msgstr "Notificação ao cliente sobre a reserva pendente"
|
2550 |
|
2551 |
msgid ""
|
2552 |
"1st reminder to customer about upcoming appointment (requires cron setup)"
|
2553 |
msgstr ""
|
2554 |
+
"1º lembrete para o cliente sobre a reserva futura (requer configuração do "
|
2555 |
+
"cron)"
|
2556 |
|
2557 |
msgid ""
|
2558 |
"2nd reminder to customer about upcoming appointment (requires cron setup)"
|
2559 |
msgstr ""
|
2560 |
+
"2º lembrete para o cliente sobre a reserva futura (requer configuração do "
|
2561 |
+
"cron)"
|
2562 |
|
2563 |
msgid ""
|
2564 |
"3rd reminder to customer about upcoming appointment (requires cron setup)"
|
2565 |
msgstr ""
|
2566 |
+
"3º lembrete para o cliente sobre a reserva futura (requer configuração do "
|
2567 |
+
"cron)"
|
2568 |
|
2569 |
msgid "Last client's appointment"
|
2570 |
+
msgstr "Reserva do último cliente"
|
2571 |
|
2572 |
msgid "Full day agenda"
|
2573 |
msgstr "Agenda do dia inteiro"
|
2574 |
|
2575 |
msgid "Notification to staff member about pending appointment"
|
2576 |
+
msgstr "Notificação ao funcionário sobre a reserva pendente"
|
2577 |
|
2578 |
msgid "Invalid day"
|
2579 |
msgstr "Dia inválido"
|
2594 |
msgstr "Estado/Região"
|
2595 |
|
2596 |
msgid "Postal Code"
|
2597 |
+
msgstr "Código Postal"
|
2598 |
|
2599 |
msgid "City"
|
2600 |
msgstr "Cidade"
|
2612 |
msgstr "É necessário informar o estado"
|
2613 |
|
2614 |
msgid "Postcode is required"
|
2615 |
+
msgstr "É necessário informar o Código Postal"
|
2616 |
|
2617 |
msgid "City is required"
|
2618 |
msgstr "É necessário informar a cidade"
|
2627 |
"The highlighted time is not available anymore. Please, choose another time "
|
2628 |
"slot."
|
2629 |
msgstr ""
|
2630 |
+
"A hora destacada não está mais disponível. Por favor, escolha outro horário."
|
|
|
2631 |
|
2632 |
msgid "Happy Birthday!"
|
2633 |
msgstr "Feliz Aniversário!"
|
2648 |
"Prezado {client_name},\n"
|
2649 |
"\n"
|
2650 |
"Feliz Aniversário!\n"
|
2651 |
+
"Desejamos-lhe muitas felicidades.\n"
|
2652 |
+
"Que você e os seus sejam muito felizes e saudáveis.\n"
|
2653 |
"\n"
|
2654 |
"Obrigado por escolher nossa empresa.\n"
|
2655 |
"\n"
|
2669 |
msgstr ""
|
2670 |
"Prezado {client_name},\n"
|
2671 |
"Feliz Aniversário!\n"
|
2672 |
+
"Desejamos-lhe muitas felicidades.\n"
|
2673 |
+
"Que você e os seus sejam muito felizes e saudáveis.\n"
|
2674 |
"Obrigado por escolher nossa empresa.\n"
|
2675 |
"{company_name}\n"
|
2676 |
"{company_phone}\n"
|
2739 |
msgstr "Núm."
|
2740 |
|
2741 |
msgid "Appointment date"
|
2742 |
+
msgstr "Data da reserva"
|
2743 |
|
2744 |
msgid "Customer name"
|
2745 |
msgstr "Nome do Cliente"
|
2754 |
msgstr "Criado"
|
2755 |
|
2756 |
msgid "User"
|
2757 |
+
msgstr "Utilizador"
|
2758 |
|
2759 |
msgid "Last appointment"
|
2760 |
+
msgstr "Última reserva"
|
2761 |
|
2762 |
msgid "Total appointments"
|
2763 |
+
msgstr "Total de reservas"
|
2764 |
|
2765 |
msgid "Payments"
|
2766 |
msgstr "Pagamentos"
|
2793 |
msgstr "Código"
|
2794 |
|
2795 |
msgid "Regular price"
|
2796 |
+
msgstr "Preço normal"
|
2797 |
|
2798 |
msgid "Price with custom Sender ID"
|
2799 |
+
msgstr "Preço com ID do remetente personalizado"
|
|
|
|
|
|
|
2800 |
|
2801 |
msgid "Requested ID"
|
2802 |
+
msgstr "ID solicitado"
|
2803 |
|
2804 |
msgid "Status date"
|
2805 |
msgstr "Data do status"
|
2814 |
|
2815 |
#, php-format
|
2816 |
msgid "View %1$s version %2$s details"
|
2817 |
+
msgstr "Ver detalhes da %1$s versão %2$s"
|
2818 |
|
2819 |
msgid "Important"
|
2820 |
msgstr "Importante"
|
2825 |
"properly on all WordPress configurations and completely protect it from the "
|
2826 |
"influence of other plugins."
|
2827 |
msgstr ""
|
2828 |
+
"Cada versão do Bookly é rigorosamente verificada de acordo com as normas de "
|
2829 |
+
"qualidade antes da instalação, no entanto, não podemos garantir que depois "
|
2830 |
+
"de uma atualização, o plugin funcione corretamente em todas as configurações "
|
2831 |
+
"do WordPress, e esteja totalmente protegido das influências de outros "
|
2832 |
+
"plugins."
|
2833 |
|
2834 |
#, php-format
|
2835 |
msgid ""
|
2837 |
"the plugin. Please note that, according to %1$s Envato rules %2$s, we will "
|
2838 |
"be able to help you only if you have active item support period."
|
2839 |
msgstr ""
|
2840 |
+
"Há um pequeno risco de que possam ocorrer alguns problemas como resultado da "
|
2841 |
+
"atualização do plugin. Por favor note que, de acordo com as regras de %1$s "
|
2842 |
+
"de Envato %2$s, só seremos capazes de ajudá-lo se tiver ativo o período de "
|
2843 |
+
"suporte."
|
2844 |
|
2845 |
#, php-format
|
2846 |
msgid ""
|
2849 |
msgstr "Pode renovar o suporte %1$s aqui ou %2$s Já renovei o suporte. %3$s"
|
2850 |
|
2851 |
msgid "Bookly updater"
|
2852 |
+
msgstr "Atualização do Bookly"
|
2853 |
|
2854 |
msgid ""
|
2855 |
"Please wait, we are checking updates for {checked}/{total} Bookly add-ons"
|
2856 |
msgstr ""
|
2857 |
+
"Por favor aguarde, estamos a verificar as atualizações do {checked}/{total} "
|
2858 |
+
"add-ons Bookly"
|
2859 |
|
2860 |
msgid "No updates available"
|
2861 |
msgstr "Nenhuma atualização disponível"
|
2882 |
msgstr "Cancelada"
|
2883 |
|
2884 |
msgid "Untitled"
|
2885 |
+
msgstr "Sem nome"
|
2886 |
|
2887 |
msgid "Unknown"
|
2888 |
msgstr "Desconhecido"
|
2889 |
|
2890 |
msgid "New booking notification"
|
2891 |
+
msgstr "Nova notificação de reserva"
|
2892 |
|
2893 |
msgid "New booking combined notification"
|
2894 |
msgstr "Nova notificação de reserva combinada"
|
2895 |
|
2896 |
msgid "New customer's WordPress user login details"
|
2897 |
+
msgstr "Detalhes do login do utilizador WordPress do novo cliente"
|
2898 |
|
2899 |
msgid "Customer's birthday greeting"
|
2900 |
msgstr "Cumprimento do aniversário do cliente"
|
2901 |
|
2902 |
msgid "Customer's last appointment notification"
|
2903 |
+
msgstr "Notificação da última reserva do cliente"
|
2904 |
|
2905 |
msgid "Staff full day agenda"
|
2906 |
msgstr "Agenda do funcionário para o dia "
|
2933 |
"should update your user data, or press Cancel to edit entered data."
|
2934 |
msgstr ""
|
2935 |
"Seu %s: %s já está associado com outro %s.<br/>clique em Atualizar se "
|
2936 |
+
"devemos atualizar os seus dados de utilizador ou clique em Cancelar para "
|
2937 |
+
"editar os dados inseridos."
|
2938 |
|
2939 |
msgid "sent to our system"
|
2940 |
msgstr "enviado para o nosso sistema"
|
2952 |
"Thank you for using Bookly SMS. We wish you a lucky week!\n"
|
2953 |
"Bookly SMS Team"
|
2954 |
msgstr ""
|
2955 |
+
"Esperamos que tenha tido um bom fim de semana! Aqui está um resumo das "
|
2956 |
"mensagens enviadas na semana passada:\n"
|
2957 |
"{notification_list}\n"
|
2958 |
"\n"
|
2961 |
"O custo de envio de {total} mensagens foi {amount}. O saldo corrente de "
|
2962 |
"Bookly SMS é {balance}.\n"
|
2963 |
"\n"
|
2964 |
+
"Obrigado por usar Bookly SMS. Desejamos-lhe uma boa semana!\n"
|
2965 |
"Equipe Bookly SMS"
|
2966 |
|
2967 |
msgid "more"
|
2980 |
"To view the details of these appointments, please contact your website "
|
2981 |
"administrator in order to verify Bookly Pro license."
|
2982 |
msgstr ""
|
2983 |
+
"Para visualizar os detalhes destas reservas, por favor, entre em contacto "
|
2984 |
+
"com o administrador do seu website para verificar a licença do Bookly Pro."
|
|
|
2985 |
|
2986 |
msgid "Admins"
|
2987 |
msgstr "Admins"
|
2988 |
|
2989 |
msgid "Passwords must be the same."
|
2990 |
+
msgstr "As palavras-passe devem ser as mesmas."
|
2991 |
|
2992 |
msgid ""
|
2993 |
"Your don't have enough Bookly SMS credits to send this message. Please add "
|
2994 |
"funds to your balance and try again."
|
2995 |
msgstr ""
|
2996 |
+
"Não tem créditos Bookly SMS suficientes para enviar esta mensagem. Por favor,"
|
2997 |
+
" adicione fundos ao seu saldo e tente de novo."
|
2998 |
|
2999 |
msgid "Failed to send SMS."
|
3000 |
+
msgstr "Não foi possível enviar a SMS."
|
3001 |
|
3002 |
msgid "Phone number is empty."
|
3003 |
msgstr "Número de telefone está vazio."
|
3049 |
"settings <a href='%s'>here</a>."
|
3050 |
msgstr ""
|
3051 |
"Prezado cliente Bookly SMS.\n"
|
3052 |
+
"Gostaríamos de informá-lo que o seu saldo Bookly SMS é inferior a 5 USD. "
|
3053 |
+
"Para usar nosso serviço sem interrupções recarregue seu saldo, visite a "
|
3054 |
"página do Bookly SMS <a href='%s'>aqui</a>.\n"
|
3055 |
"\n"
|
3056 |
+
"Se quiser parar de receber estas notificações, por favor, atualize as suas "
|
3057 |
"configurações <a href='%s'>aqui</a>."
|
3058 |
|
3059 |
msgid "Bookly SMS - Low Balance"
|
3086 |
msgid "Pending sender ID already exists."
|
3087 |
msgstr "ID do remetente pendente já existe"
|
3088 |
|
3089 |
+
msgid "Recharge not available."
|
3090 |
+
msgstr ""
|
3091 |
+
"Carregamento não disponível\n"
|
3092 |
+
|
3093 |
msgid "Recovery code expired."
|
3094 |
msgstr "Código de recuperação expirado."
|
3095 |
|
3097 |
msgstr "Erro ao enviar e-mail."
|
3098 |
|
3099 |
msgid "User not found."
|
3100 |
+
msgstr "Utilizador não encontrado."
|
3101 |
|
3102 |
msgid "Email already in use."
|
3103 |
msgstr "Email já está em uso."
|
3104 |
|
3105 |
msgid "Dashboard"
|
3106 |
+
msgstr "Painel "
|
3107 |
|
3108 |
msgid "Staff Members"
|
3109 |
msgstr "Funcionários"
|
3148 |
msgstr "Criado em qualquer data"
|
3149 |
|
3150 |
msgid "Any time"
|
3151 |
+
msgstr "A qualquer momento"
|
3152 |
|
3153 |
msgid "No appointments for selected period."
|
3154 |
+
msgstr "Sem reservas para o período selecionado."
|
3155 |
|
3156 |
msgid "No result found"
|
3157 |
msgstr "Nenhum resultado encontrado"
|
3165 |
msgid "Archived"
|
3166 |
msgstr "Arquivado"
|
3167 |
|
3168 |
+
msgid "Setup your country"
|
3169 |
+
msgstr ""
|
3170 |
+
"Configure o seu país\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3171 |
|
3172 |
+
msgid ""
|
3173 |
+
"Please spend a minute to setup your country. This will help us provide you "
|
3174 |
+
"with appropriate payment methods when replenishing your account."
|
3175 |
+
msgstr ""
|
3176 |
+
"Por favor disponha de alguns minutos para configurar o seu país. Isto irá "
|
3177 |
+
"nos ajudar a providenciar-lhe os métodos de pagamento mais apropriados ao "
|
3178 |
+
"repor a sua conta.\n"
|
3179 |
|
3180 |
+
msgid ""
|
3181 |
+
"The country will also be displayed in the invoice on a separate line below "
|
3182 |
+
"the company address. Make sure the other fields in the invoice do not "
|
3183 |
+
"contain the name of the country."
|
3184 |
+
msgstr ""
|
3185 |
+
"O país também será exibido na fatura numa linha separada abaixo do endereço "
|
3186 |
+
"da empresa. Assegure-se de que os outros campos da fatura não contêm o nome "
|
3187 |
+
"do país.\n"
|
3188 |
|
3189 |
+
msgid ""
|
3190 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3191 |
+
"is used to provide you with the payment methods available in that country"
|
3192 |
+
msgstr ""
|
3193 |
+
"O seu país é o local onde utiliza os serviços SMS Bookly e é usado para "
|
3194 |
+
"fornecer as formas de pagamento disponíveis naquele país."
|
3195 |
|
3196 |
+
msgid "Set country"
|
3197 |
+
msgstr ""
|
3198 |
+
"Defina o país\n"
|
3199 |
|
3200 |
+
msgid "I'll do it later"
|
3201 |
+
msgstr ""
|
3202 |
+
"Faço isso mais tarde\n"
|
3203 |
|
3204 |
msgid "SMS Notifications"
|
3205 |
+
msgstr "Notificações SMS"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3206 |
|
3207 |
msgid "Approved at"
|
3208 |
msgstr "Aprovado em"
|
3209 |
|
3210 |
+
msgid "Change the sender's name to your phone number or any other name"
|
3211 |
+
msgstr ""
|
3212 |
+
"Altere o nome do emissor para o seu número de telefone ou outro nome qualquer"
|
3213 |
+
|
3214 |
+
msgid "Click this button to access your Bookly SMS account settings"
|
3215 |
+
msgstr ""
|
3216 |
+
"Clique neste botão para aceder às definições de conta do seu Bookly SMS\n"
|
3217 |
+
|
3218 |
msgid "Log out"
|
3219 |
msgstr "Sair"
|
3220 |
|
3221 |
msgid "Notifications"
|
3222 |
msgstr "Notificações"
|
3223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3224 |
msgid "Purchases"
|
3225 |
msgstr "Compras"
|
3226 |
|
3234 |
"SMS Notifications (or \"Bookly SMS\") is a service for notifying your "
|
3235 |
"customers via text messages which are sent to mobile phones."
|
3236 |
msgstr ""
|
3237 |
+
"Notificações SMS (ou \"Bookly SMS\") é um serviço para notificar os seus "
|
3238 |
+
"clientes através de mensagens de texto que são enviadas para telemóveis. "
|
|
|
3239 |
|
3240 |
msgid "It is necessary to register in order to start using this service."
|
3241 |
msgstr "É necessário registrar-se para começar a utilizar este serviço."
|
3244 |
"After registration you will need to configure notification messages and top "
|
3245 |
"up your balance in order to start sending SMS."
|
3246 |
msgstr ""
|
3247 |
+
"Após o registo, precisa de configurar as mensagens de notificação e "
|
3248 |
+
"adicionar crédito ao seu saldo, para iniciar o envio de SMS."
|
3249 |
|
3250 |
msgid "Thank you for registration."
|
3251 |
+
msgstr "Obrigado por se ter registado"
|
3252 |
|
3253 |
msgid "You're almost ready to get started with Bookly SMS Service."
|
3254 |
msgstr "Está quase pronto para começar a usar o Serviço Bookly SMS."
|
3271 |
|
3272 |
#, php-format
|
3273 |
msgid "Is %s the correct email?"
|
3274 |
+
msgstr "%s este é o email correto ?"
|
3275 |
|
3276 |
#, php-format
|
3277 |
msgid "If not, you can %s restart the registration process%s."
|
3278 |
+
msgstr "Caso contrário, pode %s recomeçar o processo de registo%s."
|
3279 |
|
3280 |
msgid "Check your spam folder."
|
3281 |
msgstr "Verifique sua pasta de spams."
|
3282 |
|
3283 |
#, php-format
|
3284 |
msgid "Click %s here %s to resend the email."
|
3285 |
+
msgstr "Clicar %s aqui %s para reenviar o email."
|
3286 |
|
3287 |
msgid "Password"
|
3288 |
+
msgstr "Palavra-passe"
|
3289 |
|
3290 |
msgid "Log In"
|
3291 |
msgstr "Entrar"
|
3292 |
|
3293 |
msgid "Registration"
|
3294 |
+
msgstr "Registo"
|
3295 |
|
3296 |
msgid "Forgot password"
|
3297 |
+
msgstr "Esqueceu a sua palavra-passe"
|
3298 |
|
3299 |
msgid "Repeat password"
|
3300 |
+
msgstr "Repita a palavra-passe"
|
3301 |
|
3302 |
#, php-format
|
3303 |
msgid ""
|
3304 |
"I accept <a href=\"%1$s\" target=\"_blank\">Service Terms</a> and <a "
|
3305 |
"href=\"%2$s\" target=\"_blank\">Privacy Policy</a>"
|
3306 |
msgstr ""
|
3307 |
+
"Eu aceito <a href=\"%1$s\" target=\"_blank\">os Termos de Serviço</a> e <a "
|
3308 |
+
"href=\"%2$s\" target=\"_blank\"> a Política de Privacidade</a>"
|
3309 |
|
3310 |
msgid "Register"
|
3311 |
+
msgstr "Registar"
|
3312 |
|
3313 |
msgid "Enter code from email"
|
3314 |
msgstr "Digite o código recebido no e-mail"
|
3315 |
|
3316 |
msgid "Repeat new password"
|
3317 |
+
msgstr "Repita a nova palavra-passe"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3318 |
|
3319 |
msgid ""
|
3320 |
"If you do not see your country in the list please contact us at <a "
|
3321 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3322 |
msgstr ""
|
3323 |
+
"Se não vê seu pais nesta lista, Por favor, entre em contato connosco <a "
|
3324 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3325 |
|
3326 |
msgid "Administrator phone"
|
3330 |
msgstr "Enviar SMS de teste"
|
3331 |
|
3332 |
msgid "Save administrator phone"
|
3333 |
+
msgstr "Guardar o telefone do administrador"
|
3334 |
|
3335 |
msgid ""
|
3336 |
"Enter a phone number in international format. E.g. for the United States a "
|
3347 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
3348 |
"Multisite</a> add-on <a href=\"%2$s\">message</a>."
|
3349 |
msgstr ""
|
3350 |
+
"Para enviar notificações agendadas consulte o add-on <a href=\"%1$s\">Bookly "
|
3351 |
"Multisite</a> <a href=\"%2$s\">mensagem</a>."
|
3352 |
|
3353 |
msgid ""
|
3363 |
"our price list. Also please note that prices for messages with custom sender "
|
3364 |
"ID are usually 20% - 25% higher than normal message price."
|
3365 |
msgstr ""
|
3366 |
+
"Por favor, tenha conta que nem todos os países, por lei, permitem ID "
|
3367 |
"personalizado de remetente de SMS. Por favor, verifique se determinado país "
|
3368 |
+
"permite ID do remetente personalizado na nossa lista de preços. É importante "
|
3369 |
+
"saber que os preços de mensagens com ID personalizado de remetente são "
|
3370 |
+
"geralmente 20% - 25% superiores quando comparados com o preço de uma "
|
3371 |
+
"mensagem normal."
|
3372 |
|
3373 |
msgid "Request Sender ID"
|
3374 |
msgstr "Solicitar ID de remetente"
|
3385 |
msgid "Can only contain letters or digits (up to 11 characters)."
|
3386 |
msgstr "Só pode conter letras ou dígitos (até 11 caracteres)."
|
3387 |
|
3388 |
+
msgid "Account settings"
|
3389 |
+
msgstr "Configurações da conta"
|
3390 |
+
|
3391 |
+
msgid "Auto-Recharge"
|
3392 |
+
msgstr "Recarga Automática "
|
3393 |
+
|
3394 |
+
msgid "Invoice"
|
3395 |
+
msgstr "Fatura"
|
3396 |
+
|
3397 |
+
msgid "Change password"
|
3398 |
+
msgstr "Alterar a palavra-passe"
|
3399 |
+
|
3400 |
+
#, php-format
|
3401 |
+
msgid "We will only charge you when your balance falls bellow %s"
|
3402 |
+
msgstr "Apenas iremos cobrar-lhe quando o seu saldo for inferior a %s"
|
3403 |
+
|
3404 |
+
msgid "Company name"
|
3405 |
+
msgstr "Nome da empresa"
|
3406 |
+
|
3407 |
+
msgid "Company address"
|
3408 |
+
msgstr "Endereço da empresa"
|
3409 |
+
|
3410 |
+
msgid "Company address line 2"
|
3411 |
+
msgstr "Endereço da empresa linha 2"
|
3412 |
|
3413 |
+
msgid "You can change the country <a href=\"#\">here</a>"
|
3414 |
+
msgstr "Pode mudar o país <a href=\"#\">aqui</a>"
|
3415 |
|
3416 |
+
msgid "Company number"
|
3417 |
+
msgstr ""
|
3418 |
+
"Número da empresa\n"
|
3419 |
+
|
3420 |
+
msgid "VAT / Tax number"
|
3421 |
+
msgstr "IVA / Identificação fiscal"
|
3422 |
+
|
3423 |
+
msgid "Additional text to include in invoice"
|
3424 |
+
msgstr "Incluir na fatura informação adicional"
|
3425 |
+
|
3426 |
+
#, php-format
|
3427 |
+
msgid "The invoice will be sent to <a href=\"mailto:%1$s\">%1$s</a>"
|
3428 |
+
msgstr "A fatura será enviada para <a href=\"mailto:%1$s\">%1$s</a>"
|
3429 |
|
3430 |
+
msgid "Copy invoice to another email(s)"
|
3431 |
+
msgstr "Copiar fatura paro outro(s) e-mail(s)."
|
3432 |
+
|
3433 |
+
msgid "Enter one or more email addresses separated by commas."
|
3434 |
+
msgstr "Digite um ou mais endereços de e-mail separados por virgulas."
|
3435 |
+
|
3436 |
+
msgid "Save invoice settings"
|
3437 |
+
msgstr "Salvar as definições de fatura"
|
3438 |
+
|
3439 |
+
msgid "Send email notification to administrators at low balance"
|
3440 |
+
msgstr "Enviar notificação via email para os administradores com saldo baixo"
|
3441 |
+
|
3442 |
+
msgid "Send weekly summary to administrators"
|
3443 |
+
msgstr "Enviar resumo semanal para os administradores"
|
3444 |
+
|
3445 |
+
msgid ""
|
3446 |
+
"Your country is the location from where you consume Bookly SMS services and "
|
3447 |
+
"is used to provide you with the payment methods available in that country."
|
3448 |
+
msgstr ""
|
3449 |
+
"O seu país é o local onde utiliza os serviços SMS Bookly e é usado para "
|
3450 |
+
"fornecer as formas de pagamento disponíveis naquele país."
|
3451 |
+
|
3452 |
+
msgid "Update country"
|
3453 |
+
msgstr ""
|
3454 |
+
"Atualização o País\n"
|
3455 |
+
|
3456 |
+
msgid "Old password"
|
3457 |
+
msgstr "Palavra-passe antiga"
|
3458 |
+
|
3459 |
+
msgid "Please accept terms and conditions."
|
3460 |
+
msgstr "Por favor, aceite os termos e condições."
|
3461 |
|
3462 |
+
msgid "Passwords don't match"
|
3463 |
+
msgstr ""
|
3464 |
+
"As palavras-passe não coincidem\n"
|
3465 |
|
3466 |
msgid "Last month"
|
3467 |
msgstr "Último mês"
|
3475 |
msgid "No records for selected period."
|
3476 |
msgstr "Não há registros para o período selecionado."
|
3477 |
|
|
|
|
|
|
|
3478 |
msgid ""
|
3479 |
+
"To generate an invoice you should fill in company information in Bookly SMS "
|
3480 |
+
"Account settings -> Invoice"
|
3481 |
msgstr ""
|
3482 |
+
"Para gerar uma fatura, deve preencher as informações da empresa nas "
|
3483 |
+
"configurações da Conta SMS Bookly -> Fatura\n"
|
3484 |
|
3485 |
msgid "enable"
|
3486 |
msgstr "ativar"
|
3496 |
"O serviço está temporariamente indisponível. Por favor, tente novamente mais "
|
3497 |
"tarde."
|
3498 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3499 |
msgid "SMS has been sent successfully."
|
3500 |
msgstr "SMS foi enviada com sucesso."
|
3501 |
|
3503 |
msgstr "Ordem dos funcionários"
|
3504 |
|
3505 |
msgid "Add staff"
|
3506 |
+
msgstr "Adicionar funcionários"
|
3507 |
|
3508 |
msgid "Quick search staff"
|
3509 |
+
msgstr "Pesquisa rápida dos funcionários"
|
3510 |
|
3511 |
msgid "Categories"
|
3512 |
msgstr "Categorias"
|
3534 |
"os intervalos de tempo no sistema."
|
3535 |
|
3536 |
msgid "Set slot length as service duration"
|
3537 |
+
msgstr "Definir a duração do intervalo de tempo como duração do serviço"
|
3538 |
|
3539 |
msgid ""
|
3540 |
"Enable this option to make slot length equal to service duration at the Time "
|
3547 |
msgstr "Status padrão do compromisso"
|
3548 |
|
3549 |
msgid "Select status for newly booked appointments."
|
3550 |
+
msgstr "Selecione um status para os compromissos recém-reservados."
|
3551 |
|
3552 |
msgid "Number of days available for booking"
|
3553 |
msgstr "Número de dias disponíveis para reservas"
|
3554 |
|
3555 |
msgid "Set how far in the future the clients can book appointments."
|
3556 |
msgstr ""
|
3557 |
+
"Definir o quão longe no futuro os clientes podem fazer as suas reservas."
|
3558 |
|
3559 |
msgid "Display available time slots in client's time zone"
|
3560 |
msgstr "Exibir intervalos de tempo disponíveis no fuso horário do cliente"
|
3561 |
|
3562 |
msgid "The value is taken from client's browser."
|
3563 |
+
msgstr "O valor foi retirado do navegador do cliente."
|
3564 |
|
3565 |
msgid "Allow staff members to edit their profiles"
|
3566 |
msgstr "Permitir que os funcionários editem os seus perfis"
|
3571 |
"and days off."
|
3572 |
msgstr ""
|
3573 |
"Se esta opção estiver ativada, todos os funcionários que estão associados "
|
3574 |
+
"com os utilizadores do WordPress serão capazes de editar os seus perfis, "
|
3575 |
+
"serviços, horários e dias de folga."
|
3576 |
|
3577 |
msgid "Method to include Bookly JavaScript and CSS files on the page"
|
3578 |
msgstr "Método para incluir o Bookly JavaScript e arquivos CSS na página"
|
3591 |
|
3592 |
msgid "Help us improve Bookly by sending anonymous usage stats"
|
3593 |
msgstr ""
|
3594 |
+
"Ajude-nos a melhorar o Bookly enviando estatísticas anónimas de utilização"
|
3595 |
|
3596 |
msgid ""
|
3597 |
"Allow the plugin to set a Powered by Bookly notice on the booking widget to "
|
3598 |
"spread information about the plugin. This will allow the team to improve the "
|
3599 |
"product and enhance its functionality"
|
3600 |
msgstr ""
|
3601 |
+
"Permita que o plugin exiba a informação Criada pelo Bookly no widget de "
|
3602 |
+
"reservas e divulgue a informação acerca do plugin. Isto vai ajudar a equipa "
|
3603 |
+
"a aperfeiçoar o produto e melhorar suas funcionalidades"
|
3604 |
|
3605 |
msgid "Caching of pages with booking form"
|
3606 |
msgstr "Páginas em cache com formulário de reserva."
|
3611 |
"form."
|
3612 |
msgstr ""
|
3613 |
"Selecione \"Impedir\" se quiser que Bookly evite cache por plugins de cache "
|
3614 |
+
"de terceiros, adicionando uma constante DONOTCACHEPAGE nas páginas com "
|
3615 |
"formulário de reserva."
|
3616 |
|
3617 |
msgid "Allow"
|
3633 |
msgstr "Empresa"
|
3634 |
|
3635 |
msgid "Business Hours"
|
3636 |
+
msgstr "Horário de Funcionamento "
|
3637 |
|
3638 |
msgid "Holidays"
|
3639 |
msgstr "Feriados"
|
3640 |
|
3641 |
msgid "Approve appointment URL (success)"
|
3642 |
+
msgstr "URL de aprovação da reserva (sucesso)"
|
3643 |
|
3644 |
msgid ""
|
3645 |
"Set the URL of a page that is shown to staff after they successfully "
|
3646 |
"approved the appointment."
|
3647 |
msgstr ""
|
3648 |
+
"Defina a URL de uma página que é exibida para os funcionários depois de "
|
3649 |
+
"aprovarem a reserva com êxito."
|
3650 |
|
3651 |
msgid "Approve appointment URL (denied)"
|
3652 |
+
msgstr "URL de aprovação da reserva (negada)"
|
3653 |
|
3654 |
msgid ""
|
3655 |
"Set the URL of a page that is shown to staff when the approval of "
|
3656 |
"appointment cannot be done (due to capacity, changed status, etc.)."
|
3657 |
msgstr ""
|
3658 |
+
"Defina a URL da página que é exibida para o funcionário quando a aprovação "
|
3659 |
+
"da reserva não pode ser feita (por causa da capacidade, status alterado, etc."
|
3660 |
+
")."
|
3661 |
|
3662 |
msgid "Cancel appointment URL (success)"
|
3663 |
+
msgstr "URL de cancelamento da reserva (sucesso)"
|
3664 |
|
3665 |
msgid ""
|
3666 |
"Set the URL of a page that is shown to clients after they successfully "
|
3667 |
"cancelled their appointment."
|
3668 |
msgstr ""
|
3669 |
+
"Defina a URL da página que é exibida aos clientes após estes cancelarem a da "
|
3670 |
+
"reserva com êxito."
|
3671 |
|
3672 |
msgid "Cancel appointment URL (denied)"
|
3673 |
+
msgstr "URL para cancelamento da da reserva (negado)"
|
3674 |
|
3675 |
msgid ""
|
3676 |
"Set the URL of a page that is shown to clients when the cancellation of "
|
3677 |
"appointment is not available anymore."
|
3678 |
msgstr ""
|
3679 |
+
"Defina a URL da página que é exibida aos clientes quando o cancelamento da "
|
3680 |
+
"da reserva já não está disponível."
|
3681 |
|
3682 |
msgid "Reject appointment URL (success)"
|
3683 |
+
msgstr "URL da reserva rejeitada (sucesso)"
|
3684 |
|
3685 |
msgid ""
|
3686 |
"Set the URL of a page that is shown to staff after they successfully "
|
3687 |
"rejected the appointment."
|
3688 |
msgstr ""
|
3689 |
+
"Definir a URL da página exibida para os funcionários depois de estes "
|
3690 |
+
"rejeitarem uma reserva com êxito."
|
3691 |
|
3692 |
msgid "Reject appointment URL (denied)"
|
3693 |
+
msgstr "URL da da reserva rejeitada (negado)"
|
3694 |
|
3695 |
msgid ""
|
3696 |
"Set the URL of a page that is shown to staff when the rejection of "
|
3697 |
"appointment cannot be done (due to changed status, etc.)."
|
3698 |
msgstr ""
|
3699 |
+
"Definir a URL da página exibida para os funcionários quando a rejeição da da "
|
3700 |
+
"reserva não pode ser feita (devido a status alterado, etc.)."
|
3701 |
|
3702 |
msgid ""
|
3703 |
"Please note, the business hours below work as a template for all new staff "
|
3706 |
"sure to check the schedule of your staff members if you have some unexpected "
|
3707 |
"behavior of the booking system."
|
3708 |
msgstr ""
|
3709 |
+
"Por favor, observe que o horário de funcionamento abaixo funciona como um "
|
3710 |
+
"modelo para todos os novos funcionários. Para ver uma lista das faixas "
|
3711 |
+
"horárias disponíveis, o sistema tem em conta apenas o horário dos "
|
3712 |
+
"funcionários, e não o horário comercial da empresa. Certifique-se de "
|
3713 |
+
"verificar o horário dos seus funcionários, caso algum comportamento "
|
3714 |
+
"inesperado do sistema de reserva ocorra."
|
3715 |
+
|
3716 |
+
msgid "internal note"
|
3717 |
+
msgstr ""
|
3718 |
+
"nota interna\n"
|
3719 |
|
3720 |
msgid "duration of service"
|
3721 |
msgstr "duração do serviço"
|
3722 |
|
3723 |
msgid "Appointment with one participant"
|
3724 |
+
msgstr "Reserva com um participante"
|
3725 |
|
3726 |
msgid "Appointment with many participants"
|
3727 |
+
msgstr "Reserva com muitos participantes"
|
3728 |
|
3729 |
msgid "Set order of the fields in calendar"
|
3730 |
msgstr "Definir a ordem dos campos no calendário"
|
3733 |
msgstr "Moeda"
|
3734 |
|
3735 |
msgid "Price format"
|
3736 |
+
msgstr "Formato do preço"
|
3737 |
|
3738 |
msgid "Phone field default country"
|
3739 |
msgstr "País padrão do campo de telefone"
|
3744 |
"client."
|
3745 |
msgstr ""
|
3746 |
"Selecione um país padrão para o campo de telefone no passo \"Detalhes\" da "
|
3747 |
+
"reserva. Também pode deixar que o Bookly determine o país com base no "
|
3748 |
"endereço IP do cliente."
|
3749 |
|
3750 |
msgid "Guess country by user's IP address"
|
3751 |
+
msgstr "Adivinhar o país por endereço IP do utilizador"
|
3752 |
|
3753 |
msgid "Default country code"
|
3754 |
msgstr "Código padrão de país"
|
3761 |
"client enters their phone as \"(600) 555-2222\" the resulting phone number "
|
3762 |
"to send the SMS to will be \"+1600555222\"."
|
3763 |
msgstr ""
|
3764 |
+
"Os seus clientes devem ter os seus números de telefone no formato "
|
3765 |
+
"internacional, para receberem mensagens de texto. No entanto, pode "
|
3766 |
+
"especificar um código de país padrão que será utilizado como prefixo para "
|
3767 |
+
"todos os números de telefone que não começam com \"+\" ou \"00\". Por "
|
3768 |
+
"exemplo, se digitar \"1\" como o código do país e um cliente digitar o seu "
|
3769 |
+
"telefone como \"(600) 555-2222\", o número de telefone resultante para "
|
3770 |
+
"enviar a SMS será \"+1600555222\"."
|
3771 |
|
3772 |
msgid "Remember personal information in cookies"
|
3773 |
+
msgstr "Lembrar as informações pessoais nas cookies"
|
3774 |
|
3775 |
msgid ""
|
3776 |
"If this setting is enabled then returning customers will have their personal "
|
3777 |
"information fields filled in at the Details step with the data previously "
|
3778 |
"saved in cookies."
|
3779 |
msgstr ""
|
3780 |
+
"Se esta configuração estiver ativada, os clientes que retornarem terão os "
|
3781 |
+
"seus campos de informações pessoais preenchidos na etapa Detalhes com os "
|
3782 |
+
"dados salvos anteriormente nos cookies."
|
3783 |
|
3784 |
msgid "Allow duplicate customers"
|
3785 |
msgstr "Permitir clientes duplicados"
|
3788 |
"If enabled, a new user will be created if any of the registration data "
|
3789 |
"during the booking is different."
|
3790 |
msgstr ""
|
3791 |
+
"Se ativado, um novo utilizador será criado se algum dos dados de registo "
|
3792 |
+
"durante a reserva for diferente."
|
3793 |
|
3794 |
msgid "Show confirmation dialog before updating customer's data"
|
3795 |
msgstr ""
|
3810 |
"correct this problem."
|
3811 |
msgstr ""
|
3812 |
"O carrinho do WooCommerce não está configurado. Siga o <a href=\"%s\">"
|
3813 |
+
"link</a> para corrigir este problema."
|
3814 |
|
3815 |
msgid "Services order"
|
3816 |
msgstr "Ordem dos serviços"
|
3817 |
|
3818 |
msgid "Add service"
|
3819 |
+
msgstr "Adicionar um serviço"
|
3820 |
|
3821 |
msgid "Quick search services"
|
3822 |
msgstr "Pesquisa rápida serviços"
|
3829 |
"separately for each staff member. Do you want to update it in staff settings "
|
3830 |
"too?"
|
3831 |
msgstr ""
|
3832 |
+
"Está prestes a mudar uma definição de serviço que também é configurada "
|
3833 |
+
"separadamente para cada funcionário. Quer atualizá-la nas definições dos "
|
3834 |
+
"funcionários também?"
|
3835 |
|
3836 |
msgid "Remember my choice"
|
3837 |
+
msgstr "Lembrar-me da minha escolha"
|
3838 |
|
3839 |
msgid "No, update just here in services"
|
3840 |
msgstr "Não, apenas atualizar aqui em serviços"
|
3853 |
|
3854 |
#, php-format
|
3855 |
msgid "This text can be inserted into notifications with %s code."
|
3856 |
+
msgstr "Este texto pode ser inserido em notificações com o código %s."
|
3857 |
|
3858 |
msgid "Start and end times of the appointment"
|
3859 |
+
msgstr "Horas de início e término da reserva"
|
3860 |
|
3861 |
msgid ""
|
3862 |
"Allows to set the start and end times for an appointment for services with "
|
3863 |
"the duration of 1 day or longer. This time will be displayed in "
|
3864 |
"notifications to customers, backend calendar and codes for booking form."
|
3865 |
msgstr ""
|
3866 |
+
"Permite definir os horários de início e término de uma reserva para serviços "
|
3867 |
+
"com a duração de 1 dia ou mais. Este horário será exibido nas notificações "
|
3868 |
+
"para os clientes, no calendário do backend e nos códigos para o formulário "
|
3869 |
+
"de reserva."
|
3870 |
|
3871 |
msgid "Slot length as service duration"
|
3872 |
+
msgstr "Intervalo de tempo enquanto duração do serviço."
|
3873 |
|
3874 |
msgid ""
|
3875 |
"The time interval which is used as a step when building all time slots for "
|
3876 |
"the service at the Time step. The setting overrides global settings in "
|
3877 |
+
"Settings > General. Use Default to apply global settings."
|
3878 |
msgstr ""
|
3879 |
+
"O intervalo de tempo que é usado como uma etapa para criar todos os horários "
|
3880 |
+
"para o serviço na etapa Hora. A configuração substitui as configurações "
|
3881 |
+
"globais nas Configurações Gerais. Use Padrão para poder aplicar as "
|
3882 |
+
"configurações globais."
|
3883 |
+
|
3884 |
+
msgid "The service will be created with the visibility of Private."
|
3885 |
+
msgstr ""
|
3886 |
+
"O serviço será criado com a visibilidade de Privado.\n"
|
3887 |
+
|
3888 |
+
msgid "Duplicate"
|
3889 |
+
msgstr "Duplicar"
|
3890 |
|
3891 |
msgid "You must select at least one repeat option for recurring services."
|
3892 |
msgstr ""
|
3902 |
msgstr[0] "%d serviço"
|
3903 |
msgstr[1] "%d serviços"
|
3904 |
|
3905 |
+
#, php-format
|
3906 |
+
msgid "Copy of %s"
|
3907 |
+
msgstr "Cópia de %s"
|
3908 |
+
|
3909 |
+
msgid "Auto-refresh Calendar"
|
3910 |
+
msgstr "Atualizar automaticamente o Calendário"
|
3911 |
+
|
3912 |
+
msgid "Every 1 minute"
|
3913 |
+
msgstr ""
|
3914 |
+
"A cada 1 minuto\n"
|
3915 |
+
|
3916 |
+
msgid "Every 5 minutes"
|
3917 |
+
msgstr ""
|
3918 |
+
"A cada 5 minuto\n"
|
3919 |
+
|
3920 |
+
msgid "Every 15 minutes"
|
3921 |
+
msgstr ""
|
3922 |
+
"A cada 15 minuto\n"
|
3923 |
+
|
3924 |
+
msgid "Disable"
|
3925 |
+
msgstr ""
|
3926 |
+
"Desativar\n"
|
3927 |
+
|
3928 |
msgid "Welcome to Bookly and thank you for your choice!"
|
3929 |
msgstr "Bem-vindo ao Bookly e obrigado pela sua escolha!"
|
3930 |
|
3934 |
"Bookly your clients can see your availability, pick the services you provide,"
|
3935 |
" book them online and much more."
|
3936 |
msgstr ""
|
3937 |
+
"O Bookly simplificará o processo de reservas para os seus clientes. Este "
|
3938 |
+
"plugin cria outro ponto de contato para converter os seus visitantes em "
|
3939 |
+
"clientes. Com o Bookly, os seus clientes podem ver a sua disponibilidade, "
|
3940 |
+
"escolher serviços que fornece, reservá-los online e muito mais."
|
3941 |
|
3942 |
msgid ""
|
3943 |
"To start using Bookly, you need to set up the services you provide and "
|
3944 |
"specify the staff members who will provide those services."
|
3945 |
msgstr ""
|
3946 |
+
"Para começar a usar o Bookly, precisa de definir os serviços que fornece e "
|
3947 |
+
"especificar os funcionários que fornecerão esses serviços."
|
3948 |
|
3949 |
msgid ""
|
3950 |
"Add a staff member (you can add only one service provider with a free "
|
3951 |
"version of Bookly)."
|
3952 |
msgstr ""
|
3953 |
+
"Adicione um funcionário (apenas pode adicionar somente um prestador de "
|
3954 |
"serviço com a versão gratuita do Bookly)."
|
3955 |
|
3956 |
msgid ""
|
3957 |
"Add services you provide (up to five with a free version of Bookly) and "
|
3958 |
"assign them to a staff member."
|
3959 |
msgstr ""
|
3960 |
+
"Adicione os serviços que fornece (até cinco com a versão gratuita do Bookly) "
|
3961 |
+
"e atribua a um funcionário."
|
3962 |
|
3963 |
msgid ""
|
3964 |
"Go to Posts/Pages and click on the Add Bookly booking form button in the "
|
3965 |
"page editor to publish the booking form on your website."
|
3966 |
msgstr ""
|
3967 |
+
"Vá para Publicações/Páginas e clique no botão Adicionar formulário de "
|
3968 |
+
"reserva Bookly no editor de página para publicar o formulário no seu website."
|
3969 |
|
3970 |
#, php-format
|
3971 |
msgid ""
|
3976 |
"install other add-ons for Bookly, and includes six months of customer "
|
3977 |
"support."
|
3978 |
msgstr ""
|
3979 |
+
"O Bookly pode impulsionar as suas vendas e crescer com o seu negócio. Tenha "
|
3980 |
+
"acesso a mais opções e remova os limites ao atualizar para a versão paga com "
|
3981 |
+
"o <a href=\"%s\" target=\"_blank\">add-on Bookly Pro</a>, que lhe permite "
|
3982 |
+
"utilizar um enorme número de opções adicionais e configurações para os "
|
3983 |
+
"serviços de reservas, instalar outros add-ons para o Bookly e ainda inclui "
|
3984 |
+
"seis meses de suporte ao cliente."
|
3985 |
|
3986 |
msgid "Add Staff Members"
|
3987 |
+
msgstr "Adicione funcionários"
|
3988 |
|
3989 |
msgid "Add Services"
|
3990 |
+
msgstr "Adicione serviços"
|
3991 |
|
3992 |
msgid "Try Bookly Pro add-on"
|
3993 |
msgstr "Experimente o add-on Bookly Pro"
|
3999 |
msgstr "Ver detalhes para mais itens"
|
4000 |
|
4001 |
msgid "Edit custom CSS"
|
4002 |
+
msgstr "Edite CSS personalizado"
|
4003 |
|
4004 |
msgid "Set up your custom CSS styles"
|
4005 |
+
msgstr "Configure os seus estilos CSS personalizados"
|
4006 |
|
4007 |
msgid "Show form progress tracker"
|
4008 |
+
msgstr "Ver o formulário de monitorização do progresso"
|
4009 |
|
4010 |
msgid "Align buttons to the left"
|
4011 |
msgstr "Alinhar os botões à esquerda"
|
4022 |
"like to keep or remove from the booking form. Click Insert, and the booking "
|
4023 |
"form will be added to the page."
|
4024 |
msgstr ""
|
4025 |
+
"Abra a página na qual deseja adicionar o formulário de reserva no modo de "
|
4026 |
+
"edição de página e clique no botão \"Adicionar formulário de reserva "
|
4027 |
+
"Bookly\". Escolha quais campos que quer manter ou remover do formulário de "
|
4028 |
"reserva. Clique em Inserir e o formulário de reserva será adicionado à "
|
4029 |
"página."
|
4030 |
|
4035 |
msgstr "Tornar a seleção dos empregados obrigatória"
|
4036 |
|
4037 |
msgid "Show service price next to employee name"
|
4038 |
+
msgstr "Mostrar preço do serviço ao lado do nome do funcionário"
|
4039 |
|
4040 |
msgid "Show service duration next to service name"
|
4041 |
msgstr "Mostrar a duração do serviço ao lado do nome do serviço"
|
4044 |
msgstr "Mostrar calendário"
|
4045 |
|
4046 |
msgid "Show blocked timeslots"
|
4047 |
+
msgstr "Mostrar os intervalos de tempo bloqueados"
|
4048 |
|
4049 |
msgid "Show each day in one column"
|
4050 |
+
msgstr "Mostrar cada dia numa coluna"
|
4051 |
|
4052 |
msgid "Phone field required"
|
4053 |
msgstr "O campo de telefone é necessário"
|
4063 |
|
4064 |
msgid "Do not forget to update your email and SMS codes for customer names"
|
4065 |
msgstr ""
|
4066 |
+
"Não se esqueça de atualizar o seu e-mail e códigos SMS para os nomes dos "
|
4067 |
+
"clientes"
|
4068 |
|
4069 |
msgid "Use first and last name instead of full name"
|
4070 |
msgstr "Use o primeiro e o último nome ao invés do nome completo"
|
4073 |
msgstr "Campo de confirmação de e-mail"
|
4074 |
|
4075 |
msgid "Show notes field"
|
4076 |
+
msgstr "Exibir o campo de observações"
|
4077 |
|
4078 |
msgid ""
|
4079 |
"The booking form on this step may have different set or states of its "
|
4082 |
"and click on the underlined text to edit."
|
4083 |
msgstr ""
|
4084 |
"O formulário de reserva nesta etapa pode ter diferentes conjuntos ou estados "
|
4085 |
+
"dos seus elementos. Depende de várias condições, tais como add-ons "
|
4086 |
"instalados/ativados, configuração de definições ou escolhas feitas nos "
|
4087 |
"passos anteriores. Selecione a opção e clique no texto sublinhado para "
|
4088 |
"editar."
|
4095 |
|
4096 |
msgid "Form view in case of payment has been accepted for processing"
|
4097 |
msgstr ""
|
4098 |
+
"Visualização do formulário caso o pagamento seja aceite para o processamento"
|
4099 |
|
4100 |
msgid "Visible when the chosen time slot has been already booked"
|
4101 |
msgstr "Visível quando o intervalo de tempo escolhido já foi reservado"
|
4102 |
|
4103 |
msgid "Visible to non-logged in customers only"
|
4104 |
+
msgstr "Visível para os que não fizeram login apenas em clientes"
|
4105 |
|
4106 |
msgid "Previous month"
|
4107 |
msgstr "Mês anterior"
|
4108 |
|
4109 |
msgid "Your custom CSS was saved. Please refresh the page to see your changes."
|
4110 |
msgstr ""
|
4111 |
+
"O seu CSS personalizado foi guardado. Atualize a página para ver as suas "
|
4112 |
"alterações."
|
4113 |
|
4114 |
msgid "New customer"
|
4115 |
msgstr "Novo cliente"
|
4116 |
|
4117 |
msgid "Merge with"
|
4118 |
+
msgstr "Combinar com"
|
4119 |
|
4120 |
msgid "Select for merge"
|
4121 |
+
msgstr "Selecionar para combinar"
|
4122 |
|
4123 |
msgid "Merge list"
|
4124 |
+
msgstr "Combinar a lista"
|
4125 |
|
4126 |
msgid "Merge customers"
|
4127 |
+
msgstr "Combinar clientes"
|
4128 |
|
4129 |
msgid ""
|
4130 |
"You are about to merge customers from the merge list with the selected one. "
|
4131 |
"This will result in losing the merged customers and moving all their "
|
4132 |
"appointments to the selected customer. Are you sure you want to continue?"
|
4133 |
msgstr ""
|
4134 |
+
"Está prestes a combinar os clientes da lista de clientes com o selecionado. "
|
4135 |
+
"Isto vai resultar na perda dos clientes combinados e irá mover todos as suas "
|
4136 |
+
"reservas para o cliente selecionado. Tem certeza que quer continuar?"
|
4137 |
|
4138 |
msgid "Merge"
|
4139 |
+
msgstr "Combinar"
|
4140 |
|
4141 |
msgid "No customers found."
|
4142 |
msgstr "Nenhum cliente encontrado."
|
4199 |
msgid ""
|
4200 |
"See the number of appointments and total revenue for the selected period"
|
4201 |
msgstr ""
|
4202 |
+
"Consulte o número de reserva e a receita total para o período selecionado"
|
|
|
4203 |
|
4204 |
msgid "end date of appointment"
|
4205 |
+
msgstr "data final da reserva"
|
4206 |
|
4207 |
msgid "end time of appointment"
|
4208 |
+
msgstr "hora final da reserva"
|
4209 |
|
4210 |
msgid "cart information"
|
4211 |
msgstr "informações do carrinho"
|
4220 |
msgstr "fuso horário do cliente"
|
4221 |
|
4222 |
msgid "URL of approve appointment link (to use inside <a> tag)"
|
4223 |
+
msgstr "URL para o link da aprovação da reserva (para usar dentro da tag <a>)"
|
|
|
4224 |
|
4225 |
msgid ""
|
4226 |
"URL of cancel appointment link with confirmation (to use inside <a> tag)"
|
4229 |
|
4230 |
msgid "URL of cancel appointment link (to use inside <a> tag)"
|
4231 |
msgstr ""
|
4232 |
+
"URL para o link de cancelamento de reserva (para usar dentro da tag <a>)"
|
4233 |
|
4234 |
msgid "reason you mentioned while deleting appointment"
|
4235 |
+
msgstr "o motivo que mencionou ao excluir a reserva"
|
4236 |
|
4237 |
msgid ""
|
4238 |
"URL for adding event to client's Google Calendar (to use inside <a> tag)"
|
4239 |
msgstr ""
|
4240 |
+
"URL para a adição de eventos para o Calendário Google do cliente (para usar "
|
4241 |
"dentro da tag <a>)"
|
4242 |
|
4243 |
msgid "URL of reject appointment link (to use inside <a> tag)"
|
4244 |
+
msgstr "URL do link da reserva rejeitada (usar dentro de uma tag <a>)"
|
4245 |
|
4246 |
msgid "payment status"
|
4247 |
msgstr "status de pagamento"
|
4256 |
msgstr "data do dia seguinte"
|
4257 |
|
4258 |
msgid "customer new password"
|
4259 |
+
msgstr "nova palavra-passe do cliente"
|
4260 |
|
4261 |
msgid "customer new username"
|
4262 |
+
msgstr "novo nome de utilizador do cliente"
|
4263 |
|
4264 |
msgid "site address"
|
4265 |
msgstr "endereço do site"
|
4268 |
msgstr "logotipo da empresa"
|
4269 |
|
4270 |
msgid "cancel appointment link"
|
4271 |
+
msgstr "link para cancelamento da reserva"
|
4272 |
|
4273 |
msgid "photo of staff"
|
4274 |
msgstr "foto do funcionário"
|
4277 |
msgstr "Configurações Gerais"
|
4278 |
|
4279 |
msgid "Scheduled notifications retry period"
|
4280 |
+
msgstr "Período da nova tentativa de notificações agendadas"
|
4281 |
|
4282 |
msgid ""
|
4283 |
"Set period of time when system will attempt to deliver notification to user. "
|
4284 |
"Notification will be discarded after period expiration."
|
4285 |
msgstr ""
|
4286 |
+
"Defina o período em que o sistema tentará entregar uma notificação ao "
|
4287 |
+
"utilizador. A notificação será descartada após o fim do período."
|
|
|
4288 |
|
4289 |
msgid "Save settings"
|
4290 |
msgstr "Guardar definições"
|
4291 |
|
4292 |
msgid "Test email notifications"
|
4293 |
+
msgstr "Teste de notificações via email"
|
4294 |
|
4295 |
msgid "To email"
|
4296 |
msgstr "Para o e-mail"
|
4305 |
msgstr "Enviar"
|
4306 |
|
4307 |
msgid "Email notifications"
|
4308 |
+
msgstr "Notificações via email"
|
4309 |
|
4310 |
msgid "Sender name"
|
4311 |
msgstr "Nome do remetente"
|
4321 |
"use Text mode of rich-text editors below. On some servers only text emails "
|
4322 |
"are sent successfully."
|
4323 |
msgstr ""
|
4324 |
+
"HTML permite formatação, cores, fontes, posicionamento, etc. Com o Texto "
|
4325 |
"deve usar o modo Texto de editores rich-text abaixo. Em alguns servidores "
|
4326 |
"apenas e-mails de texto são enviados com sucesso."
|
4327 |
|
4336 |
"a sender email address for notifications sent to staff members and "
|
4337 |
"administrators."
|
4338 |
msgstr ""
|
4339 |
+
"Se esta opção for ativada, o endereço de e-mail do cliente é usado como um "
|
4340 |
+
"endereço de e-mail de remetente para notificações enviadas para os "
|
4341 |
"funcionários e administradores."
|
4342 |
|
4343 |
msgid "Sent successfully."
|
4354 |
"you choose to hide this field, please be sure to select a default value for "
|
4355 |
"it"
|
4356 |
msgstr ""
|
4357 |
+
"Por favor, esteja ciente de que um valor neste campo é obrigatório no "
|
4358 |
+
"frontend. Caso opte por ocultar este campo, selecione um valor padrão para o "
|
4359 |
+
"mesmo\n"
|
4360 |
|
4361 |
msgid "Default value for employee select"
|
4362 |
+
msgstr "Valor padrão do funcionário escolhido"
|
4363 |
|
4364 |
msgid "Week days"
|
4365 |
msgstr "Dias da semana"
|
4368 |
msgstr "Intervalo de tempo"
|
4369 |
|
4370 |
msgid "Add Bookly booking form"
|
4371 |
+
msgstr "Adicionar o formulário de reserva no Bookly "
|
4372 |
|
4373 |
msgid "Insert Appointment Booking Form"
|
4374 |
msgstr "Insira formulário de reserva de compromissos"
|
4375 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4376 |
msgid "Send tax information"
|
4377 |
msgstr "Enviar informações de tributação"
|
4378 |
|
4390 |
"gateway used. Specify a percentage or fixed amount. Use minus (\"-\") sign "
|
4391 |
"for decrease/discount."
|
4392 |
msgstr ""
|
4393 |
+
"Esta configuração afeta o custo da reserva de acordo com o gateway de "
|
4394 |
+
"pagamento utilizado. Especifique uma percentagem ou uma quantia fixa. Use "
|
4395 |
+
"sinal de menos (\"-\") para diminuir / desconto."
|
4396 |
|
4397 |
msgid "Enter a value"
|
4398 |
msgstr "Digite um valor"
|
4401 |
msgstr "Adicionar"
|
4402 |
|
4403 |
msgid "Reset"
|
4404 |
+
msgstr "Recuperar"
|
4405 |
|
4406 |
msgid "Notification settings"
|
4407 |
msgstr "Definições de notificações"
|
4414 |
"disabled and no messages are sent until you activate the notification."
|
4415 |
msgstr ""
|
4416 |
"Escolha se a notificação está ativada e as mensagens são enviadas ou se está "
|
4417 |
+
"desativada e nenhuma mensagem será enviada até que ative a notificação."
|
4418 |
|
4419 |
msgid "Recipients"
|
4420 |
msgstr "Destinatários"
|
4441 |
"This notification is sent once for a booking made by a customer and includes "
|
4442 |
"all cart items."
|
4443 |
msgstr ""
|
4444 |
+
"Esta notificação é enviada uma única vez para uma reserva feita por um "
|
4445 |
+
"cliente e inclui todos os itens do carrinho."
|
4446 |
|
4447 |
msgid "Save notification"
|
4448 |
msgstr "Salvar notificação"
|
4451 |
msgstr "Códigos"
|
4452 |
|
4453 |
msgid "Appointment status"
|
4454 |
+
msgstr "Status da reserva"
|
4455 |
|
4456 |
msgid ""
|
4457 |
"Select what status an appointment should have for the notification to be "
|
4458 |
"sent."
|
4459 |
msgstr ""
|
4460 |
+
"Selecione o status que uma reserva deve ter para que a notificação seja "
|
4461 |
"enviada."
|
4462 |
|
4463 |
msgid ""
|
4497 |
msgstr "Nova notificação"
|
4498 |
|
4499 |
msgid "Select from WP users"
|
4500 |
+
msgstr "Selecione a partir dos utilizadores WP"
|
4501 |
|
4502 |
msgid ""
|
4503 |
"If this staff member requires separate login to access personal calendar, a "
|
4504 |
"regular WP user needs to be created for this purpose."
|
4505 |
msgstr ""
|
4506 |
+
"Se este funcionário solicitar um login separado para aceder ao calendário "
|
4507 |
+
"pessoal, um utilizador normal do WP precisa ser criado para este propósito."
|
4508 |
|
4509 |
msgid ""
|
4510 |
"User with \"Administrator\" role will have access to calendars and settings "
|
4511 |
"of all staff members, user with another role will have access only to "
|
4512 |
"personal calendar and settings."
|
4513 |
msgstr ""
|
4514 |
+
"Um utilizador com a função de \"Administrador\" terá acesso aos calendários "
|
4515 |
+
"e definições de todos os funcionários. Um utilizador com outra função terá "
|
4516 |
+
"acesso apenas ao calendário pessoal e as suas definições."
|
4517 |
|
4518 |
msgid ""
|
4519 |
"If you leave this field blank, this staff member will not be able to access "
|
4520 |
"personal calendar using WP backend."
|
4521 |
msgstr ""
|
4522 |
+
"Se deixar este campo vazio, o funcionário não será capaz de aceder ao "
|
4523 |
"calendário pessoal através da área de administração do WP."
|
4524 |
|
4525 |
msgid "Archive"
|
4536 |
msgstr "Nenhum serviço encontrado. Por favor adicione serviços."
|
4537 |
|
4538 |
msgid "Add Service"
|
4539 |
+
msgstr "Adicione um Serviço"
|
4540 |
|
4541 |
msgid "Days Off"
|
4542 |
msgstr "Dias de folga"
|
4545 |
msgstr "A data já passou."
|
4546 |
|
4547 |
msgid "Create staff"
|
4548 |
+
msgstr "Criar equipa"
|
4549 |
|
4550 |
msgid "Edit staff"
|
4551 |
msgstr "Editar funcionário"
|
4557 |
msgstr "Erro ao adicionar o intervalo da folga"
|
4558 |
|
4559 |
msgid "Adjust the order of staff members in your booking form"
|
4560 |
+
msgstr "Ajuste a ordem dos funcionários no formulário de reservas"
|
4561 |
|
4562 |
msgid "Complete payment"
|
4563 |
+
msgstr "Complete o pagamento"
|
4564 |
|
4565 |
msgid "Bind payment"
|
4566 |
msgstr "Vincular pagametno"
|
4578 |
msgstr "A duração do período selecionado não coincide com a duração do serviço"
|
4579 |
|
4580 |
msgid "The selected period is occupied by another appointment"
|
4581 |
+
msgstr "O período selecionado está ocupado com outra reserva"
|
4582 |
|
4583 |
msgid "Selected period doesn't match provider's schedule"
|
4584 |
msgstr "O período selecionado não é igual ao horário do fornecedor"
|
4587 |
msgstr "O período selecionado não é igual ao horário do serviço"
|
4588 |
|
4589 |
msgid "Booking exceeds the working hours limit for staff member"
|
4590 |
+
msgstr "A reserva excede o limite de horas de trabalho do funcionário"
|
4591 |
|
4592 |
msgid "Booking exceeds your working hours limit"
|
4593 |
+
msgstr "A reserva excede o seu horário de trabalho"
|
4594 |
|
4595 |
msgid "Selected / maximum"
|
4596 |
msgstr "Selecionado / máximo"
|
4617 |
msgstr "Observação interna"
|
4618 |
|
4619 |
msgid "Send if new or status changed"
|
4620 |
+
msgstr "Enviar se for novo ou o status modificar"
|
4621 |
|
4622 |
msgid "Send as for new"
|
4623 |
msgstr "Enviar como novo"
|
4630 |
"You can also send notifications as if all customers were added as new by "
|
4631 |
"selecting \"Send as for new\"."
|
4632 |
msgstr ""
|
4633 |
+
"Se adicionou um novo cliente a esta reserva ou alterou o status da reserva "
|
4634 |
+
"para um cliente existente e, para estes registros, quer que as notificações "
|
4635 |
+
"correspondentes por email ou SMS sejam enviadas aos destinatários, selecione "
|
4636 |
+
"a opção \"Enviar se novo ou o status for alterado\" antes de clicar em "
|
4637 |
+
"Enviar. Também pode enviar notificações como se todos os clientes tivessem "
|
4638 |
+
"sido adicionados como novos, selecionando \"Enviar como novo\"."
|
|
|
4639 |
|
4640 |
msgid "Edit appointment"
|
4641 |
+
msgstr "Editar reserva"
|
4642 |
|
4643 |
msgid "Start time must not be empty"
|
4644 |
msgstr "Hora de início não pode estar vazia"
|
4654 |
msgstr "O número de clientes não deve ser maior que %d"
|
4655 |
|
4656 |
msgid "Could not save appointment in database."
|
4657 |
+
msgstr "Não foi possível guardar a reserva no banco de dados."
|
4658 |
|
4659 |
#, php-format
|
4660 |
msgid "%s has reached the limit of bookings for this service"
|
4664 |
"You are going to delete appointment(s). Notifications will be sent in "
|
4665 |
"accordance with your settings."
|
4666 |
msgstr ""
|
4667 |
+
"Vai apagar a(s) reserva(s). Notificações serão enviadas de acordo com as "
|
4668 |
+
"suas configurações."
|
4669 |
|
4670 |
msgid "New Customer"
|
4671 |
msgstr "Novo Cliente"
|
4672 |
|
4673 |
msgid "Delete customers"
|
4674 |
+
msgstr "Apagar clientes"
|
4675 |
|
4676 |
msgid ""
|
4677 |
"You are going to delete customers with existing bookings. Notifications will "
|
4678 |
"not be sent to them."
|
4679 |
msgstr ""
|
4680 |
+
"Vai apagar clientes com reservas existentes. As notificações não serão "
|
4681 |
+
"enviadas para estes."
|
4682 |
|
4683 |
msgid "You are going to delete customers, are you sure?"
|
4684 |
+
msgstr "Vai apagar clientes, tem a certeza?"
|
4685 |
|
4686 |
msgid "Delete customers with existing bookings"
|
4687 |
+
msgstr "Apagar clientes com reservas existentes"
|
4688 |
|
4689 |
msgid "Delete customers' WordPress accounts if there are any"
|
4690 |
+
msgstr "Apagar as contas WordPress dos clientes, se houver"
|
4691 |
|
4692 |
msgid "Deleted Customer"
|
4693 |
+
msgstr "Cliente apagado"
|
4694 |
|
4695 |
msgid ""
|
4696 |
"You are going to delete item which is involved in upcoming appointments. All "
|
4697 |
"related appointments will be deleted. Please double check and edit "
|
4698 |
"appointments before this item deletion if needed."
|
4699 |
msgstr ""
|
4700 |
+
"Vai apagar um item que tem reservas futuras. Todos as reservas relacionados "
|
4701 |
+
"serão apagadas. Por favor, confirme novamente e edite as reservas antes de "
|
4702 |
+
"apagar este item, caso necessário."
|
|
|
4703 |
|
4704 |
msgid "Edit appointments"
|
4705 |
+
msgstr "Editar reservas "
|
4706 |
|
4707 |
msgid "All unsaved changes will be lost."
|
4708 |
msgstr "Todas as mudanças não guardadas serão perdidas."
|
4711 |
msgstr "Não guardar"
|
4712 |
|
4713 |
msgid "Create service"
|
4714 |
+
msgstr "Criar um serviço"
|
4715 |
|
4716 |
msgid "Edit service"
|
4717 |
+
msgstr "Editar um serviço"
|
4718 |
|
4719 |
msgid "Advanced"
|
4720 |
msgstr "Avançado"
|
4723 |
msgstr "Definir a ordem dos serviços no formulário de reservas"
|
4724 |
|
4725 |
msgid "Add category"
|
4726 |
+
msgstr "Adicione uma categoria"
|
4727 |
|
4728 |
msgid "Adjust the order of categories in your booking form"
|
4729 |
+
msgstr "Ajustar a ordem das categorias no formulário de reservas"
|
4730 |
|
4731 |
msgid "Table settings"
|
4732 |
msgstr "Configurações da tabela"
|
4743 |
msgid "Edit email notification"
|
4744 |
msgstr "Editar notificação de email"
|
4745 |
|
4746 |
+
msgid "Thank you"
|
4747 |
+
msgstr ""
|
4748 |
+
"Obrigado\n"
|
4749 |
+
|
4750 |
+
msgid "Your payment has been accepted for processing"
|
4751 |
+
msgstr "O seu pagamento foi aceite para processamento"
|
4752 |
+
|
4753 |
+
msgid "Back to the list of amounts"
|
4754 |
+
msgstr "Voltar à lista dos montantes"
|
4755 |
+
|
4756 |
+
msgid "Please select a payment method"
|
4757 |
+
msgstr ""
|
4758 |
+
"Por favor selecione um método de pagamento\n"
|
4759 |
+
|
4760 |
+
msgid "Credit card"
|
4761 |
+
msgstr ""
|
4762 |
+
"Cartão de crédito\n"
|
4763 |
+
|
4764 |
+
msgid "Account recharge"
|
4765 |
+
msgstr "Recarregar a conta"
|
4766 |
+
|
4767 |
+
msgid "Oops"
|
4768 |
+
msgstr "Oops"
|
4769 |
+
|
4770 |
+
msgid "Your payment has been cancelled"
|
4771 |
+
msgstr "O seu pagamento foi cancelado"
|
4772 |
+
|
4773 |
+
msgid "Please select an amount and recharge your account"
|
4774 |
+
msgstr ""
|
4775 |
+
"Por favor selecione um montante e carregue a sua conta\n"
|
4776 |
+
|
4777 |
+
msgid "Pay using"
|
4778 |
+
msgstr "Pague com"
|
4779 |
+
|
4780 |
+
msgid "Continue with"
|
4781 |
+
msgstr ""
|
4782 |
+
"Continuar com\n"
|
4783 |
+
|
4784 |
+
msgid "Auto-Recharge has been enabled"
|
4785 |
+
msgstr "O carregamento automático foi ativado"
|
4786 |
+
|
4787 |
+
msgid "Auto-Recharge has been cancelled"
|
4788 |
+
msgstr "O carregamento automático foi cancelado"
|
4789 |
+
|
4790 |
+
msgid "current<br/>balance"
|
4791 |
+
msgstr "saldo<br/>atual"
|
4792 |
+
|
4793 |
+
msgid "Recharge"
|
4794 |
+
msgstr "Carregamento"
|
4795 |
+
|
4796 |
+
msgid "users choice"
|
4797 |
+
msgstr ""
|
4798 |
+
"escolha dos utilizadores\n"
|
4799 |
+
|
4800 |
+
msgid "Buy now"
|
4801 |
+
msgstr "Comprar agora"
|
4802 |
+
|
4803 |
+
msgid "Best offer"
|
4804 |
+
msgstr "Melhor oferta"
|
4805 |
+
|
4806 |
+
msgid "Users choice"
|
4807 |
+
msgstr ""
|
4808 |
+
"Escolha dos utilizadores\n"
|
4809 |
+
|
4810 |
+
msgid "Other options"
|
4811 |
+
msgstr ""
|
4812 |
+
"Outras opções\n"
|
4813 |
+
|
4814 |
+
msgid "best offer"
|
4815 |
+
msgstr "melhor oferta"
|
4816 |
+
|
4817 |
+
msgid "Select amount of Auto-Recharge"
|
4818 |
+
msgstr ""
|
4819 |
+
"Selecione o montante para o carregamento automático\n"
|
4820 |
+
|
4821 |
+
msgid "Enable"
|
4822 |
+
msgstr ""
|
4823 |
+
"Habilitar\n"
|
4824 |
+
|
4825 |
+
msgid "Disable Auto-Recharge"
|
4826 |
+
msgstr "Desativar Carregamento Automático"
|
4827 |
+
|
4828 |
+
msgid "Are you sure you want to disable Auto-Recharge?"
|
4829 |
+
msgstr "Tem a certeza que deseja desativar o carregamento automático."
|
4830 |
+
|
4831 |
+
msgid "Turn on Auto-Recharge and get even more"
|
4832 |
+
msgstr ""
|
4833 |
+
"Ative o carregamento automático e ganhe ainda mais\n"
|
4834 |
+
|
4835 |
+
msgid "Auto-Recharge disabled"
|
4836 |
+
msgstr "Carregamento Automático desativado"
|
4837 |
+
|
4838 |
+
#, php-format
|
4839 |
+
msgid "Can't disable Auto-Recharge, please contact us at %s"
|
4840 |
+
msgstr ""
|
4841 |
+
"Não é possível desativar o carregamento automático, por favor entre em "
|
4842 |
+
"contacto connosco em %s"
|
4843 |
+
|
4844 |
+
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
4845 |
+
msgstr ""
|
4846 |
+
"O Carregamento Automático falhou. Por favor, recarregue o seu saldo "
|
4847 |
+
"diretamente."
|
4848 |
+
|
4849 |
+
msgid "Card payment has failed, please use another payment option"
|
4850 |
+
msgstr "Falha no pagamento com cartão, por favor use outra opção de pagamento"
|
4851 |
+
|
4852 |
+
msgid "Payment has failed, please use another payment option"
|
4853 |
+
msgstr ""
|
4854 |
+
"O pagamento falhou, por favor tente outro método de pagamento\n"
|
4855 |
+
|
4856 |
msgid "total quantity of appointments in cart"
|
4857 |
msgstr "quantidade total de compromissos no carrinho"
|
4858 |
|
4862 |
msgid "total price of booking"
|
4863 |
msgstr "preço total da reserva"
|
4864 |
|
4865 |
+
msgid ""
|
4866 |
+
"Could you please do me a BIG favor and give it a 5-star rating on WordPress?"
|
4867 |
+
msgstr ""
|
4868 |
+
"Pode fazer-nos um GRANDE favor e dar-nos uma classificação de 5 estrelas no "
|
4869 |
+
"WordPress ?"
|
4870 |
+
|
4871 |
+
msgid "Just to help us spread the word and boost our motivation."
|
4872 |
+
msgstr "É só para passar a palavra e incentivar-nos."
|
4873 |
+
|
4874 |
+
msgid "Ok, you deserve it"
|
4875 |
+
msgstr "OK, merece"
|
4876 |
+
|
4877 |
+
msgid "Nope, maybe later"
|
4878 |
+
msgstr "Não, talvez mais tarde"
|
4879 |
+
|
4880 |
+
msgid "Thank you for the {star} star rating!!!"
|
4881 |
+
msgstr "Obrigado pela sua classificação de {star} estrelas"
|
4882 |
+
|
4883 |
+
msgid "You asked to remind you"
|
4884 |
+
msgstr "Pediu para o relembrar"
|
4885 |
+
|
4886 |
+
msgid "Congratulations!!!"
|
4887 |
+
msgstr "Parabéns !!!!"
|
4888 |
+
|
4889 |
+
msgid "You just made the <b>10th Sale</b> using Bookly Plugin!"
|
4890 |
+
msgstr "Acabou de fazer a sua 10.a venda a utilizar o plugin Bookly !"
|
4891 |
+
|
4892 |
+
msgid "You just made the <b>100th Sale</b> using Bookly Plugin!"
|
4893 |
+
msgstr "Acabou de fazer a sua 100.a venda a utilizar o plugin Bookly !"
|
4894 |
+
|
4895 |
+
msgid "You just made the <b>1000th Sale</b> using Bookly Plugin!"
|
4896 |
+
msgstr "Acabou de fazer sua 1000.a venda a utilizar o plugin Bookly!"
|
4897 |
+
|
4898 |
+
msgid "You just made the <b>10000th Sale</b> using Bookly Plugin!"
|
4899 |
+
msgstr "Acabou de fazer sua 10000.a venda a utilizar o plugin Bookly !"
|
4900 |
+
|
4901 |
msgid ""
|
4902 |
"To help us improve Bookly, the plugin anonymously collects usage information."
|
4903 |
" You can opt out of sharing the information in Settings > General."
|
4904 |
msgstr ""
|
4905 |
"Para nos ajudar a aprimorar o Bookly, o plugin coleta informações de uso "
|
4906 |
+
"anonimamente. Pode optar por não compartilhar as suas informações em "
|
4907 |
"Configurações > Geral."
|
4908 |
|
4909 |
msgid ""
|
4913 |
"Permitir que o plugin colete informações de uso anonimamente para ajudar a "
|
4914 |
"equipe Bookly a aprimorar o produto."
|
4915 |
|
|
|
|
|
|
|
4916 |
msgid "Agree"
|
4917 |
msgstr "Concordo"
|
4918 |
|
4919 |
+
msgid "Disagree"
|
4920 |
+
msgstr "Discordo"
|
4921 |
+
|
4922 |
#, php-format
|
4923 |
msgid ""
|
4924 |
"<b>Bookly Lite rebrands into Bookly with more features available.</b><br/>"
|
4927 |
"free Bookly. To learn more about the major Bookly update, check our <a "
|
4928 |
"href=\"%s\" target=\"_blank\">blog post</a>."
|
4929 |
msgstr ""
|
4930 |
+
"<b>O Bookly Lite transforma-se no Bookly com mais opções disponíveis.</b>"
|
4931 |
+
"<br/><br/>Mudamos a arquitetura do Bookly Lite e do Bookly para otimizar o "
|
4932 |
"desenvolvimento de ambas as versões do plugin e adicionar mais opções ao "
|
4933 |
"novo Bookly gratuito. Para saber mais sobre essa grande atualização do "
|
4934 |
+
"Bookly, visite a nossa <a href=\"%s\" target=\"_blank\">publicação do "
|
4935 |
+
"blog</a>."
|
4936 |
+
|
4937 |
+
#, php-format
|
4938 |
+
msgid "Recharge your account and get up to %s extra."
|
4939 |
+
msgstr ""
|
4940 |
+
"Carregue a sua conta e ganhe até %s extra.\n"
|
4941 |
+
|
4942 |
+
msgid ""
|
4943 |
+
"Send SMS notifications to your customers, increasing their loyalty and "
|
4944 |
+
"involvement."
|
4945 |
+
msgstr ""
|
4946 |
+
"Envie notificações para os seus clientes via SMS, para que estes sejam mais "
|
4947 |
+
"leais e comprometidos.\n"
|
4948 |
+
|
4949 |
+
#, php-format
|
4950 |
+
msgid "Enable Auto-Recharge and get up to %s extra."
|
4951 |
+
msgstr ""
|
4952 |
+
"Habilite o carregamento automático e ganhe até %s extra.\n"
|
4953 |
+
"\n"
|
4954 |
+
|
4955 |
+
msgid ""
|
4956 |
+
"Let your clients receive notifications on time - don't let the service stop."
|
4957 |
+
msgstr ""
|
4958 |
+
"Permita que os seus clientes recebam notificações a tempo - não deixe o "
|
4959 |
+
"serviço parar.\n"
|
4960 |
+
|
4961 |
+
msgid "Remind me later"
|
4962 |
+
msgstr ""
|
4963 |
+
"Lembrar-me depois\n"
|
4964 |
|
4965 |
msgid "This function is not available in the Bookly."
|
4966 |
msgstr "Esta função não está disponível no Bookly."
|
4969 |
"To get access to all Bookly features, lifetime free updates and 24/7 support,"
|
4970 |
" please upgrade to the Pro version of Bookly.<br>For more information visit"
|
4971 |
msgstr ""
|
4972 |
+
"Para ter acesso a todas as opções do Bookly, atualizações vitalícias e "
|
4973 |
+
"suporte 24/7, por favor, atualize para a versão Pro do Bookly. <br>Para mais "
|
4974 |
+
"informações visite"
|
4975 |
|
4976 |
msgid "Subscribe to monthly emails about Bookly improvements and new releases."
|
4977 |
msgstr ""
|
4978 |
+
"Inscreva-se para e-mails mensais sobre as melhorias do Bookly e novos "
|
4979 |
"lançamentos."
|
4980 |
|
4981 |
msgid ""
|
4983 |
"spread information about the plugin. This will allow the team to improve the "
|
4984 |
"product and enhance its functionality."
|
4985 |
msgstr ""
|
4986 |
+
"Permitir que o plugin exiba a informação com processadores Bookly no widget "
|
4987 |
+
"de reservas e divulgue a informação através do plugin. Isto vai ajudar a "
|
4988 |
+
"equipa a aprimorar o produto e melhorar as suas funcionalidades"
|
4989 |
|
4990 |
msgid ""
|
4991 |
"How likely is it that you would recommend Bookly to a friend or colleague?"
|
4992 |
+
msgstr "Qual é a probabilidade de recomendar o Bookly a um amigo ou colega?"
|
4993 |
|
4994 |
msgid "What do you think should be improved?"
|
4995 |
+
msgstr "O que acha que deveria melhorar?"
|
4996 |
|
4997 |
msgid "Please enter your email (optional)"
|
4998 |
+
msgstr "Por favor, digite seu e-mail (opcional)"
|
4999 |
|
5000 |
msgid "Please, check your email to confirm the subscription. Thank you!"
|
5001 |
msgstr ""
|
5002 |
"Por favor, verifique seu e-mail para confirmar a subscrição. Obrigado !"
|
5003 |
|
5004 |
msgid "Given email address is already subscribed, thank you!"
|
5005 |
+
msgstr "O endereço e-mail digitado já se encontra registado. Obrigado ! "
|
5006 |
|
5007 |
msgid "This email address is not valid."
|
5008 |
+
msgstr "Este endereço é e-mail inválido."
|
5009 |
|
5010 |
msgid "Revenue"
|
5011 |
msgstr "Receita"
|
5012 |
|
5013 |
msgid "Approved appointments"
|
5014 |
+
msgstr "Reservas aprovadas"
|
5015 |
|
5016 |
msgid "Pending appointments"
|
5017 |
+
msgstr "Reservas pendentes"
|
5018 |
|
5019 |
msgid "All fields marked with an asterisk (*) are required."
|
5020 |
msgstr "Todos os campos marcados com um asterisco (*) são obrigatórios."
|
5040 |
"most suitable configuration according to your business needs."
|
5041 |
msgstr ""
|
5042 |
"A demonstração é uma versão do Bookly Pro com todos os add-ons instalados, "
|
5043 |
+
"para que possa experimentar todos os recursos e capacidades do sistema e, em "
|
5044 |
+
"seguida, possa escolher a configuração mais adequada de acordo com as "
|
5045 |
"necessidades do seu negócio."
|
5046 |
|
5047 |
msgid "don't show this notification again"
|
5063 |
msgstr "Deixe uma mensagem"
|
5064 |
|
5065 |
msgid "Your name"
|
5066 |
+
msgstr "O seu nome"
|
5067 |
|
5068 |
msgid "Email address"
|
5069 |
msgstr "Endereço de e-mail"
|
5078 |
"In the Feature Requests section of our Community, you can make suggestions "
|
5079 |
"about what you'd like to see in our future releases."
|
5080 |
msgstr ""
|
5081 |
+
"Na secção Pedido de Funcionalidades da nossa comunidade, pode fazer "
|
5082 |
+
"sugestões acerca do que gostaria ver nos nossos próximos lançamentos. "
|
5083 |
|
5084 |
msgid ""
|
5085 |
"Before you post, please check if the same suggestion has already been made. "
|
5086 |
"If so, vote for ideas you like and add a comment with the details about your "
|
5087 |
"situation."
|
5088 |
msgstr ""
|
5089 |
+
"Antes de publicar, por favor verifique se uma sugestão equivalente já foi "
|
5090 |
"feita. Se for o caso, vote pelas ideias que gosta mais, e faça comentários "
|
5091 |
"com explicações sobre sua situação."
|
5092 |
|
5097 |
"better idea of the problem you're facing:"
|
5098 |
msgstr ""
|
5099 |
"É muito mais fácil abordar uma sugestão se entendermos claramente o contexto "
|
5100 |
+
"e o problema, e o motivo pelo qual isso é importante para si. Ao comentar ou "
|
5101 |
+
"publicar, considere estas questões para que possamos ter uma ideia melhor do "
|
5102 |
+
"problema que tem:"
|
5103 |
|
5104 |
msgid "What is the issue you're struggling with?"
|
5105 |
+
msgstr "Qual é o problema com o, qual se esta a debater?"
|
5106 |
|
5107 |
msgid "Where in your workflow do you encounter this issue?"
|
5108 |
+
msgstr "Onde, no seu fluxo de trabalho, encontra esse problema?"
|
5109 |
|
5110 |
msgid ""
|
5111 |
"Is this something that impacts just you, your whole team, or your customers?"
|
5112 |
+
msgstr ""
|
5113 |
+
"Isso é algo que afeta apenas a si, a toda a sua equipa ou aos seus clientes?"
|
5114 |
|
5115 |
msgid "Proceed to Feature requests"
|
5116 |
msgstr "Prosseguir para Solicitação de funcionalidades"
|
5117 |
|
5118 |
msgid "Feedback"
|
5119 |
+
msgstr "Feedback"
|
5120 |
|
5121 |
msgid ""
|
5122 |
"We care about your experience of using Bookly!<br/>Leave a review and tell "
|
5123 |
"others what you think."
|
5124 |
msgstr ""
|
5125 |
+
"Preocupamos com a sua experiência de utilização do Bookly!<br/>Deixe um "
|
5126 |
+
"comentário e conte a outras pessoas o que pensa."
|
5127 |
|
5128 |
msgid "Booking form"
|
5129 |
msgstr "Formulário de reserva"
|
5141 |
msgstr "Valor padrão para local"
|
5142 |
|
5143 |
msgid "Default value for category"
|
5144 |
+
msgstr "Valor padrão para a categoria"
|
5145 |
|
5146 |
msgid "Default value for service"
|
5147 |
+
msgstr "Valor padrão para o serviço"
|
5148 |
|
5149 |
msgid "Default value for employee"
|
5150 |
+
msgstr "Valor padrão para o funcionário"
|
5151 |
|
5152 |
msgid "Quantity"
|
5153 |
msgstr "Quantidade"
|
5156 |
msgstr "ocultar"
|
5157 |
|
5158 |
msgid "Username"
|
5159 |
+
msgstr "Nome de utilizador"
|
5160 |
|
5161 |
msgid "Remember Me"
|
5162 |
+
msgstr "Lembrar-me"
|
5163 |
|
5164 |
msgid "Lost your password?"
|
5165 |
+
msgstr "Perdeu a sua palavra-passe ?"
|
5166 |
|
5167 |
msgid "Loading..."
|
5168 |
msgstr "Carregando..."
|
5169 |
|
5170 |
msgid "Powered by"
|
5171 |
+
msgstr "Fornecido por"
|
5172 |
|
5173 |
msgid "No time is available for selected criteria."
|
5174 |
msgstr "Nenhum horário está disponível para o critério selecionado."
|
5186 |
msgid ""
|
5187 |
"If you are not redirected automatically, follow the <a href=\"%s\">link</a>."
|
5188 |
msgstr ""
|
5189 |
+
"Se não for redirecionado automaticamente, siga o <a href=\"%s\">link</a>."
|
|
|
5190 |
|
5191 |
msgid "Show more"
|
5192 |
msgstr "Mostrar mais"
|
5210 |
msgstr "Notificação ao cliente sobre o pacote comprado"
|
5211 |
|
5212 |
msgid "Your package at {company_name}"
|
5213 |
+
msgstr "O seu pacote na {company_name}"
|
5214 |
|
5215 |
msgid ""
|
5216 |
"Dear {client_name}.\n"
|
5226 |
msgstr ""
|
5227 |
"Prezado {client_name}.\n"
|
5228 |
"\n"
|
5229 |
+
"Esta é uma confirmação de que reservou {package_name}.\n"
|
5230 |
+
"Estamos à sua espera em {company_address}.\n"
|
5231 |
"\n"
|
5232 |
"Obrigado por escolher nossa empresa.\n"
|
5233 |
"\n"
|
5256 |
msgstr ""
|
5257 |
"Olá.\n"
|
5258 |
"\n"
|
5259 |
+
"Tem uma nova reserva de pacote.\n"
|
5260 |
"\n"
|
5261 |
"Pacote: {package_name}\n"
|
5262 |
"\n"
|
5276 |
"{company_website}"
|
5277 |
msgstr ""
|
5278 |
"Prezado {client_name}.\n"
|
5279 |
+
"Esta é uma confirmação de que reservou {package_name}.\n"
|
5280 |
+
"Estamos à sua espera em {company_address}.\n"
|
5281 |
"Obrigado por escolher nossa empresa.\n"
|
5282 |
"{company_name}\n"
|
5283 |
"{company_phone}\n"
|
5292 |
"Client email: {client_email}"
|
5293 |
msgstr ""
|
5294 |
"Olá.\n"
|
5295 |
+
"Tem uma nova reserva de pacote.\n"
|
5296 |
"Pacote: {package_name}\n"
|
5297 |
"Nome do cliente: {client_name}\n"
|
5298 |
"Telefone do cliente: {client_phone}\n"
|
5318 |
msgstr ""
|
5319 |
"Prezado {client_name}.\n"
|
5320 |
"\n"
|
5321 |
+
"O seu pacote de serviços {package_name} foi desativado.\n"
|
5322 |
"\n"
|
5323 |
"Obrigado por escolher a nossa empresa.\n"
|
5324 |
"\n"
|
5325 |
+
"Se você tiver alguma pergunta, por favor, entre em contacto connosco.\n"
|
5326 |
"{company_name}\n"
|
5327 |
"{company_phone}\n"
|
5328 |
"{company_website}"
|
5361 |
"{company_website}"
|
5362 |
msgstr ""
|
5363 |
"Prezado {client_name}.\n"
|
5364 |
+
"O seu pacote de serviços {package_name} foi desativado.\n"
|
5365 |
"Obrigado por escolher nossa empresa.\n"
|
5366 |
+
"Se você tiver alguma pergunta, por favor, entre em contacto connosco.\n"
|
5367 |
"{company_name}\n"
|
5368 |
"{company_phone}\n"
|
5369 |
"{company_website}"
|
5376 |
"Client email: {client_email}"
|
5377 |
msgstr ""
|
5378 |
"Olá.\n"
|
5379 |
+
"O seu pacote de serviços {package_name} foi desativado.\n"
|
5380 |
"Nome do cliente: {client_name}\n"
|
5381 |
"Telefone do cliente: {client_phone}\n"
|
5382 |
"E-mail do cliente: {client_email}"
|
5383 |
|
5384 |
msgid "Notification about new package creation"
|
5385 |
+
msgstr "Notificação sobre a criação de um novo pacote"
|
5386 |
|
5387 |
msgid "Notification about package deletion"
|
5388 |
+
msgstr "Notificação a sobre exclusão de pacotes"
|
5389 |
|
5390 |
msgid "Creation date"
|
5391 |
msgstr "Data de criação"
|
5432 |
msgstr "tempo de vida do pacote"
|
5433 |
|
5434 |
msgid "reason you mentioned while deleting package"
|
5435 |
+
msgstr "motivo que você mencionou para apagar o pacote"
|
5436 |
|
5437 |
msgid "Add customer packages list"
|
5438 |
msgstr "Adicionar lista de pacotes de clientes"
|
5458 |
msgstr "Por favor, selecione um cliente"
|
5459 |
|
5460 |
msgid "Save & schedule"
|
5461 |
+
msgstr "Guardar & agendar"
|
5462 |
|
5463 |
msgid "Could not save package in database."
|
5464 |
msgstr "Não foi possível salvar o pacote na base de dados."
|
5474 |
msgstr "Ignorar"
|
5475 |
|
5476 |
msgid "Selected period is occupied by another appointment"
|
5477 |
+
msgstr "O período selecionado está ocupado com outra reserva"
|
5478 |
|
5479 |
msgid ""
|
5480 |
"Unfortunately, you're not able to book an appointment because the required "
|
5481 |
"time limit prior to booking has expired."
|
5482 |
msgstr ""
|
5483 |
+
"Infelizmente não fazer uma reserva porque o tempo limite necessário antes da "
|
5484 |
+
"reserva expirou."
|
5485 |
|
5486 |
msgid ""
|
5487 |
"You are trying to schedule an appointment in the past. Please select another "
|
5488 |
"time slot."
|
5489 |
msgstr ""
|
5490 |
+
"Está a tentar agendar uma reserva numa data passada. Por favor, selecione "
|
5491 |
+
"outro intervalo de tempo."
|
5492 |
|
5493 |
msgid "Select appointment date"
|
5494 |
+
msgstr "Selecionar a data do compromisso"
|
5495 |
|
5496 |
msgid "Edit package appointment"
|
5497 |
+
msgstr "Editar o pacote de compromissos"
|
5498 |
|
5499 |
msgid "Delete package appointment"
|
5500 |
+
msgstr "Apagar o pacote de compromissos"
|
5501 |
|
5502 |
msgid "Packages list"
|
5503 |
msgstr "Lista de pacotes"
|
5513 |
|
5514 |
msgid "Notification to customer about their WordPress user login details"
|
5515 |
msgstr ""
|
5516 |
+
"Notificação ao cliente sobre os seus detalhes de login de utilizador "
|
5517 |
+
"WordPress"
|
5518 |
|
5519 |
msgid ""
|
5520 |
"Hello.\n"
|
5529 |
msgstr ""
|
5530 |
"Olá.\n"
|
5531 |
"\n"
|
5532 |
+
"Uma conta foi criada para si no {site_address}\n"
|
5533 |
"\n"
|
5534 |
+
"Os seus dados de utilizador:\n"
|
5535 |
"usuário: {new_username}\n"
|
5536 |
"senha: {new_password}\n"
|
5537 |
"\n"
|
5538 |
"Obrigado."
|
5539 |
|
5540 |
msgid "Your appointment at {company_name}"
|
5541 |
+
msgstr "O seu compromisso em {company_name}"
|
5542 |
|
5543 |
msgid ""
|
5544 |
"Dear {client_name}.\n"
|
5554 |
msgstr ""
|
5555 |
"Prezado {client_name}.\n"
|
5556 |
"\n"
|
5557 |
+
"Gostariamos de relembrar que reservou {service_name} amanhã às "
|
5558 |
+
"{appointment_time}. Esperamos por si em {company_address}.\n"
|
5559 |
"\n"
|
5560 |
"Obrigado por escolher nossos serviços.\n"
|
5561 |
"\n"
|
5564 |
"{company_website}"
|
5565 |
|
5566 |
msgid "Your visit to {company_name}"
|
5567 |
+
msgstr "A sua visita para {company_name}"
|
5568 |
|
5569 |
msgid ""
|
5570 |
"Dear {client_name}.\n"
|
5580 |
msgstr ""
|
5581 |
"Prezado {client_name}.\n"
|
5582 |
"\n"
|
5583 |
+
"Obrigado por escolher {company_name}. Esperamos que tenha ficado satisfeito "
|
5584 |
+
"com {service_name}.\n"
|
5585 |
"\n"
|
5586 |
"Obrigado e aguardamos uma nova visita.\n"
|
5587 |
"\n"
|
5620 |
msgstr ""
|
5621 |
"Caro {client_name}.\n"
|
5622 |
"\n"
|
5623 |
+
"Esta é uma confirmação de que reservou os seguintes itens:\n"
|
5624 |
"\n"
|
5625 |
"{cart_info}\n"
|
5626 |
"\n"
|
5627 |
+
"Obrigado por escolher a nossa empresa.\n"
|
5628 |
"\n"
|
5629 |
"{company_name}\n"
|
5630 |
"{company_phone}\n"
|
5640 |
"Thanks."
|
5641 |
msgstr ""
|
5642 |
"Olá.\n"
|
5643 |
+
"Uma conta foi criada para si em {site_address}\n"
|
5644 |
+
"Os seus dados de utilizador:\n"
|
5645 |
+
"utilizador: {new_username}\n"
|
5646 |
+
"palavra-passe: {new_password}\n"
|
5647 |
"\n"
|
5648 |
"Obrigado."
|
5649 |
|
5659 |
"Prezado {client_name},\n"
|
5660 |
"Esta é uma confirmação de que você reservou os seguintes itens:\n"
|
5661 |
"{cart_info}\n"
|
5662 |
+
"Obrigado por escolher a nossa empresa.\n"
|
5663 |
"{company_name}\n"
|
5664 |
"{company_phone}\n"
|
5665 |
"{company_website}"
|
5666 |
|
5667 |
msgid "I will pay now with PayPal"
|
5668 |
+
msgstr "Vou pagar com PayPal"
|
5669 |
|
5670 |
msgid ""
|
5671 |
"You are not required to pay for the booked services, click Next to complete "
|
5672 |
"the booking process."
|
5673 |
msgstr ""
|
5674 |
+
"Não é necessário efetuar um pagamento para reserva a de serviços, clique em "
|
5675 |
+
"Seguinte para finalizar o processo de reserva."
|
5676 |
|
5677 |
msgid "Street Number"
|
5678 |
msgstr "Número da rua"
|
5679 |
|
5680 |
msgid "Street number is required"
|
5681 |
+
msgstr "Número da rua é obrigatório"
|
5682 |
|
5683 |
msgid "Card Security Code"
|
5684 |
msgstr "Código de segurança do cartão"
|
5690 |
msgstr "Número do cartão de crédito"
|
5691 |
|
5692 |
msgid "Appointment"
|
5693 |
+
msgstr "Reserva"
|
5694 |
|
5695 |
msgid "Customer's birthday"
|
5696 |
msgstr "Aniversário do cliente"
|
5697 |
|
5698 |
msgid "Notification to customer about approved appointments"
|
5699 |
+
msgstr "Notificação ao cliente sobre as reservas aprovados"
|
5700 |
|
5701 |
msgid "Notification to customer about pending appointments"
|
5702 |
+
msgstr "Notificação ao cliente sobre as reservas pendentes"
|
5703 |
|
5704 |
msgid "Extras"
|
5705 |
msgstr "Extras"
|
5719 |
|
5720 |
#, php-format
|
5721 |
msgid "To update - enter the <a href=\"%s\">Purchase Code</a>"
|
5722 |
+
msgstr "Para atualizar - digite o <a href=\"%s\">Código de Compra</a>"
|
5723 |
|
5724 |
msgid "Please verify your Bookly Pro license"
|
5725 |
+
msgstr "Por favor, verifique a sua licença Bookly Pro"
|
5726 |
|
5727 |
msgid ""
|
5728 |
"Bookly Pro will need to verify your license to restore access to your "
|
5729 |
"bookings. Please enter the purchase code in the administrative panel."
|
5730 |
msgstr ""
|
5731 |
+
"O Bookly Pro precisará de verificar a sua licença para restaurar o acesso às "
|
5732 |
+
"suas reservas. Por favor, insira o código de compra no painel administrativo."
|
5733 |
|
5734 |
msgid ""
|
5735 |
"Please verify Bookly Pro license in the administrative panel. If you do not "
|
5736 |
"verify the license within {days}, access to your bookings will be disabled."
|
5737 |
msgstr ""
|
5738 |
"Por favor, verifique a licença do Bookly Pro no painel administrativo. Se "
|
5739 |
+
"não verificar a licença em {days}, o acesso às suas reservas será "
|
5740 |
"desabilitado."
|
5741 |
|
5742 |
msgid "Online meeting"
|
5753 |
"please contact your website administrator in order to verify Bookly Pro "
|
5754 |
"license."
|
5755 |
msgstr ""
|
5756 |
+
"Uma nova reserva foi criada. Para visualizar os detalhes dessa reserva, por "
|
5757 |
+
"favor, entre em contacto com o administrador do seu website para verificar a "
|
5758 |
+
"licença Bookly Pro."
|
5759 |
|
5760 |
msgid ""
|
5761 |
"You have a new appointment. To view it, contact your admin to verify Bookly "
|
5762 |
"Pro license."
|
5763 |
msgstr ""
|
5764 |
+
"Tem uma nova reserva. Para visualizá-la, entre em contacto com seu "
|
5765 |
+
"administrador para verificar a licença do Bookly Pro."
|
5766 |
|
5767 |
msgid ""
|
5768 |
"A new appointment has been created. To view the details of this appointment, "
|
5769 |
"please verify Bookly Pro license in the administrative panel."
|
5770 |
msgstr ""
|
5771 |
+
"Uma nova reserva foi criada. Para visualizar os detalhes dessa reserva, por "
|
5772 |
+
"favor, verifique a licença do Bookly Pro no painel administrativo. "
|
|
|
5773 |
|
5774 |
msgid ""
|
5775 |
"You have a new appointment. To view it, please verify Bookly Pro license."
|
5776 |
msgstr ""
|
5777 |
+
"Tem uma nova reserva. Para visualizá-la, por favor, verifique a licença do "
|
5778 |
+
"Bookly Pro."
|
5779 |
|
5780 |
msgid ""
|
5781 |
"Please contact your website administrator in order to verify the license for "
|
5782 |
"Bookly add-ons. If you do not verify the license within {days}, the "
|
5783 |
"respective add-ons will be disabled."
|
5784 |
msgstr ""
|
5785 |
+
"Entre em contato com o administrador do site para verificar a licença para "
|
5786 |
+
"os add-ons Bookly. Se você não verificar a licença dentro de {days}, os "
|
5787 |
"respectivos add-ons serão desativados."
|
5788 |
|
5789 |
msgid "Contact your admin to verify Bookly add-ons license; {days} remaining."
|
5797 |
"disabled."
|
5798 |
msgstr ""
|
5799 |
"Por favor, verifique a licença para os Bookly add-ons no painel "
|
5800 |
+
"administrativo. Se não verificar a licença dentro de {days}, os respectivos "
|
5801 |
+
"add-ons serão desativados."
|
5802 |
|
5803 |
msgid "Please verify Bookly add-ons license; {days} remaining."
|
5804 |
msgstr "Por favor, verifique a licença de add-ons Bookly; {days} restantes."
|
5812 |
msgstr ""
|
5813 |
"%s é usado em outro domínio %s.<br/>Para usar o código de compra neste "
|
5814 |
"domínio, desassocie-o no painel de administração do outro domínio.<br/> Se "
|
5815 |
+
"não tiver acesso à área de administrador, entre em contato com nosso suporte "
|
5816 |
"técnico em support@bookly.info para transferir a licença manualmente."
|
5817 |
|
5818 |
#, php-format
|
5823 |
"Purchase code verification is temporarily unavailable. Please try again "
|
5824 |
"later."
|
5825 |
msgstr ""
|
5826 |
+
"A verificação do código de compra está temporariamente indisponível. Por "
|
5827 |
"favor, tente novamente mais tarde."
|
5828 |
|
5829 |
#, php-format
|
5834 |
msgstr "Imprimir"
|
5835 |
|
5836 |
msgid "Google Calendar integration"
|
5837 |
+
msgstr "Integração com o Calendário Google "
|
5838 |
|
5839 |
#, php-format
|
5840 |
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
5841 |
msgstr ""
|
5842 |
+
"Por favor, configure primeiramente as <a href=\"%s\">configurações</a> do "
|
5843 |
+
"Calendário Google"
|
5844 |
|
5845 |
msgid "Synchronize staff member appointments with Google Calendar."
|
5846 |
msgstr ""
|
5847 |
+
"Sincronizar os dados das reservas do funcionário com o Calendário Google."
|
5848 |
|
5849 |
msgid "Limit working hours per day"
|
5850 |
msgstr "Limite de horas trabalhadas por dia."
|
5856 |
"This setting allows limiting the total time occupied by bookings per day for "
|
5857 |
"staff member. Padding time is not included."
|
5858 |
msgstr ""
|
5859 |
+
"Esta configuração permite limitar o tempo total ocupado por reservas por dia "
|
5860 |
+
"para o funcionário. A passagem do tempo não está incluída."
|
5861 |
|
5862 |
msgid "API Username"
|
5863 |
msgstr "Utilizador API"
|
5875 |
"Set how late appointments can be booked (for example, require customers to "
|
5876 |
"book at least 1 hour before the appointment time)."
|
5877 |
msgstr ""
|
5878 |
+
"Definir como as reservas atrasadas podem ser marcadas (por exemplo, pedir "
|
5879 |
"que os clientes façam suas reservas pelo menos 1 hora antes da hora marcada "
|
5880 |
+
"na reserva)."
|
5881 |
|
5882 |
msgid "Minimum time requirement prior to canceling"
|
5883 |
msgstr "Tempo mínimo antes de cancelar"
|
5886 |
"Set how late appointments can be cancelled (for example, require customers "
|
5887 |
"to cancel at least 1 hour before the appointment time)."
|
5888 |
msgstr ""
|
5889 |
+
"Definir como as reservas atrasadas podem ser canceladas (por exemplo, pedir "
|
5890 |
+
"que os clientes cancelem pelo menos uma hora antes da hora marcada da "
|
5891 |
+
"reserva)."
|
5892 |
|
5893 |
msgid "Appointment cancellation confirmation URL"
|
5894 |
+
msgstr "URL de confirmação de cancelamento da reserva"
|
5895 |
|
5896 |
msgid ""
|
5897 |
"Set the URL of an appointment cancellation confirmation page that is shown "
|
5898 |
"to clients when they press cancellation link."
|
5899 |
msgstr ""
|
5900 |
+
"Definir a URL de uma página de confirmação de cancelamento da reserva, que "
|
5901 |
+
"será exibida para os clientes quando eles clicarem no link de cancelamento."
|
|
|
5902 |
|
5903 |
msgid ""
|
5904 |
"You need to install and activate WooCommerce plugin before using the options "
|
5905 |
"below.<br/><br/>Once the plugin is activated do the following steps:"
|
5906 |
msgstr ""
|
5907 |
+
"Precisa de instalar e ativar o plugin do WooCommerce antes de utilizar as "
|
5908 |
"opções abaixo.<br/><br/>Quando o plugin for ativado, execute os seguintes "
|
5909 |
"passos:"
|
5910 |
|
5918 |
"Select the product that you created at step 1 in the drop down list of "
|
5919 |
"products."
|
5920 |
msgstr ""
|
5921 |
+
"Selecione o produto que criou no passo 1 na lista suspensa de produtos."
|
5922 |
|
5923 |
msgid ""
|
5924 |
"If needed, edit item data which will be displayed in the cart. Besides cart "
|
5927 |
msgstr ""
|
5928 |
"Se necessário, edite os dados do item que serão exibidos no carrinho. Além "
|
5929 |
"dos dados do item no carrinho, o Bookly transfere os campos de endereço e "
|
5930 |
+
"conta para o WooCommerce se os coletou em seu formulário de reserva."
|
5931 |
|
5932 |
msgid ""
|
5933 |
"Note that once you have enabled WooCommerce option in Bookly the built-in "
|
5934 |
"payment methods will no longer work. All your customers will be redirected "
|
5935 |
"to WooCommerce cart instead of standard payment step."
|
5936 |
msgstr ""
|
5937 |
+
"Observe que, quando tiver habilitado opção WooCommerce no Bookly, os métodos "
|
5938 |
+
"de pagamento embutidos deixarão de funcionar. Todos os seus clientes serão "
|
5939 |
+
"redirecionados para o carrinho WooCommerce ao invés da etapa de pagamento "
|
5940 |
+
"padrão."
|
5941 |
|
5942 |
msgid "Booking product"
|
5943 |
msgstr "Produto da reserva"
|
5959 |
msgstr "Campos de endereço do cliente"
|
5960 |
|
5961 |
msgid "Choose address fields you want to request from the client."
|
5962 |
+
msgstr "Escolha os campos de endereço que quer solicitar do cliente."
|
5963 |
|
5964 |
msgid "Final step URL"
|
5965 |
msgstr "URL do passo final"
|
5971 |
"Set the URL of a page that the user will be forwarded to after successful "
|
5972 |
"booking. If disabled then the default Done step is displayed."
|
5973 |
msgstr ""
|
5974 |
+
"Defina a URL de uma página que o utilizador será encaminhado após uma "
|
5975 |
+
"reserva bem-sucedida. Se desativada, então o passo padrão Concluído é "
|
5976 |
+
"exibido."
|
5977 |
|
5978 |
msgid "Make birthday mandatory"
|
5979 |
msgstr "Tornar aniversário obrigatório"
|
5994 |
"change the order of fields."
|
5995 |
msgstr ""
|
5996 |
"Selecione os campos que devem ser exibidos no carrinho antes de confirmar a "
|
5997 |
+
"reserva. Desmarque para ocultar a coluna. Arraste o ícone sandwich para "
|
5998 |
"mudar a ordem dos campos."
|
5999 |
|
6000 |
msgid ""
|
6003 |
"to hide the column."
|
6004 |
msgstr ""
|
6005 |
"Se usa o código {cart_info} nas notificações, pode selecionar os campos que "
|
6006 |
+
"pretende exibir e definir a ordem dos campos aqui. Desmarque para ocultar a "
|
6007 |
+
"informação."
|
6008 |
|
6009 |
msgid "To find your client ID and client secret, do the following:"
|
6010 |
msgstr ""
|
6027 |
msgstr ""
|
6028 |
"Clique na parte superior à esquerda para ver uma barra lateral deslizante. "
|
6029 |
"Em seguida, clique em <b>API Manager</b>. Na lista de APIs procure <b>"
|
6030 |
+
"Calendar API</b> e verifique se esta está ativado."
|
6031 |
|
6032 |
msgid "In the sidebar on the left, select <b>Credentials</b>."
|
6033 |
+
msgstr "Na barra lateral à esquerda, selecione <b>Credenciais</b>."
|
6034 |
|
6035 |
msgid ""
|
6036 |
"Go to <b>OAuth consent screen</b> tab and give a name to the product, then "
|
6037 |
"click <b>Save</b>."
|
6038 |
msgstr ""
|
6039 |
+
"Vá para a aba <b>OAuth consent screen</b> e dê um nome para ao produto. Em "
|
6040 |
"seguida, clique em <b>Save</b>."
|
6041 |
|
6042 |
msgid ""
|
6043 |
"Go to <b>Credentials</b> tab and in <b>New credentials</b> drop-down menu "
|
6044 |
"select <b>OAuth client ID</b>."
|
6045 |
msgstr ""
|
6046 |
+
"Vá para a aba <b>Credenciais</b> e em <b>Novas Credenciais</b> no menu drop-"
|
6047 |
+
"down selecione <b>OAuth client ID</b>."
|
6048 |
|
6049 |
msgid ""
|
6050 |
"Select <b>Web application</b> and create your project's OAuth 2.0 "
|
6052 |
"redirect URIs</b> enter the <b>Redirect URI</b> found below on this page. "
|
6053 |
"Click <b>Create</b>."
|
6054 |
msgstr ""
|
6055 |
+
"Selecione <b>a aplicação Web </b> e crie as credenciais OAuth 2.0 do seu "
|
6056 |
+
"projeto, fornecendo as informações necessárias. Para <b> URI de "
|
6057 |
+
"redirecionamento Autorizado </b> digite o <b> URI de redirecionamento</b> "
|
6058 |
+
"encontrada abaixo nesta página. Clique em <b>Criar</b>."
|
6059 |
|
6060 |
msgid ""
|
6061 |
"In the popup window look for the <b>Client ID</b> and <b>Client secret</b>. "
|
6062 |
"Use them in the form below on this page."
|
6063 |
msgstr ""
|
6064 |
+
"Na janela pop-up procure o <b>ID do cliente</b> e o <b>Cliente segredo</b>. "
|
6065 |
+
"Use-os no formulário abaixo nesta página."
|
6066 |
|
6067 |
#, php-format
|
6068 |
msgid ""
|
6075 |
"Importante: para a sincronização em duas vias, seu website deve usar HTTPS. "
|
6076 |
"O Google Calendar API serão capaz de enviar notificações para endereços "
|
6077 |
"HTTPS somente se um certificado SSL válido estiver instalado no seu servidor "
|
6078 |
+
"web. Siga os passos deste <a href=\"%s\"target=\"_blank\">documento</a> para "
|
6079 |
+
"<b>verificar e registar o seu domínio</b>."
|
6080 |
|
6081 |
msgid "The client ID obtained from the Developers Console"
|
6082 |
msgstr "O ID do cliente obtido a partir do Developers Console"
|
6083 |
|
6084 |
msgid "Client secret"
|
6085 |
+
msgstr "Cliente segredo"
|
6086 |
|
6087 |
msgid "The client secret obtained from the Developers Console"
|
6088 |
+
msgstr "O cliente segredo obtido a partir do Developers Console"
|
6089 |
|
6090 |
msgid "Enter this URL as a redirect URI in the Developers Console"
|
6091 |
msgstr "Digite esta URL como uma URI de redirecionamento no Developers Console"
|
6097 |
"slots before displaying the Time step of the booking form (this may lead to "
|
6098 |
"a delay when users click Next to get to the Time step)."
|
6099 |
msgstr ""
|
6100 |
+
"Com a sincronização de \"uma via\", o Bookly coloca novas reservas e "
|
6101 |
+
"qualquer mudança adicional no Calendário Google. Com a sincronização de "
|
6102 |
+
"\"duas vias exclusiva do front-end\", o Bookly vai buscar adicionalmente "
|
6103 |
+
"eventos do Calendário Google e remove os intervalos de tempo correspondentes "
|
6104 |
+
"antes de exibir o passo da Hora no formulário de reserva (isto pode causar "
|
6105 |
+
"um atraso quando os utilizadores clicam em Prosseguir para chegarem ao passo "
|
6106 |
+
"da Hora)."
|
6107 |
|
6108 |
msgid ""
|
6109 |
"If there is a lot of events in Google Calendar sometimes this leads to a "
|
6110 |
"lack of memory in PHP when Bookly tries to fetch all events. You can limit "
|
6111 |
"the number of fetched events here."
|
6112 |
msgstr ""
|
6113 |
+
"Se existirem muitos eventos no Calendário Google, isto pode resultar numa "
|
6114 |
+
"falta de memória na PHP quando o Bookly tenta encontrar todos os eventos. "
|
6115 |
+
"Pode limitar o número de eventos encontrados aqui."
|
6116 |
|
6117 |
msgid ""
|
6118 |
"Configure what information should be placed in the title of Google Calendar "
|
6119 |
"event. Available codes are {service_name}, {staff_name} and {client_names}."
|
6120 |
msgstr ""
|
6121 |
+
"Configure as informações que devem ser colocadas no nome do evento do "
|
6122 |
+
"Calendário Google. Os códigos disponíveis são {service_name}, {staff_name} e "
|
6123 |
"{client_names}."
|
6124 |
|
6125 |
msgid "To set up Facebook integration, do the following:"
|
6126 |
+
msgstr "Para configurar a integração do Facebook, faça o seguinte:"
|
6127 |
|
6128 |
msgid ""
|
6129 |
"Follow the steps at <a href=\"https://developers.facebook."
|
6136 |
msgstr ""
|
6137 |
"Siga os passos em <a href=\"https://developers.facebook."
|
6138 |
"com/docs/apps/register\" target=\"_blank\">https://developers.facebook."
|
6139 |
+
"com/docs/apps/register</a> para criar uma Conta de Desenvolvedor, registe e "
|
6140 |
+
"configure a sua <b>Aplicação Facebook</b>. Depois, irá precisará submeter a "
|
6141 |
+
"sua aplicação para revisão. Saiba mais sobre o processo de revisão e o que é "
|
6142 |
+
"necessário para passar na revisão em <a href=\"https://developers.facebook."
|
6143 |
"com/docs/facebook-login/review\" target=\"_blank\">Guia de Revisão de "
|
6144 |
"Login</a>."
|
6145 |
|
6147 |
"Below the App Details Panel click Add Platform button, select Website and "
|
6148 |
"enter your website URL."
|
6149 |
msgstr ""
|
6150 |
+
"Abaixo do Painel de Detalhes da Aplicação, clique no botão Adicionar "
|
6151 |
+
"Plataforma, selecione o Website e insira a URL do seu website."
|
6152 |
|
6153 |
msgid ""
|
6154 |
"Go to your App Dashboard. In the left side navigation panel of the App "
|
6155 |
"Dashboard, click Settings > Basic to view the App Details Panel with your "
|
6156 |
"App ID. Use it in the form below."
|
6157 |
msgstr ""
|
6158 |
+
"Vá para o Painel da Aplicação. No painel de navegação do lado esquerdo do "
|
6159 |
+
"Painel da Aplicação, clique em Configurações > Básica para visualizar no "
|
6160 |
+
"Painel de Detalhes da Aplicação com o seu ID de aplicação> Use-a no "
|
6161 |
+
"formulário abaixo."
|
6162 |
|
6163 |
msgid "App ID"
|
6164 |
+
msgstr "ID da aplicação"
|
6165 |
|
6166 |
msgid ""
|
6167 |
"Upon providing the purchase code you will have access to free updates of "
|
6170 |
"this <a href=\"https://help.market.envato.com/hc/en-us/articles/202822600-"
|
6171 |
"Where-can-I-find-my-Purchase-Code-\" target=\"_blank\">page</a>."
|
6172 |
msgstr ""
|
6173 |
+
"Após fornecer o código, irá ter acesso às atualizações gratuitas do Bookly. "
|
6174 |
+
"As atualizações podem conter melhorias de funcionalidade e correções de "
|
6175 |
"segurança importantes. Para mais informações sobre onde encontrar o seu "
|
6176 |
"código de compra, veja esta <a href=\"https://help.market.envato.com/hc/en-"
|
6177 |
"us/articles/202822600-Where-can-I-find-my-Purchase-Code-\" target=\"_blank\">"
|
6181 |
"If you do not provide a valid purchase code within {days}, access to your "
|
6182 |
"bookings will be disabled."
|
6183 |
msgstr ""
|
6184 |
+
"Se não fornecer um código de compra válido dentro de {days}, o acesso às "
|
6185 |
+
"suas reservas será desativado."
|
6186 |
|
6187 |
msgid "Customer address"
|
6188 |
msgstr "Endereço do cliente"
|
6193 |
"Definir a maneira como o endereço do cliente é exibido nas notificações."
|
6194 |
|
6195 |
msgid "To find your API Key and Secret, do the following:"
|
6196 |
+
msgstr "Para encontrar sua chave API e o código segredo, faça o seguinte: "
|
6197 |
|
6198 |
msgid "Sign in to your Zoom account"
|
6199 |
+
msgstr "Fazer login na sua conta Zoom"
|
6200 |
|
6201 |
msgid ""
|
6202 |
"Visit the <a href=\"https://marketplace.zoom.us/\" target=\"_blank\">Zoom "
|
6203 |
"App Marketplace</a>"
|
6204 |
+
msgstr "Visitar o Marketplace Aplicação Zoom"
|
6205 |
|
6206 |
msgid ""
|
6207 |
"Click on the <b>Develop</b> option in the dropdown on the top-right corner "
|
6214 |
"A page with various app types will be displayed. Select <b>JWT</b> as the "
|
6215 |
"app type and click on <b>Create</b>"
|
6216 |
msgstr ""
|
6217 |
+
"Uma página com vários tipos de aplicações será exibida. Selecione <b>JWT</b> "
|
6218 |
+
"como tipo de aplicação e clique em <b>Criar</b>"
|
6219 |
|
6220 |
msgid "After creating your app, fill out descriptive and contact information"
|
6221 |
msgstr ""
|
6222 |
+
"Depois de criar a sua aplicação, preencha os campos descrição e informações "
|
6223 |
+
"de contacto"
|
6224 |
|
6225 |
msgid ""
|
6226 |
"Go to <b>App Credentials</b> tab and look for the <b>API Key</b> and <b>API "
|
6227 |
"Secret</b>. Use them in the form below on this page"
|
6228 |
msgstr ""
|
6229 |
+
"No tab <b>Credenciais da Aplicação</b> procure a <b>Chave API</b> e o <b>"
|
6230 |
+
"Código segredo API</b>. Insira-os no formulário em baixo desta pagina"
|
6231 |
|
6232 |
msgid ""
|
6233 |
"Once you've copied over your API Key and Secret, go to <b>Activation</b> tab "
|
6234 |
"and make sure your app is activated"
|
6235 |
msgstr ""
|
6236 |
+
"Depois de copiar a chave API e o código segredo, clique na tab <b>"
|
6237 |
+
"Ativação</b> e assegure-se que a sua aplicação foi ativada"
|
6238 |
|
6239 |
msgid "The API Key obtained from your JWT app"
|
6240 |
msgstr "A chave API obtida no seu app JWT"
|
6241 |
|
6242 |
msgid "API Secret"
|
6243 |
+
msgstr "Segredo API"
|
6244 |
|
6245 |
msgid "The API Secret obtained from your JWT app"
|
6246 |
+
msgstr "O código segredo API obtido na sua aplicação JWT"
|
6247 |
|
6248 |
msgid "Cart"
|
6249 |
msgstr "Carrinho"
|
6260 |
"aqui</a>."
|
6261 |
|
6262 |
msgid "Google Calendar"
|
6263 |
+
msgstr "Calendário Google "
|
6264 |
|
6265 |
msgid "Purchase Code"
|
6266 |
msgstr "Código de compra"
|
6267 |
|
6268 |
msgid "Create WordPress user account for customers"
|
6269 |
+
msgstr "Crie uma conta de utilizador WordPress para os clientes"
|
6270 |
|
6271 |
msgid ""
|
6272 |
"If this setting is enabled then Bookly will be creating WordPress user "
|
6274 |
"customer will be associated with the existing user account."
|
6275 |
msgstr ""
|
6276 |
"Se essa configuração for habilitada, o Bookly estará criando contas de "
|
6277 |
+
"utilizador WordPress para todos os novos clientes. Se o utilizador estiver "
|
6278 |
+
"conectado, o novo cliente será associado com a conta de utilizador existente."
|
6279 |
|
6280 |
msgid "Cancel appointment action"
|
6281 |
+
msgstr "Ação para cancelar a reserva"
|
6282 |
|
6283 |
msgid ""
|
6284 |
"Select what happens when customer clicks cancel appointment link. With "
|
6285 |
"\"Delete\" the appointment will be deleted from the calendar. With "
|
6286 |
"\"Cancel\" only appointment status will be changed to \"Cancelled\"."
|
6287 |
msgstr ""
|
6288 |
+
"Selecione o que acontece quando o cliente clica no link para cancelar a "
|
6289 |
+
"reserva. Com \"Apagar\", a reserva será excluído do calendário. Com "
|
6290 |
+
"\"Cancelar\", apenas o status da reserva será alterado para \"Cancelado\"."
|
|
|
6291 |
|
6292 |
msgid "New user account role"
|
6293 |
+
msgstr "Novo papel da conta de utilizador"
|
6294 |
|
6295 |
msgid ""
|
6296 |
"Select what role will be assigned to newly created WordPress user accounts "
|
6297 |
"for customers."
|
6298 |
msgstr ""
|
6299 |
+
"Selecione qual papel será atribuído às contas de utilizador WordPress recém-"
|
6300 |
"criadas para os clientes."
|
6301 |
|
6302 |
msgid "Online Meetings"
|
6309 |
msgid ""
|
6310 |
"If this setting is enabled then online meetings will be created for new "
|
6311 |
"appointments with the selected online meeting provider. Make sure that the "
|
6312 |
+
"provider is configured properly in Settings > <a href=\"%s\">Online "
|
6313 |
"Meetings</a>"
|
6314 |
msgstr ""
|
6315 |
"Se esta configuração estiver ativada, as reuniões on-line serão criadas para "
|
6326 |
"\"padding before\" to 15 min. If there is an appointment from 8:00 to 9:00 "
|
6327 |
"then the next available time slot will be 9:15 rather than 9:00."
|
6328 |
msgstr ""
|
6329 |
+
"Definir a hora de preenchimento antes e/ou depois de uma reserva. Por "
|
6330 |
+
"exemplo, se precisar de 15 minutos para se preparar para a próxima reserva, "
|
6331 |
+
"então deve definir \"preenchimento antes\" para 15 min. Se houver uma "
|
6332 |
+
"reserva das 08:00 às 09:00, o próximo intervalo de tempo disponível será às "
|
6333 |
+
"9:15 em vez de às 9:00."
|
6334 |
|
6335 |
msgid "Providers preference for ANY"
|
6336 |
msgstr "Preferência dos fornecedores para QUALQUER"
|
6339 |
"Allows you to define the rule of staff members auto assignment when ANY "
|
6340 |
"option is selected"
|
6341 |
msgstr ""
|
6342 |
+
"Permite que possa definir a regra dos funcionários para atribuição "
|
6343 |
+
"automática quando a opção QUALQUER for selecionada"
|
6344 |
|
6345 |
msgid "Period (before and after)"
|
6346 |
msgstr "Período (antes e depois)"
|
6349 |
"Set number of days before and after appointment that will be taken into "
|
6350 |
"account when calculating providers occupancy. 0 means the day of booking."
|
6351 |
msgstr ""
|
6352 |
+
"Definir o número de dias antes e depois da reserva que será levado em "
|
6353 |
"consideração ao calcular a ocupação dos fornecedores. 0 significa o dia da "
|
6354 |
"reserva."
|
6355 |
|
6356 |
+
msgid "Pick random staff member in case of uncertainty"
|
6357 |
+
msgstr ""
|
6358 |
+
"Escolha um funcionário de forma aleatória no caso de incerteza\n"
|
6359 |
+
|
6360 |
+
msgid ""
|
6361 |
+
"Enable this option to pick a random staff member if both meet the criteria "
|
6362 |
+
"chosen in \"Providers preference for ANY\". Otherwise the selection order is "
|
6363 |
+
"unknown."
|
6364 |
+
msgstr ""
|
6365 |
+
"Habilite esta opção para escolher de forma aleatória um funcionário se ambos "
|
6366 |
+
"satisfizerem os critérios selecionados em \"Preferência do fornecedor para "
|
6367 |
+
"QUALQUER\". Caso contrário a ordem de seleção é desconhecida.\n"
|
6368 |
+
|
6369 |
msgid "Limit appointments per customer"
|
6370 |
msgstr "Limite de compromissos por cliente"
|
6371 |
|
6399 |
msgid ""
|
6400 |
"This setting allows you to limit the number of appointments that can be "
|
6401 |
"booked by a customer in any given period. Restriction may end after a fixed "
|
6402 |
+
"period or with the beginning of the next calendar period - new day, week, "
|
6403 |
"month, etc."
|
6404 |
msgstr ""
|
6405 |
+
"Esta configuração permite limitar o número de reservas que podem ser "
|
6406 |
+
"marcadas por um cliente em qualquer período determinado. A restrição pode "
|
6407 |
"terminar após um período fixo ou com o início do próximo período : novo dia, "
|
6408 |
"semana, mês, etc."
|
6409 |
|
6469 |
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6470 |
"first."
|
6471 |
msgstr ""
|
6472 |
+
"Por favor, configure a integração com a Aplicação do Facebook em <a "
|
6473 |
+
"href=\"%s\">configurações</a> primeiro."
|
6474 |
|
6475 |
msgid "Ok"
|
6476 |
msgstr "Ok"
|
6489 |
"contained in your file. The sequence of columns should coincide with the "
|
6490 |
"specified one."
|
6491 |
msgstr ""
|
6492 |
+
"Pode importar uma lista de clientes no formato CSV. Pode escolher as colunas "
|
6493 |
+
"contidas no seu arquivo. A sequência de colunas deve coincidir com a "
|
6494 |
+
"especificada."
|
6495 |
|
6496 |
msgid "Select file"
|
6497 |
msgstr "Selecionar o ficheiro"
|
6513 |
msgstr "URL de reunião on-line"
|
6514 |
|
6515 |
msgid "Titles"
|
6516 |
+
msgstr "Nomes"
|
6517 |
|
6518 |
msgid "Add Bookly appointments list"
|
6519 |
msgstr "Adicionar lista de compromissos Bookly "
|
6520 |
|
6521 |
msgid "Add appointment cancellation confirmation"
|
6522 |
+
msgstr "Adicionar a confirmação de cancelamento de reserva"
|
6523 |
|
6524 |
#, php-format
|
6525 |
msgid ""
|
6535 |
"\n"
|
6536 |
"This will also remove the entered purchase code from this site."
|
6537 |
msgstr ""
|
6538 |
+
"Tem certeza de que pretende dissociar o código de compra do %s?\n"
|
6539 |
"\n"
|
6540 |
"Isso também removerá o código de compra inserido neste site."
|
6541 |
|
6543 |
msgstr "Erro ao dissociar o código de compra."
|
6544 |
|
6545 |
msgid "Archiving Staff"
|
6546 |
+
msgstr "A arquivar funcionários"
|
6547 |
|
6548 |
msgid ""
|
6549 |
"You are going to archive item which is involved in upcoming appointments. "
|
6550 |
"Please double check and edit appointments before this item archive if needed."
|
6551 |
msgstr ""
|
6552 |
+
"Vai arquivar um item que está ligado a reservas futuras. Por favor, "
|
6553 |
+
"verifique e edite as reservas antes de arquivar este item, se for necessário."
|
|
|
6554 |
|
6555 |
msgid "Ok, continue editing"
|
6556 |
msgstr "Ok, continuar a ediitar"
|
6589 |
"{online_meeting_url}"
|
6590 |
|
6591 |
msgid "Save appointment to create a meeting"
|
6592 |
+
msgstr "Guardar a reserva para criar uma reunião"
|
6593 |
|
6594 |
msgid "Custom service name"
|
6595 |
msgstr "Nome do serviço customizado"
|
6607 |
msgstr "Adicionar funcionários."
|
6608 |
|
6609 |
msgid "Add services you provide and assign them to staff members."
|
6610 |
+
msgstr "Adicionar os serviços que fornece e atribuí-los aos funcionários."
|
6611 |
|
6612 |
msgid ""
|
6613 |
"Bookly can boost your sales and scale together with your business. With "
|
6615 |
"online scheduling system according to your business needs and simplify the "
|
6616 |
"process even more."
|
6617 |
msgstr ""
|
6618 |
+
"O Bookly pode impulsionar e as suas vendas e juntos podemos crescer com o "
|
6619 |
+
"seu negócio. Com os add-ons Bookly, pode obter mais opções e funcionalidade "
|
6620 |
+
"para customizar o seu sistema de agendamento online de acordo com as "
|
6621 |
+
"necessidades do seu negócio e simplificar ainda mais o processo."
|
6622 |
|
6623 |
msgid "Bookly Add-ons"
|
6624 |
msgstr "Add-ons do Bookly"
|
6645 |
"If you do not provide a valid purchase code within {days}, access to your "
|
6646 |
"bookings will be disabled. <a href=\"{url}\">Details</a>"
|
6647 |
msgstr ""
|
6648 |
+
"Se não fornecer um código de compra válido em {days}, o acesso às suas "
|
6649 |
"reservas será desabilitado. <a href=\"{url}\">Detalhes</a>"
|
6650 |
|
6651 |
msgid "License verification succeeded"
|
6652 |
msgstr "Verificação de licença bem sucedido"
|
6653 |
|
6654 |
msgid "Your license has been verified successfully."
|
6655 |
+
msgstr "A sua licença foi verificada com êxito."
|
6656 |
|
6657 |
msgid ""
|
6658 |
"You have access to software updates, including feature improvements and "
|
6659 |
"important security fixes."
|
6660 |
msgstr ""
|
6661 |
+
"Tem acesso a atualizações de software, incluindo melhorias de recursos e "
|
6662 |
+
"correções de segurança importantes."
|
6663 |
|
6664 |
msgid "Thank you for choosing Bookly Pro as your booking solution."
|
6665 |
msgstr "Obrigado por escolher o Bookly Pro como sua solução de agendamentos."
|
6675 |
"access to your bookings will be disabled."
|
6676 |
msgstr ""
|
6677 |
"Por favor, entre em contacto com o administrador do seu website para "
|
6678 |
+
"verificar a sua licença, fornecendo um código de compra válido. No momento "
|
6679 |
+
"que o código de compra é fornecido, irá ter acesso às atualizações do "
|
6680 |
"software, incluindo melhorias nas opções e correções de segurança "
|
6681 |
+
"importantes. Se não fornecer um código de compra válido em {days}, o acesso "
|
6682 |
+
"às suas reservas será desabilitado."
|
6683 |
|
6684 |
msgid "Access to your bookings has been disabled."
|
6685 |
msgstr "O acesso às suas reservas foi desativado."
|
6689 |
"in order to verify the license."
|
6690 |
msgstr ""
|
6691 |
"Para ativar o acesso às suas reservas, entre em contato com o administrador "
|
6692 |
+
"do site para verificar a licença."
|
6693 |
|
6694 |
msgid ""
|
6695 |
"To enable access to your bookings, please verify your license by providing a "
|
6709 |
|
6710 |
msgid ""
|
6711 |
"Please contact your website administrator in order to verify the license."
|
6712 |
+
msgstr "Entre em contato com o administrador do site para verificar a licença."
|
|
|
6713 |
|
6714 |
msgid ""
|
6715 |
"If you do not verify the license within {days}, access to your bookings will "
|
6726 |
"Cannot find your purchase code? See this <a href=\"%s\" target=\"_blank\">"
|
6727 |
"page</a>."
|
6728 |
msgstr ""
|
6729 |
+
"Não consegue encontrar o seu código de compra? Veja esta <a href=\"%s\" "
|
6730 |
"target=\"_blank\">página</a>."
|
6731 |
|
6732 |
msgid "I will provide license info later"
|
6814 |
"deposit amount. If you enable \"Deposit or full price\", customers will be "
|
6815 |
"requested to pay a deposit amount or a full amount."
|
6816 |
msgstr ""
|
6817 |
+
"Se ativar \"Somente depósito\", os clientes serão requisitados a pagar "
|
6818 |
+
"somente um valor de depósito. Se ativar \"Depósito ou preço total\", os "
|
6819 |
"clientes serão requisitados a pagar um valor de depósito ou o montante total."
|
6820 |
|
6821 |
msgid "amount due"
|
6843 |
msgstr "Pagar a taxa agora"
|
6844 |
|
6845 |
msgid "Your task is done"
|
6846 |
+
msgstr "A sua tarefa está terminada"
|
6847 |
|
6848 |
msgid ""
|
6849 |
"Dear {client_name}.\n"
|
6858 |
msgstr ""
|
6859 |
"Prezado/Prezada {client_name}.\n"
|
6860 |
"\n"
|
6861 |
+
"A sua tarefa {service_name} está terminada.\n"
|
6862 |
"\n"
|
6863 |
"Obrigado por escolher nossa empresa.\n"
|
6864 |
"\n"
|
6903 |
"{company_website}"
|
6904 |
msgstr ""
|
6905 |
"Prezado/Prezada {client_name}.\n"
|
6906 |
+
"A sua tarefa {service_name} está terminada.\n"
|
6907 |
"Obrigado por escolher nossa empresa.\n"
|
6908 |
"{company_name}\n"
|
6909 |
"{company_phone}\n"
|
6918 |
"Client email: {client_email}"
|
6919 |
msgstr ""
|
6920 |
"Ola.\n"
|
6921 |
+
"A seguinte tarefa está terminada.\n"
|
6922 |
"Serviço: {service_name}\n"
|
6923 |
"Nome de/da cliente: {client_name}\n"
|
6924 |
"Tel. do/da Cliente: {client_phone}\n"
|
6946 |
"etapa de tempo, mas permitir que o cliente a ignore."
|
6947 |
|
6948 |
msgid "Skip time selection"
|
6949 |
+
msgstr "Saltar a seleção da hora"
|
6950 |
|
6951 |
msgid "Incorrect payment data"
|
6952 |
msgstr "Dados de pagamento incorretos"
|
6961 |
"You selected to book {appointments_count} appointments with total price "
|
6962 |
"{total_price}."
|
6963 |
msgstr ""
|
6964 |
+
"Escolheu marcar as {appointments_count} seguintes reservas com o preço total "
|
6965 |
+
"de {total_price}."
|
6966 |
|
6967 |
msgid "Coupon"
|
6968 |
+
msgstr "Cupão"
|
6969 |
|
6970 |
msgid "Discount (%)"
|
6971 |
msgstr "Desconto (%)"
|
6989 |
msgstr "Ativo até"
|
6990 |
|
6991 |
msgid "Min. appointments"
|
6992 |
+
msgstr "Mín. de compromissos"
|
6993 |
|
6994 |
msgid "Max. appointments"
|
6995 |
+
msgstr "Compromissos máx."
|
6996 |
|
6997 |
msgid "Coupons"
|
6998 |
+
msgstr "Cupões"
|
6999 |
|
7000 |
msgid "Add Coupon Series"
|
7001 |
+
msgstr "Adiciona série de cupões"
|
7002 |
|
7003 |
msgid "Add Coupon"
|
7004 |
+
msgstr "Adicionar cupão"
|
7005 |
|
7006 |
msgid "Coupon code"
|
7007 |
+
msgstr "Código de cupão"
|
7008 |
|
7009 |
msgid "Show only active"
|
7010 |
msgstr "Mostrar somente o ativo"
|
7011 |
|
7012 |
msgid "Export only active coupons"
|
7013 |
+
msgstr "Exportar somente cupões ativos"
|
7014 |
|
7015 |
msgid "New coupon series"
|
7016 |
+
msgstr "Nova série de cupões"
|
7017 |
|
7018 |
msgid "New coupon"
|
7019 |
+
msgstr "Novo cupão"
|
7020 |
|
7021 |
msgid "Edit coupon"
|
7022 |
+
msgstr "Editar cupão"
|
7023 |
|
7024 |
msgid "Generate"
|
7025 |
msgstr "Gerar"
|
7028 |
"You can enter a mask containing asterisks \"*\" for variables here and click "
|
7029 |
"Generate."
|
7030 |
msgstr ""
|
7031 |
+
"Pode inserir uma máscara contendo asteriscos \"*\" para variáveis aqui e "
|
7032 |
+
"clicar em Gerar."
|
7033 |
|
7034 |
msgid "Mask"
|
7035 |
msgstr "Máscara"
|
7042 |
|
7043 |
msgid ""
|
7044 |
"Select this option to limit the use of the coupon to 1 time per customer."
|
7045 |
+
msgstr "Selecione esta opção para limitar o uso de cupões 1 vez por cliente."
|
|
|
7046 |
|
7047 |
msgid "Date limit (from and to)"
|
7048 |
msgstr "Limite de data (de e até)"
|
7054 |
msgstr "Limpar campo"
|
7055 |
|
7056 |
msgid "Limit appointments in cart (min and max)"
|
7057 |
+
msgstr "Limitar as reservas no carrinho (mín e máx)"
|
7058 |
|
7059 |
msgid ""
|
7060 |
"Specify minimum and maximum (optional) number of services of the same type "
|
7061 |
"required to apply a coupon."
|
7062 |
msgstr ""
|
7063 |
"Especificar o mínimo e o máximo (opcional) de serviços do mesmo tipo "
|
7064 |
+
"requeridos para utilizar um cupão."
|
7065 |
|
7066 |
msgid "Limit to customers"
|
7067 |
msgstr "Limitar aos clientes"
|
7068 |
|
7069 |
msgid "Create another coupon"
|
7070 |
+
msgstr "Criar outro cupão"
|
|
|
|
|
|
|
7071 |
|
7072 |
msgid "No coupons found."
|
7073 |
+
msgstr "Nenhum cupão encontrado."
|
7074 |
|
7075 |
msgid "All customers"
|
7076 |
msgstr "Todos os clientes"
|
7087 |
msgid "Max appointments should be greater than zero."
|
7088 |
msgstr "O máximo de compromissos deve ser maior que zero."
|
7089 |
|
7090 |
+
msgid "The code already exists"
|
7091 |
+
msgstr ""
|
7092 |
+
"O código já existe\n"
|
7093 |
+
|
7094 |
msgid "Please enter a non empty mask."
|
7095 |
msgstr "Por favor, insira uma máscara não-vazia."
|
7096 |
|
7103 |
"%d códigos."
|
7104 |
|
7105 |
msgid "All possible codes have already been generated for this mask."
|
7106 |
+
msgstr "Todos os códigos possíveis já foram gerados para esta máscara."
|
7107 |
|
7108 |
msgid "Default code mask"
|
7109 |
msgstr "Máscara de código padrão"
|
7115 |
msgstr "Exibir cupões"
|
7116 |
|
7117 |
msgid "This coupon code is invalid or has been used"
|
7118 |
+
msgstr "Este código de cupão é inválido ou já foi usado"
|
7119 |
|
7120 |
msgid "This coupon code has expired"
|
7121 |
+
msgstr "Este código de cupão expirou."
|
7122 |
|
7123 |
msgid "Group name"
|
7124 |
msgstr "Nome do grupo"
|
7125 |
|
7126 |
msgid "Number of users"
|
7127 |
+
msgstr "Numero de utilizadores"
|
7128 |
|
7129 |
msgid "Description"
|
7130 |
msgstr "Descrição"
|
7176 |
"Enter the fixed amount of discount (e.g. 10 off). To specify a percentage "
|
7177 |
"discount (e.g. 10% off), add '%' symbol to a numerical value."
|
7178 |
msgstr ""
|
7179 |
+
"Insira um valor fixo de desconto (ex: 10%). Para especificar uma percentagem "
|
7180 |
"de desconto (ex: 10%), adicione o símbolo \"%\" ao valor numérico."
|
7181 |
|
7182 |
msgid "Edit group"
|
7183 |
msgstr "Editar grupo"
|
7184 |
|
7185 |
msgid "Group name is required"
|
7186 |
+
msgstr "Nome do grupo é obrigatório"
|
7187 |
|
7188 |
msgid "Notification to customer about placing on waiting list"
|
7189 |
msgstr "Notificação ao cliente sobre o posicionamento na lista de espera"
|
7202 |
msgstr ""
|
7203 |
"Prezado {client_name}.\n"
|
7204 |
"\n"
|
7205 |
+
"Esta é uma confirmação de que foi adicionado na lista de espera para "
|
7206 |
"{service_name} no dia {appointment_date} às {appointment_time}.\n"
|
7207 |
"\n"
|
7208 |
"{company_name}\n"
|
7226 |
msgstr ""
|
7227 |
"Olá.\n"
|
7228 |
"\n"
|
7229 |
+
"Tem um novo cliente na lista de espera.\n"
|
7230 |
"\n"
|
7231 |
"Serviço: {service_name}\n"
|
7232 |
"Data: {appointment_date}\n"
|
7236 |
"E-mail do cliente: {client_email}"
|
7237 |
|
7238 |
msgid "Notification to staff member to set appointment from waiting list"
|
7239 |
+
msgstr "Notificação ao funcionário para marcar uma reserva da lista de espera"
|
|
|
7240 |
|
7241 |
msgid "Set appointment from waiting list"
|
7242 |
+
msgstr "Marcar uma reserva da lista de espera"
|
7243 |
|
7244 |
msgid ""
|
7245 |
"Dear {staff_name},\n"
|
7253 |
"Prezado {staff_name},\n"
|
7254 |
"\n"
|
7255 |
"O intervalo de tempo no dia {appointment_date} às {appointment_time} para "
|
7256 |
+
"{service_name} está agora disponível para reserva. Por favor, veja a lista "
|
7257 |
+
"de clientes na lista de espera e faça uma nova marcação.\n"
|
7258 |
"\n"
|
7259 |
"{appointment_waiting_list}"
|
7260 |
|
7268 |
"{company_website}"
|
7269 |
msgstr ""
|
7270 |
"Prezado {client_name}.\n"
|
7271 |
+
"Esta é uma confirmação de que foi adicionado à lista de espera para "
|
7272 |
"{service_name} no dia {appointment_date} às {appointment_time}.\n"
|
7273 |
"Obrigado por escolher nossa empresa.\n"
|
7274 |
"{company_name}\n"
|
7286 |
"Client email: {client_email}"
|
7287 |
msgstr ""
|
7288 |
"Olá.\n"
|
7289 |
+
"Tem um novo cliente na lista de espera.\n"
|
7290 |
"Serviço: {service_name}\n"
|
7291 |
"Data: {appointment_date}\n"
|
7292 |
"Hora: {appointment_time}\n"
|
7303 |
msgstr ""
|
7304 |
"Prezado {staff_name},\n"
|
7305 |
"O intervalo de tempo no dia {appointment_date} às {appointment_time} para "
|
7306 |
+
"{service_name} está disponível para reserva. Por favor, veja a lista de "
|
7307 |
+
"clientes na lista de espera e faça uma nova marcação.\n"
|
7308 |
"{appointment_waiting_list}"
|
7309 |
|
7310 |
msgid ""
|
7317 |
|
7318 |
msgid "Notification for staff member to set up appointment from waiting list"
|
7319 |
msgstr ""
|
7320 |
+
"Notificação ao funcionário para marcar uma reserva a partir da lista de "
|
7321 |
"espera"
|
7322 |
|
7323 |
msgid "Set appointment"
|
7324 |
+
msgstr "Marcar uma reserva"
|
7325 |
|
7326 |
msgid "number of persons on waiting list"
|
7327 |
msgstr "número de pessoas na lista de espera"
|
7330 |
msgstr "Exibir espaços da lista de espera"
|
7331 |
|
7332 |
msgid "waiting list of appointment"
|
7333 |
+
msgstr "lista de espera para uma reserva"
|
7334 |
|
7335 |
msgid "Show chain appointments"
|
7336 |
msgstr "Exibir reservas encadeadas"
|
7368 |
msgstr "número de ficheiros enviados"
|
7369 |
|
7370 |
msgid "download"
|
7371 |
+
msgstr "download"
|
7372 |
|
7373 |
msgid ""
|
7374 |
"In <b>Checkout Options</b> of your 2Checkout account do the following steps:"
|
7384 |
msgstr "Em <b>URL aprovada</b> insira a URL da sua página de reservas."
|
7385 |
|
7386 |
msgid "Finally provide the necessary information in the form below."
|
7387 |
+
msgstr "Finalmente, forneça as informações necessárias no formulário abaixo."
|
7388 |
|
7389 |
msgid "Account Number"
|
7390 |
msgstr "Número da conta"
|
7418 |
msgstr "Extras do serviço"
|
7419 |
|
7420 |
msgid "extras titles"
|
7421 |
+
msgstr "nomes dos extras"
|
7422 |
|
7423 |
msgid "extras total price"
|
7424 |
msgstr "preço total dos extras"
|
7430 |
msgstr "Novo item"
|
7431 |
|
7432 |
msgid "Show title"
|
7433 |
+
msgstr "Mostrar nomes"
|
7434 |
|
7435 |
msgid "Show price"
|
7436 |
msgstr "Mostrar preços"
|