Version Description
Download this release
Release Info
Developer | Ladela |
Plugin | WordPress Online Booking and Scheduling Plugin – Bookly |
Version | 17.8 |
Comparing to | |
See all releases |
Code changes from version 17.7 to 17.8
- backend/components/controls/Buttons.php +32 -1
- backend/components/controls/resources/js/buttons.js +5 -0
- backend/components/dashboard/appointments/resources/js/appointments-dashboard.js +52 -2
- backend/components/dialogs/appointment/edit/Ajax.php +1 -0
- backend/components/dialogs/appointment/edit/resources/js/ng-appointment.js +15 -3
- backend/components/dialogs/appointment/edit/templates/edit.php +1 -1
- backend/components/dialogs/customer/edit/Ajax.php +3 -1
- backend/components/dialogs/customer/edit/Dialog.php +2 -0
- backend/components/dialogs/customer/edit/resources/js/ng-customer.js +37 -20
- backend/components/dialogs/payment/templates/details.php +13 -3
- backend/components/dialogs/service/categories/resources/js/service-categories-dialog.js +1 -0
- backend/components/dialogs/service/create/resources/js/service-create-dialog.js +2 -0
- backend/components/dialogs/service/edit/resources/js/service-edit-dialog.js +6 -6
- backend/components/dialogs/service/order/Ajax.php +27 -0
- backend/components/dialogs/service/order/Dialog.php +37 -0
- backend/components/dialogs/service/order/resources/js/service-order-dialog.js +72 -0
- backend/components/dialogs/service/order/templates/dialog.php +30 -0
- backend/components/dialogs/sms/resources/js/notification-dialog.js +13 -0
- backend/components/dialogs/staff/edit/Ajax.php +1 -1
- backend/components/dialogs/staff/edit/Dialog.php +20 -10
- backend/components/dialogs/staff/edit/resources/js/staff-details.js +9 -6
- backend/components/dialogs/staff/edit/resources/js/staff-edit-dialog.js +13 -13
- backend/components/dialogs/staff/edit/resources/js/staff-schedule.js +5 -5
- backend/components/dialogs/staff/edit/resources/js/staff-services.js +4 -4
- backend/components/dialogs/staff/edit/templates/dialog.php +1 -1
- backend/components/dialogs/staff/order/Ajax.php +27 -0
- backend/components/dialogs/staff/order/Dialog.php +47 -0
- backend/components/dialogs/staff/order/resources/js/staff-order-dialog.js +80 -0
- backend/components/dialogs/staff/order/templates/dialog.php +30 -0
- backend/components/dialogs/table_settings/Ajax.php +73 -0
- backend/components/dialogs/table_settings/Dialog.php +47 -0
- backend/components/dialogs/table_settings/resources/js/table-settings-dialog.js +55 -0
- backend/components/dialogs/table_settings/templates/button.php +4 -0
- backend/components/dialogs/table_settings/templates/dialog.php +44 -0
- backend/components/notices/PoweredBy.php +1 -1
- backend/components/support/resources/js/support.js +2 -2
- backend/components/support/templates/buttons.php +2 -3
- backend/components/tiny_mce/Tools.php +1 -0
- backend/modules/appearance/templates/_custom_css.php +1 -3
- backend/modules/appointments/Ajax.php +2 -2
- backend/modules/appointments/Page.php +15 -26
- backend/modules/appointments/proxy/GroupBooking.php +1 -6
- backend/modules/appointments/proxy/Locations.php +1 -6
- backend/modules/appointments/proxy/Pro.php +2 -2
- backend/modules/appointments/proxy/Ratings.php +1 -6
- backend/modules/appointments/resources/js/appointments.js +162 -145
- backend/modules/appointments/templates/index.php +24 -39
- backend/modules/customers/Ajax.php +15 -10
- backend/modules/customers/Page.php +9 -5
- backend/modules/customers/proxy/CustomerGroups.php +0 -2
- backend/modules/customers/proxy/Pro.php +1 -2
- backend/modules/customers/resources/js/customers.js +111 -111
- backend/modules/customers/templates/index.php +14 -24
- backend/modules/notifications/Page.php +16 -12
- backend/modules/notifications/templates/index.php +17 -7
- backend/modules/payments/Ajax.php +4 -0
- backend/modules/payments/Page.php +21 -12
- backend/modules/payments/resources/js/payments.js +138 -68
- backend/modules/payments/templates/index.php +31 -28
- backend/modules/services/Ajax.php +74 -17
- backend/modules/services/Page.php +23 -13
- backend/modules/services/resources/js/services-list.js +128 -105
- backend/modules/services/templates/index.php +34 -12
- backend/modules/settings/Page.php +1 -1
- backend/modules/settings/proxy/CustomStatuses.php +15 -0
- backend/modules/settings/templates/index.php +1 -0
- backend/modules/shop/Ajax.php +1 -1
- backend/modules/sms/Page.php +24 -13
- backend/modules/sms/resources/js/notifications-list.js +112 -76
- backend/modules/sms/resources/js/sms.js +150 -112
- backend/modules/sms/templates/_notifications.php +17 -8
- backend/modules/sms/templates/_price.php +14 -6
- backend/modules/sms/templates/_purchases.php +24 -16
- backend/modules/sms/templates/_sender_id.php +27 -14
- backend/modules/sms/templates/_sms_details.php +21 -17
- backend/modules/sms/templates/index.php +4 -5
- backend/modules/staff/Ajax.php +68 -24
- backend/modules/staff/Page.php +17 -12
- backend/modules/staff/proxy/Shared.php +2 -0
- backend/modules/staff/resources/js/staff-list.js +97 -127
- backend/modules/staff/templates/index.php +37 -22
- backend/resources/bootstrap/css/bootstrap-theme.min.css +1 -1
- backend/resources/bootstrap/js/bootstrap.min.js +3 -3
- backend/resources/js/help.js +8 -56
- frontend/components/booking/InfoText.php +1 -1
- frontend/resources/css/bookly-main.css +4 -0
- languages/bookly-de_DE.mo +0 -0
- languages/bookly-de_DE.po +164 -135
- languages/bookly-es_ES.mo +0 -0
- languages/bookly-es_ES.po +164 -136
- languages/bookly-fr_FR.mo +0 -0
- languages/bookly-fr_FR.po +167 -139
- languages/bookly-nl_NL.mo +0 -0
- languages/bookly-nl_NL.po +163 -136
- languages/bookly-pt_BR.mo +0 -0
- languages/bookly-pt_BR.po +163 -136
- languages/bookly-pt_PT.mo +0 -0
- languages/bookly-pt_PT.po +163 -136
- languages/bookly-ru_RU.mo +0 -0
- languages/bookly-ru_RU.po +164 -137
- languages/bookly-zh_TW.mo +0 -0
- languages/bookly-zh_TW.po +2293 -2122
backend/components/controls/Buttons.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Controls;
|
3 |
|
|
|
|
|
4 |
/**
|
5 |
* Class Buttons
|
6 |
* @package Bookly\Backend\Components\Controls
|
@@ -38,7 +40,7 @@ class Buttons
|
|
38 |
public static function renderDelete( $id = 'bookly-delete', $extra_class = null, $caption = null, array $attributes = array() )
|
39 |
{
|
40 |
if ( $caption === null ) {
|
41 |
-
$caption = __( 'Delete
|
42 |
}
|
43 |
|
44 |
echo self::_createButton(
|
@@ -109,6 +111,35 @@ class Buttons
|
|
109 |
echo self::_createButton( 'submit', $id, 'btn-lg btn-success', $extra_class, esc_html( $caption ), $attributes );
|
110 |
}
|
111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
/**
|
113 |
* Create button.
|
114 |
*
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Components\Controls;
|
3 |
|
4 |
+
use Bookly\Lib\Plugin;
|
5 |
+
|
6 |
/**
|
7 |
* Class Buttons
|
8 |
* @package Bookly\Backend\Components\Controls
|
40 |
public static function renderDelete( $id = 'bookly-delete', $extra_class = null, $caption = null, array $attributes = array() )
|
41 |
{
|
42 |
if ( $caption === null ) {
|
43 |
+
$caption = __( 'Delete', 'bookly' ) . '...';
|
44 |
}
|
45 |
|
46 |
echo self::_createButton(
|
111 |
echo self::_createButton( 'submit', $id, 'btn-lg btn-success', $extra_class, esc_html( $caption ), $attributes );
|
112 |
}
|
113 |
|
114 |
+
/**
|
115 |
+
* Render button for open modal window.
|
116 |
+
*
|
117 |
+
* @param string $modal_id
|
118 |
+
* @param string $class
|
119 |
+
* @param string $caption
|
120 |
+
* @param array $attributes
|
121 |
+
* @param string $caption_template
|
122 |
+
* @param string $ellipsis
|
123 |
+
*/
|
124 |
+
public static function renderModalActivator( $modal_id = null, $class = null, $caption = null, array $attributes = array(), $caption_template = '{caption}', $ellipsis = '...' )
|
125 |
+
{
|
126 |
+
$attributes += array(
|
127 |
+
'for-modal' => $modal_id,
|
128 |
+
);
|
129 |
+
if ( ! $class ) {
|
130 |
+
$class = 'btn-default';
|
131 |
+
}
|
132 |
+
|
133 |
+
wp_enqueue_script(
|
134 |
+
'bookly-buttons',
|
135 |
+
plugins_url( '/backend/components/controls/resources/js/buttons.js', Plugin::getBasename() ),
|
136 |
+
array( 'jquery' ),
|
137 |
+
Plugin::getVersion()
|
138 |
+
);
|
139 |
+
|
140 |
+
self::renderCustom( $modal_id . '-activator', $class, $caption . $ellipsis, $attributes, $caption_template );
|
141 |
+
}
|
142 |
+
|
143 |
/**
|
144 |
* Create button.
|
145 |
*
|
backend/components/controls/resources/js/buttons.js
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function($) {
|
2 |
+
$('[for-modal]').on('click', function () {
|
3 |
+
$('#' + $(this).attr('for-modal')).modal('show');
|
4 |
+
});
|
5 |
+
});
|
backend/components/dashboard/appointments/resources/js/appointments-dashboard.js
CHANGED
@@ -1,6 +1,56 @@
|
|
1 |
jQuery(function ($) {
|
2 |
'use strict';
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
var $container = $('.bookly-js-dashboard-appointments'),
|
5 |
$dateFilter = $('select#bookly-filter-date', $container),
|
6 |
totals = {
|
@@ -78,7 +128,7 @@ jQuery(function ($) {
|
|
78 |
|
79 |
$(document.body).on('bookly.dateRange.changed', {},
|
80 |
function (event, data) {
|
81 |
-
$container.parent().
|
82 |
$.ajax({
|
83 |
url : ajaxurl,
|
84 |
type : 'POST',
|
@@ -89,7 +139,7 @@ jQuery(function ($) {
|
|
89 |
},
|
90 |
dataType: 'json',
|
91 |
success : function (response) {
|
92 |
-
$container.parent().
|
93 |
revenue.data = [];
|
94 |
total.data = [];
|
95 |
$.each(response.data.days,function (date, item) {
|
1 |
jQuery(function ($) {
|
2 |
'use strict';
|
3 |
|
4 |
+
/**
|
5 |
+
* Loading overlay plugin
|
6 |
+
* @param busy
|
7 |
+
*/
|
8 |
+
$.fn.booklyLoading = function (busy) {
|
9 |
+
var $t = $(this);
|
10 |
+
if ($t.length <= 0) return;
|
11 |
+
var key = $t.data('bookly-loading-key');
|
12 |
+
if (key === undefined) {
|
13 |
+
key = Math.random().toString(36).substr(2, 9);
|
14 |
+
$t.data('bookly-loading-key', key);
|
15 |
+
}
|
16 |
+
var $overlay = $('#bookly-js-loading-overlay-' + key);
|
17 |
+
if (busy) {
|
18 |
+
var zIndex = $t.css('z-index') === 'auto' ? 2 : parseFloat($t.css('z-index')) + 1,
|
19 |
+
$spinner = $('#bookly-js-loading-spin-' + key);
|
20 |
+
if ($overlay.length === 0) {
|
21 |
+
$spinner = $('<div/>')
|
22 |
+
.css({position: 'absolute'})
|
23 |
+
.attr('id', 'bookly-js-loading-spin-' + key)
|
24 |
+
.html('<i class="fas fa-spin fa-spinner fa-4x"></i>');
|
25 |
+
$overlay = $('<div/>')
|
26 |
+
.css({display: 'none', position: 'absolute', background: '#eee'})
|
27 |
+
.attr('id', 'bookly-js-loading-overlay-' + key)
|
28 |
+
.append($spinner);
|
29 |
+
|
30 |
+
$('body').append($overlay);
|
31 |
+
}
|
32 |
+
|
33 |
+
$overlay.css({
|
34 |
+
opacity: 0.5,
|
35 |
+
zIndex : zIndex,
|
36 |
+
top : $t.offset().top,
|
37 |
+
left : $t.offset().left,
|
38 |
+
width : $t.outerWidth(),
|
39 |
+
height : $t.outerHeight()
|
40 |
+
}).fadeIn();
|
41 |
+
|
42 |
+
var topOverlay = (($t.height() / 2) - 32);
|
43 |
+
if (topOverlay < 0) topOverlay = 0;
|
44 |
+
$spinner.css({
|
45 |
+
top : topOverlay,
|
46 |
+
left: (($t.width() / 2) - 32)
|
47 |
+
});
|
48 |
+
|
49 |
+
} else {
|
50 |
+
$overlay.fadeOut();
|
51 |
+
}
|
52 |
+
};
|
53 |
+
|
54 |
var $container = $('.bookly-js-dashboard-appointments'),
|
55 |
$dateFilter = $('select#bookly-filter-date', $container),
|
56 |
totals = {
|
128 |
|
129 |
$(document.body).on('bookly.dateRange.changed', {},
|
130 |
function (event, data) {
|
131 |
+
$container.parent().booklyLoading(true);
|
132 |
$.ajax({
|
133 |
url : ajaxurl,
|
134 |
type : 'POST',
|
139 |
},
|
140 |
dataType: 'json',
|
141 |
success : function (response) {
|
142 |
+
$container.parent().booklyLoading(false);
|
143 |
revenue.data = [];
|
144 |
total.data = [];
|
145 |
$.each(response.data.days,function (date, item) {
|
backend/components/dialogs/appointment/edit/Ajax.php
CHANGED
@@ -60,6 +60,7 @@ class Ajax extends Lib\Base\Ajax
|
|
60 |
|
61 |
// Staff list.
|
62 |
$staff = Lib\Entities\Staff::query()->findOne();
|
|
|
63 |
$staff_members = $staff ? Lib\Config::proActive() ? Lib\Utils\Common::isCurrentUserSupervisor() ? Lib\Entities\Staff::query()->sortBy( 'position' )->find() : Lib\Entities\Staff::query()->where( 'wp_user_id', get_current_user_id() )->find() : array( $staff ) : array();
|
64 |
$postfix_archived = sprintf( ' (%s)', __( 'Archived', 'bookly' ) );
|
65 |
|
60 |
|
61 |
// Staff list.
|
62 |
$staff = Lib\Entities\Staff::query()->findOne();
|
63 |
+
/** @var Lib\Entities\Staff[] $staff_members */
|
64 |
$staff_members = $staff ? Lib\Config::proActive() ? Lib\Utils\Common::isCurrentUserSupervisor() ? Lib\Entities\Staff::query()->sortBy( 'position' )->find() : Lib\Entities\Staff::query()->where( 'wp_user_id', get_current_user_id() )->find() : array( $staff ) : array();
|
65 |
$postfix_archived = sprintf( ' (%s)', __( 'Archived', 'bookly' ) );
|
66 |
|
backend/components/dialogs/appointment/edit/resources/js/ng-appointment.js
CHANGED
@@ -274,7 +274,7 @@
|
|
274 |
start_time = moment(ds.form.start_time.value, 'HH:mm');
|
275 |
for (var units = units_min; units <= units_max; units++) {
|
276 |
var end_time = moment(start_time).add(units * ds.form.service.duration, 'seconds'),
|
277 |
-
end_hour = moment(end_time).diff(moment('00:00', 'HH:mm')) / 3600 / 1000;
|
278 |
jQuery.each(ds.data.end_time, function (key, item) {
|
279 |
if (item.value == (end_hour < 10 ? '0' + end_hour : end_hour) + ':' + moment(end_time).format('mm')) {
|
280 |
unit_item = jQuery.extend({}, item);
|
@@ -999,7 +999,6 @@
|
|
999 |
.on('hidden.bs.modal', function () {
|
1000 |
jQuery('body').addClass('modal-open');
|
1001 |
});
|
1002 |
-
|
1003 |
jQuery(document.body).trigger('bookly.edit.customer_details', [$dialog, $scope.edit_customer]);
|
1004 |
};
|
1005 |
|
@@ -1521,4 +1520,17 @@ var showAppointmentDialog = function (appointment_id, staff_id, start_date, call
|
|
1521 |
}
|
1522 |
|
1523 |
$dialog.modal('show');
|
1524 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
start_time = moment(ds.form.start_time.value, 'HH:mm');
|
275 |
for (var units = units_min; units <= units_max; units++) {
|
276 |
var end_time = moment(start_time).add(units * ds.form.service.duration, 'seconds'),
|
277 |
+
end_hour = Math.floor(moment(end_time).diff(moment('00:00', 'HH:mm')) / 3600 / 1000);
|
278 |
jQuery.each(ds.data.end_time, function (key, item) {
|
279 |
if (item.value == (end_hour < 10 ? '0' + end_hour : end_hour) + ':' + moment(end_time).format('mm')) {
|
280 |
unit_item = jQuery.extend({}, item);
|
999 |
.on('hidden.bs.modal', function () {
|
1000 |
jQuery('body').addClass('modal-open');
|
1001 |
});
|
|
|
1002 |
jQuery(document.body).trigger('bookly.edit.customer_details', [$dialog, $scope.edit_customer]);
|
1003 |
};
|
1004 |
|
1520 |
}
|
1521 |
|
1522 |
$dialog.modal('show');
|
1523 |
+
};
|
1524 |
+
|
1525 |
+
jQuery(function($) {
|
1526 |
+
$('#bookly-appointment-dialog')
|
1527 |
+
.on('click', '[data-action=show-payment]', function () {
|
1528 |
+
jQuery('#bookly-payment-details-modal').modal('show', this);
|
1529 |
+
})
|
1530 |
+
.on('click', '[data-action=show-collaborative]', function () {
|
1531 |
+
jQuery('#bookly-collaborative-services-dialog').modal('show', this);
|
1532 |
+
})
|
1533 |
+
.on('click', '[data-action=show-compound]', function () {
|
1534 |
+
jQuery('#bookly-compound-services-dialog').modal('show', this);
|
1535 |
+
});
|
1536 |
+
});
|
backend/components/dialogs/appointment/edit/templates/edit.php
CHANGED
@@ -177,7 +177,7 @@ use Bookly\Lib\Entities\CustomerAppointment;
|
|
177 |
<?php endforeach ?>
|
178 |
</ul>
|
179 |
</span>
|
180 |
-
<button type="button" class="btn btn-sm btn-default bookly-margin-left-xs" data-
|
181 |
<span ng-class="{'bookly-js-toggle-popover fa fa-fw': true, 'fa-clipboard-check': customer.payment_type == 'full', 'fa-hourglass': customer.payment_type == 'partial'}"></span>
|
182 |
</button>
|
183 |
|
177 |
<?php endforeach ?>
|
178 |
</ul>
|
179 |
</span>
|
180 |
+
<button type="button" class="btn btn-sm btn-default bookly-margin-left-xs" data-action="show-payment" data-payment_id="{{customer.payment_id}}" ng-show="customer.payment_id || customer.payment_create" popover="<?php esc_attr_e( 'Payment', 'bookly' ) ?>: {{customer.payment_title}}" ng-disabled="customer.payment_create">
|
181 |
<span ng-class="{'bookly-js-toggle-popover fa fa-fw': true, 'fa-clipboard-check': customer.payment_type == 'full', 'fa-hourglass': customer.payment_type == 'partial'}"></span>
|
182 |
</button>
|
183 |
|
backend/components/dialogs/customer/edit/Ajax.php
CHANGED
@@ -50,7 +50,9 @@ class Ajax extends Lib\Base\Ajax
|
|
50 |
$params['group_id'] = null;
|
51 |
}
|
52 |
$params = Proxy\CustomerInformation::prepareCustomerFormData( $params );
|
53 |
-
|
|
|
|
|
54 |
$form = new Forms\Customer();
|
55 |
$form->bind( $params );
|
56 |
/** @var Lib\Entities\Customer $customer */
|
50 |
$params['group_id'] = null;
|
51 |
}
|
52 |
$params = Proxy\CustomerInformation::prepareCustomerFormData( $params );
|
53 |
+
if ( isset( $params['info_fields'] ) ) {
|
54 |
+
$params['info_fields'] = json_encode( $params['info_fields'] );
|
55 |
+
}
|
56 |
$form = new Forms\Customer();
|
57 |
$form->bind( $params );
|
58 |
/** @var Lib\Entities\Customer $customer */
|
backend/components/dialogs/customer/edit/Dialog.php
CHANGED
@@ -33,6 +33,8 @@ class Dialog extends Lib\Base\Component
|
|
33 |
'module' => array( 'js/ng-customer.js' => array( 'bookly-angular.min.js' ), )
|
34 |
) );
|
35 |
|
|
|
|
|
36 |
wp_localize_script( 'bookly-ng-customer.js', 'BooklyL10nCustDialog', array(
|
37 |
'csrf_token' => Lib\Utils\Common::getCsrfToken(),
|
38 |
'first_last_name' => (int) Lib\Config::showFirstLastName(),
|
33 |
'module' => array( 'js/ng-customer.js' => array( 'bookly-angular.min.js' ), )
|
34 |
) );
|
35 |
|
36 |
+
wp_add_inline_script( 'bookly-select2.full.min.js', 'delete jQuery.fn.select2;', 'before' );
|
37 |
+
|
38 |
wp_localize_script( 'bookly-ng-customer.js', 'BooklyL10nCustDialog', array(
|
39 |
'csrf_token' => Lib\Utils\Common::getCsrfToken(),
|
40 |
'first_last_name' => (int) Lib\Config::showFirstLastName(),
|
backend/components/dialogs/customer/edit/resources/js/ng-customer.js
CHANGED
@@ -65,28 +65,32 @@
|
|
65 |
});
|
66 |
}
|
67 |
|
68 |
-
// Init select2 for wp_users.
|
69 |
jQuery('#wp_user')
|
70 |
-
.
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
return BooklyL10nCustDialog.noResultFound;
|
79 |
-
}
|
80 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
});
|
82 |
-
|
83 |
-
// Do stuff on modal hide.
|
84 |
-
element.on('hidden.bs.modal', function () {
|
85 |
-
// Fix scroll issues when another modal is shown.
|
86 |
-
if (jQuery('.modal-backdrop').length) {
|
87 |
-
jQuery('body').addClass('modal-open');
|
88 |
-
}
|
89 |
-
});
|
90 |
scope.changeWpUser = function () {
|
91 |
var $user = jQuery('#wp_user option:selected'),
|
92 |
email = $user.attr('data-email') != undefined ? $user.attr('data-email') : '',
|
@@ -165,6 +169,20 @@
|
|
165 |
};
|
166 |
// Close the dialog.
|
167 |
element.modal('hide');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
} else {
|
169 |
// Set errors.
|
170 |
jQuery.each(response.errors, function(field, errors) {
|
@@ -216,5 +234,4 @@
|
|
216 |
}
|
217 |
};
|
218 |
});
|
219 |
-
|
220 |
})();
|
65 |
});
|
66 |
}
|
67 |
|
|
|
68 |
jQuery('#wp_user')
|
69 |
+
.append(jQuery('<option></option>').attr('value', ''));
|
70 |
+
|
71 |
+
// Do customer on modal hide.
|
72 |
+
element
|
73 |
+
.on('hidden.bs.modal', function () {
|
74 |
+
// Fix scroll issues when another modal is shown.
|
75 |
+
if (jQuery('.modal-backdrop').length) {
|
76 |
+
jQuery('body').addClass('modal-open');
|
|
|
|
|
77 |
}
|
78 |
+
})
|
79 |
+
.one('shown.bs.modal', () => {
|
80 |
+
jQuery('#wp_user')
|
81 |
+
.select2({
|
82 |
+
width: '100%',
|
83 |
+
theme: 'bootstrap',
|
84 |
+
allowClear: true,
|
85 |
+
placeholder: '',
|
86 |
+
dropdownParent: jQuery('#bookly-customer-dialog'),
|
87 |
+
language: {
|
88 |
+
noResults: function () {
|
89 |
+
return BooklyL10nCustDialog.noResultFound;
|
90 |
+
}
|
91 |
+
}
|
92 |
+
});
|
93 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
scope.changeWpUser = function () {
|
95 |
var $user = jQuery('#wp_user option:selected'),
|
96 |
email = $user.attr('data-email') != undefined ? $user.attr('data-email') : '',
|
169 |
};
|
170 |
// Close the dialog.
|
171 |
element.modal('hide');
|
172 |
+
|
173 |
+
// Add new customer to select2 filter
|
174 |
+
let $customersFilter = jQuery('#bookly-filter-customer');
|
175 |
+
if ($customersFilter.length) {
|
176 |
+
let option = jQuery('<option/>', {
|
177 |
+
text: response.customer.full_name,
|
178 |
+
value: response.customer.id,
|
179 |
+
data: {
|
180 |
+
search: [response.customer.full_name, response.customer.email, response.customer.phone]
|
181 |
+
}
|
182 |
+
});
|
183 |
+
|
184 |
+
$customersFilter.append(option).trigger('change');
|
185 |
+
}
|
186 |
} else {
|
187 |
// Set errors.
|
188 |
jQuery.each(response.errors, function(field, errors) {
|
234 |
}
|
235 |
};
|
236 |
});
|
|
|
237 |
})();
|
backend/components/dialogs/payment/templates/details.php
CHANGED
@@ -43,11 +43,11 @@ if ( ! $can_edit ) {
|
|
43 |
<th><?php esc_html_e( 'Service', 'bookly' ) ?></th>
|
44 |
<th><?php esc_html_e( 'Date', 'bookly' ) ?></th>
|
45 |
<th><?php esc_html_e( 'Provider', 'bookly' ) ?></th>
|
46 |
-
<?php if ( $show['deposit'] ): ?>
|
47 |
<th class="text-right"><?php esc_html_e( 'Deposit', 'bookly' ) ?></th>
|
48 |
<?php endif ?>
|
49 |
<th class="text-right"><?php esc_html_e( 'Price', 'bookly' ) ?></th>
|
50 |
-
<?php if ( $show['taxes'] ): ?>
|
51 |
<th class="text-right"><?php esc_html_e( 'Tax', 'bookly' ) ?></th>
|
52 |
<?php endif ?>
|
53 |
</tr>
|
@@ -93,7 +93,17 @@ if ( ! $can_edit ) {
|
|
93 |
<?php if ( $show['taxes'] ) : ?>
|
94 |
<td class="text-right"><?php echo $item['service_tax'] !== null
|
95 |
? sprintf( $payment['tax_in_price'] === 'included' ? '(%s)' : '%s', Price::format( $item['service_tax'] ) )
|
96 |
-
: '-'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
<?php endif ?>
|
98 |
</tr>
|
99 |
<?php endforeach ?>
|
43 |
<th><?php esc_html_e( 'Service', 'bookly' ) ?></th>
|
44 |
<th><?php esc_html_e( 'Date', 'bookly' ) ?></th>
|
45 |
<th><?php esc_html_e( 'Provider', 'bookly' ) ?></th>
|
46 |
+
<?php if ( $show['deposit'] ) : ?>
|
47 |
<th class="text-right"><?php esc_html_e( 'Deposit', 'bookly' ) ?></th>
|
48 |
<?php endif ?>
|
49 |
<th class="text-right"><?php esc_html_e( 'Price', 'bookly' ) ?></th>
|
50 |
+
<?php if ( $show['taxes'] ) : ?>
|
51 |
<th class="text-right"><?php esc_html_e( 'Tax', 'bookly' ) ?></th>
|
52 |
<?php endif ?>
|
53 |
</tr>
|
93 |
<?php if ( $show['taxes'] ) : ?>
|
94 |
<td class="text-right"><?php echo $item['service_tax'] !== null
|
95 |
? sprintf( $payment['tax_in_price'] === 'included' ? '(%s)' : '%s', Price::format( $item['service_tax'] ) )
|
96 |
+
: '-' ?>
|
97 |
+
<ul class="bookly-list">
|
98 |
+
<?php foreach ( $item['extras'] as $extra ) : ?>
|
99 |
+
<?php if ( isset( $extra['tax'] ) ) : ?>
|
100 |
+
<li>
|
101 |
+
<?php echo sprintf( $payment['tax_in_price'] === 'included' ? '(%s)' : '%s', Price::format( $extra['tax'] ) ) ?>
|
102 |
+
</li>
|
103 |
+
<?php endif ?>
|
104 |
+
<?php endforeach ?>
|
105 |
+
</ul>
|
106 |
+
</td>
|
107 |
<?php endif ?>
|
108 |
</tr>
|
109 |
<?php endforeach ?>
|
backend/components/dialogs/service/categories/resources/js/service-categories-dialog.js
CHANGED
@@ -9,6 +9,7 @@ jQuery(function ($) {
|
|
9 |
$save = $('#bookly-save', $dialog),
|
10 |
new_category_id
|
11 |
;
|
|
|
12 |
// Add category
|
13 |
$newCategory.on('click', function () {
|
14 |
$categories.append(
|
9 |
$save = $('#bookly-save', $dialog),
|
10 |
new_category_id
|
11 |
;
|
12 |
+
|
13 |
// Add category
|
14 |
$newCategory.on('click', function () {
|
15 |
$categories.append(
|
backend/components/dialogs/service/create/resources/js/service-create-dialog.js
CHANGED
@@ -38,6 +38,8 @@ jQuery(function ($) {
|
|
38 |
$serviceTitle.val('');
|
39 |
$serviceType.val('simple').trigger('change');
|
40 |
$modal.modal('hide');
|
|
|
|
|
41 |
} else {
|
42 |
booklyAlert({error: [response.data.message]});
|
43 |
}
|
38 |
$serviceTitle.val('');
|
39 |
$serviceType.val('simple').trigger('change');
|
40 |
$modal.modal('hide');
|
41 |
+
|
42 |
+
BooklyServiceOrderDialogL10n.services.push({id: response.data.id, title: response.data.title});
|
43 |
} else {
|
44 |
booklyAlert({error: [response.data.message]});
|
45 |
}
|
backend/components/dialogs/service/edit/resources/js/service-edit-dialog.js
CHANGED
@@ -254,12 +254,12 @@ jQuery(function ($) {
|
|
254 |
}
|
255 |
|
256 |
function submitServiceFrom($panel, update_staff) {
|
257 |
-
$
|
258 |
-
$
|
259 |
-
var ladda = rangeTools.ladda($
|
260 |
-
data = $
|
261 |
-
$(document.body).trigger(
|
262 |
-
$.post(ajaxurl, data,
|
263 |
if (response.success) {
|
264 |
booklyAlert(response.data.alert);
|
265 |
if (response.data.new_extras_list) {
|
254 |
}
|
255 |
|
256 |
function submitServiceFrom($panel, update_staff) {
|
257 |
+
$('input[name=update_staff]',$panel).val(update_staff ? 1 : 0);
|
258 |
+
$('input[name=package_service_changed]',$panel).val($panel.find('[name=package_service]').data('last_value') != $panel.find('[name=package_service]').val() ? 1 : 0);
|
259 |
+
var ladda = rangeTools.ladda($('#bookly-save',$panel).get(0)),
|
260 |
+
data = $('form', $panel).serializeArray();
|
261 |
+
$(document.body).trigger('service.submitForm', [$panel, data]);
|
262 |
+
$.post(ajaxurl, data, (response) => {
|
263 |
if (response.success) {
|
264 |
booklyAlert(response.data.alert);
|
265 |
if (response.data.new_extras_list) {
|
backend/components/dialogs/service/order/Ajax.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Service\Order;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Dialog
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Service\Order
|
9 |
+
*/
|
10 |
+
class Ajax extends Lib\Base\Ajax
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Update service positions
|
14 |
+
*/
|
15 |
+
public static function updateServicePositions()
|
16 |
+
{
|
17 |
+
foreach ( (array) self::parameter( 'services' ) as $position => $service_id ) {
|
18 |
+
Lib\Entities\Service::query( 's' )
|
19 |
+
->update()
|
20 |
+
->set( 'position', $position )
|
21 |
+
->where( 'id', $service_id )
|
22 |
+
->execute();
|
23 |
+
}
|
24 |
+
|
25 |
+
wp_send_json_success( Lib\Entities\Service::query()->sortBy( 'position' )->fetchArray() );
|
26 |
+
}
|
27 |
+
}
|
backend/components/dialogs/service/order/Dialog.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Service\Order;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Dialog
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Service\Order
|
9 |
+
*/
|
10 |
+
class Dialog extends Lib\Base\Component
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Render create service dialog.
|
14 |
+
*/
|
15 |
+
public static function render( array $services = array() )
|
16 |
+
{
|
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 |
+
'module' => array( 'js/service-order-dialog.js' => array( 'jquery', ) ),
|
28 |
+
) );
|
29 |
+
|
30 |
+
wp_localize_script( 'bookly-service-order-dialog.js', 'BooklyServiceOrderDialogL10n', array(
|
31 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
32 |
+
'services' => $services,
|
33 |
+
) );
|
34 |
+
|
35 |
+
self::renderTemplate( 'dialog' );
|
36 |
+
}
|
37 |
+
}
|
backend/components/dialogs/service/order/resources/js/service-order-dialog.js
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function ($) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
$(document.body)
|
5 |
+
.on('service.submitForm', {},
|
6 |
+
// Bind submit handler for service saving.
|
7 |
+
function (event, $panel, data) {
|
8 |
+
let id = data.find(value => value.name === 'id').value,
|
9 |
+
title = data.find(value => value.name === 'title').value;
|
10 |
+
|
11 |
+
BooklyServiceOrderDialogL10n.services
|
12 |
+
.find(service => service.id == id).title = title;
|
13 |
+
})
|
14 |
+
.on('service.deleted', {},
|
15 |
+
function (event, services) {
|
16 |
+
BooklyServiceOrderDialogL10n.services.forEach((service, index) => {
|
17 |
+
if (services.includes(String(service.id))) {
|
18 |
+
delete BooklyServiceOrderDialogL10n.services[index];
|
19 |
+
}
|
20 |
+
});
|
21 |
+
// Remove undefined values
|
22 |
+
BooklyServiceOrderDialogL10n.services.filter(function (el) {
|
23 |
+
return el != undefined;
|
24 |
+
})
|
25 |
+
});
|
26 |
+
|
27 |
+
var $dialog = $('#bookly-service-order-modal'),
|
28 |
+
$list = $('#bookly-list', $dialog),
|
29 |
+
$template = $('#bookly-service-template'),
|
30 |
+
$table = $('#services-list'),
|
31 |
+
$save = $('#bookly-save', $dialog)
|
32 |
+
;
|
33 |
+
|
34 |
+
// Save categories
|
35 |
+
$save.on('click', function (e) {
|
36 |
+
e.preventDefault();
|
37 |
+
var ladda = Ladda.create(this),
|
38 |
+
services = [];
|
39 |
+
ladda.start();
|
40 |
+
$list.find('li').each(function (position, category) {
|
41 |
+
services.push($(category).find('[name="id"]').val());
|
42 |
+
});
|
43 |
+
$.post(ajaxurl, {
|
44 |
+
action: 'bookly_update_service_positions',
|
45 |
+
services,
|
46 |
+
csrf_token: BooklyServiceOrderDialogL10n.csrfToken
|
47 |
+
},
|
48 |
+
function (response) {
|
49 |
+
if (response.success) {
|
50 |
+
BooklyServiceOrderDialogL10n.services = response.data;
|
51 |
+
$dialog.modal('hide');
|
52 |
+
}
|
53 |
+
ladda.stop();
|
54 |
+
});
|
55 |
+
});
|
56 |
+
|
57 |
+
$dialog.off().on('show.bs.modal', function () {
|
58 |
+
$list.html('');
|
59 |
+
BooklyServiceOrderDialogL10n.services.forEach(function (service) {
|
60 |
+
$list.append(
|
61 |
+
$template.clone().show().html()
|
62 |
+
.replace(/{{id}}/g, service.id)
|
63 |
+
.replace(/{{title}}/g, service.title)
|
64 |
+
);
|
65 |
+
});
|
66 |
+
});
|
67 |
+
|
68 |
+
$list.sortable({
|
69 |
+
axis : 'y',
|
70 |
+
handle: '.bookly-js-draghandle',
|
71 |
+
});
|
72 |
+
});
|
backend/components/dialogs/service/order/templates/dialog.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
?>
|
4 |
+
<form id="bookly-service-order-modal" class="modal fade" tabindex=-1 role="dialog">
|
5 |
+
<div class="modal-dialog">
|
6 |
+
<div class="modal-content">
|
7 |
+
<div class="modal-header">
|
8 |
+
<button type="button" class="close" data-dismiss="modal"><span>×</span></button>
|
9 |
+
<div class="modal-title h2"><?php esc_html_e( 'Services order', 'bookly' ) ?></div>
|
10 |
+
</div>
|
11 |
+
<div class="modal-body">
|
12 |
+
<ul id="bookly-list"></ul>
|
13 |
+
<p class="help-block bookly-js-without-icon"><?php esc_html_e( 'Adjust the order of services in your booking form', 'bookly' ) ?></p>
|
14 |
+
</div>
|
15 |
+
<div class="modal-footer">
|
16 |
+
<?php Buttons::renderSubmit() ?>
|
17 |
+
<?php Buttons::renderCustom( null, 'btn-lg btn-default', esc_html__( 'Close', 'bookly' ), array( 'data-dismiss' => 'modal' ) ) ?>
|
18 |
+
</div>
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
22 |
+
<div class="collapse" id="bookly-service-template">
|
23 |
+
<li class="form-group">
|
24 |
+
<div class="row"">
|
25 |
+
<input type="hidden" name="id" value="{{id}}"/>
|
26 |
+
<div class="col-xs-1"><i class="fa fa-fw fa-lg fa-bars text-muted bookly-cursor-move bookly-js-draghandle" title="<?php esc_attr_e( 'Reorder', 'bookly' ) ?>"></i></div>
|
27 |
+
<div class="col-xs-11">{{title}}</div>
|
28 |
+
</div>
|
29 |
+
</li>
|
30 |
+
</div>
|
backend/components/dialogs/sms/resources/js/notification-dialog.js
CHANGED
@@ -266,4 +266,17 @@ jQuery(function ($) {
|
|
266 |
|
267 |
$('.bookly-js-loading', $modalNotification).toggleClass('collapse');
|
268 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
269 |
});
|
266 |
|
267 |
$('.bookly-js-loading', $modalNotification).toggleClass('collapse');
|
268 |
}
|
269 |
+
|
270 |
+
$(document)
|
271 |
+
// Required because Bootstrap blocks all focusin calls from elements outside the dialog
|
272 |
+
.on('focusin', function (e) {
|
273 |
+
if ($(e.target).closest(".ui-autocomplete-input").length) {
|
274 |
+
e.stopImmediatePropagation();
|
275 |
+
}
|
276 |
+
if ($(e.target).closest("#link-selector").length) {
|
277 |
+
e.stopImmediatePropagation();
|
278 |
+
}
|
279 |
+
})
|
280 |
+
// Restore class 'modal-open' because wplink on closing remove this class
|
281 |
+
.on('wplink-close', () => $(document.body).addClass('modal-open'));
|
282 |
});
|
backend/components/dialogs/staff/edit/Ajax.php
CHANGED
@@ -108,7 +108,7 @@ class Ajax extends Lib\Base\Ajax
|
|
108 |
self::$staff->save();
|
109 |
StaffProxy\Shared::updateStaff( self::$staff, $params );
|
110 |
|
111 |
-
wp_send_json_success();
|
112 |
}
|
113 |
|
114 |
/**
|
108 |
self::$staff->save();
|
109 |
StaffProxy\Shared::updateStaff( self::$staff, $params );
|
110 |
|
111 |
+
wp_send_json_success( array( 'staff' => self::$staff->getFields() ) );
|
112 |
}
|
113 |
|
114 |
/**
|
backend/components/dialogs/staff/edit/Dialog.php
CHANGED
@@ -17,7 +17,7 @@ class Dialog extends Lib\Base\Component
|
|
17 |
public static function render()
|
18 |
{
|
19 |
/** @var \WP_Locale $wp_locale */
|
20 |
-
global $wp_locale;
|
21 |
|
22 |
wp_enqueue_media();
|
23 |
|
@@ -57,6 +57,14 @@ class Dialog extends Lib\Base\Component
|
|
57 |
),
|
58 |
) );
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
wp_localize_script( 'bookly-staff-edit-dialog.js', 'BooklyStaffEditDialogL10n', array(
|
61 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
62 |
'intlTelInput' => array(
|
@@ -69,20 +77,22 @@ class Dialog extends Lib\Base\Component
|
|
69 |
'firstDay' => (int) get_option( 'start_of_week' ),
|
70 |
'days' => array_values( $wp_locale->weekday_abbrev ),
|
71 |
'months' => array_values( $wp_locale->month ),
|
72 |
-
'close' =>
|
73 |
-
'repeat' =>
|
74 |
-
'we_are_not_working' =>
|
|
|
75 |
),
|
76 |
'services' => array(
|
77 |
-
'capacity_error' =>
|
78 |
),
|
79 |
-
'createStaff' =>
|
80 |
-
'editStaff' =>
|
81 |
-
'areYouSure' =>
|
82 |
-
'settingsSaved' =>
|
83 |
'proRequired' => (int) ! Lib\Config::proActive(),
|
84 |
'limitation' => Limitation::getHtml(),
|
85 |
-
'activeStaffId' => self::parameter( 'staff_id', 0 )
|
|
|
86 |
) );
|
87 |
|
88 |
self::renderTemplate( 'dialog' );
|
17 |
public static function render()
|
18 |
{
|
19 |
/** @var \WP_Locale $wp_locale */
|
20 |
+
global $wp_locale, $wpdb;
|
21 |
|
22 |
wp_enqueue_media();
|
23 |
|
57 |
),
|
58 |
) );
|
59 |
|
60 |
+
$query = Lib\Entities\Staff::query( 's' )
|
61 |
+
->select( 's.id, s.full_name' )
|
62 |
+
->tableJoin( $wpdb->users, 'wpu', 'wpu.ID = s.wp_user_id' );
|
63 |
+
|
64 |
+
if ( ! Lib\Utils\Common::isCurrentUserAdmin() ) {
|
65 |
+
$query->where( 's.wp_user_id', get_current_user_id() );
|
66 |
+
}
|
67 |
+
|
68 |
wp_localize_script( 'bookly-staff-edit-dialog.js', 'BooklyStaffEditDialogL10n', array(
|
69 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
70 |
'intlTelInput' => array(
|
77 |
'firstDay' => (int) get_option( 'start_of_week' ),
|
78 |
'days' => array_values( $wp_locale->weekday_abbrev ),
|
79 |
'months' => array_values( $wp_locale->month ),
|
80 |
+
'close' => esc_attr__( 'Close', 'bookly' ),
|
81 |
+
'repeat' => esc_attr__( 'Repeat every year', 'bookly' ),
|
82 |
+
'we_are_not_working' => esc_attr__( 'We are not working on this day', 'bookly' ),
|
83 |
+
'special_days_error' => esc_attr__( 'The date has already passed.', 'bookly' ),
|
84 |
),
|
85 |
'services' => array(
|
86 |
+
'capacity_error' => esc_attr__( 'Min capacity should not be greater than max capacity.', 'bookly' ),
|
87 |
),
|
88 |
+
'createStaff' => esc_attr__( 'Create staff', 'bookly' ),
|
89 |
+
'editStaff' => esc_attr__( 'Edit staff', 'bookly' ),
|
90 |
+
'areYouSure' => esc_attr__( 'Are you sure?', 'bookly' ),
|
91 |
+
'settingsSaved' => esc_attr__( 'Settings saved.', 'bookly' ),
|
92 |
'proRequired' => (int) ! Lib\Config::proActive(),
|
93 |
'limitation' => Limitation::getHtml(),
|
94 |
+
'activeStaffId' => self::parameter( 'staff_id', 0 ),
|
95 |
+
'staff' => $query->sortBy( 'position' )->fetchArray()
|
96 |
) );
|
97 |
|
98 |
self::renderTemplate( 'dialog' );
|
backend/components/dialogs/staff/edit/resources/js/staff-details.js
CHANGED
@@ -135,13 +135,14 @@ jQuery(function ($) {
|
|
135 |
|
136 |
save(function (response) {
|
137 |
if (response.success) {
|
138 |
-
obj.options.
|
|
|
139 |
$('[bookly-js-staff-name-' + obj.options.get_details.id + ']').text($('#bookly-full-name', $form).val());
|
140 |
if (typeof obj.options.renderWpUsers === 'function') {
|
141 |
obj.options.renderWpUsers(response.data.wp_users);
|
142 |
}
|
143 |
} else {
|
144 |
-
obj.options.
|
145 |
}
|
146 |
ladda.stop();
|
147 |
});
|
@@ -159,7 +160,7 @@ jQuery(function ($) {
|
|
159 |
if (response.success) {
|
160 |
window.location.href = $unsaved_changes.data('url');
|
161 |
} else {
|
162 |
-
obj.options.
|
163 |
}
|
164 |
ladda.stop();
|
165 |
});
|
@@ -188,7 +189,6 @@ jQuery(function ($) {
|
|
188 |
data.push({name: 'action', value: 'bookly_update_staff'});
|
189 |
data.push({name: 'phone', value: phone});
|
190 |
data.push({name: 'tab', value: phone});
|
191 |
-
|
192 |
$.ajax({
|
193 |
type : 'POST',
|
194 |
url : ajaxurl,
|
@@ -214,8 +214,11 @@ jQuery(function ($) {
|
|
214 |
csrf_token: ''
|
215 |
},
|
216 |
l10n : {},
|
217 |
-
|
218 |
-
$(document.body).trigger('
|
|
|
|
|
|
|
219 |
}
|
220 |
};
|
221 |
|
135 |
|
136 |
save(function (response) {
|
137 |
if (response.success) {
|
138 |
+
obj.options.saving({success: [obj.options.l10n.saved]}, response.data.staff);
|
139 |
+
|
140 |
$('[bookly-js-staff-name-' + obj.options.get_details.id + ']').text($('#bookly-full-name', $form).val());
|
141 |
if (typeof obj.options.renderWpUsers === 'function') {
|
142 |
obj.options.renderWpUsers(response.data.wp_users);
|
143 |
}
|
144 |
} else {
|
145 |
+
obj.options.saving({error: [response.data.error]});
|
146 |
}
|
147 |
ladda.stop();
|
148 |
});
|
160 |
if (response.success) {
|
161 |
window.location.href = $unsaved_changes.data('url');
|
162 |
} else {
|
163 |
+
obj.options.saving({error: [response.data.error]});
|
164 |
}
|
165 |
ladda.stop();
|
166 |
});
|
189 |
data.push({name: 'action', value: 'bookly_update_staff'});
|
190 |
data.push({name: 'phone', value: phone});
|
191 |
data.push({name: 'tab', value: phone});
|
|
|
192 |
$.ajax({
|
193 |
type : 'POST',
|
194 |
url : ajaxurl,
|
214 |
csrf_token: ''
|
215 |
},
|
216 |
l10n : {},
|
217 |
+
saving: function (alerts, data) {
|
218 |
+
$(document.body).trigger('staff.saving', [alerts]);
|
219 |
+
if (alerts.hasOwnProperty('success')) {
|
220 |
+
$(document.body).trigger('staff.saved', ['staff-details', data]);
|
221 |
+
}
|
222 |
}
|
223 |
};
|
224 |
|
backend/components/dialogs/staff/edit/resources/js/staff-edit-dialog.js
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
jQuery(function ($) {
|
2 |
'use strict';
|
3 |
|
4 |
-
let $staffList
|
5 |
-
$modal
|
6 |
-
$modalBody
|
7 |
-
$modalTitle
|
8 |
-
$modalFooter
|
9 |
-
$saveBtn
|
10 |
-
$archiveBtn
|
11 |
-
$validateErrors
|
12 |
$deleteCascadeModal = $('.bookly-js-delete-cascade-confirm'),
|
13 |
-
$staffCount
|
14 |
currentTab,
|
15 |
staff_id,
|
16 |
holidays
|
@@ -23,7 +23,7 @@ jQuery(function ($) {
|
|
23 |
editStaff(staff_id);
|
24 |
});
|
25 |
|
26 |
-
$('#bookly-
|
27 |
.on('click', function () {
|
28 |
if (BooklyStaffEditDialogL10n.proRequired == '1' && $staffCount.html() > 0) {
|
29 |
booklyAlert({error: [BooklyStaffEditDialogL10n.limitation]});
|
@@ -147,7 +147,7 @@ jQuery(function ($) {
|
|
147 |
onLoad: function () {
|
148 |
$('.panel-footer', $container).hide();
|
149 |
$('#bookly-services-save', $container).addClass('bookly-js-save');
|
150 |
-
$(document.body).trigger('
|
151 |
},
|
152 |
l10n: BooklyStaffEditDialogL10n.services,
|
153 |
});
|
@@ -249,7 +249,7 @@ jQuery(function ($) {
|
|
249 |
});
|
250 |
|
251 |
$(document.body)
|
252 |
-
.on('
|
253 |
function (event, result) {
|
254 |
if (waitResposes > 0) {
|
255 |
if (result.hasOwnProperty('error')){
|
@@ -264,7 +264,7 @@ jQuery(function ($) {
|
|
264 |
booklyAlert({success: [BooklyStaffEditDialogL10n.settingsSaved]})
|
265 |
}
|
266 |
})
|
267 |
-
.on('
|
268 |
function (event, tab, has_error, info) {
|
269 |
let id = 'tab-' + tab + '-validation',
|
270 |
$container = $validateErrors.find('#' + id);
|
1 |
jQuery(function ($) {
|
2 |
'use strict';
|
3 |
|
4 |
+
let $staffList = $('#bookly-staff-list'),
|
5 |
+
$modal = $('#bookly-staff-edit-modal'),
|
6 |
+
$modalBody = $('.modal-body', $modal),
|
7 |
+
$modalTitle = $('.modal-title', $modal),
|
8 |
+
$modalFooter = $('.modal-footer ', $modal),
|
9 |
+
$saveBtn = $('.bookly-js-save', $modalFooter),
|
10 |
+
$archiveBtn = $('.bookly-js-staff-archive', $modalFooter),
|
11 |
+
$validateErrors = $('.bookly-js-errors', $modalFooter),
|
12 |
$deleteCascadeModal = $('.bookly-js-delete-cascade-confirm'),
|
13 |
+
$staffCount = $('.bookly-js-staff-count'),
|
14 |
currentTab,
|
15 |
staff_id,
|
16 |
holidays
|
23 |
editStaff(staff_id);
|
24 |
});
|
25 |
|
26 |
+
$('#bookly-create-staff-modal-activator')
|
27 |
.on('click', function () {
|
28 |
if (BooklyStaffEditDialogL10n.proRequired == '1' && $staffCount.html() > 0) {
|
29 |
booklyAlert({error: [BooklyStaffEditDialogL10n.limitation]});
|
147 |
onLoad: function () {
|
148 |
$('.panel-footer', $container).hide();
|
149 |
$('#bookly-services-save', $container).addClass('bookly-js-save');
|
150 |
+
$(document.body).trigger('staff.validation', ['staff-services', false, '']);
|
151 |
},
|
152 |
l10n: BooklyStaffEditDialogL10n.services,
|
153 |
});
|
249 |
});
|
250 |
|
251 |
$(document.body)
|
252 |
+
.on('staff.saving', {},
|
253 |
function (event, result) {
|
254 |
if (waitResposes > 0) {
|
255 |
if (result.hasOwnProperty('error')){
|
264 |
booklyAlert({success: [BooklyStaffEditDialogL10n.settingsSaved]})
|
265 |
}
|
266 |
})
|
267 |
+
.on('staff.validation', {},
|
268 |
function (event, tab, has_error, info) {
|
269 |
let id = 'tab-' + tab + '-validation',
|
270 |
$container = $validateErrors.find('#' + id);
|
backend/components/dialogs/staff/edit/resources/js/staff-schedule.js
CHANGED
@@ -84,7 +84,7 @@ jQuery(function ($) {
|
|
84 |
data['staff_id'] = options.get_staff_schedule.staff_id;
|
85 |
$.post(ajaxurl, $.param(data), function () {
|
86 |
ladda.stop();
|
87 |
-
obj.options.
|
88 |
});
|
89 |
})
|
90 |
// Resets initial schedule values
|
@@ -356,11 +356,11 @@ jQuery(function ($) {
|
|
356 |
staff_id: -1,
|
357 |
csrf_token: ''
|
358 |
},
|
359 |
-
|
360 |
-
$(document.body).trigger('
|
361 |
},
|
362 |
-
booklyAlert: function (
|
363 |
-
booklyAlert(
|
364 |
},
|
365 |
onLoad: function () {},
|
366 |
l10n: {}
|
84 |
data['staff_id'] = options.get_staff_schedule.staff_id;
|
85 |
$.post(ajaxurl, $.param(data), function () {
|
86 |
ladda.stop();
|
87 |
+
obj.options.saving({success: [obj.options.l10n.saved]});
|
88 |
});
|
89 |
})
|
90 |
// Resets initial schedule values
|
356 |
staff_id: -1,
|
357 |
csrf_token: ''
|
358 |
},
|
359 |
+
saving: function (alerts) {
|
360 |
+
$(document.body).trigger('staff.saving', [alerts]);
|
361 |
},
|
362 |
+
booklyAlert: function (alerts) {
|
363 |
+
booklyAlert(alerts);
|
364 |
},
|
365 |
onLoad: function () {},
|
366 |
l10n: {}
|
backend/components/dialogs/staff/edit/resources/js/staff-services.js
CHANGED
@@ -94,7 +94,7 @@ jQuery(function ($) {
|
|
94 |
success : function (response) {
|
95 |
ladda.stop();
|
96 |
if (response.success) {
|
97 |
-
obj.options.
|
98 |
}
|
99 |
}
|
100 |
});
|
@@ -176,11 +176,11 @@ jQuery(function ($) {
|
|
176 |
csrf_token: ''
|
177 |
},
|
178 |
booklyAlert: window.booklyAlert,
|
179 |
-
|
180 |
-
$(document.body).trigger('
|
181 |
},
|
182 |
validation: function (has_error, info) {
|
183 |
-
$(document.body).trigger('
|
184 |
},
|
185 |
onLoad: function () {},
|
186 |
l10n: {}
|
94 |
success : function (response) {
|
95 |
ladda.stop();
|
96 |
if (response.success) {
|
97 |
+
obj.options.saving({success: [obj.options.l10n.saved]});
|
98 |
}
|
99 |
}
|
100 |
});
|
176 |
csrf_token: ''
|
177 |
},
|
178 |
booklyAlert: window.booklyAlert,
|
179 |
+
saving: function (alerts) {
|
180 |
+
$(document.body).trigger('staff.saving', [alerts]);
|
181 |
},
|
182 |
validation: function (has_error, info) {
|
183 |
+
$(document.body).trigger('staff.validation', ['staff-services', has_error, info]);
|
184 |
},
|
185 |
onLoad: function () {},
|
186 |
l10n: {}
|
backend/components/dialogs/staff/edit/templates/dialog.php
CHANGED
@@ -19,7 +19,7 @@ use Bookly\Lib\Utils\Common;
|
|
19 |
<?php if ( Common::isCurrentUserAdmin() ) : ?>
|
20 |
<?php Buttons::renderDelete( 'bookly-staff-delete', 'btn-lg pull-left bookly-js-hide-on-loading' ) ?>
|
21 |
<?php if ( Config::proActive() ) : ?>
|
22 |
-
<?php Buttons::renderCustom( null, 'btn-lg btn-danger ladda-button bookly-js-staff-archive pull-left bookly-js-hide-on-loading', esc_html__( 'Archive', 'bookly' ), array(), '<i class="fa fa-archive"></i> {caption}' ) ?>
|
23 |
<?php endif ?>
|
24 |
<?php endif ?>
|
25 |
<span class="bookly-js-errors text-danger" style="max-width: 353px;display: inline-grid;"></span>
|
19 |
<?php if ( Common::isCurrentUserAdmin() ) : ?>
|
20 |
<?php Buttons::renderDelete( 'bookly-staff-delete', 'btn-lg pull-left bookly-js-hide-on-loading' ) ?>
|
21 |
<?php if ( Config::proActive() ) : ?>
|
22 |
+
<?php Buttons::renderCustom( null, 'btn-lg btn-danger ladda-button bookly-js-staff-archive pull-left bookly-js-hide-on-loading', esc_html__( 'Archive', 'bookly' ) . '...', array(), '<i class="fa fa-archive"></i> {caption}' ) ?>
|
23 |
<?php endif ?>
|
24 |
<?php endif ?>
|
25 |
<span class="bookly-js-errors text-danger" style="max-width: 353px;display: inline-grid;"></span>
|
backend/components/dialogs/staff/order/Ajax.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Staff\Order;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Ajax
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Staff\Order
|
9 |
+
*/
|
10 |
+
class Ajax extends Lib\Base\Ajax
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Update staff positions
|
14 |
+
*/
|
15 |
+
public static function updateStaffPositions()
|
16 |
+
{
|
17 |
+
foreach ( (array) self::parameter( 'staff' ) as $position => $staff_id ) {
|
18 |
+
Lib\Entities\Staff::query( 's' )
|
19 |
+
->update()
|
20 |
+
->set( 'position', $position )
|
21 |
+
->where( 'id', $staff_id )
|
22 |
+
->execute();
|
23 |
+
}
|
24 |
+
|
25 |
+
wp_send_json_success();
|
26 |
+
}
|
27 |
+
}
|
backend/components/dialogs/staff/order/Dialog.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\Staff\Order;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Dialog
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\Staff\Order
|
9 |
+
*/
|
10 |
+
class Dialog extends Lib\Base\Component
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Render create service dialog.
|
14 |
+
*/
|
15 |
+
public static function render()
|
16 |
+
{
|
17 |
+
global $wpdb;
|
18 |
+
|
19 |
+
self::enqueueStyles( array(
|
20 |
+
'frontend' => array( 'css/ladda.min.css', ),
|
21 |
+
'backend' => array( 'css/fontawesome-all.min.css', 'css/select2.min.css' ),
|
22 |
+
) );
|
23 |
+
|
24 |
+
self::enqueueScripts( array(
|
25 |
+
'frontend' => array(
|
26 |
+
'js/spin.min.js' => array( 'jquery', ),
|
27 |
+
'js/ladda.min.js' => array( 'jquery', ),
|
28 |
+
),
|
29 |
+
'module' => array( 'js/staff-order-dialog.js' => array( 'jquery', ) ),
|
30 |
+
) );
|
31 |
+
|
32 |
+
$query = Lib\Entities\Staff::query( 's' )
|
33 |
+
->select( 's.id, s.full_name' )
|
34 |
+
->tableJoin( $wpdb->users, 'wpu', 'wpu.ID = s.wp_user_id' );
|
35 |
+
|
36 |
+
if ( ! Lib\Utils\Common::isCurrentUserAdmin() ) {
|
37 |
+
$query->where( 's.wp_user_id', get_current_user_id() );
|
38 |
+
}
|
39 |
+
|
40 |
+
wp_localize_script( 'bookly-staff-order-dialog.js', 'BooklyStaffOrderDialogL10n', array(
|
41 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
42 |
+
'staff' => $query->sortBy( 'position' )->fetchArray()
|
43 |
+
) );
|
44 |
+
|
45 |
+
self::renderTemplate( 'dialog' );
|
46 |
+
}
|
47 |
+
}
|
backend/components/dialogs/staff/order/resources/js/staff-order-dialog.js
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function ($) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
$(document.body)
|
5 |
+
.on('staff.saved', {},
|
6 |
+
function (event, tab, staffData) {
|
7 |
+
if (tab == 'staff-details') {
|
8 |
+
let staff = BooklyStaffOrderDialogL10n.staff
|
9 |
+
.find(s => s.id == staffData.id);
|
10 |
+
|
11 |
+
if (staff === undefined) {
|
12 |
+
BooklyStaffOrderDialogL10n.staff.push({id: staffData.id, full_name: staffData.full_name})
|
13 |
+
} else {
|
14 |
+
staff.full_name = staffData.full_name;
|
15 |
+
}
|
16 |
+
}
|
17 |
+
})
|
18 |
+
.on('staff.deleted', {},
|
19 |
+
function (event, staff) {
|
20 |
+
BooklyStaffOrderDialogL10n.staff.forEach((s, index) => {
|
21 |
+
if (staff.includes(String(s.id))) {
|
22 |
+
delete BooklyStaffOrderDialogL10n.staff[index];
|
23 |
+
}
|
24 |
+
});
|
25 |
+
// Remove undefined values
|
26 |
+
BooklyStaffOrderDialogL10n.staff.filter(function (el) {
|
27 |
+
return el != undefined;
|
28 |
+
});
|
29 |
+
});
|
30 |
+
|
31 |
+
var $dialog = $('#bookly-staff-order-modal'),
|
32 |
+
$list = $('#bookly-list', $dialog),
|
33 |
+
$template = $('#bookly-staff-template'),
|
34 |
+
$table = $('#services-list'),
|
35 |
+
$save = $('#bookly-save', $dialog)
|
36 |
+
;
|
37 |
+
|
38 |
+
// Save categories
|
39 |
+
$save.on('click', function (e) {
|
40 |
+
e.preventDefault();
|
41 |
+
let ladda = Ladda.create(this),
|
42 |
+
staff = [],
|
43 |
+
list = [];
|
44 |
+
ladda.start();
|
45 |
+
$('li', $list).each((index, elem) => {
|
46 |
+
let id = $('[name="id"]', $(elem)).val();
|
47 |
+
staff.push(id);
|
48 |
+
list.push({id, full_name: $('.bookly-js-full_name', $(elem)).html()});
|
49 |
+
});
|
50 |
+
|
51 |
+
$.post(ajaxurl, {
|
52 |
+
action: 'bookly_update_staff_positions',
|
53 |
+
staff,
|
54 |
+
csrf_token: BooklyStaffOrderDialogL10n.csrfToken
|
55 |
+
},
|
56 |
+
function (response) {
|
57 |
+
if (response.success) {
|
58 |
+
$dialog.modal('hide');
|
59 |
+
BooklyStaffOrderDialogL10n.staff = list;
|
60 |
+
}
|
61 |
+
ladda.stop();
|
62 |
+
});
|
63 |
+
});
|
64 |
+
|
65 |
+
$dialog.off().on('show.bs.modal', function () {
|
66 |
+
$list.html('');
|
67 |
+
BooklyStaffOrderDialogL10n.staff.forEach(function (staff) {
|
68 |
+
$list.append(
|
69 |
+
$template.clone().show().html()
|
70 |
+
.replace(/{{id}}/g, staff.id)
|
71 |
+
.replace(/{{full_name}}/g, staff.full_name)
|
72 |
+
);
|
73 |
+
});
|
74 |
+
});
|
75 |
+
|
76 |
+
$list.sortable({
|
77 |
+
axis : 'y',
|
78 |
+
handle: '.bookly-js-draghandle',
|
79 |
+
});
|
80 |
+
});
|
backend/components/dialogs/staff/order/templates/dialog.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
?>
|
4 |
+
<form id="bookly-staff-order-modal" class="modal fade" tabindex=-1 role="dialog">
|
5 |
+
<div class="modal-dialog">
|
6 |
+
<div class="modal-content">
|
7 |
+
<div class="modal-header">
|
8 |
+
<button type="button" class="close" data-dismiss="modal"><span>×</span></button>
|
9 |
+
<div class="modal-title h2"><?php esc_html_e( 'Staff members order', 'bookly' ) ?></div>
|
10 |
+
</div>
|
11 |
+
<div class="modal-body">
|
12 |
+
<ul id="bookly-list"></ul>
|
13 |
+
<p class="help-block bookly-js-without-icon"><?php esc_html_e( 'Adjust the order of staff members in your booking form', 'bookly' ) ?></p>
|
14 |
+
</div>
|
15 |
+
<div class="modal-footer">
|
16 |
+
<?php Buttons::renderSubmit() ?>
|
17 |
+
<?php Buttons::renderCustom( null, 'btn-lg btn-default', esc_html__( 'Close', 'bookly' ), array( 'data-dismiss' => 'modal' ) ) ?>
|
18 |
+
</div>
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
</form>
|
22 |
+
<div class="collapse" id="bookly-staff-template">
|
23 |
+
<li class="form-group">
|
24 |
+
<div class="row"">
|
25 |
+
<input type="hidden" name="id" value="{{id}}"/>
|
26 |
+
<div class="col-xs-1"><i class="fa fa-fw fa-lg fa-bars text-muted bookly-cursor-move bookly-js-draghandle" title="<?php esc_attr_e( 'Reorder', 'bookly' ) ?>"></i></div>
|
27 |
+
<div class="col-xs-11 bookly-js-full_name">{{full_name}}</div>
|
28 |
+
</div>
|
29 |
+
</li>
|
30 |
+
</div>
|
backend/components/dialogs/table_settings/Ajax.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\TableSettings;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Ajax
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\TableSettings
|
9 |
+
*/
|
10 |
+
class Ajax extends Lib\Base\Ajax
|
11 |
+
{
|
12 |
+
/** @var array */
|
13 |
+
protected static $tables = array(
|
14 |
+
'appointments',
|
15 |
+
'coupons',
|
16 |
+
'custom_statuses',
|
17 |
+
'customer_groups',
|
18 |
+
'customers',
|
19 |
+
'email_notifications',
|
20 |
+
'locations',
|
21 |
+
'packages',
|
22 |
+
'payments',
|
23 |
+
'services',
|
24 |
+
'staff_members',
|
25 |
+
'taxes',
|
26 |
+
'sms_details',
|
27 |
+
'sms_notifications',
|
28 |
+
'sms_prices',
|
29 |
+
'sms_purchases',
|
30 |
+
'sms_sender',
|
31 |
+
);
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @inheritdoc
|
35 |
+
*/
|
36 |
+
protected static function permissions()
|
37 |
+
{
|
38 |
+
return array( '_default' => 'user' );
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Update table settings.
|
43 |
+
*/
|
44 |
+
public static function updateTableSettings()
|
45 |
+
{
|
46 |
+
$table = self::parameter( 'table' );
|
47 |
+
|
48 |
+
$meta = get_user_meta( get_current_user_id(), 'bookly_' . $table . '_table_settings', true ) ?: array();
|
49 |
+
if ( in_array( $table, self::$tables ) ) {
|
50 |
+
$meta['columns'] = self::parameter( 'columns', array() );
|
51 |
+
array_walk( $meta['columns'], function ( &$show ) { $show = (bool) $show; } );
|
52 |
+
update_user_meta( get_current_user_id(), 'bookly_' . $table . '_table_settings', $meta );
|
53 |
+
}
|
54 |
+
|
55 |
+
wp_send_json_success();
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Update table sorting.
|
60 |
+
*/
|
61 |
+
public static function updateTableOrder()
|
62 |
+
{
|
63 |
+
$table = self::parameter( 'table' );
|
64 |
+
|
65 |
+
$meta = get_user_meta( get_current_user_id(), 'bookly_' . $table . '_table_settings', true ) ?: array();
|
66 |
+
if ( in_array( $table, self::$tables ) ) {
|
67 |
+
$meta['order'] = self::parameter( 'order', array() );
|
68 |
+
update_user_meta( get_current_user_id(), 'bookly_' . $table . '_table_settings', $meta );
|
69 |
+
}
|
70 |
+
|
71 |
+
wp_send_json_success();
|
72 |
+
}
|
73 |
+
}
|
backend/components/dialogs/table_settings/Dialog.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Components\Dialogs\TableSettings;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Dialog
|
8 |
+
* @package Bookly\Backend\Components\Dialogs\TableSettings
|
9 |
+
*/
|
10 |
+
class Dialog extends Lib\Base\Component
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Render notifications queue dialog.
|
14 |
+
*/
|
15 |
+
public static function render()
|
16 |
+
{
|
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 |
+
'module' => array( 'js/table-settings-dialog.js' => array( 'jquery-ui-sortable' ), ),
|
28 |
+
) );
|
29 |
+
|
30 |
+
wp_localize_script( 'bookly-table-settings-dialog.js', 'BooklyTableSettingsDialogL10n', array(
|
31 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
32 |
+
) );
|
33 |
+
|
34 |
+
self::renderTemplate( 'dialog' );
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Render 'settings' button
|
39 |
+
*
|
40 |
+
* @param string $table_name
|
41 |
+
* @param string $setting_name
|
42 |
+
*/
|
43 |
+
public static function renderButton( $table_name, $setting_name = 'BooklyL10n' )
|
44 |
+
{
|
45 |
+
self::renderTemplate( 'button', compact( 'table_name', 'setting_name' ) );
|
46 |
+
}
|
47 |
+
}
|
backend/components/dialogs/table_settings/resources/js/table-settings-dialog.js
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function ($) {
|
2 |
+
'use strict';
|
3 |
+
var $modal = $('#bookly-table-settings-modal'),
|
4 |
+
$save_button = $('.bookly-js-table-settings-save', $modal),
|
5 |
+
$columns = $modal.find('.bookly-js-table-columns'),
|
6 |
+
$template = $('#bookly-table-settings-template');
|
7 |
+
|
8 |
+
// Save settings.
|
9 |
+
$save_button.on('click', function (e) {
|
10 |
+
e.preventDefault();
|
11 |
+
let ladda = Ladda.create(this),
|
12 |
+
columns = {};
|
13 |
+
ladda.start();
|
14 |
+
$modal.find('input[type=checkbox]').each(function () {
|
15 |
+
columns[this.name] = this.checked ? 1 : 0;
|
16 |
+
});
|
17 |
+
$.post(
|
18 |
+
ajaxurl,
|
19 |
+
{
|
20 |
+
action : 'bookly_update_table_settings',
|
21 |
+
table : $modal.find('[name="bookly-table-name"]').val(),
|
22 |
+
columns : columns,
|
23 |
+
csrf_token: BooklyTableSettingsDialogL10n.csrfToken
|
24 |
+
},
|
25 |
+
function (response) {
|
26 |
+
location.reload();
|
27 |
+
});
|
28 |
+
});
|
29 |
+
|
30 |
+
$columns.sortable({
|
31 |
+
axis : 'y',
|
32 |
+
handle: '.bookly-js-draghandle',
|
33 |
+
});
|
34 |
+
|
35 |
+
// Open table settings modal.
|
36 |
+
$('.bookly-js-table-settings').off().on('click', function () {
|
37 |
+
var table_settings = window[$(this).data('setting-name')].datatables[$(this).data('table-name')].settings,
|
38 |
+
table_titles = window[$(this).data('setting-name')].datatables[$(this).data('table-name')].titles;
|
39 |
+
|
40 |
+
$modal.find('[name="bookly-table-name"]').val($(this).data('table-name'));
|
41 |
+
|
42 |
+
// Generate columns.
|
43 |
+
$columns.html('');
|
44 |
+
$.each(table_settings.columns, function (name, show) {
|
45 |
+
$columns.append(
|
46 |
+
$template.clone().show().html()
|
47 |
+
.replace(/{{name}}/g, name)
|
48 |
+
.replace(/{{title}}/g, table_titles[name])
|
49 |
+
.replace(/{{checked}}/g, show ? 'checked' : '')
|
50 |
+
);
|
51 |
+
});
|
52 |
+
|
53 |
+
$('#bookly-table-settings-modal').modal('show');
|
54 |
+
});
|
55 |
+
});
|
backend/components/dialogs/table_settings/templates/button.php
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
|
2 |
+
<div class="form-group text-right">
|
3 |
+
<button type="button" class="btn btn-default bookly-btn-block-xs bookly-js-table-settings" data-table-name="<?php echo $table_name ?>" data-setting-name="<?php echo $setting_name ?>"><i class="fa fa-fw fa-cog"></i></button>
|
4 |
+
</div>
|
backend/components/dialogs/table_settings/templates/dialog.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
+
/** @var string $table */
|
4 |
+
?>
|
5 |
+
<form id="bookly-table-settings-modal" class="bookly-js-table-settings-modal modal fade" tabindex=-1 role="dialog">
|
6 |
+
<div class="modal-dialog">
|
7 |
+
<div class="modal-content">
|
8 |
+
<div class="modal-header">
|
9 |
+
<button type="button" class="close" data-dismiss="modal"><span>×</span></button>
|
10 |
+
<div class="modal-title h2"><?php esc_html_e( 'Table settings', 'bookly' ) ?></div>
|
11 |
+
</div>
|
12 |
+
<div class="modal-body">
|
13 |
+
<div class="panel panel-default bookly-panel-unborder">
|
14 |
+
<div class="panel-heading bookly-padding-horizontal-remove">
|
15 |
+
<div class="row">
|
16 |
+
<div class="col-xs-1"></div>
|
17 |
+
<div class="col-xs-9">
|
18 |
+
<div class="bookly-font-smaller bookly-color-gray"><?php esc_html_e( 'Column', 'bookly' ) ?></div>
|
19 |
+
</div>
|
20 |
+
<div class="col-xs-2">
|
21 |
+
<div class="bookly-font-smaller bookly-color-gray"><?php esc_html_e( 'Show', 'bookly' ) ?></div>
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
<ul class="bookly-margin-top-md bookly-js-table-columns"></ul>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
<div class="modal-footer">
|
29 |
+
<input type="hidden" name="bookly-table-name" value="">
|
30 |
+
<?php Buttons::renderCustom( null, 'bookly-js-table-settings-save btn-lg btn-success', esc_html__( 'Save', 'bookly' ) ) ?>
|
31 |
+
<?php Buttons::renderCustom( null, 'bookly-js-cancel btn-lg btn-default', esc_html__( 'Close', 'bookly' ), array( 'data-dismiss' => 'modal' ) ) ?>
|
32 |
+
</div>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
</form>
|
36 |
+
<div id="bookly-table-settings-template" class="hidden">
|
37 |
+
<li class="bookly-margin-bottom-md">
|
38 |
+
<div class="row">
|
39 |
+
<div class="col-xs-1"><i class="fa fa-fw fa-lg fa-bars text-muted bookly-cursor-move bookly-js-draghandle" title="<?php esc_attr_e( 'Reorder', 'bookly' ) ?>"></i></div>
|
40 |
+
<div class="col-xs-9">{{title}}</div>
|
41 |
+
<div class="col-xs-2"><input name="{{name}}" type="checkbox" {{checked}}/></div>
|
42 |
+
</div>
|
43 |
+
</li>
|
44 |
+
</div>
|
backend/components/notices/PoweredBy.php
CHANGED
@@ -16,7 +16,7 @@ class PoweredBy extends Lib\Base\Component
|
|
16 |
{
|
17 |
if ( Lib\Utils\Common::isCurrentUserAdmin()
|
18 |
&& ! get_option( 'bookly_app_show_powered_by' )
|
19 |
-
&& ! get_user_meta( get_current_user_id(), 'bookly_dismiss_powered_by_notice' )
|
20 |
) {
|
21 |
self::enqueueStyles( array(
|
22 |
'frontend' => array( 'css/ladda.min.css', ),
|
16 |
{
|
17 |
if ( Lib\Utils\Common::isCurrentUserAdmin()
|
18 |
&& ! get_option( 'bookly_app_show_powered_by' )
|
19 |
+
&& ! get_user_meta( get_current_user_id(), 'bookly_dismiss_powered_by_notice', true )
|
20 |
) {
|
21 |
self::enqueueStyles( array(
|
22 |
'frontend' => array( 'css/ladda.min.css', ),
|
backend/components/support/resources/js/support.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
jQuery(function ($) {
|
2 |
-
|
3 |
-
$btnContactUs = $('#bookly-contact-us-
|
4 |
$btnFeedback = $('#bookly-feedback-btn')
|
5 |
;
|
6 |
|
1 |
jQuery(function ($) {
|
2 |
+
let $modal = $('#bookly-contact-us-modal'),
|
3 |
+
$btnContactUs = $('#bookly-contact-us-modal-activator'),
|
4 |
$btnFeedback = $('#bookly-feedback-btn')
|
5 |
;
|
6 |
|
backend/components/support/templates/buttons.php
CHANGED
@@ -94,7 +94,7 @@ use Bookly\Lib\Utils;
|
|
94 |
* Contact us
|
95 |
*/
|
96 |
?>
|
97 |
-
<a href="#bookly-
|
98 |
<?php if ( $show_contact_us_notice ) : ?>
|
99 |
data-processed="false"
|
100 |
data-trigger="manual" data-placement="bottom" data-html="1"
|
@@ -103,7 +103,6 @@ use Bookly\Lib\Utils;
|
|
103 |
>
|
104 |
<i class="fas fa-envelope"></i> <span class="visible-lg-inline"><?php esc_html_e( 'Contact us', 'bookly' ) ?></span>
|
105 |
</a>
|
106 |
-
|
107 |
<?php
|
108 |
/**
|
109 |
* Feature requests
|
@@ -163,7 +162,7 @@ use Bookly\Lib\Utils;
|
|
163 |
>
|
164 |
<i class="fas fa-comment-dots"></i> <span class="visible-lg-inline"><?php esc_html_e( 'Feedback', 'bookly' ) ?></span>
|
165 |
</a>
|
166 |
-
<div id="bookly-
|
167 |
<div class="modal-dialog">
|
168 |
<div class="modal-content">
|
169 |
<div class="modal-header">
|
94 |
* Contact us
|
95 |
*/
|
96 |
?>
|
97 |
+
<a href="#bookly-contact-us-modal" id="bookly-contact-us-modal-activator" class="btn btn-default-outline" title="<?php esc_attr_e( 'Contact us', 'bookly' ) ?>" data-toggle="modal"
|
98 |
<?php if ( $show_contact_us_notice ) : ?>
|
99 |
data-processed="false"
|
100 |
data-trigger="manual" data-placement="bottom" data-html="1"
|
103 |
>
|
104 |
<i class="fas fa-envelope"></i> <span class="visible-lg-inline"><?php esc_html_e( 'Contact us', 'bookly' ) ?></span>
|
105 |
</a>
|
|
|
106 |
<?php
|
107 |
/**
|
108 |
* Feature requests
|
162 |
>
|
163 |
<i class="fas fa-comment-dots"></i> <span class="visible-lg-inline"><?php esc_html_e( 'Feedback', 'bookly' ) ?></span>
|
164 |
</a>
|
165 |
+
<div id="bookly-contact-us-modal" class="modal fade text-left" tabindex=-1>
|
166 |
<div class="modal-dialog">
|
167 |
<div class="modal-content">
|
168 |
<div class="modal-header">
|
backend/components/tiny_mce/Tools.php
CHANGED
@@ -18,6 +18,7 @@ class Tools extends Lib\Base\Component
|
|
18 |
) {
|
19 |
add_action( 'admin_footer', array( '\Bookly\Backend\Components\TinyMce\Tools', 'renderPopup' ), 10, 0 );
|
20 |
add_filter( 'media_buttons', array( '\Bookly\Backend\Components\TinyMce\Tools', 'addButton' ), 50, 1 );
|
|
|
21 |
}
|
22 |
}
|
23 |
|
18 |
) {
|
19 |
add_action( 'admin_footer', array( '\Bookly\Backend\Components\TinyMce\Tools', 'renderPopup' ), 10, 0 );
|
20 |
add_filter( 'media_buttons', array( '\Bookly\Backend\Components\TinyMce\Tools', 'addButton' ), 50, 1 );
|
21 |
+
add_action( 'elementor/editor/footer', array( '\Bookly\Backend\Components\TinyMce\Tools', 'renderPopup' ), 10, 0 );
|
22 |
}
|
23 |
}
|
24 |
|
backend/modules/appearance/templates/_custom_css.php
CHANGED
@@ -4,9 +4,7 @@ use Bookly\Backend\Components\Controls\Buttons;
|
|
4 |
?>
|
5 |
|
6 |
<div class="form-group">
|
7 |
-
|
8 |
-
<?php _e( 'Edit custom CSS', 'bookly' ); ?>
|
9 |
-
</button>
|
10 |
</div>
|
11 |
|
12 |
<div id="bookly-custom-css-dialog" class="modal fade" tabindex=-1 role="dialog">
|
4 |
?>
|
5 |
|
6 |
<div class="form-group">
|
7 |
+
<?php Buttons::renderModalActivator( 'bookly-custom-css-dialog', null, esc_html__( 'Edit custom CSS', 'bookly' ) ) ?>
|
|
|
|
|
8 |
</div>
|
9 |
|
10 |
<div id="bookly-custom-css-dialog" class="modal fade" tabindex=-1 role="dialog">
|
backend/modules/appointments/Ajax.php
CHANGED
@@ -23,7 +23,7 @@ class Ajax extends Lib\Base\Ajax
|
|
23 |
public static function getAppointments()
|
24 |
{
|
25 |
$columns = self::parameter( 'columns' );
|
26 |
-
$order = self::parameter( 'order' );
|
27 |
$filter = self::parameter( 'filter' );
|
28 |
$limits = array(
|
29 |
'length' => self::parameter( 'length' ),
|
@@ -34,7 +34,7 @@ class Ajax extends Lib\Base\Ajax
|
|
34 |
|
35 |
unset( $filter['date'] );
|
36 |
|
37 |
-
|
38 |
|
39 |
wp_send_json( array(
|
40 |
'draw' => ( int ) self::parameter( 'draw' ),
|
23 |
public static function getAppointments()
|
24 |
{
|
25 |
$columns = self::parameter( 'columns' );
|
26 |
+
$order = self::parameter( 'order', array() );
|
27 |
$filter = self::parameter( 'filter' );
|
28 |
$limits = array(
|
29 |
'length' => self::parameter( 'length' ),
|
34 |
|
35 |
unset( $filter['date'] );
|
36 |
|
37 |
+
Lib\Utils\Tables::updateSettings( 'appointments', $columns, $order, $filter );
|
38 |
|
39 |
wp_send_json( array(
|
40 |
'draw' => ( int ) self::parameter( 'draw' ),
|
backend/modules/appointments/Page.php
CHANGED
@@ -26,10 +26,10 @@ class Page extends Lib\Base\Component
|
|
26 |
self::enqueueScripts( array(
|
27 |
'backend' => array(
|
28 |
'bootstrap/js/bootstrap.min.js' => array( 'jquery' ),
|
29 |
-
'js/datatables.min.js'
|
30 |
'js/moment.min.js',
|
31 |
-
'js/daterangepicker.js'
|
32 |
-
'js/select2.full.min.js'
|
33 |
),
|
34 |
'frontend' => array(
|
35 |
'js/spin.min.js' => array( 'jquery' ),
|
@@ -38,16 +38,8 @@ class Page extends Lib\Base\Component
|
|
38 |
'module' => array( 'js/appointments.js' => array( 'bookly-datatables.min.js' ), ),
|
39 |
) );
|
40 |
|
41 |
-
|
42 |
-
|
43 |
-
foreach ( (array) Lib\Proxy\CustomFields::getWhichHaveData() as $cf ) {
|
44 |
-
if ( $cf->type != 'file' ) {
|
45 |
-
$cf_columns[] = $cf->id;
|
46 |
-
$custom_fields[] = $cf;
|
47 |
-
}
|
48 |
-
}
|
49 |
-
// Show column attachments.
|
50 |
-
$show_attachments = Lib\Config::filesActive() && count( Lib\Proxy\Files::getAllIds() ) > 0;
|
51 |
wp_localize_script( 'bookly-appointments.js', 'BooklyL10n', array(
|
52 |
'csrf_token' => Lib\Utils\Common::getCsrfToken(),
|
53 |
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
@@ -56,30 +48,27 @@ class Page extends Lib\Base\Component
|
|
56 |
'zeroRecords' => __( 'No appointments for selected period.', 'bookly' ),
|
57 |
'processing' => __( 'Processing...', 'bookly' ),
|
58 |
'edit' => __( 'Edit', 'bookly' ),
|
59 |
-
'add_columns' => array(
|
60 |
-
'ratings' => Lib\Config::ratingsActive(),
|
61 |
-
'number_of_persons' => Lib\Config::groupBookingActive(),
|
62 |
-
'notes' => Lib\Config::showNotes(),
|
63 |
-
'attachments' => $show_attachments,
|
64 |
-
'location' => Lib\Config::locationsActive(),
|
65 |
-
),
|
66 |
-
'cf_columns' => $cf_columns,
|
67 |
-
'filter' => (array) get_user_meta( get_current_user_id(), 'bookly_filter_appointments_list', true ),
|
68 |
'no_result_found' => __( 'No result found', 'bookly' ),
|
69 |
'searching' => __( 'Searching', 'bookly' ),
|
70 |
'attachments' => __( 'Attachments', 'bookly' ),
|
71 |
-
'location' => __( 'Location', 'bookly' ),
|
72 |
'tasks' => array(
|
73 |
'enabled' => Lib\Config::tasksActive(),
|
74 |
'title' => Proxy\Tasks::getFilterText(),
|
75 |
),
|
|
|
76 |
) );
|
77 |
|
78 |
// Filters data
|
79 |
$staff_members = Lib\Entities\Staff::query( 's' )->select( 's.id, s.full_name' )->whereNot( 'visibility', 'archive' )->fetchArray();
|
80 |
-
$customers
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
-
self::renderTemplate( 'index', compact( '
|
84 |
}
|
85 |
}
|
26 |
self::enqueueScripts( array(
|
27 |
'backend' => array(
|
28 |
'bootstrap/js/bootstrap.min.js' => array( 'jquery' ),
|
29 |
+
'js/datatables.min.js' => array( 'jquery' ),
|
30 |
'js/moment.min.js',
|
31 |
+
'js/daterangepicker.js' => array( 'jquery' ),
|
32 |
+
'js/select2.full.min.js' => array( 'jquery' ),
|
33 |
),
|
34 |
'frontend' => array(
|
35 |
'js/spin.min.js' => array( 'jquery' ),
|
38 |
'module' => array( 'js/appointments.js' => array( 'bookly-datatables.min.js' ), ),
|
39 |
) );
|
40 |
|
41 |
+
$datatables = Lib\Utils\Tables::getSettings( 'appointments' );
|
42 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
wp_localize_script( 'bookly-appointments.js', 'BooklyL10n', array(
|
44 |
'csrf_token' => Lib\Utils\Common::getCsrfToken(),
|
45 |
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
48 |
'zeroRecords' => __( 'No appointments for selected period.', 'bookly' ),
|
49 |
'processing' => __( 'Processing...', 'bookly' ),
|
50 |
'edit' => __( 'Edit', 'bookly' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
'no_result_found' => __( 'No result found', 'bookly' ),
|
52 |
'searching' => __( 'Searching', 'bookly' ),
|
53 |
'attachments' => __( 'Attachments', 'bookly' ),
|
|
|
54 |
'tasks' => array(
|
55 |
'enabled' => Lib\Config::tasksActive(),
|
56 |
'title' => Proxy\Tasks::getFilterText(),
|
57 |
),
|
58 |
+
'datatables' => $datatables,
|
59 |
) );
|
60 |
|
61 |
// Filters data
|
62 |
$staff_members = Lib\Entities\Staff::query( 's' )->select( 's.id, s.full_name' )->whereNot( 'visibility', 'archive' )->fetchArray();
|
63 |
+
$customers = Lib\Entities\Customer::query()->count() < Lib\Entities\Customer::REMOTE_LIMIT
|
64 |
+
? array_map( function ( $row ) {
|
65 |
+
unset( $row['id'] );
|
66 |
+
|
67 |
+
return $row;
|
68 |
+
}, Lib\Entities\Customer::query( 'c' )->select( 'c.id, c.full_name, c.email, c.phone' )->indexBy( 'id' )->fetchArray() )
|
69 |
+
: false;
|
70 |
+
$services = Lib\Entities\Service::query( 's' )->select( 's.id, s.title' )->where( 'type', Lib\Entities\Service::TYPE_SIMPLE )->fetchArray();
|
71 |
|
72 |
+
self::renderTemplate( 'index', compact( 'staff_members', 'customers', 'services', 'datatables' ) );
|
73 |
}
|
74 |
}
|
backend/modules/appointments/proxy/GroupBooking.php
CHANGED
@@ -4,12 +4,7 @@ namespace Bookly\Backend\Modules\Appointments\Proxy;
|
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
-
*
|
8 |
-
* @package Bookly\Backend\Modules\Appointments\Proxy
|
9 |
-
*
|
10 |
-
* @method static array prepareExportTitles( array $titles ) Prepare titles for export.
|
11 |
-
* @method static void renderExport() Render option title for export Appointments modal.
|
12 |
-
* @method static void renderTableHeader() Render column title for Appointments table.
|
13 |
*/
|
14 |
abstract class GroupBooking extends Lib\Base\Proxy
|
15 |
{
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
+
* Deprecated, will be deleted in Bookly 17.9
|
|
|
|
|
|
|
|
|
|
|
8 |
*/
|
9 |
abstract class GroupBooking extends Lib\Base\Proxy
|
10 |
{
|
backend/modules/appointments/proxy/Locations.php
CHANGED
@@ -4,12 +4,7 @@ namespace Bookly\Backend\Modules\Appointments\Proxy;
|
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
-
*
|
8 |
-
* @package Bookly\Backend\Modules\Appointments\Proxy
|
9 |
-
*
|
10 |
-
* @method static array prepareExportTitles( array $titles ) Prepare titles for export.
|
11 |
-
* @method static void renderExport() Render option title for export Appointments modal.
|
12 |
-
* @method static void renderTableHeader() Render column title for Appointments table.
|
13 |
*/
|
14 |
abstract class Locations extends Lib\Base\Proxy
|
15 |
{
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
+
* Deprecated, will be deleted in Bookly 17.9
|
|
|
|
|
|
|
|
|
|
|
8 |
*/
|
9 |
abstract class Locations extends Lib\Base\Proxy
|
10 |
{
|
backend/modules/appointments/proxy/Pro.php
CHANGED
@@ -8,9 +8,9 @@ use Bookly\Lib;
|
|
8 |
* @package Bookly\Backend\Modules\Appointments\Proxy
|
9 |
*
|
10 |
* @method static void renderExportButton() Render export button.
|
11 |
-
* @method static void renderExportDialog( array $
|
12 |
* @method static void renderPrintButton() Render print button.
|
13 |
-
* @method static void renderPrintDialog( array $
|
14 |
*/
|
15 |
abstract class Pro extends Lib\Base\Proxy
|
16 |
{
|
8 |
* @package Bookly\Backend\Modules\Appointments\Proxy
|
9 |
*
|
10 |
* @method static void renderExportButton() Render export button.
|
11 |
+
* @method static void renderExportDialog( array $datatables ) Render export dialog.
|
12 |
* @method static void renderPrintButton() Render print button.
|
13 |
+
* @method static void renderPrintDialog( array $datatables ) Render print dialog.
|
14 |
*/
|
15 |
abstract class Pro extends Lib\Base\Proxy
|
16 |
{
|
backend/modules/appointments/proxy/Ratings.php
CHANGED
@@ -4,12 +4,7 @@ namespace Bookly\Backend\Modules\Appointments\Proxy;
|
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
-
*
|
8 |
-
* @package Bookly\Backend\Modules\Appointments\Proxy
|
9 |
-
*
|
10 |
-
* @method static array prepareExportTitles( array $titles ) Prepare titles for export.
|
11 |
-
* @method static void renderExport() Render option title for export Appointments modal.
|
12 |
-
* @method static void renderTableHeader() Render column title for Appointments table.
|
13 |
*/
|
14 |
abstract class Ratings extends Lib\Base\Proxy
|
15 |
{
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
7 |
+
* Deprecated, will be deleted in Bookly 17.9
|
|
|
|
|
|
|
|
|
|
|
8 |
*/
|
9 |
abstract class Ratings extends Lib\Base\Proxy
|
10 |
{
|
backend/modules/appointments/resources/js/appointments.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
jQuery(function($) {
|
2 |
|
3 |
-
|
4 |
$appointmentsList = $('#bookly-appointments-list'),
|
5 |
$checkAllButton = $('#bookly-check-all'),
|
6 |
$idFilter = $('#bookly-filter-id'),
|
@@ -18,6 +18,8 @@ jQuery(function($) {
|
|
18 |
$deleteButton = $('#bookly-delete'),
|
19 |
isMobile = false,
|
20 |
urlParts = document.URL.split('#'),
|
|
|
|
|
21 |
pickers = {
|
22 |
dateFormat: 'YYYY-MM-DD',
|
23 |
appointmentDate: {
|
@@ -73,7 +75,7 @@ jQuery(function($) {
|
|
73 |
}
|
74 |
});
|
75 |
} else {
|
76 |
-
$.each(BooklyL10n.filter, function (field, value) {
|
77 |
if (value != '') {
|
78 |
$('#bookly-filter-' + field).val(value);
|
79 |
}
|
@@ -89,118 +91,131 @@ jQuery(function($) {
|
|
89 |
Ladda.bind($('button[type=submit]', $exportForm).get(0), {timeout: 2000});
|
90 |
|
91 |
/**
|
92 |
-
* Init
|
93 |
*/
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
{ data: 'customer.email', render: $.fn.dataTable.render.text(), responsivePriority: 3 }
|
111 |
-
];
|
112 |
-
if (BooklyL10n.add_columns.number_of_persons) {
|
113 |
-
columns.push({
|
114 |
-
data: 'number_of_persons',
|
115 |
-
render: $.fn.dataTable.render.text(),
|
116 |
-
responsivePriority: 3
|
117 |
-
});
|
118 |
-
}
|
119 |
-
if (BooklyL10n.add_columns.location) {
|
120 |
-
columns.push({
|
121 |
-
data: 'location',
|
122 |
-
render: $.fn.dataTable.render.text(),
|
123 |
-
responsivePriority: 3
|
124 |
-
});
|
125 |
-
}
|
126 |
-
columns = columns.concat([
|
127 |
-
{
|
128 |
-
data: 'service.title',
|
129 |
-
responsivePriority: 2,
|
130 |
-
render: function ( data, type, row, meta ) {
|
131 |
-
if (row.service.extras.length) {
|
132 |
-
var extras = '<ul class="bookly-list list-dots">';
|
133 |
-
$.each(row.service.extras, function (key, item) {
|
134 |
-
extras += '<li><nobr>' + item.title + '</nobr></li>';
|
135 |
});
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
}
|
152 |
}
|
153 |
-
]);
|
154 |
-
|
155 |
-
if (BooklyL10n.add_columns.ratings) {
|
156 |
-
columns.push({
|
157 |
-
data: 'rating',
|
158 |
-
render: function ( data, type, row, meta ) {
|
159 |
-
if (row.rating_comment == null) {
|
160 |
-
return row.rating;
|
161 |
-
} else {
|
162 |
-
return '<a href="#" data-toggle="popover" data-trigger="focus" data-placement="bottom" data-content="' + $.fn.dataTable.render.text().display(row.rating_comment) + '">' + $.fn.dataTable.render.text().display(row.rating) + '</a>';
|
163 |
-
}
|
164 |
-
},
|
165 |
-
responsivePriority: 1
|
166 |
-
});
|
167 |
-
}
|
168 |
-
|
169 |
-
if (BooklyL10n.add_columns.notes) {
|
170 |
-
columns.push({
|
171 |
-
data: 'notes',
|
172 |
-
render: $.fn.dataTable.render.text(),
|
173 |
-
responsivePriority: 3
|
174 |
-
});
|
175 |
-
}
|
176 |
-
$.each(BooklyL10n.cf_columns, function (i, cf_id) {
|
177 |
-
columns.push({
|
178 |
-
data: 'custom_fields.' + cf_id,
|
179 |
-
render: $.fn.dataTable.render.text(),
|
180 |
-
responsivePriority: 3,
|
181 |
-
orderable: false
|
182 |
-
});
|
183 |
});
|
184 |
columns.push({
|
185 |
-
|
186 |
-
|
187 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
});
|
189 |
-
if (BooklyL10n.add_columns.attachments) {
|
190 |
-
columns.push({
|
191 |
-
data: 'attachment',
|
192 |
-
render: function (data, type, row, meta) {
|
193 |
-
if (data == '1') {
|
194 |
-
return '<button type="button" class="btn btn-link bookly-js-attachment" title="' + BooklyL10n.attachments + '"><span class="dashicons dashicons-paperclip"></span></button>';
|
195 |
-
}
|
196 |
-
return '';
|
197 |
-
},
|
198 |
-
responsivePriority: 1
|
199 |
-
});
|
200 |
-
}
|
201 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
var dt = $appointmentsList.DataTable({
|
203 |
-
order :
|
204 |
info : false,
|
205 |
searching : false,
|
206 |
lengthChange: false,
|
@@ -232,22 +247,7 @@ jQuery(function($) {
|
|
232 |
}, d);
|
233 |
}
|
234 |
},
|
235 |
-
columns: columns
|
236 |
-
{
|
237 |
-
responsivePriority: 1,
|
238 |
-
orderable: false,
|
239 |
-
render: function ( data, type, row, meta ) {
|
240 |
-
return '<button type="button" class="btn btn-default bookly-js-edit"><i class="glyphicon glyphicon-edit"></i> ' + BooklyL10n.edit + '</a>';
|
241 |
-
}
|
242 |
-
},
|
243 |
-
{
|
244 |
-
responsivePriority: 1,
|
245 |
-
orderable: false,
|
246 |
-
render: function ( data, type, row, meta ) {
|
247 |
-
return '<input type="checkbox" value="' + row.ca_id + '" data-appointment="' + row.id + '" />';
|
248 |
-
}
|
249 |
-
}
|
250 |
-
]),
|
251 |
dom: "<'row'<'col-sm-6'l><'col-sm-6'f>>" +
|
252 |
"<'row'<'col-sm-12'tr>>" +
|
253 |
"<'row pull-left'<'col-sm-12 bookly-margin-top-lg'p>>",
|
@@ -271,23 +271,6 @@ jQuery(function($) {
|
|
271 |
)
|
272 |
});
|
273 |
|
274 |
-
/**
|
275 |
-
* Edit appointment.
|
276 |
-
*/
|
277 |
-
$appointmentsList
|
278 |
-
.on('click', 'button.bookly-js-edit', function (e) {
|
279 |
-
e.preventDefault();
|
280 |
-
var data = dt.row($(this).closest('td')).data();
|
281 |
-
showAppointmentDialog(
|
282 |
-
data.id,
|
283 |
-
null,
|
284 |
-
null,
|
285 |
-
function (event) {
|
286 |
-
dt.ajax.reload();
|
287 |
-
}
|
288 |
-
)
|
289 |
-
});
|
290 |
-
|
291 |
/**
|
292 |
* Export.
|
293 |
*/
|
@@ -335,12 +318,28 @@ jQuery(function($) {
|
|
335 |
$appointmentsList.find('tbody input:checkbox').prop('checked', this.checked);
|
336 |
});
|
337 |
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
|
345 |
/**
|
346 |
* Delete appointments.
|
@@ -464,7 +463,7 @@ jQuery(function($) {
|
|
464 |
fromLabel : BooklyL10n.dateRange.from,
|
465 |
toLabel : BooklyL10n.dateRange.to,
|
466 |
customRangeLabel: BooklyL10n.dateRange.customRange,
|
467 |
-
daysOfWeek : BooklyL10n.datePicker.
|
468 |
monthNames : BooklyL10n.datePicker.monthNames,
|
469 |
firstDay : parseInt(BooklyL10n.dateRange.firstDay),
|
470 |
format : BooklyL10n.dateRange.dateFormat
|
@@ -504,6 +503,23 @@ jQuery(function($) {
|
|
504 |
placeholder: '',
|
505 |
language : {
|
506 |
noResults: function() { return BooklyL10n.no_result_found; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
507 |
}
|
508 |
});
|
509 |
|
@@ -540,4 +556,5 @@ jQuery(function($) {
|
|
540 |
$customerFilter.on('change', function () { dt.ajax.reload(); });
|
541 |
$serviceFilter.on('change', function () { dt.ajax.reload(); });
|
542 |
$statusFilter.on('change', function () { dt.ajax.reload(); });
|
|
|
543 |
});
|
1 |
jQuery(function($) {
|
2 |
|
3 |
+
let
|
4 |
$appointmentsList = $('#bookly-appointments-list'),
|
5 |
$checkAllButton = $('#bookly-check-all'),
|
6 |
$idFilter = $('#bookly-filter-id'),
|
18 |
$deleteButton = $('#bookly-delete'),
|
19 |
isMobile = false,
|
20 |
urlParts = document.URL.split('#'),
|
21 |
+
columns = [],
|
22 |
+
order = [],
|
23 |
pickers = {
|
24 |
dateFormat: 'YYYY-MM-DD',
|
25 |
appointmentDate: {
|
75 |
}
|
76 |
});
|
77 |
} else {
|
78 |
+
$.each(BooklyL10n.datatables.appointments.settings.filter, function (field, value) {
|
79 |
if (value != '') {
|
80 |
$('#bookly-filter-' + field).val(value);
|
81 |
}
|
91 |
Ladda.bind($('button[type=submit]', $exportForm).get(0), {timeout: 2000});
|
92 |
|
93 |
/**
|
94 |
+
* Init table columns.
|
95 |
*/
|
96 |
+
$.each(BooklyL10n.datatables.appointments.settings.columns, function (column, show) {
|
97 |
+
if (show) {
|
98 |
+
switch (column) {
|
99 |
+
case 'customer_full_name':
|
100 |
+
columns.push({data: 'customer.full_name', render: $.fn.dataTable.render.text()});
|
101 |
+
break;
|
102 |
+
case 'customer_phone':
|
103 |
+
columns.push({
|
104 |
+
data: 'customer.phone',
|
105 |
+
render: function (data, type, row, meta) {
|
106 |
+
if (isMobile) {
|
107 |
+
return '<a href="tel:' + $.fn.dataTable.render.text().display(data) + '">' + $.fn.dataTable.render.text().display(data) + '</a>';
|
108 |
+
} else {
|
109 |
+
return $.fn.dataTable.render.text().display(data);
|
110 |
+
}
|
111 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
});
|
113 |
+
break;
|
114 |
+
case 'customer_email':
|
115 |
+
columns.push({data: 'customer.email', render: $.fn.dataTable.render.text()});
|
116 |
+
break;
|
117 |
+
case 'staff_name':
|
118 |
+
columns.push({data: 'staff.name'});
|
119 |
+
break;
|
120 |
+
case 'service_title':
|
121 |
+
columns.push({
|
122 |
+
data: 'service.title',
|
123 |
+
render: function ( data, type, row, meta ) {
|
124 |
+
if (row.service.extras.length) {
|
125 |
+
var extras = '<ul class="bookly-list list-dots">';
|
126 |
+
$.each(row.service.extras, function (key, item) {
|
127 |
+
extras += '<li><nobr>' + item.title + '</nobr></li>';
|
128 |
+
});
|
129 |
+
extras += '</ul>';
|
130 |
+
return data + extras;
|
131 |
+
}
|
132 |
+
else {
|
133 |
+
return data;
|
134 |
+
}
|
135 |
+
}
|
136 |
+
});
|
137 |
+
break;
|
138 |
+
case 'payment':
|
139 |
+
columns.push({
|
140 |
+
data: 'payment',
|
141 |
+
render: function ( data, type, row, meta ) {
|
142 |
+
if (row.payment_id) {
|
143 |
+
return '<a role="button" data-action="show-payment" data-payment_id="' + row.payment_id + '">' + data + '</a>';
|
144 |
+
}
|
145 |
+
return '';
|
146 |
+
}
|
147 |
+
});
|
148 |
+
break;
|
149 |
+
case 'service_duration':
|
150 |
+
columns.push({data: 'service.duration'});
|
151 |
+
break;
|
152 |
+
case 'attachments':
|
153 |
+
columns.push({
|
154 |
+
data: 'attachment',
|
155 |
+
render: function (data, type, row, meta) {
|
156 |
+
if (data == '1') {
|
157 |
+
return '<button type="button" class="btn btn-link" data-action="show-attachments" title="' + BooklyL10n.attachments + '"><span class="dashicons dashicons-paperclip"></span></button>';
|
158 |
+
}
|
159 |
+
return '';
|
160 |
+
}
|
161 |
+
});
|
162 |
+
break;
|
163 |
+
case 'rating':
|
164 |
+
columns.push({
|
165 |
+
data: 'rating',
|
166 |
+
render: function ( data, type, row, meta ) {
|
167 |
+
if (row.rating_comment == null) {
|
168 |
+
return row.rating;
|
169 |
+
} else {
|
170 |
+
return '<a href="#" data-toggle="popover" data-trigger="focus" data-placement="bottom" data-content="' + $.fn.dataTable.render.text().display(row.rating_comment) + '">' + $.fn.dataTable.render.text().display(row.rating) + '</a>';
|
171 |
+
}
|
172 |
+
},
|
173 |
+
});
|
174 |
+
break;
|
175 |
+
case 'number_of_persons':
|
176 |
+
case 'locations':
|
177 |
+
columns.push({data: column, render: $.fn.dataTable.render.text()});
|
178 |
+
break;
|
179 |
+
default:
|
180 |
+
if (column.startsWith('custom_fields_')) {
|
181 |
+
columns.push({
|
182 |
+
data: column.replace(/_([^_]*)$/, '.$1'),
|
183 |
+
render: $.fn.dataTable.render.text(),
|
184 |
+
orderable: false
|
185 |
+
});
|
186 |
+
} else {
|
187 |
+
columns.push({data: column});
|
188 |
+
}
|
189 |
+
break;
|
190 |
}
|
191 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
});
|
193 |
columns.push({
|
194 |
+
responsivePriority: 1,
|
195 |
+
orderable : false,
|
196 |
+
render : function (data, type, row, meta) {
|
197 |
+
return '<button type="button" class="btn btn-default" data-action="edit"><i class="glyphicon glyphicon-edit"></i> ' + BooklyL10n.edit + '</a>';
|
198 |
+
}
|
199 |
+
});
|
200 |
+
columns.push({
|
201 |
+
responsivePriority: 1,
|
202 |
+
orderable : false,
|
203 |
+
render : function (data, type, row, meta) {
|
204 |
+
return '<input type="checkbox" value="' + row.ca_id + '" data-appointment="' + row.id + '" />';
|
205 |
+
}
|
206 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
|
208 |
+
$.each(BooklyL10n.datatables.appointments.settings.order, function (_, value) {
|
209 |
+
const index = columns.findIndex(c => c.data === value.column);
|
210 |
+
if (index !== -1) {
|
211 |
+
order.push([index, value.order]);
|
212 |
+
}
|
213 |
+
});
|
214 |
+
/**
|
215 |
+
* Init DataTables.
|
216 |
+
*/
|
217 |
var dt = $appointmentsList.DataTable({
|
218 |
+
order : order,
|
219 |
info : false,
|
220 |
searching : false,
|
221 |
lengthChange: false,
|
247 |
}, d);
|
248 |
}
|
249 |
},
|
250 |
+
columns: columns,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
dom: "<'row'<'col-sm-6'l><'col-sm-6'f>>" +
|
252 |
"<'row'<'col-sm-12'tr>>" +
|
253 |
"<'row pull-left'<'col-sm-12 bookly-margin-top-lg'p>>",
|
271 |
)
|
272 |
});
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
/**
|
275 |
* Export.
|
276 |
*/
|
318 |
$appointmentsList.find('tbody input:checkbox').prop('checked', this.checked);
|
319 |
});
|
320 |
|
321 |
+
$appointmentsList
|
322 |
+
// On appointment select.
|
323 |
+
.on('change', 'tbody input:checkbox', function () {
|
324 |
+
$checkAllButton.prop('checked', $appointmentsList.find('tbody input:not(:checked)').length == 0);
|
325 |
+
})
|
326 |
+
// Show payment details
|
327 |
+
.on('click', '[data-action=show-payment]', function () {
|
328 |
+
$('#bookly-payment-details-modal').modal('show', this);
|
329 |
+
})
|
330 |
+
// Edit appointment.
|
331 |
+
.on('click', '[data-action=edit]', function (e) {
|
332 |
+
e.preventDefault();
|
333 |
+
var data = dt.row($(this).closest('td')).data();
|
334 |
+
showAppointmentDialog(
|
335 |
+
data.id,
|
336 |
+
null,
|
337 |
+
null,
|
338 |
+
function (event) {
|
339 |
+
dt.ajax.reload();
|
340 |
+
}
|
341 |
+
)
|
342 |
+
});;
|
343 |
|
344 |
/**
|
345 |
* Delete appointments.
|
463 |
fromLabel : BooklyL10n.dateRange.from,
|
464 |
toLabel : BooklyL10n.dateRange.to,
|
465 |
customRangeLabel: BooklyL10n.dateRange.customRange,
|
466 |
+
daysOfWeek : BooklyL10n.datePicker.dayNamesShort,
|
467 |
monthNames : BooklyL10n.datePicker.monthNames,
|
468 |
firstDay : parseInt(BooklyL10n.dateRange.firstDay),
|
469 |
format : BooklyL10n.dateRange.dateFormat
|
503 |
placeholder: '',
|
504 |
language : {
|
505 |
noResults: function() { return BooklyL10n.no_result_found; }
|
506 |
+
},
|
507 |
+
matcher: function (params, data) {
|
508 |
+
const term = $.trim(params.term).toLowerCase();
|
509 |
+
if (term === '' || data.text.toLowerCase().indexOf(term) !== -1) {
|
510 |
+
return data;
|
511 |
+
}
|
512 |
+
|
513 |
+
let result = null;
|
514 |
+
const search = $(data.element).data('search');
|
515 |
+
search &&
|
516 |
+
search.find((text) => {
|
517 |
+
if (result === null && text.toLowerCase().indexOf(term) !== -1) {
|
518 |
+
result = data;
|
519 |
+
}
|
520 |
+
});
|
521 |
+
|
522 |
+
return result;
|
523 |
}
|
524 |
});
|
525 |
|
556 |
$customerFilter.on('change', function () { dt.ajax.reload(); });
|
557 |
$serviceFilter.on('change', function () { dt.ajax.reload(); });
|
558 |
$statusFilter.on('change', function () { dt.ajax.reload(); });
|
559 |
+
|
560 |
});
|
backend/modules/appointments/templates/index.php
CHANGED
@@ -3,10 +3,10 @@ use Bookly\Backend\Components\Controls;
|
|
3 |
use Bookly\Backend\Components\Dialogs;
|
4 |
use Bookly\Backend\Components\Support;
|
5 |
use Bookly\Backend\Modules\Appointments\Proxy;
|
6 |
-
use Bookly\Lib\Config;
|
7 |
use Bookly\Lib\Entities\CustomerAppointment;
|
8 |
use Bookly\Lib\Utils\Common;
|
9 |
use Bookly\Lib\Utils\DateTime;
|
|
|
10 |
?>
|
11 |
<div id="bookly-tbs" class="wrap">
|
12 |
<div class="bookly-tbs-body">
|
@@ -19,18 +19,21 @@ use Bookly\Lib\Utils\DateTime;
|
|
19 |
<div class="panel panel-default bookly-main">
|
20 |
<div class="panel-body">
|
21 |
<div class="row">
|
22 |
-
<div class="
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
<
|
|
|
|
|
|
|
27 |
</div>
|
28 |
</div>
|
29 |
</div>
|
30 |
<div class="row">
|
31 |
<div class="col-md-3 col-lg-1">
|
32 |
<div class="form-group">
|
33 |
-
<input class="form-control" type="text" id="bookly-filter-id" placeholder="<?php esc_attr_e( 'No.', 'bookly' ) ?>"
|
34 |
</div>
|
35 |
</div>
|
36 |
<div class="col-md-3 col-lg-2">
|
@@ -67,8 +70,8 @@ use Bookly\Lib\Utils\DateTime;
|
|
67 |
<div class="form-group">
|
68 |
<select class="form-control <?php echo $customers === false ? 'bookly-js-select-ajax' : 'bookly-js-select' ?>" id="bookly-filter-customer" data-placeholder="<?php esc_attr_e( 'Customer', 'bookly' ) ?>" <?php echo $customers === false ? 'data-ajax--action' : 'data-action' ?>="bookly_get_customers_list">
|
69 |
<?php if ( $customers !== false ) : ?>
|
70 |
-
<?php foreach ( $customers as $customer ) : ?>
|
71 |
-
<option value="<?php echo $
|
72 |
<?php endforeach ?>
|
73 |
<?php endif ?>
|
74 |
</select>
|
@@ -94,49 +97,31 @@ use Bookly\Lib\Utils\DateTime;
|
|
94 |
</div>
|
95 |
</div>
|
96 |
</div>
|
97 |
-
|
98 |
<table id="bookly-appointments-list" class="table table-striped" width="100%">
|
99 |
<thead>
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
<th><?php esc_html_e( 'Customer Name', 'bookly' ) ?></th>
|
105 |
-
<th><?php esc_html_e( 'Customer Phone', 'bookly' ) ?></th>
|
106 |
-
<th><?php esc_html_e( 'Customer Email', 'bookly' ) ?></th>
|
107 |
-
<?php Proxy\GroupBooking::renderTableHeader() ?>
|
108 |
-
<?php Proxy\Locations::renderTableHeader() ?>
|
109 |
-
<th><?php echo esc_html( Common::getTranslatedOption( 'bookly_l10n_label_service' ) ) ?></th>
|
110 |
-
<th><?php esc_html_e( 'Duration', 'bookly' ) ?></th>
|
111 |
-
<th><?php esc_html_e( 'Status', 'bookly' ) ?></th>
|
112 |
-
<th><?php esc_html_e( 'Payment', 'bookly' ) ?></th>
|
113 |
-
<?php Proxy\Ratings::renderTableHeader() ?>
|
114 |
-
<?php if ( Config::showNotes() ): ?>
|
115 |
-
<th><?php echo esc_html( Common::getTranslatedOption( 'bookly_l10n_label_notes' ) ) ?></th>
|
116 |
-
<?php endif ?>
|
117 |
-
<?php foreach ( $custom_fields as $custom_field ) : ?>
|
118 |
-
<th><?php echo $custom_field->label ?></th>
|
119 |
-
<?php endforeach ?>
|
120 |
-
<th><?php esc_html_e( 'Created', 'bookly' ) ?></th>
|
121 |
-
<?php if ( $show_attachments ) : ?>
|
122 |
-
<th><?php esc_html_e( 'Attachments', 'bookly' ) ?></th>
|
123 |
<?php endif ?>
|
124 |
-
|
125 |
-
|
126 |
-
|
|
|
127 |
</thead>
|
128 |
</table>
|
129 |
|
130 |
<div class="text-right bookly-margin-top-lg">
|
131 |
-
<?php Controls\Buttons::
|
132 |
</div>
|
133 |
</div>
|
134 |
</div>
|
135 |
|
136 |
-
<?php Proxy\Pro::renderExportDialog( $
|
137 |
-
<?php Proxy\Pro::renderPrintDialog( $
|
138 |
|
139 |
<?php Dialogs\Appointment\Delete\Dialog::render() ?>
|
|
|
140 |
<?php Dialogs\Appointment\Edit\Dialog::render() ?>
|
141 |
<?php Dialogs\Queue\Dialog::render() ?>
|
142 |
<?php Proxy\Shared::renderAddOnsComponents() ?>
|
3 |
use Bookly\Backend\Components\Dialogs;
|
4 |
use Bookly\Backend\Components\Support;
|
5 |
use Bookly\Backend\Modules\Appointments\Proxy;
|
|
|
6 |
use Bookly\Lib\Entities\CustomerAppointment;
|
7 |
use Bookly\Lib\Utils\Common;
|
8 |
use Bookly\Lib\Utils\DateTime;
|
9 |
+
/** @var array $datatables */
|
10 |
?>
|
11 |
<div id="bookly-tbs" class="wrap">
|
12 |
<div class="bookly-tbs-body">
|
19 |
<div class="panel panel-default bookly-main">
|
20 |
<div class="panel-body">
|
21 |
<div class="row">
|
22 |
+
<div class="col-xs-12">
|
23 |
+
<div class="form-inline bookly-margin-bottom-lg text-right">
|
24 |
+
<?php Proxy\Pro::renderExportButton() ?>
|
25 |
+
<?php Proxy\Pro::renderPrintButton() ?>
|
26 |
+
<div class="form-group">
|
27 |
+
<button type="button" class="btn btn-success bookly-btn-block-xs" id="bookly-add"><i class="glyphicon glyphicon-plus"></i> <?php esc_html_e( 'New appointment', 'bookly' ) ?>...</button>
|
28 |
+
</div>
|
29 |
+
<?php Dialogs\TableSettings\Dialog::renderButton( 'appointments' ) ?>
|
30 |
</div>
|
31 |
</div>
|
32 |
</div>
|
33 |
<div class="row">
|
34 |
<div class="col-md-3 col-lg-1">
|
35 |
<div class="form-group">
|
36 |
+
<input class="form-control" type="text" id="bookly-filter-id" placeholder="<?php esc_attr_e( 'No.', 'bookly' ) ?>"/>
|
37 |
</div>
|
38 |
</div>
|
39 |
<div class="col-md-3 col-lg-2">
|
70 |
<div class="form-group">
|
71 |
<select class="form-control <?php echo $customers === false ? 'bookly-js-select-ajax' : 'bookly-js-select' ?>" id="bookly-filter-customer" data-placeholder="<?php esc_attr_e( 'Customer', 'bookly' ) ?>" <?php echo $customers === false ? 'data-ajax--action' : 'data-action' ?>="bookly_get_customers_list">
|
72 |
<?php if ( $customers !== false ) : ?>
|
73 |
+
<?php foreach ( $customers as $customer_id => $customer ) : ?>
|
74 |
+
<option value="<?php echo $customer_id ?>" data-search='<?php echo json_encode( array_values( $customer ) ) ?>'><?php echo esc_html( $customer['full_name'] ) ?></option>
|
75 |
<?php endforeach ?>
|
76 |
<?php endif ?>
|
77 |
</select>
|
97 |
</div>
|
98 |
</div>
|
99 |
</div>
|
|
|
100 |
<table id="bookly-appointments-list" class="table table-striped" width="100%">
|
101 |
<thead>
|
102 |
+
<tr>
|
103 |
+
<?php foreach ( $datatables['appointments']['settings']['columns'] as $column => $show ) : ?>
|
104 |
+
<?php if ( $show ) : ?>
|
105 |
+
<th><?php echo $datatables['appointments']['titles'][ $column ] ?></th>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
<?php endif ?>
|
107 |
+
<?php endforeach ?>
|
108 |
+
<th></th>
|
109 |
+
<th width="16"><input type="checkbox" id="bookly-check-all"/></th>
|
110 |
+
</tr>
|
111 |
</thead>
|
112 |
</table>
|
113 |
|
114 |
<div class="text-right bookly-margin-top-lg">
|
115 |
+
<?php Controls\Buttons::renderModalActivator( 'bookly-delete-dialog', 'btn-danger', esc_html__( 'Delete', 'bookly' ) ) ?>
|
116 |
</div>
|
117 |
</div>
|
118 |
</div>
|
119 |
|
120 |
+
<?php Proxy\Pro::renderExportDialog( $datatables['appointments'] ) ?>
|
121 |
+
<?php Proxy\Pro::renderPrintDialog( $datatables['appointments'] ) ?>
|
122 |
|
123 |
<?php Dialogs\Appointment\Delete\Dialog::render() ?>
|
124 |
+
<?php Dialogs\TableSettings\Dialog::render() ?>
|
125 |
<?php Dialogs\Appointment\Edit\Dialog::render() ?>
|
126 |
<?php Dialogs\Queue\Dialog::render() ?>
|
127 |
<?php Proxy\Shared::renderAddOnsComponents() ?>
|
backend/modules/customers/Ajax.php
CHANGED
@@ -25,7 +25,7 @@ class Ajax extends Lib\Base\Ajax
|
|
25 |
global $wpdb;
|
26 |
|
27 |
$columns = self::parameter( 'columns' );
|
28 |
-
$order = self::parameter( 'order' );
|
29 |
$filter = self::parameter( 'filter' );
|
30 |
|
31 |
$query = Lib\Entities\Customer::query( 'c' );
|
@@ -61,13 +61,14 @@ class Ajax extends Lib\Base\Ajax
|
|
61 |
$query = Proxy\CustomerGroups::prepareCustomerQuery( $query );
|
62 |
|
63 |
if ( $filter != '' ) {
|
64 |
-
$search_value
|
65 |
-
$
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
|
|
71 |
}
|
72 |
|
73 |
foreach ( $order as $sort_by ) {
|
@@ -79,7 +80,9 @@ class Ajax extends Lib\Base\Ajax
|
|
79 |
$query->limit( self::parameter( 'length' ) )->offset( self::parameter( 'start' ) );
|
80 |
|
81 |
$data = array();
|
82 |
-
|
|
|
|
|
83 |
|
84 |
$address = Lib\Proxy\Pro::getFullAddressByCustomerData( $row );
|
85 |
|
@@ -115,10 +118,12 @@ class Ajax extends Lib\Base\Ajax
|
|
115 |
$data[] = $customer_data;
|
116 |
}
|
117 |
|
|
|
|
|
118 |
wp_send_json( array(
|
119 |
'draw' => ( int ) self::parameter( 'draw' ),
|
120 |
'recordsTotal' => $total,
|
121 |
-
'recordsFiltered' =>
|
122 |
'data' => $data,
|
123 |
) );
|
124 |
}
|
25 |
global $wpdb;
|
26 |
|
27 |
$columns = self::parameter( 'columns' );
|
28 |
+
$order = self::parameter( 'order', array() );
|
29 |
$filter = self::parameter( 'filter' );
|
30 |
|
31 |
$query = Lib\Entities\Customer::query( 'c' );
|
61 |
$query = Proxy\CustomerGroups::prepareCustomerQuery( $query );
|
62 |
|
63 |
if ( $filter != '' ) {
|
64 |
+
$search_value = Lib\Query::escape( $filter );
|
65 |
+
$search_columns = array( 'c.info_fields LIKE "%%%s%"' );
|
66 |
+
foreach ( $columns as $column ) {
|
67 |
+
if ( in_array( $column['data'], array( 'first_name', 'last_name', 'full_name', 'phone', 'email' ) ) ) {
|
68 |
+
$search_columns[] = 'c.' . $column['data'] . ' LIKE "%%%s%"';
|
69 |
+
}
|
70 |
+
}
|
71 |
+
$query->whereRaw( implode( ' OR ', $search_columns ), array_fill( 0, count( $search_columns ), "%{$search_value}%" ) );
|
72 |
}
|
73 |
|
74 |
foreach ( $order as $sort_by ) {
|
80 |
$query->limit( self::parameter( 'length' ) )->offset( self::parameter( 'start' ) );
|
81 |
|
82 |
$data = array();
|
83 |
+
$rows = $query->fetchArray();
|
84 |
+
$records_filtered = ( int ) $wpdb->get_var( 'SELECT FOUND_ROWS()' );
|
85 |
+
foreach ( $rows as $row ) {
|
86 |
|
87 |
$address = Lib\Proxy\Pro::getFullAddressByCustomerData( $row );
|
88 |
|
118 |
$data[] = $customer_data;
|
119 |
}
|
120 |
|
121 |
+
Lib\Utils\Tables::updateSettings( 'customers', $columns, $order, $filter );
|
122 |
+
|
123 |
wp_send_json( array(
|
124 |
'draw' => ( int ) self::parameter( 'draw' ),
|
125 |
'recordsTotal' => $total,
|
126 |
+
'recordsFiltered' => $records_filtered,
|
127 |
'data' => $data,
|
128 |
) );
|
129 |
}
|
backend/modules/customers/Page.php
CHANGED
@@ -37,13 +37,17 @@ class Page extends Lib\Base\Component
|
|
37 |
),
|
38 |
) );
|
39 |
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
$info_fields = (array) Lib\Proxy\CustomerInformation::getFieldsWhichMayHaveData();
|
42 |
|
43 |
wp_localize_script( 'bookly-customers.js', 'BooklyL10n', array(
|
44 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
45 |
-
'first_last_name' => (int) Lib\Config::showFirstLastName(),
|
46 |
-
'groupsActive' => (int) Lib\Config::customerGroupsActive(),
|
47 |
'infoFields' => $info_fields,
|
48 |
'edit' => __( 'Edit', 'bookly' ),
|
49 |
'are_you_sure' => __( 'Are you sure?', 'bookly' ),
|
@@ -55,9 +59,9 @@ class Page extends Lib\Base\Component
|
|
55 |
'create_customer' => __( 'Create customer', 'bookly' ),
|
56 |
'save' => __( 'Save', 'bookly' ),
|
57 |
'search' => __( 'Quick search customer', 'bookly' ),
|
58 |
-
'
|
59 |
) );
|
60 |
|
61 |
-
self::renderTemplate( 'index', compact( '
|
62 |
}
|
63 |
}
|
37 |
),
|
38 |
) );
|
39 |
|
40 |
+
$datatables = Lib\Utils\Tables::getSettings( 'customers' );
|
41 |
+
if ( ! $datatables['customers']['exist'] ) {
|
42 |
+
$datatables['customers']['settings']['columns']['full_name'] = ! Lib\Config::showFirstLastName();
|
43 |
+
$datatables['customers']['settings']['columns']['first_name'] = Lib\Config::showFirstLastName();
|
44 |
+
$datatables['customers']['settings']['columns']['last_name'] = Lib\Config::showFirstLastName();
|
45 |
+
}
|
46 |
+
|
47 |
$info_fields = (array) Lib\Proxy\CustomerInformation::getFieldsWhichMayHaveData();
|
48 |
|
49 |
wp_localize_script( 'bookly-customers.js', 'BooklyL10n', array(
|
50 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
|
|
|
|
51 |
'infoFields' => $info_fields,
|
52 |
'edit' => __( 'Edit', 'bookly' ),
|
53 |
'are_you_sure' => __( 'Are you sure?', 'bookly' ),
|
59 |
'create_customer' => __( 'Create customer', 'bookly' ),
|
60 |
'save' => __( 'Save', 'bookly' ),
|
61 |
'search' => __( 'Quick search customer', 'bookly' ),
|
62 |
+
'datatables' => $datatables,
|
63 |
) );
|
64 |
|
65 |
+
self::renderTemplate( 'index', compact( 'datatables' ) );
|
66 |
}
|
67 |
}
|
backend/modules/customers/proxy/CustomerGroups.php
CHANGED
@@ -11,8 +11,6 @@ use Bookly\Lib;
|
|
11 |
* @method static Lib\Query prepareCustomerQuery( Lib\Query $query ) Prepare 'Customer Groups' query in customers table.
|
12 |
* @method static string prepareCustomerSelect( string $select ) Prepare 'Customer Groups' select in customers table.
|
13 |
* @method static array prepareExportTitles( array $titles ) Prepare 'Customer Groups' titles in customers export.
|
14 |
-
* @method static void renderExportDialogRow() Render 'Customer Group' row in export customer dialog.
|
15 |
-
* @method static void renderCustomerTableHeader() Render 'Customer Group' in customers table.
|
16 |
*/
|
17 |
abstract class CustomerGroups extends Lib\Base\Proxy
|
18 |
{
|
11 |
* @method static Lib\Query prepareCustomerQuery( Lib\Query $query ) Prepare 'Customer Groups' query in customers table.
|
12 |
* @method static string prepareCustomerSelect( string $select ) Prepare 'Customer Groups' select in customers table.
|
13 |
* @method static array prepareExportTitles( array $titles ) Prepare 'Customer Groups' titles in customers export.
|
|
|
|
|
14 |
*/
|
15 |
abstract class CustomerGroups extends Lib\Base\Proxy
|
16 |
{
|
backend/modules/customers/proxy/Pro.php
CHANGED
@@ -8,11 +8,10 @@ use Bookly\Lib;
|
|
8 |
* @package Bookly\Backend\Modules\Customers\Proxy
|
9 |
*
|
10 |
* @method static void importCustomers() Import customers from CSV.
|
11 |
-
* @method static void renderCustomerAddressTableHeader() Render 'address' column header.
|
12 |
* @method static void renderImportButton() Render import button.
|
13 |
* @method static void renderExportButton() Render export button.
|
14 |
* @method static void renderImportDialog() Render import dialog.
|
15 |
-
* @method static void renderExportDialog( array $
|
16 |
*/
|
17 |
abstract class Pro extends Lib\Base\Proxy
|
18 |
{
|
8 |
* @package Bookly\Backend\Modules\Customers\Proxy
|
9 |
*
|
10 |
* @method static void importCustomers() Import customers from CSV.
|
|
|
11 |
* @method static void renderImportButton() Render import button.
|
12 |
* @method static void renderExportButton() Render export button.
|
13 |
* @method static void renderImportDialog() Render import dialog.
|
14 |
+
* @method static void renderExportDialog( array $settings, array $columns ) Render export dialog.
|
15 |
*/
|
16 |
abstract class Pro extends Lib\Base\Proxy
|
17 |
{
|
backend/modules/customers/resources/js/customers.js
CHANGED
@@ -1,66 +1,72 @@
|
|
1 |
jQuery(function($) {
|
2 |
'use strict';
|
3 |
-
|
4 |
$customersList = $('#bookly-customers-list'),
|
5 |
$mergeListContainer = $('#bookly-merge-list'),
|
6 |
$mergeList = $customersList.clone().prop('id', '').find('th:last').remove().end().appendTo($mergeListContainer),
|
7 |
$filter = $('#bookly-filter'),
|
8 |
$checkAllButton = $('#bookly-check-all'),
|
9 |
$customerDialog = $('#bookly-customer-dialog'),
|
10 |
-
$addButton = $('#bookly-add'),
|
11 |
$selectForMergeButton = $('#bookly-select-for-merge'),
|
12 |
-
$mergeWithButton = $('#bookly-merge-
|
13 |
$mergeDialog = $('#bookly-merge-dialog'),
|
14 |
$mergeButton = $('#bookly-merge'),
|
|
|
|
|
15 |
row
|
16 |
;
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
});
|
39 |
-
columns = columns.concat([
|
40 |
-
{data: 'notes', render: $.fn.dataTable.render.text(), responsivePriority: 2},
|
41 |
-
{data: 'last_appointment', responsivePriority: 2},
|
42 |
-
{data: 'total_appointments', responsivePriority: 2},
|
43 |
-
{data: 'payments', responsivePriority: 2}
|
44 |
-
]);
|
45 |
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
render: function (data, type, row, meta) {
|
53 |
-
return data ? '<a href="https://www.facebook.com/app_scoped_user_id/' + data + '/" target="_blank"><span class="dashicons dashicons-facebook"></span></a>' : '';
|
54 |
-
}
|
55 |
-
}
|
56 |
-
]);
|
57 |
-
}
|
58 |
|
59 |
/**
|
60 |
* Init DataTables.
|
61 |
*/
|
62 |
var dt = $customersList.DataTable({
|
63 |
-
order :
|
64 |
info : false,
|
65 |
searching : false,
|
66 |
lengthChange: false,
|
@@ -86,7 +92,7 @@ jQuery(function($) {
|
|
86 |
orderable : false,
|
87 |
searchable : false,
|
88 |
render : function (data, type, row, meta) {
|
89 |
-
return '<button type="button" class="btn btn-default" data-
|
90 |
}
|
91 |
},
|
92 |
{
|
@@ -114,79 +120,71 @@ jQuery(function($) {
|
|
114 |
$customersList.find('tbody input:checkbox').prop('checked', this.checked);
|
115 |
});
|
116 |
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
$customersList.on('click', 'button', function () {
|
129 |
-
row = dt.row($(this).closest('td'));
|
130 |
-
});
|
131 |
-
|
132 |
-
/**
|
133 |
-
* New customer.
|
134 |
-
*/
|
135 |
-
$addButton.on('click', function () {
|
136 |
-
row = null;
|
137 |
-
});
|
138 |
|
139 |
/**
|
140 |
* On show modal.
|
141 |
*/
|
142 |
-
$customerDialog
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
|
|
176 |
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
|
|
190 |
|
191 |
/**
|
192 |
* On filters change.
|
@@ -233,6 +231,7 @@ jQuery(function($) {
|
|
233 |
}).trigger('change');
|
234 |
$mergeWithButton.show();
|
235 |
$mergeListContainer.show();
|
|
|
236 |
}
|
237 |
});
|
238 |
|
@@ -286,6 +285,7 @@ jQuery(function($) {
|
|
286 |
*/
|
287 |
Ladda.bind('#bookly-import-customers-dialog button[type=submit]');
|
288 |
Ladda.bind('#bookly-export-customers-dialog button[type=submit]', {timeout: 2000});
|
|
|
289 |
});
|
290 |
|
291 |
(function() {
|
1 |
jQuery(function($) {
|
2 |
'use strict';
|
3 |
+
let
|
4 |
$customersList = $('#bookly-customers-list'),
|
5 |
$mergeListContainer = $('#bookly-merge-list'),
|
6 |
$mergeList = $customersList.clone().prop('id', '').find('th:last').remove().end().appendTo($mergeListContainer),
|
7 |
$filter = $('#bookly-filter'),
|
8 |
$checkAllButton = $('#bookly-check-all'),
|
9 |
$customerDialog = $('#bookly-customer-dialog'),
|
|
|
10 |
$selectForMergeButton = $('#bookly-select-for-merge'),
|
11 |
+
$mergeWithButton = $('#bookly-merge-dialog-activator'),
|
12 |
$mergeDialog = $('#bookly-merge-dialog'),
|
13 |
$mergeButton = $('#bookly-merge'),
|
14 |
+
columns = [],
|
15 |
+
order = [],
|
16 |
row
|
17 |
;
|
18 |
|
19 |
+
/**
|
20 |
+
* Init table columns.
|
21 |
+
*/
|
22 |
+
$.each(BooklyL10n.datatables.customers.settings.columns, function (column, show) {
|
23 |
+
if (show) {
|
24 |
+
switch (column) {
|
25 |
+
case 'id':
|
26 |
+
case 'last_appointment':
|
27 |
+
case 'total_appointments':
|
28 |
+
case 'payments':
|
29 |
+
case 'wp_user':
|
30 |
+
columns.push({data: column});
|
31 |
+
break;
|
32 |
+
case 'address':
|
33 |
+
columns.push({data: column, render: $.fn.dataTable.render.text(), orderable: false});
|
34 |
+
break;
|
35 |
+
case 'facebook':
|
36 |
+
columns.push({
|
37 |
+
data: 'facebook_id',
|
38 |
+
render: function (data, type, row, meta) {
|
39 |
+
return data ? '<a href="https://www.facebook.com/app_scoped_user_id/' + data + '/" target="_blank"><span class="dashicons dashicons-facebook"></span></a>' : '';
|
40 |
+
}
|
41 |
+
});
|
42 |
+
break;
|
43 |
+
default:
|
44 |
+
if (column.startsWith('info_fields_')) {
|
45 |
+
columns.push({
|
46 |
+
data: column.replace(/_([^_]*)$/, '.$1.value'),
|
47 |
+
render: $.fn.dataTable.render.text(),
|
48 |
+
orderable: false
|
49 |
+
});
|
50 |
+
} else {
|
51 |
+
columns.push({data: column, render: $.fn.dataTable.render.text()});
|
52 |
+
}
|
53 |
+
break;
|
54 |
+
}
|
55 |
+
}
|
56 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
+
$.each(BooklyL10n.datatables.customers.settings.order, function (_, value) {
|
59 |
+
const index = columns.findIndex(c => c.data === value.column);
|
60 |
+
if (index !== -1) {
|
61 |
+
order.push([index, value.order]);
|
62 |
+
}
|
63 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
/**
|
66 |
* Init DataTables.
|
67 |
*/
|
68 |
var dt = $customersList.DataTable({
|
69 |
+
order : order,
|
70 |
info : false,
|
71 |
searching : false,
|
72 |
lengthChange: false,
|
92 |
orderable : false,
|
93 |
searchable : false,
|
94 |
render : function (data, type, row, meta) {
|
95 |
+
return '<button type="button" class="btn btn-default" data-action="edit"><i class="glyphicon glyphicon-edit"></i> ' + BooklyL10n.edit + '</button>';
|
96 |
}
|
97 |
},
|
98 |
{
|
120 |
$customersList.find('tbody input:checkbox').prop('checked', this.checked);
|
121 |
});
|
122 |
|
123 |
+
$customersList
|
124 |
+
// On customer select.
|
125 |
+
.on('change', 'tbody input:checkbox', function () {
|
126 |
+
$checkAllButton.prop('checked', $customersList.find('tbody input:not(:checked)').length == 0);
|
127 |
+
$mergeWithButton.prop('disabled', $customersList.find('tbody input:checked').length != 1);
|
128 |
+
})
|
129 |
+
// Edit customer.
|
130 |
+
.on('click', '[data-action=edit]', function () {
|
131 |
+
row = dt.row($(this).closest('td'));
|
132 |
+
$customerDialog.modal('show');
|
133 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
|
135 |
/**
|
136 |
* On show modal.
|
137 |
*/
|
138 |
+
$customerDialog
|
139 |
+
.on('show.bs.modal', function () {
|
140 |
+
var $title = $customerDialog.find('.modal-title');
|
141 |
+
var $button = $customerDialog.find('.modal-footer button:first');
|
142 |
+
var customer;
|
143 |
+
if (row) {
|
144 |
+
customer = $.extend(true, {}, row.data());
|
145 |
+
$title.text(BooklyL10n.edit_customer);
|
146 |
+
$button.text(BooklyL10n.save);
|
147 |
+
} else {
|
148 |
+
customer = {
|
149 |
+
id: '',
|
150 |
+
wp_user_id: '',
|
151 |
+
group_id: '',
|
152 |
+
full_name: '',
|
153 |
+
first_name: '',
|
154 |
+
last_name: '',
|
155 |
+
phone: '',
|
156 |
+
email: '',
|
157 |
+
country: '',
|
158 |
+
state: '',
|
159 |
+
postcode: '',
|
160 |
+
city: '',
|
161 |
+
street: '',
|
162 |
+
address: '',
|
163 |
+
info_fields: {},
|
164 |
+
notes: '',
|
165 |
+
birthday: ''
|
166 |
+
};
|
167 |
+
BooklyL10n.infoFields.forEach(function (field) {
|
168 |
+
customer.info_fields[field.id] = {id: field.id, value: field.type === 'checkboxes' ? [] : ''};
|
169 |
+
});
|
170 |
+
$title.text(BooklyL10n.new_customer);
|
171 |
+
$button.text(BooklyL10n.create_customer);
|
172 |
+
}
|
173 |
|
174 |
+
var $scope = angular.element(this).scope();
|
175 |
+
$scope.$apply(function ($scope) {
|
176 |
+
$scope.customer = customer;
|
177 |
+
setTimeout(function () {
|
178 |
+
if (BooklyL10nCustDialog.intlTelInput.enabled) {
|
179 |
+
$('#phone', $customerDialog).intlTelInput('setNumber', customer.phone);
|
180 |
+
} else {
|
181 |
+
$('#phone', $customerDialog).val(customer.phone);
|
182 |
+
}
|
183 |
+
$('#wp_user', $customerDialog).trigger('change.select2');
|
184 |
+
}, 0);
|
185 |
+
});
|
186 |
+
})
|
187 |
+
.on('hidden.bs.modal', () => row = null);
|
188 |
|
189 |
/**
|
190 |
* On filters change.
|
231 |
}).trigger('change');
|
232 |
$mergeWithButton.show();
|
233 |
$mergeListContainer.show();
|
234 |
+
mdt.responsive.recalc();
|
235 |
}
|
236 |
});
|
237 |
|
285 |
*/
|
286 |
Ladda.bind('#bookly-import-customers-dialog button[type=submit]');
|
287 |
Ladda.bind('#bookly-export-customers-dialog button[type=submit]', {timeout: 2000});
|
288 |
+
|
289 |
});
|
290 |
|
291 |
(function() {
|
backend/modules/customers/templates/index.php
CHANGED
@@ -3,6 +3,7 @@ use Bookly\Backend\Components\Controls\Buttons;
|
|
3 |
use Bookly\Backend\Components\Dialogs;
|
4 |
use Bookly\Backend\Components\Support;
|
5 |
use Bookly\Backend\Modules\Customers\Proxy;
|
|
|
6 |
?>
|
7 |
<div id="bookly-tbs" class="wrap">
|
8 |
<div class="bookly-tbs-body">
|
@@ -26,41 +27,29 @@ use Bookly\Backend\Modules\Customers\Proxy;
|
|
26 |
Proxy\Pro::renderImportButton();
|
27 |
?>
|
28 |
<div class="form-group">
|
29 |
-
|
30 |
</div>
|
|
|
31 |
</div>
|
32 |
</div>
|
33 |
|
34 |
<table id="bookly-customers-list" class="table table-striped" width="100%">
|
35 |
<thead>
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
<th><?php esc_html_e( 'User', 'bookly' ) ?></th>
|
41 |
-
<?php Proxy\CustomerGroups::renderCustomerTableHeader() ?>
|
42 |
-
<th><?php esc_html_e( get_option( 'bookly_l10n_label_phone' ) ) ?></th>
|
43 |
-
<th><?php esc_html_e( get_option( 'bookly_l10n_label_email' ) ) ?></th>
|
44 |
-
<?php foreach ( $info_fields as $field ) : ?>
|
45 |
-
<th><?php echo $field->label ?></th>
|
46 |
-
<?php endforeach ?>
|
47 |
-
<th><?php esc_html_e( 'Notes', 'bookly' ) ?></th>
|
48 |
-
<th><?php esc_html_e( 'Last appointment', 'bookly' ) ?></th>
|
49 |
-
<th><?php esc_html_e( 'Total appointments', 'bookly' ) ?></th>
|
50 |
-
<th><?php esc_html_e( 'Payments', 'bookly' ) ?></th>
|
51 |
-
<?php Proxy\Pro::renderCustomerAddressTableHeader() ?>
|
52 |
-
<?php if ( \Bookly\Lib\Config::proActive() ) : ?>
|
53 |
-
<th>Facebook</th>
|
54 |
<?php endif ?>
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
58 |
</thead>
|
59 |
</table>
|
60 |
|
61 |
<div class="text-right form-inline bookly-margin-top-lg">
|
62 |
<div class="form-group">
|
63 |
-
|
64 |
</div>
|
65 |
<div class="form-group">
|
66 |
<button type="button" id="bookly-select-for-merge" class="btn btn-default"><i class="glyphicon glyphicon-plus"></i> <?php esc_html_e( 'Select for merge', 'bookly' ) ?></button>
|
@@ -78,7 +67,7 @@ use Bookly\Backend\Modules\Customers\Proxy;
|
|
78 |
|
79 |
<?php
|
80 |
Proxy\Pro::renderImportDialog();
|
81 |
-
Proxy\Pro::renderExportDialog( $
|
82 |
Dialogs\Customer\Delete\Dialog::render();
|
83 |
?>
|
84 |
|
@@ -104,5 +93,6 @@ use Bookly\Backend\Modules\Customers\Proxy;
|
|
104 |
<div customer-dialog=saveCustomer(customer) customer="customer"></div>
|
105 |
<?php Dialogs\Customer\Edit\Dialog::render() ?>
|
106 |
</div>
|
|
|
107 |
</div>
|
108 |
</div>
|
3 |
use Bookly\Backend\Components\Dialogs;
|
4 |
use Bookly\Backend\Components\Support;
|
5 |
use Bookly\Backend\Modules\Customers\Proxy;
|
6 |
+
/** @var array $datatables */
|
7 |
?>
|
8 |
<div id="bookly-tbs" class="wrap">
|
9 |
<div class="bookly-tbs-body">
|
27 |
Proxy\Pro::renderImportButton();
|
28 |
?>
|
29 |
<div class="form-group">
|
30 |
+
<?php Buttons::renderModalActivator( 'bookly-customer-dialog', 'btn-success bookly-btn-block-xs', esc_html__( 'New customer', 'bookly' ), array(), '<i class="glyphicon glyphicon-plus"></i> {caption}' ) ?>
|
31 |
</div>
|
32 |
+
<?php Dialogs\TableSettings\Dialog::renderButton( 'customers' ) ?>
|
33 |
</div>
|
34 |
</div>
|
35 |
|
36 |
<table id="bookly-customers-list" class="table table-striped" width="100%">
|
37 |
<thead>
|
38 |
+
<tr>
|
39 |
+
<?php foreach ( $datatables['customers']['settings']['columns'] as $column => $show ) : ?>
|
40 |
+
<?php if ( $show ) : ?>
|
41 |
+
<th><?php echo $datatables['customers']['titles'][ $column ] ?></th>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
<?php endif ?>
|
43 |
+
<?php endforeach ?>
|
44 |
+
<th></th>
|
45 |
+
<th width="16"><input type="checkbox" id="bookly-check-all"/></th>
|
46 |
+
</tr>
|
47 |
</thead>
|
48 |
</table>
|
49 |
|
50 |
<div class="text-right form-inline bookly-margin-top-lg">
|
51 |
<div class="form-group">
|
52 |
+
<?php Buttons::renderModalActivator( 'bookly-merge-dialog', null, esc_html__( 'Merge with', 'bookly' ), array( 'disabled' => 'disabled', 'style' => 'display:none' ), '<i class="glyphicon glyphicon-road"></i> {caption}' ) ?>
|
53 |
</div>
|
54 |
<div class="form-group">
|
55 |
<button type="button" id="bookly-select-for-merge" class="btn btn-default"><i class="glyphicon glyphicon-plus"></i> <?php esc_html_e( 'Select for merge', 'bookly' ) ?></button>
|
67 |
|
68 |
<?php
|
69 |
Proxy\Pro::renderImportDialog();
|
70 |
+
Proxy\Pro::renderExportDialog( $datatables['customers']['settings'], $datatables['customers']['titles'] );
|
71 |
Dialogs\Customer\Delete\Dialog::render();
|
72 |
?>
|
73 |
|
93 |
<div customer-dialog=saveCustomer(customer) customer="customer"></div>
|
94 |
<?php Dialogs\Customer\Edit\Dialog::render() ?>
|
95 |
</div>
|
96 |
+
<?php Dialogs\TableSettings\Dialog::render() ?>
|
97 |
</div>
|
98 |
</div>
|
backend/modules/notifications/Page.php
CHANGED
@@ -32,19 +32,23 @@ class Page extends Lib\Base\Component
|
|
32 |
'js/ladda.min.js' => array( 'jquery' ),
|
33 |
)
|
34 |
) );
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
|
|
38 |
'sentSuccessfully' => __( 'Sent successfully.', 'bookly' ),
|
39 |
-
'settingsSaved'
|
40 |
-
'areYouSure'
|
41 |
-
'zeroRecords'
|
42 |
-
'processing'
|
43 |
-
'state'
|
44 |
-
'action'
|
45 |
-
'edit'
|
46 |
-
'gateway'
|
|
|
47 |
) );
|
48 |
-
|
|
|
49 |
}
|
50 |
}
|
32 |
'js/ladda.min.js' => array( 'jquery' ),
|
33 |
)
|
34 |
) );
|
35 |
+
|
36 |
+
$datatables = Lib\Utils\Tables::getSettings( 'email_notifications' );
|
37 |
+
|
38 |
+
wp_localize_script( 'bookly-alert.js', 'BooklyL10n', array(
|
39 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
40 |
'sentSuccessfully' => __( 'Sent successfully.', 'bookly' ),
|
41 |
+
'settingsSaved' => __( 'Settings saved.', 'bookly' ),
|
42 |
+
'areYouSure' => __( 'Are you sure?', 'bookly' ),
|
43 |
+
'zeroRecords' => __( 'No records.', 'bookly' ),
|
44 |
+
'processing' => __( 'Processing...', 'bookly' ),
|
45 |
+
'state' => array( __( 'Disabled', 'bookly' ), __( 'Enabled', 'bookly' ) ),
|
46 |
+
'action' => array( __( 'enable', 'bookly' ), __( 'disable', 'bookly' ) ),
|
47 |
+
'edit' => __( 'Edit', 'bookly' ),
|
48 |
+
'gateway' => 'email',
|
49 |
+
'datatables' => $datatables,
|
50 |
) );
|
51 |
+
|
52 |
+
self::renderTemplate( 'index', compact( 'datatables' ) );
|
53 |
}
|
54 |
}
|
backend/modules/notifications/templates/index.php
CHANGED
@@ -1,10 +1,11 @@
|
|
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
|
5 |
use Bookly\Backend\Components\Support;
|
6 |
use Bookly\Lib\Utils\Common;
|
7 |
use Bookly\Lib\Config;
|
|
|
8 |
?>
|
9 |
<div id="bookly-tbs" class="wrap">
|
10 |
<div class="bookly-tbs-body">
|
@@ -27,16 +28,24 @@ use Bookly\Lib\Config;
|
|
27 |
<div class="form-group">
|
28 |
<?php Buttons::renderCustom( 'bookly-js-settings', 'btn-default', esc_html__( 'General settings...', 'bookly' ) ) ?>
|
29 |
</div>
|
30 |
-
<?php Notifications\Dialog::renderNewNotificationButton() ?>
|
|
|
31 |
</div>
|
32 |
</div>
|
|
|
33 |
<table id="bookly-js-notification-list" class="table table-striped" style="width: 100%">
|
34 |
<thead>
|
35 |
<tr>
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
<th width="16"><input type="checkbox" class="bookly-js-check-all"/></th>
|
41 |
</tr>
|
42 |
</thead>
|
@@ -72,6 +81,7 @@ use Bookly\Lib\Config;
|
|
72 |
|
73 |
<?php $self::renderTemplate( '_test_email_modal' ) ?>
|
74 |
<?php $self::renderTemplate( '_general_settings_modal' ) ?>
|
75 |
-
<?php Notifications\Dialog::render() ?>
|
|
|
76 |
</div>
|
77 |
</div>
|
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;
|
5 |
use Bookly\Backend\Components\Support;
|
6 |
use Bookly\Lib\Utils\Common;
|
7 |
use Bookly\Lib\Config;
|
8 |
+
/** @var array $datatables */
|
9 |
?>
|
10 |
<div id="bookly-tbs" class="wrap">
|
11 |
<div class="bookly-tbs-body">
|
28 |
<div class="form-group">
|
29 |
<?php Buttons::renderCustom( 'bookly-js-settings', 'btn-default', esc_html__( 'General settings...', 'bookly' ) ) ?>
|
30 |
</div>
|
31 |
+
<?php Dialogs\Notifications\Dialog::renderNewNotificationButton() ?>
|
32 |
+
<?php Dialogs\TableSettings\Dialog::renderButton( 'email_notifications', 'BooklyL10n' ) ?>
|
33 |
</div>
|
34 |
</div>
|
35 |
+
|
36 |
<table id="bookly-js-notification-list" class="table table-striped" style="width: 100%">
|
37 |
<thead>
|
38 |
<tr>
|
39 |
+
<?php foreach ( $datatables['email_notifications']['settings']['columns'] as $column => $show ) : ?>
|
40 |
+
<?php if ( $show ) : ?>
|
41 |
+
<?php if ( $column == 'type' ) : ?>
|
42 |
+
<th width="1"></th>
|
43 |
+
<?php else : ?>
|
44 |
+
<th><?php echo $datatables['email_notifications']['titles'][ $column ] ?></th>
|
45 |
+
<?php endif ?>
|
46 |
+
<?php endif ?>
|
47 |
+
<?php endforeach ?>
|
48 |
+
<th width="75"></th>
|
49 |
<th width="16"><input type="checkbox" class="bookly-js-check-all"/></th>
|
50 |
</tr>
|
51 |
</thead>
|
81 |
|
82 |
<?php $self::renderTemplate( '_test_email_modal' ) ?>
|
83 |
<?php $self::renderTemplate( '_general_settings_modal' ) ?>
|
84 |
+
<?php Dialogs\Notifications\Dialog::render() ?>
|
85 |
+
<?php Dialogs\TableSettings\Dialog::render() ?>
|
86 |
</div>
|
87 |
</div>
|
backend/modules/payments/Ajax.php
CHANGED
@@ -65,6 +65,10 @@ class Ajax extends Lib\Base\Ajax
|
|
65 |
|
66 |
$payments = $query->fetchArray();
|
67 |
|
|
|
|
|
|
|
|
|
68 |
$data = array();
|
69 |
$total = 0;
|
70 |
foreach ( $payments as $payment ) {
|
65 |
|
66 |
$payments = $query->fetchArray();
|
67 |
|
68 |
+
unset( $filter['created'] );
|
69 |
+
|
70 |
+
Lib\Utils\Tables::updateSettings( 'payments', null, null, $filter );
|
71 |
+
|
72 |
$data = array();
|
73 |
$total = 0;
|
74 |
foreach ( $payments as $payment ) {
|
backend/modules/payments/Page.php
CHANGED
@@ -38,17 +38,20 @@ class Page extends Lib\Base\Component
|
|
38 |
'module' => array( 'js/payments.js' => array( 'bookly-datatables.min.js', 'bookly-ng-payment_details.js', 'bookly-daterangepicker.js' ) ),
|
39 |
) );
|
40 |
|
|
|
|
|
41 |
wp_localize_script( 'bookly-payments.js', 'BooklyL10n', array(
|
42 |
-
'csrfToken'
|
43 |
-
'datePicker'
|
44 |
-
'dateRange'
|
45 |
-
'zeroRecords'
|
46 |
-
'processing'
|
47 |
-
'details'
|
48 |
-
'areYouSure'
|
49 |
-
'noResultFound'
|
50 |
-
'searching'
|
51 |
-
'
|
|
|
52 |
'enabled' => (int) Lib\Config::invoicesActive(),
|
53 |
'button' => __( 'Invoice', 'bookly' ),
|
54 |
),
|
@@ -70,8 +73,14 @@ class Page extends Lib\Base\Component
|
|
70 |
|
71 |
$providers = Lib\Entities\Staff::query()->select( 'id, full_name' )->sortBy( 'full_name' )->whereNot( 'visibility', 'archive' )->fetchArray();
|
72 |
$services = Lib\Entities\Service::query()->select( 'id, title' )->sortBy( 'title' )->fetchArray();
|
73 |
-
$customers
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
|
75 |
-
self::renderTemplate( 'index', compact( 'types', 'providers', 'services', 'customers' ) );
|
76 |
}
|
77 |
}
|
38 |
'module' => array( 'js/payments.js' => array( 'bookly-datatables.min.js', 'bookly-ng-payment_details.js', 'bookly-daterangepicker.js' ) ),
|
39 |
) );
|
40 |
|
41 |
+
$datatables = Lib\Utils\Tables::getSettings( 'payments' );
|
42 |
+
|
43 |
wp_localize_script( 'bookly-payments.js', 'BooklyL10n', array(
|
44 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
45 |
+
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
46 |
+
'dateRange' => Lib\Utils\DateTime::dateRangeOptions( array( 'lastMonth' => __( 'Last month', 'bookly' ), ) ),
|
47 |
+
'zeroRecords' => __( 'No payments for selected period and criteria.', 'bookly' ),
|
48 |
+
'processing' => __( 'Processing...', 'bookly' ),
|
49 |
+
'details' => __( 'Details', 'bookly' ),
|
50 |
+
'areYouSure' => __( 'Are you sure?', 'bookly' ),
|
51 |
+
'noResultFound' => __( 'No result found', 'bookly' ),
|
52 |
+
'searching' => __( 'Searching', 'bookly' ),
|
53 |
+
'datatables' => $datatables,
|
54 |
+
'invoice' => array(
|
55 |
'enabled' => (int) Lib\Config::invoicesActive(),
|
56 |
'button' => __( 'Invoice', 'bookly' ),
|
57 |
),
|
73 |
|
74 |
$providers = Lib\Entities\Staff::query()->select( 'id, full_name' )->sortBy( 'full_name' )->whereNot( 'visibility', 'archive' )->fetchArray();
|
75 |
$services = Lib\Entities\Service::query()->select( 'id, title' )->sortBy( 'title' )->fetchArray();
|
76 |
+
$customers = Lib\Entities\Customer::query()->count() < Lib\Entities\Customer::REMOTE_LIMIT
|
77 |
+
? array_map( function ( $row ) {
|
78 |
+
unset( $row['id'] );
|
79 |
+
|
80 |
+
return $row;
|
81 |
+
}, Lib\Entities\Customer::query( 'c' )->select( 'c.id, c.full_name, c.email, c.phone' )->indexBy( 'id' )->fetchArray() )
|
82 |
+
: false;
|
83 |
|
84 |
+
self::renderTemplate( 'index', compact( 'types', 'providers', 'services', 'customers', 'datatables' ) );
|
85 |
}
|
86 |
}
|
backend/modules/payments/resources/js/payments.js
CHANGED
@@ -14,6 +14,8 @@ jQuery(function($) {
|
|
14 |
$delete_button = $('#bookly-delete'),
|
15 |
$download_invoice = $('#bookly-download-invoices'),
|
16 |
urlParts = document.URL.split('#'),
|
|
|
|
|
17 |
pickers = {
|
18 |
dateFormat: 'YYYY-MM-DD',
|
19 |
creationDate: {
|
@@ -22,6 +24,8 @@ jQuery(function($) {
|
|
22 |
},
|
23 |
};
|
24 |
|
|
|
|
|
25 |
if (urlParts.length > 1) {
|
26 |
urlParts[1].split('&').forEach(function (part) {
|
27 |
var params = part.split('=');
|
@@ -36,16 +40,48 @@ jQuery(function($) {
|
|
36 |
$('#bookly-filter-' + params[0]).val(params[1]);
|
37 |
}
|
38 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
}
|
40 |
|
41 |
-
$('.bookly-js-select')
|
42 |
-
.val(null)
|
43 |
-
.select2({
|
44 |
allowClear: true,
|
45 |
placeholder: '',
|
46 |
theme: 'bootstrap',
|
47 |
language: {
|
48 |
noResults: function() { return BooklyL10n.noResultFound; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
});
|
51 |
|
@@ -78,69 +114,80 @@ jQuery(function($) {
|
|
78 |
/**
|
79 |
* Init Columns.
|
80 |
*/
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
99 |
}
|
100 |
-
}
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
}
|
112 |
-
return buttons + '<button type="button" class="btn btn-default" data-toggle="modal" data-target="#bookly-payment-details-modal" data-payment_id="' + row.id + '"><i class="glyphicon glyphicon-list-alt"></i> ' + BooklyL10n.details + '</button>';
|
113 |
-
}
|
114 |
-
},
|
115 |
-
{
|
116 |
-
responsivePriority: 1,
|
117 |
-
orderable: false,
|
118 |
-
searchable: false,
|
119 |
-
render: function ( data, type, row, meta ) {
|
120 |
-
return '<input type="checkbox" value="' + row.id + '">';
|
121 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
123 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
|
125 |
/**
|
126 |
* Init DataTables.
|
127 |
*/
|
128 |
var dt = $payments_list.DataTable({
|
129 |
-
order:
|
130 |
-
paging: false,
|
131 |
-
info: false,
|
132 |
-
searching: false,
|
133 |
processing: true,
|
134 |
responsive: true,
|
135 |
serverSide: false,
|
136 |
-
ajax: {
|
137 |
-
url: ajaxurl,
|
138 |
-
type: 'POST',
|
139 |
-
data: function (
|
140 |
-
return $.extend(
|
141 |
-
action: 'bookly_get_payments',
|
142 |
csrf_token: BooklyL10n.csrfToken,
|
143 |
-
filter: {
|
144 |
id : $id_filter.val(),
|
145 |
created : $creationDateFilter.data('date'),
|
146 |
type : $type_filter.val(),
|
@@ -149,7 +196,7 @@ jQuery(function($) {
|
|
149 |
service : $service_filter.val(),
|
150 |
status : $status_filter.val()
|
151 |
}
|
152 |
-
}
|
153 |
},
|
154 |
dataSrc: function (json) {
|
155 |
$payment_total.html(json.total);
|
@@ -157,12 +204,32 @@ jQuery(function($) {
|
|
157 |
return json.data;
|
158 |
}
|
159 |
},
|
160 |
-
columns: columns,
|
161 |
-
language: {
|
162 |
zeroRecords: BooklyL10n.zeroRecords,
|
163 |
-
processing: BooklyL10n.processing
|
164 |
}
|
165 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
|
167 |
/**
|
168 |
* Select all coupons.
|
@@ -171,12 +238,19 @@ jQuery(function($) {
|
|
171 |
$payments_list.find('tbody input:checkbox').prop('checked', this.checked);
|
172 |
});
|
173 |
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
|
181 |
/**
|
182 |
* Init date range picker.
|
@@ -266,10 +340,6 @@ jQuery(function($) {
|
|
266 |
}
|
267 |
});
|
268 |
|
269 |
-
$payments_list.on('click', '[data-action=view-invoice]', function () {
|
270 |
-
window.location = $download_invoice.data('action') + '&invoices=' + $(this).data('payment_id');
|
271 |
-
});
|
272 |
-
|
273 |
$download_invoice.on('click', function () {
|
274 |
var invoices = [];
|
275 |
$payments_list.find('tbody input:checked').each(function () {
|
14 |
$delete_button = $('#bookly-delete'),
|
15 |
$download_invoice = $('#bookly-download-invoices'),
|
16 |
urlParts = document.URL.split('#'),
|
17 |
+
columns = [],
|
18 |
+
order = [],
|
19 |
pickers = {
|
20 |
dateFormat: 'YYYY-MM-DD',
|
21 |
creationDate: {
|
24 |
},
|
25 |
};
|
26 |
|
27 |
+
$('.bookly-js-select').val(null);
|
28 |
+
|
29 |
if (urlParts.length > 1) {
|
30 |
urlParts[1].split('&').forEach(function (part) {
|
31 |
var params = part.split('=');
|
40 |
$('#bookly-filter-' + params[0]).val(params[1]);
|
41 |
}
|
42 |
});
|
43 |
+
} else {
|
44 |
+
$.each(BooklyL10n.datatables.payments.settings.filter, function (field, value) {
|
45 |
+
if (value != '') {
|
46 |
+
let $elem = $('#bookly-filter-' + field);
|
47 |
+
if ($elem.is(':checkbox')) {
|
48 |
+
$elem.prop('checked', value == '1');
|
49 |
+
} else {
|
50 |
+
$elem.val(value);
|
51 |
+
}
|
52 |
+
}
|
53 |
+
// check if select has correct values
|
54 |
+
if ($('#bookly-filter-' + field).prop('type') == 'select-one') {
|
55 |
+
if ($('#bookly-filter-' + field + ' option[value="' + value + '"]').length == 0) {
|
56 |
+
$('#bookly-filter-' + field).val(null);
|
57 |
+
}
|
58 |
+
}
|
59 |
+
});
|
60 |
}
|
61 |
|
62 |
+
$('.bookly-js-select').select2({
|
|
|
|
|
63 |
allowClear: true,
|
64 |
placeholder: '',
|
65 |
theme: 'bootstrap',
|
66 |
language: {
|
67 |
noResults: function() { return BooklyL10n.noResultFound; }
|
68 |
+
},
|
69 |
+
matcher: function (params, data) {
|
70 |
+
const term = $.trim(params.term).toLowerCase();
|
71 |
+
if (term === '' || data.text.toLowerCase().indexOf(term) !== -1) {
|
72 |
+
return data;
|
73 |
+
}
|
74 |
+
|
75 |
+
let result = null;
|
76 |
+
const search = $(data.element).data('search');
|
77 |
+
search &&
|
78 |
+
search.find((text) => {
|
79 |
+
if (result === null && text.toLowerCase().indexOf(term) !== -1) {
|
80 |
+
result = data;
|
81 |
+
}
|
82 |
+
});
|
83 |
+
|
84 |
+
return result;
|
85 |
}
|
86 |
});
|
87 |
|
114 |
/**
|
115 |
* Init Columns.
|
116 |
*/
|
117 |
+
$.each(BooklyL10n.datatables.payments.settings.columns, function (column, show) {
|
118 |
+
if (show) {
|
119 |
+
switch (column) {
|
120 |
+
case 'created':
|
121 |
+
columns.push({
|
122 |
+
data: column, render: function (data, type, row, meta) {
|
123 |
+
return row.created_format;
|
124 |
+
}
|
125 |
+
});
|
126 |
+
break;
|
127 |
+
case 'start_date':
|
128 |
+
columns.push({
|
129 |
+
data: column, render: function (data, type, row, meta) {
|
130 |
+
return row.start_date_format;
|
131 |
+
}
|
132 |
+
});
|
133 |
+
break;
|
134 |
+
case 'customer':
|
135 |
+
columns.push({data: column, render: $.fn.dataTable.render.text()});
|
136 |
+
break;
|
137 |
+
default:
|
138 |
+
columns.push({data: column});
|
139 |
+
break;
|
140 |
}
|
141 |
+
}
|
142 |
+
});
|
143 |
+
columns.push({
|
144 |
+
responsivePriority: 1,
|
145 |
+
orderable: false,
|
146 |
+
searchable: false,
|
147 |
+
width: BooklyL10n.invoice.enabled ? 180 : 90,
|
148 |
+
render: function (data, type, row, meta) {
|
149 |
+
var buttons = '<div style="white-space: nowrap;">';
|
150 |
+
if (BooklyL10n.invoice.enabled) {
|
151 |
+
buttons += '<button type="button" class="btn btn-default bookly-margin-right-md" data-action="view-invoice" data-payment_id="' + row.id + '"><i class="dashicons dashicons-media-text"></i> ' + BooklyL10n.invoice.button + '</button>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
}
|
153 |
+
return buttons + '<button type="button" class="btn btn-default" data-action="show-payment" data-payment_id="' + row.id + '"><i class="glyphicon glyphicon-list-alt"></i> ' + BooklyL10n.details + '</button></div>';
|
154 |
+
}
|
155 |
+
});
|
156 |
+
columns.push({
|
157 |
+
responsivePriority: 1,
|
158 |
+
orderable: false,
|
159 |
+
searchable: false,
|
160 |
+
render: function (data, type, row, meta) {
|
161 |
+
return '<input type="checkbox" value="' + row.id + '">';
|
162 |
}
|
163 |
+
});
|
164 |
+
|
165 |
+
$.each(BooklyL10n.datatables.payments.settings.order, function (_, value) {
|
166 |
+
const index = columns.findIndex(c => c.data === value.column);
|
167 |
+
if (index !== -1) {
|
168 |
+
order.push([index, value.order]);
|
169 |
+
}
|
170 |
+
});
|
171 |
|
172 |
/**
|
173 |
* Init DataTables.
|
174 |
*/
|
175 |
var dt = $payments_list.DataTable({
|
176 |
+
order : order,
|
177 |
+
paging : false,
|
178 |
+
info : false,
|
179 |
+
searching : false,
|
180 |
processing: true,
|
181 |
responsive: true,
|
182 |
serverSide: false,
|
183 |
+
ajax : {
|
184 |
+
url : ajaxurl,
|
185 |
+
type : 'POST',
|
186 |
+
data : function (d) {
|
187 |
+
return $.extend({}, d, {
|
188 |
+
action : 'bookly_get_payments',
|
189 |
csrf_token: BooklyL10n.csrfToken,
|
190 |
+
filter : {
|
191 |
id : $id_filter.val(),
|
192 |
created : $creationDateFilter.data('date'),
|
193 |
type : $type_filter.val(),
|
196 |
service : $service_filter.val(),
|
197 |
status : $status_filter.val()
|
198 |
}
|
199 |
+
});
|
200 |
},
|
201 |
dataSrc: function (json) {
|
202 |
$payment_total.html(json.total);
|
204 |
return json.data;
|
205 |
}
|
206 |
},
|
207 |
+
columns : columns,
|
208 |
+
language : {
|
209 |
zeroRecords: BooklyL10n.zeroRecords,
|
210 |
+
processing : BooklyL10n.processing
|
211 |
}
|
212 |
});
|
213 |
+
dt.on( 'order', function () {
|
214 |
+
let order = [];
|
215 |
+
dt.order().forEach(data => {
|
216 |
+
order.push({
|
217 |
+
column: columns[data[0]].data,
|
218 |
+
order: data[1]
|
219 |
+
});
|
220 |
+
});
|
221 |
+
$.ajax({
|
222 |
+
url : ajaxurl,
|
223 |
+
type : 'POST',
|
224 |
+
data : {
|
225 |
+
action : 'bookly_update_table_order',
|
226 |
+
table: 'payments',
|
227 |
+
csrf_token : BooklyL10n.csrfToken,
|
228 |
+
order : order
|
229 |
+
},
|
230 |
+
dataType : 'json'
|
231 |
+
});
|
232 |
+
});
|
233 |
|
234 |
/**
|
235 |
* Select all coupons.
|
238 |
$payments_list.find('tbody input:checkbox').prop('checked', this.checked);
|
239 |
});
|
240 |
|
241 |
+
$payments_list
|
242 |
+
// On coupon select.
|
243 |
+
.on('change', 'tbody input:checkbox', function () {
|
244 |
+
$check_all_button.prop('checked', $payments_list.find('tbody input:not(:checked)').length == 0);
|
245 |
+
})
|
246 |
+
// Show invoice
|
247 |
+
.on('click', '[data-action=view-invoice]', function () {
|
248 |
+
window.location = $download_invoice.data('action') + '&invoices=' + $(this).data('payment_id');
|
249 |
+
})
|
250 |
+
// show payment details
|
251 |
+
.on('click', '[data-action=show-payment]', function () {
|
252 |
+
$('#bookly-payment-details-modal').modal('show', this);
|
253 |
+
});
|
254 |
|
255 |
/**
|
256 |
* Init date range picker.
|
340 |
}
|
341 |
});
|
342 |
|
|
|
|
|
|
|
|
|
343 |
$download_invoice.on('click', function () {
|
344 |
var invoices = [];
|
345 |
$payments_list.find('tbody input:checked').each(function () {
|
backend/modules/payments/templates/index.php
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
use Bookly\Lib\Entities\Payment;
|
3 |
use Bookly\Backend\Components;
|
4 |
use Bookly\Backend\Modules\Payments\Proxy;
|
|
|
5 |
?>
|
6 |
<div id="bookly-tbs" class="wrap">
|
7 |
<div class="bookly-tbs-body">
|
@@ -13,6 +14,7 @@ use Bookly\Backend\Modules\Payments\Proxy;
|
|
13 |
</div>
|
14 |
<div class="panel panel-default bookly-main">
|
15 |
<div class="panel-body">
|
|
|
16 |
<div class="row">
|
17 |
<div class="col-md-1 col-lg-1">
|
18 |
<div class="form-group">
|
@@ -44,8 +46,8 @@ use Bookly\Backend\Modules\Payments\Proxy;
|
|
44 |
<div class="form-group">
|
45 |
<select class="form-control <?php echo $customers === false ? 'bookly-js-select-ajax' : 'bookly-js-select' ?>" id="bookly-filter-customer" data-placeholder="<?php esc_attr_e( 'Customer', 'bookly' ) ?>" <?php echo $customers === false ? 'data-ajax--action' : 'data-action' ?>="bookly_get_customers_list">
|
46 |
<?php if ( $customers !== false ) : ?>
|
47 |
-
<?php foreach ( $customers as $customer ) : ?>
|
48 |
-
<option value="<?php echo $
|
49 |
<?php endforeach ?>
|
50 |
<?php endif ?>
|
51 |
</select>
|
@@ -82,35 +84,35 @@ use Bookly\Backend\Modules\Payments\Proxy;
|
|
82 |
|
83 |
<table id="bookly-payments-list" class="table table-striped" width="100%">
|
84 |
<thead>
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
<th><?php
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
<th><?php _e( 'Status', 'bookly' ) ?></th>
|
95 |
-
<th></th>
|
96 |
-
<th width="16"><input type="checkbox" id="bookly-check-all"></th>
|
97 |
-
</tr>
|
98 |
</thead>
|
99 |
-
|
|
|
100 |
<tr>
|
101 |
-
|
102 |
-
|
103 |
-
<
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
|
|
|
|
112 |
</tr>
|
113 |
-
|
|
|
114 |
</table>
|
115 |
<div class="text-right bookly-margin-top-lg">
|
116 |
<?php Proxy\Invoices::renderDownloadButton() ?>
|
@@ -123,5 +125,6 @@ use Bookly\Backend\Modules\Payments\Proxy;
|
|
123 |
<div payment-details-dialog></div>
|
124 |
<?php Components\Dialogs\Payment\Dialog::render() ?>
|
125 |
</div>
|
|
|
126 |
</div>
|
127 |
</div>
|
2 |
use Bookly\Lib\Entities\Payment;
|
3 |
use Bookly\Backend\Components;
|
4 |
use Bookly\Backend\Modules\Payments\Proxy;
|
5 |
+
/** @var array $datatables */
|
6 |
?>
|
7 |
<div id="bookly-tbs" class="wrap">
|
8 |
<div class="bookly-tbs-body">
|
14 |
</div>
|
15 |
<div class="panel panel-default bookly-main">
|
16 |
<div class="panel-body">
|
17 |
+
<?php Components\Dialogs\TableSettings\Dialog::renderButton( 'payments' ) ?>
|
18 |
<div class="row">
|
19 |
<div class="col-md-1 col-lg-1">
|
20 |
<div class="form-group">
|
46 |
<div class="form-group">
|
47 |
<select class="form-control <?php echo $customers === false ? 'bookly-js-select-ajax' : 'bookly-js-select' ?>" id="bookly-filter-customer" data-placeholder="<?php esc_attr_e( 'Customer', 'bookly' ) ?>" <?php echo $customers === false ? 'data-ajax--action' : 'data-action' ?>="bookly_get_customers_list">
|
48 |
<?php if ( $customers !== false ) : ?>
|
49 |
+
<?php foreach ( $customers as $customer_id => $customer ) : ?>
|
50 |
+
<option value="<?php echo $customer_id ?>" data-search='<?php echo json_encode( array_values( $customer ) ) ?>'><?php echo esc_html( $customer['full_name'] ) ?></option>
|
51 |
<?php endforeach ?>
|
52 |
<?php endif ?>
|
53 |
</select>
|
84 |
|
85 |
<table id="bookly-payments-list" class="table table-striped" width="100%">
|
86 |
<thead>
|
87 |
+
<tr>
|
88 |
+
<?php foreach ( $datatables['payments']['settings']['columns'] as $column => $show ) : ?>
|
89 |
+
<?php if ( $show ) : ?>
|
90 |
+
<th><?php echo $datatables['payments']['titles'][ $column ] ?></th>
|
91 |
+
<?php endif ?>
|
92 |
+
<?php endforeach ?>
|
93 |
+
<th></th>
|
94 |
+
<th width="16"><input type="checkbox" id="bookly-check-all"/></th>
|
95 |
+
</tr>
|
|
|
|
|
|
|
|
|
96 |
</thead>
|
97 |
+
<?php if ( key_exists( 'paid', $datatables['payments']['settings']['columns'] ) && $datatables['payments']['settings']['columns']['paid'] ) : ?>
|
98 |
+
<tfoot>
|
99 |
<tr>
|
100 |
+
<?php $columns = array_filter( $datatables['payments']['settings']['columns'] ) ?>
|
101 |
+
<?php $index = array_search( 'paid', array_keys( $columns ) ) ?>
|
102 |
+
<?php for ( $column = 0; $column < count( $columns ) + 2; $column ++ ) : ?>
|
103 |
+
<?php if ( $column == $index - 1 ) : ?>
|
104 |
+
<th>
|
105 |
+
<div class="pull-right"><?php _e( 'Total', 'bookly' ) ?>:</div>
|
106 |
+
</th>
|
107 |
+
<?php elseif ( $column == $index ) : ?>
|
108 |
+
<th><span id="bookly-payment-total"></span></th>
|
109 |
+
<?php else : ?>
|
110 |
+
<th></th>
|
111 |
+
<?php endif ?>
|
112 |
+
<?php endfor ?>
|
113 |
</tr>
|
114 |
+
</tfoot>
|
115 |
+
<?php endif ?>
|
116 |
</table>
|
117 |
<div class="text-right bookly-margin-top-lg">
|
118 |
<?php Proxy\Invoices::renderDownloadButton() ?>
|
125 |
<div payment-details-dialog></div>
|
126 |
<?php Components\Dialogs\Payment\Dialog::render() ?>
|
127 |
</div>
|
128 |
+
<?php Components\Dialogs\TableSettings\Dialog::render() ?>
|
129 |
</div>
|
130 |
</div>
|
backend/modules/services/Ajax.php
CHANGED
@@ -16,35 +16,92 @@ class Ajax extends Page
|
|
16 |
*/
|
17 |
public static function getServices()
|
18 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
$query = Lib\Entities\Service::query( 's' )
|
20 |
-
->
|
21 |
-
->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
$type_icons = Proxy\Shared::prepareServiceIcons( array( Lib\Entities\Service::TYPE_SIMPLE => 'fa-calendar-day' ) );
|
24 |
|
25 |
$data = array();
|
26 |
/** @var Lib\Entities\Service $service */
|
27 |
-
foreach ( $query->
|
28 |
-
$sub_services_count = count( $service->getSubServices() );
|
29 |
-
$data[]
|
30 |
-
'id'
|
31 |
-
'title'
|
32 |
-
'position'
|
33 |
-
'
|
34 |
-
'colors'
|
35 |
-
'type'
|
36 |
-
'type_icon'
|
37 |
-
'price'
|
38 |
-
'duration'
|
39 |
Lib\Entities\Service::TYPE_COLLABORATIVE,
|
40 |
Lib\Entities\Service::TYPE_COMPOUND,
|
41 |
) )
|
42 |
? sprintf( _n( '%d service', '%d services', $sub_services_count, 'bookly' ), $sub_services_count )
|
43 |
-
: Lib\Utils\DateTime::secondsToInterval( $service
|
44 |
);
|
45 |
}
|
46 |
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
}
|
49 |
|
50 |
/**
|
@@ -265,7 +322,7 @@ class Ajax extends Page
|
|
265 |
// Update services in addons.
|
266 |
$alert = Proxy\Shared::updateService( array( 'success' => array( __( 'Settings saved.', 'bookly' ) ) ), $service, self::postParameters() );
|
267 |
|
268 |
-
wp_send_json_success( Proxy\Shared::prepareUpdateServiceResponse(
|
269 |
}
|
270 |
|
271 |
/**
|
16 |
*/
|
17 |
public static function getServices()
|
18 |
{
|
19 |
+
$columns = self::parameter( 'columns' );
|
20 |
+
$order = self::parameter( 'order', array() );
|
21 |
+
$filter = self::parameter( 'filter' );
|
22 |
+
$limits = array(
|
23 |
+
'length' => self::parameter( 'length' ),
|
24 |
+
'start' => self::parameter( 'start' ),
|
25 |
+
);
|
26 |
+
|
27 |
$query = Lib\Entities\Service::query( 's' )
|
28 |
+
->select( 's.*, c.name AS category_name' )
|
29 |
+
->leftJoin( 'Category', 'c', 'c.id = s.category_id' )
|
30 |
+
->whereIn( 's.type', array_keys( Proxy\Shared::prepareServiceTypes( array( Lib\Entities\Service::TYPE_SIMPLE => Lib\Entities\Service::TYPE_SIMPLE ) ) ) );
|
31 |
+
|
32 |
+
foreach ( $order as $sort_by ) {
|
33 |
+
$query->sortBy( str_replace( '.', '_', $columns[ $sort_by['column'] ]['data'] ) )
|
34 |
+
->order( $sort_by['dir'] == 'desc' ? Lib\Query::ORDER_DESCENDING : Lib\Query::ORDER_ASCENDING );
|
35 |
+
}
|
36 |
+
|
37 |
+
$total = $query->count();
|
38 |
+
|
39 |
+
if ( $filter['category'] != '' ) {
|
40 |
+
$query->where( 's.category_id', $filter['category'] );
|
41 |
+
}
|
42 |
+
|
43 |
+
if ( $filter['search'] != '' ) {
|
44 |
+
$fields = array();
|
45 |
+
foreach ( $columns as $column ) {
|
46 |
+
switch ( $column['data'] ) {
|
47 |
+
case 'category_name':
|
48 |
+
$fields[] = 'c.name';
|
49 |
+
break;
|
50 |
+
case 'title':
|
51 |
+
$fields[] = 's.title';
|
52 |
+
break;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
|
56 |
+
$search_columns = array();
|
57 |
+
foreach ( $fields as $field ) {
|
58 |
+
$search_columns[] = $field . ' LIKE "%%%s%"';
|
59 |
+
}
|
60 |
+
if ( ! empty( $search_columns ) ) {
|
61 |
+
$query->whereRaw( implode( ' OR ', $search_columns ), array_fill( 0, count( $search_columns ), $filter['search'] ) );
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
$filtered = $query->count();
|
66 |
+
|
67 |
+
if ( ! empty( $limits ) ) {
|
68 |
+
$query->limit( $limits['length'] )->offset( $limits['start'] );
|
69 |
+
}
|
70 |
|
71 |
$type_icons = Proxy\Shared::prepareServiceIcons( array( Lib\Entities\Service::TYPE_SIMPLE => 'fa-calendar-day' ) );
|
72 |
|
73 |
$data = array();
|
74 |
/** @var Lib\Entities\Service $service */
|
75 |
+
foreach ( $query->fetchArray() as $service ) {
|
76 |
+
$sub_services_count = count( Lib\Entities\Service::find( $service['id'] )->getSubServices() );
|
77 |
+
$data[] = array(
|
78 |
+
'id' => $service['id'],
|
79 |
+
'title' => $service['title'],
|
80 |
+
'position' => sprintf( '%05d-%05d', $service['position'], $service['id'] ),
|
81 |
+
'category_name' => $service['category_name'],
|
82 |
+
'colors' => Proxy\Shared::prepareServiceColors( array_fill( 0, 3, $service['color'] ), $service['id'], $service['type'] ),
|
83 |
+
'type' => ucfirst( $service['type'] ),
|
84 |
+
'type_icon' => $type_icons[ $service['type'] ],
|
85 |
+
'price' => Lib\Utils\Price::format( $service['price'] ),
|
86 |
+
'duration' => in_array( $service['type'], array(
|
87 |
Lib\Entities\Service::TYPE_COLLABORATIVE,
|
88 |
Lib\Entities\Service::TYPE_COMPOUND,
|
89 |
) )
|
90 |
? sprintf( _n( '%d service', '%d services', $sub_services_count, 'bookly' ), $sub_services_count )
|
91 |
+
: Lib\Utils\DateTime::secondsToInterval( $service['duration'] ),
|
92 |
);
|
93 |
}
|
94 |
|
95 |
+
unset( $filter['search'] );
|
96 |
+
|
97 |
+
Lib\Utils\Tables::updateSettings( 'services', $columns, $order, $filter );
|
98 |
+
|
99 |
+
wp_send_json( array(
|
100 |
+
'draw' => ( int ) self::parameter( 'draw' ),
|
101 |
+
'data' => $data,
|
102 |
+
'recordsTotal' => $total,
|
103 |
+
'recordsFiltered' => $filtered,
|
104 |
+
) );
|
105 |
}
|
106 |
|
107 |
/**
|
322 |
// Update services in addons.
|
323 |
$alert = Proxy\Shared::updateService( array( 'success' => array( __( 'Settings saved.', 'bookly' ) ) ), $service, self::postParameters() );
|
324 |
|
325 |
+
wp_send_json_success( Proxy\Shared::prepareUpdateServiceResponse( compact( 'alert' ), $service, self::postParameters() ) );
|
326 |
}
|
327 |
|
328 |
/**
|
backend/modules/services/Page.php
CHANGED
@@ -19,7 +19,7 @@ class Page extends Lib\Base\Ajax
|
|
19 |
self::enqueueStyles( array(
|
20 |
'wp' => array( 'wp-color-picker' ),
|
21 |
'frontend' => array( 'css/ladda.min.css' ),
|
22 |
-
'backend' => array( 'bootstrap/css/bootstrap-theme.min.css' ),
|
23 |
) );
|
24 |
|
25 |
self::enqueueScripts( array(
|
@@ -30,6 +30,7 @@ class Page extends Lib\Base\Ajax
|
|
30 |
'js/alert.js' => array( 'jquery' ),
|
31 |
'js/dropdown.js' => array( 'jquery' ),
|
32 |
'js/range_tools.js' => array( 'jquery' ),
|
|
|
33 |
),
|
34 |
'module' => array( 'js/services-list.js' => array( 'jquery-ui-sortable', 'bookly-dropdown.js' ) ),
|
35 |
'frontend' => array(
|
@@ -45,29 +46,36 @@ class Page extends Lib\Base\Ajax
|
|
45 |
}
|
46 |
}
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
wp_localize_script( 'bookly-services-list.js', 'BooklyL10n', array(
|
49 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
50 |
-
'are_you_sure' =>
|
51 |
-
'edit' =>
|
52 |
'reorder' => esc_attr__( 'Reorder', 'bookly' ),
|
53 |
'staff' => $staff,
|
54 |
-
'categories' =>
|
55 |
-
'uncategorized' =>
|
56 |
-
'
|
57 |
-
'
|
|
|
|
|
58 |
'show_type' => count( Proxy\Shared::prepareServiceTypes( array() ) ) > 0,
|
|
|
59 |
) );
|
60 |
|
61 |
// Allow add-ons to enqueue their assets.
|
62 |
Proxy\Shared::enqueueAssetsForServices();
|
63 |
|
64 |
-
$services = Lib\Entities\Service::query( 's' )
|
65 |
-
->whereIn( 's.type', array_keys( Proxy\Shared::prepareServiceTypes( array( Lib\Entities\Service::TYPE_SIMPLE => Lib\Entities\Service::TYPE_SIMPLE ) ) ) )
|
66 |
-
->sortBy( 'position' )
|
67 |
-
->fetchArray();
|
68 |
foreach ( $services as &$service ) {
|
69 |
-
$service['colors']
|
70 |
-
$service['sub_services']
|
71 |
->where( 'service_id', $service['id'] )
|
72 |
->sortBy( 'position' )
|
73 |
->fetchArray();
|
@@ -77,6 +85,8 @@ class Page extends Lib\Base\Ajax
|
|
77 |
}
|
78 |
$data['services'] = $services;
|
79 |
$data['service_types'] = Proxy\Shared::prepareServiceTypes( array( Lib\Entities\Service::TYPE_SIMPLE => __( 'Simple', 'bookly' ) ) );
|
|
|
|
|
80 |
|
81 |
self::renderTemplate( 'index', $data );
|
82 |
}
|
19 |
self::enqueueStyles( array(
|
20 |
'wp' => array( 'wp-color-picker' ),
|
21 |
'frontend' => array( 'css/ladda.min.css' ),
|
22 |
+
'backend' => array( 'bootstrap/css/bootstrap-theme.min.css', 'css/select2.min.css', ),
|
23 |
) );
|
24 |
|
25 |
self::enqueueScripts( array(
|
30 |
'js/alert.js' => array( 'jquery' ),
|
31 |
'js/dropdown.js' => array( 'jquery' ),
|
32 |
'js/range_tools.js' => array( 'jquery' ),
|
33 |
+
'js/select2.full.min.js' => array( 'jquery' ),
|
34 |
),
|
35 |
'module' => array( 'js/services-list.js' => array( 'jquery-ui-sortable', 'bookly-dropdown.js' ) ),
|
36 |
'frontend' => array(
|
46 |
}
|
47 |
}
|
48 |
|
49 |
+
$services = Lib\Entities\Service::query( 's' )
|
50 |
+
->whereIn( 's.type', array_keys( Proxy\Shared::prepareServiceTypes( array( Lib\Entities\Service::TYPE_SIMPLE => Lib\Entities\Service::TYPE_SIMPLE ) ) ) )
|
51 |
+
->sortBy( 'position' )
|
52 |
+
->fetchArray();
|
53 |
+
$categories = Lib\Entities\Category::query()->sortBy( 'position' )->fetchArray();
|
54 |
+
|
55 |
+
$datatables = Lib\Utils\Tables::getSettings( 'services' );
|
56 |
+
|
57 |
wp_localize_script( 'bookly-services-list.js', 'BooklyL10n', array(
|
58 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
59 |
+
'are_you_sure' => esc_attr__( 'Are you sure?', 'bookly' ),
|
60 |
+
'edit' => esc_attr__( 'Edit', 'bookly' ),
|
61 |
'reorder' => esc_attr__( 'Reorder', 'bookly' ),
|
62 |
'staff' => $staff,
|
63 |
+
'categories' => $categories,
|
64 |
+
'uncategorized' => esc_attr__( 'Uncategorized', 'bookly' ),
|
65 |
+
'services' => $services,
|
66 |
+
'capacity_error' => esc_attr__( 'Min capacity should not be greater than max capacity.', 'bookly' ),
|
67 |
+
'recurrence_error' => esc_attr__( 'You must select at least one repeat option for recurring services.', 'bookly' ),
|
68 |
+
'noResultFound' => esc_attr__( 'No result found', 'bookly' ),
|
69 |
'show_type' => count( Proxy\Shared::prepareServiceTypes( array() ) ) > 0,
|
70 |
+
'datatables' => $datatables,
|
71 |
) );
|
72 |
|
73 |
// Allow add-ons to enqueue their assets.
|
74 |
Proxy\Shared::enqueueAssetsForServices();
|
75 |
|
|
|
|
|
|
|
|
|
76 |
foreach ( $services as &$service ) {
|
77 |
+
$service['colors'] = Proxy\Shared::prepareServiceColors( array_fill( 0, 3, $service['color'] ), $service['id'], $service['type'] );
|
78 |
+
$service['sub_services'] = Lib\Entities\SubService::query()
|
79 |
->where( 'service_id', $service['id'] )
|
80 |
->sortBy( 'position' )
|
81 |
->fetchArray();
|
85 |
}
|
86 |
$data['services'] = $services;
|
87 |
$data['service_types'] = Proxy\Shared::prepareServiceTypes( array( Lib\Entities\Service::TYPE_SIMPLE => __( 'Simple', 'bookly' ) ) );
|
88 |
+
$data['categories'] = $categories;
|
89 |
+
$data['datatables'] = $datatables;
|
90 |
|
91 |
self::renderTemplate( 'index', $data );
|
92 |
}
|
backend/modules/services/resources/js/services-list.js
CHANGED
@@ -1,100 +1,129 @@
|
|
1 |
jQuery(function ($) {
|
2 |
-
|
3 |
-
$checkAllButton = $('
|
4 |
-
|
|
|
|
|
|
|
5 |
$deleteButton = $('#bookly-delete'),
|
6 |
$deleteModal = $('.bookly-js-delete-cascade-confirm'),
|
7 |
-
|
|
|
|
|
8 |
;
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
{
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
18 |
-
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
if (BooklyL10n.show_type) {
|
21 |
columns.push({
|
22 |
-
|
|
|
|
|
23 |
return '<i class="fa fa-fw ' + row.type_icon + '" title="' + row.type + '"></i>';
|
24 |
},
|
25 |
-
responsivePriority: 2
|
26 |
});
|
27 |
}
|
28 |
-
columns
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
{
|
57 |
-
data : 'price',
|
58 |
-
responsivePriority: 3
|
59 |
-
},
|
60 |
-
{
|
61 |
-
responsivePriority: 1,
|
62 |
-
searchable : false,
|
63 |
-
render : function (data, type, row, meta) {
|
64 |
-
return '<button type="button" class="btn btn-default bookly-js-edit" data-action="edit"><i class="fa fa-fw fa-edit"></i> ' + BooklyL10n.edit + '</a>';
|
65 |
-
}
|
66 |
-
},
|
67 |
-
{
|
68 |
-
responsivePriority: 1,
|
69 |
-
searchable : false,
|
70 |
-
render : function (data, type, row, meta) {
|
71 |
-
return '<input type="checkbox" class="bookly-js-delete" value="' + row.id + '" />';
|
72 |
}
|
73 |
}
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
/**
|
76 |
-
*
|
77 |
*/
|
78 |
var dt = $servicesList.DataTable({
|
79 |
-
|
80 |
-
info
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
},
|
90 |
-
order : [0, 'asc'],
|
91 |
-
columnDefs: [
|
92 |
-
{visible: false, targets: 0},
|
93 |
-
{orderable: false, targets: '_all'}
|
94 |
-
],
|
95 |
-
ajax : {
|
96 |
url : ajaxurl,
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
},
|
99 |
columns : columns,
|
100 |
dom : "<'row'<'col-sm-6'<'pull-left'>><'col-sm-6'>>" +
|
@@ -104,35 +133,14 @@ jQuery(function ($) {
|
|
104 |
zeroRecords: BooklyL10n.zeroRecords,
|
105 |
processing : BooklyL10n.processing
|
106 |
}
|
107 |
-
}).on('row-reordered', function (e, diff, edit) {
|
108 |
-
let positions = [];
|
109 |
-
dt.data().each(function (item) {
|
110 |
-
positions.push({position: parseInt(item.position), id: item.id});
|
111 |
-
});
|
112 |
-
$.ajax({
|
113 |
-
url : ajaxurl,
|
114 |
-
type : 'POST',
|
115 |
-
data : {
|
116 |
-
action : 'bookly_update_services_position',
|
117 |
-
csrf_token : BooklyL10n.csrfToken,
|
118 |
-
positions : (positions.sort((a, b) => a.position - b.position))
|
119 |
-
.map(function (value) {
|
120 |
-
return value.id;
|
121 |
-
})
|
122 |
-
},
|
123 |
-
dataType: 'json',
|
124 |
-
success : function (response) {
|
125 |
-
|
126 |
-
}
|
127 |
-
});
|
128 |
});
|
129 |
|
130 |
/**
|
131 |
-
* On
|
132 |
*/
|
133 |
-
|
134 |
.on('keyup', function () {
|
135 |
-
dt.
|
136 |
})
|
137 |
.on('keydown', function (e) {
|
138 |
if (e.keyCode == 13) {
|
@@ -141,6 +149,10 @@ jQuery(function ($) {
|
|
141 |
}
|
142 |
})
|
143 |
;
|
|
|
|
|
|
|
|
|
144 |
|
145 |
/**
|
146 |
* Select all appointments.
|
@@ -197,8 +209,8 @@ jQuery(function ($) {
|
|
197 |
break;
|
198 |
}
|
199 |
} else {
|
200 |
-
$(document.body).trigger('service.deleted', [services]);
|
201 |
dt.rows($checkboxes.closest('td')).remove().draw();
|
|
|
202 |
}
|
203 |
ladda.stop();
|
204 |
});
|
@@ -206,4 +218,15 @@ jQuery(function ($) {
|
|
206 |
|
207 |
delete_services(ajaxurl, data);
|
208 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
});
|
1 |
jQuery(function ($) {
|
2 |
+
let $servicesList = $('#services-list'),
|
3 |
+
$checkAllButton = $('#bookly-check-all'),
|
4 |
+
filters = {
|
5 |
+
category: $('#bookly-filter-category'),
|
6 |
+
search: $('#bookly-filter-search')
|
7 |
+
},
|
8 |
$deleteButton = $('#bookly-delete'),
|
9 |
$deleteModal = $('.bookly-js-delete-cascade-confirm'),
|
10 |
+
urlParts = document.URL.split('#'),
|
11 |
+
columns = [],
|
12 |
+
order = []
|
13 |
;
|
14 |
+
|
15 |
+
$('.bookly-js-select').val(null);
|
16 |
+
|
17 |
+
// Apply filter from anchor
|
18 |
+
if (urlParts.length > 1) {
|
19 |
+
urlParts[1].split('&').forEach(function (part) {
|
20 |
+
var params = part.split('=');
|
21 |
+
$('#bookly-filter-' + params[0]).val(params[1]);
|
22 |
+
});
|
23 |
+
} else {
|
24 |
+
$.each(BooklyL10n.datatables.services.settings.filter, function (field, value) {
|
25 |
+
if (value != '') {
|
26 |
+
$('#bookly-filter-' + field).val(value);
|
27 |
}
|
28 |
+
// check if select has correct values
|
29 |
+
if ($('#bookly-filter-' + field).prop('type') == 'select-one') {
|
30 |
+
if ($('#bookly-filter-' + field + ' option[value="' + value + '"]').length == 0) {
|
31 |
+
$('#bookly-filter-' + field).val(null);
|
32 |
+
}
|
33 |
+
}
|
34 |
+
});
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Init Columns.
|
39 |
+
*/
|
40 |
if (BooklyL10n.show_type) {
|
41 |
columns.push({
|
42 |
+
responsivePriority: 1,
|
43 |
+
orderable: false,
|
44 |
+
render: function (data, type, row, meta) {
|
45 |
return '<i class="fa fa-fw ' + row.type_icon + '" title="' + row.type + '"></i>';
|
46 |
},
|
|
|
47 |
});
|
48 |
}
|
49 |
+
columns.push({
|
50 |
+
responsivePriority: 1,
|
51 |
+
orderable: false,
|
52 |
+
render: function (data, type, row, meta) {
|
53 |
+
return '<i class="fa fa-fw fa-circle" style="color:' + row.colors[0] + ';">';
|
54 |
+
}
|
55 |
+
});
|
56 |
+
|
57 |
+
$.each(BooklyL10n.datatables.services.settings.columns, function (column, show) {
|
58 |
+
if (show) {
|
59 |
+
switch (column) {
|
60 |
+
case 'category_id':
|
61 |
+
columns.push({
|
62 |
+
data: column,
|
63 |
+
render: function (data, type, row, meta) {
|
64 |
+
if (row.category != null) {
|
65 |
+
return BooklyL10n.categories.find(function (category) {
|
66 |
+
return category.id === row.category;
|
67 |
+
}).name;
|
68 |
+
} else {
|
69 |
+
return BooklyL10n.uncategorized;
|
70 |
+
}
|
71 |
+
}
|
72 |
+
});
|
73 |
+
break;
|
74 |
+
default:
|
75 |
+
columns.push({data: column});
|
76 |
+
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
}
|
78 |
}
|
79 |
+
});
|
80 |
+
columns.push({
|
81 |
+
responsivePriority: 1,
|
82 |
+
orderable: false,
|
83 |
+
searchable: false,
|
84 |
+
width: 90,
|
85 |
+
render: function (data, type, row, meta) {
|
86 |
+
return '<button type="button" class="btn btn-default" data-action="edit"><i class="fa fa-fw fa-edit"></i> ' + BooklyL10n.edit + '</a>';
|
87 |
+
}
|
88 |
+
});
|
89 |
+
columns.push({
|
90 |
+
responsivePriority: 1,
|
91 |
+
orderable: false,
|
92 |
+
searchable: false,
|
93 |
+
render: function (data, type, row, meta) {
|
94 |
+
return '<input type="checkbox" value="' + row.id + '">';
|
95 |
+
}
|
96 |
+
});
|
97 |
+
$.each(BooklyL10n.datatables.services.settings.order, function (_, value) {
|
98 |
+
const index = columns.findIndex(c => c.data === value.column);
|
99 |
+
if (index !== -1) {
|
100 |
+
order.push([index, value.order]);
|
101 |
+
}
|
102 |
+
});
|
103 |
+
|
104 |
/**
|
105 |
+
* Init DataTables.
|
106 |
*/
|
107 |
var dt = $servicesList.DataTable({
|
108 |
+
order : order,
|
109 |
+
info : false,
|
110 |
+
searching : false,
|
111 |
+
lengthChange: false,
|
112 |
+
processing : true,
|
113 |
+
responsive : true,
|
114 |
+
pageLength : 25,
|
115 |
+
pagingType : 'numbers',
|
116 |
+
serverSide : true,
|
117 |
+
ajax : {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
url : ajaxurl,
|
119 |
+
type: 'POST',
|
120 |
+
data: function (d) {
|
121 |
+
let data = $.extend({action: 'bookly_get_services', csrf_token: BooklyL10n.csrfToken, filter: {}}, d);
|
122 |
+
|
123 |
+
Object.keys(filters).map(filter => data.filter[filter] = filters[filter].val());
|
124 |
+
|
125 |
+
return data;
|
126 |
+
}
|
127 |
},
|
128 |
columns : columns,
|
129 |
dom : "<'row'<'col-sm-6'<'pull-left'>><'col-sm-6'>>" +
|
133 |
zeroRecords: BooklyL10n.zeroRecords,
|
134 |
processing : BooklyL10n.processing
|
135 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
});
|
137 |
|
138 |
/**
|
139 |
+
* On filter search change.
|
140 |
*/
|
141 |
+
filters.search
|
142 |
.on('keyup', function () {
|
143 |
+
dt.ajax.reload();
|
144 |
})
|
145 |
.on('keydown', function (e) {
|
146 |
if (e.keyCode == 13) {
|
149 |
}
|
150 |
})
|
151 |
;
|
152 |
+
filters.category
|
153 |
+
.on('change', function () {
|
154 |
+
dt.ajax.reload();
|
155 |
+
});
|
156 |
|
157 |
/**
|
158 |
* Select all appointments.
|
209 |
break;
|
210 |
}
|
211 |
} else {
|
|
|
212 |
dt.rows($checkboxes.closest('td')).remove().draw();
|
213 |
+
$(document.body).trigger('service.deleted', [service_ids]);
|
214 |
}
|
215 |
ladda.stop();
|
216 |
});
|
218 |
|
219 |
delete_services(ajaxurl, data);
|
220 |
});
|
221 |
+
|
222 |
+
$('.bookly-js-select')
|
223 |
+
.select2({
|
224 |
+
width: '100%',
|
225 |
+
theme: 'bootstrap',
|
226 |
+
allowClear: true,
|
227 |
+
placeholder: '',
|
228 |
+
language : {
|
229 |
+
noResults: function() { return BooklyL10n.noResultFound; }
|
230 |
+
}
|
231 |
+
});
|
232 |
});
|
backend/modules/services/templates/index.php
CHANGED
@@ -3,6 +3,11 @@ use Bookly\Backend\Components\Controls;
|
|
3 |
use Bookly\Backend\Components\Support;
|
4 |
use Bookly\Backend\Modules\Services\Proxy;
|
5 |
use Bookly\Backend\Components\Dialogs;
|
|
|
|
|
|
|
|
|
|
|
6 |
?>
|
7 |
<div id="bookly-tbs" class="wrap">
|
8 |
<div class="bookly-tbs-body">
|
@@ -15,35 +20,50 @@ use Bookly\Backend\Components\Dialogs;
|
|
15 |
<div class="panel panel-default bookly-main">
|
16 |
<div class="panel-body">
|
17 |
<div class="row">
|
18 |
-
<div class="col-md-
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
<div class="form-group">
|
20 |
-
|
21 |
</div>
|
|
|
22 |
</div>
|
23 |
-
|
|
|
|
|
24 |
<div class="form-group">
|
25 |
-
|
26 |
</div>
|
|
|
|
|
27 |
<div class="form-group">
|
28 |
-
|
|
|
|
|
|
|
|
|
29 |
</div>
|
30 |
</div>
|
31 |
</div>
|
|
|
32 |
<table id="services-list" class="table table-striped" style="width: 100%">
|
33 |
<thead>
|
34 |
<tr>
|
35 |
-
<th style="display: none;"></th>
|
36 |
-
<th width="24"></th>
|
37 |
<?php if ( Proxy\Shared::prepareServiceTypes( array() ) ) : ?>
|
38 |
<th width="24"></th>
|
39 |
<?php endif ?>
|
40 |
<th width="24"></th>
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
|
|
45 |
<th width="75"></th>
|
46 |
-
<th width="16"><input type="checkbox"
|
47 |
</tr>
|
48 |
</thead>
|
49 |
</table>
|
@@ -57,6 +77,8 @@ use Bookly\Backend\Components\Dialogs;
|
|
57 |
<?php Dialogs\Service\Create\Dialog::render() ?>
|
58 |
<?php Dialogs\Service\Edit\Dialog::render() ?>
|
59 |
<?php Dialogs\Service\Categories\Dialog::render() ?>
|
|
|
|
|
60 |
<div id="bookly-update-service-settings" class="modal fade" tabindex=-1 role="dialog">
|
61 |
<div class="modal-dialog modal-lg">
|
62 |
<div class="modal-content">
|
3 |
use Bookly\Backend\Components\Support;
|
4 |
use Bookly\Backend\Modules\Services\Proxy;
|
5 |
use Bookly\Backend\Components\Dialogs;
|
6 |
+
/**
|
7 |
+
* @var array $categories
|
8 |
+
* @var array $datatables
|
9 |
+
* @var array $services
|
10 |
+
*/
|
11 |
?>
|
12 |
<div id="bookly-tbs" class="wrap">
|
13 |
<div class="bookly-tbs-body">
|
20 |
<div class="panel panel-default bookly-main">
|
21 |
<div class="panel-body">
|
22 |
<div class="row">
|
23 |
+
<div class="col-md-12 form-inline bookly-margin-bottom-lg text-right">
|
24 |
+
<div class="form-group">
|
25 |
+
<?php Controls\Buttons::renderModalActivator( 'bookly-service-order-modal', 'btn-default bookly-btn-block-xs', esc_html__( 'Services order', 'bookly' ) ) ?>
|
26 |
+
</div>
|
27 |
+
<div class="form-group">
|
28 |
+
<?php Controls\Buttons::renderModalActivator( 'bookly-service-categories-modal', null, esc_html__( 'Categories', 'bookly' ) ) ?>
|
29 |
+
</div>
|
30 |
<div class="form-group">
|
31 |
+
<?php Controls\Buttons::renderModalActivator( 'bookly-create-service-modal', 'btn-success', esc_html__( 'Add service', 'bookly' ), array(), '<i class="fa fa-fw fa-plus"></i> {caption}' ) ?>
|
32 |
</div>
|
33 |
+
<?php Dialogs\TableSettings\Dialog::renderButton( 'services' ) ?>
|
34 |
</div>
|
35 |
+
</div>
|
36 |
+
<div class="row">
|
37 |
+
<div class="col-md-4">
|
38 |
<div class="form-group">
|
39 |
+
<input class="form-control" type="text" id="bookly-filter-search" placeholder="<?php esc_attr_e( 'Quick search services', 'bookly' ) ?>"/>
|
40 |
</div>
|
41 |
+
</div>
|
42 |
+
<div class="col-md-3 col-lg-2">
|
43 |
<div class="form-group">
|
44 |
+
<select class="form-control bookly-js-select" id="bookly-filter-category" data-placeholder="<?php esc_attr_e( 'Categories', 'bookly' ) ?>">
|
45 |
+
<?php foreach ( $categories as $category ) : ?>
|
46 |
+
<option value="<?php echo $category['id'] ?>"><?php echo esc_html( $category['name'] ) ?></option>
|
47 |
+
<?php endforeach ?>
|
48 |
+
</select>
|
49 |
</div>
|
50 |
</div>
|
51 |
</div>
|
52 |
+
|
53 |
<table id="services-list" class="table table-striped" style="width: 100%">
|
54 |
<thead>
|
55 |
<tr>
|
|
|
|
|
56 |
<?php if ( Proxy\Shared::prepareServiceTypes( array() ) ) : ?>
|
57 |
<th width="24"></th>
|
58 |
<?php endif ?>
|
59 |
<th width="24"></th>
|
60 |
+
<?php foreach ( $datatables['services']['settings']['columns'] as $column => $show ) : ?>
|
61 |
+
<?php if ( $show ) : ?>
|
62 |
+
<th><?php echo $datatables['services']['titles'][ $column ] ?></th>
|
63 |
+
<?php endif ?>
|
64 |
+
<?php endforeach ?>
|
65 |
<th width="75"></th>
|
66 |
+
<th width="16"><input type="checkbox" id="bookly-check-all" /></th>
|
67 |
</tr>
|
68 |
</thead>
|
69 |
</table>
|
77 |
<?php Dialogs\Service\Create\Dialog::render() ?>
|
78 |
<?php Dialogs\Service\Edit\Dialog::render() ?>
|
79 |
<?php Dialogs\Service\Categories\Dialog::render() ?>
|
80 |
+
<?php Dialogs\Service\Order\Dialog::render( $services ) ?>
|
81 |
+
<?php Dialogs\TableSettings\Dialog::render() ?>
|
82 |
<div id="bookly-update-service-settings" class="modal fade" tabindex=-1 role="dialog">
|
83 |
<div class="modal-dialog modal-lg">
|
84 |
<div class="modal-content">
|
backend/modules/settings/Page.php
CHANGED
@@ -129,7 +129,7 @@ class Page extends Lib\Base\Ajax
|
|
129 |
|
130 |
Proxy\Shared::enqueueAssets();
|
131 |
|
132 |
-
wp_localize_script( 'bookly-settings.js', 'BooklyL10n',
|
133 |
'alert' => $alert,
|
134 |
'current_tab' => $current_tab,
|
135 |
'csrf_token' => Lib\Utils\Common::getCsrfToken(),
|
129 |
|
130 |
Proxy\Shared::enqueueAssets();
|
131 |
|
132 |
+
wp_localize_script( 'bookly-settings.js', 'BooklyL10n', array(
|
133 |
'alert' => $alert,
|
134 |
'current_tab' => $current_tab,
|
135 |
'csrf_token' => Lib\Utils\Common::getCsrfToken(),
|
backend/modules/settings/proxy/CustomStatuses.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Bookly\Backend\Modules\Settings\Proxy;
|
3 |
+
|
4 |
+
use Bookly\Lib;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Class Pro
|
8 |
+
* @package Bookly\Backend\Modules\Settings\Proxy
|
9 |
+
*
|
10 |
+
* @method static void renderTab() Render custom statuses settings tab.
|
11 |
+
*/
|
12 |
+
abstract class CustomStatuses extends Lib\Base\Proxy
|
13 |
+
{
|
14 |
+
|
15 |
+
}
|
backend/modules/settings/templates/index.php
CHANGED
@@ -64,6 +64,7 @@ use Bookly\Backend\Components;
|
|
64 |
</div>
|
65 |
<?php Proxy\Pro::renderGoogleCalendarTab() ?>
|
66 |
<?php Proxy\Shared::renderTab() ?>
|
|
|
67 |
<div class="tab-pane" id="bookly_settings_payments">
|
68 |
<?php include '_paymentsForm.php' ?>
|
69 |
</div>
|
64 |
</div>
|
65 |
<?php Proxy\Pro::renderGoogleCalendarTab() ?>
|
66 |
<?php Proxy\Shared::renderTab() ?>
|
67 |
+
<?php Proxy\CustomStatuses::renderTab() ?>
|
68 |
<div class="tab-pane" id="bookly_settings_payments">
|
69 |
<?php include '_paymentsForm.php' ?>
|
70 |
</div>
|
backend/modules/shop/Ajax.php
CHANGED
@@ -78,7 +78,7 @@ class Ajax extends Lib\Base\Ajax
|
|
78 |
'rating_class' => (int) $plugin['rating'] ? '' : 'collapse',
|
79 |
'rating' => $plugin['rating'],
|
80 |
'reviews' => sprintf( _n( '%d review', '%d reviews', $plugin['reviews'], 'bookly' ), $plugin['reviews'] ),
|
81 |
-
'url_class' => $installed ? 'btn-default' : $plugin['slug'] == 'bookly-addon-pro' ? 'btn-success' : 'btn-success' . $disabled,
|
82 |
'url_text' => $installed ? __( 'Installed', 'bookly' ) : __( 'Get it!', 'bookly' ),
|
83 |
'url' => Lib\Utils\Common::prepareUrlReferrers( $plugin['url'] . '?ref=ladela', 'shop' ),
|
84 |
);
|
78 |
'rating_class' => (int) $plugin['rating'] ? '' : 'collapse',
|
79 |
'rating' => $plugin['rating'],
|
80 |
'reviews' => sprintf( _n( '%d review', '%d reviews', $plugin['reviews'], 'bookly' ), $plugin['reviews'] ),
|
81 |
+
'url_class' => $installed ? 'btn-default' : ( $plugin['slug'] == 'bookly-addon-pro' ? 'btn-success' : 'btn-success' . $disabled ),
|
82 |
'url_text' => $installed ? __( 'Installed', 'bookly' ) : __( 'Get it!', 'bookly' ),
|
83 |
'url' => Lib\Utils\Common::prepareUrlReferrers( $plugin['url'] . '?ref=ladela', 'shop' ),
|
84 |
);
|
backend/modules/sms/Page.php
CHANGED
@@ -116,6 +116,16 @@ class Page extends Lib\Base\Component
|
|
116 |
$alert['error'] = array_merge( $alert['error'], $sms->getErrors() );
|
117 |
// Services in custom notifications where the recipient is client only.
|
118 |
$only_client = Lib\Entities\Service::query()->whereIn( 'type', array( Lib\Entities\Service::TYPE_COMPOUND, Lib\Entities\Service::TYPE_COLLABORATIVE ) )->fetchCol( 'id' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
wp_localize_script( 'bookly-daterangepicker.js', 'BooklyL10n',
|
120 |
array(
|
121 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
@@ -134,24 +144,25 @@ class Page extends Lib\Base\Component
|
|
134 |
),
|
135 |
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
136 |
'dateRange' => Lib\Utils\DateTime::dateRangeOptions( array( 'lastMonth' => __( 'Last month', 'bookly' ), ) ),
|
137 |
-
'sender_id'
|
138 |
'sent' => __( 'Sender ID request is sent.', 'bookly' ),
|
139 |
'set_default' => __( 'Sender ID is reset to default.', 'bookly' ),
|
140 |
),
|
141 |
-
'zeroRecords'
|
142 |
-
'zeroRecords2'
|
143 |
-
'processing'
|
144 |
-
'onlyClient'
|
145 |
-
'invoice'
|
146 |
'button' => __( 'Invoice', 'bookly' ),
|
147 |
'alert' => __( 'To generate an invoice you should fill in company information in Bookly > SMS Notifications > Send invoice.', 'bookly' ),
|
148 |
-
'link' => $sms->getInvoiceLink()
|
149 |
),
|
150 |
-
'state'
|
151 |
-
'action'
|
152 |
-
'edit'
|
153 |
-
'settingsSaved'
|
154 |
-
'gateway'
|
|
|
155 |
)
|
156 |
);
|
157 |
foreach ( range( 1, 23 ) as $hours ) {
|
@@ -161,7 +172,7 @@ class Page extends Lib\Base\Component
|
|
161 |
// Number of undelivered sms.
|
162 |
$undelivered_count = Lib\SMS::getUndeliveredSmsCount();
|
163 |
|
164 |
-
self::renderTemplate( 'index', compact( 'sms', 'is_logged_in', 'prices', 'bookly_ntf_processing_interval_values', 'undelivered_count', 'email_confirm_required', 'show_registration_form' ) );
|
165 |
}
|
166 |
|
167 |
/**
|
116 |
$alert['error'] = array_merge( $alert['error'], $sms->getErrors() );
|
117 |
// Services in custom notifications where the recipient is client only.
|
118 |
$only_client = Lib\Entities\Service::query()->whereIn( 'type', array( Lib\Entities\Service::TYPE_COMPOUND, Lib\Entities\Service::TYPE_COLLABORATIVE ) )->fetchCol( 'id' );
|
119 |
+
|
120 |
+
// Prepare tables settings.
|
121 |
+
$datatables = Lib\Utils\Tables::getSettings( array(
|
122 |
+
'sms_notifications',
|
123 |
+
'sms_purchases',
|
124 |
+
'sms_details',
|
125 |
+
'sms_prices',
|
126 |
+
'sms_sender',
|
127 |
+
) );
|
128 |
+
|
129 |
wp_localize_script( 'bookly-daterangepicker.js', 'BooklyL10n',
|
130 |
array(
|
131 |
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
144 |
),
|
145 |
'datePicker' => Lib\Utils\DateTime::datePickerOptions(),
|
146 |
'dateRange' => Lib\Utils\DateTime::dateRangeOptions( array( 'lastMonth' => __( 'Last month', 'bookly' ), ) ),
|
147 |
+
'sender_id' => array(
|
148 |
'sent' => __( 'Sender ID request is sent.', 'bookly' ),
|
149 |
'set_default' => __( 'Sender ID is reset to default.', 'bookly' ),
|
150 |
),
|
151 |
+
'zeroRecords' => __( 'No records for selected period.', 'bookly' ),
|
152 |
+
'zeroRecords2' => __( 'No records.', 'bookly' ),
|
153 |
+
'processing' => __( 'Processing...', 'bookly' ),
|
154 |
+
'onlyClient' => $only_client,
|
155 |
+
'invoice' => array(
|
156 |
'button' => __( 'Invoice', 'bookly' ),
|
157 |
'alert' => __( 'To generate an invoice you should fill in company information in Bookly > SMS Notifications > Send invoice.', 'bookly' ),
|
158 |
+
'link' => $sms->getInvoiceLink(),
|
159 |
),
|
160 |
+
'state' => array( __( 'Disabled', 'bookly' ), __( 'Enabled', 'bookly' ) ),
|
161 |
+
'action' => array( __( 'enable', 'bookly' ), __( 'disable', 'bookly' ) ),
|
162 |
+
'edit' => __( 'Edit', 'bookly' ),
|
163 |
+
'settingsSaved' => __( 'Settings saved.', 'bookly' ),
|
164 |
+
'gateway' => 'sms',
|
165 |
+
'datatables' => $datatables
|
166 |
)
|
167 |
);
|
168 |
foreach ( range( 1, 23 ) as $hours ) {
|
172 |
// Number of undelivered sms.
|
173 |
$undelivered_count = Lib\SMS::getUndeliveredSmsCount();
|
174 |
|
175 |
+
self::renderTemplate( 'index', compact( 'sms', 'is_logged_in', 'prices', 'bookly_ntf_processing_interval_values', 'undelivered_count', 'email_confirm_required', 'show_registration_form', 'datatables' ) );
|
176 |
}
|
177 |
|
178 |
/**
|
backend/modules/sms/resources/js/notifications-list.js
CHANGED
@@ -8,91 +8,127 @@ jQuery(function($) {
|
|
8 |
$btnTestEmail = $('#bookly-js-test-email-notifications'),
|
9 |
$testNotificationsList = $('#bookly-js-test-notifications-list', $modalTestEmail),
|
10 |
$btnDeleteNotifications = $('#bookly-js-delete-notifications'),
|
11 |
-
$filter = $('#bookly-filter')
|
|
|
|
|
12 |
;
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
/**
|
15 |
* Notification list
|
16 |
*/
|
17 |
-
var dt = $notificationList
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
},
|
28 |
-
|
29 |
-
|
30 |
-
{
|
31 |
-
data
|
32 |
-
|
33 |
-
render: function (data, type, row, meta) {
|
34 |
-
return '<span class="hidden">' + data + '</span><i class="fa fa-fw ' + row.icon + '" title="' + row.title + '"></i>';
|
35 |
-
}
|
36 |
-
},
|
37 |
-
{
|
38 |
-
data: 'name',
|
39 |
-
responsivePriority: 1
|
40 |
-
},
|
41 |
-
{
|
42 |
-
data: 'active',
|
43 |
-
responsivePriority: 2,
|
44 |
-
render: function (data, type, row, meta) {
|
45 |
-
return '<span class="label ' + (row.active == 1 ? 'label-success' : 'label-danger') + '">' + BooklyL10n.state[data] + '</span>' + ' (<a href="#" data-action="toggle-active">' + BooklyL10n.action[data] + '</a>)';
|
46 |
-
}
|
47 |
-
},
|
48 |
-
{
|
49 |
-
data: 'active',
|
50 |
-
className: 'text-right',
|
51 |
-
orderable: false,
|
52 |
-
responsivePriority: 1,
|
53 |
-
render: function (data, type, row, meta) {
|
54 |
-
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="glyphicon glyphicon-edit"></i> <span class="ladda-label">' + BooklyL10n.edit + '</span></a>';
|
55 |
-
}
|
56 |
-
},
|
57 |
-
{
|
58 |
-
orderable: false,
|
59 |
-
responsivePriority: 1,
|
60 |
-
render: function (data, type, row, meta) {
|
61 |
-
return '<input type="checkbox" class="bookly-js-delete" value="' + row.id + '" />';
|
62 |
-
}
|
63 |
}
|
64 |
-
],
|
65 |
-
dom: "<'row'<'col-sm-6'<'pull-left'>><'col-sm-6'>>" +
|
66 |
-
"<'row'<'col-sm-12'tr>>" +
|
67 |
-
"<'row pull-left'<'col-sm-12 bookly-margin-top-lg'p>>",
|
68 |
-
language: {
|
69 |
-
zeroRecords: BooklyL10n.zeroRecords,
|
70 |
-
processing: BooklyL10n.processing
|
71 |
}
|
72 |
-
})
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
type: 'POST',
|
81 |
-
data: {
|
82 |
-
action : 'bookly_set_notification_state',
|
83 |
-
csrf_token : BooklyL10n.csrfToken,
|
84 |
-
id : data.id,
|
85 |
-
active : data.active
|
86 |
-
},
|
87 |
-
dataType: 'json',
|
88 |
-
success: function (response) {
|
89 |
-
if (response.success) {
|
90 |
-
row.data(data).draw();
|
91 |
-
booklyAlert({success: [BooklyL10n.settingsSaved]});
|
92 |
-
}
|
93 |
-
}
|
94 |
});
|
95 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
|
97 |
/**
|
98 |
* On filters change.
|
@@ -149,7 +185,7 @@ jQuery(function($) {
|
|
149 |
});
|
150 |
|
151 |
/**
|
152 |
-
* Delete
|
153 |
*/
|
154 |
$btnDeleteNotifications.on('click', function () {
|
155 |
if (confirm(BooklyL10n.areYouSure)) {
|
8 |
$btnTestEmail = $('#bookly-js-test-email-notifications'),
|
9 |
$testNotificationsList = $('#bookly-js-test-notifications-list', $modalTestEmail),
|
10 |
$btnDeleteNotifications = $('#bookly-js-delete-notifications'),
|
11 |
+
$filter = $('#bookly-filter'),
|
12 |
+
columns = [],
|
13 |
+
order = []
|
14 |
;
|
15 |
|
16 |
+
/**
|
17 |
+
* Init Columns.
|
18 |
+
*/
|
19 |
+
$.each(BooklyL10n.datatables[BooklyL10n.gateway + '_notifications'].settings.columns, function (column, show) {
|
20 |
+
if (show) {
|
21 |
+
switch (column) {
|
22 |
+
case 'type':
|
23 |
+
columns.push({
|
24 |
+
data: 'order',
|
25 |
+
render: function (data, type, row, meta) {
|
26 |
+
return '<span class="hidden">' + data + '</span><i class="fa fa-fw ' + row.icon + '" title="' + row.title + '"></i>';
|
27 |
+
}
|
28 |
+
});
|
29 |
+
break;
|
30 |
+
case 'active':
|
31 |
+
columns.push({
|
32 |
+
data: column,
|
33 |
+
render: function (data, type, row, meta) {
|
34 |
+
return '<span class="label ' + (row.active == 1 ? 'label-success' : 'label-danger') + '">' + BooklyL10n.state[data] + '</span>' + ' (<a href="#" data-action="toggle-active">' + BooklyL10n.action[data] + '</a>)';
|
35 |
+
}
|
36 |
+
});
|
37 |
+
break;
|
38 |
+
default:
|
39 |
+
columns.push({data: column});
|
40 |
+
break;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
});
|
44 |
+
columns.push({
|
45 |
+
className: 'text-right',
|
46 |
+
orderable: false,
|
47 |
+
responsivePriority: 1,
|
48 |
+
render: function (data, type, row, meta) {
|
49 |
+
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="glyphicon glyphicon-edit"></i> <span class="ladda-label">' + BooklyL10n.edit + '</span></a>';
|
50 |
+
}
|
51 |
+
});
|
52 |
+
columns.push({
|
53 |
+
orderable: false,
|
54 |
+
responsivePriority: 1,
|
55 |
+
render: function (data, type, row, meta) {
|
56 |
+
return '<input type="checkbox" class="bookly-js-delete" value="' + row.id + '" />';
|
57 |
+
}
|
58 |
+
});
|
59 |
+
|
60 |
+
$.each(BooklyL10n.datatables[BooklyL10n.gateway + '_notifications'].settings.order, function (_, value) {
|
61 |
+
const index = columns.findIndex(c => c.data === value.column);
|
62 |
+
if (index !== -1) {
|
63 |
+
order.push([index, value.order]);
|
64 |
+
}
|
65 |
+
});
|
66 |
+
|
67 |
/**
|
68 |
* Notification list
|
69 |
*/
|
70 |
+
var dt = $notificationList.DataTable({
|
71 |
+
paging : false,
|
72 |
+
info : false,
|
73 |
+
processing: true,
|
74 |
+
responsive: true,
|
75 |
+
serverSide: false,
|
76 |
+
ajax : {
|
77 |
+
url : ajaxurl,
|
78 |
+
data: {action: 'bookly_get_notifications', csrf_token: BooklyL10n.csrfToken, gateway: BooklyL10n.gateway}
|
79 |
+
},
|
80 |
+
order : order,
|
81 |
+
columns : columns,
|
82 |
+
dom : "<'row'<'col-sm-6'<'pull-left'>><'col-sm-6'>>" +
|
83 |
+
"<'row'<'col-sm-12'tr>>" +
|
84 |
+
"<'row pull-left'<'col-sm-12 bookly-margin-top-lg'p>>",
|
85 |
+
language : {
|
86 |
+
zeroRecords: BooklyL10n.zeroRecords,
|
87 |
+
processing : BooklyL10n.processing
|
88 |
+
}
|
89 |
+
}).on('click', '[data-action=toggle-active]', function (e) {
|
90 |
+
var row = dt.row($(this).closest('td')),
|
91 |
+
data = row.data();
|
92 |
+
e.preventDefault();
|
93 |
+
data.active = data.active === '1' ? '0' : '1';
|
94 |
+
$.ajax({
|
95 |
+
url : ajaxurl,
|
96 |
+
type : 'POST',
|
97 |
+
data : {
|
98 |
+
action : 'bookly_set_notification_state',
|
99 |
+
csrf_token: BooklyL10n.csrfToken,
|
100 |
+
id : data.id,
|
101 |
+
active : data.active
|
102 |
},
|
103 |
+
dataType: 'json',
|
104 |
+
success : function (response) {
|
105 |
+
if (response.success) {
|
106 |
+
row.data(data).draw();
|
107 |
+
booklyAlert({success: [BooklyL10n.settingsSaved]});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
+
});
|
111 |
+
});
|
112 |
+
dt.on( 'order', function () {
|
113 |
+
let order = [];
|
114 |
+
dt.order().forEach(data => {
|
115 |
+
order.push({
|
116 |
+
column: columns[data[0]].data,
|
117 |
+
order: data[1]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
});
|
119 |
});
|
120 |
+
$.ajax({
|
121 |
+
url : ajaxurl,
|
122 |
+
type : 'POST',
|
123 |
+
data : {
|
124 |
+
action : 'bookly_update_table_order',
|
125 |
+
table: BooklyL10n.gateway + '_notifications',
|
126 |
+
csrf_token : BooklyL10n.csrfToken,
|
127 |
+
order : order
|
128 |
+
},
|
129 |
+
dataType : 'json'
|
130 |
+
});
|
131 |
+
});
|
132 |
|
133 |
/**
|
134 |
* On filters change.
|
185 |
});
|
186 |
|
187 |
/**
|
188 |
+
* Delete notifications.
|
189 |
*/
|
190 |
$btnDeleteNotifications.on('click', function () {
|
191 |
if (confirm(BooklyL10n.areYouSure)) {
|
backend/modules/sms/resources/js/sms.js
CHANGED
@@ -307,6 +307,24 @@ jQuery(function($) {
|
|
307 |
.html(start.format(BooklyL10n.dateRange.dateFormat) + ' - ' + end.format(BooklyL10n.dateRange.dateFormat));
|
308 |
}
|
309 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
var dt = $('#bookly-purchases').DataTable({
|
311 |
ordering: false,
|
312 |
paging: false,
|
@@ -325,20 +343,7 @@ jQuery(function($) {
|
|
325 |
},
|
326 |
dataSrc: 'list'
|
327 |
},
|
328 |
-
columns:
|
329 |
-
{ data: "date" },
|
330 |
-
{ data: "time" },
|
331 |
-
{ data: "type" },
|
332 |
-
{ data: "order" },
|
333 |
-
{ data: "status" },
|
334 |
-
{ data: "amount" },
|
335 |
-
{
|
336 |
-
className: "text-right",
|
337 |
-
render: function (data, type, row, meta) {
|
338 |
-
return '<button type="button" class="btn btn-default bookly-margin-right-md" data-action="download-invoice"><i class="dashicons dashicons-media-text"></i> ' + BooklyL10n.invoice.button + '</a>';
|
339 |
-
}
|
340 |
-
}
|
341 |
-
],
|
342 |
language: {
|
343 |
zeroRecords: BooklyL10n.zeroRecords,
|
344 |
processing: BooklyL10n.processing
|
@@ -380,39 +385,43 @@ jQuery(function($) {
|
|
380 |
.html(start.format(BooklyL10n.dateRange.dateFormat) + ' - ' + end.format(BooklyL10n.dateRange.dateFormat));
|
381 |
}
|
382 |
);
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
data: function (d) {
|
393 |
-
return {
|
394 |
-
action: 'bookly_get_sms_list',
|
395 |
-
csrf_token: BooklyL10n.csrfToken,
|
396 |
-
range: $date_range.data('date')
|
397 |
-
};
|
398 |
-
},
|
399 |
-
dataSrc: 'list'
|
400 |
-
},
|
401 |
-
columns: [
|
402 |
-
{ data: "date" },
|
403 |
-
{ data: "time" },
|
404 |
-
{ data: "message" },
|
405 |
-
{ data: "phone" },
|
406 |
-
{ data: "sender_id" },
|
407 |
-
{ data: "charge" },
|
408 |
-
{ data: "status" },
|
409 |
-
{ data: "info" }
|
410 |
-
],
|
411 |
-
language: {
|
412 |
-
zeroRecords: BooklyL10n.zeroRecords,
|
413 |
-
processing: BooklyL10n.processing
|
414 |
}
|
415 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
416 |
|
417 |
$date_range.on('apply.daterangepicker', function () { dt.ajax.reload(); });
|
418 |
$(this).on('click', function () { dt.ajax.reload(); });
|
@@ -447,47 +456,69 @@ jQuery(function($) {
|
|
447 |
});
|
448 |
|
449 |
function fillPriceTable() {
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
484 |
}
|
485 |
-
],
|
486 |
-
language: {
|
487 |
-
zeroRecords: BooklyL10n.zeroRecords,
|
488 |
-
processing: BooklyL10n.processing
|
489 |
}
|
490 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
491 |
}
|
492 |
|
493 |
function getPhoneNumber() {
|
@@ -513,38 +544,45 @@ jQuery(function($) {
|
|
513 |
$cancel_sender_id = $('#bookly-cancel-sender_id'),
|
514 |
$sender_id = $('#bookly-sender-id-input');
|
515 |
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
searching: false,
|
521 |
-
processing: true,
|
522 |
-
responsive: true,
|
523 |
-
ajax: {
|
524 |
-
url: ajaxurl,
|
525 |
-
data: { action: 'bookly_get_sender_ids_list', csrf_token : BooklyL10n.csrfToken },
|
526 |
-
dataSrc: function (json) {
|
527 |
-
if (json.pending) {
|
528 |
-
$sender_id.val(json.pending);
|
529 |
-
$request_sender_id.hide();
|
530 |
-
$sender_id.prop('disabled',true);
|
531 |
-
$cancel_sender_id.show();
|
532 |
-
}
|
533 |
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
columns: [
|
538 |
-
{ data: "date" },
|
539 |
-
{ data: "name" },
|
540 |
-
{ data: "status" },
|
541 |
-
{ data: "status_date" }
|
542 |
-
],
|
543 |
-
language: {
|
544 |
-
zeroRecords: BooklyL10n.zeroRecords2,
|
545 |
-
processing: BooklyL10n.processing
|
546 |
}
|
547 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
548 |
|
549 |
$request_sender_id.on('click', function () {
|
550 |
var ladda = Ladda.create(this);
|
307 |
.html(start.format(BooklyL10n.dateRange.dateFormat) + ' - ' + end.format(BooklyL10n.dateRange.dateFormat));
|
308 |
}
|
309 |
);
|
310 |
+
|
311 |
+
/**
|
312 |
+
* Init Columns.
|
313 |
+
*/
|
314 |
+
let columns = [];
|
315 |
+
|
316 |
+
$.each(BooklyL10n.datatables.sms_purchases.settings.columns, function (column, show) {
|
317 |
+
if (show) {
|
318 |
+
columns.push({data: column});
|
319 |
+
}
|
320 |
+
});
|
321 |
+
columns.push({
|
322 |
+
className: "text-right",
|
323 |
+
render : function (data, type, row, meta) {
|
324 |
+
return '<button type="button" class="btn btn-default bookly-margin-right-md" data-action="download-invoice"><i class="dashicons dashicons-media-text"></i> ' + BooklyL10n.invoice.button + '</a>';
|
325 |
+
}
|
326 |
+
});
|
327 |
+
|
328 |
var dt = $('#bookly-purchases').DataTable({
|
329 |
ordering: false,
|
330 |
paging: false,
|
343 |
},
|
344 |
dataSrc: 'list'
|
345 |
},
|
346 |
+
columns: columns,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
347 |
language: {
|
348 |
zeroRecords: BooklyL10n.zeroRecords,
|
349 |
processing: BooklyL10n.processing
|
385 |
.html(start.format(BooklyL10n.dateRange.dateFormat) + ' - ' + end.format(BooklyL10n.dateRange.dateFormat));
|
386 |
}
|
387 |
);
|
388 |
+
|
389 |
+
/**
|
390 |
+
* Init Columns.
|
391 |
+
*/
|
392 |
+
let columns = [];
|
393 |
+
|
394 |
+
$.each(BooklyL10n.datatables.sms_details.settings.columns, function (column, show) {
|
395 |
+
if (show) {
|
396 |
+
columns.push({data: column});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
397 |
}
|
398 |
});
|
399 |
+
if (columns.length) {
|
400 |
+
var dt = $('#bookly-sms').DataTable({
|
401 |
+
ordering : false,
|
402 |
+
paging : false,
|
403 |
+
info : false,
|
404 |
+
searching : false,
|
405 |
+
processing: true,
|
406 |
+
responsive: true,
|
407 |
+
ajax : {
|
408 |
+
url : ajaxurl,
|
409 |
+
data : function (d) {
|
410 |
+
return {
|
411 |
+
action : 'bookly_get_sms_list',
|
412 |
+
csrf_token: BooklyL10n.csrfToken,
|
413 |
+
range : $date_range.data('date')
|
414 |
+
};
|
415 |
+
},
|
416 |
+
dataSrc: 'list'
|
417 |
+
},
|
418 |
+
columns : columns,
|
419 |
+
language : {
|
420 |
+
zeroRecords: BooklyL10n.zeroRecords,
|
421 |
+
processing : BooklyL10n.processing
|
422 |
+
}
|
423 |
+
});
|
424 |
+
}
|
425 |
|
426 |
$date_range.on('apply.daterangepicker', function () { dt.ajax.reload(); });
|
427 |
$(this).on('click', function () { dt.ajax.reload(); });
|
456 |
});
|
457 |
|
458 |
function fillPriceTable() {
|
459 |
+
/**
|
460 |
+
* Init Columns.
|
461 |
+
*/
|
462 |
+
let columns = [];
|
463 |
+
|
464 |
+
$.each(BooklyL10n.datatables.sms_prices.settings.columns, function (column, show) {
|
465 |
+
if (show) {
|
466 |
+
switch (column) {
|
467 |
+
case 'country_iso_code':
|
468 |
+
columns.push({
|
469 |
+
data: column, render: function ( data, type, row, meta ) {
|
470 |
+
return '<div class="iti-flag ' + data + '"></div>';
|
471 |
+
}
|
472 |
+
});
|
473 |
+
break;
|
474 |
+
case 'price':
|
475 |
+
columns.push({
|
476 |
+
data: column,
|
477 |
+
className: "text-right",
|
478 |
+
render: function ( data, type, row, meta ) {
|
479 |
+
return '$' + data.replace(/0+$/, '');
|
480 |
+
}
|
481 |
+
});
|
482 |
+
break;
|
483 |
+
case 'price_alt':
|
484 |
+
columns.push({
|
485 |
+
data: column,
|
486 |
+
className: "text-right",
|
487 |
+
render: function ( data, type, row, meta ) {
|
488 |
+
if (row.price_alt == '') {
|
489 |
+
return '-';
|
490 |
+
} else {
|
491 |
+
return '$' + data.replace(/0+$/, '');
|
492 |
+
}
|
493 |
+
}
|
494 |
+
});
|
495 |
+
break;
|
496 |
+
default:
|
497 |
+
columns.push({data: column});
|
498 |
+
break;
|
499 |
}
|
|
|
|
|
|
|
|
|
500 |
}
|
501 |
});
|
502 |
+
if (columns.length) {
|
503 |
+
var dt = $('#bookly-prices').DataTable({
|
504 |
+
ordering : false,
|
505 |
+
paging : false,
|
506 |
+
info : false,
|
507 |
+
searching : false,
|
508 |
+
processing: true,
|
509 |
+
responsive: true,
|
510 |
+
ajax : {
|
511 |
+
url : ajaxurl,
|
512 |
+
data : {action: 'bookly_get_price_list', csrf_token: BooklyL10n.csrfToken},
|
513 |
+
dataSrc: 'list'
|
514 |
+
},
|
515 |
+
columns : columns,
|
516 |
+
language : {
|
517 |
+
zeroRecords: BooklyL10n.zeroRecords,
|
518 |
+
processing : BooklyL10n.processing
|
519 |
+
}
|
520 |
+
});
|
521 |
+
}
|
522 |
}
|
523 |
|
524 |
function getPhoneNumber() {
|
544 |
$cancel_sender_id = $('#bookly-cancel-sender_id'),
|
545 |
$sender_id = $('#bookly-sender-id-input');
|
546 |
|
547 |
+
/**
|
548 |
+
* Init Columns.
|
549 |
+
*/
|
550 |
+
let columns = [];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
551 |
|
552 |
+
$.each(BooklyL10n.datatables.sms_sender.settings.columns, function (column, show) {
|
553 |
+
if (show) {
|
554 |
+
columns.push({data: column});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
555 |
}
|
556 |
});
|
557 |
+
if (columns.length) {
|
558 |
+
var dt = $('#bookly-sender-ids').DataTable({
|
559 |
+
ordering : false,
|
560 |
+
paging : false,
|
561 |
+
info : false,
|
562 |
+
searching : false,
|
563 |
+
processing: true,
|
564 |
+
responsive: true,
|
565 |
+
ajax : {
|
566 |
+
url : ajaxurl,
|
567 |
+
data : {action: 'bookly_get_sender_ids_list', csrf_token: BooklyL10n.csrfToken},
|
568 |
+
dataSrc: function (json) {
|
569 |
+
if (json.pending) {
|
570 |
+
$sender_id.val(json.pending);
|
571 |
+
$request_sender_id.hide();
|
572 |
+
$sender_id.prop('disabled', true);
|
573 |
+
$cancel_sender_id.show();
|
574 |
+
}
|
575 |
+
|
576 |
+
return json.list;
|
577 |
+
}
|
578 |
+
},
|
579 |
+
columns : columns,
|
580 |
+
language : {
|
581 |
+
zeroRecords: BooklyL10n.zeroRecords2,
|
582 |
+
processing : BooklyL10n.processing
|
583 |
+
}
|
584 |
+
});
|
585 |
+
}
|
586 |
|
587 |
$request_sender_id.on('click', function () {
|
588 |
var ladda = Ladda.create(this);
|
backend/modules/sms/templates/_notifications.php
CHANGED
@@ -2,7 +2,8 @@
|
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Lib\Utils\Common;
|
4 |
use Bookly\Backend\Components\Controls\Inputs;
|
5 |
-
use Bookly\Backend\Components\Dialogs
|
|
|
6 |
?>
|
7 |
<input type="hidden" name="form-notifications">
|
8 |
<div class="form-inline bookly-margin-bottom-xlg">
|
@@ -38,16 +39,24 @@ use Bookly\Backend\Components\Dialogs\Sms;
|
|
38 |
</div>
|
39 |
</div>
|
40 |
<div class="col-md-8 form-inline bookly-margin-bottom-lg text-right">
|
41 |
-
<?php Sms\Dialog::renderNewNotificationButton() ?>
|
|
|
42 |
</div>
|
43 |
</div>
|
|
|
44 |
<table id="bookly-js-notification-list" class="table table-striped" style="width: 100%">
|
45 |
<thead>
|
46 |
<tr>
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
<th width="16"><input type="checkbox" class="bookly-js-check-all"/></th>
|
52 |
</tr>
|
53 |
</thead>
|
@@ -55,7 +64,7 @@ use Bookly\Backend\Components\Dialogs\Sms;
|
|
55 |
|
56 |
<div class="form-inline bookly-margin-bottom-lg text-right">
|
57 |
<?php Inputs::renderCsrf() ?>
|
58 |
-
<?php Buttons::renderCustom( 'bookly-js-delete-notifications', 'btn-danger', esc_html__( 'Delete
|
59 |
</div>
|
60 |
|
61 |
<div class="alert alert-info">
|
@@ -71,4 +80,4 @@ use Bookly\Backend\Components\Dialogs\Sms;
|
|
71 |
</div>
|
72 |
</div>
|
73 |
</form>
|
74 |
-
<?php Sms\Dialog::render() ?>
|
2 |
use Bookly\Backend\Components\Controls\Buttons;
|
3 |
use Bookly\Lib\Utils\Common;
|
4 |
use Bookly\Backend\Components\Controls\Inputs;
|
5 |
+
use Bookly\Backend\Components\Dialogs;
|
6 |
+
/** @var array $datatables */
|
7 |
?>
|
8 |
<input type="hidden" name="form-notifications">
|
9 |
<div class="form-inline bookly-margin-bottom-xlg">
|
39 |
</div>
|
40 |
</div>
|
41 |
<div class="col-md-8 form-inline bookly-margin-bottom-lg text-right">
|
42 |
+
<?php Dialogs\Sms\Dialog::renderNewNotificationButton() ?>
|
43 |
+
<?php Dialogs\TableSettings\Dialog::renderButton( 'sms_notifications', 'BooklyL10n' ) ?>
|
44 |
</div>
|
45 |
</div>
|
46 |
+
|
47 |
<table id="bookly-js-notification-list" class="table table-striped" style="width: 100%">
|
48 |
<thead>
|
49 |
<tr>
|
50 |
+
<?php foreach ( $datatables['sms_notifications']['settings']['columns'] as $column => $show ) : ?>
|
51 |
+
<?php if ( $show ) : ?>
|
52 |
+
<?php if ( $column === 'type' ) : ?>
|
53 |
+
<th width="1"></th>
|
54 |
+
<?php else : ?>
|
55 |
+
<th><?php echo $datatables['sms_notifications']['titles'][ $column ] ?></th>
|
56 |
+
<?php endif ?>
|
57 |
+
<?php endif ?>
|
58 |
+
<?php endforeach ?>
|
59 |
+
<th width="75"></th>
|
60 |
<th width="16"><input type="checkbox" class="bookly-js-check-all"/></th>
|
61 |
</tr>
|
62 |
</thead>
|
64 |
|
65 |
<div class="form-inline bookly-margin-bottom-lg text-right">
|
66 |
<?php Inputs::renderCsrf() ?>
|
67 |
+
<?php Buttons::renderCustom( 'bookly-js-delete-notifications', 'btn-danger', esc_html__( 'Delete', 'bookly' ) . '...' ) ?>
|
68 |
</div>
|
69 |
|
70 |
<div class="alert alert-info">
|
80 |
</div>
|
81 |
</div>
|
82 |
</form>
|
83 |
+
<?php Dialogs\Sms\Dialog::render() ?>
|
backend/modules/sms/templates/_price.php
CHANGED
@@ -1,13 +1,21 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<div class="intl-tel-input">
|
3 |
<table id="bookly-prices" class="table table-striped" width="100%">
|
4 |
<thead>
|
5 |
<tr>
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
</tr>
|
12 |
</thead>
|
13 |
</table>
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Dialogs;
|
3 |
+
/** @var array $datatables */
|
4 |
+
?>
|
5 |
+
<div class="row">
|
6 |
+
<div class="col-xs-12 text-right">
|
7 |
+
<?php Dialogs\TableSettings\Dialog::renderButton( 'sms_prices', 'BooklyL10n', 'prices' ) ?>
|
8 |
+
</div>
|
9 |
+
</div>
|
10 |
<div class="intl-tel-input">
|
11 |
<table id="bookly-prices" class="table table-striped" width="100%">
|
12 |
<thead>
|
13 |
<tr>
|
14 |
+
<?php foreach ( $datatables['sms_prices']['settings']['columns'] as $column => $show ) : ?>
|
15 |
+
<?php if ( $show ) : ?>
|
16 |
+
<th><?php echo $datatables['sms_prices']['titles'][ $column ] ?></th>
|
17 |
+
<?php endif ?>
|
18 |
+
<?php endforeach ?>
|
19 |
</tr>
|
20 |
</thead>
|
21 |
</table>
|
backend/modules/sms/templates/_purchases.php
CHANGED
@@ -1,25 +1,33 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
9 |
</span>
|
10 |
-
|
|
|
|
|
|
|
|
|
11 |
</div>
|
12 |
</div>
|
13 |
|
14 |
-
<table id="bookly-purchases" class="table table-striped"
|
15 |
<thead>
|
16 |
<tr>
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
<th><?php _e( 'Amount', 'bookly' ) ?></th>
|
23 |
<th></th>
|
24 |
</tr>
|
25 |
</thead>
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Lib\Utils;
|
3 |
+
use Bookly\Backend\Components\Dialogs;
|
4 |
+
/** @var $datatables */
|
5 |
+
?>
|
6 |
+
<div class="row">
|
7 |
+
<div class="col-md-4">
|
8 |
+
<div class="form-group">
|
9 |
+
<button type="button" id="purchases_date_range" class="btn btn-block btn-default" data-date="<?php echo date( 'Y-m-d', strtotime( '-30 days' ) ) ?> - <?php echo date( 'Y-m-d' ) ?>">
|
10 |
+
<i class="dashicons dashicons-calendar-alt"></i>
|
11 |
+
<input type="hidden" name="form-purchases">
|
12 |
+
<span>
|
13 |
+
<?php echo Utils\DateTime::formatDate( '-30 days' ) ?> - <?php echo Utils\DateTime::formatDate( 'today' ) ?>
|
14 |
</span>
|
15 |
+
</button>
|
16 |
+
</div>
|
17 |
+
</div>
|
18 |
+
<div class="col-md-8 form-inline bookly-margin-bottom-lg text-right">
|
19 |
+
<?php Dialogs\TableSettings\Dialog::renderButton( 'sms_purchases', 'BooklyL10n', 'purchases' ) ?>
|
20 |
</div>
|
21 |
</div>
|
22 |
|
23 |
+
<table id="bookly-purchases" class="table table-striped" style="width: 100%">
|
24 |
<thead>
|
25 |
<tr>
|
26 |
+
<?php foreach ( $datatables['sms_purchases']['settings']['columns'] as $column => $show ) : ?>
|
27 |
+
<?php if ( $show ) : ?>
|
28 |
+
<th><?php echo $datatables['sms_purchases']['titles'][ $column ] ?></th>
|
29 |
+
<?php endif ?>
|
30 |
+
<?php endforeach ?>
|
|
|
31 |
<th></th>
|
32 |
</tr>
|
33 |
</thead>
|
backend/modules/sms/templates/_sender_id.php
CHANGED
@@ -1,21 +1,34 @@
|
|
1 |
-
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
|
|
|
|
|
2 |
<div class="alert alert-info"><?php _e( 'Please take into account that not all countries by law allow custom SMS sender ID. Please check if particular country supports custom sender ID in our price list. Also please note that prices for messages with custom sender ID are usually 20% - 25% higher than normal message price.', 'bookly' ) ?></div>
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
<
|
7 |
-
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
10 |
</div>
|
11 |
-
|
12 |
-
|
|
|
|
|
|
|
|
|
13 |
<thead>
|
14 |
<tr>
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
|
|
19 |
</tr>
|
20 |
</thead>
|
21 |
</table>
|
1 |
+
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
+
use Bookly\Backend\Components\Dialogs;
|
3 |
+
/** @var $datatables */
|
4 |
+
?>
|
5 |
<div class="alert alert-info"><?php _e( 'Please take into account that not all countries by law allow custom SMS sender ID. Please check if particular country supports custom sender ID in our price list. Also please note that prices for messages with custom sender ID are usually 20% - 25% higher than normal message price.', 'bookly' ) ?></div>
|
6 |
+
|
7 |
+
<div class="row">
|
8 |
+
<div class="col-md-11">
|
9 |
+
<form class="form-inline bookly-margin-bottom-md">
|
10 |
+
<div class="form-group">
|
11 |
+
<label class="control-label" for="bookly-sender-id-input"><?php _e( 'Request Sender ID', 'bookly' ) ?></label> <?php if ( $sms->getSenderIdApprovalDate() ) : ?> <span class="bookly-vertical-middle"><?php _e( 'or', 'bookly' ) ?> <a href="#" id="bookly-reset-sender_id"><?php _e( 'Reset to default', 'bookly' ) ?></a></span><?php endif ?>
|
12 |
+
<p class="help-block"><?php _e( 'Can only contain letters or digits (up to 11 characters).', 'bookly' ) ?></p>
|
13 |
+
<input id="bookly-sender-id-input" class="form-control" type="text" maxlength="11" required="required" minlength="1" value="" />
|
14 |
+
<button data-spinner-size="40" data-style="zoom-in" type="button" class="btn btn-success" id="bookly-request-sender_id"><span class="ladda-label"><?php _e( 'Request', 'bookly' ) ?></span><span class="ladda-spinner"></span></button>
|
15 |
+
<button data-spinner-size="40" data-style="zoom-in" type="button" class="btn btn-danger" id="bookly-cancel-sender_id" style="display:none"><span class="ladda-label"><?php _e( 'Cancel request', 'bookly' ) ?></span><span class="ladda-spinner"></span></button>
|
16 |
+
</div>
|
17 |
+
</form>
|
18 |
</div>
|
19 |
+
<div class="col-md-1 form-inline bookly-margin-bottom-lg text-right">
|
20 |
+
<?php Dialogs\TableSettings\Dialog::renderButton( 'sms_sender', 'BooklyL10n', 'sender' ) ?>
|
21 |
+
</div>
|
22 |
+
</div>
|
23 |
+
|
24 |
+
<table id="bookly-sender-ids" class="table table-striped" style="width: 100%">
|
25 |
<thead>
|
26 |
<tr>
|
27 |
+
<?php foreach ( $datatables['sms_sender']['settings']['columns'] as $column => $show ) : ?>
|
28 |
+
<?php if ( $show ) : ?>
|
29 |
+
<th><?php echo $datatables['sms_sender']['titles'][ $column ] ?></th>
|
30 |
+
<?php endif ?>
|
31 |
+
<?php endforeach ?>
|
32 |
</tr>
|
33 |
</thead>
|
34 |
</table>
|
backend/modules/sms/templates/_sms_details.php
CHANGED
@@ -1,29 +1,33 @@
|
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
use Bookly\Lib\Utils\DateTime;
|
|
|
|
|
3 |
?>
|
4 |
-
<div class="
|
5 |
-
<div class="
|
6 |
-
<
|
7 |
-
<
|
8 |
-
|
9 |
-
|
|
|
10 |
<?php echo DateTime::formatDate( '-30 days' ) ?> - <?php echo DateTime::formatDate( 'today' ) ?>
|
11 |
</span>
|
12 |
-
|
|
|
|
|
|
|
|
|
13 |
</div>
|
14 |
</div>
|
15 |
|
16 |
-
<table id="bookly-sms" class="table table-striped"
|
17 |
<thead>
|
18 |
<tr>
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
<th><?php esc_html_e( 'Cost', 'bookly' ) ?></th>
|
25 |
-
<th><?php esc_html_e( 'Status', 'bookly' ) ?></th>
|
26 |
-
<th><?php esc_html_e( 'Info', 'bookly' ) ?></th>
|
27 |
</tr>
|
28 |
</thead>
|
29 |
-
</table>
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
use Bookly\Lib\Utils\DateTime;
|
3 |
+
use Bookly\Backend\Components\Dialogs;
|
4 |
+
/** @var array $datatables */
|
5 |
?>
|
6 |
+
<div class="row">
|
7 |
+
<div class="col-md-4">
|
8 |
+
<div class="form-group">
|
9 |
+
<button type="button" id="sms_date_range" class="btn btn-block btn-default" data-date="<?php echo date( 'Y-m-d', strtotime( '-30 days' ) ) ?> - <?php echo date( 'Y-m-d' ) ?>">
|
10 |
+
<i class="dashicons dashicons-calendar-alt"></i>
|
11 |
+
<input type="hidden" name="form-purchases">
|
12 |
+
<span>
|
13 |
<?php echo DateTime::formatDate( '-30 days' ) ?> - <?php echo DateTime::formatDate( 'today' ) ?>
|
14 |
</span>
|
15 |
+
</button>
|
16 |
+
</div>
|
17 |
+
</div>
|
18 |
+
<div class="col-md-8 form-inline bookly-margin-bottom-lg text-right">
|
19 |
+
<?php Dialogs\TableSettings\Dialog::renderButton( 'sms_details', 'BooklyL10n', 'details' ) ?>
|
20 |
</div>
|
21 |
</div>
|
22 |
|
23 |
+
<table id="bookly-sms" class="table table-striped" style="width: 100%">
|
24 |
<thead>
|
25 |
<tr>
|
26 |
+
<?php foreach ( $datatables['sms_details']['settings']['columns'] as $column => $show ) : ?>
|
27 |
+
<?php if ( $show ) : ?>
|
28 |
+
<th><?php echo $datatables['sms_details']['titles'][ $column ] ?></th>
|
29 |
+
<?php endif ?>
|
30 |
+
<?php endforeach ?>
|
|
|
|
|
|
|
31 |
</tr>
|
32 |
</thead>
|
33 |
+
</table>
|
backend/modules/sms/templates/index.php
CHANGED
@@ -2,7 +2,8 @@
|
|
2 |
use Bookly\Backend\Components\Controls\Inputs;
|
3 |
use Bookly\Backend\Components\Controls\Buttons;
|
4 |
use Bookly\Backend\Components\Support;
|
5 |
-
|
|
|
6 |
?>
|
7 |
<div id="bookly-tbs" class="wrap">
|
8 |
<div class="bookly-tbs-body">
|
@@ -45,10 +46,7 @@ use Bookly\Backend\Components\Support;
|
|
45 |
</div>
|
46 |
<div class="col-xs-6 col-sm-4 col-md-3">
|
47 |
<form method="post" class="btn-group pull-right">
|
48 |
-
|
49 |
-
<i class="dashicons dashicons-admin-users"></i>
|
50 |
-
<?php echo $sms->getUserName() ?>
|
51 |
-
</a>
|
52 |
<button class="btn btn-default" type="submit" name="form-logout"><?php esc_html_e( 'Log out', 'bookly' ) ?></button>
|
53 |
</form>
|
54 |
</div>
|
@@ -207,4 +205,5 @@ use Bookly\Backend\Components\Support;
|
|
207 |
</div>
|
208 |
<?php endif ?>
|
209 |
</div>
|
|
|
210 |
</div>
|
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 |
+
/** @var Bookly\Lib\SMS $sms */
|
7 |
?>
|
8 |
<div id="bookly-tbs" class="wrap">
|
9 |
<div class="bookly-tbs-body">
|
46 |
</div>
|
47 |
<div class="col-xs-6 col-sm-4 col-md-3">
|
48 |
<form method="post" class="btn-group pull-right">
|
49 |
+
<?php Buttons::renderModalActivator( 'modal_change_password', 'btn-success', $sms->getUserName(), array(), '<i class="dashicons dashicons-admin-users"></i> {caption}', '' ) ?>
|
|
|
|
|
|
|
50 |
<button class="btn btn-default" type="submit" name="form-logout"><?php esc_html_e( 'Log out', 'bookly' ) ?></button>
|
51 |
</form>
|
52 |
</div>
|
205 |
</div>
|
206 |
<?php endif ?>
|
207 |
</div>
|
208 |
+
<?php Dialogs\TableSettings\Dialog::render() ?>
|
209 |
</div>
|
backend/modules/staff/Ajax.php
CHANGED
@@ -2,7 +2,6 @@
|
|
2 |
namespace Bookly\Backend\Modules\Staff;
|
3 |
|
4 |
use Bookly\Lib;
|
5 |
-
use Bookly\Backend\Modules\Staff\Forms\Widgets\TimeChoice;
|
6 |
|
7 |
/**
|
8 |
* Class Page
|
@@ -30,16 +29,33 @@ class Ajax extends Lib\Base\Ajax
|
|
30 |
{
|
31 |
global $wpdb;
|
32 |
|
33 |
-
$
|
34 |
-
$
|
35 |
-
$
|
36 |
-
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
if ( ! Lib\Utils\Common::isCurrentUserAdmin() ) {
|
40 |
$query->where( 's.wp_user_id', get_current_user_id() );
|
41 |
}
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
if ( $filter['archived'] ) {
|
44 |
if ( $filter['visibility'] != '' ) {
|
45 |
$query->whereRaw( 's.visibility = %s OR s.visibility = %s', array( $filter['visibility'], 'archive' ) );
|
@@ -49,27 +65,55 @@ class Ajax extends Lib\Base\Ajax
|
|
49 |
} else {
|
50 |
$query->whereNot( 's.visibility', 'archive' );
|
51 |
}
|
52 |
-
$list = $query->fetchArray();
|
53 |
|
54 |
-
|
|
|
|
|
55 |
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
$staff->setPosition( $position );
|
69 |
-
$staff->save();
|
70 |
}
|
71 |
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
}
|
74 |
|
75 |
/**
|
2 |
namespace Bookly\Backend\Modules\Staff;
|
3 |
|
4 |
use Bookly\Lib;
|
|
|
5 |
|
6 |
/**
|
7 |
* Class Page
|
29 |
{
|
30 |
global $wpdb;
|
31 |
|
32 |
+
$columns = self::parameter( 'columns' );
|
33 |
+
$order = self::parameter( 'order', array() );
|
34 |
+
$filter = self::parameter( 'filter' );
|
35 |
+
$limits = array(
|
36 |
+
'length' => self::parameter( 'length' ),
|
37 |
+
'start' => self::parameter( 'start' ),
|
38 |
+
);
|
39 |
+
|
40 |
+
$query = Lib\Entities\Staff::query( 's' )
|
41 |
+
->select( 's.id, s.full_name' )
|
42 |
+
->tableJoin( $wpdb->users, 'wpu', 'wpu.ID = s.wp_user_id' );
|
43 |
+
|
44 |
if ( ! Lib\Utils\Common::isCurrentUserAdmin() ) {
|
45 |
$query->where( 's.wp_user_id', get_current_user_id() );
|
46 |
}
|
47 |
+
|
48 |
+
$query->addSelect( 's.category_id, s.visibility, email, phone, wpu.display_name AS wp_user' );
|
49 |
+
|
50 |
+
Proxy\Shared::prepareGetStaffQuery( $query );
|
51 |
+
|
52 |
+
foreach ( $order as $sort_by ) {
|
53 |
+
$query->sortBy( str_replace( '.', '_', $columns[ $sort_by['column'] ]['data'] ) )
|
54 |
+
->order( $sort_by['dir'] == 'desc' ? Lib\Query::ORDER_DESCENDING : Lib\Query::ORDER_ASCENDING );
|
55 |
+
}
|
56 |
+
|
57 |
+
$total = $query->count();
|
58 |
+
|
59 |
if ( $filter['archived'] ) {
|
60 |
if ( $filter['visibility'] != '' ) {
|
61 |
$query->whereRaw( 's.visibility = %s OR s.visibility = %s', array( $filter['visibility'], 'archive' ) );
|
65 |
} else {
|
66 |
$query->whereNot( 's.visibility', 'archive' );
|
67 |
}
|
|
|
68 |
|
69 |
+
if ( $filter['category'] != '' ) {
|
70 |
+
$query->where( 's.category_id', $filter['category'] );
|
71 |
+
}
|
72 |
|
73 |
+
if ( $filter['search'] != '' ) {
|
74 |
+
$fields = array();
|
75 |
+
foreach ( $columns as $column ) {
|
76 |
+
switch ( $column['data'] ) {
|
77 |
+
case 'user':
|
78 |
+
$fields[] = 'wpu.display_name';
|
79 |
+
break;
|
80 |
+
case 'full_name':
|
81 |
+
case 'email':
|
82 |
+
case 'phone':
|
83 |
+
$fields[] = 's.' . $column['data'];
|
84 |
+
break;
|
85 |
+
}
|
86 |
+
}
|
87 |
|
88 |
+
$fields = Proxy\Shared::searchStaff( $fields, $columns, $query );
|
89 |
+
|
90 |
+
$search_columns = array();
|
91 |
+
foreach ( $fields as $field ) {
|
92 |
+
$search_columns[] = $field . ' LIKE "%%%s%"';
|
93 |
+
}
|
94 |
+
if ( ! empty( $search_columns ) ) {
|
95 |
+
$query->whereRaw( implode( ' OR ', $search_columns ), array_fill( 0, count( $search_columns ), $filter['search'] ) );
|
96 |
+
}
|
|
|
|
|
97 |
}
|
98 |
|
99 |
+
$filtered = $query->count();
|
100 |
+
|
101 |
+
if ( ! empty( $limits ) ) {
|
102 |
+
$query->limit( $limits['length'] )->offset( $limits['start'] );
|
103 |
+
}
|
104 |
+
|
105 |
+
$data = $query->fetchArray();
|
106 |
+
|
107 |
+
unset( $filter['search'] );
|
108 |
+
|
109 |
+
Lib\Utils\Tables::updateSettings( 'staff_members', $columns, $order, $filter );
|
110 |
+
|
111 |
+
wp_send_json( array(
|
112 |
+
'draw' => ( int ) self::parameter( 'draw' ),
|
113 |
+
'data' => $data,
|
114 |
+
'recordsTotal' => $total,
|
115 |
+
'recordsFiltered' => $filtered,
|
116 |
+
) );
|
117 |
}
|
118 |
|
119 |
/**
|
backend/modules/staff/Page.php
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Modules\Staff;
|
3 |
|
4 |
-
use Bookly\Backend\Components\Notices\Limitation;
|
5 |
use Bookly\Lib;
|
6 |
|
7 |
/**
|
@@ -16,7 +15,7 @@ class Page extends Lib\Base\Component
|
|
16 |
public static function render()
|
17 |
{
|
18 |
self::enqueueStyles( array(
|
19 |
-
'backend' => array( 'bootstrap/css/bootstrap-theme.min.css', 'css/jquery-ui-theme/jquery-ui.min.css', 'css/fontawesome-all.min.css' ),
|
20 |
) );
|
21 |
|
22 |
self::enqueueScripts( array(
|
@@ -25,9 +24,10 @@ class Page extends Lib\Base\Component
|
|
25 |
'js/help.js' => array( 'jquery' ),
|
26 |
'js/alert.js' => array( 'jquery' ),
|
27 |
'js/datatables.min.js' => array( 'jquery' ),
|
|
|
28 |
),
|
29 |
'module' => array(
|
30 |
-
'js/staff-list.js'
|
31 |
),
|
32 |
) );
|
33 |
|
@@ -36,17 +36,22 @@ class Page extends Lib\Base\Component
|
|
36 |
Proxy\Shared::enqueueStaffProfileScripts();
|
37 |
Proxy\Shared::renderStaffPage( self::parameters() );
|
38 |
|
|
|
|
|
|
|
|
|
39 |
wp_localize_script( 'bookly-staff-list.js', 'BooklyL10n', array(
|
40 |
-
'csrfToken'
|
41 |
-
'proRequired'
|
42 |
-
'areYouSure'
|
43 |
-
'
|
44 |
-
'
|
45 |
-
'
|
46 |
-
'
|
47 |
-
'
|
|
|
48 |
) );
|
49 |
|
50 |
-
self::renderTemplate( 'index' );
|
51 |
}
|
52 |
}
|
1 |
<?php
|
2 |
namespace Bookly\Backend\Modules\Staff;
|
3 |
|
|
|
4 |
use Bookly\Lib;
|
5 |
|
6 |
/**
|
15 |
public static function render()
|
16 |
{
|
17 |
self::enqueueStyles( array(
|
18 |
+
'backend' => array( 'bootstrap/css/bootstrap-theme.min.css', 'css/jquery-ui-theme/jquery-ui.min.css', 'css/fontawesome-all.min.css', 'css/select2.min.css', ),
|
19 |
) );
|
20 |
|
21 |
self::enqueueScripts( array(
|
24 |
'js/help.js' => array( 'jquery' ),
|
25 |
'js/alert.js' => array( 'jquery' ),
|
26 |
'js/datatables.min.js' => array( 'jquery' ),
|
27 |
+
'js/select2.full.min.js' => array( 'jquery' ),
|
28 |
),
|
29 |
'module' => array(
|
30 |
+
'js/staff-list.js' => array( 'jquery' ),
|
31 |
),
|
32 |
) );
|
33 |
|
36 |
Proxy\Shared::enqueueStaffProfileScripts();
|
37 |
Proxy\Shared::renderStaffPage( self::parameters() );
|
38 |
|
39 |
+
$categories = (array) Proxy\Pro::getCategoriesList();
|
40 |
+
|
41 |
+
$datatables = Lib\Utils\Tables::getSettings( 'staff_members' );
|
42 |
+
|
43 |
wp_localize_script( 'bookly-staff-list.js', 'BooklyL10n', array(
|
44 |
+
'csrfToken' => Lib\Utils\Common::getCsrfToken(),
|
45 |
+
'proRequired' => (int) ! Lib\Config::proActive(),
|
46 |
+
'areYouSure' => esc_attr__( 'Are you sure?', 'bookly' ),
|
47 |
+
'categories' => $categories,
|
48 |
+
'uncategorized' => esc_attr__( 'Uncategorized', 'bookly' ),
|
49 |
+
'edit' => esc_attr__( 'Edit', 'bookly' ),
|
50 |
+
'reorder' => esc_attr__( 'Reorder', 'bookly' ),
|
51 |
+
'noResultFound' => esc_attr__( 'No result found', 'bookly' ),
|
52 |
+
'datatables' => $datatables,
|
53 |
) );
|
54 |
|
55 |
+
self::renderTemplate( 'index', compact( 'categories', 'datatables' ) );
|
56 |
}
|
57 |
}
|
backend/modules/staff/proxy/Shared.php
CHANGED
@@ -11,6 +11,7 @@ use Bookly\Lib;
|
|
11 |
* @method static void enqueueStaffProfileScripts() Enqueue scripts for page Staff.
|
12 |
* @method static void enqueueStaffProfileStyles() Enqueue styles for page Staff.
|
13 |
* @method static string getAffectedAppointmentsFilter( string $filter_url, int[] $staff_id ) Get link with filter for appointments page.
|
|
|
14 |
* @method static void preUpdateStaff( Lib\Entities\Staff $staff, array $params ) Do stuff before staff update.
|
15 |
* @method static void renderStaffForm( Lib\Entities\Staff $staff ) Render Staff form tab details.
|
16 |
* @method static int renderStaffPage( array $params ) Do stuff on staff page render.
|
@@ -21,6 +22,7 @@ use Bookly\Lib;
|
|
21 |
* @method static void updateStaff( Lib\Entities\Staff $staff, array $params ) Update staff settings in add-ons.
|
22 |
* @method static void updateStaffSchedule( array $_post ) Update staff schedule settings in add-ons.
|
23 |
* @method static void updateStaffServices( array $_post ) Update staff services settings in add-ons.
|
|
|
24 |
*/
|
25 |
abstract class Shared extends Lib\Base\Proxy
|
26 |
{
|
11 |
* @method static void enqueueStaffProfileScripts() Enqueue scripts for page Staff.
|
12 |
* @method static void enqueueStaffProfileStyles() Enqueue styles for page Staff.
|
13 |
* @method static string getAffectedAppointmentsFilter( string $filter_url, int[] $staff_id ) Get link with filter for appointments page.
|
14 |
+
* @method static Lib\Query prepareGetStaffQuery( Lib\Query $query ) Prepare get staff list query.
|
15 |
* @method static void preUpdateStaff( Lib\Entities\Staff $staff, array $params ) Do stuff before staff update.
|
16 |
* @method static void renderStaffForm( Lib\Entities\Staff $staff ) Render Staff form tab details.
|
17 |
* @method static int renderStaffPage( array $params ) Do stuff on staff page render.
|
22 |
* @method static void updateStaff( Lib\Entities\Staff $staff, array $params ) Update staff settings in add-ons.
|
23 |
* @method static void updateStaffSchedule( array $_post ) Update staff schedule settings in add-ons.
|
24 |
* @method static void updateStaffServices( array $_post ) Update staff services settings in add-ons.
|
25 |
+
* @method static array searchStaff( array $fields, array $columns, Lib\Query $query ) Search staff, prepare query and fields.
|
26 |
*/
|
27 |
abstract class Shared extends Lib\Base\Proxy
|
28 |
{
|
backend/modules/staff/resources/js/staff-list.js
CHANGED
@@ -1,16 +1,22 @@
|
|
1 |
jQuery(function ($) {
|
2 |
-
var $staffList
|
3 |
-
$checkAllButton = $('
|
4 |
-
|
5 |
$deleteButton = $('#bookly-delete'),
|
6 |
$deleteModal = $('.bookly-js-delete-cascade-confirm'),
|
7 |
$staffCount = $('.bookly-js-staff-count'),
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
10 |
;
|
11 |
|
12 |
$('.bookly-js-select').val(null);
|
13 |
-
|
|
|
14 |
if (value != '') {
|
15 |
let $elem = $('#bookly-filter-' + field);
|
16 |
if ($elem.is(':checkbox')) {
|
@@ -31,100 +37,85 @@ jQuery(function ($) {
|
|
31 |
.on('hidden.bs.modal', function () {
|
32 |
jQuery('body').addClass('modal-open');
|
33 |
});
|
34 |
-
var columns = [
|
35 |
-
{
|
36 |
-
data : 'position',
|
37 |
-
searchable: false
|
38 |
-
},
|
39 |
-
{
|
40 |
-
render: function (data, type, row, meta) {
|
41 |
-
return '<i class="bookly-icon bookly-icon-draghandle bookly-cursor-move" title="' + BooklyL10n.reorder + '"></i>';
|
42 |
-
}
|
43 |
-
},
|
44 |
-
{
|
45 |
-
data: 'full_name',
|
46 |
-
responsivePriority: 2
|
47 |
-
},
|
48 |
-
];
|
49 |
-
if (BooklyL10n.proRequired !== "1") {
|
50 |
-
columns = columns.concat([
|
51 |
-
{
|
52 |
-
responsivePriority: 3,
|
53 |
-
render: function (data, type, row, meta) {
|
54 |
-
if (row.category_id != null) {
|
55 |
-
return BooklyL10n.categories.find(x => x.id === row.category_id).name;
|
56 |
-
} else {
|
57 |
-
return BooklyL10n.uncategorized;
|
58 |
-
}
|
59 |
-
}
|
60 |
-
}]);
|
61 |
-
} else {
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
{
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
return '<button type="button" class="btn btn-default" data-action="edit"><i class="fa fa-fw fa-edit"></i> ' + BooklyL10n.edit + '</a>';
|
82 |
-
}
|
83 |
-
},
|
84 |
-
{
|
85 |
-
responsivePriority: 1,
|
86 |
-
searchable: false,
|
87 |
-
render: function (data, type, row, meta) {
|
88 |
-
return '<input type="checkbox" class="bookly-js-delete" value="' + row.id + '" />';
|
89 |
}
|
90 |
}
|
91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
/**
|
94 |
-
*
|
95 |
*/
|
96 |
var dt = $staffList.DataTable({
|
97 |
-
|
98 |
-
info
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
},
|
108 |
-
order : [0, 'asc'],
|
109 |
-
columnDefs: [
|
110 |
-
{visible: false, targets: 0},
|
111 |
-
{orderable: false, targets: '_all'}
|
112 |
-
],
|
113 |
-
ajax : {
|
114 |
url : ajaxurl,
|
115 |
-
data: {action: '', csrf_token: BooklyL10n.csrfToken},
|
116 |
type: 'POST',
|
117 |
data: function (d) {
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
122 |
}
|
123 |
-
}
|
|
|
|
|
124 |
},
|
125 |
dataSrc: function (json) {
|
126 |
-
$staffCount.html(json.
|
127 |
-
return json.data
|
128 |
}
|
129 |
},
|
130 |
columns : columns,
|
@@ -140,44 +131,8 @@ jQuery(function ($) {
|
|
140 |
zeroRecords: BooklyL10n.zeroRecords,
|
141 |
processing : BooklyL10n.processing
|
142 |
}
|
143 |
-
}).on('row-reordered', function (e, diff, edit) {
|
144 |
-
let positions = [];
|
145 |
-
dt.data().each(function (item) {
|
146 |
-
positions.push({position: parseInt(item.position), id: item.id});
|
147 |
-
});
|
148 |
-
$.ajax({
|
149 |
-
url : ajaxurl,
|
150 |
-
type : 'POST',
|
151 |
-
data : {
|
152 |
-
action : 'bookly_update_staff_position',
|
153 |
-
csrf_token : BooklyL10n.csrfToken,
|
154 |
-
positions : (positions.sort((a, b) => a.position - b.position))
|
155 |
-
.map(function (value) {
|
156 |
-
return value.id;
|
157 |
-
})
|
158 |
-
},
|
159 |
-
dataType: 'json',
|
160 |
-
success : function (response) {
|
161 |
-
|
162 |
-
}
|
163 |
-
});
|
164 |
});
|
165 |
|
166 |
-
/**
|
167 |
-
* On filters change.
|
168 |
-
*/
|
169 |
-
$filter
|
170 |
-
.on('keyup', function () {
|
171 |
-
dt.search(this.value).draw();
|
172 |
-
})
|
173 |
-
.on('keydown', function (e) {
|
174 |
-
if (e.keyCode == 13) {
|
175 |
-
e.preventDefault();
|
176 |
-
return false;
|
177 |
-
}
|
178 |
-
})
|
179 |
-
;
|
180 |
-
|
181 |
/**
|
182 |
* Select all appointments.
|
183 |
*/
|
@@ -234,9 +189,9 @@ jQuery(function ($) {
|
|
234 |
break;
|
235 |
}
|
236 |
} else {
|
237 |
-
$(document.body).trigger('service.deleted', [staff]);
|
238 |
dt.rows($checkboxes.closest('td')).remove().draw();
|
239 |
$staffCount.html(response.data.total);
|
|
|
240 |
}
|
241 |
ladda.stop();
|
242 |
});
|
@@ -252,10 +207,25 @@ jQuery(function ($) {
|
|
252 |
allowClear: true,
|
253 |
placeholder: '',
|
254 |
language : {
|
255 |
-
noResults: function() { return BooklyL10n.
|
256 |
}
|
257 |
});
|
258 |
|
259 |
-
|
260 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
261 |
});
|
1 |
jQuery(function ($) {
|
2 |
+
var $staffList = $('#bookly-staff-list'),
|
3 |
+
$checkAllButton = $('#bookly-check-all'),
|
4 |
+
|
5 |
$deleteButton = $('#bookly-delete'),
|
6 |
$deleteModal = $('.bookly-js-delete-cascade-confirm'),
|
7 |
$staffCount = $('.bookly-js-staff-count'),
|
8 |
+
filters = {
|
9 |
+
visibility: $('#bookly-filter-visibility'),
|
10 |
+
archived : $('#bookly-filter-archived'),
|
11 |
+
category : $('#bookly-filter-category'),
|
12 |
+
search : $('#bookly-filter-search'),
|
13 |
+
},
|
14 |
+
urlParts = document.URL.split('#')
|
15 |
;
|
16 |
|
17 |
$('.bookly-js-select').val(null);
|
18 |
+
|
19 |
+
$.each(BooklyL10n.datatables.staff_members.settings.filter, function (field, value) {
|
20 |
if (value != '') {
|
21 |
let $elem = $('#bookly-filter-' + field);
|
22 |
if ($elem.is(':checkbox')) {
|
37 |
.on('hidden.bs.modal', function () {
|
38 |
jQuery('body').addClass('modal-open');
|
39 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
41 |
+
/**
|
42 |
+
* Init Columns.
|
43 |
+
*/
|
44 |
+
var columns = [];
|
45 |
+
|
46 |
+
$.each(BooklyL10n.datatables.staff_members.settings.columns, function (column, show) {
|
47 |
+
if (show) {
|
48 |
+
switch (column) {
|
49 |
+
case 'category_name':
|
50 |
+
columns.push({
|
51 |
+
data: column, render: function (data, type, row, meta) {
|
52 |
+
return data !== null ? data : BooklyL10n.uncategorized;
|
53 |
+
}
|
54 |
+
});
|
55 |
+
break;
|
56 |
+
default:
|
57 |
+
columns.push({data: column});
|
58 |
+
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
}
|
60 |
}
|
61 |
+
});
|
62 |
+
columns.push({
|
63 |
+
responsivePriority: 1,
|
64 |
+
orderable : false,
|
65 |
+
searchable : false,
|
66 |
+
width : 90,
|
67 |
+
render : function (data, type, row, meta) {
|
68 |
+
return '<button type="button" class="btn btn-default" data-action="edit"><i class="fa fa-fw fa-edit"></i> ' + BooklyL10n.edit + '</a>';
|
69 |
+
}
|
70 |
+
});
|
71 |
+
columns.push({
|
72 |
+
responsivePriority: 1,
|
73 |
+
orderable : false,
|
74 |
+
searchable : false,
|
75 |
+
render : function (data, type, row, meta) {
|
76 |
+
return '<input type="checkbox" value="' + row.id + '">';
|
77 |
+
}
|
78 |
+
});
|
79 |
+
let order = [];
|
80 |
+
$.each(BooklyL10n.datatables.staff_members.settings.order, function (key, value) {
|
81 |
+
const index = columns.findIndex(c => c.data === value.column);
|
82 |
+
if (index !== -1) {
|
83 |
+
order.push([index, value.order]);
|
84 |
+
}
|
85 |
+
});
|
86 |
|
87 |
/**
|
88 |
+
* Init DataTables.
|
89 |
*/
|
90 |
var dt = $staffList.DataTable({
|
91 |
+
order : order,
|
92 |
+
info : false,
|
93 |
+
searching : false,
|
94 |
+
lengthChange: false,
|
95 |
+
processing : true,
|
96 |
+
responsive : true,
|
97 |
+
pageLength : 25,
|
98 |
+
pagingType : 'numbers',
|
99 |
+
serverSide : true,
|
100 |
+
ajax : {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
url : ajaxurl,
|
|
|
102 |
type: 'POST',
|
103 |
data: function (d) {
|
104 |
+
let data = $.extend({action: 'bookly_get_staff_list', csrf_token: BooklyL10n.csrfToken, filter: {}}, d);
|
105 |
+
|
106 |
+
Object.keys(filters).map(filter => {
|
107 |
+
if (filter == 'archived') {
|
108 |
+
data.filter[filter] = filters[filter].prop('checked') ? 1 : 0;
|
109 |
+
} else {
|
110 |
+
data.filter[filter] = filters[filter].val();
|
111 |
}
|
112 |
+
});
|
113 |
+
|
114 |
+
return data;
|
115 |
},
|
116 |
dataSrc: function (json) {
|
117 |
+
$staffCount.html(json.recordsFiltered);
|
118 |
+
return json.data;
|
119 |
}
|
120 |
},
|
121 |
columns : columns,
|
131 |
zeroRecords: BooklyL10n.zeroRecords,
|
132 |
processing : BooklyL10n.processing
|
133 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
});
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
/**
|
137 |
* Select all appointments.
|
138 |
*/
|
189 |
break;
|
190 |
}
|
191 |
} else {
|
|
|
192 |
dt.rows($checkboxes.closest('td')).remove().draw();
|
193 |
$staffCount.html(response.data.total);
|
194 |
+
$(document.body).trigger('staff.deleted', [staff_ids]);
|
195 |
}
|
196 |
ladda.stop();
|
197 |
});
|
207 |
allowClear: true,
|
208 |
placeholder: '',
|
209 |
language : {
|
210 |
+
noResults: function() { return BooklyL10n.noResultFound; }
|
211 |
}
|
212 |
});
|
213 |
|
214 |
+
/**
|
215 |
+
* On filters change.
|
216 |
+
*/
|
217 |
+
filters.search
|
218 |
+
.on('keyup', function () {
|
219 |
+
dt.search(this.value).draw();
|
220 |
+
})
|
221 |
+
.on('keydown', function (e) {
|
222 |
+
if (e.keyCode == 13) {
|
223 |
+
e.preventDefault();
|
224 |
+
return false;
|
225 |
+
}
|
226 |
+
})
|
227 |
+
;
|
228 |
+
filters.visibility.on('change', function () {dt.ajax.reload();});
|
229 |
+
filters.archived.on('change', function () {dt.ajax.reload();});
|
230 |
+
filters.category.on('change', function () {dt.ajax.reload();});
|
231 |
});
|
backend/modules/staff/templates/index.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
use Bookly\Backend\Components;
|
3 |
use Bookly\Lib;
|
|
|
4 |
?>
|
5 |
<div id="bookly-tbs" class="wrap">
|
6 |
<div class="bookly-tbs-body">
|
@@ -22,10 +23,31 @@ use Bookly\Lib;
|
|
22 |
<div class="panel panel-default bookly-main">
|
23 |
<div class="panel-body">
|
24 |
<?php if ( Lib\Utils\Common::isCurrentUserAdmin() ): ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
<div class="row">
|
26 |
<div class="col-md-4">
|
27 |
<div class="form-group">
|
28 |
-
<input class="form-control" type="text" id="bookly-filter" placeholder="<?php esc_attr_e( 'Quick search staff', 'bookly' ) ?>"/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
</div>
|
30 |
</div>
|
31 |
<div class="col-md-2">
|
@@ -48,33 +70,24 @@ use Bookly\Lib;
|
|
48 |
</div>
|
49 |
<?php endif ?>
|
50 |
</div>
|
51 |
-
<div class="col-md-4 form-inline bookly-margin-bottom-lg text-right">
|
52 |
-
<div class="form-group">
|
53 |
-
<?php Components\Dialogs\Staff\Categories\Proxy\Pro::renderAdd() ?>
|
54 |
-
</div>
|
55 |
-
<div class="form-group">
|
56 |
-
<?php Components\Controls\Buttons::renderAdd( 'bookly-js-new-staff', 'btn-success', esc_html__( 'Add staff...', 'bookly' ), array( 'data-toggle' => 'modal', 'data-target' => '#bookly-create-staff-modal', ) ) ?>
|
57 |
-
</div>
|
58 |
-
</div>
|
59 |
</div>
|
|
|
60 |
<?php endif ?>
|
61 |
-
|
|
|
62 |
<thead>
|
63 |
<tr>
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
<?php endif ?>
|
70 |
-
<th><?php esc_html_e( 'Email', 'bookly' ) ?></th>
|
71 |
-
<th><?php esc_html_e( 'Phone', 'bookly' ) ?></th>
|
72 |
-
<th><?php esc_html_e( 'User', 'bookly' ) ?></th>
|
73 |
<th width="75"></th>
|
74 |
-
<th width="16"><input type="checkbox"
|
75 |
</tr>
|
76 |
</thead>
|
77 |
</table>
|
|
|
78 |
<div class="text-right bookly-margin-top-lg">
|
79 |
<?php if ( Lib\Utils\Common::isCurrentUserAdmin() ): ?>
|
80 |
<?php Components\Controls\Buttons::renderDelete() ?>
|
@@ -84,8 +97,10 @@ use Bookly\Lib;
|
|
84 |
</div>
|
85 |
</div>
|
86 |
|
87 |
-
<?php Components\Dialogs\Staff\Edit\Dialog::render() ?>
|
88 |
-
<?php Components\Dialogs\Staff\Categories\Proxy\Pro::renderDialog() ?>
|
89 |
<?php Components\Dialogs\Common\CascadeDelete::render() ?>
|
90 |
<?php Components\Dialogs\Common\UnsavedChanges::render() ?>
|
|
|
|
|
|
|
|
|
91 |
</div>
|
1 |
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
2 |
use Bookly\Backend\Components;
|
3 |
use Bookly\Lib;
|
4 |
+
/** @var array $datatables */
|
5 |
?>
|
6 |
<div id="bookly-tbs" class="wrap">
|
7 |
<div class="bookly-tbs-body">
|
23 |
<div class="panel panel-default bookly-main">
|
24 |
<div class="panel-body">
|
25 |
<?php if ( Lib\Utils\Common::isCurrentUserAdmin() ): ?>
|
26 |
+
<div class="row">
|
27 |
+
<div class="col-md-12 form-inline bookly-margin-bottom-lg text-right">
|
28 |
+
<div class="form-group">
|
29 |
+
<?php Components\Controls\Buttons::renderModalActivator( 'bookly-staff-order-modal', 'btn-default bookly-btn-block-xs', esc_html__( 'Staff members order', 'bookly' ) ) ?>
|
30 |
+
</div>
|
31 |
+
<?php Components\Dialogs\Staff\Categories\Proxy\Pro::renderAdd() ?>
|
32 |
+
<div class="form-group">
|
33 |
+
<?php Components\Controls\Buttons::renderModalActivator( 'bookly-create-staff-modal', 'btn-success bookly-btn-block-xs', esc_html__( 'Add staff', 'bookly' ), array(), '<i class="fa fa-fw fa-plus"></i> {caption}' ) ?>
|
34 |
+
</div>
|
35 |
+
<?php Components\Dialogs\TableSettings\Dialog::renderButton( 'staff_members' ) ?>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
<div class="row">
|
39 |
<div class="col-md-4">
|
40 |
<div class="form-group">
|
41 |
+
<input class="form-control" type="text" id="bookly-filter-search" placeholder="<?php esc_attr_e( 'Quick search staff', 'bookly' ) ?>"/>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
<div class="col-md-3 col-lg-2">
|
45 |
+
<div class="form-group">
|
46 |
+
<select class="form-control bookly-js-select" id="bookly-filter-category" data-placeholder="<?php esc_attr_e( 'Categories', 'bookly' ) ?>">
|
47 |
+
<?php foreach ( $categories as $category ) : ?>
|
48 |
+
<option value="<?php echo $category['id'] ?>"><?php echo esc_html( $category['name'] ) ?></option>
|
49 |
+
<?php endforeach ?>
|
50 |
+
</select>
|
51 |
</div>
|
52 |
</div>
|
53 |
<div class="col-md-2">
|
70 |
</div>
|
71 |
<?php endif ?>
|
72 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
</div>
|
74 |
+
|
75 |
<?php endif ?>
|
76 |
+
|
77 |
+
<table id="bookly-staff-list" class="table table-striped" width="100%">
|
78 |
<thead>
|
79 |
<tr>
|
80 |
+
<?php foreach ( $datatables['staff_members']['settings']['columns'] as $column => $show ) : ?>
|
81 |
+
<?php if ( $show ) : ?>
|
82 |
+
<th><?php echo $datatables['staff_members']['titles'][ $column ] ?></th>
|
83 |
+
<?php endif ?>
|
84 |
+
<?php endforeach ?>
|
|
|
|
|
|
|
|
|
85 |
<th width="75"></th>
|
86 |
+
<th width="16"><input type="checkbox" id="bookly-check-all"/></th>
|
87 |
</tr>
|
88 |
</thead>
|
89 |
</table>
|
90 |
+
|
91 |
<div class="text-right bookly-margin-top-lg">
|
92 |
<?php if ( Lib\Utils\Common::isCurrentUserAdmin() ): ?>
|
93 |
<?php Components\Controls\Buttons::renderDelete() ?>
|
97 |
</div>
|
98 |
</div>
|
99 |
|
|
|
|
|
100 |
<?php Components\Dialogs\Common\CascadeDelete::render() ?>
|
101 |
<?php Components\Dialogs\Common\UnsavedChanges::render() ?>
|
102 |
+
<?php Components\Dialogs\Staff\Categories\Proxy\Pro::renderDialog() ?>
|
103 |
+
<?php Components\Dialogs\Staff\Edit\Dialog::render() ?>
|
104 |
+
<?php Components\Dialogs\Staff\Order\Dialog::render() ?>
|
105 |
+
<?php Components\Dialogs\TableSettings\Dialog::render() ?>
|
106 |
</div>
|
backend/resources/bootstrap/css/bootstrap-theme.min.css
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
#bookly-tbs{
|
2 |
|
3 |
-
}#bookly-tbs html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}#bookly-tbs body{margin:0}#bookly-tbs article,#bookly-tbs aside,#bookly-tbs details,#bookly-tbs figcaption,#bookly-tbs figure,#bookly-tbs footer,#bookly-tbs header,#bookly-tbs hgroup,#bookly-tbs main,#bookly-tbs menu,#bookly-tbs nav,#bookly-tbs section,#bookly-tbs summary{display:block}#bookly-tbs audio,#bookly-tbs canvas,#bookly-tbs progress,#bookly-tbs video{display:inline-block;vertical-align:baseline}#bookly-tbs audio:not([controls]){display:none;height:0}#bookly-tbs [hidden],#bookly-tbs template{display:none}#bookly-tbs a{background-color:transparent}#bookly-tbs a:active,#bookly-tbs a:hover{outline:0}#bookly-tbs abbr[title]{border-bottom:1px dotted}#bookly-tbs b,#bookly-tbs strong{font-weight:700}#bookly-tbs dfn{font-style:italic}#bookly-tbs h1{margin:.67em 0;font-size:2em}#bookly-tbs mark{color:#000;background:#ff0}#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 sup{top:-.5em}#bookly-tbs sub{bottom:-.25em}#bookly-tbs img{border:0}#bookly-tbs svg:not(:root){overflow:hidden}#bookly-tbs figure{margin:1em 40px}#bookly-tbs hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}#bookly-tbs pre{overflow:auto}#bookly-tbs code,#bookly-tbs kbd,#bookly-tbs pre,#bookly-tbs samp{font-family:monospace,monospace;font-size:1em}#bookly-tbs button,#bookly-tbs input,#bookly-tbs optgroup,#bookly-tbs select,#bookly-tbs textarea{margin:0;font:inherit;color:inherit}#bookly-tbs button{overflow:visible}#bookly-tbs button,#bookly-tbs select{text-transform:none}#bookly-tbs button,#bookly-tbs html input[type=button],#bookly-tbs input[type=reset],#bookly-tbs input[type=submit]{-webkit-appearance:button;cursor:pointer}#bookly-tbs button[disabled],#bookly-tbs html input[disabled]{cursor:default}#bookly-tbs button::-moz-focus-inner,#bookly-tbs input::-moz-focus-inner{padding:0;border:0}#bookly-tbs input{line-height:normal}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}#bookly-tbs input[type=number]::-webkit-inner-spin-button,#bookly-tbs input[type=number]::-webkit-outer-spin-button{height:auto}#bookly-tbs input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}#bookly-tbs input[type=search]::-webkit-search-cancel-button,#bookly-tbs input[type=search]::-webkit-search-decoration{-webkit-appearance:none}#bookly-tbs fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}#bookly-tbs legend{padding:0;border:0}#bookly-tbs textarea{overflow:auto}#bookly-tbs optgroup{font-weight:700}#bookly-tbs table{border-spacing:0;border-collapse:collapse}#bookly-tbs td,#bookly-tbs th{padding:0}@media print{#bookly-tbs *,#bookly-tbs :after,#bookly-tbs :before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}#bookly-tbs a,#bookly-tbs a:visited{text-decoration:underline}#bookly-tbs a[href]:after{content:" (" attr(href) ")"}#bookly-tbs abbr[title]:after{content:" (" attr(title) ")"}#bookly-tbs a[href^="javascript:"]:after,#bookly-tbs a[href^="#"]:after{content:""}#bookly-tbs blockquote,#bookly-tbs pre{border:1px solid #999;page-break-inside:avoid}#bookly-tbs thead{display:table-header-group}#bookly-tbs img,#bookly-tbs tr{page-break-inside:avoid}#bookly-tbs img{max-width:100%!important}#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs p{orphans:3;widows:3}#bookly-tbs h2,#bookly-tbs h3{page-break-after:avoid}#bookly-tbs .navbar{display:none}#bookly-tbs .btn>.caret,#bookly-tbs .dropup>.btn>.caret{border-top-color:#000!important}#bookly-tbs .label{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 #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}#bookly-tbs .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#bookly-tbs .glyphicon-asterisk:before{content:"\002a"}#bookly-tbs .glyphicon-plus:before{content:"\002b"}#bookly-tbs .glyphicon-eur:before,#bookly-tbs .glyphicon-euro:before{content:"\20ac"}#bookly-tbs .glyphicon-minus:before{content:"\2212"}#bookly-tbs .glyphicon-cloud:before{content:"\2601"}#bookly-tbs .glyphicon-envelope:before{content:"\2709"}#bookly-tbs .glyphicon-pencil:before{content:"\270f"}#bookly-tbs .glyphicon-glass:before{content:"\e001"}#bookly-tbs .glyphicon-music:before{content:"\e002"}#bookly-tbs .glyphicon-search:before{content:"\e003"}#bookly-tbs .glyphicon-heart:before{content:"\e005"}#bookly-tbs .glyphicon-star:before{content:"\e006"}#bookly-tbs .glyphicon-star-empty:before{content:"\e007"}#bookly-tbs .glyphicon-user:before{content:"\e008"}#bookly-tbs .glyphicon-film:before{content:"\e009"}#bookly-tbs .glyphicon-th-large:before{content:"\e010"}#bookly-tbs .glyphicon-th:before{content:"\e011"}#bookly-tbs .glyphicon-th-list:before{content:"\e012"}#bookly-tbs .glyphicon-ok:before{content:"\e013"}#bookly-tbs .glyphicon-remove:before{content:"\e014"}#bookly-tbs .glyphicon-zoom-in:before{content:"\e015"}#bookly-tbs .glyphicon-zoom-out:before{content:"\e016"}#bookly-tbs .glyphicon-off:before{content:"\e017"}#bookly-tbs .glyphicon-signal:before{content:"\e018"}#bookly-tbs .glyphicon-cog:before{content:"\e019"}#bookly-tbs .glyphicon-trash:before{content:"\e020"}#bookly-tbs .glyphicon-home:before{content:"\e021"}#bookly-tbs .glyphicon-file:before{content:"\e022"}#bookly-tbs .glyphicon-time:before{content:"\e023"}#bookly-tbs .glyphicon-road:before{content:"\e024"}#bookly-tbs .glyphicon-download-alt:before{content:"\e025"}#bookly-tbs .glyphicon-download:before{content:"\e026"}#bookly-tbs .glyphicon-upload:before{content:"\e027"}#bookly-tbs .glyphicon-inbox:before{content:"\e028"}#bookly-tbs .glyphicon-play-circle:before{content:"\e029"}#bookly-tbs .glyphicon-repeat:before{content:"\e030"}#bookly-tbs .glyphicon-refresh:before{content:"\e031"}#bookly-tbs .glyphicon-list-alt:before{content:"\e032"}#bookly-tbs .glyphicon-lock:before{content:"\e033"}#bookly-tbs .glyphicon-flag:before{content:"\e034"}#bookly-tbs .glyphicon-headphones:before{content:"\e035"}#bookly-tbs .glyphicon-volume-off:before{content:"\e036"}#bookly-tbs .glyphicon-volume-down:before{content:"\e037"}#bookly-tbs .glyphicon-volume-up:before{content:"\e038"}#bookly-tbs .glyphicon-qrcode:before{content:"\e039"}#bookly-tbs .glyphicon-barcode:before{content:"\e040"}#bookly-tbs .glyphicon-tag:before{content:"\e041"}#bookly-tbs .glyphicon-tags:before{content:"\e042"}#bookly-tbs .glyphicon-book:before{content:"\e043"}#bookly-tbs .glyphicon-bookmark:before{content:"\e044"}#bookly-tbs .glyphicon-print:before{content:"\e045"}#bookly-tbs .glyphicon-camera:before{content:"\e046"}#bookly-tbs .glyphicon-font:before{content:"\e047"}#bookly-tbs .glyphicon-bold:before{content:"\e048"}#bookly-tbs .glyphicon-italic:before{content:"\e049"}#bookly-tbs .glyphicon-text-height:before{content:"\e050"}#bookly-tbs .glyphicon-text-width:before{content:"\e051"}#bookly-tbs .glyphicon-align-left:before{content:"\e052"}#bookly-tbs .glyphicon-align-center:before{content:"\e053"}#bookly-tbs .glyphicon-align-right:before{content:"\e054"}#bookly-tbs .glyphicon-align-justify:before{content:"\e055"}#bookly-tbs .glyphicon-list:before{content:"\e056"}#bookly-tbs .glyphicon-indent-left:before{content:"\e057"}#bookly-tbs .glyphicon-indent-right:before{content:"\e058"}#bookly-tbs .glyphicon-facetime-video:before{content:"\e059"}#bookly-tbs .glyphicon-picture:before{content:"\e060"}#bookly-tbs .glyphicon-map-marker:before{content:"\e062"}#bookly-tbs .glyphicon-adjust:before{content:"\e063"}#bookly-tbs .glyphicon-tint:before{content:"\e064"}#bookly-tbs .glyphicon-edit:before{content:"\e065"}#bookly-tbs .glyphicon-share:before{content:"\e066"}#bookly-tbs .glyphicon-check:before{content:"\e067"}#bookly-tbs .glyphicon-move:before{content:"\e068"}#bookly-tbs .glyphicon-step-backward:before{content:"\e069"}#bookly-tbs .glyphicon-fast-backward:before{content:"\e070"}#bookly-tbs .glyphicon-backward:before{content:"\e071"}#bookly-tbs .glyphicon-play:before{content:"\e072"}#bookly-tbs .glyphicon-pause:before{content:"\e073"}#bookly-tbs .glyphicon-stop:before{content:"\e074"}#bookly-tbs .glyphicon-forward:before{content:"\e075"}#bookly-tbs .glyphicon-fast-forward:before{content:"\e076"}#bookly-tbs .glyphicon-step-forward:before{content:"\e077"}#bookly-tbs .glyphicon-eject:before{content:"\e078"}#bookly-tbs .glyphicon-chevron-left:before{content:"\e079"}#bookly-tbs .glyphicon-chevron-right:before{content:"\e080"}#bookly-tbs .glyphicon-plus-sign:before{content:"\e081"}#bookly-tbs .glyphicon-minus-sign:before{content:"\e082"}#bookly-tbs .glyphicon-remove-sign:before{content:"\e083"}#bookly-tbs .glyphicon-ok-sign:before{content:"\e084"}#bookly-tbs .glyphicon-question-sign:before{content:"\e085"}#bookly-tbs .glyphicon-info-sign:before{content:"\e086"}#bookly-tbs .glyphicon-screenshot:before{content:"\e087"}#bookly-tbs .glyphicon-remove-circle:before{content:"\e088"}#bookly-tbs .glyphicon-ok-circle:before{content:"\e089"}#bookly-tbs .glyphicon-ban-circle:before{content:"\e090"}#bookly-tbs .glyphicon-arrow-left:before{content:"\e091"}#bookly-tbs .glyphicon-arrow-right:before{content:"\e092"}#bookly-tbs .glyphicon-arrow-up:before{content:"\e093"}#bookly-tbs .glyphicon-arrow-down:before{content:"\e094"}#bookly-tbs .glyphicon-share-alt:before{content:"\e095"}#bookly-tbs .glyphicon-resize-full:before{content:"\e096"}#bookly-tbs .glyphicon-resize-small:before{content:"\e097"}#bookly-tbs .glyphicon-exclamation-sign:before{content:"\e101"}#bookly-tbs .glyphicon-gift:before{content:"\e102"}#bookly-tbs .glyphicon-leaf:before{content:"\e103"}#bookly-tbs .glyphicon-fire:before{content:"\e104"}#bookly-tbs .glyphicon-eye-open:before{content:"\e105"}#bookly-tbs .glyphicon-eye-close:before{content:"\e106"}#bookly-tbs .glyphicon-warning-sign:before{content:"\e107"}#bookly-tbs .glyphicon-plane:before{content:"\e108"}#bookly-tbs .glyphicon-calendar:before{content:"\e109"}#bookly-tbs .glyphicon-random:before{content:"\e110"}#bookly-tbs .glyphicon-comment:before{content:"\e111"}#bookly-tbs .glyphicon-magnet:before{content:"\e112"}#bookly-tbs .glyphicon-chevron-up:before{content:"\e113"}#bookly-tbs .glyphicon-chevron-down:before{content:"\e114"}#bookly-tbs .glyphicon-retweet:before{content:"\e115"}#bookly-tbs .glyphicon-shopping-cart:before{content:"\e116"}#bookly-tbs .glyphicon-folder-close:before{content:"\e117"}#bookly-tbs .glyphicon-folder-open:before{content:"\e118"}#bookly-tbs .glyphicon-resize-vertical:before{content:"\e119"}#bookly-tbs .glyphicon-resize-horizontal:before{content:"\e120"}#bookly-tbs .glyphicon-hdd:before{content:"\e121"}#bookly-tbs .glyphicon-bullhorn:before{content:"\e122"}#bookly-tbs .glyphicon-bell:before{content:"\e123"}#bookly-tbs .glyphicon-certificate:before{content:"\e124"}#bookly-tbs .glyphicon-thumbs-up:before{content:"\e125"}#bookly-tbs .glyphicon-thumbs-down:before{content:"\e126"}#bookly-tbs .glyphicon-hand-right:before{content:"\e127"}#bookly-tbs .glyphicon-hand-left:before{content:"\e128"}#bookly-tbs .glyphicon-hand-up:before{content:"\e129"}#bookly-tbs .glyphicon-hand-down:before{content:"\e130"}#bookly-tbs .glyphicon-circle-arrow-right:before{content:"\e131"}#bookly-tbs .glyphicon-circle-arrow-left:before{content:"\e132"}#bookly-tbs .glyphicon-circle-arrow-up:before{content:"\e133"}#bookly-tbs .glyphicon-circle-arrow-down:before{content:"\e134"}#bookly-tbs .glyphicon-globe:before{content:"\e135"}#bookly-tbs .glyphicon-wrench:before{content:"\e136"}#bookly-tbs .glyphicon-tasks:before{content:"\e137"}#bookly-tbs .glyphicon-filter:before{content:"\e138"}#bookly-tbs .glyphicon-briefcase:before{content:"\e139"}#bookly-tbs .glyphicon-fullscreen:before{content:"\e140"}#bookly-tbs .glyphicon-dashboard:before{content:"\e141"}#bookly-tbs .glyphicon-paperclip:before{content:"\e142"}#bookly-tbs .glyphicon-heart-empty:before{content:"\e143"}#bookly-tbs .glyphicon-link:before{content:"\e144"}#bookly-tbs .glyphicon-phone:before{content:"\e145"}#bookly-tbs .glyphicon-pushpin:before{content:"\e146"}#bookly-tbs .glyphicon-usd:before{content:"\e148"}#bookly-tbs .glyphicon-gbp:before{content:"\e149"}#bookly-tbs .glyphicon-sort:before{content:"\e150"}#bookly-tbs .glyphicon-sort-by-alphabet:before{content:"\e151"}#bookly-tbs .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}#bookly-tbs .glyphicon-sort-by-order:before{content:"\e153"}#bookly-tbs .glyphicon-sort-by-order-alt:before{content:"\e154"}#bookly-tbs .glyphicon-sort-by-attributes:before{content:"\e155"}#bookly-tbs .glyphicon-sort-by-attributes-alt:before{content:"\e156"}#bookly-tbs .glyphicon-unchecked:before{content:"\e157"}#bookly-tbs .glyphicon-expand:before{content:"\e158"}#bookly-tbs .glyphicon-collapse-down:before{content:"\e159"}#bookly-tbs .glyphicon-collapse-up:before{content:"\e160"}#bookly-tbs .glyphicon-log-in:before{content:"\e161"}#bookly-tbs .glyphicon-flash:before{content:"\e162"}#bookly-tbs .glyphicon-log-out:before{content:"\e163"}#bookly-tbs .glyphicon-new-window:before{content:"\e164"}#bookly-tbs .glyphicon-record:before{content:"\e165"}#bookly-tbs .glyphicon-save:before{content:"\e166"}#bookly-tbs .glyphicon-open:before{content:"\e167"}#bookly-tbs .glyphicon-saved:before{content:"\e168"}#bookly-tbs .glyphicon-import:before{content:"\e169"}#bookly-tbs .glyphicon-export:before{content:"\e170"}#bookly-tbs .glyphicon-send:before{content:"\e171"}#bookly-tbs .glyphicon-floppy-disk:before{content:"\e172"}#bookly-tbs .glyphicon-floppy-saved:before{content:"\e173"}#bookly-tbs .glyphicon-floppy-remove:before{content:"\e174"}#bookly-tbs .glyphicon-floppy-save:before{content:"\e175"}#bookly-tbs .glyphicon-floppy-open:before{content:"\e176"}#bookly-tbs .glyphicon-credit-card:before{content:"\e177"}#bookly-tbs .glyphicon-transfer:before{content:"\e178"}#bookly-tbs .glyphicon-cutlery:before{content:"\e179"}#bookly-tbs .glyphicon-header:before{content:"\e180"}#bookly-tbs .glyphicon-compressed:before{content:"\e181"}#bookly-tbs .glyphicon-earphone:before{content:"\e182"}#bookly-tbs .glyphicon-phone-alt:before{content:"\e183"}#bookly-tbs .glyphicon-tower:before{content:"\e184"}#bookly-tbs .glyphicon-stats:before{content:"\e185"}#bookly-tbs .glyphicon-sd-video:before{content:"\e186"}#bookly-tbs .glyphicon-hd-video:before{content:"\e187"}#bookly-tbs .glyphicon-subtitles:before{content:"\e188"}#bookly-tbs .glyphicon-sound-stereo:before{content:"\e189"}#bookly-tbs .glyphicon-sound-dolby:before{content:"\e190"}#bookly-tbs .glyphicon-sound-5-1:before{content:"\e191"}#bookly-tbs .glyphicon-sound-6-1:before{content:"\e192"}#bookly-tbs .glyphicon-sound-7-1:before{content:"\e193"}#bookly-tbs .glyphicon-copyright-mark:before{content:"\e194"}#bookly-tbs .glyphicon-registration-mark:before{content:"\e195"}#bookly-tbs .glyphicon-cloud-download:before{content:"\e197"}#bookly-tbs .glyphicon-cloud-upload:before{content:"\e198"}#bookly-tbs .glyphicon-tree-conifer:before{content:"\e199"}#bookly-tbs .glyphicon-tree-deciduous:before{content:"\e200"}#bookly-tbs .glyphicon-cd:before{content:"\e201"}#bookly-tbs .glyphicon-save-file:before{content:"\e202"}#bookly-tbs .glyphicon-open-file:before{content:"\e203"}#bookly-tbs .glyphicon-level-up:before{content:"\e204"}#bookly-tbs .glyphicon-copy:before{content:"\e205"}#bookly-tbs .glyphicon-paste:before{content:"\e206"}#bookly-tbs .glyphicon-alert:before{content:"\e209"}#bookly-tbs .glyphicon-equalizer:before{content:"\e210"}#bookly-tbs .glyphicon-king:before{content:"\e211"}#bookly-tbs .glyphicon-queen:before{content:"\e212"}#bookly-tbs .glyphicon-pawn:before{content:"\e213"}#bookly-tbs .glyphicon-bishop:before{content:"\e214"}#bookly-tbs .glyphicon-knight:before{content:"\e215"}#bookly-tbs .glyphicon-baby-formula:before{content:"\e216"}#bookly-tbs .glyphicon-tent:before{content:"\26fa"}#bookly-tbs .glyphicon-blackboard:before{content:"\e218"}#bookly-tbs .glyphicon-bed:before{content:"\e219"}#bookly-tbs .glyphicon-apple:before{content:"\f8ff"}#bookly-tbs .glyphicon-erase:before{content:"\e221"}#bookly-tbs .glyphicon-hourglass:before{content:"\231b"}#bookly-tbs .glyphicon-lamp:before{content:"\e223"}#bookly-tbs .glyphicon-duplicate:before{content:"\e224"}#bookly-tbs .glyphicon-piggy-bank:before{content:"\e225"}#bookly-tbs .glyphicon-scissors:before{content:"\e226"}#bookly-tbs .glyphicon-bitcoin:before{content:"\e227"}#bookly-tbs .glyphicon-btc:before{content:"\e227"}#bookly-tbs .glyphicon-xbt:before{content:"\e227"}#bookly-tbs .glyphicon-yen:before{content:"\00a5"}#bookly-tbs .glyphicon-jpy:before{content:"\00a5"}#bookly-tbs .glyphicon-ruble:before{content:"\20bd"}#bookly-tbs .glyphicon-rub:before{content:"\20bd"}#bookly-tbs .glyphicon-scale:before{content:"\e230"}#bookly-tbs .glyphicon-ice-lolly:before{content:"\e231"}#bookly-tbs .glyphicon-ice-lolly-tasted:before{content:"\e232"}#bookly-tbs .glyphicon-education:before{content:"\e233"}#bookly-tbs .glyphicon-option-horizontal:before{content:"\e234"}#bookly-tbs .glyphicon-option-vertical:before{content:"\e235"}#bookly-tbs .glyphicon-menu-hamburger:before{content:"\e236"}#bookly-tbs .glyphicon-modal-window:before{content:"\e237"}#bookly-tbs .glyphicon-oil:before{content:"\e238"}#bookly-tbs .glyphicon-grain:before{content:"\e239"}#bookly-tbs .glyphicon-sunglasses:before{content:"\e240"}#bookly-tbs .glyphicon-text-size:before{content:"\e241"}#bookly-tbs .glyphicon-text-color:before{content:"\e242"}#bookly-tbs .glyphicon-text-background:before{content:"\e243"}#bookly-tbs .glyphicon-object-align-top:before{content:"\e244"}#bookly-tbs .glyphicon-object-align-bottom:before{content:"\e245"}#bookly-tbs .glyphicon-object-align-horizontal:before{content:"\e246"}#bookly-tbs .glyphicon-object-align-left:before{content:"\e247"}#bookly-tbs .glyphicon-object-align-vertical:before{content:"\e248"}#bookly-tbs .glyphicon-object-align-right:before{content:"\e249"}#bookly-tbs .glyphicon-triangle-right:before{content:"\e250"}#bookly-tbs .glyphicon-triangle-left:before{content:"\e251"}#bookly-tbs .glyphicon-triangle-bottom:before{content:"\e252"}#bookly-tbs .glyphicon-triangle-top:before{content:"\e253"}#bookly-tbs .glyphicon-console:before{content:"\e254"}#bookly-tbs .glyphicon-superscript:before{content:"\e255"}#bookly-tbs .glyphicon-subscript:before{content:"\e256"}#bookly-tbs .glyphicon-menu-left:before{content:"\e257"}#bookly-tbs .glyphicon-menu-right:before{content:"\e258"}#bookly-tbs .glyphicon-menu-down:before{content:"\e259"}#bookly-tbs .glyphicon-menu-up:before{content:"\e260"}#bookly-tbs *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#bookly-tbs :after,#bookly-tbs :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#bookly-tbs .bookly-tbs-body{font-family:"open sans","helvetica neue",helvetica,arial,sans-serif;font-size:15px;line-height:1.4;color:#3e424a;background-color:transparent;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#bookly-tbs button,#bookly-tbs input,#bookly-tbs select,#bookly-tbs textarea{font-family:inherit;font-size:inherit;line-height:inherit}#bookly-tbs a{color:#08c;text-decoration:none}#bookly-tbs a:focus,#bookly-tbs a:hover{color:#005580;text-decoration:none}#bookly-tbs a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}#bookly-tbs figure{margin:0}#bookly-tbs img{vertical-align:middle}#bookly-tbs .carousel-inner>.item>a>img,#bookly-tbs .carousel-inner>.item>img,#bookly-tbs .img-responsive,#bookly-tbs .thumbnail a>img,#bookly-tbs .thumbnail>img{display:block;max-width:100%;height:auto}#bookly-tbs .img-rounded{border-radius:6px}#bookly-tbs .img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.4;background-color:transparent;border:1px solid #e8ebf0;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#bookly-tbs .img-circle{border-radius:50%}#bookly-tbs hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #d9dee4}#bookly-tbs .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}#bookly-tbs .sr-only-focusable:active,#bookly-tbs .sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}#bookly-tbs [role=button]{cursor:pointer}#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{font-family:inherit;font-weight:400;line-height:1.1;color:inherit}#bookly-tbs .h1 .small,#bookly-tbs .h1 small,#bookly-tbs .h2 .small,#bookly-tbs .h2 small,#bookly-tbs .h3 .small,#bookly-tbs .h3 small,#bookly-tbs .h4 .small,#bookly-tbs .h4 small,#bookly-tbs .h5 .small,#bookly-tbs .h5 small,#bookly-tbs .h6 .small,#bookly-tbs .h6 small,#bookly-tbs h1 .small,#bookly-tbs h1 small,#bookly-tbs h2 .small,#bookly-tbs h2 small,#bookly-tbs h3 .small,#bookly-tbs h3 small,#bookly-tbs h4 .small,#bookly-tbs h4 small,#bookly-tbs h5 .small,#bookly-tbs h5 small,#bookly-tbs h6 .small,#bookly-tbs h6 small{font-weight:400;line-height:1;color:#d9dee4}#bookly-tbs .h1,#bookly-tbs .h2,#bookly-tbs .h3,#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3{margin-top:21px;margin-bottom:10.5px}#bookly-tbs .h1 .small,#bookly-tbs .h1 small,#bookly-tbs .h2 .small,#bookly-tbs .h2 small,#bookly-tbs .h3 .small,#bookly-tbs .h3 small,#bookly-tbs h1 .small,#bookly-tbs h1 small,#bookly-tbs h2 .small,#bookly-tbs h2 small,#bookly-tbs h3 .small,#bookly-tbs h3 small{font-size:65%}#bookly-tbs .h4,#bookly-tbs .h5,#bookly-tbs .h6,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-top:10.5px;margin-bottom:10.5px}#bookly-tbs .h4 .small,#bookly-tbs .h4 small,#bookly-tbs .h5 .small,#bookly-tbs .h5 small,#bookly-tbs .h6 .small,#bookly-tbs .h6 small,#bookly-tbs h4 .small,#bookly-tbs h4 small,#bookly-tbs h5 .small,#bookly-tbs h5 small,#bookly-tbs h6 .small,#bookly-tbs h6 small{font-size:75%}#bookly-tbs .h1,#bookly-tbs h1{font-size:27px}#bookly-tbs .h2,#bookly-tbs h2{font-size:24px}#bookly-tbs .h3,#bookly-tbs h3{font-size:21px}#bookly-tbs .h4,#bookly-tbs h4{font-size:18px}#bookly-tbs .h5,#bookly-tbs h5{font-size:15px}#bookly-tbs .h6,#bookly-tbs h6{font-size:13px}#bookly-tbs p{margin:0 0 10.5px}#bookly-tbs .lead{margin-bottom:21px;font-size:17px;font-weight:300;line-height:1.4}@media (min-width:768px){#bookly-tbs .lead{font-size:22.5px}}#bookly-tbs .small,#bookly-tbs small{font-size:86%}#bookly-tbs .mark,#bookly-tbs mark{padding:.2em;background-color:#fcf8e3}#bookly-tbs .text-left{text-align:left}#bookly-tbs .text-right{text-align:right}#bookly-tbs .text-center{text-align:center}#bookly-tbs .text-justify{text-align:justify}#bookly-tbs .text-nowrap{white-space:nowrap}#bookly-tbs .text-lowercase{text-transform:lowercase}#bookly-tbs .text-uppercase{text-transform:uppercase}#bookly-tbs .text-capitalize{text-transform:capitalize}#bookly-tbs .text-muted{color:#d9dee4}#bookly-tbs .text-primary{color:#08c}#bookly-tbs a.text-primary:focus,#bookly-tbs a.text-primary:hover{color:#069}#bookly-tbs .text-success{color:#3c763d}#bookly-tbs a.text-success:focus,#bookly-tbs a.text-success:hover{color:#2b542c}#bookly-tbs .text-info{color:#31708f}#bookly-tbs a.text-info:focus,#bookly-tbs a.text-info:hover{color:#245269}#bookly-tbs .text-warning{color:#8a6d3b}#bookly-tbs a.text-warning:focus,#bookly-tbs a.text-warning:hover{color:#66512c}#bookly-tbs .text-danger{color:#a94442}#bookly-tbs a.text-danger:focus,#bookly-tbs a.text-danger:hover{color:#843534}#bookly-tbs .bg-primary{color:#fff;background-color:#08c}#bookly-tbs a.bg-primary:focus,#bookly-tbs a.bg-primary:hover{background-color:#069}#bookly-tbs .bg-success{background-color:#dff0d8}#bookly-tbs a.bg-success:focus,#bookly-tbs a.bg-success:hover{background-color:#c1e2b3}#bookly-tbs .bg-info{background-color:#d9edf7}#bookly-tbs a.bg-info:focus,#bookly-tbs a.bg-info:hover{background-color:#afd9ee}#bookly-tbs .bg-warning{background-color:#fcf8e3}#bookly-tbs a.bg-warning:focus,#bookly-tbs a.bg-warning:hover{background-color:#f7ecb5}#bookly-tbs .bg-danger{background-color:#f2dede}#bookly-tbs a.bg-danger:focus,#bookly-tbs a.bg-danger:hover{background-color:#e4b9b9}#bookly-tbs .page-header{padding-bottom:9.5px;margin:42px 0 10.5px;border-bottom:1px solid transparent}#bookly-tbs ol,#bookly-tbs ul{margin-top:0;margin-bottom:10.5px}#bookly-tbs ol ol,#bookly-tbs ol ul,#bookly-tbs ul ol,#bookly-tbs ul ul{margin-bottom:0}#bookly-tbs .list-unstyled{padding-left:0;list-style:none}#bookly-tbs .list-inline{padding-left:0;margin-left:-5px;list-style:none}#bookly-tbs .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}#bookly-tbs dl{margin-top:0;margin-bottom:21px}#bookly-tbs dd,#bookly-tbs dt{line-height:1.4}#bookly-tbs dt{font-weight:700}#bookly-tbs dd{margin-left:0}@media (min-width:768px){#bookly-tbs .dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .dl-horizontal dd{margin-left:180px}}#bookly-tbs abbr[data-original-title],#bookly-tbs abbr[title]{cursor:help;border-bottom:1px dotted #d9dee4}#bookly-tbs .initialism{font-size:90%;text-transform:uppercase}#bookly-tbs blockquote{padding:10.5px 21px;margin:0 0 21px;font-size:18.75px;border-left:5px solid #e8ebf0}#bookly-tbs blockquote ol:last-child,#bookly-tbs blockquote p:last-child,#bookly-tbs blockquote ul:last-child{margin-bottom:0}#bookly-tbs blockquote .small,#bookly-tbs blockquote footer,#bookly-tbs blockquote small{display:block;font-size:80%;line-height:1.4;color:#d9dee4}#bookly-tbs blockquote .small:before,#bookly-tbs blockquote footer:before,#bookly-tbs blockquote small:before{content:'\2014 \00A0'}#bookly-tbs .blockquote-reverse,#bookly-tbs blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #e8ebf0;border-left:0}#bookly-tbs .blockquote-reverse .small:before,#bookly-tbs .blockquote-reverse footer:before,#bookly-tbs .blockquote-reverse small:before,#bookly-tbs blockquote.pull-right .small:before,#bookly-tbs blockquote.pull-right footer:before,#bookly-tbs blockquote.pull-right small:before{content:''}#bookly-tbs .blockquote-reverse .small:after,#bookly-tbs .blockquote-reverse footer:after,#bookly-tbs .blockquote-reverse small:after,#bookly-tbs blockquote.pull-right .small:after,#bookly-tbs blockquote.pull-right footer:after,#bookly-tbs blockquote.pull-right small:after{content:'\00A0 \2014'}#bookly-tbs address{margin-bottom:21px;font-style:normal;line-height:1.4}#bookly-tbs code,#bookly-tbs kbd,#bookly-tbs pre,#bookly-tbs samp{font-family:menlo,monaco,consolas,"courier new",monospace}#bookly-tbs code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}#bookly-tbs kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}#bookly-tbs kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.4;color:#5b6470;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}#bookly-tbs pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}#bookly-tbs .pre-scrollable{max-height:340px;overflow-y:scroll}#bookly-tbs .container{padding-right:10px;padding-left:10px;margin-right:auto;margin-left:auto}@media (min-width:768px){#bookly-tbs .container{width:740px}}@media (min-width:992px){#bookly-tbs .container{width:960px}}@media (min-width:1200px){#bookly-tbs .container{width:1160px}}#bookly-tbs .container-fluid{padding-right:10px;padding-left:10px;margin-right:auto;margin-left:auto}#bookly-tbs .row{margin-right:-10px;margin-left:-10px}#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-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-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-xs-1,#bookly-tbs .col-xs-10,#bookly-tbs .col-xs-11,#bookly-tbs .col-xs-12,#bookly-tbs .col-xs-2,#bookly-tbs .col-xs-3,#bookly-tbs .col-xs-4,#bookly-tbs .col-xs-5,#bookly-tbs .col-xs-6,#bookly-tbs .col-xs-7,#bookly-tbs .col-xs-8,#bookly-tbs .col-xs-9{position:relative;min-height:1px;padding-right:10px;padding-left:10px}#bookly-tbs .col-xs-1,#bookly-tbs .col-xs-10,#bookly-tbs .col-xs-11,#bookly-tbs .col-xs-12,#bookly-tbs .col-xs-2,#bookly-tbs .col-xs-3,#bookly-tbs .col-xs-4,#bookly-tbs .col-xs-5,#bookly-tbs .col-xs-6,#bookly-tbs .col-xs-7,#bookly-tbs .col-xs-8,#bookly-tbs .col-xs-9{float:left}#bookly-tbs .col-xs-12{width:100%}#bookly-tbs .col-xs-11{width:91.66666667%}#bookly-tbs .col-xs-10{width:83.33333333%}#bookly-tbs .col-xs-9{width:75%}#bookly-tbs .col-xs-8{width:66.66666667%}#bookly-tbs .col-xs-7{width:58.33333333%}#bookly-tbs .col-xs-6{width:50%}#bookly-tbs .col-xs-5{width:41.66666667%}#bookly-tbs .col-xs-4{width:33.33333333%}#bookly-tbs .col-xs-3{width:25%}#bookly-tbs .col-xs-2{width:16.66666667%}#bookly-tbs .col-xs-1{width:8.33333333%}#bookly-tbs .col-xs-pull-12{right:100%}#bookly-tbs .col-xs-pull-11{right:91.66666667%}#bookly-tbs .col-xs-pull-10{right:83.33333333%}#bookly-tbs .col-xs-pull-9{right:75%}#bookly-tbs .col-xs-pull-8{right:66.66666667%}#bookly-tbs .col-xs-pull-7{right:58.33333333%}#bookly-tbs .col-xs-pull-6{right:50%}#bookly-tbs .col-xs-pull-5{right:41.66666667%}#bookly-tbs .col-xs-pull-4{right:33.33333333%}#bookly-tbs .col-xs-pull-3{right:25%}#bookly-tbs .col-xs-pull-2{right:16.66666667%}#bookly-tbs .col-xs-pull-1{right:8.33333333%}#bookly-tbs .col-xs-pull-0{right:auto}#bookly-tbs .col-xs-push-12{left:100%}#bookly-tbs .col-xs-push-11{left:91.66666667%}#bookly-tbs .col-xs-push-10{left:83.33333333%}#bookly-tbs .col-xs-push-9{left:75%}#bookly-tbs .col-xs-push-8{left:66.66666667%}#bookly-tbs .col-xs-push-7{left:58.33333333%}#bookly-tbs .col-xs-push-6{left:50%}#bookly-tbs .col-xs-push-5{left:41.66666667%}#bookly-tbs .col-xs-push-4{left:33.33333333%}#bookly-tbs .col-xs-push-3{left:25%}#bookly-tbs .col-xs-push-2{left:16.66666667%}#bookly-tbs .col-xs-push-1{left:8.33333333%}#bookly-tbs .col-xs-push-0{left:auto}#bookly-tbs .col-xs-offset-12{margin-left:100%}#bookly-tbs .col-xs-offset-11{margin-left:91.66666667%}#bookly-tbs .col-xs-offset-10{margin-left:83.33333333%}#bookly-tbs .col-xs-offset-9{margin-left:75%}#bookly-tbs .col-xs-offset-8{margin-left:66.66666667%}#bookly-tbs .col-xs-offset-7{margin-left:58.33333333%}#bookly-tbs .col-xs-offset-6{margin-left:50%}#bookly-tbs .col-xs-offset-5{margin-left:41.66666667%}#bookly-tbs .col-xs-offset-4{margin-left:33.33333333%}#bookly-tbs .col-xs-offset-3{margin-left:25%}#bookly-tbs .col-xs-offset-2{margin-left:16.66666667%}#bookly-tbs .col-xs-offset-1{margin-left:8.33333333%}#bookly-tbs .col-xs-offset-0{margin-left:0}@media (min-width:768px){#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{float:left}#bookly-tbs .col-sm-12{width:100%}#bookly-tbs .col-sm-11{width:91.66666667%}#bookly-tbs .col-sm-10{width:83.33333333%}#bookly-tbs .col-sm-9{width:75%}#bookly-tbs .col-sm-8{width:66.66666667%}#bookly-tbs .col-sm-7{width:58.33333333%}#bookly-tbs .col-sm-6{width:50%}#bookly-tbs .col-sm-5{width:41.66666667%}#bookly-tbs .col-sm-4{width:33.33333333%}#bookly-tbs .col-sm-3{width:25%}#bookly-tbs .col-sm-2{width:16.66666667%}#bookly-tbs .col-sm-1{width:8.33333333%}#bookly-tbs .col-sm-pull-12{right:100%}#bookly-tbs .col-sm-pull-11{right:91.66666667%}#bookly-tbs .col-sm-pull-10{right:83.33333333%}#bookly-tbs .col-sm-pull-9{right:75%}#bookly-tbs .col-sm-pull-8{right:66.66666667%}#bookly-tbs .col-sm-pull-7{right:58.33333333%}#bookly-tbs .col-sm-pull-6{right:50%}#bookly-tbs .col-sm-pull-5{right:41.66666667%}#bookly-tbs .col-sm-pull-4{right:33.33333333%}#bookly-tbs .col-sm-pull-3{right:25%}#bookly-tbs .col-sm-pull-2{right:16.66666667%}#bookly-tbs .col-sm-pull-1{right:8.33333333%}#bookly-tbs .col-sm-pull-0{right:auto}#bookly-tbs .col-sm-push-12{left:100%}#bookly-tbs .col-sm-push-11{left:91.66666667%}#bookly-tbs .col-sm-push-10{left:83.33333333%}#bookly-tbs .col-sm-push-9{left:75%}#bookly-tbs .col-sm-push-8{left:66.66666667%}#bookly-tbs .col-sm-push-7{left:58.33333333%}#bookly-tbs .col-sm-push-6{left:50%}#bookly-tbs .col-sm-push-5{left:41.66666667%}#bookly-tbs .col-sm-push-4{left:33.33333333%}#bookly-tbs .col-sm-push-3{left:25%}#bookly-tbs .col-sm-push-2{left:16.66666667%}#bookly-tbs .col-sm-push-1{left:8.33333333%}#bookly-tbs .col-sm-push-0{left:auto}#bookly-tbs .col-sm-offset-12{margin-left:100%}#bookly-tbs .col-sm-offset-11{margin-left:91.66666667%}#bookly-tbs .col-sm-offset-10{margin-left:83.33333333%}#bookly-tbs .col-sm-offset-9{margin-left:75%}#bookly-tbs .col-sm-offset-8{margin-left:66.66666667%}#bookly-tbs .col-sm-offset-7{margin-left:58.33333333%}#bookly-tbs .col-sm-offset-6{margin-left:50%}#bookly-tbs .col-sm-offset-5{margin-left:41.66666667%}#bookly-tbs .col-sm-offset-4{margin-left:33.33333333%}#bookly-tbs .col-sm-offset-3{margin-left:25%}#bookly-tbs .col-sm-offset-2{margin-left:16.66666667%}#bookly-tbs .col-sm-offset-1{margin-left:8.33333333%}#bookly-tbs .col-sm-offset-0{margin-left:0}}@media (min-width:992px){#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{float:left}#bookly-tbs .col-md-12{width:100%}#bookly-tbs .col-md-11{width:91.66666667%}#bookly-tbs .col-md-10{width:83.33333333%}#bookly-tbs .col-md-9{width:75%}#bookly-tbs .col-md-8{width:66.66666667%}#bookly-tbs .col-md-7{width:58.33333333%}#bookly-tbs .col-md-6{width:50%}#bookly-tbs .col-md-5{width:41.66666667%}#bookly-tbs .col-md-4{width:33.33333333%}#bookly-tbs .col-md-3{width:25%}#bookly-tbs .col-md-2{width:16.66666667%}#bookly-tbs .col-md-1{width:8.33333333%}#bookly-tbs .col-md-pull-12{right:100%}#bookly-tbs .col-md-pull-11{right:91.66666667%}#bookly-tbs .col-md-pull-10{right:83.33333333%}#bookly-tbs .col-md-pull-9{right:75%}#bookly-tbs .col-md-pull-8{right:66.66666667%}#bookly-tbs .col-md-pull-7{right:58.33333333%}#bookly-tbs .col-md-pull-6{right:50%}#bookly-tbs .col-md-pull-5{right:41.66666667%}#bookly-tbs .col-md-pull-4{right:33.33333333%}#bookly-tbs .col-md-pull-3{right:25%}#bookly-tbs .col-md-pull-2{right:16.66666667%}#bookly-tbs .col-md-pull-1{right:8.33333333%}#bookly-tbs .col-md-pull-0{right:auto}#bookly-tbs .col-md-push-12{left:100%}#bookly-tbs .col-md-push-11{left:91.66666667%}#bookly-tbs .col-md-push-10{left:83.33333333%}#bookly-tbs .col-md-push-9{left:75%}#bookly-tbs .col-md-push-8{left:66.66666667%}#bookly-tbs .col-md-push-7{left:58.33333333%}#bookly-tbs .col-md-push-6{left:50%}#bookly-tbs .col-md-push-5{left:41.66666667%}#bookly-tbs .col-md-push-4{left:33.33333333%}#bookly-tbs .col-md-push-3{left:25%}#bookly-tbs .col-md-push-2{left:16.66666667%}#bookly-tbs .col-md-push-1{left:8.33333333%}#bookly-tbs .col-md-push-0{left:auto}#bookly-tbs .col-md-offset-12{margin-left:100%}#bookly-tbs .col-md-offset-11{margin-left:91.66666667%}#bookly-tbs .col-md-offset-10{margin-left:83.33333333%}#bookly-tbs .col-md-offset-9{margin-left:75%}#bookly-tbs .col-md-offset-8{margin-left:66.66666667%}#bookly-tbs .col-md-offset-7{margin-left:58.33333333%}#bookly-tbs .col-md-offset-6{margin-left:50%}#bookly-tbs .col-md-offset-5{margin-left:41.66666667%}#bookly-tbs .col-md-offset-4{margin-left:33.33333333%}#bookly-tbs .col-md-offset-3{margin-left:25%}#bookly-tbs .col-md-offset-2{margin-left:16.66666667%}#bookly-tbs .col-md-offset-1{margin-left:8.33333333%}#bookly-tbs .col-md-offset-0{margin-left:0}}@media (min-width:1200px){#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{float:left}#bookly-tbs .col-lg-12{width:100%}#bookly-tbs .col-lg-11{width:91.66666667%}#bookly-tbs .col-lg-10{width:83.33333333%}#bookly-tbs .col-lg-9{width:75%}#bookly-tbs .col-lg-8{width:66.66666667%}#bookly-tbs .col-lg-7{width:58.33333333%}#bookly-tbs .col-lg-6{width:50%}#bookly-tbs .col-lg-5{width:41.66666667%}#bookly-tbs .col-lg-4{width:33.33333333%}#bookly-tbs .col-lg-3{width:25%}#bookly-tbs .col-lg-2{width:16.66666667%}#bookly-tbs .col-lg-1{width:8.33333333%}#bookly-tbs .col-lg-pull-12{right:100%}#bookly-tbs .col-lg-pull-11{right:91.66666667%}#bookly-tbs .col-lg-pull-10{right:83.33333333%}#bookly-tbs .col-lg-pull-9{right:75%}#bookly-tbs .col-lg-pull-8{right:66.66666667%}#bookly-tbs .col-lg-pull-7{right:58.33333333%}#bookly-tbs .col-lg-pull-6{right:50%}#bookly-tbs .col-lg-pull-5{right:41.66666667%}#bookly-tbs .col-lg-pull-4{right:33.33333333%}#bookly-tbs .col-lg-pull-3{right:25%}#bookly-tbs .col-lg-pull-2{right:16.66666667%}#bookly-tbs .col-lg-pull-1{right:8.33333333%}#bookly-tbs .col-lg-pull-0{right:auto}#bookly-tbs .col-lg-push-12{left:100%}#bookly-tbs .col-lg-push-11{left:91.66666667%}#bookly-tbs .col-lg-push-10{left:83.33333333%}#bookly-tbs .col-lg-push-9{left:75%}#bookly-tbs .col-lg-push-8{left:66.66666667%}#bookly-tbs .col-lg-push-7{left:58.33333333%}#bookly-tbs .col-lg-push-6{left:50%}#bookly-tbs .col-lg-push-5{left:41.66666667%}#bookly-tbs .col-lg-push-4{left:33.33333333%}#bookly-tbs .col-lg-push-3{left:25%}#bookly-tbs .col-lg-push-2{left:16.66666667%}#bookly-tbs .col-lg-push-1{left:8.33333333%}#bookly-tbs .col-lg-push-0{left:auto}#bookly-tbs .col-lg-offset-12{margin-left:100%}#bookly-tbs .col-lg-offset-11{margin-left:91.66666667%}#bookly-tbs .col-lg-offset-10{margin-left:83.33333333%}#bookly-tbs .col-lg-offset-9{margin-left:75%}#bookly-tbs .col-lg-offset-8{margin-left:66.66666667%}#bookly-tbs .col-lg-offset-7{margin-left:58.33333333%}#bookly-tbs .col-lg-offset-6{margin-left:50%}#bookly-tbs .col-lg-offset-5{margin-left:41.66666667%}#bookly-tbs .col-lg-offset-4{margin-left:33.33333333%}#bookly-tbs .col-lg-offset-3{margin-left:25%}#bookly-tbs .col-lg-offset-2{margin-left:16.66666667%}#bookly-tbs .col-lg-offset-1{margin-left:8.33333333%}#bookly-tbs .col-lg-offset-0{margin-left:0}}#bookly-tbs table{background-color:transparent}#bookly-tbs caption{padding-top:8px;padding-bottom:8px;color:#d9dee4;text-align:left}#bookly-tbs th{text-align:left}#bookly-tbs .table{width:100%;max-width:100%;margin-bottom:21px}#bookly-tbs .table>tbody>tr>td,#bookly-tbs .table>tbody>tr>th,#bookly-tbs .table>tfoot>tr>td,#bookly-tbs .table>tfoot>tr>th,#bookly-tbs .table>thead>tr>td,#bookly-tbs .table>thead>tr>th{padding:8px;line-height:1.4;vertical-align:top;border-top:1px solid #d9dee4}#bookly-tbs .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #d9dee4}#bookly-tbs .table>caption+thead>tr:first-child>td,#bookly-tbs .table>caption+thead>tr:first-child>th,#bookly-tbs .table>colgroup+thead>tr:first-child>td,#bookly-tbs .table>colgroup+thead>tr:first-child>th,#bookly-tbs .table>thead:first-child>tr:first-child>td,#bookly-tbs .table>thead:first-child>tr:first-child>th{border-top:0}#bookly-tbs .table>tbody+tbody{border-top:2px solid #d9dee4}#bookly-tbs .table .table{background-color:transparent}#bookly-tbs .table-condensed>tbody>tr>td,#bookly-tbs .table-condensed>tbody>tr>th,#bookly-tbs .table-condensed>tfoot>tr>td,#bookly-tbs .table-condensed>tfoot>tr>th,#bookly-tbs .table-condensed>thead>tr>td,#bookly-tbs .table-condensed>thead>tr>th{padding:5px}#bookly-tbs .table-bordered{border:1px solid #d9dee4}#bookly-tbs .table-bordered>tbody>tr>td,#bookly-tbs .table-bordered>tbody>tr>th,#bookly-tbs .table-bordered>tfoot>tr>td,#bookly-tbs .table-bordered>tfoot>tr>th,#bookly-tbs .table-bordered>thead>tr>td,#bookly-tbs .table-bordered>thead>tr>th{border:1px solid #d9dee4}#bookly-tbs .table-bordered>thead>tr>td,#bookly-tbs .table-bordered>thead>tr>th{border-bottom-width:2px}#bookly-tbs .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}#bookly-tbs .table-hover>tbody>tr:hover{background-color:#f5f5f5}#bookly-tbs table col[class*=col-]{position:static;display:table-column;float:none}#bookly-tbs table td[class*=col-],#bookly-tbs table th[class*=col-]{position:static;display:table-cell;float:none}#bookly-tbs .table>tbody>tr.active>td,#bookly-tbs .table>tbody>tr.active>th,#bookly-tbs .table>tbody>tr>td.active,#bookly-tbs .table>tbody>tr>th.active,#bookly-tbs .table>tfoot>tr.active>td,#bookly-tbs .table>tfoot>tr.active>th,#bookly-tbs .table>tfoot>tr>td.active,#bookly-tbs .table>tfoot>tr>th.active,#bookly-tbs .table>thead>tr.active>td,#bookly-tbs .table>thead>tr.active>th,#bookly-tbs .table>thead>tr>td.active,#bookly-tbs .table>thead>tr>th.active{background-color:#f5f5f5}#bookly-tbs .table-hover>tbody>tr.active:hover>td,#bookly-tbs .table-hover>tbody>tr.active:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.active,#bookly-tbs .table-hover>tbody>tr>td.active:hover,#bookly-tbs .table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}#bookly-tbs .table>tbody>tr.success>td,#bookly-tbs .table>tbody>tr.success>th,#bookly-tbs .table>tbody>tr>td.success,#bookly-tbs .table>tbody>tr>th.success,#bookly-tbs .table>tfoot>tr.success>td,#bookly-tbs .table>tfoot>tr.success>th,#bookly-tbs .table>tfoot>tr>td.success,#bookly-tbs .table>tfoot>tr>th.success,#bookly-tbs .table>thead>tr.success>td,#bookly-tbs .table>thead>tr.success>th,#bookly-tbs .table>thead>tr>td.success,#bookly-tbs .table>thead>tr>th.success{background-color:#dff0d8}#bookly-tbs .table-hover>tbody>tr.success:hover>td,#bookly-tbs .table-hover>tbody>tr.success:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.success,#bookly-tbs .table-hover>tbody>tr>td.success:hover,#bookly-tbs .table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}#bookly-tbs .table>tbody>tr.info>td,#bookly-tbs .table>tbody>tr.info>th,#bookly-tbs .table>tbody>tr>td.info,#bookly-tbs .table>tbody>tr>th.info,#bookly-tbs .table>tfoot>tr.info>td,#bookly-tbs .table>tfoot>tr.info>th,#bookly-tbs .table>tfoot>tr>td.info,#bookly-tbs .table>tfoot>tr>th.info,#bookly-tbs .table>thead>tr.info>td,#bookly-tbs .table>thead>tr.info>th,#bookly-tbs .table>thead>tr>td.info,#bookly-tbs .table>thead>tr>th.info{background-color:#d9edf7}#bookly-tbs .table-hover>tbody>tr.info:hover>td,#bookly-tbs .table-hover>tbody>tr.info:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.info,#bookly-tbs .table-hover>tbody>tr>td.info:hover,#bookly-tbs .table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}#bookly-tbs .table>tbody>tr.warning>td,#bookly-tbs .table>tbody>tr.warning>th,#bookly-tbs .table>tbody>tr>td.warning,#bookly-tbs .table>tbody>tr>th.warning,#bookly-tbs .table>tfoot>tr.warning>td,#bookly-tbs .table>tfoot>tr.warning>th,#bookly-tbs .table>tfoot>tr>td.warning,#bookly-tbs .table>tfoot>tr>th.warning,#bookly-tbs .table>thead>tr.warning>td,#bookly-tbs .table>thead>tr.warning>th,#bookly-tbs .table>thead>tr>td.warning,#bookly-tbs .table>thead>tr>th.warning{background-color:#fcf8e3}#bookly-tbs .table-hover>tbody>tr.warning:hover>td,#bookly-tbs .table-hover>tbody>tr.warning:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.warning,#bookly-tbs .table-hover>tbody>tr>td.warning:hover,#bookly-tbs .table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}#bookly-tbs .table>tbody>tr.danger>td,#bookly-tbs .table>tbody>tr.danger>th,#bookly-tbs .table>tbody>tr>td.danger,#bookly-tbs .table>tbody>tr>th.danger,#bookly-tbs .table>tfoot>tr.danger>td,#bookly-tbs .table>tfoot>tr.danger>th,#bookly-tbs .table>tfoot>tr>td.danger,#bookly-tbs .table>tfoot>tr>th.danger,#bookly-tbs .table>thead>tr.danger>td,#bookly-tbs .table>thead>tr.danger>th,#bookly-tbs .table>thead>tr>td.danger,#bookly-tbs .table>thead>tr>th.danger{background-color:#f2dede}#bookly-tbs .table-hover>tbody>tr.danger:hover>td,#bookly-tbs .table-hover>tbody>tr.danger:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.danger,#bookly-tbs .table-hover>tbody>tr>td.danger:hover,#bookly-tbs .table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}#bookly-tbs .table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){#bookly-tbs .table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #d9dee4}#bookly-tbs .table-responsive>.table{margin-bottom:0}#bookly-tbs .table-responsive>.table>tbody>tr>td,#bookly-tbs .table-responsive>.table>tbody>tr>th,#bookly-tbs .table-responsive>.table>tfoot>tr>td,#bookly-tbs .table-responsive>.table>tfoot>tr>th,#bookly-tbs .table-responsive>.table>thead>tr>td,#bookly-tbs .table-responsive>.table>thead>tr>th{white-space:nowrap}#bookly-tbs .table-responsive>.table-bordered{border:0}#bookly-tbs .table-responsive>.table-bordered>tbody>tr>td:first-child,#bookly-tbs .table-responsive>.table-bordered>tbody>tr>th:first-child,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr>td:first-child,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr>th:first-child,#bookly-tbs .table-responsive>.table-bordered>thead>tr>td:first-child,#bookly-tbs .table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}#bookly-tbs .table-responsive>.table-bordered>tbody>tr>td:last-child,#bookly-tbs .table-responsive>.table-bordered>tbody>tr>th:last-child,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr>td:last-child,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr>th:last-child,#bookly-tbs .table-responsive>.table-bordered>thead>tr>td:last-child,#bookly-tbs .table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}#bookly-tbs .table-responsive>.table-bordered>tbody>tr:last-child>td,#bookly-tbs .table-responsive>.table-bordered>tbody>tr:last-child>th,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr:last-child>td,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}#bookly-tbs fieldset{min-width:0;padding:0;margin:0;border:0}#bookly-tbs legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#5b6470;border:0;border-bottom:1px solid #e8ebf0}#bookly-tbs label{display:inline-block;max-width:100%;margin-bottom:7px;font-weight:700}#bookly-tbs input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{margin:3px 0 0;margin-top:1px\9;line-height:normal}#bookly-tbs input[type=file]{display:block}#bookly-tbs input[type=range]{display:block;width:100%}#bookly-tbs select[multiple],#bookly-tbs select[size]{height:auto}#bookly-tbs input[type=file]:focus,#bookly-tbs input[type=checkbox]:focus,#bookly-tbs input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}#bookly-tbs output{display:block;padding-top:7px;font-size:15px;line-height:1.4;color:#3e424a}#bookly-tbs .form-control{display:block;width:100%;height:35px;padding:6px 12px;font-size:15px;line-height:1.4;color:#3e424a;background-color:#fff;background-image:none;border:1px solid #d9dee4;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,0);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}#bookly-tbs .form-control:focus{border-color:#08c;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0),0 0 8px rgba(0,136,204,0);box-shadow:inset 0 1px 1px rgba(0,0,0,0),0 0 8px rgba(0,136,204,0)}#bookly-tbs .form-control::-moz-placeholder{color:#8a929e;opacity:1}#bookly-tbs .form-control:-ms-input-placeholder{color:#8a929e}#bookly-tbs .form-control::-webkit-input-placeholder{color:#8a929e}#bookly-tbs .form-control::-ms-expand{background-color:transparent;border:0}#bookly-tbs .form-control[disabled],#bookly-tbs .form-control[readonly],#bookly-tbs fieldset[disabled] .form-control{background-color:rgba(232,235,240,.7);opacity:1}#bookly-tbs .form-control[disabled],#bookly-tbs fieldset[disabled] .form-control{cursor:not-allowed}#bookly-tbs textarea.form-control{height:auto}#bookly-tbs input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){#bookly-tbs input[type=date].form-control,#bookly-tbs input[type=time].form-control,#bookly-tbs input[type=datetime-local].form-control,#bookly-tbs input[type=month].form-control{line-height:35px}#bookly-tbs .input-group-sm input[type=date],#bookly-tbs .input-group-sm input[type=time],#bookly-tbs .input-group-sm input[type=datetime-local],#bookly-tbs .input-group-sm input[type=month],#bookly-tbs input[type=date].input-sm,#bookly-tbs input[type=time].input-sm,#bookly-tbs input[type=datetime-local].input-sm,#bookly-tbs input[type=month].input-sm{line-height:32px}#bookly-tbs .input-group-lg input[type=date],#bookly-tbs .input-group-lg input[type=time],#bookly-tbs .input-group-lg input[type=datetime-local],#bookly-tbs .input-group-lg input[type=month],#bookly-tbs input[type=date].input-lg,#bookly-tbs input[type=time].input-lg,#bookly-tbs input[type=datetime-local].input-lg,#bookly-tbs input[type=month].input-lg{line-height:46px}}#bookly-tbs .form-group{margin-bottom:20px}#bookly-tbs .checkbox,#bookly-tbs .radio{position:relative;display:block;margin-top:6px;margin-bottom:7px}#bookly-tbs .checkbox label,#bookly-tbs .radio label{min-height:21px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}#bookly-tbs .checkbox input[type=checkbox],#bookly-tbs .checkbox-inline input[type=checkbox],#bookly-tbs .radio input[type=radio],#bookly-tbs .radio-inline input[type=radio]{position:absolute;margin-top:3px\9;margin-left:-20px}#bookly-tbs .checkbox+.checkbox,#bookly-tbs .radio+.radio{margin-top:-5px}#bookly-tbs .checkbox-inline,#bookly-tbs .radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}#bookly-tbs .checkbox-inline+.checkbox-inline,#bookly-tbs .radio-inline+.radio-inline{margin-top:0;margin-left:10px}#bookly-tbs fieldset[disabled] input[type=checkbox],#bookly-tbs fieldset[disabled] input[type=radio],#bookly-tbs input[type=checkbox].disabled,#bookly-tbs input[type=checkbox][disabled],#bookly-tbs input[type=radio].disabled,#bookly-tbs input[type=radio][disabled]{cursor:not-allowed}#bookly-tbs .checkbox-inline.disabled,#bookly-tbs .radio-inline.disabled,#bookly-tbs fieldset[disabled] .checkbox-inline,#bookly-tbs fieldset[disabled] .radio-inline{cursor:not-allowed}#bookly-tbs .checkbox.disabled label,#bookly-tbs .radio.disabled label,#bookly-tbs fieldset[disabled] .checkbox label,#bookly-tbs fieldset[disabled] .radio label{cursor:not-allowed}#bookly-tbs .form-control-static{min-height:36px;padding-top:7px;padding-bottom:7px;margin-bottom:0}#bookly-tbs .form-control-static.input-lg,#bookly-tbs .form-control-static.input-sm{padding-right:0;padding-left:0}#bookly-tbs .input-sm{height:32px;padding:5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs select.input-sm{height:32px;line-height:32px}#bookly-tbs select[multiple].input-sm,#bookly-tbs textarea.input-sm{height:auto}#bookly-tbs .form-group-sm .form-control{height:32px;padding:5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs .form-group-sm select.form-control{height:32px;line-height:32px}#bookly-tbs .form-group-sm select[multiple].form-control,#bookly-tbs .form-group-sm textarea.form-control{height:auto}#bookly-tbs .form-group-sm .form-control-static{height:32px;min-height:34px;padding:6px 10px;font-size:13px;line-height:1.53846154}#bookly-tbs .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}#bookly-tbs select.input-lg{height:46px;line-height:46px}#bookly-tbs select[multiple].input-lg,#bookly-tbs textarea.input-lg{height:auto}#bookly-tbs .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}#bookly-tbs .form-group-lg select.form-control{height:46px;line-height:46px}#bookly-tbs .form-group-lg select[multiple].form-control,#bookly-tbs .form-group-lg textarea.form-control{height:auto}#bookly-tbs .form-group-lg .form-control-static{height:46px;min-height:39px;padding:11px 16px;font-size:18px;line-height:1.3333333}#bookly-tbs .has-feedback{position:relative}#bookly-tbs .has-feedback .form-control{padding-right:43.75px}#bookly-tbs .form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:35px;height:35px;line-height:35px;text-align:center;pointer-events:none}#bookly-tbs .form-group-lg .form-control+.form-control-feedback,#bookly-tbs .input-group-lg+.form-control-feedback,#bookly-tbs .input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}#bookly-tbs .form-group-sm .form-control+.form-control-feedback,#bookly-tbs .input-group-sm+.form-control-feedback,#bookly-tbs .input-sm+.form-control-feedback{width:32px;height:32px;line-height:32px}#bookly-tbs .has-success .checkbox,#bookly-tbs .has-success .checkbox-inline,#bookly-tbs .has-success .control-label,#bookly-tbs .has-success .help-block,#bookly-tbs .has-success .radio,#bookly-tbs .has-success .radio-inline,#bookly-tbs .has-success.checkbox label,#bookly-tbs .has-success.checkbox-inline label,#bookly-tbs .has-success.radio label,#bookly-tbs .has-success.radio-inline label{color:#3c763d}#bookly-tbs .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}#bookly-tbs .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}#bookly-tbs .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}#bookly-tbs .has-success .form-control-feedback{color:#3c763d}#bookly-tbs .has-warning .checkbox,#bookly-tbs .has-warning .checkbox-inline,#bookly-tbs .has-warning .control-label,#bookly-tbs .has-warning .help-block,#bookly-tbs .has-warning .radio,#bookly-tbs .has-warning .radio-inline,#bookly-tbs .has-warning.checkbox label,#bookly-tbs .has-warning.checkbox-inline label,#bookly-tbs .has-warning.radio label,#bookly-tbs .has-warning.radio-inline label{color:#8a6d3b}#bookly-tbs .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}#bookly-tbs .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}#bookly-tbs .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}#bookly-tbs .has-warning .form-control-feedback{color:#8a6d3b}#bookly-tbs .has-error .checkbox,#bookly-tbs .has-error .checkbox-inline,#bookly-tbs .has-error .control-label,#bookly-tbs .has-error .help-block,#bookly-tbs .has-error .radio,#bookly-tbs .has-error .radio-inline,#bookly-tbs .has-error.checkbox label,#bookly-tbs .has-error.checkbox-inline label,#bookly-tbs .has-error.radio label,#bookly-tbs .has-error.radio-inline label{color:#a94442}#bookly-tbs .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}#bookly-tbs .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}#bookly-tbs .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}#bookly-tbs .has-error .form-control-feedback{color:#a94442}#bookly-tbs .has-feedback label~.form-control-feedback{top:26px}#bookly-tbs .has-feedback label.sr-only~.form-control-feedback{top:0}#bookly-tbs .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#8a929e}@media (min-width:768px){#bookly-tbs .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}#bookly-tbs .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}#bookly-tbs .form-inline .form-control-static{display:inline-block}#bookly-tbs .form-inline .input-group{display:inline-table;vertical-align:middle}#bookly-tbs .form-inline .input-group .form-control,#bookly-tbs .form-inline .input-group .input-group-addon,#bookly-tbs .form-inline .input-group .input-group-btn{width:auto}#bookly-tbs .form-inline .input-group>.form-control{width:100%}#bookly-tbs .form-inline .control-label{margin-bottom:0;vertical-align:middle}#bookly-tbs .form-inline .checkbox,#bookly-tbs .form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}#bookly-tbs .form-inline .has-feedback .form-control-feedback{top:0}}#bookly-tbs .form-horizontal .checkbox,#bookly-tbs .form-horizontal .checkbox-inline,#bookly-tbs .form-horizontal .radio,#bookly-tbs .form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}#bookly-tbs .form-horizontal .checkbox,#bookly-tbs .form-horizontal .radio{min-height:28px}#bookly-tbs .form-horizontal .form-group{margin-right:-10px;margin-left:-10px}@media (min-width:768px){#bookly-tbs .form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}#bookly-tbs .form-horizontal .has-feedback .form-control-feedback{right:10px}@media (min-width:768px){#bookly-tbs .form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){#bookly-tbs .form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:13px}}#bookly-tbs .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:15px;font-weight:400;line-height:1.4;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}#bookly-tbs .btn.active.focus,#bookly-tbs .btn.active:focus,#bookly-tbs .btn.focus,#bookly-tbs .btn:active.focus,#bookly-tbs .btn:active:focus,#bookly-tbs .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}#bookly-tbs .btn.focus,#bookly-tbs .btn:focus,#bookly-tbs .btn:hover{color:#3e424a;text-decoration:none}#bookly-tbs .btn.active,#bookly-tbs .btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}#bookly-tbs .btn.disabled,#bookly-tbs .btn[disabled],#bookly-tbs fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}#bookly-tbs a.btn.disabled,#bookly-tbs fieldset[disabled] a.btn{pointer-events:none}#bookly-tbs .btn-default{color:#3e424a;background-color:#fff;border-color:#d9dee4}#bookly-tbs .btn-default.focus,#bookly-tbs .btn-default:focus{color:#3e424a;background-color:#e6e6e6;border-color:#8e9daf}#bookly-tbs .btn-default:hover{color:#3e424a;background-color:#e6e6e6;border-color:#b5bfcb}#bookly-tbs .btn-default.active,#bookly-tbs .btn-default:active,#bookly-tbs .open>.dropdown-toggle.btn-default{color:#3e424a;background-color:#e6e6e6;border-color:#b5bfcb}#bookly-tbs .btn-default.active.focus,#bookly-tbs .btn-default.active:focus,#bookly-tbs .btn-default.active:hover,#bookly-tbs .btn-default:active.focus,#bookly-tbs .btn-default:active:focus,#bookly-tbs .btn-default:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-default.focus,#bookly-tbs .open>.dropdown-toggle.btn-default:focus,#bookly-tbs .open>.dropdown-toggle.btn-default:hover{color:#3e424a;background-color:#d4d4d4;border-color:#8e9daf}#bookly-tbs .btn-default.active,#bookly-tbs .btn-default:active,#bookly-tbs .open>.dropdown-toggle.btn-default{background-image:none}#bookly-tbs .btn-default.disabled.focus,#bookly-tbs .btn-default.disabled:focus,#bookly-tbs .btn-default.disabled:hover,#bookly-tbs .btn-default[disabled].focus,#bookly-tbs .btn-default[disabled]:focus,#bookly-tbs .btn-default[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-default.focus,#bookly-tbs fieldset[disabled] .btn-default:focus,#bookly-tbs fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#d9dee4}#bookly-tbs .btn-default .badge{color:#fff;background-color:#3e424a}#bookly-tbs .btn-primary{color:#fff;background-color:#08c;border-color:#08c}#bookly-tbs .btn-primary.focus,#bookly-tbs .btn-primary:focus{color:#fff;background-color:#069;border-color:#00334d}#bookly-tbs .btn-primary:hover{color:#fff;background-color:#069;border-color:#005f8f}#bookly-tbs .btn-primary.active,#bookly-tbs .btn-primary:active,#bookly-tbs .open>.dropdown-toggle.btn-primary{color:#fff;background-color:#069;border-color:#005f8f}#bookly-tbs .btn-primary.active.focus,#bookly-tbs .btn-primary.active:focus,#bookly-tbs .btn-primary.active:hover,#bookly-tbs .btn-primary:active.focus,#bookly-tbs .btn-primary:active:focus,#bookly-tbs .btn-primary:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-primary.focus,#bookly-tbs .open>.dropdown-toggle.btn-primary:focus,#bookly-tbs .open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#004e75;border-color:#00334d}#bookly-tbs .btn-primary.active,#bookly-tbs .btn-primary:active,#bookly-tbs .open>.dropdown-toggle.btn-primary{background-image:none}#bookly-tbs .btn-primary.disabled.focus,#bookly-tbs .btn-primary.disabled:focus,#bookly-tbs .btn-primary.disabled:hover,#bookly-tbs .btn-primary[disabled].focus,#bookly-tbs .btn-primary[disabled]:focus,#bookly-tbs .btn-primary[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-primary.focus,#bookly-tbs fieldset[disabled] .btn-primary:focus,#bookly-tbs fieldset[disabled] .btn-primary:hover{background-color:#08c;border-color:#08c}#bookly-tbs .btn-primary .badge{color:#08c;background-color:#fff}#bookly-tbs .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}#bookly-tbs .btn-success.focus,#bookly-tbs .btn-success:focus{color:#fff;background-color:#449d44;border-color:#2d672d}#bookly-tbs .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}#bookly-tbs .btn-success.active,#bookly-tbs .btn-success:active,#bookly-tbs .open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#419641}#bookly-tbs .btn-success.active.focus,#bookly-tbs .btn-success.active:focus,#bookly-tbs .btn-success.active:hover,#bookly-tbs .btn-success:active.focus,#bookly-tbs .btn-success:active:focus,#bookly-tbs .btn-success:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-success.focus,#bookly-tbs .open>.dropdown-toggle.btn-success:focus,#bookly-tbs .open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#2d672d}#bookly-tbs .btn-success.active,#bookly-tbs .btn-success:active,#bookly-tbs .open>.dropdown-toggle.btn-success{background-image:none}#bookly-tbs .btn-success.disabled.focus,#bookly-tbs .btn-success.disabled:focus,#bookly-tbs .btn-success.disabled:hover,#bookly-tbs .btn-success[disabled].focus,#bookly-tbs .btn-success[disabled]:focus,#bookly-tbs .btn-success[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-success.focus,#bookly-tbs fieldset[disabled] .btn-success:focus,#bookly-tbs fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#5cb85c}#bookly-tbs .btn-success .badge{color:#5cb85c;background-color:#fff}#bookly-tbs .btn-info{color:#fff;background-color:#5bc0de;border-color:#31b0d5}#bookly-tbs .btn-info.focus,#bookly-tbs .btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#175b70}#bookly-tbs .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2289a7}#bookly-tbs .btn-info.active,#bookly-tbs .btn-info:active,#bookly-tbs .open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#2289a7}#bookly-tbs .btn-info.active.focus,#bookly-tbs .btn-info.active:focus,#bookly-tbs .btn-info.active:hover,#bookly-tbs .btn-info:active.focus,#bookly-tbs .btn-info:active:focus,#bookly-tbs .btn-info:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-info.focus,#bookly-tbs .open>.dropdown-toggle.btn-info:focus,#bookly-tbs .open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#175b70}#bookly-tbs .btn-info.active,#bookly-tbs .btn-info:active,#bookly-tbs .open>.dropdown-toggle.btn-info{background-image:none}#bookly-tbs .btn-info.disabled.focus,#bookly-tbs .btn-info.disabled:focus,#bookly-tbs .btn-info.disabled:hover,#bookly-tbs .btn-info[disabled].focus,#bookly-tbs .btn-info[disabled]:focus,#bookly-tbs .btn-info[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-info.focus,#bookly-tbs fieldset[disabled] .btn-info:focus,#bookly-tbs fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#31b0d5}#bookly-tbs .btn-info .badge{color:#5bc0de;background-color:#fff}#bookly-tbs .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}#bookly-tbs .btn-warning.focus,#bookly-tbs .btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#b06d0f}#bookly-tbs .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}#bookly-tbs .btn-warning.active,#bookly-tbs .btn-warning:active,#bookly-tbs .open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#eb9316}#bookly-tbs .btn-warning.active.focus,#bookly-tbs .btn-warning.active:focus,#bookly-tbs .btn-warning.active:hover,#bookly-tbs .btn-warning:active.focus,#bookly-tbs .btn-warning:active:focus,#bookly-tbs .btn-warning:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-warning.focus,#bookly-tbs .open>.dropdown-toggle.btn-warning:focus,#bookly-tbs .open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#b06d0f}#bookly-tbs .btn-warning.active,#bookly-tbs .btn-warning:active,#bookly-tbs .open>.dropdown-toggle.btn-warning{background-image:none}#bookly-tbs .btn-warning.disabled.focus,#bookly-tbs .btn-warning.disabled:focus,#bookly-tbs .btn-warning.disabled:hover,#bookly-tbs .btn-warning[disabled].focus,#bookly-tbs .btn-warning[disabled]:focus,#bookly-tbs .btn-warning[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-warning.focus,#bookly-tbs fieldset[disabled] .btn-warning:focus,#bookly-tbs fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#f0ad4e}#bookly-tbs .btn-warning .badge{color:#f0ad4e;background-color:#fff}#bookly-tbs .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}#bookly-tbs .btn-danger.focus,#bookly-tbs .btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#8b211e}#bookly-tbs .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}#bookly-tbs .btn-danger.active,#bookly-tbs .btn-danger:active,#bookly-tbs .open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#c12e2a}#bookly-tbs .btn-danger.active.focus,#bookly-tbs .btn-danger.active:focus,#bookly-tbs .btn-danger.active:hover,#bookly-tbs .btn-danger:active.focus,#bookly-tbs .btn-danger:active:focus,#bookly-tbs .btn-danger:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-danger.focus,#bookly-tbs .open>.dropdown-toggle.btn-danger:focus,#bookly-tbs .open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#8b211e}#bookly-tbs .btn-danger.active,#bookly-tbs .btn-danger:active,#bookly-tbs .open>.dropdown-toggle.btn-danger{background-image:none}#bookly-tbs .btn-danger.disabled.focus,#bookly-tbs .btn-danger.disabled:focus,#bookly-tbs .btn-danger.disabled:hover,#bookly-tbs .btn-danger[disabled].focus,#bookly-tbs .btn-danger[disabled]:focus,#bookly-tbs .btn-danger[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-danger.focus,#bookly-tbs fieldset[disabled] .btn-danger:focus,#bookly-tbs fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d9534f}#bookly-tbs .btn-danger .badge{color:#d9534f;background-color:#fff}#bookly-tbs .btn-link{font-weight:400;color:#08c;border-radius:0}#bookly-tbs .btn-link,#bookly-tbs .btn-link.active,#bookly-tbs .btn-link:active,#bookly-tbs .btn-link[disabled],#bookly-tbs fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .btn-link,#bookly-tbs .btn-link:active,#bookly-tbs .btn-link:focus,#bookly-tbs .btn-link:hover{border-color:transparent}#bookly-tbs .btn-link:focus,#bookly-tbs .btn-link:hover{color:#005580;text-decoration:none;background-color:transparent}#bookly-tbs .btn-link[disabled]:focus,#bookly-tbs .btn-link[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-link:focus,#bookly-tbs fieldset[disabled] .btn-link:hover{color:#8a929e;text-decoration:none}#bookly-tbs .btn-group-lg>.btn,#bookly-tbs .btn-lg{padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:4px}#bookly-tbs .btn-group-sm>.btn,#bookly-tbs .btn-sm{padding:5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs .btn-group-xs>.btn,#bookly-tbs .btn-xs{padding:1px 5px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs .btn-block{display:block;width:100%}#bookly-tbs .btn-block+.btn-block{margin-top:5px}#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{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}#bookly-tbs .fade.in{opacity:1}#bookly-tbs .collapse{display:none}#bookly-tbs .collapse.in{display:block}#bookly-tbs tr.collapse.in{display:table-row}#bookly-tbs tbody.collapse.in{display:table-row-group}#bookly-tbs .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}#bookly-tbs .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:5px dashed;border-top:5px solid\9;border-right:5px solid transparent;border-left:5px solid transparent}#bookly-tbs .dropdown,#bookly-tbs .dropup{position:relative}#bookly-tbs .dropdown-toggle:focus{outline:0}#bookly-tbs .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:15px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}#bookly-tbs .dropdown-menu.pull-right{right:0;left:auto}#bookly-tbs .dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}#bookly-tbs .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.4;color:#5b6470;white-space:nowrap}#bookly-tbs .dropdown-menu>li>a:focus,#bookly-tbs .dropdown-menu>li>a:hover{color:#505762;text-decoration:none;background-color:#f5f5f5}#bookly-tbs .dropdown-menu>.active>a,#bookly-tbs .dropdown-menu>.active>a:focus,#bookly-tbs .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#08c;outline:0}#bookly-tbs .dropdown-menu>.disabled>a,#bookly-tbs .dropdown-menu>.disabled>a:focus,#bookly-tbs .dropdown-menu>.disabled>a:hover{color:#d9dee4}#bookly-tbs .dropdown-menu>.disabled>a:focus,#bookly-tbs .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}#bookly-tbs .open>.dropdown-menu{display:block}#bookly-tbs .open>a{outline:0}#bookly-tbs .dropdown-menu-right{right:0;left:auto}#bookly-tbs .dropdown-menu-left{right:auto;left:0}#bookly-tbs .dropdown-header{display:block;padding:3px 20px;font-size:13px;line-height:1.4;color:#d9dee4;white-space:nowrap}#bookly-tbs .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}#bookly-tbs .pull-right>.dropdown-menu{right:0;left:auto}#bookly-tbs .dropup .caret,#bookly-tbs .navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:5px dashed;border-bottom:5px solid\9}#bookly-tbs .dropup .dropdown-menu,#bookly-tbs .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){#bookly-tbs .navbar-right .dropdown-menu{right:0;left:auto}#bookly-tbs .navbar-right .dropdown-menu-left{right:auto;left:0}}#bookly-tbs .btn-group,#bookly-tbs .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group>.btn{position:relative;float:left}#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-vertical>.btn:hover,#bookly-tbs .btn-group>.btn.active,#bookly-tbs .btn-group>.btn:active,#bookly-tbs .btn-group>.btn:focus,#bookly-tbs .btn-group>.btn:hover{z-index:2}#bookly-tbs .btn-group .btn+.btn,#bookly-tbs .btn-group .btn+.btn-group,#bookly-tbs .btn-group .btn-group+.btn,#bookly-tbs .btn-group .btn-group+.btn-group{margin-left:-1px}#bookly-tbs .btn-toolbar{margin-left:-5px}#bookly-tbs .btn-toolbar .btn,#bookly-tbs .btn-toolbar .btn-group,#bookly-tbs .btn-toolbar .input-group{float:left}#bookly-tbs .btn-toolbar>.btn,#bookly-tbs .btn-toolbar>.btn-group,#bookly-tbs .btn-toolbar>.input-group{margin-left:5px}#bookly-tbs .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}#bookly-tbs .btn-group>.btn:first-child{margin-left:0}#bookly-tbs .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .btn-group>.btn:last-child:not(:first-child),#bookly-tbs .btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group>.btn-group{float:left}#bookly-tbs .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}#bookly-tbs .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,#bookly-tbs .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group .dropdown-toggle:active,#bookly-tbs .btn-group.open .dropdown-toggle{outline:0}#bookly-tbs .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}#bookly-tbs .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}#bookly-tbs .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}#bookly-tbs .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .btn .caret{margin-left:0}#bookly-tbs .btn-lg .caret{border-width:6px 6px 0;border-bottom-width:0}#bookly-tbs .dropup .btn-lg .caret{border-width:0 6px 6px}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group-vertical>.btn-group,#bookly-tbs .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}#bookly-tbs .btn-group-vertical>.btn-group>.btn{float:none}#bookly-tbs .btn-group-vertical>.btn+.btn,#bookly-tbs .btn-group-vertical>.btn+.btn-group,#bookly-tbs .btn-group-vertical>.btn-group+.btn,#bookly-tbs .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}#bookly-tbs .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}#bookly-tbs .btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}#bookly-tbs .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,#bookly-tbs .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}#bookly-tbs .btn-group-justified>.btn,#bookly-tbs .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}#bookly-tbs .btn-group-justified>.btn-group .btn{width:100%}#bookly-tbs .btn-group-justified>.btn-group .dropdown-menu{left:auto}#bookly-tbs [data-toggle=buttons]>.btn input[type=checkbox],#bookly-tbs [data-toggle=buttons]>.btn input[type=radio],#bookly-tbs [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],#bookly-tbs [data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}#bookly-tbs .input-group{position:relative;display:table;border-collapse:separate}#bookly-tbs .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}#bookly-tbs .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}#bookly-tbs .input-group .form-control:focus{z-index:3}#bookly-tbs .input-group-lg>.form-control,#bookly-tbs .input-group-lg>.input-group-addon,#bookly-tbs .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}#bookly-tbs select.input-group-lg>.form-control,#bookly-tbs select.input-group-lg>.input-group-addon,#bookly-tbs select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}#bookly-tbs select[multiple].input-group-lg>.form-control,#bookly-tbs select[multiple].input-group-lg>.input-group-addon,#bookly-tbs select[multiple].input-group-lg>.input-group-btn>.btn,#bookly-tbs textarea.input-group-lg>.form-control,#bookly-tbs textarea.input-group-lg>.input-group-addon,#bookly-tbs textarea.input-group-lg>.input-group-btn>.btn{height:auto}#bookly-tbs .input-group-sm>.form-control,#bookly-tbs .input-group-sm>.input-group-addon,#bookly-tbs .input-group-sm>.input-group-btn>.btn{height:32px;padding:5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs select.input-group-sm>.form-control,#bookly-tbs select.input-group-sm>.input-group-addon,#bookly-tbs select.input-group-sm>.input-group-btn>.btn{height:32px;line-height:32px}#bookly-tbs select[multiple].input-group-sm>.form-control,#bookly-tbs select[multiple].input-group-sm>.input-group-addon,#bookly-tbs select[multiple].input-group-sm>.input-group-btn>.btn,#bookly-tbs textarea.input-group-sm>.form-control,#bookly-tbs textarea.input-group-sm>.input-group-addon,#bookly-tbs textarea.input-group-sm>.input-group-btn>.btn{height:auto}#bookly-tbs .input-group .form-control,#bookly-tbs .input-group-addon,#bookly-tbs .input-group-btn{display:table-cell}#bookly-tbs .input-group .form-control:not(:first-child):not(:last-child),#bookly-tbs .input-group-addon:not(:first-child):not(:last-child),#bookly-tbs .input-group-btn:not(:first-child):not(:last-child){border-radius:0}#bookly-tbs .input-group-addon,#bookly-tbs .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}#bookly-tbs .input-group-addon{padding:6px 12px;font-size:15px;font-weight:400;line-height:1;color:#3e424a;text-align:center;background-color:#e8ebf0;border:1px solid #d9dee4;border-radius:4px}#bookly-tbs .input-group-addon.input-sm{padding:5px 10px;font-size:13px;border-radius:3px}#bookly-tbs .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}#bookly-tbs .input-group-addon input[type=checkbox],#bookly-tbs .input-group-addon input[type=radio]{margin-top:0}#bookly-tbs .input-group .form-control:first-child,#bookly-tbs .input-group-addon:first-child,#bookly-tbs .input-group-btn:first-child>.btn,#bookly-tbs .input-group-btn:first-child>.btn-group>.btn,#bookly-tbs .input-group-btn:first-child>.dropdown-toggle,#bookly-tbs .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,#bookly-tbs .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group-addon:first-child{border-right:0}#bookly-tbs .input-group .form-control:last-child,#bookly-tbs .input-group-addon:last-child,#bookly-tbs .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,#bookly-tbs .input-group-btn:first-child>.btn:not(:first-child),#bookly-tbs .input-group-btn:last-child>.btn,#bookly-tbs .input-group-btn:last-child>.btn-group>.btn,#bookly-tbs .input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group-addon:last-child{border-left:0}#bookly-tbs .input-group-btn{position:relative;font-size:0;white-space:nowrap}#bookly-tbs .input-group-btn>.btn{position:relative}#bookly-tbs .input-group-btn>.btn+.btn{margin-left:-1px}#bookly-tbs .input-group-btn>.btn:active,#bookly-tbs .input-group-btn>.btn:focus,#bookly-tbs .input-group-btn>.btn:hover{z-index:2}#bookly-tbs .input-group-btn:first-child>.btn,#bookly-tbs .input-group-btn:first-child>.btn-group{margin-right:-1px}#bookly-tbs .input-group-btn:last-child>.btn,#bookly-tbs .input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}#bookly-tbs .nav{padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .nav>li{position:relative;display:block}#bookly-tbs .nav>li>a{position:relative;display:block;padding:10px 15px}#bookly-tbs .nav>li>a:focus,#bookly-tbs .nav>li>a:hover{text-decoration:none;background-color:#e8ebf0}#bookly-tbs .nav>li.disabled>a{color:#d9dee4}#bookly-tbs .nav>li.disabled>a:focus,#bookly-tbs .nav>li.disabled>a:hover{color:#d9dee4;text-decoration:none;cursor:not-allowed;background-color:transparent}#bookly-tbs .nav .open>a,#bookly-tbs .nav .open>a:focus,#bookly-tbs .nav .open>a:hover{background-color:#e8ebf0;border-color:#08c}#bookly-tbs .nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}#bookly-tbs .nav>li>a>img{max-width:none}#bookly-tbs .nav-tabs{border-bottom:1px solid #d9dee4}#bookly-tbs .nav-tabs>li{float:left;margin-bottom:-1px}#bookly-tbs .nav-tabs>li>a{margin-right:2px;line-height:1.4;border:1px solid transparent;border-radius:4px 4px 0 0}#bookly-tbs .nav-tabs>li>a:hover{border-color:#e8ebf0 #e8ebf0 #d9dee4}#bookly-tbs .nav-tabs>li.active>a,#bookly-tbs .nav-tabs>li.active>a:focus,#bookly-tbs .nav-tabs>li.active>a:hover{color:#8a929e;cursor:default;background-color:transparent;border:1px solid transparent;border-bottom-color:transparent}#bookly-tbs .nav-tabs.nav-justified{width:100%;border-bottom:0}#bookly-tbs .nav-tabs.nav-justified>li{float:none}#bookly-tbs .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}#bookly-tbs .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:1px){#bookly-tbs .nav-tabs.nav-justified>li{display:table-cell;width:1%}#bookly-tbs .nav-tabs.nav-justified>li>a{margin-bottom:0}}#bookly-tbs .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}#bookly-tbs .nav-tabs.nav-justified>.active>a,#bookly-tbs .nav-tabs.nav-justified>.active>a:focus,#bookly-tbs .nav-tabs.nav-justified>.active>a:hover{border:1px solid #08c}@media (min-width:768px){#bookly-tbs .nav-tabs.nav-justified>li>a{border-bottom:1px solid #d9dee4;border-radius:4px 4px 0 0}#bookly-tbs .nav-tabs.nav-justified>.active>a,#bookly-tbs .nav-tabs.nav-justified>.active>a:focus,#bookly-tbs .nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#08c}}#bookly-tbs .nav-pills>li{float:left}#bookly-tbs .nav-pills>li>a{border-radius:4px}#bookly-tbs .nav-pills>li+li{margin-left:2px}#bookly-tbs .nav-pills>li.active>a,#bookly-tbs .nav-pills>li.active>a:focus,#bookly-tbs .nav-pills>li.active>a:hover{color:#fff;background-color:#08c}#bookly-tbs .nav-stacked>li{float:none}#bookly-tbs .nav-stacked>li+li{margin-top:2px;margin-left:0}#bookly-tbs .nav-justified{width:100%}#bookly-tbs .nav-justified>li{float:none}#bookly-tbs .nav-justified>li>a{margin-bottom:5px;text-align:center}#bookly-tbs .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:1px){#bookly-tbs .nav-justified>li{display:table-cell;width:1%}#bookly-tbs .nav-justified>li>a{margin-bottom:0}}#bookly-tbs .nav-tabs-justified{border-bottom:0}#bookly-tbs .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}#bookly-tbs .nav-tabs-justified>.active>a,#bookly-tbs .nav-tabs-justified>.active>a:focus,#bookly-tbs .nav-tabs-justified>.active>a:hover{border:1px solid #08c}@media (min-width:768px){#bookly-tbs .nav-tabs-justified>li>a{border-bottom:1px solid #d9dee4;border-radius:4px 4px 0 0}#bookly-tbs .nav-tabs-justified>.active>a,#bookly-tbs .nav-tabs-justified>.active>a:focus,#bookly-tbs .nav-tabs-justified>.active>a:hover{border-bottom-color:#08c}}#bookly-tbs .tab-content>.tab-pane{display:none}#bookly-tbs .tab-content>.active{display:block}#bookly-tbs .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .navbar{position:relative;min-height:50px;margin-bottom:21px;border:1px solid transparent}@media (min-width:768px){#bookly-tbs .navbar{border-radius:4px}}@media (min-width:768px){#bookly-tbs .navbar-header{float:left}}#bookly-tbs .navbar-collapse{padding-right:10px;padding-left:10px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}#bookly-tbs .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){#bookly-tbs .navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}#bookly-tbs .navbar-collapse.in{overflow-y:visible}#bookly-tbs .navbar-fixed-bottom .navbar-collapse,#bookly-tbs .navbar-fixed-top .navbar-collapse,#bookly-tbs .navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}#bookly-tbs .navbar-fixed-bottom .navbar-collapse,#bookly-tbs .navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){#bookly-tbs .navbar-fixed-bottom .navbar-collapse,#bookly-tbs .navbar-fixed-top .navbar-collapse{max-height:200px}}#bookly-tbs .container-fluid>.navbar-collapse,#bookly-tbs .container-fluid>.navbar-header,#bookly-tbs .container>.navbar-collapse,#bookly-tbs .container>.navbar-header{margin-right:-10px;margin-left:-10px}@media (min-width:768px){#bookly-tbs .container-fluid>.navbar-collapse,#bookly-tbs .container-fluid>.navbar-header,#bookly-tbs .container>.navbar-collapse,#bookly-tbs .container>.navbar-header{margin-right:0;margin-left:0}}#bookly-tbs .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){#bookly-tbs .navbar-static-top{border-radius:0}}#bookly-tbs .navbar-fixed-bottom,#bookly-tbs .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){#bookly-tbs .navbar-fixed-bottom,#bookly-tbs .navbar-fixed-top{border-radius:0}}#bookly-tbs .navbar-fixed-top{top:0;border-width:0 0 1px}#bookly-tbs .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}#bookly-tbs .navbar-brand{float:left;height:50px;padding:14.5px 10px;font-size:18px;line-height:21px}#bookly-tbs .navbar-brand:focus,#bookly-tbs .navbar-brand:hover{text-decoration:none}#bookly-tbs .navbar-brand>img{display:block}@media (min-width:768px){#bookly-tbs .navbar>.container .navbar-brand,#bookly-tbs .navbar>.container-fluid .navbar-brand{margin-left:-10px}}#bookly-tbs .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:10px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}#bookly-tbs .navbar-toggle:focus{outline:0}#bookly-tbs .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}#bookly-tbs .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){#bookly-tbs .navbar-toggle{display:none}}#bookly-tbs .navbar-nav{margin:7.25px -10px}#bookly-tbs .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media (max-width:767px){#bookly-tbs .navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .navbar-nav .open .dropdown-menu .dropdown-header,#bookly-tbs .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}#bookly-tbs .navbar-nav .open .dropdown-menu>li>a{line-height:21px}#bookly-tbs .navbar-nav .open .dropdown-menu>li>a:focus,#bookly-tbs .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){#bookly-tbs .navbar-nav{float:left;margin:0}#bookly-tbs .navbar-nav>li{float:left}#bookly-tbs .navbar-nav>li>a{padding-top:14.5px;padding-bottom:14.5px}}#bookly-tbs .navbar-form{padding:10px 10px;margin-top:7.5px;margin-right:-10px;margin-bottom:7.5px;margin-left:-10px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){#bookly-tbs .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}#bookly-tbs .navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}#bookly-tbs .navbar-form .form-control-static{display:inline-block}#bookly-tbs .navbar-form .input-group{display:inline-table;vertical-align:middle}#bookly-tbs .navbar-form .input-group .form-control,#bookly-tbs .navbar-form .input-group .input-group-addon,#bookly-tbs .navbar-form .input-group .input-group-btn{width:auto}#bookly-tbs .navbar-form .input-group>.form-control{width:100%}#bookly-tbs .navbar-form .control-label{margin-bottom:0;vertical-align:middle}#bookly-tbs .navbar-form .checkbox,#bookly-tbs .navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}#bookly-tbs .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){#bookly-tbs .navbar-form .form-group{margin-bottom:5px}#bookly-tbs .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){#bookly-tbs .navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}#bookly-tbs .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .navbar-btn{margin-top:7.5px;margin-bottom:7.5px}#bookly-tbs .navbar-btn.btn-sm{margin-top:9px;margin-bottom:9px}#bookly-tbs .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}#bookly-tbs .navbar-text{margin-top:14.5px;margin-bottom:14.5px}@media (min-width:768px){#bookly-tbs .navbar-text{float:left;margin-right:10px;margin-left:10px}}@media (min-width:768px){#bookly-tbs .navbar-left{float:left!important}#bookly-tbs .navbar-right{float:right!important;margin-right:-10px}#bookly-tbs .navbar-right~.navbar-right{margin-right:0}}#bookly-tbs .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}#bookly-tbs .navbar-default .navbar-brand{color:#777}#bookly-tbs .navbar-default .navbar-brand:focus,#bookly-tbs .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}#bookly-tbs .navbar-default .navbar-text{color:#777}#bookly-tbs .navbar-default .navbar-nav>li>a{color:#777}#bookly-tbs .navbar-default .navbar-nav>li>a:focus,#bookly-tbs .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}#bookly-tbs .navbar-default .navbar-nav>.active>a,#bookly-tbs .navbar-default .navbar-nav>.active>a:focus,#bookly-tbs .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}#bookly-tbs .navbar-default .navbar-nav>.disabled>a,#bookly-tbs .navbar-default .navbar-nav>.disabled>a:focus,#bookly-tbs .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}#bookly-tbs .navbar-default .navbar-toggle{border-color:#e8ebf0}#bookly-tbs .navbar-default .navbar-toggle:focus,#bookly-tbs .navbar-default .navbar-toggle:hover{background-color:#e8ebf0}#bookly-tbs .navbar-default .navbar-toggle .icon-bar{background-color:#8a929e}#bookly-tbs .navbar-default .navbar-collapse,#bookly-tbs .navbar-default .navbar-form{border-color:#e7e7e7}#bookly-tbs .navbar-default .navbar-nav>.open>a,#bookly-tbs .navbar-default .navbar-nav>.open>a:focus,#bookly-tbs .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.active>a,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}#bookly-tbs .navbar-default .navbar-link{color:#777}#bookly-tbs .navbar-default .navbar-link:hover{color:#333}#bookly-tbs .navbar-default .btn-link{color:#777}#bookly-tbs .navbar-default .btn-link:focus,#bookly-tbs .navbar-default .btn-link:hover{color:#333}#bookly-tbs .navbar-default .btn-link[disabled]:focus,#bookly-tbs .navbar-default .btn-link[disabled]:hover,#bookly-tbs fieldset[disabled] .navbar-default .btn-link:focus,#bookly-tbs fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}#bookly-tbs .navbar-inverse{background-color:#222;border-color:#080808}#bookly-tbs .navbar-inverse .navbar-brand{color:#fff}#bookly-tbs .navbar-inverse .navbar-brand:focus,#bookly-tbs .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}#bookly-tbs .navbar-inverse .navbar-text{color:#fff}#bookly-tbs .navbar-inverse .navbar-nav>li>a{color:#fff}#bookly-tbs .navbar-inverse .navbar-nav>li>a:focus,#bookly-tbs .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}#bookly-tbs .navbar-inverse .navbar-nav>.active>a,#bookly-tbs .navbar-inverse .navbar-nav>.active>a:focus,#bookly-tbs .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}#bookly-tbs .navbar-inverse .navbar-nav>.disabled>a,#bookly-tbs .navbar-inverse .navbar-nav>.disabled>a:focus,#bookly-tbs .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}#bookly-tbs .navbar-inverse .navbar-toggle{border-color:#333}#bookly-tbs .navbar-inverse .navbar-toggle:focus,#bookly-tbs .navbar-inverse .navbar-toggle:hover{background-color:#333}#bookly-tbs .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}#bookly-tbs .navbar-inverse .navbar-collapse,#bookly-tbs .navbar-inverse .navbar-form{border-color:#101010}#bookly-tbs .navbar-inverse .navbar-nav>.open>a,#bookly-tbs .navbar-inverse .navbar-nav>.open>a:focus,#bookly-tbs .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#fff}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}#bookly-tbs .navbar-inverse .navbar-link{color:#fff}#bookly-tbs .navbar-inverse .navbar-link:hover{color:#fff}#bookly-tbs .navbar-inverse .btn-link{color:#fff}#bookly-tbs .navbar-inverse .btn-link:focus,#bookly-tbs .navbar-inverse .btn-link:hover{color:#fff}#bookly-tbs .navbar-inverse .btn-link[disabled]:focus,#bookly-tbs .navbar-inverse .btn-link[disabled]:hover,#bookly-tbs fieldset[disabled] .navbar-inverse .btn-link:focus,#bookly-tbs fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}#bookly-tbs .breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#f5f5f5;border-radius:4px}#bookly-tbs .breadcrumb>li{display:inline-block}#bookly-tbs .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}#bookly-tbs .breadcrumb>.active{color:#d9dee4}#bookly-tbs .pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:4px}#bookly-tbs .pagination>li{display:inline}#bookly-tbs .pagination>li>a,#bookly-tbs .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.4;color:#08c;text-decoration:none;background-color:#fff;border:1px solid #e8ebf0}#bookly-tbs .pagination>li:first-child>a,#bookly-tbs .pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}#bookly-tbs .pagination>li:last-child>a,#bookly-tbs .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}#bookly-tbs .pagination>li>a:focus,#bookly-tbs .pagination>li>a:hover,#bookly-tbs .pagination>li>span:focus,#bookly-tbs .pagination>li>span:hover{z-index:2;color:#005580;background-color:#e8ebf0;border-color:#e8ebf0}#bookly-tbs .pagination>.active>a,#bookly-tbs .pagination>.active>a:focus,#bookly-tbs .pagination>.active>a:hover,#bookly-tbs .pagination>.active>span,#bookly-tbs .pagination>.active>span:focus,#bookly-tbs .pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#08c;border-color:#08c}#bookly-tbs .pagination>.disabled>a,#bookly-tbs .pagination>.disabled>a:focus,#bookly-tbs .pagination>.disabled>a:hover,#bookly-tbs .pagination>.disabled>span,#bookly-tbs .pagination>.disabled>span:focus,#bookly-tbs .pagination>.disabled>span:hover{color:#d9dee4;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#e8ebf0}#bookly-tbs .pagination-lg>li>a,#bookly-tbs .pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}#bookly-tbs .pagination-lg>li:first-child>a,#bookly-tbs .pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}#bookly-tbs .pagination-lg>li:last-child>a,#bookly-tbs .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}#bookly-tbs .pagination-sm>li>a,#bookly-tbs .pagination-sm>li>span{padding:5px 10px;font-size:13px;line-height:1.53846154}#bookly-tbs .pagination-sm>li:first-child>a,#bookly-tbs .pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .pagination-sm>li:last-child>a,#bookly-tbs .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}#bookly-tbs .pager{padding-left:0;margin:21px 0;text-align:center;list-style:none}#bookly-tbs .pager li{display:inline}#bookly-tbs .pager li>a,#bookly-tbs .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #e8ebf0;border-radius:15px}#bookly-tbs .pager li>a:focus,#bookly-tbs .pager li>a:hover{text-decoration:none;background-color:#e8ebf0}#bookly-tbs .pager .next>a,#bookly-tbs .pager .next>span{float:right}#bookly-tbs .pager .previous>a,#bookly-tbs .pager .previous>span{float:left}#bookly-tbs .pager .disabled>a,#bookly-tbs .pager .disabled>a:focus,#bookly-tbs .pager .disabled>a:hover,#bookly-tbs .pager .disabled>span{color:#d9dee4;pointer-events:none;cursor:not-allowed;background-color:#fff}#bookly-tbs .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}#bookly-tbs a.label:focus,#bookly-tbs a.label:hover{color:#fff;text-decoration:none;cursor:pointer}#bookly-tbs .label:empty{display:none}#bookly-tbs .btn .label{position:relative;top:-1px}#bookly-tbs .label-default{background-color:#d9dee4}#bookly-tbs .label-default[href]:focus,#bookly-tbs .label-default[href]:hover{background-color:#bbc4cf}#bookly-tbs .label-primary{background-color:#08c}#bookly-tbs .label-primary[href]:focus,#bookly-tbs .label-primary[href]:hover{background-color:#069}#bookly-tbs .label-success{background-color:#5cb85c}#bookly-tbs .label-success[href]:focus,#bookly-tbs .label-success[href]:hover{background-color:#449d44}#bookly-tbs .label-info{background-color:#5bc0de}#bookly-tbs .label-info[href]:focus,#bookly-tbs .label-info[href]:hover{background-color:#31b0d5}#bookly-tbs .label-warning{background-color:#f0ad4e}#bookly-tbs .label-warning[href]:focus,#bookly-tbs .label-warning[href]:hover{background-color:#ec971f}#bookly-tbs .label-danger{background-color:#d9534f}#bookly-tbs .label-danger[href]:focus,#bookly-tbs .label-danger[href]:hover{background-color:#c9302c}#bookly-tbs .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:13px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#d9dee4;border-radius:10px}#bookly-tbs .badge:empty{display:none}#bookly-tbs .btn .badge{position:relative;top:-1px}#bookly-tbs .btn-group-xs>.btn .badge,#bookly-tbs .btn-xs .badge{top:0;padding:1px 5px}#bookly-tbs a.badge:focus,#bookly-tbs a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}#bookly-tbs .list-group-item.active>.badge,#bookly-tbs .nav-pills>.active>a>.badge{color:#08c;background-color:#fff}#bookly-tbs .list-group-item>.badge{float:right}#bookly-tbs .list-group-item>.badge+.badge{margin-right:5px}#bookly-tbs .nav-pills>li>a>.badge{margin-left:3px}#bookly-tbs .jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#e8ebf0}#bookly-tbs .jumbotron .h1,#bookly-tbs .jumbotron h1{color:inherit}#bookly-tbs .jumbotron p{margin-bottom:15px;font-size:23px;font-weight:200}#bookly-tbs .jumbotron>hr{border-top-color:#c9d0dc}#bookly-tbs .container .jumbotron,#bookly-tbs .container-fluid .jumbotron{padding-right:10px;padding-left:10px;border-radius:6px}#bookly-tbs .jumbotron .container{max-width:100%}@media screen and (min-width:768px){#bookly-tbs .jumbotron{padding-top:48px;padding-bottom:48px}#bookly-tbs .container .jumbotron,#bookly-tbs .container-fluid .jumbotron{padding-right:60px;padding-left:60px}#bookly-tbs .jumbotron .h1,#bookly-tbs .jumbotron h1{font-size:68px}}#bookly-tbs .thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.4;background-color:transparent;border:1px solid #e8ebf0;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}#bookly-tbs .thumbnail a>img,#bookly-tbs .thumbnail>img{margin-right:auto;margin-left:auto}#bookly-tbs a.thumbnail.active,#bookly-tbs a.thumbnail:focus,#bookly-tbs a.thumbnail:hover{border-color:#08c}#bookly-tbs .thumbnail .caption{padding:9px;color:#3e424a}#bookly-tbs .alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}#bookly-tbs .alert h4{margin-top:0;color:inherit}#bookly-tbs .alert .alert-link{font-weight:700}#bookly-tbs .alert>p,#bookly-tbs .alert>ul{margin-bottom:0}#bookly-tbs .alert>p+p{margin-top:5px}#bookly-tbs .alert-dismissable,#bookly-tbs .alert-dismissible{padding-right:35px}#bookly-tbs .alert-dismissable .close,#bookly-tbs .alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}#bookly-tbs .alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}#bookly-tbs .alert-success hr{border-top-color:#c9e2b3}#bookly-tbs .alert-success .alert-link{color:#2b542c}#bookly-tbs .alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}#bookly-tbs .alert-info hr{border-top-color:#a6e1ec}#bookly-tbs .alert-info .alert-link{color:#245269}#bookly-tbs .alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}#bookly-tbs .alert-warning hr{border-top-color:#f7e1b5}#bookly-tbs .alert-warning .alert-link{color:#66512c}#bookly-tbs .alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}#bookly-tbs .alert-danger hr{border-top-color:#e4b9c0}#bookly-tbs .alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}#bookly-tbs .progress{height:21px;margin-bottom:21px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}#bookly-tbs .progress-bar{float:left;width:0;height:100%;font-size:13px;line-height:21px;color:#fff;text-align:center;background-color:#08c;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}#bookly-tbs .progress-bar-striped,#bookly-tbs .progress-striped .progress-bar{background-image:-webkit-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-image:-o-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-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);-webkit-background-size:40px 40px;background-size:40px 40px}#bookly-tbs .progress-bar.active,#bookly-tbs .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}#bookly-tbs .progress-bar-success{background-color:#5cb85c}#bookly-tbs .progress-striped .progress-bar-success{background-image:-webkit-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-image:-o-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-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)}#bookly-tbs .progress-bar-info{background-color:#5bc0de}#bookly-tbs .progress-striped .progress-bar-info{background-image:-webkit-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-image:-o-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-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)}#bookly-tbs .progress-bar-warning{background-color:#f0ad4e}#bookly-tbs .progress-striped .progress-bar-warning{background-image:-webkit-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-image:-o-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-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)}#bookly-tbs .progress-bar-danger{background-color:#d9534f}#bookly-tbs .progress-striped .progress-bar-danger{background-image:-webkit-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-image:-o-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-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)}#bookly-tbs .media{margin-top:15px}#bookly-tbs .media:first-child{margin-top:0}#bookly-tbs .media,#bookly-tbs .media-body{overflow:hidden;zoom:1}#bookly-tbs .media-body{width:10000px}#bookly-tbs .media-object{display:block}#bookly-tbs .media-object.img-thumbnail{max-width:none}#bookly-tbs .media-right,#bookly-tbs .media>.pull-right{padding-left:10px}#bookly-tbs .media-left,#bookly-tbs .media>.pull-left{padding-right:10px}#bookly-tbs .media-body,#bookly-tbs .media-left,#bookly-tbs .media-right{display:table-cell;vertical-align:top}#bookly-tbs .media-middle{vertical-align:middle}#bookly-tbs .media-bottom{vertical-align:bottom}#bookly-tbs .media-heading{margin-top:0;margin-bottom:5px}#bookly-tbs .media-list{padding-left:0;list-style:none}#bookly-tbs .list-group{padding-left:0;margin-bottom:20px}#bookly-tbs .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #e8ebf0}#bookly-tbs .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}#bookly-tbs .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}#bookly-tbs a.list-group-item,#bookly-tbs button.list-group-item{color:#555}#bookly-tbs a.list-group-item .list-group-item-heading,#bookly-tbs button.list-group-item .list-group-item-heading{color:#333}#bookly-tbs a.list-group-item:focus,#bookly-tbs a.list-group-item:hover,#bookly-tbs button.list-group-item:focus,#bookly-tbs button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}#bookly-tbs button.list-group-item{width:100%;text-align:left}#bookly-tbs .list-group-item.disabled,#bookly-tbs .list-group-item.disabled:focus,#bookly-tbs .list-group-item.disabled:hover{color:#d9dee4;cursor:not-allowed;background-color:#e8ebf0}#bookly-tbs .list-group-item.disabled .list-group-item-heading,#bookly-tbs .list-group-item.disabled:focus .list-group-item-heading,#bookly-tbs .list-group-item.disabled:hover .list-group-item-heading{color:inherit}#bookly-tbs .list-group-item.disabled .list-group-item-text,#bookly-tbs .list-group-item.disabled:focus .list-group-item-text,#bookly-tbs .list-group-item.disabled:hover .list-group-item-text{color:#d9dee4}#bookly-tbs .list-group-item.active,#bookly-tbs .list-group-item.active:focus,#bookly-tbs .list-group-item.active:hover{z-index:2;color:#fff;background-color:#08c;border-color:#08c}#bookly-tbs .list-group-item.active .list-group-item-heading,#bookly-tbs .list-group-item.active .list-group-item-heading>.small,#bookly-tbs .list-group-item.active .list-group-item-heading>small,#bookly-tbs .list-group-item.active:focus .list-group-item-heading,#bookly-tbs .list-group-item.active:focus .list-group-item-heading>.small,#bookly-tbs .list-group-item.active:focus .list-group-item-heading>small,#bookly-tbs .list-group-item.active:hover .list-group-item-heading,#bookly-tbs .list-group-item.active:hover .list-group-item-heading>.small,#bookly-tbs .list-group-item.active:hover .list-group-item-heading>small{color:inherit}#bookly-tbs .list-group-item.active .list-group-item-text,#bookly-tbs .list-group-item.active:focus .list-group-item-text,#bookly-tbs .list-group-item.active:hover .list-group-item-text{color:#9df}#bookly-tbs .list-group-item-success{color:#3c763d;background-color:#dff0d8}#bookly-tbs a.list-group-item-success,#bookly-tbs button.list-group-item-success{color:#3c763d}#bookly-tbs a.list-group-item-success .list-group-item-heading,#bookly-tbs button.list-group-item-success .list-group-item-heading{color:inherit}#bookly-tbs a.list-group-item-success:focus,#bookly-tbs a.list-group-item-success:hover,#bookly-tbs button.list-group-item-success:focus,#bookly-tbs button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}#bookly-tbs a.list-group-item-success.active,#bookly-tbs a.list-group-item-success.active:focus,#bookly-tbs a.list-group-item-success.active:hover,#bookly-tbs button.list-group-item-success.active,#bookly-tbs button.list-group-item-success.active:focus,#bookly-tbs button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}#bookly-tbs .list-group-item-info{color:#31708f;background-color:#d9edf7}#bookly-tbs a.list-group-item-info,#bookly-tbs button.list-group-item-info{color:#31708f}#bookly-tbs a.list-group-item-info .list-group-item-heading,#bookly-tbs button.list-group-item-info .list-group-item-heading{color:inherit}#bookly-tbs a.list-group-item-info:focus,#bookly-tbs a.list-group-item-info:hover,#bookly-tbs button.list-group-item-info:focus,#bookly-tbs button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}#bookly-tbs a.list-group-item-info.active,#bookly-tbs a.list-group-item-info.active:focus,#bookly-tbs a.list-group-item-info.active:hover,#bookly-tbs button.list-group-item-info.active,#bookly-tbs button.list-group-item-info.active:focus,#bookly-tbs button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}#bookly-tbs .list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}#bookly-tbs a.list-group-item-warning,#bookly-tbs button.list-group-item-warning{color:#8a6d3b}#bookly-tbs a.list-group-item-warning .list-group-item-heading,#bookly-tbs button.list-group-item-warning .list-group-item-heading{color:inherit}#bookly-tbs a.list-group-item-warning:focus,#bookly-tbs a.list-group-item-warning:hover,#bookly-tbs button.list-group-item-warning:focus,#bookly-tbs button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}#bookly-tbs a.list-group-item-warning.active,#bookly-tbs a.list-group-item-warning.active:focus,#bookly-tbs a.list-group-item-warning.active:hover,#bookly-tbs button.list-group-item-warning.active,#bookly-tbs button.list-group-item-warning.active:focus,#bookly-tbs button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}#bookly-tbs .list-group-item-danger{color:#a94442;background-color:#f2dede}#bookly-tbs a.list-group-item-danger,#bookly-tbs button.list-group-item-danger{color:#a94442}#bookly-tbs a.list-group-item-danger .list-group-item-heading,#bookly-tbs button.list-group-item-danger .list-group-item-heading{color:inherit}#bookly-tbs a.list-group-item-danger:focus,#bookly-tbs a.list-group-item-danger:hover,#bookly-tbs button.list-group-item-danger:focus,#bookly-tbs button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}#bookly-tbs a.list-group-item-danger.active,#bookly-tbs a.list-group-item-danger.active:focus,#bookly-tbs a.list-group-item-danger.active:hover,#bookly-tbs button.list-group-item-danger.active,#bookly-tbs button.list-group-item-danger.active:focus,#bookly-tbs button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}#bookly-tbs .list-group-item-heading{margin-top:0;margin-bottom:5px}#bookly-tbs .list-group-item-text{margin-bottom:0;line-height:1.3}#bookly-tbs .panel{margin-bottom:21px;background-color:#fff;border:2px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}#bookly-tbs .panel-body{padding:15px}#bookly-tbs .panel-heading{padding:15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}#bookly-tbs .panel-heading>.dropdown .dropdown-toggle{color:inherit}#bookly-tbs .panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}#bookly-tbs .panel-title>.small,#bookly-tbs .panel-title>.small>a,#bookly-tbs .panel-title>a,#bookly-tbs .panel-title>small,#bookly-tbs .panel-title>small>a{color:inherit}#bookly-tbs .panel-footer{padding:15px;background-color:#e8ebf0;border-top:1px solid #e8ebf0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel>.list-group,#bookly-tbs .panel>.panel-collapse>.list-group{margin-bottom:0}#bookly-tbs .panel>.list-group .list-group-item,#bookly-tbs .panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}#bookly-tbs .panel>.list-group:first-child .list-group-item:first-child,#bookly-tbs .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}#bookly-tbs .panel>.list-group:last-child .list-group-item:last-child,#bookly-tbs .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}#bookly-tbs .list-group+.panel-footer{border-top-width:0}#bookly-tbs .panel>.panel-collapse>.table,#bookly-tbs .panel>.table,#bookly-tbs .panel>.table-responsive>.table{margin-bottom:0}#bookly-tbs .panel>.panel-collapse>.table caption,#bookly-tbs .panel>.table caption,#bookly-tbs .panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}#bookly-tbs .panel>.table-responsive:first-child>.table:first-child,#bookly-tbs .panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}#bookly-tbs .panel>.table-responsive:last-child>.table:last-child,#bookly-tbs .panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}#bookly-tbs .panel>.panel-body+.table,#bookly-tbs .panel>.panel-body+.table-responsive,#bookly-tbs .panel>.table+.panel-body,#bookly-tbs .panel>.table-responsive+.panel-body{border-top:1px solid #d9dee4}#bookly-tbs .panel>.table>tbody:first-child>tr:first-child td,#bookly-tbs .panel>.table>tbody:first-child>tr:first-child th{border-top:0}#bookly-tbs .panel>.table-bordered,#bookly-tbs .panel>.table-responsive>.table-bordered{border:0}#bookly-tbs .panel>.table-bordered>tbody>tr>td:first-child,#bookly-tbs .panel>.table-bordered>tbody>tr>th:first-child,#bookly-tbs .panel>.table-bordered>tfoot>tr>td:first-child,#bookly-tbs .panel>.table-bordered>tfoot>tr>th:first-child,#bookly-tbs .panel>.table-bordered>thead>tr>td:first-child,#bookly-tbs .panel>.table-bordered>thead>tr>th:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}#bookly-tbs .panel>.table-bordered>tbody>tr>td:last-child,#bookly-tbs .panel>.table-bordered>tbody>tr>th:last-child,#bookly-tbs .panel>.table-bordered>tfoot>tr>td:last-child,#bookly-tbs .panel>.table-bordered>tfoot>tr>th:last-child,#bookly-tbs .panel>.table-bordered>thead>tr>td:last-child,#bookly-tbs .panel>.table-bordered>thead>tr>th:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}#bookly-tbs .panel>.table-bordered>tbody>tr:first-child>td,#bookly-tbs .panel>.table-bordered>tbody>tr:first-child>th,#bookly-tbs .panel>.table-bordered>thead>tr:first-child>td,#bookly-tbs .panel>.table-bordered>thead>tr:first-child>th,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}#bookly-tbs .panel>.table-bordered>tbody>tr:last-child>td,#bookly-tbs .panel>.table-bordered>tbody>tr:last-child>th,#bookly-tbs .panel>.table-bordered>tfoot>tr:last-child>td,#bookly-tbs .panel>.table-bordered>tfoot>tr:last-child>th,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}#bookly-tbs .panel>.table-responsive{margin-bottom:0;border:0}#bookly-tbs .panel-group{margin-bottom:21px}#bookly-tbs .panel-group .panel{margin-bottom:0;border-radius:4px}#bookly-tbs .panel-group .panel+.panel{margin-top:10px}#bookly-tbs .panel-group .panel-heading{border-bottom:0}#bookly-tbs .panel-group .panel-heading+.panel-collapse>.list-group,#bookly-tbs .panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #e8ebf0}#bookly-tbs .panel-group .panel-footer{border-top:0}#bookly-tbs .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #e8ebf0}#bookly-tbs .panel-default{border-color:#e8ebf0}#bookly-tbs .panel-default>.panel-heading{color:#3e424a;background-color:#e8ebf0;border-color:#e8ebf0}#bookly-tbs .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#e8ebf0}#bookly-tbs .panel-default>.panel-heading .badge{color:#e8ebf0;background-color:#3e424a}#bookly-tbs .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#e8ebf0}#bookly-tbs .panel-primary{border-color:#08c}#bookly-tbs .panel-primary>.panel-heading{color:#fff;background-color:#08c;border-color:#08c}#bookly-tbs .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#08c}#bookly-tbs .panel-primary>.panel-heading .badge{color:#08c;background-color:#fff}#bookly-tbs .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#08c}#bookly-tbs .panel-success{border-color:#d6e9c6}#bookly-tbs .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}#bookly-tbs .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}#bookly-tbs .panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}#bookly-tbs .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}#bookly-tbs .panel-info{border-color:#bce8f1}#bookly-tbs .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}#bookly-tbs .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}#bookly-tbs .panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}#bookly-tbs .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}#bookly-tbs .panel-warning{border-color:#faebcc}#bookly-tbs .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}#bookly-tbs .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}#bookly-tbs .panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}#bookly-tbs .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}#bookly-tbs .panel-danger{border-color:#ebccd1}#bookly-tbs .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}#bookly-tbs .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}#bookly-tbs .panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}#bookly-tbs .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}#bookly-tbs .embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}#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-16by9{padding-bottom:56.25%}#bookly-tbs .embed-responsive-4by3{padding-bottom:75%}#bookly-tbs .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}#bookly-tbs .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}#bookly-tbs .well-lg{padding:24px;border-radius:6px}#bookly-tbs .well-sm{padding:9px;border-radius:3px}#bookly-tbs .close{float:right;font-size:22.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}#bookly-tbs .close:focus,#bookly-tbs .close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}#bookly-tbs button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}#bookly-tbs .modal-open{overflow:hidden}#bookly-tbs .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}#bookly-tbs .modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}#bookly-tbs .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}#bookly-tbs .modal-open .modal{overflow-x:hidden;overflow-y:auto}#bookly-tbs .modal-dialog{position:relative;width:auto;margin:10px}#bookly-tbs .modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}#bookly-tbs .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}#bookly-tbs .modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}#bookly-tbs .modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}#bookly-tbs .modal-header{padding:15px;border-bottom:1px solid #e5e5e5}#bookly-tbs .modal-header .close{margin-top:-2px}#bookly-tbs .modal-title{margin:0;line-height:1.4}#bookly-tbs .modal-body{position:relative;padding:15px}#bookly-tbs .modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}#bookly-tbs .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}#bookly-tbs .modal-footer .btn-group .btn+.btn{margin-left:-1px}#bookly-tbs .modal-footer .btn-block+.btn-block{margin-left:0}#bookly-tbs .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){#bookly-tbs .modal-dialog{width:600px;margin:30px auto}#bookly-tbs .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}#bookly-tbs .modal-sm{width:300px}}@media (min-width:992px){#bookly-tbs .modal-lg{width:900px}}#bookly-tbs .tooltip{position:absolute;z-index:1070;display:block;font-family:"open sans","helvetica neue",helvetica,arial,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:1.4;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}#bookly-tbs .tooltip.in{filter:alpha(opacity=90);opacity:.9}#bookly-tbs .tooltip.top{padding:5px 0;margin-top:-3px}#bookly-tbs .tooltip.right{padding:0 5px;margin-left:3px}#bookly-tbs .tooltip.bottom{padding:5px 0;margin-top:3px}#bookly-tbs .tooltip.left{padding:0 5px;margin-left:-3px}#bookly-tbs .tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}#bookly-tbs .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}#bookly-tbs .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}#bookly-tbs .tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}#bookly-tbs .tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}#bookly-tbs .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}#bookly-tbs .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}#bookly-tbs .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}#bookly-tbs .tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}#bookly-tbs .tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}#bookly-tbs .popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:600px;padding:1px;font-family:"open sans","helvetica neue",helvetica,arial,sans-serif;font-size:15px;font-style:normal;font-weight:400;line-height:1.4;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}#bookly-tbs .popover.top{margin-top:-10px}#bookly-tbs .popover.right{margin-left:10px}#bookly-tbs .popover.bottom{margin-top:10px}#bookly-tbs .popover.left{margin-left:-10px}#bookly-tbs .popover-title{padding:8px 14px;margin:0;font-size:15px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}#bookly-tbs .popover-content{padding:14px 20px}#bookly-tbs .popover>.popover-arrow,#bookly-tbs .popover>.popover-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}#bookly-tbs .popover>.popover-arrow{border-width:11px}#bookly-tbs .popover>.popover-arrow:after{content:"";border-width:10px}#bookly-tbs .popover.top>.popover-arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}#bookly-tbs .popover.top>.popover-arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}#bookly-tbs .popover.right>.popover-arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}#bookly-tbs .popover.right>.popover-arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}#bookly-tbs .popover.bottom>.popover-arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}#bookly-tbs .popover.bottom>.popover-arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}#bookly-tbs .popover.left>.popover-arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}#bookly-tbs .popover.left>.popover-arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}#bookly-tbs .carousel{position:relative}#bookly-tbs .carousel-inner{position:relative;width:100%;overflow:hidden}#bookly-tbs .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}#bookly-tbs .carousel-inner>.item>a>img,#bookly-tbs .carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){#bookly-tbs .carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}#bookly-tbs .carousel-inner>.item.active.right,#bookly-tbs .carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}#bookly-tbs .carousel-inner>.item.active.left,#bookly-tbs .carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}#bookly-tbs .carousel-inner>.item.active,#bookly-tbs .carousel-inner>.item.next.left,#bookly-tbs .carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}#bookly-tbs .carousel-inner>.active,#bookly-tbs .carousel-inner>.next,#bookly-tbs .carousel-inner>.prev{display:block}#bookly-tbs .carousel-inner>.active{left:0}#bookly-tbs .carousel-inner>.next,#bookly-tbs .carousel-inner>.prev{position:absolute;top:0;width:100%}#bookly-tbs .carousel-inner>.next{left:100%}#bookly-tbs .carousel-inner>.prev{left:-100%}#bookly-tbs .carousel-inner>.next.left,#bookly-tbs .carousel-inner>.prev.right{left:0}#bookly-tbs .carousel-inner>.active.left{left:-100%}#bookly-tbs .carousel-inner>.active.right{left:100%}#bookly-tbs .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}#bookly-tbs .carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}#bookly-tbs .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}#bookly-tbs .carousel-control:focus,#bookly-tbs .carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}#bookly-tbs .carousel-control .glyphicon-chevron-left,#bookly-tbs .carousel-control .glyphicon-chevron-right,#bookly-tbs .carousel-control .icon-next,#bookly-tbs .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}#bookly-tbs .carousel-control .glyphicon-chevron-left,#bookly-tbs .carousel-control .icon-prev{left:50%;margin-left:-10px}#bookly-tbs .carousel-control .glyphicon-chevron-right,#bookly-tbs .carousel-control .icon-next{right:50%;margin-right:-10px}#bookly-tbs .carousel-control .icon-next,#bookly-tbs .carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}#bookly-tbs .carousel-control .icon-prev:before{content:'\2039'}#bookly-tbs .carousel-control .icon-next:before{content:'\203a'}#bookly-tbs .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}#bookly-tbs .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}#bookly-tbs .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}#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;text-shadow:0 1px 2px rgba(0,0,0,.6)}#bookly-tbs .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){#bookly-tbs .carousel-control .glyphicon-chevron-left,#bookly-tbs .carousel-control .glyphicon-chevron-right,#bookly-tbs .carousel-control .icon-next,#bookly-tbs .carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}#bookly-tbs .carousel-control .glyphicon-chevron-left,#bookly-tbs .carousel-control .icon-prev{margin-left:-10px}#bookly-tbs .carousel-control .glyphicon-chevron-right,#bookly-tbs .carousel-control .icon-next{margin-right:-10px}#bookly-tbs .carousel-caption{right:20%;left:20%;padding-bottom:30px}#bookly-tbs .carousel-indicators{bottom:20px}}#bookly-tbs .btn-group-vertical>.btn-group:after,#bookly-tbs .btn-group-vertical>.btn-group:before,#bookly-tbs .btn-toolbar:after,#bookly-tbs .btn-toolbar:before,#bookly-tbs .clearfix:after,#bookly-tbs .clearfix:before,#bookly-tbs .container-fluid:after,#bookly-tbs .container-fluid:before,#bookly-tbs .container:after,#bookly-tbs .container:before,#bookly-tbs .dl-horizontal dd:after,#bookly-tbs .dl-horizontal dd:before,#bookly-tbs .form-horizontal .form-group:after,#bookly-tbs .form-horizontal .form-group:before,#bookly-tbs .modal-footer:after,#bookly-tbs .modal-footer:before,#bookly-tbs .modal-header:after,#bookly-tbs .modal-header:before,#bookly-tbs .nav:after,#bookly-tbs .nav:before,#bookly-tbs .navbar-collapse:after,#bookly-tbs .navbar-collapse:before,#bookly-tbs .navbar-header:after,#bookly-tbs .navbar-header:before,#bookly-tbs .navbar:after,#bookly-tbs .navbar:before,#bookly-tbs .pager:after,#bookly-tbs .pager:before,#bookly-tbs .panel-body:after,#bookly-tbs .panel-body:before,#bookly-tbs .row:after,#bookly-tbs .row:before{display:table;content:" "}#bookly-tbs .btn-group-vertical>.btn-group:after,#bookly-tbs .btn-toolbar:after,#bookly-tbs .clearfix:after,#bookly-tbs .container-fluid:after,#bookly-tbs .container:after,#bookly-tbs .dl-horizontal dd:after,#bookly-tbs .form-horizontal .form-group:after,#bookly-tbs .modal-footer:after,#bookly-tbs .modal-header:after,#bookly-tbs .nav:after,#bookly-tbs .navbar-collapse:after,#bookly-tbs .navbar-header:after,#bookly-tbs .navbar:after,#bookly-tbs .pager:after,#bookly-tbs .panel-body:after,#bookly-tbs .row:after{clear:both}#bookly-tbs .center-block{display:block;margin-right:auto;margin-left:auto}#bookly-tbs .pull-right{float:right!important}#bookly-tbs .pull-left{float:left!important}#bookly-tbs .hide{display:none!important}#bookly-tbs .show{display:block!important}#bookly-tbs .invisible{visibility:hidden}#bookly-tbs .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .hidden{display:none!important}#bookly-tbs .affix{position:fixed}@-ms-viewport{width:device-width}#bookly-tbs .visible-lg,#bookly-tbs .visible-md,#bookly-tbs .visible-sm,#bookly-tbs .visible-xs{display:none!important}#bookly-tbs .visible-lg-block,#bookly-tbs .visible-lg-inline,#bookly-tbs .visible-lg-inline-block,#bookly-tbs .visible-md-block,#bookly-tbs .visible-md-inline,#bookly-tbs .visible-md-inline-block,#bookly-tbs .visible-sm-block,#bookly-tbs .visible-sm-inline,#bookly-tbs .visible-sm-inline-block,#bookly-tbs .visible-xs-block,#bookly-tbs .visible-xs-inline,#bookly-tbs .visible-xs-inline-block{display:none!important}@media (max-width:767px){#bookly-tbs .visible-xs{display:block!important}#bookly-tbs table.visible-xs{display:table!important}#bookly-tbs tr.visible-xs{display:table-row!important}#bookly-tbs td.visible-xs,#bookly-tbs th.visible-xs{display:table-cell!important}}@media (max-width:767px){#bookly-tbs .visible-xs-block{display:block!important}}@media (max-width:767px){#bookly-tbs .visible-xs-inline{display:inline!important}}@media (max-width:767px){#bookly-tbs .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .visible-sm{display:block!important}#bookly-tbs table.visible-sm{display:table!important}#bookly-tbs tr.visible-sm{display:table-row!important}#bookly-tbs td.visible-sm,#bookly-tbs th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .visible-md{display:block!important}#bookly-tbs table.visible-md{display:table!important}#bookly-tbs tr.visible-md{display:table-row!important}#bookly-tbs td.visible-md,#bookly-tbs th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){#bookly-tbs .visible-lg{display:block!important}#bookly-tbs table.visible-lg{display:table!important}#bookly-tbs tr.visible-lg{display:table-row!important}#bookly-tbs td.visible-lg,#bookly-tbs th.visible-lg{display:table-cell!important}}@media (min-width:1200px){#bookly-tbs .visible-lg-block{display:block!important}}@media (min-width:1200px){#bookly-tbs .visible-lg-inline{display:inline!important}}@media (min-width:1200px){#bookly-tbs .visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){#bookly-tbs .hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .hidden-md{display:none!important}}@media (min-width:1200px){#bookly-tbs .hidden-lg{display:none!important}}#bookly-tbs .visible-print{display:none!important}@media print{#bookly-tbs .visible-print{display:block!important}#bookly-tbs table.visible-print{display:table!important}#bookly-tbs tr.visible-print{display:table-row!important}#bookly-tbs td.visible-print,#bookly-tbs th.visible-print{display:table-cell!important}}#bookly-tbs .visible-print-block{display:none!important}@media print{#bookly-tbs .visible-print-block{display:block!important}}#bookly-tbs .visible-print-inline{display:none!important}@media print{#bookly-tbs .visible-print-inline{display:inline!important}}#bookly-tbs .visible-print-inline-block{display:none!important}@media print{#bookly-tbs .visible-print-inline-block{display:inline-block!important}}@media print{#bookly-tbs .hidden-print{display:none!important}}#bookly-tbs [class*=block-grid-]{padding:0;margin:0;list-style:none;border:1px solid transparent;border-width:1px 0 0 1px}#bookly-tbs [class*=block-grid-]>*{display:block;float:left;height:auto;text-align:center;border:1px solid inherit;border-width:0 1px 1px 0}#bookly-tbs [class*=block-grid-]:after,#bookly-tbs [class*=block-grid-]:before{display:table;content:" "}#bookly-tbs .block-grid-16>:nth-of-type(16n+1),#bookly-tbs [class*=block-grid-]:after{clear:both}#bookly-tbs .block-grid-16>*{width:6.25%;line-height:49px}#bookly-tbs .btn-group-justified>.btn-group:not(:first-child) .btn,#bookly-tbs .btn-group-justified>.btn:not(:first-child){border-left:0}#bookly-tbs .btn-default-outline{color:#5b6470;background-color:transparent;border-color:#5b6470}#bookly-tbs .btn-default-outline.focus,#bookly-tbs .btn-default-outline:focus{color:#5b6470;background-color:rgba(0,0,0,0);border-color:#22252a}#bookly-tbs .btn-default-outline:hover{color:#5b6470;background-color:rgba(0,0,0,0);border-color:#40464e}#bookly-tbs .btn-default-outline.active,#bookly-tbs .btn-default-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-default-outline{color:#5b6470;background-color:rgba(0,0,0,0);border-color:#40464e}#bookly-tbs .btn-default-outline.active.focus,#bookly-tbs .btn-default-outline.active:focus,#bookly-tbs .btn-default-outline.active:hover,#bookly-tbs .btn-default-outline:active.focus,#bookly-tbs .btn-default-outline:active:focus,#bookly-tbs .btn-default-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-default-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-default-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-default-outline:hover{color:#5b6470;background-color:rgba(0,0,0,0);border-color:#22252a}#bookly-tbs .btn-default-outline.active,#bookly-tbs .btn-default-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-default-outline{background-image:none}#bookly-tbs .btn-default-outline.disabled.focus,#bookly-tbs .btn-default-outline.disabled:focus,#bookly-tbs .btn-default-outline.disabled:hover,#bookly-tbs .btn-default-outline[disabled].focus,#bookly-tbs .btn-default-outline[disabled]:focus,#bookly-tbs .btn-default-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-default-outline.focus,fieldset[disabled] #bookly-tbs .btn-default-outline:focus,fieldset[disabled] #bookly-tbs .btn-default-outline:hover{background-color:transparent;border-color:#5b6470}#bookly-tbs .btn-default-outline .badge{color:transparent;background-color:#5b6470}#bookly-tbs .btn-primary-outline{color:#08c;background-color:transparent;border-color:#08c}#bookly-tbs .btn-primary-outline.focus,#bookly-tbs .btn-primary-outline:focus{color:#08c;background-color:rgba(0,0,0,0);border-color:#00334d}#bookly-tbs .btn-primary-outline:hover{color:#08c;background-color:rgba(0,0,0,0);border-color:#005f8f}#bookly-tbs .btn-primary-outline.active,#bookly-tbs .btn-primary-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline{color:#08c;background-color:rgba(0,0,0,0);border-color:#005f8f}#bookly-tbs .btn-primary-outline.active.focus,#bookly-tbs .btn-primary-outline.active:focus,#bookly-tbs .btn-primary-outline.active:hover,#bookly-tbs .btn-primary-outline:active.focus,#bookly-tbs .btn-primary-outline:active:focus,#bookly-tbs .btn-primary-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline:hover{color:#08c;background-color:rgba(0,0,0,0);border-color:#00334d}#bookly-tbs .btn-primary-outline.active,#bookly-tbs .btn-primary-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline{background-image:none}#bookly-tbs .btn-primary-outline.disabled.focus,#bookly-tbs .btn-primary-outline.disabled:focus,#bookly-tbs .btn-primary-outline.disabled:hover,#bookly-tbs .btn-primary-outline[disabled].focus,#bookly-tbs .btn-primary-outline[disabled]:focus,#bookly-tbs .btn-primary-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-primary-outline.focus,fieldset[disabled] #bookly-tbs .btn-primary-outline:focus,fieldset[disabled] #bookly-tbs .btn-primary-outline:hover{background-color:transparent;border-color:#08c}#bookly-tbs .btn-primary-outline .badge{color:transparent;background-color:#08c}#bookly-tbs .btn-success-outline{color:#5cb85c;background-color:transparent;border-color:#5cb85c}#bookly-tbs .btn-success-outline.focus,#bookly-tbs .btn-success-outline:focus{color:#5cb85c;background-color:rgba(0,0,0,0);border-color:#2d672d}#bookly-tbs .btn-success-outline:hover{color:#5cb85c;background-color:rgba(0,0,0,0);border-color:#419641}#bookly-tbs .btn-success-outline.active,#bookly-tbs .btn-success-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-success-outline{color:#5cb85c;background-color:rgba(0,0,0,0);border-color:#419641}#bookly-tbs .btn-success-outline.active.focus,#bookly-tbs .btn-success-outline.active:focus,#bookly-tbs .btn-success-outline.active:hover,#bookly-tbs .btn-success-outline:active.focus,#bookly-tbs .btn-success-outline:active:focus,#bookly-tbs .btn-success-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-success-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-success-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-success-outline:hover{color:#5cb85c;background-color:rgba(0,0,0,0);border-color:#2d672d}#bookly-tbs .btn-success-outline.active,#bookly-tbs .btn-success-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-success-outline{background-image:none}#bookly-tbs .btn-success-outline.disabled.focus,#bookly-tbs .btn-success-outline.disabled:focus,#bookly-tbs .btn-success-outline.disabled:hover,#bookly-tbs .btn-success-outline[disabled].focus,#bookly-tbs .btn-success-outline[disabled]:focus,#bookly-tbs .btn-success-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-success-outline.focus,fieldset[disabled] #bookly-tbs .btn-success-outline:focus,fieldset[disabled] #bookly-tbs .btn-success-outline:hover{background-color:transparent;border-color:#5cb85c}#bookly-tbs .btn-success-outline .badge{color:transparent;background-color:#5cb85c}#bookly-tbs .btn-info-outline{color:#5bc0de;background-color:transparent;border-color:#5bc0de}#bookly-tbs .btn-info-outline.focus,#bookly-tbs .btn-info-outline:focus{color:#5bc0de;background-color:rgba(0,0,0,0);border-color:#1f7e9a}#bookly-tbs .btn-info-outline:hover{color:#5bc0de;background-color:rgba(0,0,0,0);border-color:#2aabd2}#bookly-tbs .btn-info-outline.active,#bookly-tbs .btn-info-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-info-outline{color:#5bc0de;background-color:rgba(0,0,0,0);border-color:#2aabd2}#bookly-tbs .btn-info-outline.active.focus,#bookly-tbs .btn-info-outline.active:focus,#bookly-tbs .btn-info-outline.active:hover,#bookly-tbs .btn-info-outline:active.focus,#bookly-tbs .btn-info-outline:active:focus,#bookly-tbs .btn-info-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-info-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-info-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-info-outline:hover{color:#5bc0de;background-color:rgba(0,0,0,0);border-color:#1f7e9a}#bookly-tbs .btn-info-outline.active,#bookly-tbs .btn-info-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-info-outline{background-image:none}#bookly-tbs .btn-info-outline.disabled.focus,#bookly-tbs .btn-info-outline.disabled:focus,#bookly-tbs .btn-info-outline.disabled:hover,#bookly-tbs .btn-info-outline[disabled].focus,#bookly-tbs .btn-info-outline[disabled]:focus,#bookly-tbs .btn-info-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-info-outline.focus,fieldset[disabled] #bookly-tbs .btn-info-outline:focus,fieldset[disabled] #bookly-tbs .btn-info-outline:hover{background-color:transparent;border-color:#5bc0de}#bookly-tbs .btn-info-outline .badge{color:transparent;background-color:#5bc0de}#bookly-tbs .btn-warning-outline{color:#f0ad4e;background-color:transparent;border-color:#f0ad4e}#bookly-tbs .btn-warning-outline.focus,#bookly-tbs .btn-warning-outline:focus{color:#f0ad4e;background-color:rgba(0,0,0,0);border-color:#b06d0f}#bookly-tbs .btn-warning-outline:hover{color:#f0ad4e;background-color:rgba(0,0,0,0);border-color:#eb9316}#bookly-tbs .btn-warning-outline.active,#bookly-tbs .btn-warning-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline{color:#f0ad4e;background-color:rgba(0,0,0,0);border-color:#eb9316}#bookly-tbs .btn-warning-outline.active.focus,#bookly-tbs .btn-warning-outline.active:focus,#bookly-tbs .btn-warning-outline.active:hover,#bookly-tbs .btn-warning-outline:active.focus,#bookly-tbs .btn-warning-outline:active:focus,#bookly-tbs .btn-warning-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline:hover{color:#f0ad4e;background-color:rgba(0,0,0,0);border-color:#b06d0f}#bookly-tbs .btn-warning-outline.active,#bookly-tbs .btn-warning-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline{background-image:none}#bookly-tbs .btn-warning-outline.disabled.focus,#bookly-tbs .btn-warning-outline.disabled:focus,#bookly-tbs .btn-warning-outline.disabled:hover,#bookly-tbs .btn-warning-outline[disabled].focus,#bookly-tbs .btn-warning-outline[disabled]:focus,#bookly-tbs .btn-warning-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-warning-outline.focus,fieldset[disabled] #bookly-tbs .btn-warning-outline:focus,fieldset[disabled] #bookly-tbs .btn-warning-outline:hover{background-color:transparent;border-color:#f0ad4e}#bookly-tbs .btn-warning-outline .badge{color:transparent;background-color:#f0ad4e}#bookly-tbs .btn-danger-outline{color:#d9534f;background-color:transparent;border-color:#d9534f}#bookly-tbs .btn-danger-outline.focus,#bookly-tbs .btn-danger-outline:focus{color:#d9534f;background-color:rgba(0,0,0,0);border-color:#8b211e}#bookly-tbs .btn-danger-outline:hover{color:#d9534f;background-color:rgba(0,0,0,0);border-color:#c12e2a}#bookly-tbs .btn-danger-outline.active,#bookly-tbs .btn-danger-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline{color:#d9534f;background-color:rgba(0,0,0,0);border-color:#c12e2a}#bookly-tbs .btn-danger-outline.active.focus,#bookly-tbs .btn-danger-outline.active:focus,#bookly-tbs .btn-danger-outline.active:hover,#bookly-tbs .btn-danger-outline:active.focus,#bookly-tbs .btn-danger-outline:active:focus,#bookly-tbs .btn-danger-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline:hover{color:#d9534f;background-color:rgba(0,0,0,0);border-color:#8b211e}#bookly-tbs .btn-danger-outline.active,#bookly-tbs .btn-danger-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline{background-image:none}#bookly-tbs .btn-danger-outline.disabled.focus,#bookly-tbs .btn-danger-outline.disabled:focus,#bookly-tbs .btn-danger-outline.disabled:hover,#bookly-tbs .btn-danger-outline[disabled].focus,#bookly-tbs .btn-danger-outline[disabled]:focus,#bookly-tbs .btn-danger-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-danger-outline.focus,fieldset[disabled] #bookly-tbs .btn-danger-outline:focus,fieldset[disabled] #bookly-tbs .btn-danger-outline:hover{background-color:transparent;border-color:#d9534f}#bookly-tbs .btn-danger-outline .badge{color:transparent;background-color:#d9534f}#bookly-tbs .btn-xlg{padding:11px 22px;font-size:15px;line-height:1.9;border-radius:4px}#bookly-tbs .callout{padding:10px;margin:21px 0;border:1px solid #e8ebf0;border-left-width:4px;border-radius:4px}#bookly-tbs .callout .callout-heading{margin-top:0;margin-bottom:5px}#bookly-tbs .callout p:last-child{margin-bottom:0}#bookly-tbs .callout+#bookly-tbs .callout{margin-top:-5px}#bookly-tbs .callout.callout-danger{border-left-color:#d9534f}#bookly-tbs .callout.callout-danger .callout-heading{color:#a94442}#bookly-tbs .callout.callout-warning{border-left-color:#f0ad4e}#bookly-tbs .callout.callout-warning .callout-heading{color:#8a6d3b}#bookly-tbs .callout.callout-info{border-left-color:#5bc0de}#bookly-tbs .callout.callout-info .callout-heading{color:#31708f}#bookly-tbs .close{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}#bookly-tbs .caret{margin-bottom:2px}#bookly-tbs .checkbox,#bookly-tbs .radio{line-height:1.4}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{width:16px;height:16px}#bookly-tbs input[type=checkbox]:checked:before{margin:-3px 0 0 -4px;font:400 21px/1 dashicons}#bookly-tbs input[type=radio]:checked:before{width:8px;height:8px;margin:3px}#bookly-tbs input[type=checkbox]:not(:checked)+.bookly-toggle-label,#bookly-tbs input[type=radio]:not(:checked)+.bookly-toggle-label{color:#8a929e}#bookly-tbs select.form-control{z-index:5;min-width:1px;height:36px;-webkit-appearance:none;padding-right:22px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4IiB3aWR0aD0iNDgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0IDIwbDEwIDEwIDEwLTEweiIvPjxwYXRoIGQ9Ik0wIDBoNDh2NDhoLTQ4eiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:-webkit-calc(100% - 4px) 50%;background-position:calc(100% - 4px) 50%;-webkit-background-size:24px 24px;background-size:24px 24px;-moz-appearance:none;appearance:none}@media screen and (min-width:0\0){#bookly-tbs select.form-control{padding:5px}}#bookly-tbs select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}#bookly-tbs .form-horizontal .form-inline .checkbox-inline,#bookly-tbs .form-horizontal .form-inline .radio-inline{padding-top:0}#bookly-tbs .form-horizontal .form-group .help-block{margin-bottom:0}#bookly-tbs button:active,#bookly-tbs button:focus,#bookly-tbs button:hover,#bookly-tbs input:active,#bookly-tbs input:focus,#bookly-tbs input:hover,#bookly-tbs textarea:active,#bookly-tbs textarea:focus,#bookly-tbs textarea:hover{outline:0}#bookly-tbs .help-block{margin-top:0;font-size:13px;line-height:1.3}#bookly-tbs .bookly-pretty input[type=file]{position:absolute;top:0;left:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;opacity:0}#bookly-tbs .bookly-pretty input[type=file]~.bookly-pretty-indicator{display:inline-block;font-weight:400}#bookly-tbs .input-group-btn:first-child>.btn,#bookly-tbs .input-group-btn:first-child>.btn-group{border-right:0}#bookly-tbs .input-group-btn:first-child>.btn:last-child{margin-right:-1px}#bookly-tbs .input-group-btn:last-child>.btn,#bookly-tbs .input-group-btn:last-child>.btn-group{border-left:0}#bookly-tbs .list-group-item .badge{margin-top:2px}#bookly-tbs .navbar-nav>li>.dropdown-menu{border-top-width:0}#bookly-tbs .navbar-text{line-height:21px}#bookly-tbs .nav-tabs>li{margin-bottom:0}#bookly-tbs .nav-tabs>li>a{margin-right:0;color:#8a929e;border:0}#bookly-tbs .nav-tabs>li>a:after{position:absolute;right:0;bottom:0;left:0;width:100%;height:0;content:" ";border-bottom:3px solid transparent}#bookly-tbs .nav-tabs>li>a:focus,#bookly-tbs .nav-tabs>li>a:hover{background-color:transparent;outline:0;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .nav-tabs>li>a:focus:after,#bookly-tbs .nav-tabs>li>a:hover:after{border-bottom-color:#d9dee4}#bookly-tbs .nav-tabs.nav-justified>li.active>a,#bookly-tbs .nav-tabs.nav-justified>li.active>a:focus,#bookly-tbs .nav-tabs.nav-justified>li.active>a:hover,#bookly-tbs .nav-tabs>li.active>a,#bookly-tbs .nav-tabs>li.active>a:focus,#bookly-tbs .nav-tabs>li.active>a:hover{color:#08c;border-width:0 0 1px 0}#bookly-tbs .nav-tabs.nav-justified>li.active>a:after,#bookly-tbs .nav-tabs>li.active>a:after{border-bottom-color:#08c}#bookly-tbs .nav-tabs .dropdown-menu{margin-top:0}#bookly-tbs .pager li>a,#bookly-tbs .pager li>span{line-height:1.4;color:#5b6470}#bookly-tbs .pager li>a:focus,#bookly-tbs .pager li>a:hover{color:#8a929e}#bookly-tbs .panel{-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .panel>.panel-collapse>.table td,#bookly-tbs .panel>.panel-collapse>.table th,#bookly-tbs .panel>.table td,#bookly-tbs .panel>.table th,#bookly-tbs .panel>.table-responsive>.table td,#bookly-tbs .panel>.table-responsive>.table th{border-color:#d9dee4}#bookly-tbs .panel-title{font-weight:700;line-height:1.5}#bookly-tbs .btn.btn-pill{border-radius:24px}#bookly-tbs .btn.btn-pill-left{border-top-left-radius:24px;border-bottom-left-radius:24px}#bookly-tbs .btn.btn-pill-right{border-top-right-radius:24px;border-bottom-right-radius:24px}#bookly-tbs .form-control.input-pill{border-radius:24px}#bookly-tbs .form-control.input-pill-left{border-top-left-radius:24px;border-bottom-left-radius:24px}#bookly-tbs .form-control.input-pill-right{border-top-right-radius:24px;border-bottom-right-radius:24px}#bookly-tbs .label.label-pill{border-radius:.9em}#bookly-tbs .label.label-pill-left{border-top-left-radius:.9em;border-bottom-left-radius:.9em}#bookly-tbs .label.label-pill-right{border-top-right-radius:.9em;border-bottom-right-radius:.9em}#bookly-tbs .progress-lg{height:42px;border-radius:6px}#bookly-tbs .progress-lg .progress-bar{line-height:42px}#bookly-tbs .progress-sm{height:10.5px;border-radius:3px}#bookly-tbs .progress-sm .progress-bar{line-height:10.5px}#bookly-tbs .progress-xs{height:5.25px;border-radius:3px}#bookly-tbs .progress-xs .progress-bar{line-height:5.25px}#bookly-tbs a:focus,#bookly-tbs a:hover{-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .social-behance{color:#1769ff!important}#bookly-tbs .social-fivehundredpix{color:#0a0100!important}#bookly-tbs .social-dribbble{color:#ea4c89!important}#bookly-tbs .social-dropbox{color:#1f8ce6!important}#bookly-tbs .social-email{color:#7f7f7f!important}#bookly-tbs .social-facebook{color:#3b5998!important}#bookly-tbs .social-flickr{color:#ff0084!important}#bookly-tbs .social-foursquare{color:#0072b1!important}#bookly-tbs .social-github{color:#4183c4!important}#bookly-tbs .social-google{color:#dd4b39!important}#bookly-tbs .social-instagram{color:#517fa4!important}#bookly-tbs .social-linkedin{color:#007bb6!important}#bookly-tbs .social-pinterest{color:#cb2027!important}#bookly-tbs .social-skype{color:#00aff0!important}#bookly-tbs .social-smugmug{color:#8cca1e!important}#bookly-tbs .social-tumblr{color:#32506d!important}#bookly-tbs .social-twitter{color:#00aced!important}#bookly-tbs .social-vimeo{color:#1ab7ea!important}#bookly-tbs .social-vk{color:#45668e!important}#bookly-tbs .social-youtube{color:#f33!important}#bookly-tbs .social-behance:hover{color:#4a8aff!important}#bookly-tbs .social-fivehundredpix:hover{color:#3d0600!important}#bookly-tbs .social-dribbble:hover{color:#ef7aa7!important}#bookly-tbs .social-dropbox:hover{color:#4da4eb!important}#bookly-tbs .social-email:hover{color:#999!important}#bookly-tbs .social-facebook:hover{color:#4c70ba!important}#bookly-tbs .social-flickr:hover{color:#ff339d!important}#bookly-tbs .social-foursquare:hover{color:#0093e4!important}#bookly-tbs .social-github:hover{color:#689cd0!important}#bookly-tbs .social-google:hover{color:#e47365!important}#bookly-tbs .social-instagram:hover{color:#7098b8!important}#bookly-tbs .social-linkedin:hover{color:#009de9!important}#bookly-tbs .social-pinterest:hover{color:#e03e44!important}#bookly-tbs .social-skype:hover{color:#24c4ff!important}#bookly-tbs .social-smugmug:hover{color:#a5e239!important}#bookly-tbs .social-tumblr:hover{color:#426a90!important}#bookly-tbs .social-twitter:hover{color:#21c2ff!important}#bookly-tbs .social-vimeo:hover{color:#49c6ee!important}#bookly-tbs .social-vk:hover{color:#587fae!important}#bookly-tbs .social-youtube:hover{color:#f66!important}#bookly-tbs .thumbnail{overflow:auto;-webkit-box-shadow:inset 0 0 0 2px #e8ebf0;box-shadow:inset 0 0 0 2px #e8ebf0}#bookly-tbs .thumbnail .caption p:last-child{margin-bottom:0}#bookly-tbs .thumbnail .caption .heading{margin:0 0 5px}#bookly-tbs blockquote p{font-family:georgia,"times new roman",times,serif;font-size:18px}#bookly-tbs p{font-size:15px}#bookly-tbs .bookly-letter-spacing-sm{letter-spacing:.05em}#bookly-tbs .bookly-letter-spacing-md{letter-spacing:.1em}#bookly-tbs .bookly-letter-spacing-lg{letter-spacing:.2em}#bookly-tbs .bookly-line-height-sm{line-height:1.53846154}#bookly-tbs .bookly-line-height-base{line-height:1.4}#bookly-tbs .bookly-line-height-lg{line-height:1.3333333}#bookly-tbs .bookly-line-height-computed{line-height:21px}#bookly-tbs .bookly-font-xs{font-size:12px}#bookly-tbs .bookly-font-sm{font-size:14px}#bookly-tbs .bookly-font-md{font-size:15px}#bookly-tbs .bookly-font-lg{font-size:20px}#bookly-tbs .bookly-font-smaller{font-size:13px;text-transform:uppercase}#bookly-tbs .bookly-font-lighter{font-weight:lighter}#bookly-tbs .bookly-font-normal{font-weight:400}#bookly-tbs .bookly-font-bold{font-weight:700}#bookly-tbs .bookly-font-serif{font-family:georgia,"times new roman",times,serif}#bookly-tbs .bookly-font-italic{font-style:italic}#bookly-tbs .bookly-text-wrap{word-wrap:break-word;white-space:normal}#bookly-tbs .bookly-inline{display:inline}#bookly-tbs .bookly-bl-ock{display:block}#bookly-tbs .bookly-inline-block{display:inline-block}#bookly-tbs .bookly-nowrap{white-space:nowrap}#bookly-tbs .bookly-break-word{word-wrap:break-word}#bookly-tbs .bookly-truncate{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .bookly-bottom-left,#bookly-tbs .bookly-bottom-right,#bookly-tbs .bookly-top-left,#bookly-tbs .bookly-top-right{position:absolute}#bookly-tbs .bookly-top-left,#bookly-tbs .bookly-top-right{top:0}#bookly-tbs .bookly-bottom-left,#bookly-tbs .bookly-bottom-right{bottom:0}#bookly-tbs .bookly-bottom-left,#bookly-tbs .bookly-top-left{left:0}#bookly-tbs .bookly-bottom-right,#bookly-tbs .bookly-top-right{right:0}#bookly-tbs .bookly-relative{position:relative}#bookly-tbs .bookly-fixed{position:fixed}#bookly-tbs .bookly-vertical-top{vertical-align:top}#bookly-tbs .bookly-vertical-middle{vertical-align:middle}#bookly-tbs .bookly-vertical-bottom{vertical-align:bottom}#bookly-tbs .bookly-margin-horizontal-remove,#bookly-tbs .bookly-margin-left-remove,#bookly-tbs .bookly-margin-remove{margin-left:0!important}#bookly-tbs .bookly-margin-horizontal-remove,#bookly-tbs .bookly-margin-remove,#bookly-tbs .bookly-margin-right-remove{margin-right:0!important}#bookly-tbs .bookly-margin-remove,#bookly-tbs .bookly-margin-top-remove,#bookly-tbs .bookly-margin-vertical-remove{margin-top:0!important}#bookly-tbs .bookly-margin-bottom-remove,#bookly-tbs .bookly-margin-remove,#bookly-tbs .bookly-margin-vertical-remove{margin-bottom:0!important}#bookly-tbs .bookly-margin-horizontal-xs,#bookly-tbs .bookly-margin-left-xs,#bookly-tbs .bookly-margin-xs{margin-left:5px!important}#bookly-tbs .bookly-margin-horizontal-xs,#bookly-tbs .bookly-margin-right-xs,#bookly-tbs .bookly-margin-xs{margin-right:5px!important}#bookly-tbs .bookly-margin-top-xs,#bookly-tbs .bookly-margin-vertical-xs,#bookly-tbs .bookly-margin-xs{margin-top:5px!important}#bookly-tbs .bookly-margin-bottom-xs,#bookly-tbs .bookly-margin-vertical-xs,#bookly-tbs .bookly-margin-xs{margin-bottom:5px!important}#bookly-tbs .bookly-margin-horizontal-sm,#bookly-tbs .bookly-margin-left-sm,#bookly-tbs .bookly-margin-sm{margin-left:10px!important}#bookly-tbs .bookly-margin-horizontal-sm,#bookly-tbs .bookly-margin-right-sm,#bookly-tbs .bookly-margin-sm{margin-right:10px!important}#bookly-tbs .bookly-margin-sm,#bookly-tbs .bookly-margin-top-sm,#bookly-tbs .bookly-margin-vertical-sm{margin-top:10px!important}#bookly-tbs .bookly-margin-bottom-sm,#bookly-tbs .bookly-margin-sm,#bookly-tbs .bookly-margin-vertical-sm{margin-bottom:10px!important}#bookly-tbs .bookly-margin-horizontal-md,#bookly-tbs .bookly-margin-left-md,#bookly-tbs .bookly-margin-md{margin-left:12px!important}#bookly-tbs .bookly-margin-horizontal-md,#bookly-tbs .bookly-margin-md,#bookly-tbs .bookly-margin-right-md{margin-right:12px!important}#bookly-tbs .bookly-margin-md,#bookly-tbs .bookly-margin-top-md,#bookly-tbs .bookly-margin-vertical-md{margin-top:12px!important}#bookly-tbs .bookly-margin-bottom-md,#bookly-tbs .bookly-margin-md,#bookly-tbs .bookly-margin-vertical-md{margin-bottom:12px!important}#bookly-tbs .bookly-margin-horizontal-lg,#bookly-tbs .bookly-margin-left-lg,#bookly-tbs .bookly-margin-lg{margin-left:16px!important}#bookly-tbs .bookly-margin-horizontal-lg,#bookly-tbs .bookly-margin-lg,#bookly-tbs .bookly-margin-right-lg{margin-right:16px!important}#bookly-tbs .bookly-margin-lg,#bookly-tbs .bookly-margin-top-lg,#bookly-tbs .bookly-margin-vertical-lg{margin-top:16px!important}#bookly-tbs .bookly-margin-bottom-lg,#bookly-tbs .bookly-margin-lg,#bookly-tbs .bookly-margin-vertical-lg{margin-bottom:16px!important}#bookly-tbs .bookly-margin-horizontal-xlg,#bookly-tbs .bookly-margin-left-xlg,#bookly-tbs .bookly-margin-xlg{margin-left:32px!important}#bookly-tbs .bookly-margin-horizontal-xlg,#bookly-tbs .bookly-margin-right-xlg,#bookly-tbs .bookly-margin-xlg{margin-right:32px!important}#bookly-tbs .bookly-margin-top-xlg,#bookly-tbs .bookly-margin-vertical-xlg,#bookly-tbs .bookly-margin-xlg{margin-top:32px!important}#bookly-tbs .bookly-margin-bottom-xlg,#bookly-tbs .bookly-margin-vertical-xlg,#bookly-tbs .bookly-margin-xlg{margin-bottom:32px!important}@media (max-width:767px){#bookly-tbs .bookly-margin-horizontal-screenxs-remove,#bookly-tbs .bookly-margin-left-screenxs-remove,#bookly-tbs .bookly-margin-screenxs-remove{margin-left:0!important}#bookly-tbs .bookly-margin-horizontal-screenxs-remove,#bookly-tbs .bookly-margin-right-screenxs-remove,#bookly-tbs .bookly-margin-screenxs-remove{margin-right:0!important}#bookly-tbs .bookly-margin-screenxs-remove,#bookly-tbs .bookly-margin-top-screenxs-remove,#bookly-tbs .bookly-margin-vertical-screenxs-remove{margin-top:0!important}#bookly-tbs .bookly-margin-bottom-screenxs-remove,#bookly-tbs .bookly-margin-screenxs-remove,#bookly-tbs .bookly-margin-vertical-screenxs-remove{margin-bottom:0!important}#bookly-tbs .bookly-margin-horizontal-screenxs-xs,#bookly-tbs .bookly-margin-left-screenxs-xs,#bookly-tbs .bookly-margin-screenxs-xs{margin-left:5px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-xs,#bookly-tbs .bookly-margin-right-screenxs-xs,#bookly-tbs .bookly-margin-screenxs-xs{margin-right:5px!important}#bookly-tbs .bookly-margin-screenxs-xs,#bookly-tbs .bookly-margin-top-screenxs-xs,#bookly-tbs .bookly-margin-vertical-screenxs-xs{margin-top:5px!important}#bookly-tbs .bookly-margin-bottom-screenxs-xs,#bookly-tbs .bookly-margin-screenxs-xs,#bookly-tbs .bookly-margin-vertical-screenxs-xs{margin-bottom:5px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-sm,#bookly-tbs .bookly-margin-left-screenxs-sm,#bookly-tbs .bookly-margin-screenxs-sm{margin-left:10px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-sm,#bookly-tbs .bookly-margin-right-screenxs-sm,#bookly-tbs .bookly-margin-screenxs-sm{margin-right:10px!important}#bookly-tbs .bookly-margin-screenxs-sm,#bookly-tbs .bookly-margin-top-screenxs-sm,#bookly-tbs .bookly-margin-vertical-screenxs-sm{margin-top:10px!important}#bookly-tbs .bookly-margin-bottom-screenxs-sm,#bookly-tbs .bookly-margin-screenxs-sm,#bookly-tbs .bookly-margin-vertical-screenxs-sm{margin-bottom:10px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-md,#bookly-tbs .bookly-margin-left-screenxs-md,#bookly-tbs .bookly-margin-screenxs-md{margin-left:12px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-md,#bookly-tbs .bookly-margin-right-screenxs-md,#bookly-tbs .bookly-margin-screenxs-md{margin-right:12px!important}#bookly-tbs .bookly-margin-screenxs-md,#bookly-tbs .bookly-margin-top-screenxs-md,#bookly-tbs .bookly-margin-vertical-screenxs-md{margin-top:12px!important}#bookly-tbs .bookly-margin-bottom-screenxs-md,#bookly-tbs .bookly-margin-screenxs-md,#bookly-tbs .bookly-margin-vertical-screenxs-md{margin-bottom:12px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-lg,#bookly-tbs .bookly-margin-left-screenxs-lg,#bookly-tbs .bookly-margin-screenxs-lg{margin-left:16px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-lg,#bookly-tbs .bookly-margin-right-screenxs-lg,#bookly-tbs .bookly-margin-screenxs-lg{margin-right:16px!important}#bookly-tbs .bookly-margin-screenxs-lg,#bookly-tbs .bookly-margin-top-screenxs-lg,#bookly-tbs .bookly-margin-vertical-screenxs-lg{margin-top:16px!important}#bookly-tbs .bookly-margin-bottom-screenxs-lg,#bookly-tbs .bookly-margin-screenxs-lg,#bookly-tbs .bookly-margin-vertical-screenxs-lg{margin-bottom:16px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-xlg,#bookly-tbs .bookly-margin-left-screenxs-xlg,#bookly-tbs .bookly-margin-screenxs-xlg{margin-left:32px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-xlg,#bookly-tbs .bookly-margin-right-screenxs-xlg,#bookly-tbs .bookly-margin-screenxs-xlg{margin-right:32px!important}#bookly-tbs .bookly-margin-screenxs-xlg,#bookly-tbs .bookly-margin-top-screenxs-xlg,#bookly-tbs .bookly-margin-vertical-screenxs-xlg{margin-top:32px!important}#bookly-tbs .bookly-margin-bottom-screenxs-xlg,#bookly-tbs .bookly-margin-screenxs-xlg,#bookly-tbs .bookly-margin-vertical-screenxs-xlg{margin-bottom:32px!important}}@media (min-width:768px){#bookly-tbs .bookly-margin-horizontal-screensm-remove,#bookly-tbs .bookly-margin-left-screensm-remove,#bookly-tbs .bookly-margin-screensm-remove{margin-left:0!important}#bookly-tbs .bookly-margin-horizontal-screensm-remove,#bookly-tbs .bookly-margin-right-screensm-remove,#bookly-tbs .bookly-margin-screensm-remove{margin-right:0!important}#bookly-tbs .bookly-margin-screensm-remove,#bookly-tbs .bookly-margin-top-screensm-remove,#bookly-tbs .bookly-margin-vertical-screensm-remove{margin-top:0!important}#bookly-tbs .bookly-margin-bottom-screensm-remove,#bookly-tbs .bookly-margin-screensm-remove,#bookly-tbs .bookly-margin-vertical-screensm-remove{margin-bottom:0!important}#bookly-tbs .bookly-margin-horizontal-screensm-xs,#bookly-tbs .bookly-margin-left-screensm-xs,#bookly-tbs .bookly-margin-screensm-xs{margin-left:5px!important}#bookly-tbs .bookly-margin-horizontal-screensm-xs,#bookly-tbs .bookly-margin-right-screensm-xs,#bookly-tbs .bookly-margin-screensm-xs{margin-right:5px!important}#bookly-tbs .bookly-margin-screensm-xs,#bookly-tbs .bookly-margin-top-screensm-xs,#bookly-tbs .bookly-margin-vertical-screensm-xs{margin-top:5px!important}#bookly-tbs .bookly-margin-bottom-screensm-xs,#bookly-tbs .bookly-margin-screensm-xs,#bookly-tbs .bookly-margin-vertical-screensm-xs{margin-bottom:5px!important}#bookly-tbs .bookly-margin-horizontal-screensm-sm,#bookly-tbs .bookly-margin-left-screensm-sm,#bookly-tbs .bookly-margin-screensm-sm{margin-left:10px!important}#bookly-tbs .bookly-margin-horizontal-screensm-sm,#bookly-tbs .bookly-margin-right-screensm-sm,#bookly-tbs .bookly-margin-screensm-sm{margin-right:10px!important}#bookly-tbs .bookly-margin-screensm-sm,#bookly-tbs .bookly-margin-top-screensm-sm,#bookly-tbs .bookly-margin-vertical-screensm-sm{margin-top:10px!important}#bookly-tbs .bookly-margin-bottom-screensm-sm,#bookly-tbs .bookly-margin-screensm-sm,#bookly-tbs .bookly-margin-vertical-screensm-sm{margin-bottom:10px!important}#bookly-tbs .bookly-margin-horizontal-screensm-md,#bookly-tbs .bookly-margin-left-screensm-md,#bookly-tbs .bookly-margin-screensm-md{margin-left:12px!important}#bookly-tbs .bookly-margin-horizontal-screensm-md,#bookly-tbs .bookly-margin-right-screensm-md,#bookly-tbs .bookly-margin-screensm-md{margin-right:12px!important}#bookly-tbs .bookly-margin-screensm-md,#bookly-tbs .bookly-margin-top-screensm-md,#bookly-tbs .bookly-margin-vertical-screensm-md{margin-top:12px!important}#bookly-tbs .bookly-margin-bottom-screensm-md,#bookly-tbs .bookly-margin-screensm-md,#bookly-tbs .bookly-margin-vertical-screensm-md{margin-bottom:12px!important}#bookly-tbs .bookly-margin-horizontal-screensm-lg,#bookly-tbs .bookly-margin-left-screensm-lg,#bookly-tbs .bookly-margin-screensm-lg{margin-left:16px!important}#bookly-tbs .bookly-margin-horizontal-screensm-lg,#bookly-tbs .bookly-margin-right-screensm-lg,#bookly-tbs .bookly-margin-screensm-lg{margin-right:16px!important}#bookly-tbs .bookly-margin-screensm-lg,#bookly-tbs .bookly-margin-top-screensm-lg,#bookly-tbs .bookly-margin-vertical-screensm-lg{margin-top:16px!important}#bookly-tbs .bookly-margin-bottom-screensm-lg,#bookly-tbs .bookly-margin-screensm-lg,#bookly-tbs .bookly-margin-vertical-screensm-lg{margin-bottom:16px!important}#bookly-tbs .bookly-margin-horizontal-screensm-xlg,#bookly-tbs .bookly-margin-left-screensm-xlg,#bookly-tbs .bookly-margin-screensm-xlg{margin-left:32px!important}#bookly-tbs .bookly-margin-horizontal-screensm-xlg,#bookly-tbs .bookly-margin-right-screensm-xlg,#bookly-tbs .bookly-margin-screensm-xlg{margin-right:32px!important}#bookly-tbs .bookly-margin-screensm-xlg,#bookly-tbs .bookly-margin-top-screensm-xlg,#bookly-tbs .bookly-margin-vertical-screensm-xlg{margin-top:32px!important}#bookly-tbs .bookly-margin-bottom-screensm-xlg,#bookly-tbs .bookly-margin-screensm-xlg,#bookly-tbs .bookly-margin-vertical-screensm-xlg{margin-bottom:32px!important}}@media (min-width:992px){#bookly-tbs .bookly-margin-horizontal-screenmd-remove,#bookly-tbs .bookly-margin-left-screenmd-remove,#bookly-tbs .bookly-margin-screenmd-remove{margin-left:0!important}#bookly-tbs .bookly-margin-horizontal-screenmd-remove,#bookly-tbs .bookly-margin-right-screenmd-remove,#bookly-tbs .bookly-margin-screenmd-remove{margin-right:0!important}#bookly-tbs .bookly-margin-screenmd-remove,#bookly-tbs .bookly-margin-top-screenmd-remove,#bookly-tbs .bookly-margin-vertical-screenmd-remove{margin-top:0!important}#bookly-tbs .bookly-margin-bottom-screenmd-remove,#bookly-tbs .bookly-margin-screenmd-remove,#bookly-tbs .bookly-margin-vertical-screenmd-remove{margin-bottom:0!important}#bookly-tbs .bookly-margin-horizontal-screenmd-xs,#bookly-tbs .bookly-margin-left-screenmd-xs,#bookly-tbs .bookly-margin-screenmd-xs{margin-left:5px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-xs,#bookly-tbs .bookly-margin-right-screenmd-xs,#bookly-tbs .bookly-margin-screenmd-xs{margin-right:5px!important}#bookly-tbs .bookly-margin-screenmd-xs,#bookly-tbs .bookly-margin-top-screenmd-xs,#bookly-tbs .bookly-margin-vertical-screenmd-xs{margin-top:5px!important}#bookly-tbs .bookly-margin-bottom-screenmd-xs,#bookly-tbs .bookly-margin-screenmd-xs,#bookly-tbs .bookly-margin-vertical-screenmd-xs{margin-bottom:5px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-sm,#bookly-tbs .bookly-margin-left-screenmd-sm,#bookly-tbs .bookly-margin-screenmd-sm{margin-left:10px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-sm,#bookly-tbs .bookly-margin-right-screenmd-sm,#bookly-tbs .bookly-margin-screenmd-sm{margin-right:10px!important}#bookly-tbs .bookly-margin-screenmd-sm,#bookly-tbs .bookly-margin-top-screenmd-sm,#bookly-tbs .bookly-margin-vertical-screenmd-sm{margin-top:10px!important}#bookly-tbs .bookly-margin-bottom-screenmd-sm,#bookly-tbs .bookly-margin-screenmd-sm,#bookly-tbs .bookly-margin-vertical-screenmd-sm{margin-bottom:10px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-md,#bookly-tbs .bookly-margin-left-screenmd-md,#bookly-tbs .bookly-margin-screenmd-md{margin-left:12px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-md,#bookly-tbs .bookly-margin-right-screenmd-md,#bookly-tbs .bookly-margin-screenmd-md{margin-right:12px!important}#bookly-tbs .bookly-margin-screenmd-md,#bookly-tbs .bookly-margin-top-screenmd-md,#bookly-tbs .bookly-margin-vertical-screenmd-md{margin-top:12px!important}#bookly-tbs .bookly-margin-bottom-screenmd-md,#bookly-tbs .bookly-margin-screenmd-md,#bookly-tbs .bookly-margin-vertical-screenmd-md{margin-bottom:12px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-lg,#bookly-tbs .bookly-margin-left-screenmd-lg,#bookly-tbs .bookly-margin-screenmd-lg{margin-left:16px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-lg,#bookly-tbs .bookly-margin-right-screenmd-lg,#bookly-tbs .bookly-margin-screenmd-lg{margin-right:16px!important}#bookly-tbs .bookly-margin-screenmd-lg,#bookly-tbs .bookly-margin-top-screenmd-lg,#bookly-tbs .bookly-margin-vertical-screenmd-lg{margin-top:16px!important}#bookly-tbs .bookly-margin-bottom-screenmd-lg,#bookly-tbs .bookly-margin-screenmd-lg,#bookly-tbs .bookly-margin-vertical-screenmd-lg{margin-bottom:16px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-xlg,#bookly-tbs .bookly-margin-left-screenmd-xlg,#bookly-tbs .bookly-margin-screenmd-xlg{margin-left:32px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-xlg,#bookly-tbs .bookly-margin-right-screenmd-xlg,#bookly-tbs .bookly-margin-screenmd-xlg{margin-right:32px!important}#bookly-tbs .bookly-margin-screenmd-xlg,#bookly-tbs .bookly-margin-top-screenmd-xlg,#bookly-tbs .bookly-margin-vertical-screenmd-xlg{margin-top:32px!important}#bookly-tbs .bookly-margin-bottom-screenmd-xlg,#bookly-tbs .bookly-margin-screenmd-xlg,#bookly-tbs .bookly-margin-vertical-screenmd-xlg{margin-bottom:32px!important}}#bookly-tbs .bookly-padding-horizontal-remove,#bookly-tbs .bookly-padding-left-remove,#bookly-tbs .bookly-padding-remove{padding-left:0!important}#bookly-tbs .bookly-padding-horizontal-remove,#bookly-tbs .bookly-padding-remove,#bookly-tbs .bookly-padding-right-remove{padding-right:0!important}#bookly-tbs .bookly-padding-remove,#bookly-tbs .bookly-padding-top-remove,#bookly-tbs .bookly-padding-vertical-remove{padding-top:0!important}#bookly-tbs .bookly-padding-bottom-remove,#bookly-tbs .bookly-padding-remove,#bookly-tbs .bookly-padding-vertical-remove{padding-bottom:0!important}#bookly-tbs .bookly-padding-horizontal-xs,#bookly-tbs .bookly-padding-left-xs,#bookly-tbs .bookly-padding-xs{padding-left:5px!important}#bookly-tbs .bookly-padding-horizontal-xs,#bookly-tbs .bookly-padding-right-xs,#bookly-tbs .bookly-padding-xs{padding-right:5px!important}#bookly-tbs .bookly-padding-top-xs,#bookly-tbs .bookly-padding-vertical-xs,#bookly-tbs .bookly-padding-xs{padding-top:5px!important}#bookly-tbs .bookly-padding-bottom-xs,#bookly-tbs .bookly-padding-vertical-xs,#bookly-tbs .bookly-padding-xs{padding-bottom:5px!important}#bookly-tbs .bookly-padding-horizontal-sm,#bookly-tbs .bookly-padding-left-sm,#bookly-tbs .bookly-padding-sm{padding-left:10px!important}#bookly-tbs .bookly-padding-horizontal-sm,#bookly-tbs .bookly-padding-right-sm,#bookly-tbs .bookly-padding-sm{padding-right:10px!important}#bookly-tbs .bookly-padding-sm,#bookly-tbs .bookly-padding-top-sm,#bookly-tbs .bookly-padding-vertical-sm{padding-top:10px!important}#bookly-tbs .bookly-padding-bottom-sm,#bookly-tbs .bookly-padding-sm,#bookly-tbs .bookly-padding-vertical-sm{padding-bottom:10px!important}#bookly-tbs .bookly-padding-horizontal-md,#bookly-tbs .bookly-padding-left-md,#bookly-tbs .bookly-padding-md{padding-left:12px!important}#bookly-tbs .bookly-padding-horizontal-md,#bookly-tbs .bookly-padding-md,#bookly-tbs .bookly-padding-right-md{padding-right:12px!important}#bookly-tbs .bookly-padding-md,#bookly-tbs .bookly-padding-top-md,#bookly-tbs .bookly-padding-vertical-md{padding-top:12px!important}#bookly-tbs .bookly-padding-bottom-md,#bookly-tbs .bookly-padding-md,#bookly-tbs .bookly-padding-vertical-md{padding-bottom:12px!important}#bookly-tbs .bookly-padding-horizontal-lg,#bookly-tbs .bookly-padding-left-lg,#bookly-tbs .bookly-padding-lg{padding-left:16px!important}#bookly-tbs .bookly-padding-horizontal-lg,#bookly-tbs .bookly-padding-lg,#bookly-tbs .bookly-padding-right-lg{padding-right:16px!important}#bookly-tbs .bookly-padding-lg,#bookly-tbs .bookly-padding-top-lg,#bookly-tbs .bookly-padding-vertical-lg{padding-top:16px!important}#bookly-tbs .bookly-padding-bottom-lg,#bookly-tbs .bookly-padding-lg,#bookly-tbs .bookly-padding-vertical-lg{padding-bottom:16px!important}#bookly-tbs .bookly-padding-horizontal-xlg,#bookly-tbs .bookly-padding-left-xlg,#bookly-tbs .bookly-padding-xlg{padding-left:32px!important}#bookly-tbs .bookly-padding-horizontal-xlg,#bookly-tbs .bookly-padding-right-xlg,#bookly-tbs .bookly-padding-xlg{padding-right:32px!important}#bookly-tbs .bookly-padding-top-xlg,#bookly-tbs .bookly-padding-vertical-xlg,#bookly-tbs .bookly-padding-xlg{padding-top:32px!important}#bookly-tbs .bookly-padding-bottom-xlg,#bookly-tbs .bookly-padding-vertical-xlg,#bookly-tbs .bookly-padding-xlg{padding-bottom:32px!important}#bookly-tbs .bookly-flexbox{display:table;width:100%;max-width:100%;height:100%}#bookly-tbs .bookly-flexbox .bookly-flex-row{display:table-row}#bookly-tbs .bookly-flexbox .bookly-flex-cell{display:table-cell;height:100%;word-wrap:break-word}@media (min-width:992px){#bookly-tbs .bookly-flexbox .bookly-flex-cell-sm{display:table-cell;height:100%;word-wrap:break-word}}#bookly-tbs .bookly-bg-transparent{background-color:transparent}#bookly-tbs .bookly-bg-white{background-color:#fff}#bookly-tbs .bookly-color-white{color:#fff}#bookly-tbs .bookly-bg-black{background-color:#000}#bookly-tbs .bookly-color-black{color:#000}#bookly-tbs .bookly-bg-gray{background-color:#8a929e}#bookly-tbs .bookly-color-gray{color:#8a929e}#bookly-tbs .bookly-bg-light{background-color:#d9dee4}#bookly-tbs .bookly-color-light{color:#d9dee4}#bookly-tbs .bookly-bg-brand-primary{background-color:#08c}#bookly-tbs .bookly-color-brand-primary{color:#08c}#bookly-tbs .bookly-bg-brand-success{background-color:#5cb85c}#bookly-tbs .bookly-color-brand-success{color:#5cb85c}#bookly-tbs .bookly-bg-brand-info{background-color:#5bc0de}#bookly-tbs .bookly-color-brand-info{color:#5bc0de}#bookly-tbs .bookly-bg-brand-warning{background-color:#f0ad4e}#bookly-tbs .bookly-color-brand-warning{color:#f0ad4e}#bookly-tbs .bookly-bg-brand-danger{background-color:#d9534f}#bookly-tbs .bookly-color-brand-danger{color:#d9534f}#bookly-tbs .bookly-cursor-pointer{cursor:pointer}#bookly-tbs .bookly-cursor-move{cursor:move}@media (max-width:767px){#bookly-tbs .bookly-text-xs-center{text-align:center!important}#bookly-tbs .bookly-text-xs-left{text-align:left!important}#bookly-tbs .bookly-text-xs-right{text-align:right!important}#bookly-tbs .bookly-btn-block-xs{display:block;width:100%}}#bookly-tbs table.dataTable{max-width:none!important;margin-top:6px!important;margin-bottom:6px!important;clear:both;border-collapse:separate!important}#bookly-tbs table.dataTable td,#bookly-tbs table.dataTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;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{display:inline-block;width:75px}#bookly-tbs div.dataTables_wrapper div.dataTables_filter{text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_filter label{font-weight:400;text-align:left;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_filter input{display:inline-block;width:auto;margin-left:.5em}#bookly-tbs div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{margin:0;text-align:right;white-space:nowrap}#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;padding:1em 0;margin-top:-26px;margin-left:-100px;text-align:center}#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{position:relative;cursor:pointer}#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{position:absolute;right:8px;bottom:-webkit-calc(50% - 9px);bottom:calc(50% - 9px);display:block;font-family:'Glyphicons Halflings';font-size:12px;opacity:.5}#bookly-tbs table.dataTable thead .sorting:after{content:"\e150";opacity:.2}#bookly-tbs table.dataTable thead .sorting_asc:after{content:"\e155"}#bookly-tbs table.dataTable thead .sorting_desc:after{content:"\e156"}#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{color:#eee}#bookly-tbs div.dataTables_scrollHead table.dataTable{margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table{margin-top:0!important;margin-bottom:0!important;border-top:none}#bookly-tbs div.dataTables_scrollBody table thead .sorting:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:after{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 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-condensed>thead>tr>th{padding-right:20px}#bookly-tbs table.dataTable.table-condensed .sorting:after,#bookly-tbs table.dataTable.table-condensed .sorting_asc:after,#bookly-tbs table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}#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.row{margin:0}#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.row>div[class^=col-]:last-child{padding-right:0}#bookly-tbs div.dt-button-info{position:fixed;top:50%;left:50%;z-index:21;width:400px;margin-top:-100px;margin-left:-200px;text-align:center;background-color:#fff;border:2px solid #111;border-radius:3px;-webkit-box-shadow:3px 3px 8px rgba(0,0,0,.3);box-shadow:3px 3px 8px rgba(0,0,0,.3)}#bookly-tbs div.dt-button-info h2{padding:.5em;margin:0;font-weight:400;background-color:#f3f3f3;border-bottom:1px solid #ddd}#bookly-tbs div.dt-button-info>div{padding:1em}#bookly-tbs ul.dt-button-collection.dropdown-menu{z-index:2002;display:block;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}#bookly-tbs ul.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}#bookly-tbs ul.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}#bookly-tbs ul.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}#bookly-tbs ul.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}#bookly-tbs ul.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}#bookly-tbs ul.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}#bookly-tbs ul.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}#bookly-tbs ul.dt-button-collection.dropdown-menu.four-column{width:600px;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-background{position:fixed;top:0;left:0;z-index:2001;width:100%;height:100%}@media screen and (max-width:767px){#bookly-tbs div.dt-buttons{float:none;width:100%;margin-bottom:.5em;text-align:center}#bookly-tbs div.dt-buttons a.btn{float:none}}#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>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child{position:relative;padding-left:30px;cursor:pointer}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child:before{position:absolute;top:9px;left:4px;display:block;width:18px;height:18px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;font-family:'Courier New',Courier,monospace;font-size:18px;font-weight:700;line-height:18px;color:#5b6470;text-align:center;content:'+';background-color:transparent;border:0;border-radius:18px;-webkit-box-shadow:0 0 2px #5b6470;box-shadow:0 0 2px #5b6470}#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:transparent}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.child td:before{display:none}#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;width:14px;height:14px;line-height:14px;text-indent:3px;border-radius:14px}#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{position:absolute;top:50%;left:50%;display:block;width:16px;height:16px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;margin-top:-10px;margin-left:-10px;font-family:'Courier New',Courier,monospace;line-height:14px;color:#fff;text-align:center;content:'+';background-color:#337ab7;border:2px solid #fff;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444}#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{display:inline-block;width:100%;padding:0;margin:0;list-style-type:none}#bookly-tbs table.dataTable>tbody>tr.child ul li{padding:.3em 0;margin-bottom:.3em;border-bottom:1px solid #efefef}#bookly-tbs table.dataTable>tbody>tr.child ul li:first-child{padding-top:0}#bookly-tbs table.dataTable>tbody>tr.child ul 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;top:0;left:0;z-index:100;width:100%;height:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:10em 1em}#bookly-tbs div.dtr-modal div.dtr-modal-display{position:absolute;top:0;right:0;bottom:0;left:0;z-index:102;width:50%;height:50%;margin:auto;overflow:auto;background-color:#f5f5f7;border:1px solid #000;border-radius:.5em;-webkit-box-shadow:0 12px 30px rgba(0,0,0,.6);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;z-index:12;width:22px;height:22px;text-align:center;cursor:pointer;background-color:#f9f9f9;border:1px solid #eaeaea;border-radius:3px}#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;right:0;bottom:0;left: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;z-index:2001;table-layout:fixed;outline:2px solid #337ab7;outline-offset:-2px;opacity:.8}#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 .jCal-wrap{margin-right:-10px;margin-left:-10px}#bookly-tbs .jCal{position:relative;width:100%}#bookly-tbs .jCalMo{position:relative;display:block;padding:0 15px;margin-bottom:15px;white-space:nowrap}@media (min-width:768px){#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{width:100%;padding:10px 0;font-weight:700;text-align:center}#bookly-tbs .jCal .monthYear{float:right;text-align:left}#bookly-tbs .jCal .month{width:100%}#bookly-tbs .jCal .monthSelect{background:#e8ebf0}#bookly-tbs .jCal .monthSelector{position:absolute}#bookly-tbs .jCal .monthSelectorShadow{position:absolute;padding:0;background:#8a929e}#bookly-tbs .jCal .monthNameHover,#bookly-tbs .jCal .monthYearHover{color:#8a929e;background:#e8ebf0}#bookly-tbs .jCal .monthSelectHover{color:#fff;background:#08c}#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:-webkit-calc(14.2857% + 1px);width:calc(14.2857% + 1px);margin-right:-1px;text-align:center;cursor:default;border:1px solid #e8ebf0;border-width:0 1px 1px 1px}#bookly-tbs .jCalMo .dow{font-size:12px;line-height:30px;background:#e8ebf0;border-bottom:0}#bookly-tbs .jCalMo .day{font-size:13px;line-height:30px;cursor:pointer;background:#fff}#bookly-tbs .jCalMo .invday{color:#8a929e;text-decoration:line-through;background:#e8ebf0}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .pday{font-size:13px;line-height:30px;color:#d9dee4;background:rgba(232,235,240,.3)}#bookly-tbs .jCalMo .overDay{color:#3e424a;background:rgba(0,136,204,.2)}#bookly-tbs .jCalMo .holidayDay{color:#fff;background:#f0ad4e}#bookly-tbs .jCalMo .holidayDay.repeatDay{color:#fff;background:#d9534f}#bookly-tbs .jCalMo .selectedDay,#bookly-tbs .jCalMo .selectedDay.repeatDay{color:#fff;background:#08c}#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;width:700px;height:930px;overflow:hidden}@media (min-width:768px){#bookly-tbs .jCalMo{float:left;width:50%}}@media (min-width:1200px){#bookly-tbs .jCalMo{float:left;width:33.33333333%}}#bookly-tbs .bookly-loading{position:relative;height:100px}#bookly-tbs .bookly-loading:before{position:absolute;top:-webkit-calc(50% - 16px);top:calc(50% - 16px);left:-webkit-calc(50% - 16px);left:calc(50% - 16px);width:32px;height:32px;content:'';background:url(../../images/ajax_loader_32x32.gif) no-repeat;-webkit-background-size:contain;background-size:contain}#bookly-tbs .bookly-loading-16{position:relative;display:inline-block;min-width:16px;min-height:16px}#bookly-tbs .bookly-loading-16:before{position:absolute;top:-webkit-calc(50% - 8px);top:calc(50% - 8px);left:-webkit-calc(50% - 8px);left:calc(50% - 8px);width:16px;height:16px;content:'';background:url(../../images/loading.gif) no-repeat;-webkit-background-size:contain;background-size:contain}#bookly-tbs .select2 .select2-selection{height:35px!important;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .select2 .select2-selection__choice{display:none}#bookly-tbs .select2 .select2-selection ul{padding:0 16px;margin-bottom:0}#bookly-tbs .select2 .select2-search{float:none;margin:6px 0}#bookly-tbs .select2 .select2-search__field{width:100%!important;padding:0;margin:0;border:0;-webkit-box-shadow:none!important;box-shadow:none!important}#bookly-tbs .select2 .select2-selection__clear{top:-2px}#bookly-tbs .select2 .select2-selection__arrow{top:-4px}#bookly-tbs .bookly-no-borders,#bookly-tbs .bookly-no-borders td{border:0!important}#bookly-tbs .panel.bookly-main{border-color:#d9dee4;border-width:1px}@media (min-width:992px){#bookly-tbs .panel.bookly-main>.panel-body{padding:25px}}#bookly-tbs .panel.bookly-main .panel-body+.panel-footer{margin:0 15px 15px}@media (min-width:992px){#bookly-tbs .panel.bookly-main .panel-body+.panel-footer{margin:0 25px 25px}}#bookly-tbs .panel.bookly-panel-unborder,#bookly-tbs .panel.bookly-panel-unborder .panel-heading,#bookly-tbs .panel.bookly-panel-unborder>.list-group .list-group-item,#bookly-tbs .panel.bookly-panel-unborder>.panel-collapse>.list-group .list-group-item{border-width:0}#bookly-tbs .panel.bookly-panel-unborder .panel-heading{border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel .panel-heading .bookly-font-smaller{padding-top:4px}#bookly-tbs .panel .panel-footer{padding:21px 0 0 0;background-color:transparent}@media (min-width:768px){#bookly-tbs .panel .panel-footer{text-align:right}}@media (max-width:767px){#bookly-tbs .panel .panel-footer .btn{float:none!important}}#bookly-tbs .panel .panel-body .bookly-codes input{width:242px;border:none}#bookly-tbs .panel .panel-body #bookly-prices tr td:nth-child(4),#bookly-tbs .panel .panel-body #bookly-prices tr td:nth-child(5){text-align:right}#bookly-tbs .panel .padding-lr-none{padding-right:0;padding-left:0}#bookly-tbs .panel .panel-group .panel-footer{border-top:1px solid #e8ebf0}#bookly-tbs .bookly-collapse{margin-bottom:16px!important}#bookly-tbs .bookly-collapse a[data-toggle=collapse]{padding-right:25px;vertical-align:middle;background:url(../../../resources/images/notifications-arrow-up.png) 100% 50% no-repeat;-webkit-background-size:17px 17px!important;background-size:17px 17px!important;outline:0;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed{background:url(../../../resources/images/notifications-arrow-down.png) 100% 50% no-repeat}#bookly-tbs .help-block{margin-top:-5px;margin-bottom:7px}@media (min-width:768px){#bookly-tbs .form-inline .form-group+.form-group,#bookly-tbs .modal-footer .btn+.btn,#bookly-tbs .page-header .bookly-support-panel>*+*,#bookly-tbs .page-header .popover+.btn,#bookly-tbs .panel-footer .btn+.btn:not(.bookly-btn-unborder){margin-left:12px}}#bookly-tbs .bookly-block-head{margin-bottom:20px}#bookly-tbs .intl-tel-input{display:block}#bookly-tbs .intl-tel-input .flag-container{right:0;left:0}#bookly-tbs .intl-tel-input .selected-flag{width:42px;padding:0 0 0 8px}#bookly-tbs .intl-tel-input .selected-flag .arrow{right:4px;left:auto;border-top:4px solid #000;border-right:3px solid transparent;border-left:3px solid transparent}#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 (-o-min-device-pixel-ratio:2/1),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 .form-inline label{margin-bottom:0}#bookly-tbs .form-inline .intl-tel-input{display:inline-block}#bookly-tbs .form-inline .bookly-checkbox-text{font-weight:400;vertical-align:middle}#bookly-tbs .page-header{margin-top:0}#bookly-tbs .page-header .bookly-support-panel #bookly-bell+.badge{position:absolute;top:-17px;right:7px;background-color:red}#bookly-tbs .page-header .bookly-support-panel .dropdown-menu-right{margin-top:10px;margin-right:3px}#bookly-tbs .bookly-nav-justified.nav-justified{display:table;margin-bottom:30px;table-layout:fixed}#bookly-tbs .bookly-nav-justified.nav-justified>li{display:table-cell;width:100%}#bookly-tbs .bookly-nav-justified.nav-justified>li>a{padding:15px 5px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #d9dee4;border-radius:0}#bookly-tbs .bookly-nav-justified.nav-justified>li>.active>a,#bookly-tbs .bookly-nav-justified.nav-justified>li>.active>a:focus,#bookly-tbs .bookly-nav-justified.nav-justified>li>.active>a:hover{border-bottom:1px solid #08c}#bookly-tbs .bookly-nav-justified.nav-justified>li .bookly-icon{margin:0 3px;vertical-align:bottom}#bookly-tbs .bookly-nav-tabs-title{font-size:17px}@media (max-width:991px){#bookly-tbs .bookly-nav-tabs-title{display:none}}#bookly-tbs .bookly-thumb{position:relative;display:block;width:76px;height:76px;overflow:hidden;background-color:#e8ebf0;background-image:url(../../../../backend/resources/images/sprite.png);background-repeat:no-repeat;background-position:-106px 0;border:1px solid #d9dee4;border-radius:4px}#bookly-tbs .bookly-thumb.bookly-thumb-sm{width:36px;height:36px;background-position:-182px 0}@media (min-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg{width:106px;height:106px;background-position:0 0}}@media (max-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg{background-position:0 0}}#bookly-tbs .bookly-thumb.bookly-thumb-lg-w100{background-color:rgba(0,0,0,.05);background-image:none}@media (min-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg-w100{width:106px;height:106px;background-position:0 0}}@media (max-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg-w100{background-position:0 0}}@media (min-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg-w100{width:100%}}#bookly-tbs .bookly-thumb .bookly-thumb-delete{position:absolute;top:5px;right:5px}#bookly-tbs .bookly-thumb .bookly-thumb-edit{position:absolute;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.4)}#bookly-tbs .bookly-thumb .bookly-thumb-edit .bookly-thumb-edit-btn{width:100%;padding:0 3px;margin:0;overflow:hidden;font-size:13px;line-height:25px;color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .bookly-staff-archived{background:rgba(232,235,240,.7)!important}#bookly-tbs .bookly-staff-archived .bookly-flex-cell{color:#d9dee4}#bookly-tbs .bookly-staff-archived .bookly-rating-right{color:#d9dee4}#bookly-tbs .btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .btn.btn-lg{padding-right:32px;padding-left:32px}#bookly-tbs .btn.btn-xlg .dashicons,#bookly-tbs .btn.btn-xlg .dashicons-before:before{width:30px;height:30px;font-size:30px}#bookly-tbs .btn.bookly-btn-unborder{padding-right:0;padding-left:0;border-color:transparent}#bookly-tbs .bookly-nav{margin-bottom:20px;font-size:0}#bookly-tbs .bookly-nav.bookly-nav-pills .bookly-nav-item{display:inline-block;margin:6px 10px 6px 0}#bookly-tbs .bookly-nav.bookly-nav-tabs{z-index:10;border-bottom:1px solid #e8ebf0}@media (min-width:768px){#bookly-tbs .bookly-nav.bookly-nav-tabs{margin-bottom:0}}@media (min-width:768px){#bookly-tbs .bookly-nav.bookly-nav-tabs .bookly-nav-item{position:relative;display:inline-block;padding:12px 16px;margin:6px 10px -1px 0;border-bottom-right-radius:0;border-bottom-left-radius:0}}#bookly-tbs .bookly-nav .bookly-nav-item{position:relative;display:block;padding:10px 10px;margin-bottom:6px;font-size:15px;background:#fff;border:1px solid #e8ebf0;border-radius:4px}#bookly-tbs .bookly-nav .bookly-nav-item.active{color:#fff;background:#08c;border-color:#08c}#bookly-tbs .bookly-nav .bookly-nav-item.active a{color:#fff}#bookly-tbs .bookly-nav .bookly-nav-item.active a:focus,#bookly-tbs .bookly-nav .bookly-nav-item.active a:hover{color:#d9d9d9}#bookly-tbs .bookly-nav .bookly-nav-item:not(.active):focus,#bookly-tbs .bookly-nav .bookly-nav-item:not(.active):hover{cursor:pointer;background-color:#e8ebf0;border-color:#8a929e;-webkit-box-shadow:0 0 5px rgba(0,0,0,.2);box-shadow:0 0 5px rgba(0,0,0,.2)}#bookly-tbs .board-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.5)}#bookly-tbs .board-backdrop .bookly-board{width:50%;padding:20px;margin:10% 25%;background-color:#fefefe;border:1px solid rgba(0,0,0,.2)}@media (max-width:991px){#bookly-tbs .board-backdrop .bookly-board{width:90%;margin:10% 5%}}#bookly-tbs .board-backdrop .bookly-board .btn-group-vertical.align-left .btn{padding-left:6px;text-align:left}#bookly-tbs .board-backdrop .bookly-board ul{margin-left:15px!important;list-style:inside!important}#bookly-tbs .bookly-dropdown-menu>li:first-child{margin-left:0}#bookly-tbs .bookly-dropdown-menu li{margin-left:20px}#bookly-tbs .bookly-dropdown-menu ul>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.4;color:#5b6470;white-space:nowrap}#bookly-tbs .bookly-dropdown-menu ul>li>a:focus,#bookly-tbs .bookly-dropdown-menu ul>li>a:hover{color:#505762;text-decoration:none;background-color:#f5f5f5}#bookly-tbs .bookly-dropdown-block{display:block;width:100%;height:36px;line-height:1.4}#bookly-tbs .bookly-dropdown-block .bookly-flex-cell:last-child{position:absolute;top:7px;left:-webkit-calc(100% - 32px);left:calc(100% - 32px)}#bookly-tbs .bookly-service-color{display:inline-block;width:21px;height:21px;margin-left:-25px;border:2px solid #fff;border-radius:50%}#bookly-tbs .bookly-vertical-colors .bookly-service-color{position:absolute}#bookly-tbs .bookly-vertical-colors .bookly-service-color:nth-child(1){margin-top:-15px}#bookly-tbs .bookly-vertical-colors .bookly-service-color:nth-child(2){margin-top:-5px}#bookly-tbs .bookly-max-height-xs{max-height:200px!important;overflow:auto}#bookly-tbs .bookly-max-height-sm{max-height:300px!important;overflow:auto}#bookly-tbs .bookly-max-height-md{max-height:400px!important;overflow:auto}#bookly-tbs .bookly-max-height-lg{max-height:500px!important;overflow:auto}#bookly-tbs .bookly-holidays-nav{display:block;width:200px;margin:0 auto}#bookly-tbs .bookly-holidays-nav .btn-default,#bookly-tbs .bookly-holidays-nav .form-control{background-color:#eff1f4;border-color:transparent}#bookly-tbs .modal-body textarea.wp-editor-area{width:-webkit-calc(100% - 20px);width:calc(100% - 20px)}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-day{cursor:pointer}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-day.bookly-fc-day-active{background-color:#eafcff}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group{position:relative;display:inline-block;vertical-align:middle}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group .fc-button+.fc-button{margin-left:-1px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group>.fc-button:not(.fc-corner-left):not(.fc-corner-right){border-radius:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group>.fc-button:first-child{margin-left:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group>.fc-button:first-child:not(.fc-corner-right){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group>.fc-button:not(.fc-corner-left){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group:not(:last-child){margin-right:16px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button{display:inline-block;height:auto;padding:6px 12px;margin-bottom:0;overflow:hidden;font-size:15px;font-weight:400;line-height:1.4;text-align:center;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-pill{border-radius:24px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-pill-left{border-top-left-radius:24px;border-bottom-left-radius:24px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-pill-right{border-top-right-radius:24px;border-bottom-right-radius:24px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-lg{padding-right:32px;padding-left:32px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-xlg .dashicons,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-xlg .dashicons-before:before{width:30px;height:30px;font-size:30px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.bookly-btn-unborder{padding-right:0;padding-left:0;border-color:transparent}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default{color:#3e424a;text-shadow:none;background-color:#fff;background-image:none;border-color:#d9dee4;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:focus{color:#3e424a;background-color:#e6e6e6;border-color:#8e9daf}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:hover{color:#3e424a;background-color:#e6e6e6;border-color:#b5bfcb}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default{color:#3e424a;background-color:#e6e6e6;border-color:#b5bfcb}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active:hover,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active:hover,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.focus,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:focus,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:hover{color:#3e424a;background-color:#d4d4d4;border-color:#8e9daf}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default{background-image:none}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.disabled.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.disabled:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.disabled:hover,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default[disabled].focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default[disabled]:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default[disabled]:hover,fieldset[disabled] #bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.focus,fieldset[disabled] #bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:focus,fieldset[disabled] #bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:hover{background-color:#fff;border-color:#d9dee4}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default .badge{color:#fff;background-color:#3e424a}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.fc-state-active{z-index:1;color:#3e424a;background-color:#e6e6e6;background-image:none;border-color:#b5bfcb;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.fc-state-active.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.fc-state-active:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.fc-state-active:hover{color:#3e424a;background-color:#d4d4d4;border-color:#8e9daf}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar h2{position:relative;margin:0;font-size:20px;line-height:32px;cursor:pointer}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar h2:hover{color:#005580}@media (min-width:768px){#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar h2{font-size:24px}}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar h2:after{display:inline-block;width:0;height:0;margin-left:12px;vertical-align:middle;content:" ";border-top:5px dashed;border-top:5px solid\9;border-right:5px solid transparent;border-left:5px solid transparent}@media (max-width:767px){#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-left,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-right{display:inline-block;float:none;margin:0 12px 6px 12px}}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-head{background-color:#e8ebf0}#bookly-tbs .bookly-fc-inner .bookly-calendar th.fc-widget-header{padding:10px 0}#bookly-tbs .bookly-fc-inner .bookly-calendar th.fc-day-header{text-align:center}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc .fc-axis{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;padding:0 4px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-view{min-height:.01%;overflow-x:auto}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-view>table{min-width:768px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-event{padding:3px 2px 3px 5px;margin-right:0;margin-left:0;color:#3e424a;cursor:pointer;border-width:0;border-radius:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-event:after{position:absolute;top:0;right:0;width:-webkit-calc(100% - 2px);width:calc(100% - 2px);height:100%;content:'';background-color:rgba(255,255,255,.6);border-bottom:1px solid rgba(255,255,255,.4)}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-event:hover:after{background-color:rgba(255,255,255,.7)}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-time{font-size:inherit;font-weight:700}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-time .bookly-fc-icon{float:right;color:#3e424a;opacity:.8}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-time .bookly-fc-icon:hover{cursor:pointer;opacity:1}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-title{display:block;margin-top:3px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-ltr .fc-time-grid .fc-event-container,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-rtl .fc-time-grid .fc-event-container{margin:0}#bookly-tbs .bookly-fc-inner .fc-loading-inner{position:absolute;top:50px;right:0;bottom:0;left:0;z-index:9;background-color:rgba(255,255,255,.7)}#bookly-tbs .bookly-fc-inner .fc-loading-inner .fc-loading{position:absolute;top:50%;left:50%;width:auto;height:32px;padding-left:64px;background:rgba(255,0,0,0) url(../../images/ajax_loader_32x32.gif) no-repeat scroll 50% center}#bookly-tbs .bookly-fc-inner .bookly-margin-top-xlg{position:relative;min-height:.01%;overflow:visible}@media (min-width:768px){#bookly-tbs .daterangepicker.dropdown-menu.show-calendar{min-width:718px}}#bookly-tbs .daterangepicker .daterangepicker_input{margin-bottom:6px}#bookly-tbs .daterangepicker .daterangepicker_input .glyphicon{position:absolute;top:8px}#bookly-tbs .wp-editor-wrap *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}#bookly-tbs .wp-switch-editor+.wp-switch-editor{margin-left:5px}#bookly-tbs .editable-container.popover{z-index:9999}#bookly-tbs .editable-input,#bookly-tbs .editable-input .form-control{width:100%}#bookly-tbs .editable-input textarea{resize:both}#bookly-tbs .editable-buttons{display:block;margin:6px 0;text-align:right}#bookly-tbs .editable-clear-x,#bookly-tbs .editable-click{cursor:pointer}#bookly-tbs .table>thead>tr>th{padding:16px 8px;background-color:#e8ebf0}#bookly-tbs .bookly-table-sortable.table>thead>tr>th{position:relative;padding-left:16px!important}#bookly-tbs .bookly-table-sortable.table>thead>tr>th[ng-class],#bookly-tbs .bookly-table-sortable.table>thead>tr>th[order-by]{cursor:pointer}#bookly-tbs .bookly-table-sortable.table>thead>tr>th[ng-class]:after,#bookly-tbs .bookly-table-sortable.table>thead>tr>th[order-by]:after{position:absolute;bottom:22px;left:-4px;width:24px;height:15px;content:"";background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4IiB3aWR0aD0iNDgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0IDIwbDEwIDEwIDEwLTEweiIvPjxwYXRoIGQ9Ik0wIDBoNDh2NDhoLTQ4eiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:0 -webkit-calc(50% + 2px);background-position:0 calc(50% + 2px);-webkit-background-size:24px 24px;background-size:24px 24px;opacity:.1}#bookly-tbs .bookly-table-sortable.table>thead>tr>th[ng-class].desc:after,#bookly-tbs .bookly-table-sortable.table>thead>tr>th[order-by].desc:after{opacity:1;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}#bookly-tbs .bookly-table-sortable.table>thead>tr>th[ng-class].asc:after,#bookly-tbs .bookly-table-sortable.table>thead>tr>th[order-by].asc:after{opacity:1}#bookly-tbs .table thead>tr>th{vertical-align:middle}#bookly-tbs .table thead>tr>th:not(:first-child){border-left:1px solid #d9dee4}#bookly-tbs .table td>input[type=checkbox],#bookly-tbs .table th>input[type=checkbox]{margin:0}#bookly-tbs .table td ul.bookly-list,#bookly-tbs .table th ul.bookly-list{padding-left:13px;margin:0!important}#bookly-tbs .table td ul.bookly-list.list-dots,#bookly-tbs .table th ul.bookly-list.list-dots{list-style:disc outside!important}#bookly-tbs .table td ul.bookly-list li,#bookly-tbs .table th ul.bookly-list li{margin:0}#bookly-tbs .bookly-color-picker-wrapper{position:relative;min-height:35px}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container{position:absolute;z-index:10;padding:6px;margin-left:-6px;background-color:#fff}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container,#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container.wp-picker-active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-color-result{height:auto}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-color-result .wp-color-result-text{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-picker-input-wrap{float:right}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-picker-input-wrap input[type=button]{display:none}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-picker-input-wrap .wp-color-picker{padding:4px}#bookly-tbs .page-header .bookly-page-title{float:left;font-size:24px;line-height:38px}@media (max-width:767px){#bookly-tbs .page-header .bookly-page-title{font-size:22px}#bookly-tbs h3{font-size:18px}}#bookly-tbs .modal{top:46px!important;font-size:15px}#bookly-tbs .modal table{font-family:Arial,Helvetica,sans-serif}#bookly-tbs .modal table th{word-break:normal}#bookly-tbs .modal table td{word-break:normal}#bookly-tbs .modal .bookly-codes input{width:242px;border:none}#bookly-tbs .modal-header .close{margin-top:4px}@media (max-width:767px){#bookly-tbs .bookly-form .bookly-progress-tracker{display:none!important}}#bookly-tbs .bookly-form .picker__nav--next,#bookly-tbs .bookly-form .picker__nav--prev{width:26px;height:26px}@media (max-width:991px){#bookly-tbs .bookly-form .bookly-user-coupon{width:135px}}#bookly-tbs .bookly-form .bookly-box{padding-bottom:1px}#bookly-tbs .bookly-form input[type=checkbox],#bookly-tbs .bookly-form input[type=radio]{width:16px!important;height:16px!important}#bookly-tbs .bookly-icon{display:inline-block;width:24px;height:24px;vertical-align:middle;background-color:transparent;background-image:url(../../../../backend/resources/images/sprite.png);background-repeat:no-repeat}#bookly-tbs .bookly-icon.bookly-icon-draghandle{background-position:-154px -82px}#bookly-tbs .has-feedback .alert-icon{display:inline-block;width:24px;height:24px;margin:4px 6px 0 0;vertical-align:middle;background-color:transparent;background-image:url(../../../../backend/resources/images/sprite.png);background-repeat:no-repeat}#bookly-tbs .has-feedback.has-success .alert-icon{background-position:-24px -113px}#bookly-tbs .has-feedback.has-error .alert-icon{background-position:-48px -113px}#bookly-tbs .has-feedback.has-warning .alert-icon{background-position:-72px -113px}#bookly-tbs .has-feedback.has-ajax .alert-icon{background-position:-72px -113px;-webkit-animation:spin 3s infinite;-o-animation:spin 3s infinite;animation:spin 3s infinite}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes spin{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}#bookly-tbs .alert{margin-top:30px}#bookly-tbs .alert .alert-icon,#bookly-tbs .alert .close{display:inline-block;width:24px;height:24px;vertical-align:top;background-color:transparent;background-image:url(../../../../backend/resources/images/sprite.png);background-repeat:no-repeat}#bookly-tbs .alert .close{margin-top:-2px}#bookly-tbs .alert.alert-info .alert-icon{background-position:0 -113px}#bookly-tbs .alert.alert-success .alert-icon{background-position:-24px -113px}#bookly-tbs .alert.alert-danger .alert-icon{background-position:-48px -113px}#bookly-tbs .alert.alert-warning .alert-icon{background-position:-72px -113px}#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 .pagination .next,#bookly-tbs .pagination .prev{position:inherit;width:inherit;height:inherit;padding:inherit}#bookly-tbs .pagination .next:before,#bookly-tbs .pagination .prev:before{position:inherit;width:inherit;height:inherit;padding:inherit;content:""}#bookly-tbs #bookly-appointments-list .popover .arrow{display:none}#bookly-tbs .bookly-rating-right{float:right}#bookly-tbs .bookly-rating-left{margin-left:10px}#bookly-tbs .bookly-rating-left i{margin-top:3px}#bookly-tbs .table.table-striped{border:1px solid #f4f4f4}#bookly-tbs .table.table-striped thead>tr>th{background-color:transparent;border-top:1px solid #f4f4f4}#bookly-tbs .table.table-striped thead>tr>th:not(:first-child){border-left:1px solid #f4f4f4}#bookly-tbs .table.table-striped thead>tr>th{border-bottom:none}#bookly-tbs .table.table-striped tbody>tr>td{border-top:1px solid #f4f4f4}#bookly-tbs .modal.fade.show{opacity:1}#bookly-tbs .modal .modal-header{display:block}#bookly-tbs ul{list-style:none}#bookly-tbs .modal.show .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}#bookly-tbs h2:before{content:none}#bookly-tbs .dataTables_wrapper{display:block}#bookly-tbs input[type=search]{min-height:21px}#bookly-tbs input[type=radio]{-webkit-appearance:radio}#bookly-tbs select{max-width:unset}#bookly-tbs ol{margin-left:2em}#bookly-tbs table{margin:0;overflow:unset}body.mobile.modal-open #wpwrap{position:inherit!important}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-backdrop+.modal-backdrop{display:none!important}.modal-open{overflow:hidden!important}.modal-open .modal{overflow-x:hidden!important;overflow-y:auto!important}.select2-container--bootstrap{display:block}.select2-container--bootstrap .select2-selection{font-size:15px;color:#3e424a;background-color:#fff;border:1px solid #d9dee4;border-radius:4px;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.select2-container--bootstrap .select2-selection.form-control{border-radius:4px}.select2-container--bootstrap .select2-search--dropdown .select2-search__field{font-size:15px;color:#3e424a;background-color:#fff;border:1px solid #d9dee4;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.select2-container--bootstrap .select2-search__field{outline:0}.select2-container--bootstrap .select2-search__field::-webkit-input-placeholder{color:#8a929e}.select2-container--bootstrap .select2-search__field:-moz-placeholder{color:#8a929e}.select2-container--bootstrap .select2-search__field::-moz-placeholder{color:#8a929e;opacity:1}.select2-container--bootstrap .select2-search__field:-ms-input-placeholder{color:#8a929e}.select2-container--bootstrap .select2-results__option{padding:6px 12px}.select2-container--bootstrap .select2-results__option[role=group]{padding:0}.select2-container--bootstrap .select2-results__option[aria-disabled=true]{color:#d9dee4;cursor:not-allowed}.select2-container--bootstrap .select2-results__option[aria-selected=true]{color:#505762;background-color:#f5f5f5}.select2-container--bootstrap .select2-results__option--highlighted[aria-selected]{color:#fff;background-color:#08c}.select2-container--bootstrap .select2-results__option .select2-results__option{padding:6px 12px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option{padding-left:24px;margin-left:-12px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option{padding-left:36px;margin-left:-24px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{padding-left:48px;margin-left:-36px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{padding-left:60px;margin-left:-48px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{padding-left:72px;margin-left:-60px}.select2-container--bootstrap .select2-results__group{display:block;padding:6px 12px;font-size:13px;line-height:1.4;color:#d9dee4;white-space:nowrap}.select2-container--bootstrap.select2-container--focus .select2-selection,.select2-container--bootstrap.select2-container--open .select2-selection{border-color:#08c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,136,204,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,136,204,.6);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.select2-container--bootstrap.select2-container--open .select2-selection .select2-selection__arrow b{border-color:transparent transparent #8a929e transparent;border-width:0 5px 5px 5px}.select2-container--bootstrap.select2-container--open.select2-container--below .select2-selection{border-bottom-color:transparent;border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container--bootstrap.select2-container--open.select2-container--above .select2-selection{border-top-color:transparent;border-top-left-radius:0;border-top-right-radius:0}.select2-container--bootstrap .select2-selection__clear{float:right;margin-right:10px;font-weight:700;color:#8a929e;cursor:pointer}.select2-container--bootstrap .select2-selection__clear:hover{color:#3e424a}.select2-container--bootstrap.select2-container--disabled .select2-selection{border-color:#d9dee4;-webkit-box-shadow:none;box-shadow:none}.select2-container--bootstrap.select2-container--disabled .select2-search__field,.select2-container--bootstrap.select2-container--disabled .select2-selection{cursor:not-allowed}.select2-container--bootstrap.select2-container--disabled .select2-selection,.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice{background-color:rgba(232,235,240,.7)}.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove,.select2-container--bootstrap.select2-container--disabled .select2-selection__clear{display:none}.select2-container--bootstrap .select2-dropdown{margin-top:-1px;overflow-x:hidden;border-color:#08c;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.select2-container--bootstrap .select2-dropdown--above{margin-top:1px;-webkit-box-shadow:0 -6px 12px rgba(0,0,0,.175);box-shadow:0 -6px 12px rgba(0,0,0,.175)}.select2-container--bootstrap .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--bootstrap .select2-selection--single{height:35px;padding:6px 27px 6px 12px;line-height:1.4}.select2-container--bootstrap .select2-selection--single .select2-selection__arrow{position:absolute;top:0;right:12px;bottom:0;width:5px}.select2-container--bootstrap .select2-selection--single .select2-selection__arrow b{position:absolute;top:50%;left:0;width:0;height:0;margin-top:-2.5px;margin-left:-5px;border-color:#8a929e transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px}.select2-container--bootstrap .select2-selection--single .select2-selection__rendered{padding:0;color:#3e424a}.select2-container--bootstrap .select2-selection--single .select2-selection__placeholder{color:#8a929e}.select2-container--bootstrap .select2-selection--multiple{height:auto;min-height:35px;padding:0}.select2-container--bootstrap .select2-selection--multiple .select2-selection__rendered{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0;overflow:hidden;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;list-style:none}.select2-container--bootstrap .select2-selection--multiple .select2-selection__placeholder{float:left;margin-top:5px;color:#8a929e}.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice{float:left;padding:0 6px;margin:5px 0 0 6px;color:#3e424a;cursor:default;background:#fff;border:1px solid #d9dee4;border-radius:4px}.select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field{min-width:5em;height:21px;padding:0 12px;margin-top:0;line-height:1.4;background:0 0}.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove{display:inline-block;margin-right:3px;font-weight:700;color:#8a929e;cursor:pointer}.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove:hover{color:#3e424a}.select2-container--bootstrap .select2-selection--multiple .select2-selection__clear{margin-top:6px}.form-group-sm .select2-container--bootstrap .select2-selection--single,.input-group-sm .select2-container--bootstrap .select2-selection--single,.select2-container--bootstrap .select2-selection--single.input-sm{height:32px;padding:5px 25px 5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}.form-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.input-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap .select2-selection--single.input-sm .select2-selection__arrow b{margin-left:-5px}.form-group-sm .select2-container--bootstrap .select2-selection--multiple,.input-group-sm .select2-container--bootstrap .select2-selection--multiple,.select2-container--bootstrap .select2-selection--multiple.input-sm{min-height:32px;border-radius:3px}.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap .select2-selection--multiple.input-sm .select2-selection__choice{padding:0 5px;margin:4px 0 0 5px;font-size:13px;line-height:1.53846154}.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.select2-container--bootstrap .select2-selection--multiple.input-sm .select2-search--inline .select2-search__field{height:30px;padding:0 10px;font-size:13px;line-height:1.53846154}.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.select2-container--bootstrap .select2-selection--multiple.input-sm .select2-selection__clear{margin-top:5px}.form-group-lg .select2-container--bootstrap .select2-selection--single,.input-group-lg .select2-container--bootstrap .select2-selection--single,.select2-container--bootstrap .select2-selection--single.input-lg{height:46px;padding:10px 34px 10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow,.input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow,.select2-container--bootstrap .select2-selection--single.input-lg .select2-selection__arrow{width:6px}.form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap .select2-selection--single.input-lg .select2-selection__arrow b{margin-top:-3px;margin-left:-10px;border-width:6px 6px 0 6px}.form-group-lg .select2-container--bootstrap .select2-selection--multiple,.input-group-lg .select2-container--bootstrap .select2-selection--multiple,.select2-container--bootstrap .select2-selection--multiple.input-lg{min-height:46px;border-radius:6px}.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap .select2-selection--multiple.input-lg .select2-selection__choice{padding:0 10px;margin:9px 0 0 8px;font-size:18px;line-height:1.3333333;border-radius:4px}.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.select2-container--bootstrap .select2-selection--multiple.input-lg .select2-search--inline .select2-search__field{height:44px;padding:0 16px;font-size:18px;line-height:1.3333333}.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.select2-container--bootstrap .select2-selection--multiple.input-lg .select2-selection__clear{margin-top:10px}.select2-container--bootstrap .select2-selection.input-lg.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #8a929e transparent;border-width:0 6px 6px 6px}.input-group-lg .select2-container--bootstrap .select2-selection.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #8a929e transparent;border-width:0 6px 6px 6px}.select2-container--bootstrap[dir=rtl] .select2-selection--single{padding-right:12px;padding-left:27px}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:0;padding-left:0;text-align:right}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__arrow{right:auto;left:12px}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__arrow b{margin-left:0}.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-right:6px;margin-left:0}.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-right:auto;margin-left:2px}.has-warning .select2-dropdown,.has-warning .select2-selection{border-color:#8a6d3b}.has-warning .select2-container--focus .select2-selection,.has-warning .select2-container--open .select2-selection{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning.select2-drop-active{border-color:#66512c}.has-warning.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#66512c}.has-error .select2-dropdown,.has-error .select2-selection{border-color:#a94442}.has-error .select2-container--focus .select2-selection,.has-error .select2-container--open .select2-selection{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error.select2-drop-active{border-color:#843534}.has-error.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#843534}.has-success .select2-dropdown,.has-success .select2-selection{border-color:#3c763d}.has-success .select2-container--focus .select2-selection,.has-success .select2-container--open .select2-selection{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success.select2-drop-active{border-color:#2b542c}.has-success.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#2b542c}.input-group>.select2-hidden-accessible:first-child+.select2-container--bootstrap>.selection>.select2-selection,.input-group>.select2-hidden-accessible:first-child+.select2-container--bootstrap>.selection>.select2-selection.form-control{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.select2-hidden-accessible:not(:first-child)+.select2-container--bootstrap:not(:last-child)>.selection>.select2-selection,.input-group>.select2-hidden-accessible:not(:first-child)+.select2-container--bootstrap:not(:last-child)>.selection>.select2-selection.form-control{border-radius:0}.input-group>.select2-hidden-accessible:not(:first-child):not(:last-child)+.select2-container--bootstrap:last-child>.selection>.select2-selection,.input-group>.select2-hidden-accessible:not(:first-child):not(:last-child)+.select2-container--bootstrap:last-child>.selection>.select2-selection.form-control{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.select2-container--bootstrap{position:relative;z-index:2;display:table;width:100%;margin-bottom:0;table-layout:fixed}.input-group>.select2-container--bootstrap>.selection>.select2-selection.form-control{float:none}.input-group>.select2-container--bootstrap.select2-container--focus,.input-group>.select2-container--bootstrap.select2-container--open{z-index:3}.input-group>.select2-container--bootstrap,.input-group>.select2-container--bootstrap .input-group-btn,.input-group>.select2-container--bootstrap .input-group-btn .btn{vertical-align:top}.form-control.select2-hidden-accessible{position:absolute!important;width:1px!important}@media (min-width:768px){.form-inline .select2-container--bootstrap{display:inline-block}}.select2-results__option{padding:7px 12px;margin-bottom:1px!important}.select2-results__option[aria-selected=true]{color:#8a929e!important;background-color:inherit!important}.select2-container--bootstrap .select2-results>.select2-results__options{max-height:400px}.select2-container--bootstrap .select2-results>.select2-results__options .select2-results__option{padding:2px 12px;margin-bottom:1px!important;font-size:15px;line-height:1.4em}.select2-container--bootstrap .select2-results>.select2-results__options .select2-results__option i{margin-right:5px}.select2-container--bootstrap .select2-results>.select2-results__options .select2-results__group{font-size:16px;color:#000}#select2-bookly-appointment-dialog-select2-results .select2-results__option[aria-selected=true]{color:#444!important}table.dt-rowReorder-float{position:absolute!important;outline:2px solid #888}table td{text-align:unset}ol,ul{margin:unset}input[type=search]{height:unset}
|
1 |
#bookly-tbs{
|
2 |
|
3 |
+
}#bookly-tbs html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}#bookly-tbs body{margin:0}#bookly-tbs article,#bookly-tbs aside,#bookly-tbs details,#bookly-tbs figcaption,#bookly-tbs figure,#bookly-tbs footer,#bookly-tbs header,#bookly-tbs hgroup,#bookly-tbs main,#bookly-tbs menu,#bookly-tbs nav,#bookly-tbs section,#bookly-tbs summary{display:block}#bookly-tbs audio,#bookly-tbs canvas,#bookly-tbs progress,#bookly-tbs video{display:inline-block;vertical-align:baseline}#bookly-tbs audio:not([controls]){display:none;height:0}#bookly-tbs [hidden],#bookly-tbs template{display:none}#bookly-tbs a{background-color:transparent}#bookly-tbs a:active,#bookly-tbs a:hover{outline:0}#bookly-tbs abbr[title]{border-bottom:1px dotted}#bookly-tbs b,#bookly-tbs strong{font-weight:700}#bookly-tbs dfn{font-style:italic}#bookly-tbs h1{margin:.67em 0;font-size:2em}#bookly-tbs mark{color:#000;background:#ff0}#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 sup{top:-.5em}#bookly-tbs sub{bottom:-.25em}#bookly-tbs img{border:0}#bookly-tbs svg:not(:root){overflow:hidden}#bookly-tbs figure{margin:1em 40px}#bookly-tbs hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}#bookly-tbs pre{overflow:auto}#bookly-tbs code,#bookly-tbs kbd,#bookly-tbs pre,#bookly-tbs samp{font-family:monospace,monospace;font-size:1em}#bookly-tbs button,#bookly-tbs input,#bookly-tbs optgroup,#bookly-tbs select,#bookly-tbs textarea{margin:0;font:inherit;color:inherit}#bookly-tbs button{overflow:visible}#bookly-tbs button,#bookly-tbs select{text-transform:none}#bookly-tbs button,#bookly-tbs html input[type=button],#bookly-tbs input[type=reset],#bookly-tbs input[type=submit]{-webkit-appearance:button;cursor:pointer}#bookly-tbs button[disabled],#bookly-tbs html input[disabled]{cursor:default}#bookly-tbs button::-moz-focus-inner,#bookly-tbs input::-moz-focus-inner{padding:0;border:0}#bookly-tbs input{line-height:normal}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}#bookly-tbs input[type=number]::-webkit-inner-spin-button,#bookly-tbs input[type=number]::-webkit-outer-spin-button{height:auto}#bookly-tbs input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}#bookly-tbs input[type=search]::-webkit-search-cancel-button,#bookly-tbs input[type=search]::-webkit-search-decoration{-webkit-appearance:none}#bookly-tbs fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}#bookly-tbs legend{padding:0;border:0}#bookly-tbs textarea{overflow:auto}#bookly-tbs optgroup{font-weight:700}#bookly-tbs table{border-spacing:0;border-collapse:collapse}#bookly-tbs td,#bookly-tbs th{padding:0}@media print{#bookly-tbs *,#bookly-tbs :after,#bookly-tbs :before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}#bookly-tbs a,#bookly-tbs a:visited{text-decoration:underline}#bookly-tbs a[href]:after{content:" (" attr(href) ")"}#bookly-tbs abbr[title]:after{content:" (" attr(title) ")"}#bookly-tbs a[href^="javascript:"]:after,#bookly-tbs a[href^="#"]:after{content:""}#bookly-tbs blockquote,#bookly-tbs pre{border:1px solid #999;page-break-inside:avoid}#bookly-tbs thead{display:table-header-group}#bookly-tbs img,#bookly-tbs tr{page-break-inside:avoid}#bookly-tbs img{max-width:100%!important}#bookly-tbs h2,#bookly-tbs h3,#bookly-tbs p{orphans:3;widows:3}#bookly-tbs h2,#bookly-tbs h3{page-break-after:avoid}#bookly-tbs .navbar{display:none}#bookly-tbs .btn>.caret,#bookly-tbs .dropup>.btn>.caret{border-top-color:#000!important}#bookly-tbs .label{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 #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}#bookly-tbs .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#bookly-tbs .glyphicon-asterisk:before{content:"\002a"}#bookly-tbs .glyphicon-plus:before{content:"\002b"}#bookly-tbs .glyphicon-eur:before,#bookly-tbs .glyphicon-euro:before{content:"\20ac"}#bookly-tbs .glyphicon-minus:before{content:"\2212"}#bookly-tbs .glyphicon-cloud:before{content:"\2601"}#bookly-tbs .glyphicon-envelope:before{content:"\2709"}#bookly-tbs .glyphicon-pencil:before{content:"\270f"}#bookly-tbs .glyphicon-glass:before{content:"\e001"}#bookly-tbs .glyphicon-music:before{content:"\e002"}#bookly-tbs .glyphicon-search:before{content:"\e003"}#bookly-tbs .glyphicon-heart:before{content:"\e005"}#bookly-tbs .glyphicon-star:before{content:"\e006"}#bookly-tbs .glyphicon-star-empty:before{content:"\e007"}#bookly-tbs .glyphicon-user:before{content:"\e008"}#bookly-tbs .glyphicon-film:before{content:"\e009"}#bookly-tbs .glyphicon-th-large:before{content:"\e010"}#bookly-tbs .glyphicon-th:before{content:"\e011"}#bookly-tbs .glyphicon-th-list:before{content:"\e012"}#bookly-tbs .glyphicon-ok:before{content:"\e013"}#bookly-tbs .glyphicon-remove:before{content:"\e014"}#bookly-tbs .glyphicon-zoom-in:before{content:"\e015"}#bookly-tbs .glyphicon-zoom-out:before{content:"\e016"}#bookly-tbs .glyphicon-off:before{content:"\e017"}#bookly-tbs .glyphicon-signal:before{content:"\e018"}#bookly-tbs .glyphicon-cog:before{content:"\e019"}#bookly-tbs .glyphicon-trash:before{content:"\e020"}#bookly-tbs .glyphicon-home:before{content:"\e021"}#bookly-tbs .glyphicon-file:before{content:"\e022"}#bookly-tbs .glyphicon-time:before{content:"\e023"}#bookly-tbs .glyphicon-road:before{content:"\e024"}#bookly-tbs .glyphicon-download-alt:before{content:"\e025"}#bookly-tbs .glyphicon-download:before{content:"\e026"}#bookly-tbs .glyphicon-upload:before{content:"\e027"}#bookly-tbs .glyphicon-inbox:before{content:"\e028"}#bookly-tbs .glyphicon-play-circle:before{content:"\e029"}#bookly-tbs .glyphicon-repeat:before{content:"\e030"}#bookly-tbs .glyphicon-refresh:before{content:"\e031"}#bookly-tbs .glyphicon-list-alt:before{content:"\e032"}#bookly-tbs .glyphicon-lock:before{content:"\e033"}#bookly-tbs .glyphicon-flag:before{content:"\e034"}#bookly-tbs .glyphicon-headphones:before{content:"\e035"}#bookly-tbs .glyphicon-volume-off:before{content:"\e036"}#bookly-tbs .glyphicon-volume-down:before{content:"\e037"}#bookly-tbs .glyphicon-volume-up:before{content:"\e038"}#bookly-tbs .glyphicon-qrcode:before{content:"\e039"}#bookly-tbs .glyphicon-barcode:before{content:"\e040"}#bookly-tbs .glyphicon-tag:before{content:"\e041"}#bookly-tbs .glyphicon-tags:before{content:"\e042"}#bookly-tbs .glyphicon-book:before{content:"\e043"}#bookly-tbs .glyphicon-bookmark:before{content:"\e044"}#bookly-tbs .glyphicon-print:before{content:"\e045"}#bookly-tbs .glyphicon-camera:before{content:"\e046"}#bookly-tbs .glyphicon-font:before{content:"\e047"}#bookly-tbs .glyphicon-bold:before{content:"\e048"}#bookly-tbs .glyphicon-italic:before{content:"\e049"}#bookly-tbs .glyphicon-text-height:before{content:"\e050"}#bookly-tbs .glyphicon-text-width:before{content:"\e051"}#bookly-tbs .glyphicon-align-left:before{content:"\e052"}#bookly-tbs .glyphicon-align-center:before{content:"\e053"}#bookly-tbs .glyphicon-align-right:before{content:"\e054"}#bookly-tbs .glyphicon-align-justify:before{content:"\e055"}#bookly-tbs .glyphicon-list:before{content:"\e056"}#bookly-tbs .glyphicon-indent-left:before{content:"\e057"}#bookly-tbs .glyphicon-indent-right:before{content:"\e058"}#bookly-tbs .glyphicon-facetime-video:before{content:"\e059"}#bookly-tbs .glyphicon-picture:before{content:"\e060"}#bookly-tbs .glyphicon-map-marker:before{content:"\e062"}#bookly-tbs .glyphicon-adjust:before{content:"\e063"}#bookly-tbs .glyphicon-tint:before{content:"\e064"}#bookly-tbs .glyphicon-edit:before{content:"\e065"}#bookly-tbs .glyphicon-share:before{content:"\e066"}#bookly-tbs .glyphicon-check:before{content:"\e067"}#bookly-tbs .glyphicon-move:before{content:"\e068"}#bookly-tbs .glyphicon-step-backward:before{content:"\e069"}#bookly-tbs .glyphicon-fast-backward:before{content:"\e070"}#bookly-tbs .glyphicon-backward:before{content:"\e071"}#bookly-tbs .glyphicon-play:before{content:"\e072"}#bookly-tbs .glyphicon-pause:before{content:"\e073"}#bookly-tbs .glyphicon-stop:before{content:"\e074"}#bookly-tbs .glyphicon-forward:before{content:"\e075"}#bookly-tbs .glyphicon-fast-forward:before{content:"\e076"}#bookly-tbs .glyphicon-step-forward:before{content:"\e077"}#bookly-tbs .glyphicon-eject:before{content:"\e078"}#bookly-tbs .glyphicon-chevron-left:before{content:"\e079"}#bookly-tbs .glyphicon-chevron-right:before{content:"\e080"}#bookly-tbs .glyphicon-plus-sign:before{content:"\e081"}#bookly-tbs .glyphicon-minus-sign:before{content:"\e082"}#bookly-tbs .glyphicon-remove-sign:before{content:"\e083"}#bookly-tbs .glyphicon-ok-sign:before{content:"\e084"}#bookly-tbs .glyphicon-question-sign:before{content:"\e085"}#bookly-tbs .glyphicon-info-sign:before{content:"\e086"}#bookly-tbs .glyphicon-screenshot:before{content:"\e087"}#bookly-tbs .glyphicon-remove-circle:before{content:"\e088"}#bookly-tbs .glyphicon-ok-circle:before{content:"\e089"}#bookly-tbs .glyphicon-ban-circle:before{content:"\e090"}#bookly-tbs .glyphicon-arrow-left:before{content:"\e091"}#bookly-tbs .glyphicon-arrow-right:before{content:"\e092"}#bookly-tbs .glyphicon-arrow-up:before{content:"\e093"}#bookly-tbs .glyphicon-arrow-down:before{content:"\e094"}#bookly-tbs .glyphicon-share-alt:before{content:"\e095"}#bookly-tbs .glyphicon-resize-full:before{content:"\e096"}#bookly-tbs .glyphicon-resize-small:before{content:"\e097"}#bookly-tbs .glyphicon-exclamation-sign:before{content:"\e101"}#bookly-tbs .glyphicon-gift:before{content:"\e102"}#bookly-tbs .glyphicon-leaf:before{content:"\e103"}#bookly-tbs .glyphicon-fire:before{content:"\e104"}#bookly-tbs .glyphicon-eye-open:before{content:"\e105"}#bookly-tbs .glyphicon-eye-close:before{content:"\e106"}#bookly-tbs .glyphicon-warning-sign:before{content:"\e107"}#bookly-tbs .glyphicon-plane:before{content:"\e108"}#bookly-tbs .glyphicon-calendar:before{content:"\e109"}#bookly-tbs .glyphicon-random:before{content:"\e110"}#bookly-tbs .glyphicon-comment:before{content:"\e111"}#bookly-tbs .glyphicon-magnet:before{content:"\e112"}#bookly-tbs .glyphicon-chevron-up:before{content:"\e113"}#bookly-tbs .glyphicon-chevron-down:before{content:"\e114"}#bookly-tbs .glyphicon-retweet:before{content:"\e115"}#bookly-tbs .glyphicon-shopping-cart:before{content:"\e116"}#bookly-tbs .glyphicon-folder-close:before{content:"\e117"}#bookly-tbs .glyphicon-folder-open:before{content:"\e118"}#bookly-tbs .glyphicon-resize-vertical:before{content:"\e119"}#bookly-tbs .glyphicon-resize-horizontal:before{content:"\e120"}#bookly-tbs .glyphicon-hdd:before{content:"\e121"}#bookly-tbs .glyphicon-bullhorn:before{content:"\e122"}#bookly-tbs .glyphicon-bell:before{content:"\e123"}#bookly-tbs .glyphicon-certificate:before{content:"\e124"}#bookly-tbs .glyphicon-thumbs-up:before{content:"\e125"}#bookly-tbs .glyphicon-thumbs-down:before{content:"\e126"}#bookly-tbs .glyphicon-hand-right:before{content:"\e127"}#bookly-tbs .glyphicon-hand-left:before{content:"\e128"}#bookly-tbs .glyphicon-hand-up:before{content:"\e129"}#bookly-tbs .glyphicon-hand-down:before{content:"\e130"}#bookly-tbs .glyphicon-circle-arrow-right:before{content:"\e131"}#bookly-tbs .glyphicon-circle-arrow-left:before{content:"\e132"}#bookly-tbs .glyphicon-circle-arrow-up:before{content:"\e133"}#bookly-tbs .glyphicon-circle-arrow-down:before{content:"\e134"}#bookly-tbs .glyphicon-globe:before{content:"\e135"}#bookly-tbs .glyphicon-wrench:before{content:"\e136"}#bookly-tbs .glyphicon-tasks:before{content:"\e137"}#bookly-tbs .glyphicon-filter:before{content:"\e138"}#bookly-tbs .glyphicon-briefcase:before{content:"\e139"}#bookly-tbs .glyphicon-fullscreen:before{content:"\e140"}#bookly-tbs .glyphicon-dashboard:before{content:"\e141"}#bookly-tbs .glyphicon-paperclip:before{content:"\e142"}#bookly-tbs .glyphicon-heart-empty:before{content:"\e143"}#bookly-tbs .glyphicon-link:before{content:"\e144"}#bookly-tbs .glyphicon-phone:before{content:"\e145"}#bookly-tbs .glyphicon-pushpin:before{content:"\e146"}#bookly-tbs .glyphicon-usd:before{content:"\e148"}#bookly-tbs .glyphicon-gbp:before{content:"\e149"}#bookly-tbs .glyphicon-sort:before{content:"\e150"}#bookly-tbs .glyphicon-sort-by-alphabet:before{content:"\e151"}#bookly-tbs .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}#bookly-tbs .glyphicon-sort-by-order:before{content:"\e153"}#bookly-tbs .glyphicon-sort-by-order-alt:before{content:"\e154"}#bookly-tbs .glyphicon-sort-by-attributes:before{content:"\e155"}#bookly-tbs .glyphicon-sort-by-attributes-alt:before{content:"\e156"}#bookly-tbs .glyphicon-unchecked:before{content:"\e157"}#bookly-tbs .glyphicon-expand:before{content:"\e158"}#bookly-tbs .glyphicon-collapse-down:before{content:"\e159"}#bookly-tbs .glyphicon-collapse-up:before{content:"\e160"}#bookly-tbs .glyphicon-log-in:before{content:"\e161"}#bookly-tbs .glyphicon-flash:before{content:"\e162"}#bookly-tbs .glyphicon-log-out:before{content:"\e163"}#bookly-tbs .glyphicon-new-window:before{content:"\e164"}#bookly-tbs .glyphicon-record:before{content:"\e165"}#bookly-tbs .glyphicon-save:before{content:"\e166"}#bookly-tbs .glyphicon-open:before{content:"\e167"}#bookly-tbs .glyphicon-saved:before{content:"\e168"}#bookly-tbs .glyphicon-import:before{content:"\e169"}#bookly-tbs .glyphicon-export:before{content:"\e170"}#bookly-tbs .glyphicon-send:before{content:"\e171"}#bookly-tbs .glyphicon-floppy-disk:before{content:"\e172"}#bookly-tbs .glyphicon-floppy-saved:before{content:"\e173"}#bookly-tbs .glyphicon-floppy-remove:before{content:"\e174"}#bookly-tbs .glyphicon-floppy-save:before{content:"\e175"}#bookly-tbs .glyphicon-floppy-open:before{content:"\e176"}#bookly-tbs .glyphicon-credit-card:before{content:"\e177"}#bookly-tbs .glyphicon-transfer:before{content:"\e178"}#bookly-tbs .glyphicon-cutlery:before{content:"\e179"}#bookly-tbs .glyphicon-header:before{content:"\e180"}#bookly-tbs .glyphicon-compressed:before{content:"\e181"}#bookly-tbs .glyphicon-earphone:before{content:"\e182"}#bookly-tbs .glyphicon-phone-alt:before{content:"\e183"}#bookly-tbs .glyphicon-tower:before{content:"\e184"}#bookly-tbs .glyphicon-stats:before{content:"\e185"}#bookly-tbs .glyphicon-sd-video:before{content:"\e186"}#bookly-tbs .glyphicon-hd-video:before{content:"\e187"}#bookly-tbs .glyphicon-subtitles:before{content:"\e188"}#bookly-tbs .glyphicon-sound-stereo:before{content:"\e189"}#bookly-tbs .glyphicon-sound-dolby:before{content:"\e190"}#bookly-tbs .glyphicon-sound-5-1:before{content:"\e191"}#bookly-tbs .glyphicon-sound-6-1:before{content:"\e192"}#bookly-tbs .glyphicon-sound-7-1:before{content:"\e193"}#bookly-tbs .glyphicon-copyright-mark:before{content:"\e194"}#bookly-tbs .glyphicon-registration-mark:before{content:"\e195"}#bookly-tbs .glyphicon-cloud-download:before{content:"\e197"}#bookly-tbs .glyphicon-cloud-upload:before{content:"\e198"}#bookly-tbs .glyphicon-tree-conifer:before{content:"\e199"}#bookly-tbs .glyphicon-tree-deciduous:before{content:"\e200"}#bookly-tbs .glyphicon-cd:before{content:"\e201"}#bookly-tbs .glyphicon-save-file:before{content:"\e202"}#bookly-tbs .glyphicon-open-file:before{content:"\e203"}#bookly-tbs .glyphicon-level-up:before{content:"\e204"}#bookly-tbs .glyphicon-copy:before{content:"\e205"}#bookly-tbs .glyphicon-paste:before{content:"\e206"}#bookly-tbs .glyphicon-alert:before{content:"\e209"}#bookly-tbs .glyphicon-equalizer:before{content:"\e210"}#bookly-tbs .glyphicon-king:before{content:"\e211"}#bookly-tbs .glyphicon-queen:before{content:"\e212"}#bookly-tbs .glyphicon-pawn:before{content:"\e213"}#bookly-tbs .glyphicon-bishop:before{content:"\e214"}#bookly-tbs .glyphicon-knight:before{content:"\e215"}#bookly-tbs .glyphicon-baby-formula:before{content:"\e216"}#bookly-tbs .glyphicon-tent:before{content:"\26fa"}#bookly-tbs .glyphicon-blackboard:before{content:"\e218"}#bookly-tbs .glyphicon-bed:before{content:"\e219"}#bookly-tbs .glyphicon-apple:before{content:"\f8ff"}#bookly-tbs .glyphicon-erase:before{content:"\e221"}#bookly-tbs .glyphicon-hourglass:before{content:"\231b"}#bookly-tbs .glyphicon-lamp:before{content:"\e223"}#bookly-tbs .glyphicon-duplicate:before{content:"\e224"}#bookly-tbs .glyphicon-piggy-bank:before{content:"\e225"}#bookly-tbs .glyphicon-scissors:before{content:"\e226"}#bookly-tbs .glyphicon-bitcoin:before{content:"\e227"}#bookly-tbs .glyphicon-btc:before{content:"\e227"}#bookly-tbs .glyphicon-xbt:before{content:"\e227"}#bookly-tbs .glyphicon-yen:before{content:"\00a5"}#bookly-tbs .glyphicon-jpy:before{content:"\00a5"}#bookly-tbs .glyphicon-ruble:before{content:"\20bd"}#bookly-tbs .glyphicon-rub:before{content:"\20bd"}#bookly-tbs .glyphicon-scale:before{content:"\e230"}#bookly-tbs .glyphicon-ice-lolly:before{content:"\e231"}#bookly-tbs .glyphicon-ice-lolly-tasted:before{content:"\e232"}#bookly-tbs .glyphicon-education:before{content:"\e233"}#bookly-tbs .glyphicon-option-horizontal:before{content:"\e234"}#bookly-tbs .glyphicon-option-vertical:before{content:"\e235"}#bookly-tbs .glyphicon-menu-hamburger:before{content:"\e236"}#bookly-tbs .glyphicon-modal-window:before{content:"\e237"}#bookly-tbs .glyphicon-oil:before{content:"\e238"}#bookly-tbs .glyphicon-grain:before{content:"\e239"}#bookly-tbs .glyphicon-sunglasses:before{content:"\e240"}#bookly-tbs .glyphicon-text-size:before{content:"\e241"}#bookly-tbs .glyphicon-text-color:before{content:"\e242"}#bookly-tbs .glyphicon-text-background:before{content:"\e243"}#bookly-tbs .glyphicon-object-align-top:before{content:"\e244"}#bookly-tbs .glyphicon-object-align-bottom:before{content:"\e245"}#bookly-tbs .glyphicon-object-align-horizontal:before{content:"\e246"}#bookly-tbs .glyphicon-object-align-left:before{content:"\e247"}#bookly-tbs .glyphicon-object-align-vertical:before{content:"\e248"}#bookly-tbs .glyphicon-object-align-right:before{content:"\e249"}#bookly-tbs .glyphicon-triangle-right:before{content:"\e250"}#bookly-tbs .glyphicon-triangle-left:before{content:"\e251"}#bookly-tbs .glyphicon-triangle-bottom:before{content:"\e252"}#bookly-tbs .glyphicon-triangle-top:before{content:"\e253"}#bookly-tbs .glyphicon-console:before{content:"\e254"}#bookly-tbs .glyphicon-superscript:before{content:"\e255"}#bookly-tbs .glyphicon-subscript:before{content:"\e256"}#bookly-tbs .glyphicon-menu-left:before{content:"\e257"}#bookly-tbs .glyphicon-menu-right:before{content:"\e258"}#bookly-tbs .glyphicon-menu-down:before{content:"\e259"}#bookly-tbs .glyphicon-menu-up:before{content:"\e260"}#bookly-tbs *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#bookly-tbs :after,#bookly-tbs :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#bookly-tbs .bookly-tbs-body{font-family:"open sans","helvetica neue",helvetica,arial,sans-serif;font-size:15px;line-height:1.4;color:#3e424a;background-color:transparent;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#bookly-tbs button,#bookly-tbs input,#bookly-tbs select,#bookly-tbs textarea{font-family:inherit;font-size:inherit;line-height:inherit}#bookly-tbs a{color:#08c;text-decoration:none}#bookly-tbs a:focus,#bookly-tbs a:hover{color:#005580;text-decoration:none}#bookly-tbs a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}#bookly-tbs figure{margin:0}#bookly-tbs img{vertical-align:middle}#bookly-tbs .carousel-inner>.item>a>img,#bookly-tbs .carousel-inner>.item>img,#bookly-tbs .img-responsive,#bookly-tbs .thumbnail a>img,#bookly-tbs .thumbnail>img{display:block;max-width:100%;height:auto}#bookly-tbs .img-rounded{border-radius:6px}#bookly-tbs .img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.4;background-color:transparent;border:1px solid #e8ebf0;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}#bookly-tbs .img-circle{border-radius:50%}#bookly-tbs hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #d9dee4}#bookly-tbs .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}#bookly-tbs .sr-only-focusable:active,#bookly-tbs .sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}#bookly-tbs [role=button]{cursor:pointer}#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{font-family:inherit;font-weight:400;line-height:1.1;color:inherit}#bookly-tbs .h1 .small,#bookly-tbs .h1 small,#bookly-tbs .h2 .small,#bookly-tbs .h2 small,#bookly-tbs .h3 .small,#bookly-tbs .h3 small,#bookly-tbs .h4 .small,#bookly-tbs .h4 small,#bookly-tbs .h5 .small,#bookly-tbs .h5 small,#bookly-tbs .h6 .small,#bookly-tbs .h6 small,#bookly-tbs h1 .small,#bookly-tbs h1 small,#bookly-tbs h2 .small,#bookly-tbs h2 small,#bookly-tbs h3 .small,#bookly-tbs h3 small,#bookly-tbs h4 .small,#bookly-tbs h4 small,#bookly-tbs h5 .small,#bookly-tbs h5 small,#bookly-tbs h6 .small,#bookly-tbs h6 small{font-weight:400;line-height:1;color:#d9dee4}#bookly-tbs .h1,#bookly-tbs .h2,#bookly-tbs .h3,#bookly-tbs h1,#bookly-tbs h2,#bookly-tbs h3{margin-top:21px;margin-bottom:10.5px}#bookly-tbs .h1 .small,#bookly-tbs .h1 small,#bookly-tbs .h2 .small,#bookly-tbs .h2 small,#bookly-tbs .h3 .small,#bookly-tbs .h3 small,#bookly-tbs h1 .small,#bookly-tbs h1 small,#bookly-tbs h2 .small,#bookly-tbs h2 small,#bookly-tbs h3 .small,#bookly-tbs h3 small{font-size:65%}#bookly-tbs .h4,#bookly-tbs .h5,#bookly-tbs .h6,#bookly-tbs h4,#bookly-tbs h5,#bookly-tbs h6{margin-top:10.5px;margin-bottom:10.5px}#bookly-tbs .h4 .small,#bookly-tbs .h4 small,#bookly-tbs .h5 .small,#bookly-tbs .h5 small,#bookly-tbs .h6 .small,#bookly-tbs .h6 small,#bookly-tbs h4 .small,#bookly-tbs h4 small,#bookly-tbs h5 .small,#bookly-tbs h5 small,#bookly-tbs h6 .small,#bookly-tbs h6 small{font-size:75%}#bookly-tbs .h1,#bookly-tbs h1{font-size:27px}#bookly-tbs .h2,#bookly-tbs h2{font-size:24px}#bookly-tbs .h3,#bookly-tbs h3{font-size:21px}#bookly-tbs .h4,#bookly-tbs h4{font-size:18px}#bookly-tbs .h5,#bookly-tbs h5{font-size:15px}#bookly-tbs .h6,#bookly-tbs h6{font-size:13px}#bookly-tbs p{margin:0 0 10.5px}#bookly-tbs .lead{margin-bottom:21px;font-size:17px;font-weight:300;line-height:1.4}@media (min-width:768px){#bookly-tbs .lead{font-size:22.5px}}#bookly-tbs .small,#bookly-tbs small{font-size:86%}#bookly-tbs .mark,#bookly-tbs mark{padding:.2em;background-color:#fcf8e3}#bookly-tbs .text-left{text-align:left}#bookly-tbs .text-right{text-align:right}#bookly-tbs .text-center{text-align:center}#bookly-tbs .text-justify{text-align:justify}#bookly-tbs .text-nowrap{white-space:nowrap}#bookly-tbs .text-lowercase{text-transform:lowercase}#bookly-tbs .text-uppercase{text-transform:uppercase}#bookly-tbs .text-capitalize{text-transform:capitalize}#bookly-tbs .text-muted{color:#d9dee4}#bookly-tbs .text-primary{color:#08c}#bookly-tbs a.text-primary:focus,#bookly-tbs a.text-primary:hover{color:#069}#bookly-tbs .text-success{color:#3c763d}#bookly-tbs a.text-success:focus,#bookly-tbs a.text-success:hover{color:#2b542c}#bookly-tbs .text-info{color:#31708f}#bookly-tbs a.text-info:focus,#bookly-tbs a.text-info:hover{color:#245269}#bookly-tbs .text-warning{color:#8a6d3b}#bookly-tbs a.text-warning:focus,#bookly-tbs a.text-warning:hover{color:#66512c}#bookly-tbs .text-danger{color:#a94442}#bookly-tbs a.text-danger:focus,#bookly-tbs a.text-danger:hover{color:#843534}#bookly-tbs .bg-primary{color:#fff;background-color:#08c}#bookly-tbs a.bg-primary:focus,#bookly-tbs a.bg-primary:hover{background-color:#069}#bookly-tbs .bg-success{background-color:#dff0d8}#bookly-tbs a.bg-success:focus,#bookly-tbs a.bg-success:hover{background-color:#c1e2b3}#bookly-tbs .bg-info{background-color:#d9edf7}#bookly-tbs a.bg-info:focus,#bookly-tbs a.bg-info:hover{background-color:#afd9ee}#bookly-tbs .bg-warning{background-color:#fcf8e3}#bookly-tbs a.bg-warning:focus,#bookly-tbs a.bg-warning:hover{background-color:#f7ecb5}#bookly-tbs .bg-danger{background-color:#f2dede}#bookly-tbs a.bg-danger:focus,#bookly-tbs a.bg-danger:hover{background-color:#e4b9b9}#bookly-tbs .page-header{padding-bottom:9.5px;margin:42px 0 10.5px;border-bottom:1px solid transparent}#bookly-tbs ol,#bookly-tbs ul{margin-top:0;margin-bottom:10.5px}#bookly-tbs ol ol,#bookly-tbs ol ul,#bookly-tbs ul ol,#bookly-tbs ul ul{margin-bottom:0}#bookly-tbs .list-unstyled{padding-left:0;list-style:none}#bookly-tbs .list-inline{padding-left:0;margin-left:-5px;list-style:none}#bookly-tbs .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}#bookly-tbs dl{margin-top:0;margin-bottom:21px}#bookly-tbs dd,#bookly-tbs dt{line-height:1.4}#bookly-tbs dt{font-weight:700}#bookly-tbs dd{margin-left:0}@media (min-width:768px){#bookly-tbs .dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .dl-horizontal dd{margin-left:180px}}#bookly-tbs abbr[data-original-title],#bookly-tbs abbr[title]{cursor:help;border-bottom:1px dotted #d9dee4}#bookly-tbs .initialism{font-size:90%;text-transform:uppercase}#bookly-tbs blockquote{padding:10.5px 21px;margin:0 0 21px;font-size:18.75px;border-left:5px solid #e8ebf0}#bookly-tbs blockquote ol:last-child,#bookly-tbs blockquote p:last-child,#bookly-tbs blockquote ul:last-child{margin-bottom:0}#bookly-tbs blockquote .small,#bookly-tbs blockquote footer,#bookly-tbs blockquote small{display:block;font-size:80%;line-height:1.4;color:#d9dee4}#bookly-tbs blockquote .small:before,#bookly-tbs blockquote footer:before,#bookly-tbs blockquote small:before{content:'\2014 \00A0'}#bookly-tbs .blockquote-reverse,#bookly-tbs blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #e8ebf0;border-left:0}#bookly-tbs .blockquote-reverse .small:before,#bookly-tbs .blockquote-reverse footer:before,#bookly-tbs .blockquote-reverse small:before,#bookly-tbs blockquote.pull-right .small:before,#bookly-tbs blockquote.pull-right footer:before,#bookly-tbs blockquote.pull-right small:before{content:''}#bookly-tbs .blockquote-reverse .small:after,#bookly-tbs .blockquote-reverse footer:after,#bookly-tbs .blockquote-reverse small:after,#bookly-tbs blockquote.pull-right .small:after,#bookly-tbs blockquote.pull-right footer:after,#bookly-tbs blockquote.pull-right small:after{content:'\00A0 \2014'}#bookly-tbs address{margin-bottom:21px;font-style:normal;line-height:1.4}#bookly-tbs code,#bookly-tbs kbd,#bookly-tbs pre,#bookly-tbs samp{font-family:menlo,monaco,consolas,"courier new",monospace}#bookly-tbs code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}#bookly-tbs kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}#bookly-tbs kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.4;color:#5b6470;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}#bookly-tbs pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}#bookly-tbs .pre-scrollable{max-height:340px;overflow-y:scroll}#bookly-tbs .container{padding-right:10px;padding-left:10px;margin-right:auto;margin-left:auto}@media (min-width:768px){#bookly-tbs .container{width:740px}}@media (min-width:992px){#bookly-tbs .container{width:960px}}@media (min-width:1200px){#bookly-tbs .container{width:1160px}}#bookly-tbs .container-fluid{padding-right:10px;padding-left:10px;margin-right:auto;margin-left:auto}#bookly-tbs .row{margin-right:-10px;margin-left:-10px}#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-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-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-xs-1,#bookly-tbs .col-xs-10,#bookly-tbs .col-xs-11,#bookly-tbs .col-xs-12,#bookly-tbs .col-xs-2,#bookly-tbs .col-xs-3,#bookly-tbs .col-xs-4,#bookly-tbs .col-xs-5,#bookly-tbs .col-xs-6,#bookly-tbs .col-xs-7,#bookly-tbs .col-xs-8,#bookly-tbs .col-xs-9{position:relative;min-height:1px;padding-right:10px;padding-left:10px}#bookly-tbs .col-xs-1,#bookly-tbs .col-xs-10,#bookly-tbs .col-xs-11,#bookly-tbs .col-xs-12,#bookly-tbs .col-xs-2,#bookly-tbs .col-xs-3,#bookly-tbs .col-xs-4,#bookly-tbs .col-xs-5,#bookly-tbs .col-xs-6,#bookly-tbs .col-xs-7,#bookly-tbs .col-xs-8,#bookly-tbs .col-xs-9{float:left}#bookly-tbs .col-xs-12{width:100%}#bookly-tbs .col-xs-11{width:91.66666667%}#bookly-tbs .col-xs-10{width:83.33333333%}#bookly-tbs .col-xs-9{width:75%}#bookly-tbs .col-xs-8{width:66.66666667%}#bookly-tbs .col-xs-7{width:58.33333333%}#bookly-tbs .col-xs-6{width:50%}#bookly-tbs .col-xs-5{width:41.66666667%}#bookly-tbs .col-xs-4{width:33.33333333%}#bookly-tbs .col-xs-3{width:25%}#bookly-tbs .col-xs-2{width:16.66666667%}#bookly-tbs .col-xs-1{width:8.33333333%}#bookly-tbs .col-xs-pull-12{right:100%}#bookly-tbs .col-xs-pull-11{right:91.66666667%}#bookly-tbs .col-xs-pull-10{right:83.33333333%}#bookly-tbs .col-xs-pull-9{right:75%}#bookly-tbs .col-xs-pull-8{right:66.66666667%}#bookly-tbs .col-xs-pull-7{right:58.33333333%}#bookly-tbs .col-xs-pull-6{right:50%}#bookly-tbs .col-xs-pull-5{right:41.66666667%}#bookly-tbs .col-xs-pull-4{right:33.33333333%}#bookly-tbs .col-xs-pull-3{right:25%}#bookly-tbs .col-xs-pull-2{right:16.66666667%}#bookly-tbs .col-xs-pull-1{right:8.33333333%}#bookly-tbs .col-xs-pull-0{right:auto}#bookly-tbs .col-xs-push-12{left:100%}#bookly-tbs .col-xs-push-11{left:91.66666667%}#bookly-tbs .col-xs-push-10{left:83.33333333%}#bookly-tbs .col-xs-push-9{left:75%}#bookly-tbs .col-xs-push-8{left:66.66666667%}#bookly-tbs .col-xs-push-7{left:58.33333333%}#bookly-tbs .col-xs-push-6{left:50%}#bookly-tbs .col-xs-push-5{left:41.66666667%}#bookly-tbs .col-xs-push-4{left:33.33333333%}#bookly-tbs .col-xs-push-3{left:25%}#bookly-tbs .col-xs-push-2{left:16.66666667%}#bookly-tbs .col-xs-push-1{left:8.33333333%}#bookly-tbs .col-xs-push-0{left:auto}#bookly-tbs .col-xs-offset-12{margin-left:100%}#bookly-tbs .col-xs-offset-11{margin-left:91.66666667%}#bookly-tbs .col-xs-offset-10{margin-left:83.33333333%}#bookly-tbs .col-xs-offset-9{margin-left:75%}#bookly-tbs .col-xs-offset-8{margin-left:66.66666667%}#bookly-tbs .col-xs-offset-7{margin-left:58.33333333%}#bookly-tbs .col-xs-offset-6{margin-left:50%}#bookly-tbs .col-xs-offset-5{margin-left:41.66666667%}#bookly-tbs .col-xs-offset-4{margin-left:33.33333333%}#bookly-tbs .col-xs-offset-3{margin-left:25%}#bookly-tbs .col-xs-offset-2{margin-left:16.66666667%}#bookly-tbs .col-xs-offset-1{margin-left:8.33333333%}#bookly-tbs .col-xs-offset-0{margin-left:0}@media (min-width:768px){#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{float:left}#bookly-tbs .col-sm-12{width:100%}#bookly-tbs .col-sm-11{width:91.66666667%}#bookly-tbs .col-sm-10{width:83.33333333%}#bookly-tbs .col-sm-9{width:75%}#bookly-tbs .col-sm-8{width:66.66666667%}#bookly-tbs .col-sm-7{width:58.33333333%}#bookly-tbs .col-sm-6{width:50%}#bookly-tbs .col-sm-5{width:41.66666667%}#bookly-tbs .col-sm-4{width:33.33333333%}#bookly-tbs .col-sm-3{width:25%}#bookly-tbs .col-sm-2{width:16.66666667%}#bookly-tbs .col-sm-1{width:8.33333333%}#bookly-tbs .col-sm-pull-12{right:100%}#bookly-tbs .col-sm-pull-11{right:91.66666667%}#bookly-tbs .col-sm-pull-10{right:83.33333333%}#bookly-tbs .col-sm-pull-9{right:75%}#bookly-tbs .col-sm-pull-8{right:66.66666667%}#bookly-tbs .col-sm-pull-7{right:58.33333333%}#bookly-tbs .col-sm-pull-6{right:50%}#bookly-tbs .col-sm-pull-5{right:41.66666667%}#bookly-tbs .col-sm-pull-4{right:33.33333333%}#bookly-tbs .col-sm-pull-3{right:25%}#bookly-tbs .col-sm-pull-2{right:16.66666667%}#bookly-tbs .col-sm-pull-1{right:8.33333333%}#bookly-tbs .col-sm-pull-0{right:auto}#bookly-tbs .col-sm-push-12{left:100%}#bookly-tbs .col-sm-push-11{left:91.66666667%}#bookly-tbs .col-sm-push-10{left:83.33333333%}#bookly-tbs .col-sm-push-9{left:75%}#bookly-tbs .col-sm-push-8{left:66.66666667%}#bookly-tbs .col-sm-push-7{left:58.33333333%}#bookly-tbs .col-sm-push-6{left:50%}#bookly-tbs .col-sm-push-5{left:41.66666667%}#bookly-tbs .col-sm-push-4{left:33.33333333%}#bookly-tbs .col-sm-push-3{left:25%}#bookly-tbs .col-sm-push-2{left:16.66666667%}#bookly-tbs .col-sm-push-1{left:8.33333333%}#bookly-tbs .col-sm-push-0{left:auto}#bookly-tbs .col-sm-offset-12{margin-left:100%}#bookly-tbs .col-sm-offset-11{margin-left:91.66666667%}#bookly-tbs .col-sm-offset-10{margin-left:83.33333333%}#bookly-tbs .col-sm-offset-9{margin-left:75%}#bookly-tbs .col-sm-offset-8{margin-left:66.66666667%}#bookly-tbs .col-sm-offset-7{margin-left:58.33333333%}#bookly-tbs .col-sm-offset-6{margin-left:50%}#bookly-tbs .col-sm-offset-5{margin-left:41.66666667%}#bookly-tbs .col-sm-offset-4{margin-left:33.33333333%}#bookly-tbs .col-sm-offset-3{margin-left:25%}#bookly-tbs .col-sm-offset-2{margin-left:16.66666667%}#bookly-tbs .col-sm-offset-1{margin-left:8.33333333%}#bookly-tbs .col-sm-offset-0{margin-left:0}}@media (min-width:992px){#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{float:left}#bookly-tbs .col-md-12{width:100%}#bookly-tbs .col-md-11{width:91.66666667%}#bookly-tbs .col-md-10{width:83.33333333%}#bookly-tbs .col-md-9{width:75%}#bookly-tbs .col-md-8{width:66.66666667%}#bookly-tbs .col-md-7{width:58.33333333%}#bookly-tbs .col-md-6{width:50%}#bookly-tbs .col-md-5{width:41.66666667%}#bookly-tbs .col-md-4{width:33.33333333%}#bookly-tbs .col-md-3{width:25%}#bookly-tbs .col-md-2{width:16.66666667%}#bookly-tbs .col-md-1{width:8.33333333%}#bookly-tbs .col-md-pull-12{right:100%}#bookly-tbs .col-md-pull-11{right:91.66666667%}#bookly-tbs .col-md-pull-10{right:83.33333333%}#bookly-tbs .col-md-pull-9{right:75%}#bookly-tbs .col-md-pull-8{right:66.66666667%}#bookly-tbs .col-md-pull-7{right:58.33333333%}#bookly-tbs .col-md-pull-6{right:50%}#bookly-tbs .col-md-pull-5{right:41.66666667%}#bookly-tbs .col-md-pull-4{right:33.33333333%}#bookly-tbs .col-md-pull-3{right:25%}#bookly-tbs .col-md-pull-2{right:16.66666667%}#bookly-tbs .col-md-pull-1{right:8.33333333%}#bookly-tbs .col-md-pull-0{right:auto}#bookly-tbs .col-md-push-12{left:100%}#bookly-tbs .col-md-push-11{left:91.66666667%}#bookly-tbs .col-md-push-10{left:83.33333333%}#bookly-tbs .col-md-push-9{left:75%}#bookly-tbs .col-md-push-8{left:66.66666667%}#bookly-tbs .col-md-push-7{left:58.33333333%}#bookly-tbs .col-md-push-6{left:50%}#bookly-tbs .col-md-push-5{left:41.66666667%}#bookly-tbs .col-md-push-4{left:33.33333333%}#bookly-tbs .col-md-push-3{left:25%}#bookly-tbs .col-md-push-2{left:16.66666667%}#bookly-tbs .col-md-push-1{left:8.33333333%}#bookly-tbs .col-md-push-0{left:auto}#bookly-tbs .col-md-offset-12{margin-left:100%}#bookly-tbs .col-md-offset-11{margin-left:91.66666667%}#bookly-tbs .col-md-offset-10{margin-left:83.33333333%}#bookly-tbs .col-md-offset-9{margin-left:75%}#bookly-tbs .col-md-offset-8{margin-left:66.66666667%}#bookly-tbs .col-md-offset-7{margin-left:58.33333333%}#bookly-tbs .col-md-offset-6{margin-left:50%}#bookly-tbs .col-md-offset-5{margin-left:41.66666667%}#bookly-tbs .col-md-offset-4{margin-left:33.33333333%}#bookly-tbs .col-md-offset-3{margin-left:25%}#bookly-tbs .col-md-offset-2{margin-left:16.66666667%}#bookly-tbs .col-md-offset-1{margin-left:8.33333333%}#bookly-tbs .col-md-offset-0{margin-left:0}}@media (min-width:1200px){#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{float:left}#bookly-tbs .col-lg-12{width:100%}#bookly-tbs .col-lg-11{width:91.66666667%}#bookly-tbs .col-lg-10{width:83.33333333%}#bookly-tbs .col-lg-9{width:75%}#bookly-tbs .col-lg-8{width:66.66666667%}#bookly-tbs .col-lg-7{width:58.33333333%}#bookly-tbs .col-lg-6{width:50%}#bookly-tbs .col-lg-5{width:41.66666667%}#bookly-tbs .col-lg-4{width:33.33333333%}#bookly-tbs .col-lg-3{width:25%}#bookly-tbs .col-lg-2{width:16.66666667%}#bookly-tbs .col-lg-1{width:8.33333333%}#bookly-tbs .col-lg-pull-12{right:100%}#bookly-tbs .col-lg-pull-11{right:91.66666667%}#bookly-tbs .col-lg-pull-10{right:83.33333333%}#bookly-tbs .col-lg-pull-9{right:75%}#bookly-tbs .col-lg-pull-8{right:66.66666667%}#bookly-tbs .col-lg-pull-7{right:58.33333333%}#bookly-tbs .col-lg-pull-6{right:50%}#bookly-tbs .col-lg-pull-5{right:41.66666667%}#bookly-tbs .col-lg-pull-4{right:33.33333333%}#bookly-tbs .col-lg-pull-3{right:25%}#bookly-tbs .col-lg-pull-2{right:16.66666667%}#bookly-tbs .col-lg-pull-1{right:8.33333333%}#bookly-tbs .col-lg-pull-0{right:auto}#bookly-tbs .col-lg-push-12{left:100%}#bookly-tbs .col-lg-push-11{left:91.66666667%}#bookly-tbs .col-lg-push-10{left:83.33333333%}#bookly-tbs .col-lg-push-9{left:75%}#bookly-tbs .col-lg-push-8{left:66.66666667%}#bookly-tbs .col-lg-push-7{left:58.33333333%}#bookly-tbs .col-lg-push-6{left:50%}#bookly-tbs .col-lg-push-5{left:41.66666667%}#bookly-tbs .col-lg-push-4{left:33.33333333%}#bookly-tbs .col-lg-push-3{left:25%}#bookly-tbs .col-lg-push-2{left:16.66666667%}#bookly-tbs .col-lg-push-1{left:8.33333333%}#bookly-tbs .col-lg-push-0{left:auto}#bookly-tbs .col-lg-offset-12{margin-left:100%}#bookly-tbs .col-lg-offset-11{margin-left:91.66666667%}#bookly-tbs .col-lg-offset-10{margin-left:83.33333333%}#bookly-tbs .col-lg-offset-9{margin-left:75%}#bookly-tbs .col-lg-offset-8{margin-left:66.66666667%}#bookly-tbs .col-lg-offset-7{margin-left:58.33333333%}#bookly-tbs .col-lg-offset-6{margin-left:50%}#bookly-tbs .col-lg-offset-5{margin-left:41.66666667%}#bookly-tbs .col-lg-offset-4{margin-left:33.33333333%}#bookly-tbs .col-lg-offset-3{margin-left:25%}#bookly-tbs .col-lg-offset-2{margin-left:16.66666667%}#bookly-tbs .col-lg-offset-1{margin-left:8.33333333%}#bookly-tbs .col-lg-offset-0{margin-left:0}}#bookly-tbs table{background-color:transparent}#bookly-tbs caption{padding-top:8px;padding-bottom:8px;color:#d9dee4;text-align:left}#bookly-tbs th{text-align:left}#bookly-tbs .table{width:100%;max-width:100%;margin-bottom:21px}#bookly-tbs .table>tbody>tr>td,#bookly-tbs .table>tbody>tr>th,#bookly-tbs .table>tfoot>tr>td,#bookly-tbs .table>tfoot>tr>th,#bookly-tbs .table>thead>tr>td,#bookly-tbs .table>thead>tr>th{padding:8px;line-height:1.4;vertical-align:top;border-top:1px solid #d9dee4}#bookly-tbs .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #d9dee4}#bookly-tbs .table>caption+thead>tr:first-child>td,#bookly-tbs .table>caption+thead>tr:first-child>th,#bookly-tbs .table>colgroup+thead>tr:first-child>td,#bookly-tbs .table>colgroup+thead>tr:first-child>th,#bookly-tbs .table>thead:first-child>tr:first-child>td,#bookly-tbs .table>thead:first-child>tr:first-child>th{border-top:0}#bookly-tbs .table>tbody+tbody{border-top:2px solid #d9dee4}#bookly-tbs .table .table{background-color:transparent}#bookly-tbs .table-condensed>tbody>tr>td,#bookly-tbs .table-condensed>tbody>tr>th,#bookly-tbs .table-condensed>tfoot>tr>td,#bookly-tbs .table-condensed>tfoot>tr>th,#bookly-tbs .table-condensed>thead>tr>td,#bookly-tbs .table-condensed>thead>tr>th{padding:5px}#bookly-tbs .table-bordered{border:1px solid #d9dee4}#bookly-tbs .table-bordered>tbody>tr>td,#bookly-tbs .table-bordered>tbody>tr>th,#bookly-tbs .table-bordered>tfoot>tr>td,#bookly-tbs .table-bordered>tfoot>tr>th,#bookly-tbs .table-bordered>thead>tr>td,#bookly-tbs .table-bordered>thead>tr>th{border:1px solid #d9dee4}#bookly-tbs .table-bordered>thead>tr>td,#bookly-tbs .table-bordered>thead>tr>th{border-bottom-width:2px}#bookly-tbs .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}#bookly-tbs .table-hover>tbody>tr:hover{background-color:#f5f5f5}#bookly-tbs table col[class*=col-]{position:static;display:table-column;float:none}#bookly-tbs table td[class*=col-],#bookly-tbs table th[class*=col-]{position:static;display:table-cell;float:none}#bookly-tbs .table>tbody>tr.active>td,#bookly-tbs .table>tbody>tr.active>th,#bookly-tbs .table>tbody>tr>td.active,#bookly-tbs .table>tbody>tr>th.active,#bookly-tbs .table>tfoot>tr.active>td,#bookly-tbs .table>tfoot>tr.active>th,#bookly-tbs .table>tfoot>tr>td.active,#bookly-tbs .table>tfoot>tr>th.active,#bookly-tbs .table>thead>tr.active>td,#bookly-tbs .table>thead>tr.active>th,#bookly-tbs .table>thead>tr>td.active,#bookly-tbs .table>thead>tr>th.active{background-color:#f5f5f5}#bookly-tbs .table-hover>tbody>tr.active:hover>td,#bookly-tbs .table-hover>tbody>tr.active:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.active,#bookly-tbs .table-hover>tbody>tr>td.active:hover,#bookly-tbs .table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}#bookly-tbs .table>tbody>tr.success>td,#bookly-tbs .table>tbody>tr.success>th,#bookly-tbs .table>tbody>tr>td.success,#bookly-tbs .table>tbody>tr>th.success,#bookly-tbs .table>tfoot>tr.success>td,#bookly-tbs .table>tfoot>tr.success>th,#bookly-tbs .table>tfoot>tr>td.success,#bookly-tbs .table>tfoot>tr>th.success,#bookly-tbs .table>thead>tr.success>td,#bookly-tbs .table>thead>tr.success>th,#bookly-tbs .table>thead>tr>td.success,#bookly-tbs .table>thead>tr>th.success{background-color:#dff0d8}#bookly-tbs .table-hover>tbody>tr.success:hover>td,#bookly-tbs .table-hover>tbody>tr.success:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.success,#bookly-tbs .table-hover>tbody>tr>td.success:hover,#bookly-tbs .table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}#bookly-tbs .table>tbody>tr.info>td,#bookly-tbs .table>tbody>tr.info>th,#bookly-tbs .table>tbody>tr>td.info,#bookly-tbs .table>tbody>tr>th.info,#bookly-tbs .table>tfoot>tr.info>td,#bookly-tbs .table>tfoot>tr.info>th,#bookly-tbs .table>tfoot>tr>td.info,#bookly-tbs .table>tfoot>tr>th.info,#bookly-tbs .table>thead>tr.info>td,#bookly-tbs .table>thead>tr.info>th,#bookly-tbs .table>thead>tr>td.info,#bookly-tbs .table>thead>tr>th.info{background-color:#d9edf7}#bookly-tbs .table-hover>tbody>tr.info:hover>td,#bookly-tbs .table-hover>tbody>tr.info:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.info,#bookly-tbs .table-hover>tbody>tr>td.info:hover,#bookly-tbs .table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}#bookly-tbs .table>tbody>tr.warning>td,#bookly-tbs .table>tbody>tr.warning>th,#bookly-tbs .table>tbody>tr>td.warning,#bookly-tbs .table>tbody>tr>th.warning,#bookly-tbs .table>tfoot>tr.warning>td,#bookly-tbs .table>tfoot>tr.warning>th,#bookly-tbs .table>tfoot>tr>td.warning,#bookly-tbs .table>tfoot>tr>th.warning,#bookly-tbs .table>thead>tr.warning>td,#bookly-tbs .table>thead>tr.warning>th,#bookly-tbs .table>thead>tr>td.warning,#bookly-tbs .table>thead>tr>th.warning{background-color:#fcf8e3}#bookly-tbs .table-hover>tbody>tr.warning:hover>td,#bookly-tbs .table-hover>tbody>tr.warning:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.warning,#bookly-tbs .table-hover>tbody>tr>td.warning:hover,#bookly-tbs .table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}#bookly-tbs .table>tbody>tr.danger>td,#bookly-tbs .table>tbody>tr.danger>th,#bookly-tbs .table>tbody>tr>td.danger,#bookly-tbs .table>tbody>tr>th.danger,#bookly-tbs .table>tfoot>tr.danger>td,#bookly-tbs .table>tfoot>tr.danger>th,#bookly-tbs .table>tfoot>tr>td.danger,#bookly-tbs .table>tfoot>tr>th.danger,#bookly-tbs .table>thead>tr.danger>td,#bookly-tbs .table>thead>tr.danger>th,#bookly-tbs .table>thead>tr>td.danger,#bookly-tbs .table>thead>tr>th.danger{background-color:#f2dede}#bookly-tbs .table-hover>tbody>tr.danger:hover>td,#bookly-tbs .table-hover>tbody>tr.danger:hover>th,#bookly-tbs .table-hover>tbody>tr:hover>.danger,#bookly-tbs .table-hover>tbody>tr>td.danger:hover,#bookly-tbs .table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}#bookly-tbs .table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){#bookly-tbs .table-responsive{width:100%;margin-bottom:15.75px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #d9dee4}#bookly-tbs .table-responsive>.table{margin-bottom:0}#bookly-tbs .table-responsive>.table>tbody>tr>td,#bookly-tbs .table-responsive>.table>tbody>tr>th,#bookly-tbs .table-responsive>.table>tfoot>tr>td,#bookly-tbs .table-responsive>.table>tfoot>tr>th,#bookly-tbs .table-responsive>.table>thead>tr>td,#bookly-tbs .table-responsive>.table>thead>tr>th{white-space:nowrap}#bookly-tbs .table-responsive>.table-bordered{border:0}#bookly-tbs .table-responsive>.table-bordered>tbody>tr>td:first-child,#bookly-tbs .table-responsive>.table-bordered>tbody>tr>th:first-child,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr>td:first-child,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr>th:first-child,#bookly-tbs .table-responsive>.table-bordered>thead>tr>td:first-child,#bookly-tbs .table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}#bookly-tbs .table-responsive>.table-bordered>tbody>tr>td:last-child,#bookly-tbs .table-responsive>.table-bordered>tbody>tr>th:last-child,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr>td:last-child,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr>th:last-child,#bookly-tbs .table-responsive>.table-bordered>thead>tr>td:last-child,#bookly-tbs .table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}#bookly-tbs .table-responsive>.table-bordered>tbody>tr:last-child>td,#bookly-tbs .table-responsive>.table-bordered>tbody>tr:last-child>th,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr:last-child>td,#bookly-tbs .table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}#bookly-tbs fieldset{min-width:0;padding:0;margin:0;border:0}#bookly-tbs legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#5b6470;border:0;border-bottom:1px solid #e8ebf0}#bookly-tbs label{display:inline-block;max-width:100%;margin-bottom:7px;font-weight:700}#bookly-tbs input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{margin:3px 0 0;margin-top:1px\9;line-height:normal}#bookly-tbs input[type=file]{display:block}#bookly-tbs input[type=range]{display:block;width:100%}#bookly-tbs select[multiple],#bookly-tbs select[size]{height:auto}#bookly-tbs input[type=file]:focus,#bookly-tbs input[type=checkbox]:focus,#bookly-tbs input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}#bookly-tbs output{display:block;padding-top:7px;font-size:15px;line-height:1.4;color:#3e424a}#bookly-tbs .form-control{display:block;width:100%;height:35px;padding:6px 12px;font-size:15px;line-height:1.4;color:#3e424a;background-color:#fff;background-image:none;border:1px solid #d9dee4;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,0);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}#bookly-tbs .form-control:focus{border-color:#08c;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0),0 0 8px rgba(0,136,204,0);box-shadow:inset 0 1px 1px rgba(0,0,0,0),0 0 8px rgba(0,136,204,0)}#bookly-tbs .form-control::-moz-placeholder{color:#8a929e;opacity:1}#bookly-tbs .form-control:-ms-input-placeholder{color:#8a929e}#bookly-tbs .form-control::-webkit-input-placeholder{color:#8a929e}#bookly-tbs .form-control::-ms-expand{background-color:transparent;border:0}#bookly-tbs .form-control[disabled],#bookly-tbs .form-control[readonly],#bookly-tbs fieldset[disabled] .form-control{background-color:rgba(232,235,240,.7);opacity:1}#bookly-tbs .form-control[disabled],#bookly-tbs fieldset[disabled] .form-control{cursor:not-allowed}#bookly-tbs textarea.form-control{height:auto}#bookly-tbs input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){#bookly-tbs input[type=date].form-control,#bookly-tbs input[type=time].form-control,#bookly-tbs input[type=datetime-local].form-control,#bookly-tbs input[type=month].form-control{line-height:35px}#bookly-tbs .input-group-sm input[type=date],#bookly-tbs .input-group-sm input[type=time],#bookly-tbs .input-group-sm input[type=datetime-local],#bookly-tbs .input-group-sm input[type=month],#bookly-tbs input[type=date].input-sm,#bookly-tbs input[type=time].input-sm,#bookly-tbs input[type=datetime-local].input-sm,#bookly-tbs input[type=month].input-sm{line-height:32px}#bookly-tbs .input-group-lg input[type=date],#bookly-tbs .input-group-lg input[type=time],#bookly-tbs .input-group-lg input[type=datetime-local],#bookly-tbs .input-group-lg input[type=month],#bookly-tbs input[type=date].input-lg,#bookly-tbs input[type=time].input-lg,#bookly-tbs input[type=datetime-local].input-lg,#bookly-tbs input[type=month].input-lg{line-height:46px}}#bookly-tbs .form-group{margin-bottom:20px}#bookly-tbs .checkbox,#bookly-tbs .radio{position:relative;display:block;margin-top:6px;margin-bottom:7px}#bookly-tbs .checkbox label,#bookly-tbs .radio label{min-height:21px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}#bookly-tbs .checkbox input[type=checkbox],#bookly-tbs .checkbox-inline input[type=checkbox],#bookly-tbs .radio input[type=radio],#bookly-tbs .radio-inline input[type=radio]{position:absolute;margin-top:3px\9;margin-left:-20px}#bookly-tbs .checkbox+.checkbox,#bookly-tbs .radio+.radio{margin-top:-5px}#bookly-tbs .checkbox-inline,#bookly-tbs .radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}#bookly-tbs .checkbox-inline+.checkbox-inline,#bookly-tbs .radio-inline+.radio-inline{margin-top:0;margin-left:10px}#bookly-tbs fieldset[disabled] input[type=checkbox],#bookly-tbs fieldset[disabled] input[type=radio],#bookly-tbs input[type=checkbox].disabled,#bookly-tbs input[type=checkbox][disabled],#bookly-tbs input[type=radio].disabled,#bookly-tbs input[type=radio][disabled]{cursor:not-allowed}#bookly-tbs .checkbox-inline.disabled,#bookly-tbs .radio-inline.disabled,#bookly-tbs fieldset[disabled] .checkbox-inline,#bookly-tbs fieldset[disabled] .radio-inline{cursor:not-allowed}#bookly-tbs .checkbox.disabled label,#bookly-tbs .radio.disabled label,#bookly-tbs fieldset[disabled] .checkbox label,#bookly-tbs fieldset[disabled] .radio label{cursor:not-allowed}#bookly-tbs .form-control-static{min-height:36px;padding-top:7px;padding-bottom:7px;margin-bottom:0}#bookly-tbs .form-control-static.input-lg,#bookly-tbs .form-control-static.input-sm{padding-right:0;padding-left:0}#bookly-tbs .input-sm{height:32px;padding:5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs select.input-sm{height:32px;line-height:32px}#bookly-tbs select[multiple].input-sm,#bookly-tbs textarea.input-sm{height:auto}#bookly-tbs .form-group-sm .form-control{height:32px;padding:5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs .form-group-sm select.form-control{height:32px;line-height:32px}#bookly-tbs .form-group-sm select[multiple].form-control,#bookly-tbs .form-group-sm textarea.form-control{height:auto}#bookly-tbs .form-group-sm .form-control-static{height:32px;min-height:34px;padding:6px 10px;font-size:13px;line-height:1.53846154}#bookly-tbs .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}#bookly-tbs select.input-lg{height:46px;line-height:46px}#bookly-tbs select[multiple].input-lg,#bookly-tbs textarea.input-lg{height:auto}#bookly-tbs .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}#bookly-tbs .form-group-lg select.form-control{height:46px;line-height:46px}#bookly-tbs .form-group-lg select[multiple].form-control,#bookly-tbs .form-group-lg textarea.form-control{height:auto}#bookly-tbs .form-group-lg .form-control-static{height:46px;min-height:39px;padding:11px 16px;font-size:18px;line-height:1.3333333}#bookly-tbs .has-feedback{position:relative}#bookly-tbs .has-feedback .form-control{padding-right:43.75px}#bookly-tbs .form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:35px;height:35px;line-height:35px;text-align:center;pointer-events:none}#bookly-tbs .form-group-lg .form-control+.form-control-feedback,#bookly-tbs .input-group-lg+.form-control-feedback,#bookly-tbs .input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}#bookly-tbs .form-group-sm .form-control+.form-control-feedback,#bookly-tbs .input-group-sm+.form-control-feedback,#bookly-tbs .input-sm+.form-control-feedback{width:32px;height:32px;line-height:32px}#bookly-tbs .has-success .checkbox,#bookly-tbs .has-success .checkbox-inline,#bookly-tbs .has-success .control-label,#bookly-tbs .has-success .help-block,#bookly-tbs .has-success .radio,#bookly-tbs .has-success .radio-inline,#bookly-tbs .has-success.checkbox label,#bookly-tbs .has-success.checkbox-inline label,#bookly-tbs .has-success.radio label,#bookly-tbs .has-success.radio-inline label{color:#3c763d}#bookly-tbs .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}#bookly-tbs .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}#bookly-tbs .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}#bookly-tbs .has-success .form-control-feedback{color:#3c763d}#bookly-tbs .has-warning .checkbox,#bookly-tbs .has-warning .checkbox-inline,#bookly-tbs .has-warning .control-label,#bookly-tbs .has-warning .help-block,#bookly-tbs .has-warning .radio,#bookly-tbs .has-warning .radio-inline,#bookly-tbs .has-warning.checkbox label,#bookly-tbs .has-warning.checkbox-inline label,#bookly-tbs .has-warning.radio label,#bookly-tbs .has-warning.radio-inline label{color:#8a6d3b}#bookly-tbs .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}#bookly-tbs .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}#bookly-tbs .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}#bookly-tbs .has-warning .form-control-feedback{color:#8a6d3b}#bookly-tbs .has-error .checkbox,#bookly-tbs .has-error .checkbox-inline,#bookly-tbs .has-error .control-label,#bookly-tbs .has-error .help-block,#bookly-tbs .has-error .radio,#bookly-tbs .has-error .radio-inline,#bookly-tbs .has-error.checkbox label,#bookly-tbs .has-error.checkbox-inline label,#bookly-tbs .has-error.radio label,#bookly-tbs .has-error.radio-inline label{color:#a94442}#bookly-tbs .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}#bookly-tbs .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}#bookly-tbs .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}#bookly-tbs .has-error .form-control-feedback{color:#a94442}#bookly-tbs .has-feedback label~.form-control-feedback{top:26px}#bookly-tbs .has-feedback label.sr-only~.form-control-feedback{top:0}#bookly-tbs .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#8a929e}@media (min-width:768px){#bookly-tbs .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}#bookly-tbs .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}#bookly-tbs .form-inline .form-control-static{display:inline-block}#bookly-tbs .form-inline .input-group{display:inline-table;vertical-align:middle}#bookly-tbs .form-inline .input-group .form-control,#bookly-tbs .form-inline .input-group .input-group-addon,#bookly-tbs .form-inline .input-group .input-group-btn{width:auto}#bookly-tbs .form-inline .input-group>.form-control{width:100%}#bookly-tbs .form-inline .control-label{margin-bottom:0;vertical-align:middle}#bookly-tbs .form-inline .checkbox,#bookly-tbs .form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}#bookly-tbs .form-inline .has-feedback .form-control-feedback{top:0}}#bookly-tbs .form-horizontal .checkbox,#bookly-tbs .form-horizontal .checkbox-inline,#bookly-tbs .form-horizontal .radio,#bookly-tbs .form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}#bookly-tbs .form-horizontal .checkbox,#bookly-tbs .form-horizontal .radio{min-height:28px}#bookly-tbs .form-horizontal .form-group{margin-right:-10px;margin-left:-10px}@media (min-width:768px){#bookly-tbs .form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}#bookly-tbs .form-horizontal .has-feedback .form-control-feedback{right:10px}@media (min-width:768px){#bookly-tbs .form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){#bookly-tbs .form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:13px}}#bookly-tbs .btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:15px;font-weight:400;line-height:1.4;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}#bookly-tbs .btn.active.focus,#bookly-tbs .btn.active:focus,#bookly-tbs .btn.focus,#bookly-tbs .btn:active.focus,#bookly-tbs .btn:active:focus,#bookly-tbs .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}#bookly-tbs .btn.focus,#bookly-tbs .btn:focus,#bookly-tbs .btn:hover{color:#3e424a;text-decoration:none}#bookly-tbs .btn.active,#bookly-tbs .btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}#bookly-tbs .btn.disabled,#bookly-tbs .btn[disabled],#bookly-tbs fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}#bookly-tbs a.btn.disabled,#bookly-tbs fieldset[disabled] a.btn{pointer-events:none}#bookly-tbs .btn-default{color:#3e424a;background-color:#fff;border-color:#d9dee4}#bookly-tbs .btn-default.focus,#bookly-tbs .btn-default:focus{color:#3e424a;background-color:#e6e6e6;border-color:#8e9daf}#bookly-tbs .btn-default:hover{color:#3e424a;background-color:#e6e6e6;border-color:#b5bfcb}#bookly-tbs .btn-default.active,#bookly-tbs .btn-default:active,#bookly-tbs .open>.dropdown-toggle.btn-default{color:#3e424a;background-color:#e6e6e6;border-color:#b5bfcb}#bookly-tbs .btn-default.active.focus,#bookly-tbs .btn-default.active:focus,#bookly-tbs .btn-default.active:hover,#bookly-tbs .btn-default:active.focus,#bookly-tbs .btn-default:active:focus,#bookly-tbs .btn-default:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-default.focus,#bookly-tbs .open>.dropdown-toggle.btn-default:focus,#bookly-tbs .open>.dropdown-toggle.btn-default:hover{color:#3e424a;background-color:#d4d4d4;border-color:#8e9daf}#bookly-tbs .btn-default.active,#bookly-tbs .btn-default:active,#bookly-tbs .open>.dropdown-toggle.btn-default{background-image:none}#bookly-tbs .btn-default.disabled.focus,#bookly-tbs .btn-default.disabled:focus,#bookly-tbs .btn-default.disabled:hover,#bookly-tbs .btn-default[disabled].focus,#bookly-tbs .btn-default[disabled]:focus,#bookly-tbs .btn-default[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-default.focus,#bookly-tbs fieldset[disabled] .btn-default:focus,#bookly-tbs fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#d9dee4}#bookly-tbs .btn-default .badge{color:#fff;background-color:#3e424a}#bookly-tbs .btn-primary{color:#fff;background-color:#08c;border-color:#08c}#bookly-tbs .btn-primary.focus,#bookly-tbs .btn-primary:focus{color:#fff;background-color:#069;border-color:#00334d}#bookly-tbs .btn-primary:hover{color:#fff;background-color:#069;border-color:#005f8f}#bookly-tbs .btn-primary.active,#bookly-tbs .btn-primary:active,#bookly-tbs .open>.dropdown-toggle.btn-primary{color:#fff;background-color:#069;border-color:#005f8f}#bookly-tbs .btn-primary.active.focus,#bookly-tbs .btn-primary.active:focus,#bookly-tbs .btn-primary.active:hover,#bookly-tbs .btn-primary:active.focus,#bookly-tbs .btn-primary:active:focus,#bookly-tbs .btn-primary:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-primary.focus,#bookly-tbs .open>.dropdown-toggle.btn-primary:focus,#bookly-tbs .open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#004e75;border-color:#00334d}#bookly-tbs .btn-primary.active,#bookly-tbs .btn-primary:active,#bookly-tbs .open>.dropdown-toggle.btn-primary{background-image:none}#bookly-tbs .btn-primary.disabled.focus,#bookly-tbs .btn-primary.disabled:focus,#bookly-tbs .btn-primary.disabled:hover,#bookly-tbs .btn-primary[disabled].focus,#bookly-tbs .btn-primary[disabled]:focus,#bookly-tbs .btn-primary[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-primary.focus,#bookly-tbs fieldset[disabled] .btn-primary:focus,#bookly-tbs fieldset[disabled] .btn-primary:hover{background-color:#08c;border-color:#08c}#bookly-tbs .btn-primary .badge{color:#08c;background-color:#fff}#bookly-tbs .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}#bookly-tbs .btn-success.focus,#bookly-tbs .btn-success:focus{color:#fff;background-color:#449d44;border-color:#2d672d}#bookly-tbs .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}#bookly-tbs .btn-success.active,#bookly-tbs .btn-success:active,#bookly-tbs .open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#419641}#bookly-tbs .btn-success.active.focus,#bookly-tbs .btn-success.active:focus,#bookly-tbs .btn-success.active:hover,#bookly-tbs .btn-success:active.focus,#bookly-tbs .btn-success:active:focus,#bookly-tbs .btn-success:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-success.focus,#bookly-tbs .open>.dropdown-toggle.btn-success:focus,#bookly-tbs .open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#2d672d}#bookly-tbs .btn-success.active,#bookly-tbs .btn-success:active,#bookly-tbs .open>.dropdown-toggle.btn-success{background-image:none}#bookly-tbs .btn-success.disabled.focus,#bookly-tbs .btn-success.disabled:focus,#bookly-tbs .btn-success.disabled:hover,#bookly-tbs .btn-success[disabled].focus,#bookly-tbs .btn-success[disabled]:focus,#bookly-tbs .btn-success[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-success.focus,#bookly-tbs fieldset[disabled] .btn-success:focus,#bookly-tbs fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#5cb85c}#bookly-tbs .btn-success .badge{color:#5cb85c;background-color:#fff}#bookly-tbs .btn-info{color:#fff;background-color:#5bc0de;border-color:#31b0d5}#bookly-tbs .btn-info.focus,#bookly-tbs .btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#175b70}#bookly-tbs .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2289a7}#bookly-tbs .btn-info.active,#bookly-tbs .btn-info:active,#bookly-tbs .open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#2289a7}#bookly-tbs .btn-info.active.focus,#bookly-tbs .btn-info.active:focus,#bookly-tbs .btn-info.active:hover,#bookly-tbs .btn-info:active.focus,#bookly-tbs .btn-info:active:focus,#bookly-tbs .btn-info:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-info.focus,#bookly-tbs .open>.dropdown-toggle.btn-info:focus,#bookly-tbs .open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#175b70}#bookly-tbs .btn-info.active,#bookly-tbs .btn-info:active,#bookly-tbs .open>.dropdown-toggle.btn-info{background-image:none}#bookly-tbs .btn-info.disabled.focus,#bookly-tbs .btn-info.disabled:focus,#bookly-tbs .btn-info.disabled:hover,#bookly-tbs .btn-info[disabled].focus,#bookly-tbs .btn-info[disabled]:focus,#bookly-tbs .btn-info[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-info.focus,#bookly-tbs fieldset[disabled] .btn-info:focus,#bookly-tbs fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#31b0d5}#bookly-tbs .btn-info .badge{color:#5bc0de;background-color:#fff}#bookly-tbs .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}#bookly-tbs .btn-warning.focus,#bookly-tbs .btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#b06d0f}#bookly-tbs .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}#bookly-tbs .btn-warning.active,#bookly-tbs .btn-warning:active,#bookly-tbs .open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#eb9316}#bookly-tbs .btn-warning.active.focus,#bookly-tbs .btn-warning.active:focus,#bookly-tbs .btn-warning.active:hover,#bookly-tbs .btn-warning:active.focus,#bookly-tbs .btn-warning:active:focus,#bookly-tbs .btn-warning:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-warning.focus,#bookly-tbs .open>.dropdown-toggle.btn-warning:focus,#bookly-tbs .open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#b06d0f}#bookly-tbs .btn-warning.active,#bookly-tbs .btn-warning:active,#bookly-tbs .open>.dropdown-toggle.btn-warning{background-image:none}#bookly-tbs .btn-warning.disabled.focus,#bookly-tbs .btn-warning.disabled:focus,#bookly-tbs .btn-warning.disabled:hover,#bookly-tbs .btn-warning[disabled].focus,#bookly-tbs .btn-warning[disabled]:focus,#bookly-tbs .btn-warning[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-warning.focus,#bookly-tbs fieldset[disabled] .btn-warning:focus,#bookly-tbs fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#f0ad4e}#bookly-tbs .btn-warning .badge{color:#f0ad4e;background-color:#fff}#bookly-tbs .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}#bookly-tbs .btn-danger.focus,#bookly-tbs .btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#8b211e}#bookly-tbs .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}#bookly-tbs .btn-danger.active,#bookly-tbs .btn-danger:active,#bookly-tbs .open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#c12e2a}#bookly-tbs .btn-danger.active.focus,#bookly-tbs .btn-danger.active:focus,#bookly-tbs .btn-danger.active:hover,#bookly-tbs .btn-danger:active.focus,#bookly-tbs .btn-danger:active:focus,#bookly-tbs .btn-danger:active:hover,#bookly-tbs .open>.dropdown-toggle.btn-danger.focus,#bookly-tbs .open>.dropdown-toggle.btn-danger:focus,#bookly-tbs .open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#8b211e}#bookly-tbs .btn-danger.active,#bookly-tbs .btn-danger:active,#bookly-tbs .open>.dropdown-toggle.btn-danger{background-image:none}#bookly-tbs .btn-danger.disabled.focus,#bookly-tbs .btn-danger.disabled:focus,#bookly-tbs .btn-danger.disabled:hover,#bookly-tbs .btn-danger[disabled].focus,#bookly-tbs .btn-danger[disabled]:focus,#bookly-tbs .btn-danger[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-danger.focus,#bookly-tbs fieldset[disabled] .btn-danger:focus,#bookly-tbs fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d9534f}#bookly-tbs .btn-danger .badge{color:#d9534f;background-color:#fff}#bookly-tbs .btn-link{font-weight:400;color:#08c;border-radius:0}#bookly-tbs .btn-link,#bookly-tbs .btn-link.active,#bookly-tbs .btn-link:active,#bookly-tbs .btn-link[disabled],#bookly-tbs fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .btn-link,#bookly-tbs .btn-link:active,#bookly-tbs .btn-link:focus,#bookly-tbs .btn-link:hover{border-color:transparent}#bookly-tbs .btn-link:focus,#bookly-tbs .btn-link:hover{color:#005580;text-decoration:none;background-color:transparent}#bookly-tbs .btn-link[disabled]:focus,#bookly-tbs .btn-link[disabled]:hover,#bookly-tbs fieldset[disabled] .btn-link:focus,#bookly-tbs fieldset[disabled] .btn-link:hover{color:#8a929e;text-decoration:none}#bookly-tbs .btn-group-lg>.btn,#bookly-tbs .btn-lg{padding:10px 16px;font-size:15px;line-height:1.3333333;border-radius:4px}#bookly-tbs .btn-group-sm>.btn,#bookly-tbs .btn-sm{padding:5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs .btn-group-xs>.btn,#bookly-tbs .btn-xs{padding:1px 5px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs .btn-block{display:block;width:100%}#bookly-tbs .btn-block+.btn-block{margin-top:5px}#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{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}#bookly-tbs .fade.in{opacity:1}#bookly-tbs .collapse{display:none}#bookly-tbs .collapse.in{display:block}#bookly-tbs tr.collapse.in{display:table-row}#bookly-tbs tbody.collapse.in{display:table-row-group}#bookly-tbs .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}#bookly-tbs .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:5px dashed;border-top:5px solid\9;border-right:5px solid transparent;border-left:5px solid transparent}#bookly-tbs .dropdown,#bookly-tbs .dropup{position:relative}#bookly-tbs .dropdown-toggle:focus{outline:0}#bookly-tbs .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:15px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}#bookly-tbs .dropdown-menu.pull-right{right:0;left:auto}#bookly-tbs .dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}#bookly-tbs .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.4;color:#5b6470;white-space:nowrap}#bookly-tbs .dropdown-menu>li>a:focus,#bookly-tbs .dropdown-menu>li>a:hover{color:#505762;text-decoration:none;background-color:#f5f5f5}#bookly-tbs .dropdown-menu>.active>a,#bookly-tbs .dropdown-menu>.active>a:focus,#bookly-tbs .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#08c;outline:0}#bookly-tbs .dropdown-menu>.disabled>a,#bookly-tbs .dropdown-menu>.disabled>a:focus,#bookly-tbs .dropdown-menu>.disabled>a:hover{color:#d9dee4}#bookly-tbs .dropdown-menu>.disabled>a:focus,#bookly-tbs .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}#bookly-tbs .open>.dropdown-menu{display:block}#bookly-tbs .open>a{outline:0}#bookly-tbs .dropdown-menu-right{right:0;left:auto}#bookly-tbs .dropdown-menu-left{right:auto;left:0}#bookly-tbs .dropdown-header{display:block;padding:3px 20px;font-size:13px;line-height:1.4;color:#d9dee4;white-space:nowrap}#bookly-tbs .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}#bookly-tbs .pull-right>.dropdown-menu{right:0;left:auto}#bookly-tbs .dropup .caret,#bookly-tbs .navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:5px dashed;border-bottom:5px solid\9}#bookly-tbs .dropup .dropdown-menu,#bookly-tbs .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){#bookly-tbs .navbar-right .dropdown-menu{right:0;left:auto}#bookly-tbs .navbar-right .dropdown-menu-left{right:auto;left:0}}#bookly-tbs .btn-group,#bookly-tbs .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group>.btn{position:relative;float:left}#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-vertical>.btn:hover,#bookly-tbs .btn-group>.btn.active,#bookly-tbs .btn-group>.btn:active,#bookly-tbs .btn-group>.btn:focus,#bookly-tbs .btn-group>.btn:hover{z-index:2}#bookly-tbs .btn-group .btn+.btn,#bookly-tbs .btn-group .btn+.btn-group,#bookly-tbs .btn-group .btn-group+.btn,#bookly-tbs .btn-group .btn-group+.btn-group{margin-left:-1px}#bookly-tbs .btn-toolbar{margin-left:-5px}#bookly-tbs .btn-toolbar .btn,#bookly-tbs .btn-toolbar .btn-group,#bookly-tbs .btn-toolbar .input-group{float:left}#bookly-tbs .btn-toolbar>.btn,#bookly-tbs .btn-toolbar>.btn-group,#bookly-tbs .btn-toolbar>.input-group{margin-left:5px}#bookly-tbs .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}#bookly-tbs .btn-group>.btn:first-child{margin-left:0}#bookly-tbs .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .btn-group>.btn:last-child:not(:first-child),#bookly-tbs .btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group>.btn-group{float:left}#bookly-tbs .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}#bookly-tbs .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,#bookly-tbs .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group .dropdown-toggle:active,#bookly-tbs .btn-group.open .dropdown-toggle{outline:0}#bookly-tbs .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}#bookly-tbs .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}#bookly-tbs .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}#bookly-tbs .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .btn .caret{margin-left:0}#bookly-tbs .btn-lg .caret{border-width:6px 6px 0;border-bottom-width:0}#bookly-tbs .dropup .btn-lg .caret{border-width:0 6px 6px}#bookly-tbs .btn-group-vertical>.btn,#bookly-tbs .btn-group-vertical>.btn-group,#bookly-tbs .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}#bookly-tbs .btn-group-vertical>.btn-group>.btn{float:none}#bookly-tbs .btn-group-vertical>.btn+.btn,#bookly-tbs .btn-group-vertical>.btn+.btn-group,#bookly-tbs .btn-group-vertical>.btn-group+.btn,#bookly-tbs .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}#bookly-tbs .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}#bookly-tbs .btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}#bookly-tbs .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}#bookly-tbs .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,#bookly-tbs .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}#bookly-tbs .btn-group-justified>.btn,#bookly-tbs .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}#bookly-tbs .btn-group-justified>.btn-group .btn{width:100%}#bookly-tbs .btn-group-justified>.btn-group .dropdown-menu{left:auto}#bookly-tbs [data-toggle=buttons]>.btn input[type=checkbox],#bookly-tbs [data-toggle=buttons]>.btn input[type=radio],#bookly-tbs [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],#bookly-tbs [data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}#bookly-tbs .input-group{position:relative;display:table;border-collapse:separate}#bookly-tbs .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}#bookly-tbs .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}#bookly-tbs .input-group .form-control:focus{z-index:3}#bookly-tbs .input-group-lg>.form-control,#bookly-tbs .input-group-lg>.input-group-addon,#bookly-tbs .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}#bookly-tbs select.input-group-lg>.form-control,#bookly-tbs select.input-group-lg>.input-group-addon,#bookly-tbs select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}#bookly-tbs select[multiple].input-group-lg>.form-control,#bookly-tbs select[multiple].input-group-lg>.input-group-addon,#bookly-tbs select[multiple].input-group-lg>.input-group-btn>.btn,#bookly-tbs textarea.input-group-lg>.form-control,#bookly-tbs textarea.input-group-lg>.input-group-addon,#bookly-tbs textarea.input-group-lg>.input-group-btn>.btn{height:auto}#bookly-tbs .input-group-sm>.form-control,#bookly-tbs .input-group-sm>.input-group-addon,#bookly-tbs .input-group-sm>.input-group-btn>.btn{height:32px;padding:5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}#bookly-tbs select.input-group-sm>.form-control,#bookly-tbs select.input-group-sm>.input-group-addon,#bookly-tbs select.input-group-sm>.input-group-btn>.btn{height:32px;line-height:32px}#bookly-tbs select[multiple].input-group-sm>.form-control,#bookly-tbs select[multiple].input-group-sm>.input-group-addon,#bookly-tbs select[multiple].input-group-sm>.input-group-btn>.btn,#bookly-tbs textarea.input-group-sm>.form-control,#bookly-tbs textarea.input-group-sm>.input-group-addon,#bookly-tbs textarea.input-group-sm>.input-group-btn>.btn{height:auto}#bookly-tbs .input-group .form-control,#bookly-tbs .input-group-addon,#bookly-tbs .input-group-btn{display:table-cell}#bookly-tbs .input-group .form-control:not(:first-child):not(:last-child),#bookly-tbs .input-group-addon:not(:first-child):not(:last-child),#bookly-tbs .input-group-btn:not(:first-child):not(:last-child){border-radius:0}#bookly-tbs .input-group-addon,#bookly-tbs .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}#bookly-tbs .input-group-addon{padding:6px 12px;font-size:15px;font-weight:400;line-height:1;color:#3e424a;text-align:center;background-color:#e8ebf0;border:1px solid #d9dee4;border-radius:4px}#bookly-tbs .input-group-addon.input-sm{padding:5px 10px;font-size:13px;border-radius:3px}#bookly-tbs .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}#bookly-tbs .input-group-addon input[type=checkbox],#bookly-tbs .input-group-addon input[type=radio]{margin-top:0}#bookly-tbs .input-group .form-control:first-child,#bookly-tbs .input-group-addon:first-child,#bookly-tbs .input-group-btn:first-child>.btn,#bookly-tbs .input-group-btn:first-child>.btn-group>.btn,#bookly-tbs .input-group-btn:first-child>.dropdown-toggle,#bookly-tbs .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,#bookly-tbs .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .input-group-addon:first-child{border-right:0}#bookly-tbs .input-group .form-control:last-child,#bookly-tbs .input-group-addon:last-child,#bookly-tbs .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,#bookly-tbs .input-group-btn:first-child>.btn:not(:first-child),#bookly-tbs .input-group-btn:last-child>.btn,#bookly-tbs .input-group-btn:last-child>.btn-group>.btn,#bookly-tbs .input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .input-group-addon:last-child{border-left:0}#bookly-tbs .input-group-btn{position:relative;font-size:0;white-space:nowrap}#bookly-tbs .input-group-btn>.btn{position:relative}#bookly-tbs .input-group-btn>.btn+.btn{margin-left:-1px}#bookly-tbs .input-group-btn>.btn:active,#bookly-tbs .input-group-btn>.btn:focus,#bookly-tbs .input-group-btn>.btn:hover{z-index:2}#bookly-tbs .input-group-btn:first-child>.btn,#bookly-tbs .input-group-btn:first-child>.btn-group{margin-right:-1px}#bookly-tbs .input-group-btn:last-child>.btn,#bookly-tbs .input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}#bookly-tbs .nav{padding-left:0;margin-bottom:0;list-style:none}#bookly-tbs .nav>li{position:relative;display:block}#bookly-tbs .nav>li>a{position:relative;display:block;padding:10px 15px}#bookly-tbs .nav>li>a:focus,#bookly-tbs .nav>li>a:hover{text-decoration:none;background-color:#e8ebf0}#bookly-tbs .nav>li.disabled>a{color:#d9dee4}#bookly-tbs .nav>li.disabled>a:focus,#bookly-tbs .nav>li.disabled>a:hover{color:#d9dee4;text-decoration:none;cursor:not-allowed;background-color:transparent}#bookly-tbs .nav .open>a,#bookly-tbs .nav .open>a:focus,#bookly-tbs .nav .open>a:hover{background-color:#e8ebf0;border-color:#08c}#bookly-tbs .nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}#bookly-tbs .nav>li>a>img{max-width:none}#bookly-tbs .nav-tabs{border-bottom:1px solid #d9dee4}#bookly-tbs .nav-tabs>li{float:left;margin-bottom:-1px}#bookly-tbs .nav-tabs>li>a{margin-right:2px;line-height:1.4;border:1px solid transparent;border-radius:4px 4px 0 0}#bookly-tbs .nav-tabs>li>a:hover{border-color:#e8ebf0 #e8ebf0 #d9dee4}#bookly-tbs .nav-tabs>li.active>a,#bookly-tbs .nav-tabs>li.active>a:focus,#bookly-tbs .nav-tabs>li.active>a:hover{color:#8a929e;cursor:default;background-color:transparent;border:1px solid transparent;border-bottom-color:transparent}#bookly-tbs .nav-tabs.nav-justified{width:100%;border-bottom:0}#bookly-tbs .nav-tabs.nav-justified>li{float:none}#bookly-tbs .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}#bookly-tbs .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:1px){#bookly-tbs .nav-tabs.nav-justified>li{display:table-cell;width:1%}#bookly-tbs .nav-tabs.nav-justified>li>a{margin-bottom:0}}#bookly-tbs .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}#bookly-tbs .nav-tabs.nav-justified>.active>a,#bookly-tbs .nav-tabs.nav-justified>.active>a:focus,#bookly-tbs .nav-tabs.nav-justified>.active>a:hover{border:1px solid #08c}@media (min-width:768px){#bookly-tbs .nav-tabs.nav-justified>li>a{border-bottom:1px solid #d9dee4;border-radius:4px 4px 0 0}#bookly-tbs .nav-tabs.nav-justified>.active>a,#bookly-tbs .nav-tabs.nav-justified>.active>a:focus,#bookly-tbs .nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#08c}}#bookly-tbs .nav-pills>li{float:left}#bookly-tbs .nav-pills>li>a{border-radius:4px}#bookly-tbs .nav-pills>li+li{margin-left:2px}#bookly-tbs .nav-pills>li.active>a,#bookly-tbs .nav-pills>li.active>a:focus,#bookly-tbs .nav-pills>li.active>a:hover{color:#fff;background-color:#08c}#bookly-tbs .nav-stacked>li{float:none}#bookly-tbs .nav-stacked>li+li{margin-top:2px;margin-left:0}#bookly-tbs .nav-justified{width:100%}#bookly-tbs .nav-justified>li{float:none}#bookly-tbs .nav-justified>li>a{margin-bottom:5px;text-align:center}#bookly-tbs .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:1px){#bookly-tbs .nav-justified>li{display:table-cell;width:1%}#bookly-tbs .nav-justified>li>a{margin-bottom:0}}#bookly-tbs .nav-tabs-justified{border-bottom:0}#bookly-tbs .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}#bookly-tbs .nav-tabs-justified>.active>a,#bookly-tbs .nav-tabs-justified>.active>a:focus,#bookly-tbs .nav-tabs-justified>.active>a:hover{border:1px solid #08c}@media (min-width:768px){#bookly-tbs .nav-tabs-justified>li>a{border-bottom:1px solid #d9dee4;border-radius:4px 4px 0 0}#bookly-tbs .nav-tabs-justified>.active>a,#bookly-tbs .nav-tabs-justified>.active>a:focus,#bookly-tbs .nav-tabs-justified>.active>a:hover{border-bottom-color:#08c}}#bookly-tbs .tab-content>.tab-pane{display:none}#bookly-tbs .tab-content>.active{display:block}#bookly-tbs .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .navbar{position:relative;min-height:50px;margin-bottom:21px;border:1px solid transparent}@media (min-width:768px){#bookly-tbs .navbar{border-radius:4px}}@media (min-width:768px){#bookly-tbs .navbar-header{float:left}}#bookly-tbs .navbar-collapse{padding-right:10px;padding-left:10px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}#bookly-tbs .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){#bookly-tbs .navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}#bookly-tbs .navbar-collapse.in{overflow-y:visible}#bookly-tbs .navbar-fixed-bottom .navbar-collapse,#bookly-tbs .navbar-fixed-top .navbar-collapse,#bookly-tbs .navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}#bookly-tbs .navbar-fixed-bottom .navbar-collapse,#bookly-tbs .navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){#bookly-tbs .navbar-fixed-bottom .navbar-collapse,#bookly-tbs .navbar-fixed-top .navbar-collapse{max-height:200px}}#bookly-tbs .container-fluid>.navbar-collapse,#bookly-tbs .container-fluid>.navbar-header,#bookly-tbs .container>.navbar-collapse,#bookly-tbs .container>.navbar-header{margin-right:-10px;margin-left:-10px}@media (min-width:768px){#bookly-tbs .container-fluid>.navbar-collapse,#bookly-tbs .container-fluid>.navbar-header,#bookly-tbs .container>.navbar-collapse,#bookly-tbs .container>.navbar-header{margin-right:0;margin-left:0}}#bookly-tbs .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){#bookly-tbs .navbar-static-top{border-radius:0}}#bookly-tbs .navbar-fixed-bottom,#bookly-tbs .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){#bookly-tbs .navbar-fixed-bottom,#bookly-tbs .navbar-fixed-top{border-radius:0}}#bookly-tbs .navbar-fixed-top{top:0;border-width:0 0 1px}#bookly-tbs .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}#bookly-tbs .navbar-brand{float:left;height:50px;padding:14.5px 10px;font-size:18px;line-height:21px}#bookly-tbs .navbar-brand:focus,#bookly-tbs .navbar-brand:hover{text-decoration:none}#bookly-tbs .navbar-brand>img{display:block}@media (min-width:768px){#bookly-tbs .navbar>.container .navbar-brand,#bookly-tbs .navbar>.container-fluid .navbar-brand{margin-left:-10px}}#bookly-tbs .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:10px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}#bookly-tbs .navbar-toggle:focus{outline:0}#bookly-tbs .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}#bookly-tbs .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){#bookly-tbs .navbar-toggle{display:none}}#bookly-tbs .navbar-nav{margin:7.25px -10px}#bookly-tbs .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media (max-width:767px){#bookly-tbs .navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .navbar-nav .open .dropdown-menu .dropdown-header,#bookly-tbs .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}#bookly-tbs .navbar-nav .open .dropdown-menu>li>a{line-height:21px}#bookly-tbs .navbar-nav .open .dropdown-menu>li>a:focus,#bookly-tbs .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){#bookly-tbs .navbar-nav{float:left;margin:0}#bookly-tbs .navbar-nav>li{float:left}#bookly-tbs .navbar-nav>li>a{padding-top:14.5px;padding-bottom:14.5px}}#bookly-tbs .navbar-form{padding:10px 10px;margin-top:7.5px;margin-right:-10px;margin-bottom:7.5px;margin-left:-10px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){#bookly-tbs .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}#bookly-tbs .navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}#bookly-tbs .navbar-form .form-control-static{display:inline-block}#bookly-tbs .navbar-form .input-group{display:inline-table;vertical-align:middle}#bookly-tbs .navbar-form .input-group .form-control,#bookly-tbs .navbar-form .input-group .input-group-addon,#bookly-tbs .navbar-form .input-group .input-group-btn{width:auto}#bookly-tbs .navbar-form .input-group>.form-control{width:100%}#bookly-tbs .navbar-form .control-label{margin-bottom:0;vertical-align:middle}#bookly-tbs .navbar-form .checkbox,#bookly-tbs .navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}#bookly-tbs .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){#bookly-tbs .navbar-form .form-group{margin-bottom:5px}#bookly-tbs .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){#bookly-tbs .navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}#bookly-tbs .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}#bookly-tbs .navbar-btn{margin-top:7.5px;margin-bottom:7.5px}#bookly-tbs .navbar-btn.btn-sm{margin-top:9px;margin-bottom:9px}#bookly-tbs .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}#bookly-tbs .navbar-text{margin-top:14.5px;margin-bottom:14.5px}@media (min-width:768px){#bookly-tbs .navbar-text{float:left;margin-right:10px;margin-left:10px}}@media (min-width:768px){#bookly-tbs .navbar-left{float:left!important}#bookly-tbs .navbar-right{float:right!important;margin-right:-10px}#bookly-tbs .navbar-right~.navbar-right{margin-right:0}}#bookly-tbs .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}#bookly-tbs .navbar-default .navbar-brand{color:#777}#bookly-tbs .navbar-default .navbar-brand:focus,#bookly-tbs .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}#bookly-tbs .navbar-default .navbar-text{color:#777}#bookly-tbs .navbar-default .navbar-nav>li>a{color:#777}#bookly-tbs .navbar-default .navbar-nav>li>a:focus,#bookly-tbs .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}#bookly-tbs .navbar-default .navbar-nav>.active>a,#bookly-tbs .navbar-default .navbar-nav>.active>a:focus,#bookly-tbs .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}#bookly-tbs .navbar-default .navbar-nav>.disabled>a,#bookly-tbs .navbar-default .navbar-nav>.disabled>a:focus,#bookly-tbs .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}#bookly-tbs .navbar-default .navbar-toggle{border-color:#e8ebf0}#bookly-tbs .navbar-default .navbar-toggle:focus,#bookly-tbs .navbar-default .navbar-toggle:hover{background-color:#e8ebf0}#bookly-tbs .navbar-default .navbar-toggle .icon-bar{background-color:#8a929e}#bookly-tbs .navbar-default .navbar-collapse,#bookly-tbs .navbar-default .navbar-form{border-color:#e7e7e7}#bookly-tbs .navbar-default .navbar-nav>.open>a,#bookly-tbs .navbar-default .navbar-nav>.open>a:focus,#bookly-tbs .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.active>a,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,#bookly-tbs .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}#bookly-tbs .navbar-default .navbar-link{color:#777}#bookly-tbs .navbar-default .navbar-link:hover{color:#333}#bookly-tbs .navbar-default .btn-link{color:#777}#bookly-tbs .navbar-default .btn-link:focus,#bookly-tbs .navbar-default .btn-link:hover{color:#333}#bookly-tbs .navbar-default .btn-link[disabled]:focus,#bookly-tbs .navbar-default .btn-link[disabled]:hover,#bookly-tbs fieldset[disabled] .navbar-default .btn-link:focus,#bookly-tbs fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}#bookly-tbs .navbar-inverse{background-color:#222;border-color:#080808}#bookly-tbs .navbar-inverse .navbar-brand{color:#fff}#bookly-tbs .navbar-inverse .navbar-brand:focus,#bookly-tbs .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}#bookly-tbs .navbar-inverse .navbar-text{color:#fff}#bookly-tbs .navbar-inverse .navbar-nav>li>a{color:#fff}#bookly-tbs .navbar-inverse .navbar-nav>li>a:focus,#bookly-tbs .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}#bookly-tbs .navbar-inverse .navbar-nav>.active>a,#bookly-tbs .navbar-inverse .navbar-nav>.active>a:focus,#bookly-tbs .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}#bookly-tbs .navbar-inverse .navbar-nav>.disabled>a,#bookly-tbs .navbar-inverse .navbar-nav>.disabled>a:focus,#bookly-tbs .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}#bookly-tbs .navbar-inverse .navbar-toggle{border-color:#333}#bookly-tbs .navbar-inverse .navbar-toggle:focus,#bookly-tbs .navbar-inverse .navbar-toggle:hover{background-color:#333}#bookly-tbs .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}#bookly-tbs .navbar-inverse .navbar-collapse,#bookly-tbs .navbar-inverse .navbar-form{border-color:#101010}#bookly-tbs .navbar-inverse .navbar-nav>.open>a,#bookly-tbs .navbar-inverse .navbar-nav>.open>a:focus,#bookly-tbs .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#fff}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,#bookly-tbs .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}#bookly-tbs .navbar-inverse .navbar-link{color:#fff}#bookly-tbs .navbar-inverse .navbar-link:hover{color:#fff}#bookly-tbs .navbar-inverse .btn-link{color:#fff}#bookly-tbs .navbar-inverse .btn-link:focus,#bookly-tbs .navbar-inverse .btn-link:hover{color:#fff}#bookly-tbs .navbar-inverse .btn-link[disabled]:focus,#bookly-tbs .navbar-inverse .btn-link[disabled]:hover,#bookly-tbs fieldset[disabled] .navbar-inverse .btn-link:focus,#bookly-tbs fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}#bookly-tbs .breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#f5f5f5;border-radius:4px}#bookly-tbs .breadcrumb>li{display:inline-block}#bookly-tbs .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}#bookly-tbs .breadcrumb>.active{color:#d9dee4}#bookly-tbs .pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:4px}#bookly-tbs .pagination>li{display:inline}#bookly-tbs .pagination>li>a,#bookly-tbs .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.4;color:#08c;text-decoration:none;background-color:#fff;border:1px solid #e8ebf0}#bookly-tbs .pagination>li:first-child>a,#bookly-tbs .pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}#bookly-tbs .pagination>li:last-child>a,#bookly-tbs .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}#bookly-tbs .pagination>li>a:focus,#bookly-tbs .pagination>li>a:hover,#bookly-tbs .pagination>li>span:focus,#bookly-tbs .pagination>li>span:hover{z-index:2;color:#005580;background-color:#e8ebf0;border-color:#e8ebf0}#bookly-tbs .pagination>.active>a,#bookly-tbs .pagination>.active>a:focus,#bookly-tbs .pagination>.active>a:hover,#bookly-tbs .pagination>.active>span,#bookly-tbs .pagination>.active>span:focus,#bookly-tbs .pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#08c;border-color:#08c}#bookly-tbs .pagination>.disabled>a,#bookly-tbs .pagination>.disabled>a:focus,#bookly-tbs .pagination>.disabled>a:hover,#bookly-tbs .pagination>.disabled>span,#bookly-tbs .pagination>.disabled>span:focus,#bookly-tbs .pagination>.disabled>span:hover{color:#d9dee4;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#e8ebf0}#bookly-tbs .pagination-lg>li>a,#bookly-tbs .pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}#bookly-tbs .pagination-lg>li:first-child>a,#bookly-tbs .pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}#bookly-tbs .pagination-lg>li:last-child>a,#bookly-tbs .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}#bookly-tbs .pagination-sm>li>a,#bookly-tbs .pagination-sm>li>span{padding:5px 10px;font-size:13px;line-height:1.53846154}#bookly-tbs .pagination-sm>li:first-child>a,#bookly-tbs .pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .pagination-sm>li:last-child>a,#bookly-tbs .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}#bookly-tbs .pager{padding-left:0;margin:21px 0;text-align:center;list-style:none}#bookly-tbs .pager li{display:inline}#bookly-tbs .pager li>a,#bookly-tbs .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #e8ebf0;border-radius:15px}#bookly-tbs .pager li>a:focus,#bookly-tbs .pager li>a:hover{text-decoration:none;background-color:#e8ebf0}#bookly-tbs .pager .next>a,#bookly-tbs .pager .next>span{float:right}#bookly-tbs .pager .previous>a,#bookly-tbs .pager .previous>span{float:left}#bookly-tbs .pager .disabled>a,#bookly-tbs .pager .disabled>a:focus,#bookly-tbs .pager .disabled>a:hover,#bookly-tbs .pager .disabled>span{color:#d9dee4;pointer-events:none;cursor:not-allowed;background-color:#fff}#bookly-tbs .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}#bookly-tbs a.label:focus,#bookly-tbs a.label:hover{color:#fff;text-decoration:none;cursor:pointer}#bookly-tbs .label:empty{display:none}#bookly-tbs .btn .label{position:relative;top:-1px}#bookly-tbs .label-default{background-color:#d9dee4}#bookly-tbs .label-default[href]:focus,#bookly-tbs .label-default[href]:hover{background-color:#bbc4cf}#bookly-tbs .label-primary{background-color:#08c}#bookly-tbs .label-primary[href]:focus,#bookly-tbs .label-primary[href]:hover{background-color:#069}#bookly-tbs .label-success{background-color:#5cb85c}#bookly-tbs .label-success[href]:focus,#bookly-tbs .label-success[href]:hover{background-color:#449d44}#bookly-tbs .label-info{background-color:#5bc0de}#bookly-tbs .label-info[href]:focus,#bookly-tbs .label-info[href]:hover{background-color:#31b0d5}#bookly-tbs .label-warning{background-color:#f0ad4e}#bookly-tbs .label-warning[href]:focus,#bookly-tbs .label-warning[href]:hover{background-color:#ec971f}#bookly-tbs .label-danger{background-color:#d9534f}#bookly-tbs .label-danger[href]:focus,#bookly-tbs .label-danger[href]:hover{background-color:#c9302c}#bookly-tbs .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:13px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#d9dee4;border-radius:10px}#bookly-tbs .badge:empty{display:none}#bookly-tbs .btn .badge{position:relative;top:-1px}#bookly-tbs .btn-group-xs>.btn .badge,#bookly-tbs .btn-xs .badge{top:0;padding:1px 5px}#bookly-tbs a.badge:focus,#bookly-tbs a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}#bookly-tbs .list-group-item.active>.badge,#bookly-tbs .nav-pills>.active>a>.badge{color:#08c;background-color:#fff}#bookly-tbs .list-group-item>.badge{float:right}#bookly-tbs .list-group-item>.badge+.badge{margin-right:5px}#bookly-tbs .nav-pills>li>a>.badge{margin-left:3px}#bookly-tbs .jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#e8ebf0}#bookly-tbs .jumbotron .h1,#bookly-tbs .jumbotron h1{color:inherit}#bookly-tbs .jumbotron p{margin-bottom:15px;font-size:23px;font-weight:200}#bookly-tbs .jumbotron>hr{border-top-color:#c9d0dc}#bookly-tbs .container .jumbotron,#bookly-tbs .container-fluid .jumbotron{padding-right:10px;padding-left:10px;border-radius:6px}#bookly-tbs .jumbotron .container{max-width:100%}@media screen and (min-width:768px){#bookly-tbs .jumbotron{padding-top:48px;padding-bottom:48px}#bookly-tbs .container .jumbotron,#bookly-tbs .container-fluid .jumbotron{padding-right:60px;padding-left:60px}#bookly-tbs .jumbotron .h1,#bookly-tbs .jumbotron h1{font-size:68px}}#bookly-tbs .thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.4;background-color:transparent;border:1px solid #e8ebf0;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}#bookly-tbs .thumbnail a>img,#bookly-tbs .thumbnail>img{margin-right:auto;margin-left:auto}#bookly-tbs a.thumbnail.active,#bookly-tbs a.thumbnail:focus,#bookly-tbs a.thumbnail:hover{border-color:#08c}#bookly-tbs .thumbnail .caption{padding:9px;color:#3e424a}#bookly-tbs .alert{padding:15px;margin-bottom:21px;border:1px solid transparent;border-radius:4px}#bookly-tbs .alert h4{margin-top:0;color:inherit}#bookly-tbs .alert .alert-link{font-weight:700}#bookly-tbs .alert>p,#bookly-tbs .alert>ul{margin-bottom:0}#bookly-tbs .alert>p+p{margin-top:5px}#bookly-tbs .alert-dismissable,#bookly-tbs .alert-dismissible{padding-right:35px}#bookly-tbs .alert-dismissable .close,#bookly-tbs .alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}#bookly-tbs .alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}#bookly-tbs .alert-success hr{border-top-color:#c9e2b3}#bookly-tbs .alert-success .alert-link{color:#2b542c}#bookly-tbs .alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}#bookly-tbs .alert-info hr{border-top-color:#a6e1ec}#bookly-tbs .alert-info .alert-link{color:#245269}#bookly-tbs .alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}#bookly-tbs .alert-warning hr{border-top-color:#f7e1b5}#bookly-tbs .alert-warning .alert-link{color:#66512c}#bookly-tbs .alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}#bookly-tbs .alert-danger hr{border-top-color:#e4b9c0}#bookly-tbs .alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}#bookly-tbs .progress{height:21px;margin-bottom:21px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}#bookly-tbs .progress-bar{float:left;width:0;height:100%;font-size:13px;line-height:21px;color:#fff;text-align:center;background-color:#08c;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}#bookly-tbs .progress-bar-striped,#bookly-tbs .progress-striped .progress-bar{background-image:-webkit-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-image:-o-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-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);-webkit-background-size:40px 40px;background-size:40px 40px}#bookly-tbs .progress-bar.active,#bookly-tbs .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}#bookly-tbs .progress-bar-success{background-color:#5cb85c}#bookly-tbs .progress-striped .progress-bar-success{background-image:-webkit-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-image:-o-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-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)}#bookly-tbs .progress-bar-info{background-color:#5bc0de}#bookly-tbs .progress-striped .progress-bar-info{background-image:-webkit-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-image:-o-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-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)}#bookly-tbs .progress-bar-warning{background-color:#f0ad4e}#bookly-tbs .progress-striped .progress-bar-warning{background-image:-webkit-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-image:-o-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-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)}#bookly-tbs .progress-bar-danger{background-color:#d9534f}#bookly-tbs .progress-striped .progress-bar-danger{background-image:-webkit-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-image:-o-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-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)}#bookly-tbs .media{margin-top:15px}#bookly-tbs .media:first-child{margin-top:0}#bookly-tbs .media,#bookly-tbs .media-body{overflow:hidden;zoom:1}#bookly-tbs .media-body{width:10000px}#bookly-tbs .media-object{display:block}#bookly-tbs .media-object.img-thumbnail{max-width:none}#bookly-tbs .media-right,#bookly-tbs .media>.pull-right{padding-left:10px}#bookly-tbs .media-left,#bookly-tbs .media>.pull-left{padding-right:10px}#bookly-tbs .media-body,#bookly-tbs .media-left,#bookly-tbs .media-right{display:table-cell;vertical-align:top}#bookly-tbs .media-middle{vertical-align:middle}#bookly-tbs .media-bottom{vertical-align:bottom}#bookly-tbs .media-heading{margin-top:0;margin-bottom:5px}#bookly-tbs .media-list{padding-left:0;list-style:none}#bookly-tbs .list-group{padding-left:0;margin-bottom:20px}#bookly-tbs .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #e8ebf0}#bookly-tbs .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}#bookly-tbs .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}#bookly-tbs a.list-group-item,#bookly-tbs button.list-group-item{color:#555}#bookly-tbs a.list-group-item .list-group-item-heading,#bookly-tbs button.list-group-item .list-group-item-heading{color:#333}#bookly-tbs a.list-group-item:focus,#bookly-tbs a.list-group-item:hover,#bookly-tbs button.list-group-item:focus,#bookly-tbs button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}#bookly-tbs button.list-group-item{width:100%;text-align:left}#bookly-tbs .list-group-item.disabled,#bookly-tbs .list-group-item.disabled:focus,#bookly-tbs .list-group-item.disabled:hover{color:#d9dee4;cursor:not-allowed;background-color:#e8ebf0}#bookly-tbs .list-group-item.disabled .list-group-item-heading,#bookly-tbs .list-group-item.disabled:focus .list-group-item-heading,#bookly-tbs .list-group-item.disabled:hover .list-group-item-heading{color:inherit}#bookly-tbs .list-group-item.disabled .list-group-item-text,#bookly-tbs .list-group-item.disabled:focus .list-group-item-text,#bookly-tbs .list-group-item.disabled:hover .list-group-item-text{color:#d9dee4}#bookly-tbs .list-group-item.active,#bookly-tbs .list-group-item.active:focus,#bookly-tbs .list-group-item.active:hover{z-index:2;color:#fff;background-color:#08c;border-color:#08c}#bookly-tbs .list-group-item.active .list-group-item-heading,#bookly-tbs .list-group-item.active .list-group-item-heading>.small,#bookly-tbs .list-group-item.active .list-group-item-heading>small,#bookly-tbs .list-group-item.active:focus .list-group-item-heading,#bookly-tbs .list-group-item.active:focus .list-group-item-heading>.small,#bookly-tbs .list-group-item.active:focus .list-group-item-heading>small,#bookly-tbs .list-group-item.active:hover .list-group-item-heading,#bookly-tbs .list-group-item.active:hover .list-group-item-heading>.small,#bookly-tbs .list-group-item.active:hover .list-group-item-heading>small{color:inherit}#bookly-tbs .list-group-item.active .list-group-item-text,#bookly-tbs .list-group-item.active:focus .list-group-item-text,#bookly-tbs .list-group-item.active:hover .list-group-item-text{color:#9df}#bookly-tbs .list-group-item-success{color:#3c763d;background-color:#dff0d8}#bookly-tbs a.list-group-item-success,#bookly-tbs button.list-group-item-success{color:#3c763d}#bookly-tbs a.list-group-item-success .list-group-item-heading,#bookly-tbs button.list-group-item-success .list-group-item-heading{color:inherit}#bookly-tbs a.list-group-item-success:focus,#bookly-tbs a.list-group-item-success:hover,#bookly-tbs button.list-group-item-success:focus,#bookly-tbs button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}#bookly-tbs a.list-group-item-success.active,#bookly-tbs a.list-group-item-success.active:focus,#bookly-tbs a.list-group-item-success.active:hover,#bookly-tbs button.list-group-item-success.active,#bookly-tbs button.list-group-item-success.active:focus,#bookly-tbs button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}#bookly-tbs .list-group-item-info{color:#31708f;background-color:#d9edf7}#bookly-tbs a.list-group-item-info,#bookly-tbs button.list-group-item-info{color:#31708f}#bookly-tbs a.list-group-item-info .list-group-item-heading,#bookly-tbs button.list-group-item-info .list-group-item-heading{color:inherit}#bookly-tbs a.list-group-item-info:focus,#bookly-tbs a.list-group-item-info:hover,#bookly-tbs button.list-group-item-info:focus,#bookly-tbs button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}#bookly-tbs a.list-group-item-info.active,#bookly-tbs a.list-group-item-info.active:focus,#bookly-tbs a.list-group-item-info.active:hover,#bookly-tbs button.list-group-item-info.active,#bookly-tbs button.list-group-item-info.active:focus,#bookly-tbs button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}#bookly-tbs .list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}#bookly-tbs a.list-group-item-warning,#bookly-tbs button.list-group-item-warning{color:#8a6d3b}#bookly-tbs a.list-group-item-warning .list-group-item-heading,#bookly-tbs button.list-group-item-warning .list-group-item-heading{color:inherit}#bookly-tbs a.list-group-item-warning:focus,#bookly-tbs a.list-group-item-warning:hover,#bookly-tbs button.list-group-item-warning:focus,#bookly-tbs button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}#bookly-tbs a.list-group-item-warning.active,#bookly-tbs a.list-group-item-warning.active:focus,#bookly-tbs a.list-group-item-warning.active:hover,#bookly-tbs button.list-group-item-warning.active,#bookly-tbs button.list-group-item-warning.active:focus,#bookly-tbs button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}#bookly-tbs .list-group-item-danger{color:#a94442;background-color:#f2dede}#bookly-tbs a.list-group-item-danger,#bookly-tbs button.list-group-item-danger{color:#a94442}#bookly-tbs a.list-group-item-danger .list-group-item-heading,#bookly-tbs button.list-group-item-danger .list-group-item-heading{color:inherit}#bookly-tbs a.list-group-item-danger:focus,#bookly-tbs a.list-group-item-danger:hover,#bookly-tbs button.list-group-item-danger:focus,#bookly-tbs button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}#bookly-tbs a.list-group-item-danger.active,#bookly-tbs a.list-group-item-danger.active:focus,#bookly-tbs a.list-group-item-danger.active:hover,#bookly-tbs button.list-group-item-danger.active,#bookly-tbs button.list-group-item-danger.active:focus,#bookly-tbs button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}#bookly-tbs .list-group-item-heading{margin-top:0;margin-bottom:5px}#bookly-tbs .list-group-item-text{margin-bottom:0;line-height:1.3}#bookly-tbs .panel{margin-bottom:21px;background-color:#fff;border:2px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}#bookly-tbs .panel-body{padding:15px}#bookly-tbs .panel-heading{padding:15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}#bookly-tbs .panel-heading>.dropdown .dropdown-toggle{color:inherit}#bookly-tbs .panel-title{margin-top:0;margin-bottom:0;font-size:15px;color:inherit}#bookly-tbs .panel-title>.small,#bookly-tbs .panel-title>.small>a,#bookly-tbs .panel-title>a,#bookly-tbs .panel-title>small,#bookly-tbs .panel-title>small>a{color:inherit}#bookly-tbs .panel-footer{padding:15px;background-color:#e8ebf0;border-top:1px solid #e8ebf0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel>.list-group,#bookly-tbs .panel>.panel-collapse>.list-group{margin-bottom:0}#bookly-tbs .panel>.list-group .list-group-item,#bookly-tbs .panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}#bookly-tbs .panel>.list-group:first-child .list-group-item:first-child,#bookly-tbs .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}#bookly-tbs .panel>.list-group:last-child .list-group-item:last-child,#bookly-tbs .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}#bookly-tbs .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}#bookly-tbs .list-group+.panel-footer{border-top-width:0}#bookly-tbs .panel>.panel-collapse>.table,#bookly-tbs .panel>.table,#bookly-tbs .panel>.table-responsive>.table{margin-bottom:0}#bookly-tbs .panel>.panel-collapse>.table caption,#bookly-tbs .panel>.table caption,#bookly-tbs .panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}#bookly-tbs .panel>.table-responsive:first-child>.table:first-child,#bookly-tbs .panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,#bookly-tbs .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,#bookly-tbs .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,#bookly-tbs .panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}#bookly-tbs .panel>.table-responsive:last-child>.table:last-child,#bookly-tbs .panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,#bookly-tbs .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,#bookly-tbs .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,#bookly-tbs .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}#bookly-tbs .panel>.panel-body+.table,#bookly-tbs .panel>.panel-body+.table-responsive,#bookly-tbs .panel>.table+.panel-body,#bookly-tbs .panel>.table-responsive+.panel-body{border-top:1px solid #d9dee4}#bookly-tbs .panel>.table>tbody:first-child>tr:first-child td,#bookly-tbs .panel>.table>tbody:first-child>tr:first-child th{border-top:0}#bookly-tbs .panel>.table-bordered,#bookly-tbs .panel>.table-responsive>.table-bordered{border:0}#bookly-tbs .panel>.table-bordered>tbody>tr>td:first-child,#bookly-tbs .panel>.table-bordered>tbody>tr>th:first-child,#bookly-tbs .panel>.table-bordered>tfoot>tr>td:first-child,#bookly-tbs .panel>.table-bordered>tfoot>tr>th:first-child,#bookly-tbs .panel>.table-bordered>thead>tr>td:first-child,#bookly-tbs .panel>.table-bordered>thead>tr>th:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}#bookly-tbs .panel>.table-bordered>tbody>tr>td:last-child,#bookly-tbs .panel>.table-bordered>tbody>tr>th:last-child,#bookly-tbs .panel>.table-bordered>tfoot>tr>td:last-child,#bookly-tbs .panel>.table-bordered>tfoot>tr>th:last-child,#bookly-tbs .panel>.table-bordered>thead>tr>td:last-child,#bookly-tbs .panel>.table-bordered>thead>tr>th:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}#bookly-tbs .panel>.table-bordered>tbody>tr:first-child>td,#bookly-tbs .panel>.table-bordered>tbody>tr:first-child>th,#bookly-tbs .panel>.table-bordered>thead>tr:first-child>td,#bookly-tbs .panel>.table-bordered>thead>tr:first-child>th,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,#bookly-tbs .panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}#bookly-tbs .panel>.table-bordered>tbody>tr:last-child>td,#bookly-tbs .panel>.table-bordered>tbody>tr:last-child>th,#bookly-tbs .panel>.table-bordered>tfoot>tr:last-child>td,#bookly-tbs .panel>.table-bordered>tfoot>tr:last-child>th,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,#bookly-tbs .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,#bookly-tbs .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}#bookly-tbs .panel>.table-responsive{margin-bottom:0;border:0}#bookly-tbs .panel-group{margin-bottom:21px}#bookly-tbs .panel-group .panel{margin-bottom:0;border-radius:4px}#bookly-tbs .panel-group .panel+.panel{margin-top:10px}#bookly-tbs .panel-group .panel-heading{border-bottom:0}#bookly-tbs .panel-group .panel-heading+.panel-collapse>.list-group,#bookly-tbs .panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #e8ebf0}#bookly-tbs .panel-group .panel-footer{border-top:0}#bookly-tbs .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #e8ebf0}#bookly-tbs .panel-default{border-color:#e8ebf0}#bookly-tbs .panel-default>.panel-heading{color:#3e424a;background-color:#e8ebf0;border-color:#e8ebf0}#bookly-tbs .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#e8ebf0}#bookly-tbs .panel-default>.panel-heading .badge{color:#e8ebf0;background-color:#3e424a}#bookly-tbs .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#e8ebf0}#bookly-tbs .panel-primary{border-color:#08c}#bookly-tbs .panel-primary>.panel-heading{color:#fff;background-color:#08c;border-color:#08c}#bookly-tbs .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#08c}#bookly-tbs .panel-primary>.panel-heading .badge{color:#08c;background-color:#fff}#bookly-tbs .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#08c}#bookly-tbs .panel-success{border-color:#d6e9c6}#bookly-tbs .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}#bookly-tbs .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}#bookly-tbs .panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}#bookly-tbs .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}#bookly-tbs .panel-info{border-color:#bce8f1}#bookly-tbs .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}#bookly-tbs .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}#bookly-tbs .panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}#bookly-tbs .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}#bookly-tbs .panel-warning{border-color:#faebcc}#bookly-tbs .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}#bookly-tbs .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}#bookly-tbs .panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}#bookly-tbs .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}#bookly-tbs .panel-danger{border-color:#ebccd1}#bookly-tbs .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}#bookly-tbs .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}#bookly-tbs .panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}#bookly-tbs .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}#bookly-tbs .embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}#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-16by9{padding-bottom:56.25%}#bookly-tbs .embed-responsive-4by3{padding-bottom:75%}#bookly-tbs .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}#bookly-tbs .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}#bookly-tbs .well-lg{padding:24px;border-radius:6px}#bookly-tbs .well-sm{padding:9px;border-radius:3px}#bookly-tbs .close{float:right;font-size:22.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}#bookly-tbs .close:focus,#bookly-tbs .close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}#bookly-tbs button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}#bookly-tbs .modal-open{overflow:hidden}#bookly-tbs .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}#bookly-tbs .modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}#bookly-tbs .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}#bookly-tbs .modal-open .modal{overflow-x:hidden;overflow-y:auto}#bookly-tbs .modal-dialog{position:relative;width:auto;margin:10px}#bookly-tbs .modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}#bookly-tbs .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}#bookly-tbs .modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}#bookly-tbs .modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}#bookly-tbs .modal-header{padding:15px;border-bottom:1px solid #e5e5e5}#bookly-tbs .modal-header .close{margin-top:-2px}#bookly-tbs .modal-title{margin:0;line-height:1.4}#bookly-tbs .modal-body{position:relative;padding:15px}#bookly-tbs .modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}#bookly-tbs .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}#bookly-tbs .modal-footer .btn-group .btn+.btn{margin-left:-1px}#bookly-tbs .modal-footer .btn-block+.btn-block{margin-left:0}#bookly-tbs .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){#bookly-tbs .modal-dialog{width:600px;margin:30px auto}#bookly-tbs .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}#bookly-tbs .modal-sm{width:300px}}@media (min-width:992px){#bookly-tbs .modal-lg{width:900px}}#bookly-tbs .tooltip{position:absolute;z-index:1070;display:block;font-family:"open sans","helvetica neue",helvetica,arial,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:1.4;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}#bookly-tbs .tooltip.in{filter:alpha(opacity=90);opacity:.9}#bookly-tbs .tooltip.top{padding:5px 0;margin-top:-3px}#bookly-tbs .tooltip.right{padding:0 5px;margin-left:3px}#bookly-tbs .tooltip.bottom{padding:5px 0;margin-top:3px}#bookly-tbs .tooltip.left{padding:0 5px;margin-left:-3px}#bookly-tbs .tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}#bookly-tbs .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}#bookly-tbs .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}#bookly-tbs .tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}#bookly-tbs .tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}#bookly-tbs .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}#bookly-tbs .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}#bookly-tbs .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}#bookly-tbs .tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}#bookly-tbs .tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}#bookly-tbs .popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:600px;padding:1px;font-family:"open sans","helvetica neue",helvetica,arial,sans-serif;font-size:15px;font-style:normal;font-weight:400;line-height:1.4;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}#bookly-tbs .popover.top{margin-top:-10px}#bookly-tbs .popover.right{margin-left:10px}#bookly-tbs .popover.bottom{margin-top:10px}#bookly-tbs .popover.left{margin-left:-10px}#bookly-tbs .popover-title{padding:8px 14px;margin:0;font-size:15px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}#bookly-tbs .popover-content{padding:14px 20px}#bookly-tbs .popover>.popover-arrow,#bookly-tbs .popover>.popover-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}#bookly-tbs .popover>.popover-arrow{border-width:11px}#bookly-tbs .popover>.popover-arrow:after{content:"";border-width:10px}#bookly-tbs .popover.top>.popover-arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}#bookly-tbs .popover.top>.popover-arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}#bookly-tbs .popover.right>.popover-arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}#bookly-tbs .popover.right>.popover-arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}#bookly-tbs .popover.bottom>.popover-arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}#bookly-tbs .popover.bottom>.popover-arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}#bookly-tbs .popover.left>.popover-arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}#bookly-tbs .popover.left>.popover-arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}#bookly-tbs .carousel{position:relative}#bookly-tbs .carousel-inner{position:relative;width:100%;overflow:hidden}#bookly-tbs .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}#bookly-tbs .carousel-inner>.item>a>img,#bookly-tbs .carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){#bookly-tbs .carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}#bookly-tbs .carousel-inner>.item.active.right,#bookly-tbs .carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}#bookly-tbs .carousel-inner>.item.active.left,#bookly-tbs .carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}#bookly-tbs .carousel-inner>.item.active,#bookly-tbs .carousel-inner>.item.next.left,#bookly-tbs .carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}#bookly-tbs .carousel-inner>.active,#bookly-tbs .carousel-inner>.next,#bookly-tbs .carousel-inner>.prev{display:block}#bookly-tbs .carousel-inner>.active{left:0}#bookly-tbs .carousel-inner>.next,#bookly-tbs .carousel-inner>.prev{position:absolute;top:0;width:100%}#bookly-tbs .carousel-inner>.next{left:100%}#bookly-tbs .carousel-inner>.prev{left:-100%}#bookly-tbs .carousel-inner>.next.left,#bookly-tbs .carousel-inner>.prev.right{left:0}#bookly-tbs .carousel-inner>.active.left{left:-100%}#bookly-tbs .carousel-inner>.active.right{left:100%}#bookly-tbs .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}#bookly-tbs .carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}#bookly-tbs .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}#bookly-tbs .carousel-control:focus,#bookly-tbs .carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}#bookly-tbs .carousel-control .glyphicon-chevron-left,#bookly-tbs .carousel-control .glyphicon-chevron-right,#bookly-tbs .carousel-control .icon-next,#bookly-tbs .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}#bookly-tbs .carousel-control .glyphicon-chevron-left,#bookly-tbs .carousel-control .icon-prev{left:50%;margin-left:-10px}#bookly-tbs .carousel-control .glyphicon-chevron-right,#bookly-tbs .carousel-control .icon-next{right:50%;margin-right:-10px}#bookly-tbs .carousel-control .icon-next,#bookly-tbs .carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}#bookly-tbs .carousel-control .icon-prev:before{content:'\2039'}#bookly-tbs .carousel-control .icon-next:before{content:'\203a'}#bookly-tbs .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}#bookly-tbs .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}#bookly-tbs .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}#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;text-shadow:0 1px 2px rgba(0,0,0,.6)}#bookly-tbs .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){#bookly-tbs .carousel-control .glyphicon-chevron-left,#bookly-tbs .carousel-control .glyphicon-chevron-right,#bookly-tbs .carousel-control .icon-next,#bookly-tbs .carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}#bookly-tbs .carousel-control .glyphicon-chevron-left,#bookly-tbs .carousel-control .icon-prev{margin-left:-10px}#bookly-tbs .carousel-control .glyphicon-chevron-right,#bookly-tbs .carousel-control .icon-next{margin-right:-10px}#bookly-tbs .carousel-caption{right:20%;left:20%;padding-bottom:30px}#bookly-tbs .carousel-indicators{bottom:20px}}#bookly-tbs .btn-group-vertical>.btn-group:after,#bookly-tbs .btn-group-vertical>.btn-group:before,#bookly-tbs .btn-toolbar:after,#bookly-tbs .btn-toolbar:before,#bookly-tbs .clearfix:after,#bookly-tbs .clearfix:before,#bookly-tbs .container-fluid:after,#bookly-tbs .container-fluid:before,#bookly-tbs .container:after,#bookly-tbs .container:before,#bookly-tbs .dl-horizontal dd:after,#bookly-tbs .dl-horizontal dd:before,#bookly-tbs .form-horizontal .form-group:after,#bookly-tbs .form-horizontal .form-group:before,#bookly-tbs .modal-footer:after,#bookly-tbs .modal-footer:before,#bookly-tbs .modal-header:after,#bookly-tbs .modal-header:before,#bookly-tbs .nav:after,#bookly-tbs .nav:before,#bookly-tbs .navbar-collapse:after,#bookly-tbs .navbar-collapse:before,#bookly-tbs .navbar-header:after,#bookly-tbs .navbar-header:before,#bookly-tbs .navbar:after,#bookly-tbs .navbar:before,#bookly-tbs .pager:after,#bookly-tbs .pager:before,#bookly-tbs .panel-body:after,#bookly-tbs .panel-body:before,#bookly-tbs .row:after,#bookly-tbs .row:before{display:table;content:" "}#bookly-tbs .btn-group-vertical>.btn-group:after,#bookly-tbs .btn-toolbar:after,#bookly-tbs .clearfix:after,#bookly-tbs .container-fluid:after,#bookly-tbs .container:after,#bookly-tbs .dl-horizontal dd:after,#bookly-tbs .form-horizontal .form-group:after,#bookly-tbs .modal-footer:after,#bookly-tbs .modal-header:after,#bookly-tbs .nav:after,#bookly-tbs .navbar-collapse:after,#bookly-tbs .navbar-header:after,#bookly-tbs .navbar:after,#bookly-tbs .pager:after,#bookly-tbs .panel-body:after,#bookly-tbs .row:after{clear:both}#bookly-tbs .center-block{display:block;margin-right:auto;margin-left:auto}#bookly-tbs .pull-right{float:right!important}#bookly-tbs .pull-left{float:left!important}#bookly-tbs .hide{display:none!important}#bookly-tbs .show{display:block!important}#bookly-tbs .invisible{visibility:hidden}#bookly-tbs .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}#bookly-tbs .hidden{display:none!important}#bookly-tbs .affix{position:fixed}@-ms-viewport{width:device-width}#bookly-tbs .visible-lg,#bookly-tbs .visible-md,#bookly-tbs .visible-sm,#bookly-tbs .visible-xs{display:none!important}#bookly-tbs .visible-lg-block,#bookly-tbs .visible-lg-inline,#bookly-tbs .visible-lg-inline-block,#bookly-tbs .visible-md-block,#bookly-tbs .visible-md-inline,#bookly-tbs .visible-md-inline-block,#bookly-tbs .visible-sm-block,#bookly-tbs .visible-sm-inline,#bookly-tbs .visible-sm-inline-block,#bookly-tbs .visible-xs-block,#bookly-tbs .visible-xs-inline,#bookly-tbs .visible-xs-inline-block{display:none!important}@media (max-width:767px){#bookly-tbs .visible-xs{display:block!important}#bookly-tbs table.visible-xs{display:table!important}#bookly-tbs tr.visible-xs{display:table-row!important}#bookly-tbs td.visible-xs,#bookly-tbs th.visible-xs{display:table-cell!important}}@media (max-width:767px){#bookly-tbs .visible-xs-block{display:block!important}}@media (max-width:767px){#bookly-tbs .visible-xs-inline{display:inline!important}}@media (max-width:767px){#bookly-tbs .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .visible-sm{display:block!important}#bookly-tbs table.visible-sm{display:table!important}#bookly-tbs tr.visible-sm{display:table-row!important}#bookly-tbs td.visible-sm,#bookly-tbs th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .visible-md{display:block!important}#bookly-tbs table.visible-md{display:table!important}#bookly-tbs tr.visible-md{display:table-row!important}#bookly-tbs td.visible-md,#bookly-tbs th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){#bookly-tbs .visible-lg{display:block!important}#bookly-tbs table.visible-lg{display:table!important}#bookly-tbs tr.visible-lg{display:table-row!important}#bookly-tbs td.visible-lg,#bookly-tbs th.visible-lg{display:table-cell!important}}@media (min-width:1200px){#bookly-tbs .visible-lg-block{display:block!important}}@media (min-width:1200px){#bookly-tbs .visible-lg-inline{display:inline!important}}@media (min-width:1200px){#bookly-tbs .visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){#bookly-tbs .hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){#bookly-tbs .hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){#bookly-tbs .hidden-md{display:none!important}}@media (min-width:1200px){#bookly-tbs .hidden-lg{display:none!important}}#bookly-tbs .visible-print{display:none!important}@media print{#bookly-tbs .visible-print{display:block!important}#bookly-tbs table.visible-print{display:table!important}#bookly-tbs tr.visible-print{display:table-row!important}#bookly-tbs td.visible-print,#bookly-tbs th.visible-print{display:table-cell!important}}#bookly-tbs .visible-print-block{display:none!important}@media print{#bookly-tbs .visible-print-block{display:block!important}}#bookly-tbs .visible-print-inline{display:none!important}@media print{#bookly-tbs .visible-print-inline{display:inline!important}}#bookly-tbs .visible-print-inline-block{display:none!important}@media print{#bookly-tbs .visible-print-inline-block{display:inline-block!important}}@media print{#bookly-tbs .hidden-print{display:none!important}}#bookly-tbs [class*=block-grid-]{padding:0;margin:0;list-style:none;border:1px solid transparent;border-width:1px 0 0 1px}#bookly-tbs [class*=block-grid-]>*{display:block;float:left;height:auto;text-align:center;border:1px solid inherit;border-width:0 1px 1px 0}#bookly-tbs [class*=block-grid-]:after,#bookly-tbs [class*=block-grid-]:before{display:table;content:" "}#bookly-tbs .block-grid-16>:nth-of-type(16n+1),#bookly-tbs [class*=block-grid-]:after{clear:both}#bookly-tbs .block-grid-16>*{width:6.25%;line-height:49px}#bookly-tbs .btn-group-justified>.btn-group:not(:first-child) .btn,#bookly-tbs .btn-group-justified>.btn:not(:first-child){border-left:0}#bookly-tbs .btn-default-outline{color:#5b6470;background-color:transparent;border-color:#5b6470}#bookly-tbs .btn-default-outline.focus,#bookly-tbs .btn-default-outline:focus{color:#5b6470;background-color:rgba(0,0,0,0);border-color:#22252a}#bookly-tbs .btn-default-outline:hover{color:#5b6470;background-color:rgba(0,0,0,0);border-color:#40464e}#bookly-tbs .btn-default-outline.active,#bookly-tbs .btn-default-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-default-outline{color:#5b6470;background-color:rgba(0,0,0,0);border-color:#40464e}#bookly-tbs .btn-default-outline.active.focus,#bookly-tbs .btn-default-outline.active:focus,#bookly-tbs .btn-default-outline.active:hover,#bookly-tbs .btn-default-outline:active.focus,#bookly-tbs .btn-default-outline:active:focus,#bookly-tbs .btn-default-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-default-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-default-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-default-outline:hover{color:#5b6470;background-color:rgba(0,0,0,0);border-color:#22252a}#bookly-tbs .btn-default-outline.active,#bookly-tbs .btn-default-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-default-outline{background-image:none}#bookly-tbs .btn-default-outline.disabled.focus,#bookly-tbs .btn-default-outline.disabled:focus,#bookly-tbs .btn-default-outline.disabled:hover,#bookly-tbs .btn-default-outline[disabled].focus,#bookly-tbs .btn-default-outline[disabled]:focus,#bookly-tbs .btn-default-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-default-outline.focus,fieldset[disabled] #bookly-tbs .btn-default-outline:focus,fieldset[disabled] #bookly-tbs .btn-default-outline:hover{background-color:transparent;border-color:#5b6470}#bookly-tbs .btn-default-outline .badge{color:transparent;background-color:#5b6470}#bookly-tbs .btn-primary-outline{color:#08c;background-color:transparent;border-color:#08c}#bookly-tbs .btn-primary-outline.focus,#bookly-tbs .btn-primary-outline:focus{color:#08c;background-color:rgba(0,0,0,0);border-color:#00334d}#bookly-tbs .btn-primary-outline:hover{color:#08c;background-color:rgba(0,0,0,0);border-color:#005f8f}#bookly-tbs .btn-primary-outline.active,#bookly-tbs .btn-primary-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline{color:#08c;background-color:rgba(0,0,0,0);border-color:#005f8f}#bookly-tbs .btn-primary-outline.active.focus,#bookly-tbs .btn-primary-outline.active:focus,#bookly-tbs .btn-primary-outline.active:hover,#bookly-tbs .btn-primary-outline:active.focus,#bookly-tbs .btn-primary-outline:active:focus,#bookly-tbs .btn-primary-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline:hover{color:#08c;background-color:rgba(0,0,0,0);border-color:#00334d}#bookly-tbs .btn-primary-outline.active,#bookly-tbs .btn-primary-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-primary-outline{background-image:none}#bookly-tbs .btn-primary-outline.disabled.focus,#bookly-tbs .btn-primary-outline.disabled:focus,#bookly-tbs .btn-primary-outline.disabled:hover,#bookly-tbs .btn-primary-outline[disabled].focus,#bookly-tbs .btn-primary-outline[disabled]:focus,#bookly-tbs .btn-primary-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-primary-outline.focus,fieldset[disabled] #bookly-tbs .btn-primary-outline:focus,fieldset[disabled] #bookly-tbs .btn-primary-outline:hover{background-color:transparent;border-color:#08c}#bookly-tbs .btn-primary-outline .badge{color:transparent;background-color:#08c}#bookly-tbs .btn-success-outline{color:#5cb85c;background-color:transparent;border-color:#5cb85c}#bookly-tbs .btn-success-outline.focus,#bookly-tbs .btn-success-outline:focus{color:#5cb85c;background-color:rgba(0,0,0,0);border-color:#2d672d}#bookly-tbs .btn-success-outline:hover{color:#5cb85c;background-color:rgba(0,0,0,0);border-color:#419641}#bookly-tbs .btn-success-outline.active,#bookly-tbs .btn-success-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-success-outline{color:#5cb85c;background-color:rgba(0,0,0,0);border-color:#419641}#bookly-tbs .btn-success-outline.active.focus,#bookly-tbs .btn-success-outline.active:focus,#bookly-tbs .btn-success-outline.active:hover,#bookly-tbs .btn-success-outline:active.focus,#bookly-tbs .btn-success-outline:active:focus,#bookly-tbs .btn-success-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-success-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-success-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-success-outline:hover{color:#5cb85c;background-color:rgba(0,0,0,0);border-color:#2d672d}#bookly-tbs .btn-success-outline.active,#bookly-tbs .btn-success-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-success-outline{background-image:none}#bookly-tbs .btn-success-outline.disabled.focus,#bookly-tbs .btn-success-outline.disabled:focus,#bookly-tbs .btn-success-outline.disabled:hover,#bookly-tbs .btn-success-outline[disabled].focus,#bookly-tbs .btn-success-outline[disabled]:focus,#bookly-tbs .btn-success-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-success-outline.focus,fieldset[disabled] #bookly-tbs .btn-success-outline:focus,fieldset[disabled] #bookly-tbs .btn-success-outline:hover{background-color:transparent;border-color:#5cb85c}#bookly-tbs .btn-success-outline .badge{color:transparent;background-color:#5cb85c}#bookly-tbs .btn-info-outline{color:#5bc0de;background-color:transparent;border-color:#5bc0de}#bookly-tbs .btn-info-outline.focus,#bookly-tbs .btn-info-outline:focus{color:#5bc0de;background-color:rgba(0,0,0,0);border-color:#1f7e9a}#bookly-tbs .btn-info-outline:hover{color:#5bc0de;background-color:rgba(0,0,0,0);border-color:#2aabd2}#bookly-tbs .btn-info-outline.active,#bookly-tbs .btn-info-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-info-outline{color:#5bc0de;background-color:rgba(0,0,0,0);border-color:#2aabd2}#bookly-tbs .btn-info-outline.active.focus,#bookly-tbs .btn-info-outline.active:focus,#bookly-tbs .btn-info-outline.active:hover,#bookly-tbs .btn-info-outline:active.focus,#bookly-tbs .btn-info-outline:active:focus,#bookly-tbs .btn-info-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-info-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-info-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-info-outline:hover{color:#5bc0de;background-color:rgba(0,0,0,0);border-color:#1f7e9a}#bookly-tbs .btn-info-outline.active,#bookly-tbs .btn-info-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-info-outline{background-image:none}#bookly-tbs .btn-info-outline.disabled.focus,#bookly-tbs .btn-info-outline.disabled:focus,#bookly-tbs .btn-info-outline.disabled:hover,#bookly-tbs .btn-info-outline[disabled].focus,#bookly-tbs .btn-info-outline[disabled]:focus,#bookly-tbs .btn-info-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-info-outline.focus,fieldset[disabled] #bookly-tbs .btn-info-outline:focus,fieldset[disabled] #bookly-tbs .btn-info-outline:hover{background-color:transparent;border-color:#5bc0de}#bookly-tbs .btn-info-outline .badge{color:transparent;background-color:#5bc0de}#bookly-tbs .btn-warning-outline{color:#f0ad4e;background-color:transparent;border-color:#f0ad4e}#bookly-tbs .btn-warning-outline.focus,#bookly-tbs .btn-warning-outline:focus{color:#f0ad4e;background-color:rgba(0,0,0,0);border-color:#b06d0f}#bookly-tbs .btn-warning-outline:hover{color:#f0ad4e;background-color:rgba(0,0,0,0);border-color:#eb9316}#bookly-tbs .btn-warning-outline.active,#bookly-tbs .btn-warning-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline{color:#f0ad4e;background-color:rgba(0,0,0,0);border-color:#eb9316}#bookly-tbs .btn-warning-outline.active.focus,#bookly-tbs .btn-warning-outline.active:focus,#bookly-tbs .btn-warning-outline.active:hover,#bookly-tbs .btn-warning-outline:active.focus,#bookly-tbs .btn-warning-outline:active:focus,#bookly-tbs .btn-warning-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline:hover{color:#f0ad4e;background-color:rgba(0,0,0,0);border-color:#b06d0f}#bookly-tbs .btn-warning-outline.active,#bookly-tbs .btn-warning-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-warning-outline{background-image:none}#bookly-tbs .btn-warning-outline.disabled.focus,#bookly-tbs .btn-warning-outline.disabled:focus,#bookly-tbs .btn-warning-outline.disabled:hover,#bookly-tbs .btn-warning-outline[disabled].focus,#bookly-tbs .btn-warning-outline[disabled]:focus,#bookly-tbs .btn-warning-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-warning-outline.focus,fieldset[disabled] #bookly-tbs .btn-warning-outline:focus,fieldset[disabled] #bookly-tbs .btn-warning-outline:hover{background-color:transparent;border-color:#f0ad4e}#bookly-tbs .btn-warning-outline .badge{color:transparent;background-color:#f0ad4e}#bookly-tbs .btn-danger-outline{color:#d9534f;background-color:transparent;border-color:#d9534f}#bookly-tbs .btn-danger-outline.focus,#bookly-tbs .btn-danger-outline:focus{color:#d9534f;background-color:rgba(0,0,0,0);border-color:#8b211e}#bookly-tbs .btn-danger-outline:hover{color:#d9534f;background-color:rgba(0,0,0,0);border-color:#c12e2a}#bookly-tbs .btn-danger-outline.active,#bookly-tbs .btn-danger-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline{color:#d9534f;background-color:rgba(0,0,0,0);border-color:#c12e2a}#bookly-tbs .btn-danger-outline.active.focus,#bookly-tbs .btn-danger-outline.active:focus,#bookly-tbs .btn-danger-outline.active:hover,#bookly-tbs .btn-danger-outline:active.focus,#bookly-tbs .btn-danger-outline:active:focus,#bookly-tbs .btn-danger-outline:active:hover,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline.focus,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline:focus,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline:hover{color:#d9534f;background-color:rgba(0,0,0,0);border-color:#8b211e}#bookly-tbs .btn-danger-outline.active,#bookly-tbs .btn-danger-outline:active,.open>.dropdown-toggle#bookly-tbs .btn-danger-outline{background-image:none}#bookly-tbs .btn-danger-outline.disabled.focus,#bookly-tbs .btn-danger-outline.disabled:focus,#bookly-tbs .btn-danger-outline.disabled:hover,#bookly-tbs .btn-danger-outline[disabled].focus,#bookly-tbs .btn-danger-outline[disabled]:focus,#bookly-tbs .btn-danger-outline[disabled]:hover,fieldset[disabled] #bookly-tbs .btn-danger-outline.focus,fieldset[disabled] #bookly-tbs .btn-danger-outline:focus,fieldset[disabled] #bookly-tbs .btn-danger-outline:hover{background-color:transparent;border-color:#d9534f}#bookly-tbs .btn-danger-outline .badge{color:transparent;background-color:#d9534f}#bookly-tbs .btn-xlg{padding:11px 22px;font-size:15px;line-height:1.9;border-radius:4px}#bookly-tbs .callout{padding:10px;margin:21px 0;border:1px solid #e8ebf0;border-left-width:4px;border-radius:4px}#bookly-tbs .callout .callout-heading{margin-top:0;margin-bottom:5px}#bookly-tbs .callout p:last-child{margin-bottom:0}#bookly-tbs .callout+#bookly-tbs .callout{margin-top:-5px}#bookly-tbs .callout.callout-danger{border-left-color:#d9534f}#bookly-tbs .callout.callout-danger .callout-heading{color:#a94442}#bookly-tbs .callout.callout-warning{border-left-color:#f0ad4e}#bookly-tbs .callout.callout-warning .callout-heading{color:#8a6d3b}#bookly-tbs .callout.callout-info{border-left-color:#5bc0de}#bookly-tbs .callout.callout-info .callout-heading{color:#31708f}#bookly-tbs .close{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}#bookly-tbs .caret{margin-bottom:2px}#bookly-tbs .checkbox,#bookly-tbs .radio{line-height:1.4}#bookly-tbs input[type=checkbox],#bookly-tbs input[type=radio]{width:16px;height:16px}#bookly-tbs input[type=checkbox]:checked:before{margin:-3px 0 0 -4px;font:400 21px/1 dashicons}#bookly-tbs input[type=radio]:checked:before{width:8px;height:8px;margin:3px}#bookly-tbs input[type=checkbox]:not(:checked)+.bookly-toggle-label,#bookly-tbs input[type=radio]:not(:checked)+.bookly-toggle-label{color:#8a929e}#bookly-tbs select.form-control{z-index:5;min-width:1px;height:36px;-webkit-appearance:none;padding-right:22px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4IiB3aWR0aD0iNDgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0IDIwbDEwIDEwIDEwLTEweiIvPjxwYXRoIGQ9Ik0wIDBoNDh2NDhoLTQ4eiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:-webkit-calc(100% - 4px) 50%;background-position:calc(100% - 4px) 50%;-webkit-background-size:24px 24px;background-size:24px 24px;-moz-appearance:none;appearance:none}@media screen and (min-width:0\0){#bookly-tbs select.form-control{padding:5px}}#bookly-tbs select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}#bookly-tbs .form-horizontal .form-inline .checkbox-inline,#bookly-tbs .form-horizontal .form-inline .radio-inline{padding-top:0}#bookly-tbs .form-horizontal .form-group .help-block{margin-bottom:0}#bookly-tbs button:active,#bookly-tbs button:focus,#bookly-tbs button:hover,#bookly-tbs input:active,#bookly-tbs input:focus,#bookly-tbs input:hover,#bookly-tbs textarea:active,#bookly-tbs textarea:focus,#bookly-tbs textarea:hover{outline:0}#bookly-tbs .help-block{margin-top:0;font-size:13px;line-height:1.3}#bookly-tbs .bookly-pretty input[type=file]{position:absolute;top:0;left:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;opacity:0}#bookly-tbs .bookly-pretty input[type=file]~.bookly-pretty-indicator{display:inline-block;font-weight:400}#bookly-tbs .input-group-btn:first-child>.btn,#bookly-tbs .input-group-btn:first-child>.btn-group{border-right:0}#bookly-tbs .input-group-btn:first-child>.btn:last-child{margin-right:-1px}#bookly-tbs .input-group-btn:last-child>.btn,#bookly-tbs .input-group-btn:last-child>.btn-group{border-left:0}#bookly-tbs .list-group-item .badge{margin-top:2px}#bookly-tbs .navbar-nav>li>.dropdown-menu{border-top-width:0}#bookly-tbs .navbar-text{line-height:21px}#bookly-tbs .nav-tabs>li{margin-bottom:0}#bookly-tbs .nav-tabs>li>a{margin-right:0;color:#8a929e;border:0}#bookly-tbs .nav-tabs>li>a:after{position:absolute;right:0;bottom:0;left:0;width:100%;height:0;content:" ";border-bottom:3px solid transparent}#bookly-tbs .nav-tabs>li>a:focus,#bookly-tbs .nav-tabs>li>a:hover{background-color:transparent;outline:0;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .nav-tabs>li>a:focus:after,#bookly-tbs .nav-tabs>li>a:hover:after{border-bottom-color:#d9dee4}#bookly-tbs .nav-tabs.nav-justified>li.active>a,#bookly-tbs .nav-tabs.nav-justified>li.active>a:focus,#bookly-tbs .nav-tabs.nav-justified>li.active>a:hover,#bookly-tbs .nav-tabs>li.active>a,#bookly-tbs .nav-tabs>li.active>a:focus,#bookly-tbs .nav-tabs>li.active>a:hover{color:#08c;border-width:0 0 1px 0}#bookly-tbs .nav-tabs.nav-justified>li.active>a:after,#bookly-tbs .nav-tabs>li.active>a:after{border-bottom-color:#08c}#bookly-tbs .nav-tabs .dropdown-menu{margin-top:0}#bookly-tbs .pager li>a,#bookly-tbs .pager li>span{line-height:1.4;color:#5b6470}#bookly-tbs .pager li>a:focus,#bookly-tbs .pager li>a:hover{color:#8a929e}#bookly-tbs .panel{-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .panel>.panel-collapse>.table td,#bookly-tbs .panel>.panel-collapse>.table th,#bookly-tbs .panel>.table td,#bookly-tbs .panel>.table th,#bookly-tbs .panel>.table-responsive>.table td,#bookly-tbs .panel>.table-responsive>.table th{border-color:#d9dee4}#bookly-tbs .panel-title{font-weight:700;line-height:1.5}#bookly-tbs .btn.btn-pill{border-radius:24px}#bookly-tbs .btn.btn-pill-left{border-top-left-radius:24px;border-bottom-left-radius:24px}#bookly-tbs .btn.btn-pill-right{border-top-right-radius:24px;border-bottom-right-radius:24px}#bookly-tbs .form-control.input-pill{border-radius:24px}#bookly-tbs .form-control.input-pill-left{border-top-left-radius:24px;border-bottom-left-radius:24px}#bookly-tbs .form-control.input-pill-right{border-top-right-radius:24px;border-bottom-right-radius:24px}#bookly-tbs .label.label-pill{border-radius:.9em}#bookly-tbs .label.label-pill-left{border-top-left-radius:.9em;border-bottom-left-radius:.9em}#bookly-tbs .label.label-pill-right{border-top-right-radius:.9em;border-bottom-right-radius:.9em}#bookly-tbs .progress-lg{height:42px;border-radius:6px}#bookly-tbs .progress-lg .progress-bar{line-height:42px}#bookly-tbs .progress-sm{height:10.5px;border-radius:3px}#bookly-tbs .progress-sm .progress-bar{line-height:10.5px}#bookly-tbs .progress-xs{height:5.25px;border-radius:3px}#bookly-tbs .progress-xs .progress-bar{line-height:5.25px}#bookly-tbs a:focus,#bookly-tbs a:hover{-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .social-behance{color:#1769ff!important}#bookly-tbs .social-fivehundredpix{color:#0a0100!important}#bookly-tbs .social-dribbble{color:#ea4c89!important}#bookly-tbs .social-dropbox{color:#1f8ce6!important}#bookly-tbs .social-email{color:#7f7f7f!important}#bookly-tbs .social-facebook{color:#3b5998!important}#bookly-tbs .social-flickr{color:#ff0084!important}#bookly-tbs .social-foursquare{color:#0072b1!important}#bookly-tbs .social-github{color:#4183c4!important}#bookly-tbs .social-google{color:#dd4b39!important}#bookly-tbs .social-instagram{color:#517fa4!important}#bookly-tbs .social-linkedin{color:#007bb6!important}#bookly-tbs .social-pinterest{color:#cb2027!important}#bookly-tbs .social-skype{color:#00aff0!important}#bookly-tbs .social-smugmug{color:#8cca1e!important}#bookly-tbs .social-tumblr{color:#32506d!important}#bookly-tbs .social-twitter{color:#00aced!important}#bookly-tbs .social-vimeo{color:#1ab7ea!important}#bookly-tbs .social-vk{color:#45668e!important}#bookly-tbs .social-youtube{color:#f33!important}#bookly-tbs .social-behance:hover{color:#4a8aff!important}#bookly-tbs .social-fivehundredpix:hover{color:#3d0600!important}#bookly-tbs .social-dribbble:hover{color:#ef7aa7!important}#bookly-tbs .social-dropbox:hover{color:#4da4eb!important}#bookly-tbs .social-email:hover{color:#999!important}#bookly-tbs .social-facebook:hover{color:#4c70ba!important}#bookly-tbs .social-flickr:hover{color:#ff339d!important}#bookly-tbs .social-foursquare:hover{color:#0093e4!important}#bookly-tbs .social-github:hover{color:#689cd0!important}#bookly-tbs .social-google:hover{color:#e47365!important}#bookly-tbs .social-instagram:hover{color:#7098b8!important}#bookly-tbs .social-linkedin:hover{color:#009de9!important}#bookly-tbs .social-pinterest:hover{color:#e03e44!important}#bookly-tbs .social-skype:hover{color:#24c4ff!important}#bookly-tbs .social-smugmug:hover{color:#a5e239!important}#bookly-tbs .social-tumblr:hover{color:#426a90!important}#bookly-tbs .social-twitter:hover{color:#21c2ff!important}#bookly-tbs .social-vimeo:hover{color:#49c6ee!important}#bookly-tbs .social-vk:hover{color:#587fae!important}#bookly-tbs .social-youtube:hover{color:#f66!important}#bookly-tbs .thumbnail{overflow:auto;-webkit-box-shadow:inset 0 0 0 2px #e8ebf0;box-shadow:inset 0 0 0 2px #e8ebf0}#bookly-tbs .thumbnail .caption p:last-child{margin-bottom:0}#bookly-tbs .thumbnail .caption .heading{margin:0 0 5px}#bookly-tbs blockquote p{font-family:georgia,"times new roman",times,serif;font-size:18px}#bookly-tbs p{font-size:15px}#bookly-tbs .bookly-letter-spacing-sm{letter-spacing:.05em}#bookly-tbs .bookly-letter-spacing-md{letter-spacing:.1em}#bookly-tbs .bookly-letter-spacing-lg{letter-spacing:.2em}#bookly-tbs .bookly-line-height-sm{line-height:1.53846154}#bookly-tbs .bookly-line-height-base{line-height:1.4}#bookly-tbs .bookly-line-height-lg{line-height:1.3333333}#bookly-tbs .bookly-line-height-computed{line-height:21px}#bookly-tbs .bookly-font-xs{font-size:12px}#bookly-tbs .bookly-font-sm{font-size:14px}#bookly-tbs .bookly-font-md{font-size:15px}#bookly-tbs .bookly-font-lg{font-size:20px}#bookly-tbs .bookly-font-smaller{font-size:13px;text-transform:uppercase}#bookly-tbs .bookly-font-lighter{font-weight:lighter}#bookly-tbs .bookly-font-normal{font-weight:400}#bookly-tbs .bookly-font-bold{font-weight:700}#bookly-tbs .bookly-font-serif{font-family:georgia,"times new roman",times,serif}#bookly-tbs .bookly-font-italic{font-style:italic}#bookly-tbs .bookly-text-wrap{word-wrap:break-word;white-space:normal}#bookly-tbs .bookly-inline{display:inline}#bookly-tbs .bookly-bl-ock{display:block}#bookly-tbs .bookly-inline-block{display:inline-block}#bookly-tbs .bookly-nowrap{white-space:nowrap}#bookly-tbs .bookly-break-word{word-wrap:break-word}#bookly-tbs .bookly-truncate{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .bookly-bottom-left,#bookly-tbs .bookly-bottom-right,#bookly-tbs .bookly-top-left,#bookly-tbs .bookly-top-right{position:absolute}#bookly-tbs .bookly-top-left,#bookly-tbs .bookly-top-right{top:0}#bookly-tbs .bookly-bottom-left,#bookly-tbs .bookly-bottom-right{bottom:0}#bookly-tbs .bookly-bottom-left,#bookly-tbs .bookly-top-left{left:0}#bookly-tbs .bookly-bottom-right,#bookly-tbs .bookly-top-right{right:0}#bookly-tbs .bookly-relative{position:relative}#bookly-tbs .bookly-fixed{position:fixed}#bookly-tbs .bookly-vertical-top{vertical-align:top}#bookly-tbs .bookly-vertical-middle{vertical-align:middle}#bookly-tbs .bookly-vertical-bottom{vertical-align:bottom}#bookly-tbs .bookly-margin-horizontal-remove,#bookly-tbs .bookly-margin-left-remove,#bookly-tbs .bookly-margin-remove{margin-left:0!important}#bookly-tbs .bookly-margin-horizontal-remove,#bookly-tbs .bookly-margin-remove,#bookly-tbs .bookly-margin-right-remove{margin-right:0!important}#bookly-tbs .bookly-margin-remove,#bookly-tbs .bookly-margin-top-remove,#bookly-tbs .bookly-margin-vertical-remove{margin-top:0!important}#bookly-tbs .bookly-margin-bottom-remove,#bookly-tbs .bookly-margin-remove,#bookly-tbs .bookly-margin-vertical-remove{margin-bottom:0!important}#bookly-tbs .bookly-margin-horizontal-xs,#bookly-tbs .bookly-margin-left-xs,#bookly-tbs .bookly-margin-xs{margin-left:5px!important}#bookly-tbs .bookly-margin-horizontal-xs,#bookly-tbs .bookly-margin-right-xs,#bookly-tbs .bookly-margin-xs{margin-right:5px!important}#bookly-tbs .bookly-margin-top-xs,#bookly-tbs .bookly-margin-vertical-xs,#bookly-tbs .bookly-margin-xs{margin-top:5px!important}#bookly-tbs .bookly-margin-bottom-xs,#bookly-tbs .bookly-margin-vertical-xs,#bookly-tbs .bookly-margin-xs{margin-bottom:5px!important}#bookly-tbs .bookly-margin-horizontal-sm,#bookly-tbs .bookly-margin-left-sm,#bookly-tbs .bookly-margin-sm{margin-left:10px!important}#bookly-tbs .bookly-margin-horizontal-sm,#bookly-tbs .bookly-margin-right-sm,#bookly-tbs .bookly-margin-sm{margin-right:10px!important}#bookly-tbs .bookly-margin-sm,#bookly-tbs .bookly-margin-top-sm,#bookly-tbs .bookly-margin-vertical-sm{margin-top:10px!important}#bookly-tbs .bookly-margin-bottom-sm,#bookly-tbs .bookly-margin-sm,#bookly-tbs .bookly-margin-vertical-sm{margin-bottom:10px!important}#bookly-tbs .bookly-margin-horizontal-md,#bookly-tbs .bookly-margin-left-md,#bookly-tbs .bookly-margin-md{margin-left:12px!important}#bookly-tbs .bookly-margin-horizontal-md,#bookly-tbs .bookly-margin-md,#bookly-tbs .bookly-margin-right-md{margin-right:12px!important}#bookly-tbs .bookly-margin-md,#bookly-tbs .bookly-margin-top-md,#bookly-tbs .bookly-margin-vertical-md{margin-top:12px!important}#bookly-tbs .bookly-margin-bottom-md,#bookly-tbs .bookly-margin-md,#bookly-tbs .bookly-margin-vertical-md{margin-bottom:12px!important}#bookly-tbs .bookly-margin-horizontal-lg,#bookly-tbs .bookly-margin-left-lg,#bookly-tbs .bookly-margin-lg{margin-left:16px!important}#bookly-tbs .bookly-margin-horizontal-lg,#bookly-tbs .bookly-margin-lg,#bookly-tbs .bookly-margin-right-lg{margin-right:16px!important}#bookly-tbs .bookly-margin-lg,#bookly-tbs .bookly-margin-top-lg,#bookly-tbs .bookly-margin-vertical-lg{margin-top:16px!important}#bookly-tbs .bookly-margin-bottom-lg,#bookly-tbs .bookly-margin-lg,#bookly-tbs .bookly-margin-vertical-lg{margin-bottom:16px!important}#bookly-tbs .bookly-margin-horizontal-xlg,#bookly-tbs .bookly-margin-left-xlg,#bookly-tbs .bookly-margin-xlg{margin-left:32px!important}#bookly-tbs .bookly-margin-horizontal-xlg,#bookly-tbs .bookly-margin-right-xlg,#bookly-tbs .bookly-margin-xlg{margin-right:32px!important}#bookly-tbs .bookly-margin-top-xlg,#bookly-tbs .bookly-margin-vertical-xlg,#bookly-tbs .bookly-margin-xlg{margin-top:32px!important}#bookly-tbs .bookly-margin-bottom-xlg,#bookly-tbs .bookly-margin-vertical-xlg,#bookly-tbs .bookly-margin-xlg{margin-bottom:32px!important}@media (max-width:767px){#bookly-tbs .bookly-margin-horizontal-screenxs-remove,#bookly-tbs .bookly-margin-left-screenxs-remove,#bookly-tbs .bookly-margin-screenxs-remove{margin-left:0!important}#bookly-tbs .bookly-margin-horizontal-screenxs-remove,#bookly-tbs .bookly-margin-right-screenxs-remove,#bookly-tbs .bookly-margin-screenxs-remove{margin-right:0!important}#bookly-tbs .bookly-margin-screenxs-remove,#bookly-tbs .bookly-margin-top-screenxs-remove,#bookly-tbs .bookly-margin-vertical-screenxs-remove{margin-top:0!important}#bookly-tbs .bookly-margin-bottom-screenxs-remove,#bookly-tbs .bookly-margin-screenxs-remove,#bookly-tbs .bookly-margin-vertical-screenxs-remove{margin-bottom:0!important}#bookly-tbs .bookly-margin-horizontal-screenxs-xs,#bookly-tbs .bookly-margin-left-screenxs-xs,#bookly-tbs .bookly-margin-screenxs-xs{margin-left:5px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-xs,#bookly-tbs .bookly-margin-right-screenxs-xs,#bookly-tbs .bookly-margin-screenxs-xs{margin-right:5px!important}#bookly-tbs .bookly-margin-screenxs-xs,#bookly-tbs .bookly-margin-top-screenxs-xs,#bookly-tbs .bookly-margin-vertical-screenxs-xs{margin-top:5px!important}#bookly-tbs .bookly-margin-bottom-screenxs-xs,#bookly-tbs .bookly-margin-screenxs-xs,#bookly-tbs .bookly-margin-vertical-screenxs-xs{margin-bottom:5px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-sm,#bookly-tbs .bookly-margin-left-screenxs-sm,#bookly-tbs .bookly-margin-screenxs-sm{margin-left:10px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-sm,#bookly-tbs .bookly-margin-right-screenxs-sm,#bookly-tbs .bookly-margin-screenxs-sm{margin-right:10px!important}#bookly-tbs .bookly-margin-screenxs-sm,#bookly-tbs .bookly-margin-top-screenxs-sm,#bookly-tbs .bookly-margin-vertical-screenxs-sm{margin-top:10px!important}#bookly-tbs .bookly-margin-bottom-screenxs-sm,#bookly-tbs .bookly-margin-screenxs-sm,#bookly-tbs .bookly-margin-vertical-screenxs-sm{margin-bottom:10px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-md,#bookly-tbs .bookly-margin-left-screenxs-md,#bookly-tbs .bookly-margin-screenxs-md{margin-left:12px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-md,#bookly-tbs .bookly-margin-right-screenxs-md,#bookly-tbs .bookly-margin-screenxs-md{margin-right:12px!important}#bookly-tbs .bookly-margin-screenxs-md,#bookly-tbs .bookly-margin-top-screenxs-md,#bookly-tbs .bookly-margin-vertical-screenxs-md{margin-top:12px!important}#bookly-tbs .bookly-margin-bottom-screenxs-md,#bookly-tbs .bookly-margin-screenxs-md,#bookly-tbs .bookly-margin-vertical-screenxs-md{margin-bottom:12px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-lg,#bookly-tbs .bookly-margin-left-screenxs-lg,#bookly-tbs .bookly-margin-screenxs-lg{margin-left:16px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-lg,#bookly-tbs .bookly-margin-right-screenxs-lg,#bookly-tbs .bookly-margin-screenxs-lg{margin-right:16px!important}#bookly-tbs .bookly-margin-screenxs-lg,#bookly-tbs .bookly-margin-top-screenxs-lg,#bookly-tbs .bookly-margin-vertical-screenxs-lg{margin-top:16px!important}#bookly-tbs .bookly-margin-bottom-screenxs-lg,#bookly-tbs .bookly-margin-screenxs-lg,#bookly-tbs .bookly-margin-vertical-screenxs-lg{margin-bottom:16px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-xlg,#bookly-tbs .bookly-margin-left-screenxs-xlg,#bookly-tbs .bookly-margin-screenxs-xlg{margin-left:32px!important}#bookly-tbs .bookly-margin-horizontal-screenxs-xlg,#bookly-tbs .bookly-margin-right-screenxs-xlg,#bookly-tbs .bookly-margin-screenxs-xlg{margin-right:32px!important}#bookly-tbs .bookly-margin-screenxs-xlg,#bookly-tbs .bookly-margin-top-screenxs-xlg,#bookly-tbs .bookly-margin-vertical-screenxs-xlg{margin-top:32px!important}#bookly-tbs .bookly-margin-bottom-screenxs-xlg,#bookly-tbs .bookly-margin-screenxs-xlg,#bookly-tbs .bookly-margin-vertical-screenxs-xlg{margin-bottom:32px!important}}@media (min-width:768px){#bookly-tbs .bookly-margin-horizontal-screensm-remove,#bookly-tbs .bookly-margin-left-screensm-remove,#bookly-tbs .bookly-margin-screensm-remove{margin-left:0!important}#bookly-tbs .bookly-margin-horizontal-screensm-remove,#bookly-tbs .bookly-margin-right-screensm-remove,#bookly-tbs .bookly-margin-screensm-remove{margin-right:0!important}#bookly-tbs .bookly-margin-screensm-remove,#bookly-tbs .bookly-margin-top-screensm-remove,#bookly-tbs .bookly-margin-vertical-screensm-remove{margin-top:0!important}#bookly-tbs .bookly-margin-bottom-screensm-remove,#bookly-tbs .bookly-margin-screensm-remove,#bookly-tbs .bookly-margin-vertical-screensm-remove{margin-bottom:0!important}#bookly-tbs .bookly-margin-horizontal-screensm-xs,#bookly-tbs .bookly-margin-left-screensm-xs,#bookly-tbs .bookly-margin-screensm-xs{margin-left:5px!important}#bookly-tbs .bookly-margin-horizontal-screensm-xs,#bookly-tbs .bookly-margin-right-screensm-xs,#bookly-tbs .bookly-margin-screensm-xs{margin-right:5px!important}#bookly-tbs .bookly-margin-screensm-xs,#bookly-tbs .bookly-margin-top-screensm-xs,#bookly-tbs .bookly-margin-vertical-screensm-xs{margin-top:5px!important}#bookly-tbs .bookly-margin-bottom-screensm-xs,#bookly-tbs .bookly-margin-screensm-xs,#bookly-tbs .bookly-margin-vertical-screensm-xs{margin-bottom:5px!important}#bookly-tbs .bookly-margin-horizontal-screensm-sm,#bookly-tbs .bookly-margin-left-screensm-sm,#bookly-tbs .bookly-margin-screensm-sm{margin-left:10px!important}#bookly-tbs .bookly-margin-horizontal-screensm-sm,#bookly-tbs .bookly-margin-right-screensm-sm,#bookly-tbs .bookly-margin-screensm-sm{margin-right:10px!important}#bookly-tbs .bookly-margin-screensm-sm,#bookly-tbs .bookly-margin-top-screensm-sm,#bookly-tbs .bookly-margin-vertical-screensm-sm{margin-top:10px!important}#bookly-tbs .bookly-margin-bottom-screensm-sm,#bookly-tbs .bookly-margin-screensm-sm,#bookly-tbs .bookly-margin-vertical-screensm-sm{margin-bottom:10px!important}#bookly-tbs .bookly-margin-horizontal-screensm-md,#bookly-tbs .bookly-margin-left-screensm-md,#bookly-tbs .bookly-margin-screensm-md{margin-left:12px!important}#bookly-tbs .bookly-margin-horizontal-screensm-md,#bookly-tbs .bookly-margin-right-screensm-md,#bookly-tbs .bookly-margin-screensm-md{margin-right:12px!important}#bookly-tbs .bookly-margin-screensm-md,#bookly-tbs .bookly-margin-top-screensm-md,#bookly-tbs .bookly-margin-vertical-screensm-md{margin-top:12px!important}#bookly-tbs .bookly-margin-bottom-screensm-md,#bookly-tbs .bookly-margin-screensm-md,#bookly-tbs .bookly-margin-vertical-screensm-md{margin-bottom:12px!important}#bookly-tbs .bookly-margin-horizontal-screensm-lg,#bookly-tbs .bookly-margin-left-screensm-lg,#bookly-tbs .bookly-margin-screensm-lg{margin-left:16px!important}#bookly-tbs .bookly-margin-horizontal-screensm-lg,#bookly-tbs .bookly-margin-right-screensm-lg,#bookly-tbs .bookly-margin-screensm-lg{margin-right:16px!important}#bookly-tbs .bookly-margin-screensm-lg,#bookly-tbs .bookly-margin-top-screensm-lg,#bookly-tbs .bookly-margin-vertical-screensm-lg{margin-top:16px!important}#bookly-tbs .bookly-margin-bottom-screensm-lg,#bookly-tbs .bookly-margin-screensm-lg,#bookly-tbs .bookly-margin-vertical-screensm-lg{margin-bottom:16px!important}#bookly-tbs .bookly-margin-horizontal-screensm-xlg,#bookly-tbs .bookly-margin-left-screensm-xlg,#bookly-tbs .bookly-margin-screensm-xlg{margin-left:32px!important}#bookly-tbs .bookly-margin-horizontal-screensm-xlg,#bookly-tbs .bookly-margin-right-screensm-xlg,#bookly-tbs .bookly-margin-screensm-xlg{margin-right:32px!important}#bookly-tbs .bookly-margin-screensm-xlg,#bookly-tbs .bookly-margin-top-screensm-xlg,#bookly-tbs .bookly-margin-vertical-screensm-xlg{margin-top:32px!important}#bookly-tbs .bookly-margin-bottom-screensm-xlg,#bookly-tbs .bookly-margin-screensm-xlg,#bookly-tbs .bookly-margin-vertical-screensm-xlg{margin-bottom:32px!important}}@media (min-width:992px){#bookly-tbs .bookly-margin-horizontal-screenmd-remove,#bookly-tbs .bookly-margin-left-screenmd-remove,#bookly-tbs .bookly-margin-screenmd-remove{margin-left:0!important}#bookly-tbs .bookly-margin-horizontal-screenmd-remove,#bookly-tbs .bookly-margin-right-screenmd-remove,#bookly-tbs .bookly-margin-screenmd-remove{margin-right:0!important}#bookly-tbs .bookly-margin-screenmd-remove,#bookly-tbs .bookly-margin-top-screenmd-remove,#bookly-tbs .bookly-margin-vertical-screenmd-remove{margin-top:0!important}#bookly-tbs .bookly-margin-bottom-screenmd-remove,#bookly-tbs .bookly-margin-screenmd-remove,#bookly-tbs .bookly-margin-vertical-screenmd-remove{margin-bottom:0!important}#bookly-tbs .bookly-margin-horizontal-screenmd-xs,#bookly-tbs .bookly-margin-left-screenmd-xs,#bookly-tbs .bookly-margin-screenmd-xs{margin-left:5px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-xs,#bookly-tbs .bookly-margin-right-screenmd-xs,#bookly-tbs .bookly-margin-screenmd-xs{margin-right:5px!important}#bookly-tbs .bookly-margin-screenmd-xs,#bookly-tbs .bookly-margin-top-screenmd-xs,#bookly-tbs .bookly-margin-vertical-screenmd-xs{margin-top:5px!important}#bookly-tbs .bookly-margin-bottom-screenmd-xs,#bookly-tbs .bookly-margin-screenmd-xs,#bookly-tbs .bookly-margin-vertical-screenmd-xs{margin-bottom:5px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-sm,#bookly-tbs .bookly-margin-left-screenmd-sm,#bookly-tbs .bookly-margin-screenmd-sm{margin-left:10px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-sm,#bookly-tbs .bookly-margin-right-screenmd-sm,#bookly-tbs .bookly-margin-screenmd-sm{margin-right:10px!important}#bookly-tbs .bookly-margin-screenmd-sm,#bookly-tbs .bookly-margin-top-screenmd-sm,#bookly-tbs .bookly-margin-vertical-screenmd-sm{margin-top:10px!important}#bookly-tbs .bookly-margin-bottom-screenmd-sm,#bookly-tbs .bookly-margin-screenmd-sm,#bookly-tbs .bookly-margin-vertical-screenmd-sm{margin-bottom:10px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-md,#bookly-tbs .bookly-margin-left-screenmd-md,#bookly-tbs .bookly-margin-screenmd-md{margin-left:12px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-md,#bookly-tbs .bookly-margin-right-screenmd-md,#bookly-tbs .bookly-margin-screenmd-md{margin-right:12px!important}#bookly-tbs .bookly-margin-screenmd-md,#bookly-tbs .bookly-margin-top-screenmd-md,#bookly-tbs .bookly-margin-vertical-screenmd-md{margin-top:12px!important}#bookly-tbs .bookly-margin-bottom-screenmd-md,#bookly-tbs .bookly-margin-screenmd-md,#bookly-tbs .bookly-margin-vertical-screenmd-md{margin-bottom:12px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-lg,#bookly-tbs .bookly-margin-left-screenmd-lg,#bookly-tbs .bookly-margin-screenmd-lg{margin-left:16px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-lg,#bookly-tbs .bookly-margin-right-screenmd-lg,#bookly-tbs .bookly-margin-screenmd-lg{margin-right:16px!important}#bookly-tbs .bookly-margin-screenmd-lg,#bookly-tbs .bookly-margin-top-screenmd-lg,#bookly-tbs .bookly-margin-vertical-screenmd-lg{margin-top:16px!important}#bookly-tbs .bookly-margin-bottom-screenmd-lg,#bookly-tbs .bookly-margin-screenmd-lg,#bookly-tbs .bookly-margin-vertical-screenmd-lg{margin-bottom:16px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-xlg,#bookly-tbs .bookly-margin-left-screenmd-xlg,#bookly-tbs .bookly-margin-screenmd-xlg{margin-left:32px!important}#bookly-tbs .bookly-margin-horizontal-screenmd-xlg,#bookly-tbs .bookly-margin-right-screenmd-xlg,#bookly-tbs .bookly-margin-screenmd-xlg{margin-right:32px!important}#bookly-tbs .bookly-margin-screenmd-xlg,#bookly-tbs .bookly-margin-top-screenmd-xlg,#bookly-tbs .bookly-margin-vertical-screenmd-xlg{margin-top:32px!important}#bookly-tbs .bookly-margin-bottom-screenmd-xlg,#bookly-tbs .bookly-margin-screenmd-xlg,#bookly-tbs .bookly-margin-vertical-screenmd-xlg{margin-bottom:32px!important}}#bookly-tbs .bookly-padding-horizontal-remove,#bookly-tbs .bookly-padding-left-remove,#bookly-tbs .bookly-padding-remove{padding-left:0!important}#bookly-tbs .bookly-padding-horizontal-remove,#bookly-tbs .bookly-padding-remove,#bookly-tbs .bookly-padding-right-remove{padding-right:0!important}#bookly-tbs .bookly-padding-remove,#bookly-tbs .bookly-padding-top-remove,#bookly-tbs .bookly-padding-vertical-remove{padding-top:0!important}#bookly-tbs .bookly-padding-bottom-remove,#bookly-tbs .bookly-padding-remove,#bookly-tbs .bookly-padding-vertical-remove{padding-bottom:0!important}#bookly-tbs .bookly-padding-horizontal-xs,#bookly-tbs .bookly-padding-left-xs,#bookly-tbs .bookly-padding-xs{padding-left:5px!important}#bookly-tbs .bookly-padding-horizontal-xs,#bookly-tbs .bookly-padding-right-xs,#bookly-tbs .bookly-padding-xs{padding-right:5px!important}#bookly-tbs .bookly-padding-top-xs,#bookly-tbs .bookly-padding-vertical-xs,#bookly-tbs .bookly-padding-xs{padding-top:5px!important}#bookly-tbs .bookly-padding-bottom-xs,#bookly-tbs .bookly-padding-vertical-xs,#bookly-tbs .bookly-padding-xs{padding-bottom:5px!important}#bookly-tbs .bookly-padding-horizontal-sm,#bookly-tbs .bookly-padding-left-sm,#bookly-tbs .bookly-padding-sm{padding-left:10px!important}#bookly-tbs .bookly-padding-horizontal-sm,#bookly-tbs .bookly-padding-right-sm,#bookly-tbs .bookly-padding-sm{padding-right:10px!important}#bookly-tbs .bookly-padding-sm,#bookly-tbs .bookly-padding-top-sm,#bookly-tbs .bookly-padding-vertical-sm{padding-top:10px!important}#bookly-tbs .bookly-padding-bottom-sm,#bookly-tbs .bookly-padding-sm,#bookly-tbs .bookly-padding-vertical-sm{padding-bottom:10px!important}#bookly-tbs .bookly-padding-horizontal-md,#bookly-tbs .bookly-padding-left-md,#bookly-tbs .bookly-padding-md{padding-left:12px!important}#bookly-tbs .bookly-padding-horizontal-md,#bookly-tbs .bookly-padding-md,#bookly-tbs .bookly-padding-right-md{padding-right:12px!important}#bookly-tbs .bookly-padding-md,#bookly-tbs .bookly-padding-top-md,#bookly-tbs .bookly-padding-vertical-md{padding-top:12px!important}#bookly-tbs .bookly-padding-bottom-md,#bookly-tbs .bookly-padding-md,#bookly-tbs .bookly-padding-vertical-md{padding-bottom:12px!important}#bookly-tbs .bookly-padding-horizontal-lg,#bookly-tbs .bookly-padding-left-lg,#bookly-tbs .bookly-padding-lg{padding-left:16px!important}#bookly-tbs .bookly-padding-horizontal-lg,#bookly-tbs .bookly-padding-lg,#bookly-tbs .bookly-padding-right-lg{padding-right:16px!important}#bookly-tbs .bookly-padding-lg,#bookly-tbs .bookly-padding-top-lg,#bookly-tbs .bookly-padding-vertical-lg{padding-top:16px!important}#bookly-tbs .bookly-padding-bottom-lg,#bookly-tbs .bookly-padding-lg,#bookly-tbs .bookly-padding-vertical-lg{padding-bottom:16px!important}#bookly-tbs .bookly-padding-horizontal-xlg,#bookly-tbs .bookly-padding-left-xlg,#bookly-tbs .bookly-padding-xlg{padding-left:32px!important}#bookly-tbs .bookly-padding-horizontal-xlg,#bookly-tbs .bookly-padding-right-xlg,#bookly-tbs .bookly-padding-xlg{padding-right:32px!important}#bookly-tbs .bookly-padding-top-xlg,#bookly-tbs .bookly-padding-vertical-xlg,#bookly-tbs .bookly-padding-xlg{padding-top:32px!important}#bookly-tbs .bookly-padding-bottom-xlg,#bookly-tbs .bookly-padding-vertical-xlg,#bookly-tbs .bookly-padding-xlg{padding-bottom:32px!important}#bookly-tbs .bookly-flexbox{display:table;width:100%;max-width:100%;height:100%}#bookly-tbs .bookly-flexbox .bookly-flex-row{display:table-row}#bookly-tbs .bookly-flexbox .bookly-flex-cell{display:table-cell;height:100%;word-wrap:break-word}@media (min-width:992px){#bookly-tbs .bookly-flexbox .bookly-flex-cell-sm{display:table-cell;height:100%;word-wrap:break-word}}#bookly-tbs .bookly-bg-transparent{background-color:transparent}#bookly-tbs .bookly-bg-white{background-color:#fff}#bookly-tbs .bookly-color-white{color:#fff}#bookly-tbs .bookly-bg-black{background-color:#000}#bookly-tbs .bookly-color-black{color:#000}#bookly-tbs .bookly-bg-gray{background-color:#8a929e}#bookly-tbs .bookly-color-gray{color:#8a929e}#bookly-tbs .bookly-bg-light{background-color:#d9dee4}#bookly-tbs .bookly-color-light{color:#d9dee4}#bookly-tbs .bookly-bg-brand-primary{background-color:#08c}#bookly-tbs .bookly-color-brand-primary{color:#08c}#bookly-tbs .bookly-bg-brand-success{background-color:#5cb85c}#bookly-tbs .bookly-color-brand-success{color:#5cb85c}#bookly-tbs .bookly-bg-brand-info{background-color:#5bc0de}#bookly-tbs .bookly-color-brand-info{color:#5bc0de}#bookly-tbs .bookly-bg-brand-warning{background-color:#f0ad4e}#bookly-tbs .bookly-color-brand-warning{color:#f0ad4e}#bookly-tbs .bookly-bg-brand-danger{background-color:#d9534f}#bookly-tbs .bookly-color-brand-danger{color:#d9534f}#bookly-tbs .bookly-cursor-pointer{cursor:pointer}#bookly-tbs .bookly-cursor-move{cursor:move}@media (max-width:767px){#bookly-tbs .bookly-text-xs-center{text-align:center!important}#bookly-tbs .bookly-text-xs-left{text-align:left!important}#bookly-tbs .bookly-text-xs-right{text-align:right!important}#bookly-tbs .bookly-btn-block-xs{display:block;width:100%}}#bookly-tbs table.dataTable{max-width:none!important;margin-top:6px!important;margin-bottom:6px!important;clear:both;border-collapse:separate!important}#bookly-tbs table.dataTable td,#bookly-tbs table.dataTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;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{display:inline-block;width:75px}#bookly-tbs div.dataTables_wrapper div.dataTables_filter{text-align:right}#bookly-tbs div.dataTables_wrapper div.dataTables_filter label{font-weight:400;text-align:left;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_filter input{display:inline-block;width:auto;margin-left:.5em}#bookly-tbs div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}#bookly-tbs div.dataTables_wrapper div.dataTables_paginate{margin:0;text-align:right;white-space:nowrap}#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;padding:1em 0;margin-top:-26px;margin-left:-100px;text-align:center}#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{position:relative;cursor:pointer}#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{position:absolute;right:8px;bottom:-webkit-calc(50% - 9px);bottom:calc(50% - 9px);display:block;font-family:'Glyphicons Halflings';font-size:12px;opacity:.5}#bookly-tbs table.dataTable thead .sorting:after{content:"\e150";opacity:.2}#bookly-tbs table.dataTable thead .sorting_asc:after{content:"\e155"}#bookly-tbs table.dataTable thead .sorting_desc:after{content:"\e156"}#bookly-tbs table.dataTable thead .sorting_asc_disabled:after,#bookly-tbs table.dataTable thead .sorting_desc_disabled:after{color:#eee}#bookly-tbs div.dataTables_scrollHead table.dataTable{margin-bottom:0!important}#bookly-tbs div.dataTables_scrollBody table{margin-top:0!important;margin-bottom:0!important;border-top:none}#bookly-tbs div.dataTables_scrollBody table thead .sorting:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_asc:after,#bookly-tbs div.dataTables_scrollBody table thead .sorting_desc:after{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 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-condensed>thead>tr>th{padding-right:20px}#bookly-tbs table.dataTable.table-condensed .sorting:after,#bookly-tbs table.dataTable.table-condensed .sorting_asc:after,#bookly-tbs table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}#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.row{margin:0}#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.row>div[class^=col-]:last-child{padding-right:0}#bookly-tbs div.dt-button-info{position:fixed;top:50%;left:50%;z-index:21;width:400px;margin-top:-100px;margin-left:-200px;text-align:center;background-color:#fff;border:2px solid #111;border-radius:3px;-webkit-box-shadow:3px 3px 8px rgba(0,0,0,.3);box-shadow:3px 3px 8px rgba(0,0,0,.3)}#bookly-tbs div.dt-button-info h2{padding:.5em;margin:0;font-weight:400;background-color:#f3f3f3;border-bottom:1px solid #ddd}#bookly-tbs div.dt-button-info>div{padding:1em}#bookly-tbs ul.dt-button-collection.dropdown-menu{z-index:2002;display:block;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}#bookly-tbs ul.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}#bookly-tbs ul.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}#bookly-tbs ul.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}#bookly-tbs ul.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}#bookly-tbs ul.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}#bookly-tbs ul.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}#bookly-tbs ul.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}#bookly-tbs ul.dt-button-collection.dropdown-menu.four-column{width:600px;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-background{position:fixed;top:0;left:0;z-index:2001;width:100%;height:100%}@media screen and (max-width:767px){#bookly-tbs div.dt-buttons{float:none;width:100%;margin-bottom:.5em;text-align:center}#bookly-tbs div.dt-buttons a.btn{float:none}}#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>td:first-child,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child{position:relative;padding-left:30px;cursor:pointer}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child:before,#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child:before{position:absolute;top:9px;left:4px;display:block;width:18px;height:18px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;font-family:'Courier New',Courier,monospace;font-size:18px;font-weight:700;line-height:18px;color:#5b6470;text-align:center;content:'+';background-color:transparent;border:0;border-radius:18px;-webkit-box-shadow:0 0 2px #5b6470;box-shadow:0 0 2px #5b6470}#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:transparent}#bookly-tbs table.dataTable.dtr-inline.collapsed>tbody>tr.child td:before{display:none}#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;width:14px;height:14px;line-height:14px;text-indent:3px;border-radius:14px}#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{position:absolute;top:50%;left:50%;display:block;width:16px;height:16px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;margin-top:-10px;margin-left:-10px;font-family:'Courier New',Courier,monospace;line-height:14px;color:#fff;text-align:center;content:'+';background-color:#337ab7;border:2px solid #fff;border-radius:14px;-webkit-box-shadow:0 0 3px #444;box-shadow:0 0 3px #444}#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{display:inline-block;width:100%;padding:0;margin:0;list-style-type:none}#bookly-tbs table.dataTable>tbody>tr.child ul li{padding:.3em 0;margin-bottom:.3em;border-bottom:1px solid #efefef}#bookly-tbs table.dataTable>tbody>tr.child ul li:first-child{padding-top:0}#bookly-tbs table.dataTable>tbody>tr.child ul 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;top:0;left:0;z-index:100;width:100%;height:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:10em 1em}#bookly-tbs div.dtr-modal div.dtr-modal-display{position:absolute;top:0;right:0;bottom:0;left:0;z-index:102;width:50%;height:50%;margin:auto;overflow:auto;background-color:#f5f5f7;border:1px solid #000;border-radius:.5em;-webkit-box-shadow:0 12px 30px rgba(0,0,0,.6);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;z-index:12;width:22px;height:22px;text-align:center;cursor:pointer;background-color:#f9f9f9;border:1px solid #eaeaea;border-radius:3px}#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;right:0;bottom:0;left: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;z-index:2001;table-layout:fixed;outline:2px solid #337ab7;outline-offset:-2px;opacity:.8}#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 .jCal-wrap{margin-right:-10px;margin-left:-10px}#bookly-tbs .jCal{position:relative;width:100%}#bookly-tbs .jCalMo{position:relative;display:block;padding:0 15px;margin-bottom:15px;white-space:nowrap}@media (min-width:768px){#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{width:100%;padding:10px 0;font-weight:700;text-align:center}#bookly-tbs .jCal .monthYear{float:right;text-align:left}#bookly-tbs .jCal .month{width:100%}#bookly-tbs .jCal .monthSelect{background:#e8ebf0}#bookly-tbs .jCal .monthSelector{position:absolute}#bookly-tbs .jCal .monthSelectorShadow{position:absolute;padding:0;background:#8a929e}#bookly-tbs .jCal .monthNameHover,#bookly-tbs .jCal .monthYearHover{color:#8a929e;background:#e8ebf0}#bookly-tbs .jCal .monthSelectHover{color:#fff;background:#08c}#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:-webkit-calc(14.2857% + 1px);width:calc(14.2857% + 1px);margin-right:-1px;text-align:center;cursor:default;border:1px solid #e8ebf0;border-width:0 1px 1px 1px}#bookly-tbs .jCalMo .dow{font-size:12px;line-height:30px;background:#e8ebf0;border-bottom:0}#bookly-tbs .jCalMo .day{font-size:13px;line-height:30px;cursor:pointer;background:#fff}#bookly-tbs .jCalMo .invday{color:#8a929e;text-decoration:line-through;background:#e8ebf0}#bookly-tbs .jCalMo .aday,#bookly-tbs .jCalMo .pday{font-size:13px;line-height:30px;color:#d9dee4;background:rgba(232,235,240,.3)}#bookly-tbs .jCalMo .overDay{color:#3e424a;background:rgba(0,136,204,.2)}#bookly-tbs .jCalMo .holidayDay{color:#fff;background:#f0ad4e}#bookly-tbs .jCalMo .holidayDay.repeatDay{color:#fff;background:#d9534f}#bookly-tbs .jCalMo .selectedDay,#bookly-tbs .jCalMo .selectedDay.repeatDay{color:#fff;background:#08c}#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;width:700px;height:930px;overflow:hidden}@media (min-width:768px){#bookly-tbs .jCalMo{float:left;width:50%}}@media (min-width:1200px){#bookly-tbs .jCalMo{float:left;width:33.33333333%}}#bookly-tbs .bookly-loading{position:relative;height:100px}#bookly-tbs .bookly-loading:before{position:absolute;top:-webkit-calc(50% - 16px);top:calc(50% - 16px);left:-webkit-calc(50% - 16px);left:calc(50% - 16px);width:32px;height:32px;content:'';background:url(../../images/ajax_loader_32x32.gif) no-repeat;-webkit-background-size:contain;background-size:contain}#bookly-tbs .bookly-loading-16{position:relative;display:inline-block;min-width:16px;min-height:16px}#bookly-tbs .bookly-loading-16:before{position:absolute;top:-webkit-calc(50% - 8px);top:calc(50% - 8px);left:-webkit-calc(50% - 8px);left:calc(50% - 8px);width:16px;height:16px;content:'';background:url(../../images/loading.gif) no-repeat;-webkit-background-size:contain;background-size:contain}#bookly-tbs .select2 .select2-selection{height:35px!important;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .select2 .select2-selection__choice{display:none}#bookly-tbs .select2 .select2-selection ul{padding:0 16px;margin-bottom:0}#bookly-tbs .select2 .select2-search{float:none;margin:6px 0}#bookly-tbs .select2 .select2-search__field{width:100%!important;padding:0;margin:0;border:0;-webkit-box-shadow:none!important;box-shadow:none!important}#bookly-tbs .select2 .select2-selection__clear{top:-2px}#bookly-tbs .select2 .select2-selection__arrow{top:-4px}#bookly-tbs .bookly-no-borders,#bookly-tbs .bookly-no-borders td{border:0!important}#bookly-tbs .panel.bookly-main{border-color:#d9dee4;border-width:1px}@media (min-width:992px){#bookly-tbs .panel.bookly-main>.panel-body{padding:25px}}#bookly-tbs .panel.bookly-main .panel-body+.panel-footer{margin:0 15px 15px}@media (min-width:992px){#bookly-tbs .panel.bookly-main .panel-body+.panel-footer{margin:0 25px 25px}}#bookly-tbs .panel.bookly-panel-unborder,#bookly-tbs .panel.bookly-panel-unborder .panel-heading,#bookly-tbs .panel.bookly-panel-unborder>.list-group .list-group-item,#bookly-tbs .panel.bookly-panel-unborder>.panel-collapse>.list-group .list-group-item{border-width:0}#bookly-tbs .panel.bookly-panel-unborder .panel-heading{border-bottom-right-radius:3px;border-bottom-left-radius:3px}#bookly-tbs .panel .panel-heading .bookly-font-smaller{padding-top:4px}#bookly-tbs .panel .panel-footer{padding:21px 0 0 0;background-color:transparent}@media (min-width:768px){#bookly-tbs .panel .panel-footer{text-align:right}}@media (max-width:767px){#bookly-tbs .panel .panel-footer .btn{float:none!important}}#bookly-tbs .panel .panel-body .bookly-codes input{width:242px;border:none}#bookly-tbs .panel .padding-lr-none{padding-right:0;padding-left:0}#bookly-tbs .panel .panel-group .panel-footer{border-top:1px solid #e8ebf0}#bookly-tbs .bookly-collapse{margin-bottom:16px!important}#bookly-tbs .bookly-collapse a[data-toggle=collapse]{padding-right:25px;vertical-align:middle;background:url(../../../resources/images/notifications-arrow-up.png) 100% 50% no-repeat;-webkit-background-size:17px 17px!important;background-size:17px 17px!important;outline:0;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .bookly-collapse a[data-toggle=collapse].collapsed{background:url(../../../resources/images/notifications-arrow-down.png) 100% 50% no-repeat}#bookly-tbs .help-block{margin-top:-5px;margin-bottom:7px}@media (min-width:768px){#bookly-tbs .form-inline .form-group+.form-group,#bookly-tbs .modal-footer .btn+.btn,#bookly-tbs .page-header .bookly-support-panel>*+*,#bookly-tbs .page-header .popover+.btn,#bookly-tbs .panel-footer .btn+.btn:not(.bookly-btn-unborder){margin-left:12px}}#bookly-tbs .bookly-block-head{margin-bottom:20px}#bookly-tbs .intl-tel-input{display:block}#bookly-tbs .intl-tel-input .flag-container{right:0;left:0}#bookly-tbs .intl-tel-input .selected-flag{width:42px;padding:0 0 0 8px}#bookly-tbs .intl-tel-input .selected-flag .arrow{right:4px;left:auto;border-top:4px solid #000;border-right:3px solid transparent;border-left:3px solid transparent}#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 (-o-min-device-pixel-ratio:2/1),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 .form-inline label{margin-bottom:0}#bookly-tbs .form-inline .intl-tel-input{display:inline-block}#bookly-tbs .form-inline .bookly-checkbox-text{font-weight:400;vertical-align:middle}#bookly-tbs .page-header{margin-top:0}#bookly-tbs .page-header .bookly-support-panel #bookly-bell+.badge{position:absolute;top:-17px;right:7px;background-color:red}#bookly-tbs .page-header .bookly-support-panel .dropdown-menu-right{margin-top:10px;margin-right:3px}#bookly-tbs .bookly-nav-justified.nav-justified{display:table;margin-bottom:30px;table-layout:fixed}#bookly-tbs .bookly-nav-justified.nav-justified>li{display:table-cell;width:100%}#bookly-tbs .bookly-nav-justified.nav-justified>li>a{padding:15px 5px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #d9dee4;border-radius:0}#bookly-tbs .bookly-nav-justified.nav-justified>li>.active>a,#bookly-tbs .bookly-nav-justified.nav-justified>li>.active>a:focus,#bookly-tbs .bookly-nav-justified.nav-justified>li>.active>a:hover{border-bottom:1px solid #08c}#bookly-tbs .bookly-nav-justified.nav-justified>li .bookly-icon{margin:0 3px;vertical-align:bottom}#bookly-tbs .bookly-nav-tabs-title{font-size:17px}@media (max-width:991px){#bookly-tbs .bookly-nav-tabs-title{display:none}}#bookly-tbs .bookly-thumb{position:relative;display:block;width:76px;height:76px;overflow:hidden;background-color:#e8ebf0;background-image:url(../../../../backend/resources/images/sprite.png);background-repeat:no-repeat;background-position:-106px 0;border:1px solid #d9dee4;border-radius:4px}#bookly-tbs .bookly-thumb.bookly-thumb-sm{width:36px;height:36px;background-position:-182px 0}@media (min-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg{width:106px;height:106px;background-position:0 0}}@media (max-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg{background-position:0 0}}#bookly-tbs .bookly-thumb.bookly-thumb-lg-w100{background-color:rgba(0,0,0,.05);background-image:none}@media (min-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg-w100{width:106px;height:106px;background-position:0 0}}@media (max-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg-w100{background-position:0 0}}@media (min-width:992px){#bookly-tbs .bookly-thumb.bookly-thumb-lg-w100{width:100%}}#bookly-tbs .bookly-thumb .bookly-thumb-delete{position:absolute;top:5px;right:5px}#bookly-tbs .bookly-thumb .bookly-thumb-edit{position:absolute;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.4)}#bookly-tbs .bookly-thumb .bookly-thumb-edit .bookly-thumb-edit-btn{width:100%;padding:0 3px;margin:0;overflow:hidden;font-size:13px;line-height:25px;color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .bookly-staff-archived{background:rgba(232,235,240,.7)!important}#bookly-tbs .bookly-staff-archived .bookly-flex-cell{color:#d9dee4}#bookly-tbs .bookly-staff-archived .bookly-rating-right{color:#d9dee4}#bookly-tbs .btn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .btn.btn-lg{padding-right:32px;padding-left:32px}#bookly-tbs .btn.btn-xlg .dashicons,#bookly-tbs .btn.btn-xlg .dashicons-before:before{width:30px;height:30px;font-size:30px}#bookly-tbs .btn.bookly-btn-unborder{padding-right:0;padding-left:0;border-color:transparent}#bookly-tbs .bookly-nav{margin-bottom:20px;font-size:0}#bookly-tbs .bookly-nav.bookly-nav-pills .bookly-nav-item{display:inline-block;margin:6px 10px 6px 0}#bookly-tbs .bookly-nav.bookly-nav-tabs{z-index:10;border-bottom:1px solid #e8ebf0}@media (min-width:768px){#bookly-tbs .bookly-nav.bookly-nav-tabs{margin-bottom:0}}@media (min-width:768px){#bookly-tbs .bookly-nav.bookly-nav-tabs .bookly-nav-item{position:relative;display:inline-block;padding:12px 16px;margin:6px 10px -1px 0;border-bottom-right-radius:0;border-bottom-left-radius:0}}#bookly-tbs .bookly-nav .bookly-nav-item{position:relative;display:block;padding:10px 10px;margin-bottom:6px;font-size:15px;background:#fff;border:1px solid #e8ebf0;border-radius:4px}#bookly-tbs .bookly-nav .bookly-nav-item.active{color:#fff;background:#08c;border-color:#08c}#bookly-tbs .bookly-nav .bookly-nav-item.active a{color:#fff}#bookly-tbs .bookly-nav .bookly-nav-item.active a:focus,#bookly-tbs .bookly-nav .bookly-nav-item.active a:hover{color:#d9d9d9}#bookly-tbs .bookly-nav .bookly-nav-item:not(.active):focus,#bookly-tbs .bookly-nav .bookly-nav-item:not(.active):hover{cursor:pointer;background-color:#e8ebf0;border-color:#8a929e;-webkit-box-shadow:0 0 5px rgba(0,0,0,.2);box-shadow:0 0 5px rgba(0,0,0,.2)}#bookly-tbs .board-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.5)}#bookly-tbs .board-backdrop .bookly-board{width:50%;padding:20px;margin:10% 25%;background-color:#fefefe;border:1px solid rgba(0,0,0,.2)}@media (max-width:991px){#bookly-tbs .board-backdrop .bookly-board{width:90%;margin:10% 5%}}#bookly-tbs .board-backdrop .bookly-board .btn-group-vertical.align-left .btn{padding-left:6px;text-align:left}#bookly-tbs .board-backdrop .bookly-board ul{margin-left:15px!important;list-style:inside!important}#bookly-tbs .bookly-dropdown-menu>li:first-child{margin-left:0}#bookly-tbs .bookly-dropdown-menu li{margin-left:20px}#bookly-tbs .bookly-dropdown-menu ul>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.4;color:#5b6470;white-space:nowrap}#bookly-tbs .bookly-dropdown-menu ul>li>a:focus,#bookly-tbs .bookly-dropdown-menu ul>li>a:hover{color:#505762;text-decoration:none;background-color:#f5f5f5}#bookly-tbs .bookly-dropdown-block{display:block;width:100%;height:36px;line-height:1.4}#bookly-tbs .bookly-dropdown-block .bookly-flex-cell:last-child{position:absolute;top:7px;left:-webkit-calc(100% - 32px);left:calc(100% - 32px)}#bookly-tbs .bookly-service-color{display:inline-block;width:21px;height:21px;margin-left:-25px;border:2px solid #fff;border-radius:50%}#bookly-tbs .bookly-vertical-colors .bookly-service-color{position:absolute}#bookly-tbs .bookly-vertical-colors .bookly-service-color:nth-child(1){margin-top:-15px}#bookly-tbs .bookly-vertical-colors .bookly-service-color:nth-child(2){margin-top:-5px}#bookly-tbs .bookly-max-height-xs{max-height:200px!important;overflow:auto}#bookly-tbs .bookly-max-height-sm{max-height:300px!important;overflow:auto}#bookly-tbs .bookly-max-height-md{max-height:400px!important;overflow:auto}#bookly-tbs .bookly-max-height-lg{max-height:500px!important;overflow:auto}#bookly-tbs .bookly-holidays-nav{display:block;width:200px;margin:0 auto}#bookly-tbs .bookly-holidays-nav .btn-default,#bookly-tbs .bookly-holidays-nav .form-control{background-color:#eff1f4;border-color:transparent}#bookly-tbs .modal-body textarea.wp-editor-area{width:-webkit-calc(100% - 20px);width:calc(100% - 20px)}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-day{cursor:pointer}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-day.bookly-fc-day-active{background-color:#eafcff}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group{position:relative;display:inline-block;vertical-align:middle}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group .fc-button+.fc-button{margin-left:-1px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group>.fc-button:not(.fc-corner-left):not(.fc-corner-right){border-radius:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group>.fc-button:first-child{margin-left:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group>.fc-button:first-child:not(.fc-corner-right){border-top-right-radius:0;border-bottom-right-radius:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group>.fc-button:not(.fc-corner-left){border-top-left-radius:0;border-bottom-left-radius:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button-group:not(:last-child){margin-right:16px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button{display:inline-block;height:auto;padding:6px 12px;margin-bottom:0;overflow:hidden;font-size:15px;font-weight:400;line-height:1.4;text-align:center;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-pill{border-radius:24px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-pill-left{border-top-left-radius:24px;border-bottom-left-radius:24px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-pill-right{border-top-right-radius:24px;border-bottom-right-radius:24px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-lg{padding-right:32px;padding-left:32px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-xlg .dashicons,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.btn-xlg .dashicons-before:before{width:30px;height:30px;font-size:30px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-button.bookly-btn-unborder{padding-right:0;padding-left:0;border-color:transparent}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default{color:#3e424a;text-shadow:none;background-color:#fff;background-image:none;border-color:#d9dee4;-webkit-box-shadow:none;box-shadow:none}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:focus{color:#3e424a;background-color:#e6e6e6;border-color:#8e9daf}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:hover{color:#3e424a;background-color:#e6e6e6;border-color:#b5bfcb}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default{color:#3e424a;background-color:#e6e6e6;border-color:#b5bfcb}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active:hover,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active:hover,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.focus,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:focus,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:hover{color:#3e424a;background-color:#d4d4d4;border-color:#8e9daf}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.active,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:active,.open>.dropdown-toggle#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default{background-image:none}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.disabled.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.disabled:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.disabled:hover,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default[disabled].focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default[disabled]:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default[disabled]:hover,fieldset[disabled] #bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.focus,fieldset[disabled] #bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:focus,fieldset[disabled] #bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default:hover{background-color:#fff;border-color:#d9dee4}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default .badge{color:#fff;background-color:#3e424a}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.fc-state-active{z-index:1;color:#3e424a;background-color:#e6e6e6;background-image:none;border-color:#b5bfcb;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.fc-state-active.focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.fc-state-active:focus,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-state-default.fc-state-active:hover{color:#3e424a;background-color:#d4d4d4;border-color:#8e9daf}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar h2{position:relative;margin:0;font-size:20px;line-height:32px;cursor:pointer}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar h2:hover{color:#005580}@media (min-width:768px){#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar h2{font-size:24px}}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar h2:after{display:inline-block;width:0;height:0;margin-left:12px;vertical-align:middle;content:" ";border-top:5px dashed;border-top:5px solid\9;border-right:5px solid transparent;border-left:5px solid transparent}@media (max-width:767px){#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-left,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-toolbar .fc-right{display:inline-block;float:none;margin:0 12px 6px 12px}}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-head{background-color:#e8ebf0}#bookly-tbs .bookly-fc-inner .bookly-calendar th.fc-widget-header{padding:10px 0}#bookly-tbs .bookly-fc-inner .bookly-calendar th.fc-day-header{text-align:center}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc .fc-axis{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;padding:0 4px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-view{min-height:.01%;overflow-x:auto}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-view>table{min-width:768px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-event{padding:3px 2px 3px 5px;margin-right:0;margin-left:0;color:#3e424a;cursor:pointer;border-width:0;border-radius:0}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-event:after{position:absolute;top:0;right:0;width:-webkit-calc(100% - 2px);width:calc(100% - 2px);height:100%;content:'';background-color:rgba(255,255,255,.6);border-bottom:1px solid rgba(255,255,255,.4)}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-event:hover:after{background-color:rgba(255,255,255,.7)}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-time{font-size:inherit;font-weight:700}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-time .bookly-fc-icon{float:right;color:#3e424a;opacity:.8}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-time .bookly-fc-icon:hover{cursor:pointer;opacity:1}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-title{display:block;margin-top:3px}#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-ltr .fc-time-grid .fc-event-container,#bookly-tbs .bookly-fc-inner .bookly-calendar .fc-rtl .fc-time-grid .fc-event-container{margin:0}#bookly-tbs .bookly-fc-inner .fc-loading-inner{position:absolute;top:50px;right:0;bottom:0;left:0;z-index:9;background-color:rgba(255,255,255,.7)}#bookly-tbs .bookly-fc-inner .fc-loading-inner .fc-loading{position:absolute;top:50%;left:50%;width:auto;height:32px;padding-left:64px;background:rgba(255,0,0,0) url(../../images/ajax_loader_32x32.gif) no-repeat scroll 50% center}#bookly-tbs .bookly-fc-inner .bookly-margin-top-xlg{position:relative;min-height:.01%;overflow:visible}@media (min-width:768px){#bookly-tbs .daterangepicker.dropdown-menu.show-calendar{min-width:718px}}#bookly-tbs .daterangepicker .daterangepicker_input{margin-bottom:6px}#bookly-tbs .daterangepicker .daterangepicker_input .glyphicon{position:absolute;top:8px}#bookly-tbs .wp-editor-wrap *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}#bookly-tbs .wp-switch-editor+.wp-switch-editor{margin-left:5px}#bookly-tbs .editable-container.popover{z-index:9999}#bookly-tbs .editable-input,#bookly-tbs .editable-input .form-control{width:100%}#bookly-tbs .editable-input textarea{resize:both}#bookly-tbs .editable-buttons{display:block;margin:6px 0;text-align:right}#bookly-tbs .editable-clear-x,#bookly-tbs .editable-click{cursor:pointer}#bookly-tbs .table>thead>tr>th{padding:16px 8px;background-color:#e8ebf0}#bookly-tbs .bookly-table-sortable.table>thead>tr>th{position:relative;padding-left:16px!important}#bookly-tbs .bookly-table-sortable.table>thead>tr>th[ng-class],#bookly-tbs .bookly-table-sortable.table>thead>tr>th[order-by]{cursor:pointer}#bookly-tbs .bookly-table-sortable.table>thead>tr>th[ng-class]:after,#bookly-tbs .bookly-table-sortable.table>thead>tr>th[order-by]:after{position:absolute;bottom:22px;left:-4px;width:24px;height:15px;content:"";background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4IiB3aWR0aD0iNDgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0IDIwbDEwIDEwIDEwLTEweiIvPjxwYXRoIGQ9Ik0wIDBoNDh2NDhoLTQ4eiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==);background-repeat:no-repeat;background-position:0 -webkit-calc(50% + 2px);background-position:0 calc(50% + 2px);-webkit-background-size:24px 24px;background-size:24px 24px;opacity:.1}#bookly-tbs .bookly-table-sortable.table>thead>tr>th[ng-class].desc:after,#bookly-tbs .bookly-table-sortable.table>thead>tr>th[order-by].desc:after{opacity:1;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}#bookly-tbs .bookly-table-sortable.table>thead>tr>th[ng-class].asc:after,#bookly-tbs .bookly-table-sortable.table>thead>tr>th[order-by].asc:after{opacity:1}#bookly-tbs .table thead>tr>th{vertical-align:middle}#bookly-tbs .table thead>tr>th:not(:first-child){border-left:1px solid #d9dee4}#bookly-tbs .table td>input[type=checkbox],#bookly-tbs .table th>input[type=checkbox]{margin:0}#bookly-tbs .table td ul.bookly-list,#bookly-tbs .table th ul.bookly-list{padding-left:13px;margin:0!important}#bookly-tbs .table td ul.bookly-list.list-dots,#bookly-tbs .table th ul.bookly-list.list-dots{list-style:disc outside!important}#bookly-tbs .table td ul.bookly-list li,#bookly-tbs .table th ul.bookly-list li{margin:0}#bookly-tbs .bookly-color-picker-wrapper{position:relative;min-height:35px}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container{position:absolute;z-index:10;padding:6px;margin-left:-6px;background-color:#fff}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container,#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container.wp-picker-active{-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-color-result{height:auto}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-color-result .wp-color-result-text{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-picker-input-wrap{float:right}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-picker-input-wrap input[type=button]{display:none}#bookly-tbs .bookly-color-picker-wrapper .wp-picker-container .wp-picker-input-wrap .wp-color-picker{padding:4px}#bookly-tbs .page-header .bookly-page-title{float:left;font-size:24px;line-height:38px}@media (max-width:767px){#bookly-tbs .page-header .bookly-page-title{font-size:22px}#bookly-tbs h3{font-size:18px}}#bookly-tbs .modal{top:46px!important;font-size:15px}#bookly-tbs .modal table{font-family:Arial,Helvetica,sans-serif}#bookly-tbs .modal table th{word-break:normal}#bookly-tbs .modal table td{word-break:normal}#bookly-tbs .modal .bookly-codes input{width:242px;border:none}#bookly-tbs .modal-header .close{margin-top:4px}@media (max-width:767px){#bookly-tbs .bookly-form .bookly-progress-tracker{display:none!important}}#bookly-tbs .bookly-form .picker__nav--next,#bookly-tbs .bookly-form .picker__nav--prev{width:26px;height:26px}@media (max-width:991px){#bookly-tbs .bookly-form .bookly-user-coupon{width:135px}}#bookly-tbs .bookly-form .bookly-box{padding-bottom:1px}#bookly-tbs .bookly-form input[type=checkbox],#bookly-tbs .bookly-form input[type=radio]{width:16px!important;height:16px!important}#bookly-tbs .bookly-icon{display:inline-block;width:24px;height:24px;vertical-align:middle;background-color:transparent;background-image:url(../../../../backend/resources/images/sprite.png);background-repeat:no-repeat}#bookly-tbs .bookly-icon.bookly-icon-draghandle{background-position:-154px -82px}#bookly-tbs .has-feedback .alert-icon{display:inline-block;width:24px;height:24px;margin:4px 6px 0 0;vertical-align:middle;background-color:transparent;background-image:url(../../../../backend/resources/images/sprite.png);background-repeat:no-repeat}#bookly-tbs .has-feedback.has-success .alert-icon{background-position:-24px -113px}#bookly-tbs .has-feedback.has-error .alert-icon{background-position:-48px -113px}#bookly-tbs .has-feedback.has-warning .alert-icon{background-position:-72px -113px}#bookly-tbs .has-feedback.has-ajax .alert-icon{background-position:-72px -113px;-webkit-animation:spin 3s infinite;-o-animation:spin 3s infinite;animation:spin 3s infinite}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes spin{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}#bookly-tbs .alert{margin-top:30px}#bookly-tbs .alert .alert-icon,#bookly-tbs .alert .close{display:inline-block;width:24px;height:24px;vertical-align:top;background-color:transparent;background-image:url(../../../../backend/resources/images/sprite.png);background-repeat:no-repeat}#bookly-tbs .alert .close{margin-top:-2px}#bookly-tbs .alert.alert-info .alert-icon{background-position:0 -113px}#bookly-tbs .alert.alert-success .alert-icon{background-position:-24px -113px}#bookly-tbs .alert.alert-danger .alert-icon{background-position:-48px -113px}#bookly-tbs .alert.alert-warning .alert-icon{background-position:-72px -113px}#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 .pagination .next,#bookly-tbs .pagination .prev{position:inherit;width:inherit;height:inherit;padding:inherit}#bookly-tbs .pagination .next:before,#bookly-tbs .pagination .prev:before{position:inherit;width:inherit;height:inherit;padding:inherit;content:""}#bookly-tbs #bookly-appointments-list .popover .arrow{display:none}#bookly-tbs .bookly-rating-right{float:right}#bookly-tbs .bookly-rating-left{margin-left:10px}#bookly-tbs .bookly-rating-left i{margin-top:3px}#bookly-tbs .table.table-striped{border:1px solid #f4f4f4}#bookly-tbs .table.table-striped thead>tr>th{background-color:transparent;border-top:1px solid #f4f4f4}#bookly-tbs .table.table-striped thead>tr>th:not(:first-child){border-left:1px solid #f4f4f4}#bookly-tbs .table.table-striped thead>tr>th{border-bottom:none}#bookly-tbs .table.table-striped tbody>tr>td{border-top:1px solid #f4f4f4}#bookly-tbs .modal.fade.show{opacity:1}#bookly-tbs .modal .modal-header{display:block}#bookly-tbs ul{list-style:none}#bookly-tbs ul li{margin-right:inherit;margin-left:inherit}#bookly-tbs .modal.show .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}#bookly-tbs h2:before{content:none}#bookly-tbs .dataTables_wrapper{display:block}#bookly-tbs input[type=search]{min-height:21px}#bookly-tbs input[type=radio]{-webkit-appearance:radio}#bookly-tbs select{max-width:unset}#bookly-tbs ol{margin-left:2em}#bookly-tbs table{margin:0;overflow:unset}body.mobile.modal-open #wpwrap{position:inherit!important}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-backdrop+.modal-backdrop{display:none!important}.modal-open{overflow:hidden!important}.modal-open .modal{overflow-x:hidden!important;overflow-y:auto!important}.select2-container--bootstrap{display:block}.select2-container--bootstrap .select2-selection{font-size:15px;color:#3e424a;background-color:#fff;border:1px solid #d9dee4;border-radius:4px;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.select2-container--bootstrap .select2-selection.form-control{border-radius:4px}.select2-container--bootstrap .select2-search--dropdown .select2-search__field{font-size:15px;color:#3e424a;background-color:#fff;border:1px solid #d9dee4;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.select2-container--bootstrap .select2-search__field{outline:0}.select2-container--bootstrap .select2-search__field::-webkit-input-placeholder{color:#8a929e}.select2-container--bootstrap .select2-search__field:-moz-placeholder{color:#8a929e}.select2-container--bootstrap .select2-search__field::-moz-placeholder{color:#8a929e;opacity:1}.select2-container--bootstrap .select2-search__field:-ms-input-placeholder{color:#8a929e}.select2-container--bootstrap .select2-results__option{padding:6px 12px}.select2-container--bootstrap .select2-results__option[role=group]{padding:0}.select2-container--bootstrap .select2-results__option[aria-disabled=true]{color:#d9dee4;cursor:not-allowed}.select2-container--bootstrap .select2-results__option[aria-selected=true]{color:#505762;background-color:#f5f5f5}.select2-container--bootstrap .select2-results__option--highlighted[aria-selected]{color:#fff;background-color:#08c}.select2-container--bootstrap .select2-results__option .select2-results__option{padding:6px 12px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option{padding-left:24px;margin-left:-12px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option{padding-left:36px;margin-left:-24px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{padding-left:48px;margin-left:-36px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{padding-left:60px;margin-left:-48px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{padding-left:72px;margin-left:-60px}.select2-container--bootstrap .select2-results__group{display:block;padding:6px 12px;font-size:13px;line-height:1.4;color:#d9dee4;white-space:nowrap}.select2-container--bootstrap.select2-container--focus .select2-selection,.select2-container--bootstrap.select2-container--open .select2-selection{border-color:#08c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,136,204,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,136,204,.6);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.select2-container--bootstrap.select2-container--open .select2-selection .select2-selection__arrow b{border-color:transparent transparent #8a929e transparent;border-width:0 5px 5px 5px}.select2-container--bootstrap.select2-container--open.select2-container--below .select2-selection{border-bottom-color:transparent;border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container--bootstrap.select2-container--open.select2-container--above .select2-selection{border-top-color:transparent;border-top-left-radius:0;border-top-right-radius:0}.select2-container--bootstrap .select2-selection__clear{float:right;margin-right:10px;font-weight:700;color:#8a929e;cursor:pointer}.select2-container--bootstrap .select2-selection__clear:hover{color:#3e424a}.select2-container--bootstrap.select2-container--disabled .select2-selection{border-color:#d9dee4;-webkit-box-shadow:none;box-shadow:none}.select2-container--bootstrap.select2-container--disabled .select2-search__field,.select2-container--bootstrap.select2-container--disabled .select2-selection{cursor:not-allowed}.select2-container--bootstrap.select2-container--disabled .select2-selection,.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice{background-color:rgba(232,235,240,.7)}.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove,.select2-container--bootstrap.select2-container--disabled .select2-selection__clear{display:none}.select2-container--bootstrap .select2-dropdown{margin-top:-1px;overflow-x:hidden;border-color:#08c;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.select2-container--bootstrap .select2-dropdown--above{margin-top:1px;-webkit-box-shadow:0 -6px 12px rgba(0,0,0,.175);box-shadow:0 -6px 12px rgba(0,0,0,.175)}.select2-container--bootstrap .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--bootstrap .select2-selection--single{height:35px;padding:6px 27px 6px 12px;line-height:1.4}.select2-container--bootstrap .select2-selection--single .select2-selection__arrow{position:absolute;top:0;right:12px;bottom:0;width:5px}.select2-container--bootstrap .select2-selection--single .select2-selection__arrow b{position:absolute;top:50%;left:0;width:0;height:0;margin-top:-2.5px;margin-left:-5px;border-color:#8a929e transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px}.select2-container--bootstrap .select2-selection--single .select2-selection__rendered{padding:0;color:#3e424a}.select2-container--bootstrap .select2-selection--single .select2-selection__placeholder{color:#8a929e}.select2-container--bootstrap .select2-selection--multiple{height:auto;min-height:35px;padding:0}.select2-container--bootstrap .select2-selection--multiple .select2-selection__rendered{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0;overflow:hidden;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;list-style:none}.select2-container--bootstrap .select2-selection--multiple .select2-selection__placeholder{float:left;margin-top:5px;color:#8a929e}.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice{float:left;padding:0 6px;margin:5px 0 0 6px;color:#3e424a;cursor:default;background:#fff;border:1px solid #d9dee4;border-radius:4px}.select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field{min-width:5em;height:21px;padding:0 12px;margin-top:0;line-height:1.4;background:0 0}.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove{display:inline-block;margin-right:3px;font-weight:700;color:#8a929e;cursor:pointer}.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove:hover{color:#3e424a}.select2-container--bootstrap .select2-selection--multiple .select2-selection__clear{margin-top:6px}.form-group-sm .select2-container--bootstrap .select2-selection--single,.input-group-sm .select2-container--bootstrap .select2-selection--single,.select2-container--bootstrap .select2-selection--single.input-sm{height:32px;padding:5px 25px 5px 10px;font-size:13px;line-height:1.53846154;border-radius:3px}.form-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.input-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap .select2-selection--single.input-sm .select2-selection__arrow b{margin-left:-5px}.form-group-sm .select2-container--bootstrap .select2-selection--multiple,.input-group-sm .select2-container--bootstrap .select2-selection--multiple,.select2-container--bootstrap .select2-selection--multiple.input-sm{min-height:32px;border-radius:3px}.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap .select2-selection--multiple.input-sm .select2-selection__choice{padding:0 5px;margin:4px 0 0 5px;font-size:13px;line-height:1.53846154}.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.select2-container--bootstrap .select2-selection--multiple.input-sm .select2-search--inline .select2-search__field{height:30px;padding:0 10px;font-size:13px;line-height:1.53846154}.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.select2-container--bootstrap .select2-selection--multiple.input-sm .select2-selection__clear{margin-top:5px}.form-group-lg .select2-container--bootstrap .select2-selection--single,.input-group-lg .select2-container--bootstrap .select2-selection--single,.select2-container--bootstrap .select2-selection--single.input-lg{height:46px;padding:10px 34px 10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow,.input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow,.select2-container--bootstrap .select2-selection--single.input-lg .select2-selection__arrow{width:6px}.form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap .select2-selection--single.input-lg .select2-selection__arrow b{margin-top:-3px;margin-left:-10px;border-width:6px 6px 0 6px}.form-group-lg .select2-container--bootstrap .select2-selection--multiple,.input-group-lg .select2-container--bootstrap .select2-selection--multiple,.select2-container--bootstrap .select2-selection--multiple.input-lg{min-height:46px;border-radius:6px}.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap .select2-selection--multiple.input-lg .select2-selection__choice{padding:0 10px;margin:9px 0 0 8px;font-size:18px;line-height:1.3333333;border-radius:4px}.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.select2-container--bootstrap .select2-selection--multiple.input-lg .select2-search--inline .select2-search__field{height:44px;padding:0 16px;font-size:18px;line-height:1.3333333}.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.select2-container--bootstrap .select2-selection--multiple.input-lg .select2-selection__clear{margin-top:10px}.select2-container--bootstrap .select2-selection.input-lg.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #8a929e transparent;border-width:0 6px 6px 6px}.input-group-lg .select2-container--bootstrap .select2-selection.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #8a929e transparent;border-width:0 6px 6px 6px}.select2-container--bootstrap[dir=rtl] .select2-selection--single{padding-right:12px;padding-left:27px}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:0;padding-left:0;text-align:right}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__arrow{right:auto;left:12px}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__arrow b{margin-left:0}.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-right:6px;margin-left:0}.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-right:auto;margin-left:2px}.has-warning .select2-dropdown,.has-warning .select2-selection{border-color:#8a6d3b}.has-warning .select2-container--focus .select2-selection,.has-warning .select2-container--open .select2-selection{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning.select2-drop-active{border-color:#66512c}.has-warning.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#66512c}.has-error .select2-dropdown,.has-error .select2-selection{border-color:#a94442}.has-error .select2-container--focus .select2-selection,.has-error .select2-container--open .select2-selection{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error.select2-drop-active{border-color:#843534}.has-error.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#843534}.has-success .select2-dropdown,.has-success .select2-selection{border-color:#3c763d}.has-success .select2-container--focus .select2-selection,.has-success .select2-container--open .select2-selection{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success.select2-drop-active{border-color:#2b542c}.has-success.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#2b542c}.input-group>.select2-hidden-accessible:first-child+.select2-container--bootstrap>.selection>.select2-selection,.input-group>.select2-hidden-accessible:first-child+.select2-container--bootstrap>.selection>.select2-selection.form-control{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.select2-hidden-accessible:not(:first-child)+.select2-container--bootstrap:not(:last-child)>.selection>.select2-selection,.input-group>.select2-hidden-accessible:not(:first-child)+.select2-container--bootstrap:not(:last-child)>.selection>.select2-selection.form-control{border-radius:0}.input-group>.select2-hidden-accessible:not(:first-child):not(:last-child)+.select2-container--bootstrap:last-child>.selection>.select2-selection,.input-group>.select2-hidden-accessible:not(:first-child):not(:last-child)+.select2-container--bootstrap:last-child>.selection>.select2-selection.form-control{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.select2-container--bootstrap{position:relative;z-index:2;display:table;width:100%;margin-bottom:0;table-layout:fixed}.input-group>.select2-container--bootstrap>.selection>.select2-selection.form-control{float:none}.input-group>.select2-container--bootstrap.select2-container--focus,.input-group>.select2-container--bootstrap.select2-container--open{z-index:3}.input-group>.select2-container--bootstrap,.input-group>.select2-container--bootstrap .input-group-btn,.input-group>.select2-container--bootstrap .input-group-btn .btn{vertical-align:top}.form-control.select2-hidden-accessible{position:absolute!important;width:1px!important}@media (min-width:768px){.form-inline .select2-container--bootstrap{display:inline-block}}.select2-results__option{padding:7px 12px;margin-bottom:1px!important}.select2-results__option[aria-selected=true]{color:#8a929e!important;background-color:inherit!important}.select2-container--bootstrap .select2-results>.select2-results__options{max-height:400px}.select2-container--bootstrap .select2-results>.select2-results__options .select2-results__option{padding:2px 12px;margin-bottom:1px!important;font-size:15px;line-height:1.4em}.select2-container--bootstrap .select2-results>.select2-results__options .select2-results__option i{margin-right:5px}.select2-container--bootstrap .select2-results>.select2-results__options .select2-results__group{font-size:16px;color:#000}#select2-bookly-appointment-dialog-select2-results .select2-results__option[aria-selected=true]{color:#444!important}table.dt-rowReorder-float{position:absolute!important;outline:2px solid #888}table td{text-align:unset}ol,ul{margin:unset}input[type=search]{height:unset}
|
backend/resources/bootstrap/js/bootstrap.min.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap v3.3.
|
3 |
* Copyright 2011-2016 Twitter, Inc.
|
4 |
* Licensed under the MIT license
|
5 |
*/
|
6 |
-
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.6",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");
|
7 |
-
d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.
|
1 |
/*!
|
2 |
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
3 |
* Copyright 2011-2016 Twitter, Inc.
|
4 |
* Licensed under the MIT license
|
5 |
*/
|
6 |
+
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
|
7 |
+
this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
|
backend/resources/js/help.js
CHANGED
@@ -1,55 +1,5 @@
|
|
1 |
jQuery(function ($) {
|
2 |
$('body').booklyHelp();
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Loading overlay plugin
|
6 |
-
* @param busy
|
7 |
-
*/
|
8 |
-
$.fn.loading = function (busy) {
|
9 |
-
var $t = $(this);
|
10 |
-
if ($t.length <= 0) return;
|
11 |
-
var key = $t.data('bookly-loading-key');
|
12 |
-
if (key === undefined) {
|
13 |
-
key = Math.random().toString(36).substr(2, 9);
|
14 |
-
$t.data('bookly-loading-key', key);
|
15 |
-
}
|
16 |
-
var $overlay = $('#bookly-js-loading-overlay-' + key);
|
17 |
-
if (busy) {
|
18 |
-
var zIndex = $t.css('z-index') === 'auto' ? 2 : parseFloat($t.css('z-index')) + 1,
|
19 |
-
$spinner = $('#bookly-js-loading-spin-' + key);
|
20 |
-
if ($overlay.length === 0) {
|
21 |
-
$spinner = $('<div/>')
|
22 |
-
.css({position: 'absolute'})
|
23 |
-
.attr('id', 'bookly-js-loading-spin-' + key)
|
24 |
-
.html('<i class="fas fa-spin fa-spinner fa-4x"></i>');
|
25 |
-
$overlay = $('<div/>')
|
26 |
-
.css({display: 'none', position: 'absolute', background: '#eee'})
|
27 |
-
.attr('id', 'bookly-js-loading-overlay-' + key)
|
28 |
-
.append($spinner);
|
29 |
-
|
30 |
-
$('body').append($overlay);
|
31 |
-
}
|
32 |
-
|
33 |
-
$overlay.css({
|
34 |
-
opacity: 0.5,
|
35 |
-
zIndex : zIndex,
|
36 |
-
top : $t.offset().top,
|
37 |
-
left : $t.offset().left,
|
38 |
-
width : $t.outerWidth(),
|
39 |
-
height : $t.outerHeight()
|
40 |
-
}).fadeIn();
|
41 |
-
|
42 |
-
var topOverlay = (($t.height() / 2) - 32);
|
43 |
-
if (topOverlay < 0) topOverlay = 0;
|
44 |
-
$spinner.css({
|
45 |
-
top : topOverlay,
|
46 |
-
left: (($t.width() / 2) - 32)
|
47 |
-
});
|
48 |
-
|
49 |
-
} else {
|
50 |
-
$overlay.fadeOut();
|
51 |
-
}
|
52 |
-
};
|
53 |
});
|
54 |
|
55 |
jQuery.fn.booklyHelp = function() {
|
@@ -58,11 +8,13 @@ jQuery.fn.booklyHelp = function() {
|
|
58 |
$label = $help.prev('label'),
|
59 |
$icon = jQuery('<a href="#" class="dashicons dashicons-editor-help bookly-color-gray bookly-vertical-middle"></a>');
|
60 |
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
|
|
|
|
67 |
});
|
68 |
};
|
1 |
jQuery(function ($) {
|
2 |
$('body').booklyHelp();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
});
|
4 |
|
5 |
jQuery.fn.booklyHelp = function() {
|
8 |
$label = $help.prev('label'),
|
9 |
$icon = jQuery('<a href="#" class="dashicons dashicons-editor-help bookly-color-gray bookly-vertical-middle"></a>');
|
10 |
|
11 |
+
if (!$help.hasClass('bookly-js-without-icon')) {
|
12 |
+
$label.append($icon);
|
13 |
+
$icon.on('click', function (e) {
|
14 |
+
e.preventDefault();
|
15 |
+
$help.toggle();
|
16 |
+
});
|
17 |
+
$help.hide();
|
18 |
+
}
|
19 |
});
|
20 |
};
|
frontend/components/booking/InfoText.php
CHANGED
@@ -237,7 +237,7 @@ class InfoText
|
|
237 |
|
238 |
// Support deprecated codes [[CODE]]
|
239 |
foreach ( array_keys( $info_text_codes ) as $code_key ) {
|
240 |
-
if ( $code_key
|
241 |
$info_text_codes[ '{' . strtolower( substr( $code_key, 2, - 2 ) ) . '}' ] = $info_text_codes[ $code_key ];
|
242 |
} else {
|
243 |
$info_text_codes[ '[[' . strtoupper( substr( $code_key, 1, - 1 ) ) . ']]' ] = $info_text_codes[ $code_key ];
|
237 |
|
238 |
// Support deprecated codes [[CODE]]
|
239 |
foreach ( array_keys( $info_text_codes ) as $code_key ) {
|
240 |
+
if ( $code_key[1] == '[' ) {
|
241 |
$info_text_codes[ '{' . strtolower( substr( $code_key, 2, - 2 ) ) . '}' ] = $info_text_codes[ $code_key ];
|
242 |
} else {
|
243 |
$info_text_codes[ '[[' . strtoupper( substr( $code_key, 1, - 1 ) ) . ']]' ] = $info_text_codes[ $code_key ];
|
frontend/resources/css/bookly-main.css
CHANGED
@@ -1498,4 +1498,8 @@ label.bookly-square {
|
|
1498 |
@keyframes bookly-radio-loading-spin {
|
1499 |
0% { transform: rotate(0deg); }
|
1500 |
100% { transform: rotate(360deg); }
|
|
|
|
|
|
|
|
|
1501 |
}
|
1498 |
@keyframes bookly-radio-loading-spin {
|
1499 |
0% { transform: rotate(0deg); }
|
1500 |
100% { transform: rotate(360deg); }
|
1501 |
+
}
|
1502 |
+
|
1503 |
+
.pac-container {
|
1504 |
+
z-index: 1000000!important;
|
1505 |
}
|
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:
|
12 |
-
"PO-Revision-Date:
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: German\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1444,6 +1444,9 @@ msgstr "Sind Sie sicher?"
|
|
1444 |
msgid "Duplicate dates are not permitted."
|
1445 |
msgstr "Duplicate dates are not permitted."
|
1446 |
|
|
|
|
|
|
|
1447 |
msgid "The requested interval is not available"
|
1448 |
msgstr "Der gewünschte Zeitraum ist nicht verfügbar"
|
1449 |
|
@@ -1672,6 +1675,12 @@ msgstr "API-Login-Identifikationsnummer"
|
|
1672 |
msgid "API Transaction Key"
|
1673 |
msgstr "API-Transaktionsschlüssel"
|
1674 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1675 |
msgid "Taxes"
|
1676 |
msgstr "Steuern"
|
1677 |
|
@@ -1695,12 +1704,6 @@ msgstr "Steuern nicht berücksichtigen"
|
|
1695 |
msgid "Add Tax"
|
1696 |
msgstr "Steuern hinzufügen"
|
1697 |
|
1698 |
-
msgid "Title"
|
1699 |
-
msgstr "Name"
|
1700 |
-
|
1701 |
-
msgid "Rate"
|
1702 |
-
msgstr "Bewerten"
|
1703 |
-
|
1704 |
msgid "New tax"
|
1705 |
msgstr "Neue Steuer"
|
1706 |
|
@@ -2758,6 +2761,78 @@ msgstr "bis"
|
|
2758 |
msgid "From"
|
2759 |
msgstr "von"
|
2760 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2761 |
msgid "Important"
|
2762 |
msgstr "Wichtig"
|
2763 |
|
@@ -2906,9 +2981,6 @@ msgstr "weniger"
|
|
2906 |
msgid "Bookly SMS weekly summary"
|
2907 |
msgstr "Bookly SMS wöchentliche Zusammenfassung"
|
2908 |
|
2909 |
-
msgid "Customer"
|
2910 |
-
msgstr "Kunde"
|
2911 |
-
|
2912 |
msgid "Internal Notes"
|
2913 |
msgstr "Interne Notizen"
|
2914 |
|
@@ -3040,9 +3112,6 @@ msgstr "E-Mail Benachrichtigungen"
|
|
3040 |
msgid "Customers"
|
3041 |
msgstr "Kunden"
|
3042 |
|
3043 |
-
msgid "Payments"
|
3044 |
-
msgstr "Zahlungsarten"
|
3045 |
-
|
3046 |
msgid "Appearance"
|
3047 |
msgstr "Darstellung"
|
3048 |
|
@@ -3073,21 +3142,9 @@ msgstr "Vorherige/r"
|
|
3073 |
msgid "New appointment"
|
3074 |
msgstr "Neuer Termin"
|
3075 |
|
3076 |
-
msgid "No."
|
3077 |
-
msgstr "Nr."
|
3078 |
-
|
3079 |
msgid "Created at any time"
|
3080 |
msgstr "Zu jeder Zeit erstellt"
|
3081 |
|
3082 |
-
msgid "Appointment Date"
|
3083 |
-
msgstr "Termin Datum"
|
3084 |
-
|
3085 |
-
msgid "Created"
|
3086 |
-
msgstr "Erstellt"
|
3087 |
-
|
3088 |
-
msgid "Attachments"
|
3089 |
-
msgstr "Anhänge"
|
3090 |
-
|
3091 |
msgid "Any time"
|
3092 |
msgstr "Jederzeit"
|
3093 |
|
@@ -3100,6 +3157,9 @@ msgstr "Kein Ergebnis gefunden"
|
|
3100 |
msgid "Searching"
|
3101 |
msgstr "Sucht"
|
3102 |
|
|
|
|
|
|
|
3103 |
msgid "Archived"
|
3104 |
msgstr "Archiviert"
|
3105 |
|
@@ -3150,9 +3210,6 @@ msgstr ""
|
|
3150 |
msgid "Send weekly summary to administrators"
|
3151 |
msgstr "Senden wöchentliche Zusammenfassung für Administratoren"
|
3152 |
|
3153 |
-
msgid "Sender ID"
|
3154 |
-
msgstr "Sender-ID"
|
3155 |
-
|
3156 |
msgid "Change"
|
3157 |
msgstr "Ändern"
|
3158 |
|
@@ -3253,15 +3310,6 @@ msgstr "Kennwort ändern"
|
|
3253 |
msgid "Old password"
|
3254 |
msgstr "Altes Passwort"
|
3255 |
|
3256 |
-
msgid "Type"
|
3257 |
-
msgstr "Type"
|
3258 |
-
|
3259 |
-
msgid "Order"
|
3260 |
-
msgstr "Bestellen"
|
3261 |
-
|
3262 |
-
msgid "Amount"
|
3263 |
-
msgstr "Höhe"
|
3264 |
-
|
3265 |
msgid ""
|
3266 |
"We will only charge your PayPal account when your balance falls below $10."
|
3267 |
msgstr ""
|
@@ -3273,15 +3321,6 @@ msgstr "Aktivieren Sie Automatische Aufladefunktion"
|
|
3273 |
msgid "Disable Auto-Recharge"
|
3274 |
msgstr "Deaktivieren Sie Automatische Aufladefunktion"
|
3275 |
|
3276 |
-
msgid "Code"
|
3277 |
-
msgstr "Code"
|
3278 |
-
|
3279 |
-
msgid "Regular price"
|
3280 |
-
msgstr "Regulärer Preis"
|
3281 |
-
|
3282 |
-
msgid "Price with custom Sender ID"
|
3283 |
-
msgstr "Preis mit benutzerdefinierten Sender-ID"
|
3284 |
-
|
3285 |
msgid ""
|
3286 |
"If you do not see your country in the list please contact us at <a "
|
3287 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3308,12 +3347,6 @@ msgstr "Handynummer des Administrators speichern"
|
|
3308 |
msgid "Quick search notifications"
|
3309 |
msgstr "Schnelle Suchbenachrichtigung"
|
3310 |
|
3311 |
-
msgid "State"
|
3312 |
-
msgstr "Status"
|
3313 |
-
|
3314 |
-
msgid "Delete..."
|
3315 |
-
msgstr "Löschen"
|
3316 |
-
|
3317 |
#, php-format
|
3318 |
msgid ""
|
3319 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
@@ -3329,12 +3362,6 @@ msgstr ""
|
|
3329 |
"Um geplante Benachrichtigungen zu senden, führen Sie bitte den folgenden "
|
3330 |
"Befehl stündlich mit Ihrem cron aus:"
|
3331 |
|
3332 |
-
msgid "Text"
|
3333 |
-
msgstr "Text"
|
3334 |
-
|
3335 |
-
msgid "Cost"
|
3336 |
-
msgstr "Kosten"
|
3337 |
-
|
3338 |
msgid ""
|
3339 |
"Please take into account that not all countries by law allow custom SMS "
|
3340 |
"sender ID. Please check if particular country supports custom sender ID in "
|
@@ -3362,12 +3389,6 @@ msgstr "Anfordern"
|
|
3362 |
msgid "Cancel request"
|
3363 |
msgstr "Anfrage abbrechen"
|
3364 |
|
3365 |
-
msgid "Requested ID"
|
3366 |
-
msgstr "Gewünscht ID"
|
3367 |
-
|
3368 |
-
msgid "Status Date"
|
3369 |
-
msgstr "Datum Status"
|
3370 |
-
|
3371 |
msgid "Please accept terms and conditions."
|
3372 |
msgstr "Bitte akzeptieren Sie Nutzungsbedingungen."
|
3373 |
|
@@ -3411,9 +3432,6 @@ msgstr "Aktivieren"
|
|
3411 |
msgid "disable"
|
3412 |
msgstr "Desaktivieren"
|
3413 |
|
3414 |
-
msgid "Edit..."
|
3415 |
-
msgstr "Bearbeiten"
|
3416 |
-
|
3417 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3418 |
msgstr ""
|
3419 |
"Automatische Aufladefunktion ist fehlgeschlagen, bitte füllen Sie Ihre "
|
@@ -3432,18 +3450,22 @@ msgstr ""
|
|
3432 |
msgid "SMS has been sent successfully."
|
3433 |
msgstr "SMS wurde erfolgreich gesendet."
|
3434 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3435 |
msgid "Quick search staff"
|
3436 |
msgstr "Schnellsuche Angestellte"
|
3437 |
|
|
|
|
|
|
|
|
|
3438 |
msgid "Show archived"
|
3439 |
msgstr "Archiviert anzeigen"
|
3440 |
|
3441 |
-
msgid "Add staff..."
|
3442 |
-
msgstr "Angestellte hinzufügen..."
|
3443 |
-
|
3444 |
-
msgid "User"
|
3445 |
-
msgstr "Benutzer"
|
3446 |
-
|
3447 |
msgid "Image"
|
3448 |
msgstr "Bild"
|
3449 |
|
@@ -3771,14 +3793,14 @@ msgstr ""
|
|
3771 |
"WooCommerce Warenkorb nicht eingerichtet ist. Folgen Sie dem <a href=\"%s\">"
|
3772 |
"Link</a>, um dieses Problem zu beheben."
|
3773 |
|
3774 |
-
msgid "
|
3775 |
-
msgstr "
|
3776 |
|
3777 |
-
msgid "
|
3778 |
-
msgstr "
|
3779 |
|
3780 |
-
msgid "
|
3781 |
-
msgstr "
|
3782 |
|
3783 |
msgid "Update service setting"
|
3784 |
msgstr "Update-Service-Einstellung"
|
@@ -4049,12 +4071,6 @@ msgstr "Schnellsuche Kunden"
|
|
4049 |
msgid "New customer"
|
4050 |
msgstr "Neuer Kunde"
|
4051 |
|
4052 |
-
msgid "Last appointment"
|
4053 |
-
msgstr "Letzter Termin"
|
4054 |
-
|
4055 |
-
msgid "Total appointments"
|
4056 |
-
msgstr "Termine insgesamt"
|
4057 |
-
|
4058 |
msgid "Merge with"
|
4059 |
msgstr "Zusammenführen mit"
|
4060 |
|
@@ -4497,6 +4513,9 @@ msgstr "Service hinzufügen."
|
|
4497 |
msgid "Days Off"
|
4498 |
msgstr "Urlaubstage"
|
4499 |
|
|
|
|
|
|
|
4500 |
msgid "Create staff"
|
4501 |
msgstr "Angestellte erstellen"
|
4502 |
|
@@ -4509,6 +4528,10 @@ msgstr "Die Startzeit muss kleiner als das Termin-Ende sein"
|
|
4509 |
msgid "Error adding the break interval"
|
4510 |
msgstr "Fehler beim Hinzufügen der Pausenzeiten"
|
4511 |
|
|
|
|
|
|
|
|
|
4512 |
msgid "Complete payment"
|
4513 |
msgstr "Vollständige Bezahlung"
|
4514 |
|
@@ -4681,13 +4704,19 @@ msgid "Advanced"
|
|
4681 |
msgstr ""
|
4682 |
"Fortgeschritten\n"
|
4683 |
|
4684 |
-
msgid "
|
4685 |
msgstr ""
|
4686 |
-
"
|
4687 |
|
4688 |
msgid "Add category"
|
4689 |
msgstr "Kategorie hinzufügen"
|
4690 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4691 |
msgid "Attach ICS file"
|
4692 |
msgstr "ICS-Datei anhängen"
|
4693 |
|
@@ -5189,6 +5218,9 @@ msgstr ""
|
|
5189 |
"Benachrichtigung über Paketlöschung\n"
|
5190 |
"\n"
|
5191 |
|
|
|
|
|
|
|
5192 |
msgid "Packages"
|
5193 |
msgstr "Pakete"
|
5194 |
|
@@ -5213,9 +5245,6 @@ msgstr ""
|
|
5213 |
msgid "New package"
|
5214 |
msgstr "Neues Paket"
|
5215 |
|
5216 |
-
msgid "Creation Date"
|
5217 |
-
msgstr "Erstellungsdatum"
|
5218 |
-
|
5219 |
msgid "Edit package"
|
5220 |
msgstr "Paket bearbeiten"
|
5221 |
|
@@ -5307,6 +5336,9 @@ msgstr "Paketliste"
|
|
5307 |
msgid "A custom block for displaying packages list"
|
5308 |
msgstr "Ein benutzerdefinierter Block zum Anzeigen der Paketliste"
|
5309 |
|
|
|
|
|
|
|
5310 |
msgid "Expires"
|
5311 |
msgstr "Erlischt"
|
5312 |
|
@@ -6184,9 +6216,6 @@ msgstr "Facebook Login-Button anzeigen"
|
|
6184 |
msgid "Show time zone switcher"
|
6185 |
msgstr "Zeige den Zeitzonen-Wechsler"
|
6186 |
|
6187 |
-
msgid "Date of birth"
|
6188 |
-
msgstr "Geburtsdatum"
|
6189 |
-
|
6190 |
msgid "Import"
|
6191 |
msgstr "Import"
|
6192 |
|
@@ -6205,6 +6234,9 @@ msgstr ""
|
|
6205 |
msgid "Select file"
|
6206 |
msgstr "Datei auswählen"
|
6207 |
|
|
|
|
|
|
|
6208 |
msgid "Analytics"
|
6209 |
msgstr "Analysen"
|
6210 |
|
@@ -6670,21 +6702,6 @@ msgstr ""
|
|
6670 |
msgid "Coupon"
|
6671 |
msgstr "Coupon"
|
6672 |
|
6673 |
-
msgid "Coupons"
|
6674 |
-
msgstr "Gutscheine"
|
6675 |
-
|
6676 |
-
msgid "Add Coupon Series"
|
6677 |
-
msgstr "Couponserie Hinzufügen"
|
6678 |
-
|
6679 |
-
msgid "Add Coupon"
|
6680 |
-
msgstr "Gutschein hinzufügen"
|
6681 |
-
|
6682 |
-
msgid "Coupon code"
|
6683 |
-
msgstr "Coupon Code"
|
6684 |
-
|
6685 |
-
msgid "Show only active"
|
6686 |
-
msgstr "Nur aktive anzeigen"
|
6687 |
-
|
6688 |
msgid "Discount (%)"
|
6689 |
msgstr "Rabatt (%)"
|
6690 |
|
@@ -6700,17 +6717,32 @@ msgstr "Nutzungsbeschränkung"
|
|
6700 |
msgid "Number of times used"
|
6701 |
msgstr "Anzahl der Buchungen"
|
6702 |
|
|
|
|
|
|
|
6703 |
msgid "Active until"
|
6704 |
msgstr "Aktiv bis"
|
6705 |
|
6706 |
msgid "Min. appointments"
|
6707 |
msgstr "Min. Anzahl Termine"
|
6708 |
|
6709 |
-
msgid "
|
6710 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6711 |
|
6712 |
-
msgid "
|
6713 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6714 |
|
6715 |
msgid "Export only active coupons"
|
6716 |
msgstr "Nur aktive Coupons exportieren"
|
@@ -6825,30 +6857,27 @@ msgstr "Dieser Gutscheincode ist ungültig oder wurde bereits verwendet"
|
|
6825 |
msgid "This coupon code has expired"
|
6826 |
msgstr "Dieser Gutschein ist abgelaufen."
|
6827 |
|
6828 |
-
msgid "
|
6829 |
-
msgstr "Kundengruppen"
|
6830 |
-
|
6831 |
-
msgid "New group"
|
6832 |
-
msgstr "Neue Gruppe"
|
6833 |
-
|
6834 |
-
msgid "Group Name"
|
6835 |
msgstr "Gruppenname"
|
6836 |
|
6837 |
-
msgid "Number of
|
6838 |
msgstr "Anzahl der Nutzer"
|
6839 |
|
6840 |
msgid "Description"
|
6841 |
msgstr "Beschreibung"
|
6842 |
|
6843 |
-
msgid "
|
6844 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6845 |
|
6846 |
msgid "Customers without group"
|
6847 |
msgstr "Kunden ohne Gruppe"
|
6848 |
|
6849 |
-
msgid "Group"
|
6850 |
-
msgstr "Gruppe"
|
6851 |
-
|
6852 |
msgid "New Group"
|
6853 |
msgstr "Neue Gruppe"
|
6854 |
|
@@ -6876,9 +6905,6 @@ msgstr "Kundengruppe"
|
|
6876 |
msgid "No group"
|
6877 |
msgstr "Keine Gruppe"
|
6878 |
|
6879 |
-
msgid "Group name"
|
6880 |
-
msgstr "Gruppenname"
|
6881 |
-
|
6882 |
msgid "Total discount"
|
6883 |
msgstr "Gesamter Rabatt"
|
6884 |
|
@@ -7053,9 +7079,6 @@ msgstr "Wartelistenplätze anzeigen"
|
|
7053 |
msgid "waiting list of appointment"
|
7054 |
msgstr "Warteliste für einen Termin"
|
7055 |
|
7056 |
-
msgid "Add service"
|
7057 |
-
msgstr "Dienstleistung hinzufügen"
|
7058 |
-
|
7059 |
msgid "Show chain appointments"
|
7060 |
msgstr "Verkettete Termine anzeigen"
|
7061 |
|
@@ -7179,6 +7202,9 @@ msgstr "Extra Schritt zeigen"
|
|
7179 |
msgid "Show extras"
|
7180 |
msgstr "Extras anzeigen"
|
7181 |
|
|
|
|
|
|
|
7182 |
msgid "Extras price"
|
7183 |
msgstr "Extras Preis"
|
7184 |
|
@@ -7202,15 +7228,15 @@ msgstr "Steuer gesamt"
|
|
7202 |
msgid "Waiting list"
|
7203 |
msgstr "Warteliste"
|
7204 |
|
|
|
|
|
|
|
7205 |
msgid "Custom statuses"
|
7206 |
msgstr "Benutzerdefinierter Status"
|
7207 |
|
7208 |
msgid "Add status"
|
7209 |
msgstr "Status hinzufügen"
|
7210 |
|
7211 |
-
msgid "Free/Busy"
|
7212 |
-
msgstr "Frei/Beschäftigt"
|
7213 |
-
|
7214 |
msgid "New Status"
|
7215 |
msgstr "Neuer Status "
|
7216 |
|
@@ -7260,6 +7286,9 @@ msgstr "Sonderstunden-Update deaktivieren"
|
|
7260 |
msgid "Please select a location"
|
7261 |
msgstr "Bitte wählen Sie einen Ort aus"
|
7262 |
|
|
|
|
|
|
|
7263 |
msgid "Locations"
|
7264 |
msgstr "Orte"
|
7265 |
|
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-02-10 09:00+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-02-10 13:38+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: German\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
1444 |
msgid "Duplicate dates are not permitted."
|
1445 |
msgstr "Duplicate dates are not permitted."
|
1446 |
|
1447 |
+
msgid "Date in the past."
|
1448 |
+
msgstr "Datum in der Vergangenheit"
|
1449 |
+
|
1450 |
msgid "The requested interval is not available"
|
1451 |
msgstr "Der gewünschte Zeitraum ist nicht verfügbar"
|
1452 |
|
1675 |
msgid "API Transaction Key"
|
1676 |
msgstr "API-Transaktionsschlüssel"
|
1677 |
|
1678 |
+
msgid "Title"
|
1679 |
+
msgstr "Name"
|
1680 |
+
|
1681 |
+
msgid "Rate"
|
1682 |
+
msgstr "Bewerten"
|
1683 |
+
|
1684 |
msgid "Taxes"
|
1685 |
msgstr "Steuern"
|
1686 |
|
1704 |
msgid "Add Tax"
|
1705 |
msgstr "Steuern hinzufügen"
|
1706 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1707 |
msgid "New tax"
|
1708 |
msgstr "Neue Steuer"
|
1709 |
|
2761 |
msgid "From"
|
2762 |
msgstr "von"
|
2763 |
|
2764 |
+
msgid "No."
|
2765 |
+
msgstr "Nr."
|
2766 |
+
|
2767 |
+
msgid "Appointment date"
|
2768 |
+
msgstr "Termin"
|
2769 |
+
|
2770 |
+
msgid "Customer name"
|
2771 |
+
msgstr "Name des Kunden"
|
2772 |
+
|
2773 |
+
msgid "Customer phone"
|
2774 |
+
msgstr "Telefonnummer des Kunden"
|
2775 |
+
|
2776 |
+
msgid "Customer email"
|
2777 |
+
msgstr "E-Mail des Kunden"
|
2778 |
+
|
2779 |
+
msgid "Created"
|
2780 |
+
msgstr "Erstellt"
|
2781 |
+
|
2782 |
+
msgid "User"
|
2783 |
+
msgstr "Benutzer"
|
2784 |
+
|
2785 |
+
msgid "Last appointment"
|
2786 |
+
msgstr "Letzter Termin"
|
2787 |
+
|
2788 |
+
msgid "Total appointments"
|
2789 |
+
msgstr "Termine insgesamt"
|
2790 |
+
|
2791 |
+
msgid "Payments"
|
2792 |
+
msgstr "Zahlungsarten"
|
2793 |
+
|
2794 |
+
msgid "Type"
|
2795 |
+
msgstr "Type"
|
2796 |
+
|
2797 |
+
msgid "State"
|
2798 |
+
msgstr "Status"
|
2799 |
+
|
2800 |
+
msgid "Customer"
|
2801 |
+
msgstr "Kunde"
|
2802 |
+
|
2803 |
+
msgid "Amount"
|
2804 |
+
msgstr "Höhe"
|
2805 |
+
|
2806 |
+
msgid "Text"
|
2807 |
+
msgstr "Text"
|
2808 |
+
|
2809 |
+
msgid "Sender ID"
|
2810 |
+
msgstr "Sender-ID"
|
2811 |
+
|
2812 |
+
msgid "Cost"
|
2813 |
+
msgstr "Kosten"
|
2814 |
+
|
2815 |
+
msgid "Flag"
|
2816 |
+
msgstr "Markieren"
|
2817 |
+
|
2818 |
+
msgid "Code"
|
2819 |
+
msgstr "Code"
|
2820 |
+
|
2821 |
+
msgid "Regular price"
|
2822 |
+
msgstr "Regulärer Preis"
|
2823 |
+
|
2824 |
+
msgid "Price with custom Sender ID"
|
2825 |
+
msgstr "Preis mit benutzerdefinierten Sender-ID"
|
2826 |
+
|
2827 |
+
msgid "Order"
|
2828 |
+
msgstr "Bestellen"
|
2829 |
+
|
2830 |
+
msgid "Requested ID"
|
2831 |
+
msgstr "Gewünscht ID"
|
2832 |
+
|
2833 |
+
msgid "Status date"
|
2834 |
+
msgstr "Statusdatum"
|
2835 |
+
|
2836 |
msgid "Important"
|
2837 |
msgstr "Wichtig"
|
2838 |
|
2981 |
msgid "Bookly SMS weekly summary"
|
2982 |
msgstr "Bookly SMS wöchentliche Zusammenfassung"
|
2983 |
|
|
|
|
|
|
|
2984 |
msgid "Internal Notes"
|
2985 |
msgstr "Interne Notizen"
|
2986 |
|
3112 |
msgid "Customers"
|
3113 |
msgstr "Kunden"
|
3114 |
|
|
|
|
|
|
|
3115 |
msgid "Appearance"
|
3116 |
msgstr "Darstellung"
|
3117 |
|
3142 |
msgid "New appointment"
|
3143 |
msgstr "Neuer Termin"
|
3144 |
|
|
|
|
|
|
|
3145 |
msgid "Created at any time"
|
3146 |
msgstr "Zu jeder Zeit erstellt"
|
3147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3148 |
msgid "Any time"
|
3149 |
msgstr "Jederzeit"
|
3150 |
|
3157 |
msgid "Searching"
|
3158 |
msgstr "Sucht"
|
3159 |
|
3160 |
+
msgid "Attachments"
|
3161 |
+
msgstr "Anhänge"
|
3162 |
+
|
3163 |
msgid "Archived"
|
3164 |
msgstr "Archiviert"
|
3165 |
|
3210 |
msgid "Send weekly summary to administrators"
|
3211 |
msgstr "Senden wöchentliche Zusammenfassung für Administratoren"
|
3212 |
|
|
|
|
|
|
|
3213 |
msgid "Change"
|
3214 |
msgstr "Ändern"
|
3215 |
|
3310 |
msgid "Old password"
|
3311 |
msgstr "Altes Passwort"
|
3312 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3313 |
msgid ""
|
3314 |
"We will only charge your PayPal account when your balance falls below $10."
|
3315 |
msgstr ""
|
3321 |
msgid "Disable Auto-Recharge"
|
3322 |
msgstr "Deaktivieren Sie Automatische Aufladefunktion"
|
3323 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3324 |
msgid ""
|
3325 |
"If you do not see your country in the list please contact us at <a "
|
3326 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3347 |
msgid "Quick search notifications"
|
3348 |
msgstr "Schnelle Suchbenachrichtigung"
|
3349 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3350 |
#, php-format
|
3351 |
msgid ""
|
3352 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
3362 |
"Um geplante Benachrichtigungen zu senden, führen Sie bitte den folgenden "
|
3363 |
"Befehl stündlich mit Ihrem cron aus:"
|
3364 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3365 |
msgid ""
|
3366 |
"Please take into account that not all countries by law allow custom SMS "
|
3367 |
"sender ID. Please check if particular country supports custom sender ID in "
|
3389 |
msgid "Cancel request"
|
3390 |
msgstr "Anfrage abbrechen"
|
3391 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3392 |
msgid "Please accept terms and conditions."
|
3393 |
msgstr "Bitte akzeptieren Sie Nutzungsbedingungen."
|
3394 |
|
3432 |
msgid "disable"
|
3433 |
msgstr "Desaktivieren"
|
3434 |
|
|
|
|
|
|
|
3435 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3436 |
msgstr ""
|
3437 |
"Automatische Aufladefunktion ist fehlgeschlagen, bitte füllen Sie Ihre "
|
3450 |
msgid "SMS has been sent successfully."
|
3451 |
msgstr "SMS wurde erfolgreich gesendet."
|
3452 |
|
3453 |
+
msgid "Staff members order"
|
3454 |
+
msgstr "Reihenfolge der Belegschaftsmitglieder"
|
3455 |
+
|
3456 |
+
msgid "Add staff"
|
3457 |
+
msgstr "Mitarbeiter hinzufügen"
|
3458 |
+
|
3459 |
msgid "Quick search staff"
|
3460 |
msgstr "Schnellsuche Angestellte"
|
3461 |
|
3462 |
+
msgid "Categories"
|
3463 |
+
msgstr ""
|
3464 |
+
"Kategorien\n"
|
3465 |
+
|
3466 |
msgid "Show archived"
|
3467 |
msgstr "Archiviert anzeigen"
|
3468 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3469 |
msgid "Image"
|
3470 |
msgstr "Bild"
|
3471 |
|
3793 |
"WooCommerce Warenkorb nicht eingerichtet ist. Folgen Sie dem <a href=\"%s\">"
|
3794 |
"Link</a>, um dieses Problem zu beheben."
|
3795 |
|
3796 |
+
msgid "Services order"
|
3797 |
+
msgstr "Reihenfolge der Dienstleistungen"
|
3798 |
|
3799 |
+
msgid "Add service"
|
3800 |
+
msgstr "Dienstleistung hinzufügen"
|
3801 |
|
3802 |
+
msgid "Quick search services"
|
3803 |
+
msgstr "Schnellsuche Dienste"
|
3804 |
|
3805 |
msgid "Update service setting"
|
3806 |
msgstr "Update-Service-Einstellung"
|
4071 |
msgid "New customer"
|
4072 |
msgstr "Neuer Kunde"
|
4073 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4074 |
msgid "Merge with"
|
4075 |
msgstr "Zusammenführen mit"
|
4076 |
|
4513 |
msgid "Days Off"
|
4514 |
msgstr "Urlaubstage"
|
4515 |
|
4516 |
+
msgid "The date has already passed."
|
4517 |
+
msgstr "Dieses Datum ist bereits vorüber. "
|
4518 |
+
|
4519 |
msgid "Create staff"
|
4520 |
msgstr "Angestellte erstellen"
|
4521 |
|
4528 |
msgid "Error adding the break interval"
|
4529 |
msgstr "Fehler beim Hinzufügen der Pausenzeiten"
|
4530 |
|
4531 |
+
msgid "Adjust the order of staff members in your booking form"
|
4532 |
+
msgstr ""
|
4533 |
+
"Passen Sie die Reihenfolge der Mitarbeiter in Ihrem Buchungsformular an"
|
4534 |
+
|
4535 |
msgid "Complete payment"
|
4536 |
msgstr "Vollständige Bezahlung"
|
4537 |
|
4704 |
msgstr ""
|
4705 |
"Fortgeschritten\n"
|
4706 |
|
4707 |
+
msgid "Adjust the order of services in your booking form"
|
4708 |
msgstr ""
|
4709 |
+
"Passen Sie die Reihenfolge der Dienstleistungen in Ihrem Buchungsformular an"
|
4710 |
|
4711 |
msgid "Add category"
|
4712 |
msgstr "Kategorie hinzufügen"
|
4713 |
|
4714 |
+
msgid "Table settings"
|
4715 |
+
msgstr "Statusdatum"
|
4716 |
+
|
4717 |
+
msgid "Column"
|
4718 |
+
msgstr "Spalte"
|
4719 |
+
|
4720 |
msgid "Attach ICS file"
|
4721 |
msgstr "ICS-Datei anhängen"
|
4722 |
|
5218 |
"Benachrichtigung über Paketlöschung\n"
|
5219 |
"\n"
|
5220 |
|
5221 |
+
msgid "Creation date"
|
5222 |
+
msgstr "Erstelldatum"
|
5223 |
+
|
5224 |
msgid "Packages"
|
5225 |
msgstr "Pakete"
|
5226 |
|
5245 |
msgid "New package"
|
5246 |
msgstr "Neues Paket"
|
5247 |
|
|
|
|
|
|
|
5248 |
msgid "Edit package"
|
5249 |
msgstr "Paket bearbeiten"
|
5250 |
|
5336 |
msgid "A custom block for displaying packages list"
|
5337 |
msgstr "Ein benutzerdefinierter Block zum Anzeigen der Paketliste"
|
5338 |
|
5339 |
+
msgid "Creation Date"
|
5340 |
+
msgstr "Erstellungsdatum"
|
5341 |
+
|
5342 |
msgid "Expires"
|
5343 |
msgstr "Erlischt"
|
5344 |
|
6216 |
msgid "Show time zone switcher"
|
6217 |
msgstr "Zeige den Zeitzonen-Wechsler"
|
6218 |
|
|
|
|
|
|
|
6219 |
msgid "Import"
|
6220 |
msgstr "Import"
|
6221 |
|
6234 |
msgid "Select file"
|
6235 |
msgstr "Datei auswählen"
|
6236 |
|
6237 |
+
msgid "Date of birth"
|
6238 |
+
msgstr "Geburtsdatum"
|
6239 |
+
|
6240 |
msgid "Analytics"
|
6241 |
msgstr "Analysen"
|
6242 |
|
6702 |
msgid "Coupon"
|
6703 |
msgstr "Coupon"
|
6704 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6705 |
msgid "Discount (%)"
|
6706 |
msgstr "Rabatt (%)"
|
6707 |
|
6717 |
msgid "Number of times used"
|
6718 |
msgstr "Anzahl der Buchungen"
|
6719 |
|
6720 |
+
msgid "Active from"
|
6721 |
+
msgstr "Aktiv ab"
|
6722 |
+
|
6723 |
msgid "Active until"
|
6724 |
msgstr "Aktiv bis"
|
6725 |
|
6726 |
msgid "Min. appointments"
|
6727 |
msgstr "Min. Anzahl Termine"
|
6728 |
|
6729 |
+
msgid "Max. appointments"
|
6730 |
+
msgstr "Termine maximal"
|
6731 |
+
|
6732 |
+
msgid "Coupons"
|
6733 |
+
msgstr "Gutscheine"
|
6734 |
+
|
6735 |
+
msgid "Add Coupon Series"
|
6736 |
+
msgstr "Couponserie Hinzufügen"
|
6737 |
|
6738 |
+
msgid "Add Coupon"
|
6739 |
+
msgstr "Gutschein hinzufügen"
|
6740 |
+
|
6741 |
+
msgid "Coupon code"
|
6742 |
+
msgstr "Coupon Code"
|
6743 |
+
|
6744 |
+
msgid "Show only active"
|
6745 |
+
msgstr "Nur aktive anzeigen"
|
6746 |
|
6747 |
msgid "Export only active coupons"
|
6748 |
msgstr "Nur aktive Coupons exportieren"
|
6857 |
msgid "This coupon code has expired"
|
6858 |
msgstr "Dieser Gutschein ist abgelaufen."
|
6859 |
|
6860 |
+
msgid "Group name"
|
|
|
|
|
|
|
|
|
|
|
|
|
6861 |
msgstr "Gruppenname"
|
6862 |
|
6863 |
+
msgid "Number of users"
|
6864 |
msgstr "Anzahl der Nutzer"
|
6865 |
|
6866 |
msgid "Description"
|
6867 |
msgstr "Beschreibung"
|
6868 |
|
6869 |
+
msgid "Group"
|
6870 |
+
msgstr "Gruppe"
|
6871 |
+
|
6872 |
+
msgid "Customer Groups"
|
6873 |
+
msgstr "Kundengruppen"
|
6874 |
+
|
6875 |
+
msgid "New group"
|
6876 |
+
msgstr "Neue Gruppe"
|
6877 |
|
6878 |
msgid "Customers without group"
|
6879 |
msgstr "Kunden ohne Gruppe"
|
6880 |
|
|
|
|
|
|
|
6881 |
msgid "New Group"
|
6882 |
msgstr "Neue Gruppe"
|
6883 |
|
6905 |
msgid "No group"
|
6906 |
msgstr "Keine Gruppe"
|
6907 |
|
|
|
|
|
|
|
6908 |
msgid "Total discount"
|
6909 |
msgstr "Gesamter Rabatt"
|
6910 |
|
7079 |
msgid "waiting list of appointment"
|
7080 |
msgstr "Warteliste für einen Termin"
|
7081 |
|
|
|
|
|
|
|
7082 |
msgid "Show chain appointments"
|
7083 |
msgstr "Verkettete Termine anzeigen"
|
7084 |
|
7202 |
msgid "Show extras"
|
7203 |
msgstr "Extras anzeigen"
|
7204 |
|
7205 |
+
msgid "Extras tax"
|
7206 |
+
msgstr "Zusätzliche Steuern"
|
7207 |
+
|
7208 |
msgid "Extras price"
|
7209 |
msgstr "Extras Preis"
|
7210 |
|
7228 |
msgid "Waiting list"
|
7229 |
msgstr "Warteliste"
|
7230 |
|
7231 |
+
msgid "Free/Busy"
|
7232 |
+
msgstr "Frei/Beschäftigt"
|
7233 |
+
|
7234 |
msgid "Custom statuses"
|
7235 |
msgstr "Benutzerdefinierter Status"
|
7236 |
|
7237 |
msgid "Add status"
|
7238 |
msgstr "Status hinzufügen"
|
7239 |
|
|
|
|
|
|
|
7240 |
msgid "New Status"
|
7241 |
msgstr "Neuer Status "
|
7242 |
|
7286 |
msgid "Please select a location"
|
7287 |
msgstr "Bitte wählen Sie einen Ort aus"
|
7288 |
|
7289 |
+
msgid "Staff members"
|
7290 |
+
msgstr "Belegschaftsmitglieder"
|
7291 |
+
|
7292 |
msgid "Locations"
|
7293 |
msgstr "Orte"
|
7294 |
|
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:
|
12 |
-
"PO-Revision-Date:
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Spanish (Spain)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1431,6 +1431,9 @@ msgstr "¿Estás seguro?"
|
|
1431 |
msgid "Duplicate dates are not permitted."
|
1432 |
msgstr "No se permiten fechas duplicadas."
|
1433 |
|
|
|
|
|
|
|
1434 |
msgid "The requested interval is not available"
|
1435 |
msgstr "El intervalo solicitado no está disponible"
|
1436 |
|
@@ -1656,6 +1659,12 @@ msgstr "ID de Inicio de Sesión API"
|
|
1656 |
msgid "API Transaction Key"
|
1657 |
msgstr "Clave de Transacción API"
|
1658 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1659 |
msgid "Taxes"
|
1660 |
msgstr ""
|
1661 |
"Impuestos\n"
|
@@ -1680,12 +1689,6 @@ msgstr "Excluir impuestos"
|
|
1680 |
msgid "Add Tax"
|
1681 |
msgstr "Añadir impuesto"
|
1682 |
|
1683 |
-
msgid "Title"
|
1684 |
-
msgstr "Titulo"
|
1685 |
-
|
1686 |
-
msgid "Rate"
|
1687 |
-
msgstr "Tarifa"
|
1688 |
-
|
1689 |
msgid "New tax"
|
1690 |
msgstr "Nuevo impuesto"
|
1691 |
|
@@ -2749,6 +2752,78 @@ msgstr "Para"
|
|
2749 |
msgid "From"
|
2750 |
msgstr "De"
|
2751 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2752 |
msgid "Important"
|
2753 |
msgstr "Importante"
|
2754 |
|
@@ -2888,9 +2963,6 @@ msgstr "menos"
|
|
2888 |
msgid "Bookly SMS weekly summary"
|
2889 |
msgstr "Bookly SMS resumen semanal"
|
2890 |
|
2891 |
-
msgid "Customer"
|
2892 |
-
msgstr "Cliente"
|
2893 |
-
|
2894 |
msgid "Internal Notes"
|
2895 |
msgstr "Notas internas"
|
2896 |
|
@@ -3022,9 +3094,6 @@ msgstr "Notificaciones por correo electrónico"
|
|
3022 |
msgid "Customers"
|
3023 |
msgstr "Clientes"
|
3024 |
|
3025 |
-
msgid "Payments"
|
3026 |
-
msgstr "Pagos"
|
3027 |
-
|
3028 |
msgid "Appearance"
|
3029 |
msgstr "Apariencia"
|
3030 |
|
@@ -3055,21 +3124,9 @@ msgstr "Anterior"
|
|
3055 |
msgid "New appointment"
|
3056 |
msgstr "Nueva cita"
|
3057 |
|
3058 |
-
msgid "No."
|
3059 |
-
msgstr "No."
|
3060 |
-
|
3061 |
msgid "Created at any time"
|
3062 |
msgstr "Creado en cualquier momento"
|
3063 |
|
3064 |
-
msgid "Appointment Date"
|
3065 |
-
msgstr "Fecha de cita"
|
3066 |
-
|
3067 |
-
msgid "Created"
|
3068 |
-
msgstr "Creado"
|
3069 |
-
|
3070 |
-
msgid "Attachments"
|
3071 |
-
msgstr "Archivos adjuntos"
|
3072 |
-
|
3073 |
msgid "Any time"
|
3074 |
msgstr "En cualquier momento"
|
3075 |
|
@@ -3082,6 +3139,9 @@ msgstr "No hay resultados"
|
|
3082 |
msgid "Searching"
|
3083 |
msgstr "Buscando"
|
3084 |
|
|
|
|
|
|
|
3085 |
msgid "Archived"
|
3086 |
msgstr "Archivado"
|
3087 |
|
@@ -3131,9 +3191,6 @@ msgstr ""
|
|
3131 |
msgid "Send weekly summary to administrators"
|
3132 |
msgstr "Enviar resumen semanal para los administradores"
|
3133 |
|
3134 |
-
msgid "Sender ID"
|
3135 |
-
msgstr "ID del remitente"
|
3136 |
-
|
3137 |
msgid "Change"
|
3138 |
msgstr "Cambiar"
|
3139 |
|
@@ -3233,15 +3290,6 @@ msgstr "Cambiar la contraseña"
|
|
3233 |
msgid "Old password"
|
3234 |
msgstr "Contraseña anterior"
|
3235 |
|
3236 |
-
msgid "Type"
|
3237 |
-
msgstr "Tipo"
|
3238 |
-
|
3239 |
-
msgid "Order"
|
3240 |
-
msgstr "Orden"
|
3241 |
-
|
3242 |
-
msgid "Amount"
|
3243 |
-
msgstr "Cantidad"
|
3244 |
-
|
3245 |
msgid ""
|
3246 |
"We will only charge your PayPal account when your balance falls below $10."
|
3247 |
msgstr "Sólo se cargará en su cuenta PayPal cuando su saldo es inferior a $10."
|
@@ -3252,15 +3300,6 @@ msgstr "Activar Auto-Recarga"
|
|
3252 |
msgid "Disable Auto-Recharge"
|
3253 |
msgstr "Desactivar Auto-Recarga"
|
3254 |
|
3255 |
-
msgid "Code"
|
3256 |
-
msgstr "Código"
|
3257 |
-
|
3258 |
-
msgid "Regular price"
|
3259 |
-
msgstr "Precio regular"
|
3260 |
-
|
3261 |
-
msgid "Price with custom Sender ID"
|
3262 |
-
msgstr "Precio con el ID del remitente personalizado"
|
3263 |
-
|
3264 |
msgid ""
|
3265 |
"If you do not see your country in the list please contact us at <a "
|
3266 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3287,12 +3326,6 @@ msgstr "Guardar el teléfono del administrador"
|
|
3287 |
msgid "Quick search notifications"
|
3288 |
msgstr "Notificaciones de búsqueda rápida"
|
3289 |
|
3290 |
-
msgid "State"
|
3291 |
-
msgstr "Estado"
|
3292 |
-
|
3293 |
-
msgid "Delete..."
|
3294 |
-
msgstr "Borrar..."
|
3295 |
-
|
3296 |
#, php-format
|
3297 |
msgid ""
|
3298 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
@@ -3308,12 +3341,6 @@ msgstr ""
|
|
3308 |
"Para enviar notificaciones programadas, ejecute el siguiente comando cada "
|
3309 |
"hora con su cron:"
|
3310 |
|
3311 |
-
msgid "Text"
|
3312 |
-
msgstr "Texto"
|
3313 |
-
|
3314 |
-
msgid "Cost"
|
3315 |
-
msgstr "Costo"
|
3316 |
-
|
3317 |
msgid ""
|
3318 |
"Please take into account that not all countries by law allow custom SMS "
|
3319 |
"sender ID. Please check if particular country supports custom sender ID in "
|
@@ -3341,12 +3368,6 @@ msgstr "Solicitar"
|
|
3341 |
msgid "Cancel request"
|
3342 |
msgstr "Cancelar petición"
|
3343 |
|
3344 |
-
msgid "Requested ID"
|
3345 |
-
msgstr "ID solicitado"
|
3346 |
-
|
3347 |
-
msgid "Status Date"
|
3348 |
-
msgstr "Fecha de estado"
|
3349 |
-
|
3350 |
msgid "Please accept terms and conditions."
|
3351 |
msgstr "Por favor, acepte los términos y condiciones."
|
3352 |
|
@@ -3390,9 +3411,6 @@ msgstr "habilitar"
|
|
3390 |
msgid "disable"
|
3391 |
msgstr "inhabilitar"
|
3392 |
|
3393 |
-
msgid "Edit..."
|
3394 |
-
msgstr "Editar..."
|
3395 |
-
|
3396 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3397 |
msgstr "Auto-Recarga ha fallado, por favor reponer el equilibrio directamente."
|
3398 |
|
@@ -3409,18 +3427,21 @@ msgstr ""
|
|
3409 |
msgid "SMS has been sent successfully."
|
3410 |
msgstr "SMS ha sido enviado con éxito."
|
3411 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3412 |
msgid "Quick search staff"
|
3413 |
msgstr "Búsqueda rápida de personal"
|
3414 |
|
|
|
|
|
|
|
3415 |
msgid "Show archived"
|
3416 |
msgstr "Mostrar archivado"
|
3417 |
|
3418 |
-
msgid "Add staff..."
|
3419 |
-
msgstr "Añadir personal..."
|
3420 |
-
|
3421 |
-
msgid "User"
|
3422 |
-
msgstr "Usuario"
|
3423 |
-
|
3424 |
msgid "Image"
|
3425 |
msgstr "Imagen"
|
3426 |
|
@@ -3741,14 +3762,14 @@ msgstr ""
|
|
3741 |
"El carro de WooCommerce no está configurado. Siga el <a href=\"%s\">enlace "
|
3742 |
"</a> para corregirlo."
|
3743 |
|
3744 |
-
msgid "
|
3745 |
-
msgstr "
|
3746 |
|
3747 |
-
msgid "
|
3748 |
-
msgstr "
|
3749 |
|
3750 |
-
msgid "
|
3751 |
-
msgstr "
|
3752 |
|
3753 |
msgid "Update service setting"
|
3754 |
msgstr "Actualizar configuración de servicio"
|
@@ -4018,12 +4039,6 @@ msgstr "Búsqueda rápida de cliente"
|
|
4018 |
msgid "New customer"
|
4019 |
msgstr "Nuevo cliente"
|
4020 |
|
4021 |
-
msgid "Last appointment"
|
4022 |
-
msgstr "Última cita"
|
4023 |
-
|
4024 |
-
msgid "Total appointments"
|
4025 |
-
msgstr "Total de citas"
|
4026 |
-
|
4027 |
msgid "Merge with"
|
4028 |
msgstr "Combinado con"
|
4029 |
|
@@ -4456,6 +4471,9 @@ msgstr "Añadir Servicio"
|
|
4456 |
msgid "Days Off"
|
4457 |
msgstr "Días libres"
|
4458 |
|
|
|
|
|
|
|
4459 |
msgid "Create staff"
|
4460 |
msgstr "Crear personal"
|
4461 |
|
@@ -4468,6 +4486,10 @@ msgstr "La hora de inicio debe ser menor que la de finalización"
|
|
4468 |
msgid "Error adding the break interval"
|
4469 |
msgstr "Error añadiendo intervalo de descanso"
|
4470 |
|
|
|
|
|
|
|
|
|
4471 |
msgid "Complete payment"
|
4472 |
msgstr "Completa el pago"
|
4473 |
|
@@ -4632,12 +4654,18 @@ msgstr "Editar servicio"
|
|
4632 |
msgid "Advanced"
|
4633 |
msgstr "Avanzado"
|
4634 |
|
4635 |
-
msgid "
|
4636 |
-
msgstr "
|
4637 |
|
4638 |
msgid "Add category"
|
4639 |
msgstr "Añadir categoría"
|
4640 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4641 |
msgid "Attach ICS file"
|
4642 |
msgstr "Adjuntar archivo ICS"
|
4643 |
|
@@ -5118,6 +5146,9 @@ msgstr "Notificación sobre la creación de un nuevo paquete"
|
|
5118 |
msgid "Notification about package deletion"
|
5119 |
msgstr "Notificación sobre la eliminación de un paquete"
|
5120 |
|
|
|
|
|
|
|
5121 |
msgid "Packages"
|
5122 |
msgstr "Paquetes"
|
5123 |
|
@@ -5142,9 +5173,6 @@ msgstr ""
|
|
5142 |
msgid "New package"
|
5143 |
msgstr "Nuevo paquete"
|
5144 |
|
5145 |
-
msgid "Creation Date"
|
5146 |
-
msgstr "Fecha de Creación"
|
5147 |
-
|
5148 |
msgid "Edit package"
|
5149 |
msgstr "Editar paquete"
|
5150 |
|
@@ -5237,6 +5265,9 @@ msgstr "Lista de paquetes"
|
|
5237 |
msgid "A custom block for displaying packages list"
|
5238 |
msgstr "Un bloque personalizado para mostrar la lista de paquetes"
|
5239 |
|
|
|
|
|
|
|
5240 |
msgid "Expires"
|
5241 |
msgstr "Finaliza"
|
5242 |
|
@@ -6097,9 +6128,6 @@ msgstr "Mostrar el botón de inicio de sesión de Facebook"
|
|
6097 |
msgid "Show time zone switcher"
|
6098 |
msgstr "Mostrar cambio de zona horaria"
|
6099 |
|
6100 |
-
msgid "Date of birth"
|
6101 |
-
msgstr "Fecha de nacimiento"
|
6102 |
-
|
6103 |
msgid "Import"
|
6104 |
msgstr "Importar"
|
6105 |
|
@@ -6118,6 +6146,9 @@ msgstr ""
|
|
6118 |
msgid "Select file"
|
6119 |
msgstr "Seleccionar fichero"
|
6120 |
|
|
|
|
|
|
|
6121 |
msgid "Analytics"
|
6122 |
msgstr "Analítica"
|
6123 |
|
@@ -6572,21 +6603,6 @@ msgstr ""
|
|
6572 |
msgid "Coupon"
|
6573 |
msgstr "Cupón"
|
6574 |
|
6575 |
-
msgid "Coupons"
|
6576 |
-
msgstr "Cupones"
|
6577 |
-
|
6578 |
-
msgid "Add Coupon Series"
|
6579 |
-
msgstr "Agregar Serie de Cupones"
|
6580 |
-
|
6581 |
-
msgid "Add Coupon"
|
6582 |
-
msgstr "Añadir Cupón"
|
6583 |
-
|
6584 |
-
msgid "Coupon code"
|
6585 |
-
msgstr "Código promocional"
|
6586 |
-
|
6587 |
-
msgid "Show only active"
|
6588 |
-
msgstr "Mostrar solo activo"
|
6589 |
-
|
6590 |
msgid "Discount (%)"
|
6591 |
msgstr "Descuento (%)"
|
6592 |
|
@@ -6602,18 +6618,33 @@ msgstr "Límite de uso"
|
|
6602 |
msgid "Number of times used"
|
6603 |
msgstr "Número de veces que usa"
|
6604 |
|
|
|
|
|
|
|
6605 |
msgid "Active until"
|
6606 |
msgstr "Activo hasta"
|
6607 |
|
6608 |
msgid "Min. appointments"
|
6609 |
msgstr "Citas Min."
|
6610 |
|
6611 |
-
msgid "
|
6612 |
-
msgstr "Activo desde"
|
6613 |
-
|
6614 |
-
msgid "Max appointments"
|
6615 |
msgstr "Citas máximas"
|
6616 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6617 |
msgid "Export only active coupons"
|
6618 |
msgstr "Exportar solo cupones activos"
|
6619 |
|
@@ -6725,30 +6756,27 @@ msgstr "Este código de cupón no es válido o ha sido usado"
|
|
6725 |
msgid "This coupon code has expired"
|
6726 |
msgstr "Este código de cupón ha expirado"
|
6727 |
|
6728 |
-
msgid "
|
6729 |
-
msgstr "Grupos de Clientes"
|
6730 |
-
|
6731 |
-
msgid "New group"
|
6732 |
-
msgstr "Nuevo grupo"
|
6733 |
-
|
6734 |
-
msgid "Group Name"
|
6735 |
msgstr "Nombre del Grupo"
|
6736 |
|
6737 |
-
msgid "Number of
|
6738 |
-
msgstr "Número de
|
6739 |
|
6740 |
msgid "Description"
|
6741 |
msgstr "Descripción"
|
6742 |
|
6743 |
-
msgid "
|
6744 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6745 |
|
6746 |
msgid "Customers without group"
|
6747 |
msgstr "Clientes sin grupo"
|
6748 |
|
6749 |
-
msgid "Group"
|
6750 |
-
msgstr "Grupo"
|
6751 |
-
|
6752 |
msgid "New Group"
|
6753 |
msgstr "Nuevo Grupo"
|
6754 |
|
@@ -6776,9 +6804,6 @@ msgstr "Grupo de Clientes"
|
|
6776 |
msgid "No group"
|
6777 |
msgstr "Ningún Grupo"
|
6778 |
|
6779 |
-
msgid "Group name"
|
6780 |
-
msgstr "Nombre del Grupo"
|
6781 |
-
|
6782 |
msgid "Total discount"
|
6783 |
msgstr "Descuento Total"
|
6784 |
|
@@ -6950,9 +6975,6 @@ msgstr "Mostrar franjas de lista de espera"
|
|
6950 |
msgid "waiting list of appointment"
|
6951 |
msgstr "lista de espera de la cita"
|
6952 |
|
6953 |
-
msgid "Add service"
|
6954 |
-
msgstr "Añadir servicio"
|
6955 |
-
|
6956 |
msgid "Show chain appointments"
|
6957 |
msgstr "Mostrar citas en serie"
|
6958 |
|
@@ -7072,6 +7094,9 @@ msgstr "Mostrar el paso Extras"
|
|
7072 |
msgid "Show extras"
|
7073 |
msgstr "Mostrar extras"
|
7074 |
|
|
|
|
|
|
|
7075 |
msgid "Extras price"
|
7076 |
msgstr "Extras precio"
|
7077 |
|
@@ -7095,15 +7120,15 @@ msgstr "Impuestos totales"
|
|
7095 |
msgid "Waiting list"
|
7096 |
msgstr "Lista de espera"
|
7097 |
|
|
|
|
|
|
|
7098 |
msgid "Custom statuses"
|
7099 |
msgstr "Estados personalizados"
|
7100 |
|
7101 |
msgid "Add status"
|
7102 |
msgstr "Añadir estado"
|
7103 |
|
7104 |
-
msgid "Free/Busy"
|
7105 |
-
msgstr "Libre/Ocupado"
|
7106 |
-
|
7107 |
msgid "New Status"
|
7108 |
msgstr "Nuevo Estado"
|
7109 |
|
@@ -7152,6 +7177,9 @@ msgstr "Deshabilitar la actualización de horas especiales"
|
|
7152 |
msgid "Please select a location"
|
7153 |
msgstr "Por favor selecciona una ubicación"
|
7154 |
|
|
|
|
|
|
|
7155 |
msgid "Locations"
|
7156 |
msgstr "Ubicaciones"
|
7157 |
|
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-02-10 08:48+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-02-11 13:59+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"
|
1431 |
msgid "Duplicate dates are not permitted."
|
1432 |
msgstr "No se permiten fechas duplicadas."
|
1433 |
|
1434 |
+
msgid "Date in the past."
|
1435 |
+
msgstr "Fecha en el pasado."
|
1436 |
+
|
1437 |
msgid "The requested interval is not available"
|
1438 |
msgstr "El intervalo solicitado no está disponible"
|
1439 |
|
1659 |
msgid "API Transaction Key"
|
1660 |
msgstr "Clave de Transacción API"
|
1661 |
|
1662 |
+
msgid "Title"
|
1663 |
+
msgstr "Titulo"
|
1664 |
+
|
1665 |
+
msgid "Rate"
|
1666 |
+
msgstr "Tarifa"
|
1667 |
+
|
1668 |
msgid "Taxes"
|
1669 |
msgstr ""
|
1670 |
"Impuestos\n"
|
1689 |
msgid "Add Tax"
|
1690 |
msgstr "Añadir impuesto"
|
1691 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1692 |
msgid "New tax"
|
1693 |
msgstr "Nuevo impuesto"
|
1694 |
|
2752 |
msgid "From"
|
2753 |
msgstr "De"
|
2754 |
|
2755 |
+
msgid "No."
|
2756 |
+
msgstr "No."
|
2757 |
+
|
2758 |
+
msgid "Appointment date"
|
2759 |
+
msgstr "Día de la cita"
|
2760 |
+
|
2761 |
+
msgid "Customer name"
|
2762 |
+
msgstr "Nombre del cliente"
|
2763 |
+
|
2764 |
+
msgid "Customer phone"
|
2765 |
+
msgstr "Teléfono del cliente"
|
2766 |
+
|
2767 |
+
msgid "Customer email"
|
2768 |
+
msgstr "Correo electrónico del cliente"
|
2769 |
+
|
2770 |
+
msgid "Created"
|
2771 |
+
msgstr "Creado"
|
2772 |
+
|
2773 |
+
msgid "User"
|
2774 |
+
msgstr "Usuario"
|
2775 |
+
|
2776 |
+
msgid "Last appointment"
|
2777 |
+
msgstr "Última cita"
|
2778 |
+
|
2779 |
+
msgid "Total appointments"
|
2780 |
+
msgstr "Total de citas"
|
2781 |
+
|
2782 |
+
msgid "Payments"
|
2783 |
+
msgstr "Pagos"
|
2784 |
+
|
2785 |
+
msgid "Type"
|
2786 |
+
msgstr "Tipo"
|
2787 |
+
|
2788 |
+
msgid "State"
|
2789 |
+
msgstr "Estado"
|
2790 |
+
|
2791 |
+
msgid "Customer"
|
2792 |
+
msgstr "Cliente"
|
2793 |
+
|
2794 |
+
msgid "Amount"
|
2795 |
+
msgstr "Cantidad"
|
2796 |
+
|
2797 |
+
msgid "Text"
|
2798 |
+
msgstr "Texto"
|
2799 |
+
|
2800 |
+
msgid "Sender ID"
|
2801 |
+
msgstr "ID del remitente"
|
2802 |
+
|
2803 |
+
msgid "Cost"
|
2804 |
+
msgstr "Costo"
|
2805 |
+
|
2806 |
+
msgid "Flag"
|
2807 |
+
msgstr "Bandera"
|
2808 |
+
|
2809 |
+
msgid "Code"
|
2810 |
+
msgstr "Código"
|
2811 |
+
|
2812 |
+
msgid "Regular price"
|
2813 |
+
msgstr "Precio regular"
|
2814 |
+
|
2815 |
+
msgid "Price with custom Sender ID"
|
2816 |
+
msgstr "Precio con el ID del remitente personalizado"
|
2817 |
+
|
2818 |
+
msgid "Order"
|
2819 |
+
msgstr "Orden"
|
2820 |
+
|
2821 |
+
msgid "Requested ID"
|
2822 |
+
msgstr "ID solicitado"
|
2823 |
+
|
2824 |
+
msgid "Status date"
|
2825 |
+
msgstr "Situación a la fecha"
|
2826 |
+
|
2827 |
msgid "Important"
|
2828 |
msgstr "Importante"
|
2829 |
|
2963 |
msgid "Bookly SMS weekly summary"
|
2964 |
msgstr "Bookly SMS resumen semanal"
|
2965 |
|
|
|
|
|
|
|
2966 |
msgid "Internal Notes"
|
2967 |
msgstr "Notas internas"
|
2968 |
|
3094 |
msgid "Customers"
|
3095 |
msgstr "Clientes"
|
3096 |
|
|
|
|
|
|
|
3097 |
msgid "Appearance"
|
3098 |
msgstr "Apariencia"
|
3099 |
|
3124 |
msgid "New appointment"
|
3125 |
msgstr "Nueva cita"
|
3126 |
|
|
|
|
|
|
|
3127 |
msgid "Created at any time"
|
3128 |
msgstr "Creado en cualquier momento"
|
3129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3130 |
msgid "Any time"
|
3131 |
msgstr "En cualquier momento"
|
3132 |
|
3139 |
msgid "Searching"
|
3140 |
msgstr "Buscando"
|
3141 |
|
3142 |
+
msgid "Attachments"
|
3143 |
+
msgstr "Archivos adjuntos"
|
3144 |
+
|
3145 |
msgid "Archived"
|
3146 |
msgstr "Archivado"
|
3147 |
|
3191 |
msgid "Send weekly summary to administrators"
|
3192 |
msgstr "Enviar resumen semanal para los administradores"
|
3193 |
|
|
|
|
|
|
|
3194 |
msgid "Change"
|
3195 |
msgstr "Cambiar"
|
3196 |
|
3290 |
msgid "Old password"
|
3291 |
msgstr "Contraseña anterior"
|
3292 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3293 |
msgid ""
|
3294 |
"We will only charge your PayPal account when your balance falls below $10."
|
3295 |
msgstr "Sólo se cargará en su cuenta PayPal cuando su saldo es inferior a $10."
|
3300 |
msgid "Disable Auto-Recharge"
|
3301 |
msgstr "Desactivar Auto-Recarga"
|
3302 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3303 |
msgid ""
|
3304 |
"If you do not see your country in the list please contact us at <a "
|
3305 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3326 |
msgid "Quick search notifications"
|
3327 |
msgstr "Notificaciones de búsqueda rápida"
|
3328 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3329 |
#, php-format
|
3330 |
msgid ""
|
3331 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
3341 |
"Para enviar notificaciones programadas, ejecute el siguiente comando cada "
|
3342 |
"hora con su cron:"
|
3343 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3344 |
msgid ""
|
3345 |
"Please take into account that not all countries by law allow custom SMS "
|
3346 |
"sender ID. Please check if particular country supports custom sender ID in "
|
3368 |
msgid "Cancel request"
|
3369 |
msgstr "Cancelar petición"
|
3370 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3371 |
msgid "Please accept terms and conditions."
|
3372 |
msgstr "Por favor, acepte los términos y condiciones."
|
3373 |
|
3411 |
msgid "disable"
|
3412 |
msgstr "inhabilitar"
|
3413 |
|
|
|
|
|
|
|
3414 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3415 |
msgstr "Auto-Recarga ha fallado, por favor reponer el equilibrio directamente."
|
3416 |
|
3427 |
msgid "SMS has been sent successfully."
|
3428 |
msgstr "SMS ha sido enviado con éxito."
|
3429 |
|
3430 |
+
msgid "Staff members order"
|
3431 |
+
msgstr "Orden de miembros del personal"
|
3432 |
+
|
3433 |
+
msgid "Add staff"
|
3434 |
+
msgstr "Añadir personal"
|
3435 |
+
|
3436 |
msgid "Quick search staff"
|
3437 |
msgstr "Búsqueda rápida de personal"
|
3438 |
|
3439 |
+
msgid "Categories"
|
3440 |
+
msgstr "Categorías"
|
3441 |
+
|
3442 |
msgid "Show archived"
|
3443 |
msgstr "Mostrar archivado"
|
3444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3445 |
msgid "Image"
|
3446 |
msgstr "Imagen"
|
3447 |
|
3762 |
"El carro de WooCommerce no está configurado. Siga el <a href=\"%s\">enlace "
|
3763 |
"</a> para corregirlo."
|
3764 |
|
3765 |
+
msgid "Services order"
|
3766 |
+
msgstr "Orden de servicios"
|
3767 |
|
3768 |
+
msgid "Add service"
|
3769 |
+
msgstr "Añadir servicio"
|
3770 |
|
3771 |
+
msgid "Quick search services"
|
3772 |
+
msgstr "Búsqueda rápida de servicios"
|
3773 |
|
3774 |
msgid "Update service setting"
|
3775 |
msgstr "Actualizar configuración de servicio"
|
4039 |
msgid "New customer"
|
4040 |
msgstr "Nuevo cliente"
|
4041 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4042 |
msgid "Merge with"
|
4043 |
msgstr "Combinado con"
|
4044 |
|
4471 |
msgid "Days Off"
|
4472 |
msgstr "Días libres"
|
4473 |
|
4474 |
+
msgid "The date has already passed."
|
4475 |
+
msgstr "La fecha ya ha pasado."
|
4476 |
+
|
4477 |
msgid "Create staff"
|
4478 |
msgstr "Crear personal"
|
4479 |
|
4486 |
msgid "Error adding the break interval"
|
4487 |
msgstr "Error añadiendo intervalo de descanso"
|
4488 |
|
4489 |
+
msgid "Adjust the order of staff members in your booking form"
|
4490 |
+
msgstr ""
|
4491 |
+
"Ajustar el orden de los miembros del personal en su formulario de reserva"
|
4492 |
+
|
4493 |
msgid "Complete payment"
|
4494 |
msgstr "Completa el pago"
|
4495 |
|
4654 |
msgid "Advanced"
|
4655 |
msgstr "Avanzado"
|
4656 |
|
4657 |
+
msgid "Adjust the order of services in your booking form"
|
4658 |
+
msgstr "Ajustar el orden de los servicios en su formulario de reserva"
|
4659 |
|
4660 |
msgid "Add category"
|
4661 |
msgstr "Añadir categoría"
|
4662 |
|
4663 |
+
msgid "Table settings"
|
4664 |
+
msgstr "Ajustes de la tabla"
|
4665 |
+
|
4666 |
+
msgid "Column"
|
4667 |
+
msgstr "Columna"
|
4668 |
+
|
4669 |
msgid "Attach ICS file"
|
4670 |
msgstr "Adjuntar archivo ICS"
|
4671 |
|
5146 |
msgid "Notification about package deletion"
|
5147 |
msgstr "Notificación sobre la eliminación de un paquete"
|
5148 |
|
5149 |
+
msgid "Creation date"
|
5150 |
+
msgstr "Fecha de creación"
|
5151 |
+
|
5152 |
msgid "Packages"
|
5153 |
msgstr "Paquetes"
|
5154 |
|
5173 |
msgid "New package"
|
5174 |
msgstr "Nuevo paquete"
|
5175 |
|
|
|
|
|
|
|
5176 |
msgid "Edit package"
|
5177 |
msgstr "Editar paquete"
|
5178 |
|
5265 |
msgid "A custom block for displaying packages list"
|
5266 |
msgstr "Un bloque personalizado para mostrar la lista de paquetes"
|
5267 |
|
5268 |
+
msgid "Creation Date"
|
5269 |
+
msgstr "Fecha de Creación"
|
5270 |
+
|
5271 |
msgid "Expires"
|
5272 |
msgstr "Finaliza"
|
5273 |
|
6128 |
msgid "Show time zone switcher"
|
6129 |
msgstr "Mostrar cambio de zona horaria"
|
6130 |
|
|
|
|
|
|
|
6131 |
msgid "Import"
|
6132 |
msgstr "Importar"
|
6133 |
|
6146 |
msgid "Select file"
|
6147 |
msgstr "Seleccionar fichero"
|
6148 |
|
6149 |
+
msgid "Date of birth"
|
6150 |
+
msgstr "Fecha de nacimiento"
|
6151 |
+
|
6152 |
msgid "Analytics"
|
6153 |
msgstr "Analítica"
|
6154 |
|
6603 |
msgid "Coupon"
|
6604 |
msgstr "Cupón"
|
6605 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6606 |
msgid "Discount (%)"
|
6607 |
msgstr "Descuento (%)"
|
6608 |
|
6618 |
msgid "Number of times used"
|
6619 |
msgstr "Número de veces que usa"
|
6620 |
|
6621 |
+
msgid "Active from"
|
6622 |
+
msgstr "Activo desde"
|
6623 |
+
|
6624 |
msgid "Active until"
|
6625 |
msgstr "Activo hasta"
|
6626 |
|
6627 |
msgid "Min. appointments"
|
6628 |
msgstr "Citas Min."
|
6629 |
|
6630 |
+
msgid "Max. appointments"
|
|
|
|
|
|
|
6631 |
msgstr "Citas máximas"
|
6632 |
|
6633 |
+
msgid "Coupons"
|
6634 |
+
msgstr "Cupones"
|
6635 |
+
|
6636 |
+
msgid "Add Coupon Series"
|
6637 |
+
msgstr "Agregar Serie de Cupones"
|
6638 |
+
|
6639 |
+
msgid "Add Coupon"
|
6640 |
+
msgstr "Añadir Cupón"
|
6641 |
+
|
6642 |
+
msgid "Coupon code"
|
6643 |
+
msgstr "Código promocional"
|
6644 |
+
|
6645 |
+
msgid "Show only active"
|
6646 |
+
msgstr "Mostrar solo activo"
|
6647 |
+
|
6648 |
msgid "Export only active coupons"
|
6649 |
msgstr "Exportar solo cupones activos"
|
6650 |
|
6756 |
msgid "This coupon code has expired"
|
6757 |
msgstr "Este código de cupón ha expirado"
|
6758 |
|
6759 |
+
msgid "Group name"
|
|
|
|
|
|
|
|
|
|
|
|
|
6760 |
msgstr "Nombre del Grupo"
|
6761 |
|
6762 |
+
msgid "Number of users"
|
6763 |
+
msgstr "Número de usuarios"
|
6764 |
|
6765 |
msgid "Description"
|
6766 |
msgstr "Descripción"
|
6767 |
|
6768 |
+
msgid "Group"
|
6769 |
+
msgstr "Grupo"
|
6770 |
+
|
6771 |
+
msgid "Customer Groups"
|
6772 |
+
msgstr "Grupos de Clientes"
|
6773 |
+
|
6774 |
+
msgid "New group"
|
6775 |
+
msgstr "Nuevo grupo"
|
6776 |
|
6777 |
msgid "Customers without group"
|
6778 |
msgstr "Clientes sin grupo"
|
6779 |
|
|
|
|
|
|
|
6780 |
msgid "New Group"
|
6781 |
msgstr "Nuevo Grupo"
|
6782 |
|
6804 |
msgid "No group"
|
6805 |
msgstr "Ningún Grupo"
|
6806 |
|
|
|
|
|
|
|
6807 |
msgid "Total discount"
|
6808 |
msgstr "Descuento Total"
|
6809 |
|
6975 |
msgid "waiting list of appointment"
|
6976 |
msgstr "lista de espera de la cita"
|
6977 |
|
|
|
|
|
|
|
6978 |
msgid "Show chain appointments"
|
6979 |
msgstr "Mostrar citas en serie"
|
6980 |
|
7094 |
msgid "Show extras"
|
7095 |
msgstr "Mostrar extras"
|
7096 |
|
7097 |
+
msgid "Extras tax"
|
7098 |
+
msgstr "Impuesto adicional"
|
7099 |
+
|
7100 |
msgid "Extras price"
|
7101 |
msgstr "Extras precio"
|
7102 |
|
7120 |
msgid "Waiting list"
|
7121 |
msgstr "Lista de espera"
|
7122 |
|
7123 |
+
msgid "Free/Busy"
|
7124 |
+
msgstr "Libre/Ocupado"
|
7125 |
+
|
7126 |
msgid "Custom statuses"
|
7127 |
msgstr "Estados personalizados"
|
7128 |
|
7129 |
msgid "Add status"
|
7130 |
msgstr "Añadir estado"
|
7131 |
|
|
|
|
|
|
|
7132 |
msgid "New Status"
|
7133 |
msgstr "Nuevo Estado"
|
7134 |
|
7177 |
msgid "Please select a location"
|
7178 |
msgstr "Por favor selecciona una ubicación"
|
7179 |
|
7180 |
+
msgid "Staff members"
|
7181 |
+
msgstr "Miembros del personal"
|
7182 |
+
|
7183 |
msgid "Locations"
|
7184 |
msgstr "Ubicaciones"
|
7185 |
|
languages/bookly-fr_FR.mo
CHANGED
Binary file
|
languages/bookly-fr_FR.po
CHANGED
@@ -8,8 +8,8 @@ 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:
|
12 |
-
"PO-Revision-Date:
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: French (France)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1419,6 +1419,9 @@ msgstr "Êtes-vous sûr ?"
|
|
1419 |
msgid "Duplicate dates are not permitted."
|
1420 |
msgstr "Les dates dupliquées ne sont pas permises"
|
1421 |
|
|
|
|
|
|
|
1422 |
msgid "The requested interval is not available"
|
1423 |
msgstr "L'intervalle demandé n'est pas disponible"
|
1424 |
|
@@ -1645,6 +1648,12 @@ msgstr "ID de connexion de l'API"
|
|
1645 |
msgid "API Transaction Key"
|
1646 |
msgstr "Clé de Transaction de l'API"
|
1647 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1648 |
msgid "Taxes"
|
1649 |
msgstr "Impôts"
|
1650 |
|
@@ -1667,12 +1676,6 @@ msgstr "Hors taxes"
|
|
1667 |
msgid "Add Tax"
|
1668 |
msgstr "Ajouter taxe"
|
1669 |
|
1670 |
-
msgid "Title"
|
1671 |
-
msgstr "Titre"
|
1672 |
-
|
1673 |
-
msgid "Rate"
|
1674 |
-
msgstr "Taux"
|
1675 |
-
|
1676 |
msgid "New tax"
|
1677 |
msgstr "Nouvelle taxe"
|
1678 |
|
@@ -2728,6 +2731,78 @@ msgstr "A"
|
|
2728 |
msgid "From"
|
2729 |
msgstr "De"
|
2730 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2731 |
msgid "Important"
|
2732 |
msgstr "Important"
|
2733 |
|
@@ -2875,9 +2950,6 @@ msgstr "moins"
|
|
2875 |
msgid "Bookly SMS weekly summary"
|
2876 |
msgstr "Rapport hebdomadaire SMS Bookly"
|
2877 |
|
2878 |
-
msgid "Customer"
|
2879 |
-
msgstr "Client"
|
2880 |
-
|
2881 |
msgid "Internal Notes"
|
2882 |
msgstr "Notes internes"
|
2883 |
|
@@ -3010,9 +3082,6 @@ msgstr "Notifications e-mail"
|
|
3010 |
msgid "Customers"
|
3011 |
msgstr "Clients"
|
3012 |
|
3013 |
-
msgid "Payments"
|
3014 |
-
msgstr "Paiements"
|
3015 |
-
|
3016 |
msgid "Appearance"
|
3017 |
msgstr "Apparence"
|
3018 |
|
@@ -3043,21 +3112,9 @@ msgstr "Précédent"
|
|
3043 |
msgid "New appointment"
|
3044 |
msgstr "Nouveau rendez-vous"
|
3045 |
|
3046 |
-
msgid "No."
|
3047 |
-
msgstr "Non."
|
3048 |
-
|
3049 |
msgid "Created at any time"
|
3050 |
msgstr "Créé pour toutes dates"
|
3051 |
|
3052 |
-
msgid "Appointment Date"
|
3053 |
-
msgstr "Date Rendez-vous"
|
3054 |
-
|
3055 |
-
msgid "Created"
|
3056 |
-
msgstr "Créé"
|
3057 |
-
|
3058 |
-
msgid "Attachments"
|
3059 |
-
msgstr "Attachements"
|
3060 |
-
|
3061 |
msgid "Any time"
|
3062 |
msgstr "Toutes les dates"
|
3063 |
|
@@ -3070,6 +3127,9 @@ msgstr "Aucun résultat trouvé"
|
|
3070 |
msgid "Searching"
|
3071 |
msgstr "Recherche en cours"
|
3072 |
|
|
|
|
|
|
|
3073 |
msgid "Archived"
|
3074 |
msgstr "Archivé"
|
3075 |
|
@@ -3117,9 +3177,6 @@ msgstr ""
|
|
3117 |
msgid "Send weekly summary to administrators"
|
3118 |
msgstr "Envoyer rapport hebdomadaire aux administrateurs"
|
3119 |
|
3120 |
-
msgid "Sender ID"
|
3121 |
-
msgstr "ID Émetteur"
|
3122 |
-
|
3123 |
msgid "Change"
|
3124 |
msgstr "Change"
|
3125 |
|
@@ -3219,15 +3276,6 @@ msgstr "Changer mot de passe"
|
|
3219 |
msgid "Old password"
|
3220 |
msgstr "Ancien mot de passe"
|
3221 |
|
3222 |
-
msgid "Type"
|
3223 |
-
msgstr "Type"
|
3224 |
-
|
3225 |
-
msgid "Order"
|
3226 |
-
msgstr "Commande"
|
3227 |
-
|
3228 |
-
msgid "Amount"
|
3229 |
-
msgstr "Montant"
|
3230 |
-
|
3231 |
msgid ""
|
3232 |
"We will only charge your PayPal account when your balance falls below $10."
|
3233 |
msgstr ""
|
@@ -3239,15 +3287,6 @@ msgstr "Activer Recharge Automatique"
|
|
3239 |
msgid "Disable Auto-Recharge"
|
3240 |
msgstr "Désactiver Recharger Automatique"
|
3241 |
|
3242 |
-
msgid "Code"
|
3243 |
-
msgstr "Code"
|
3244 |
-
|
3245 |
-
msgid "Regular price"
|
3246 |
-
msgstr "Prix normal"
|
3247 |
-
|
3248 |
-
msgid "Price with custom Sender ID"
|
3249 |
-
msgstr "Prix avec ID émetteur personnalisé"
|
3250 |
-
|
3251 |
msgid ""
|
3252 |
"If you do not see your country in the list please contact us at <a "
|
3253 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3274,12 +3313,6 @@ msgstr "Enregistrer tél. de l'administrateur"
|
|
3274 |
msgid "Quick search notifications"
|
3275 |
msgstr "Recherche rapide notifications"
|
3276 |
|
3277 |
-
msgid "State"
|
3278 |
-
msgstr "État"
|
3279 |
-
|
3280 |
-
msgid "Delete..."
|
3281 |
-
msgstr "Supprimer..."
|
3282 |
-
|
3283 |
#, php-format
|
3284 |
msgid ""
|
3285 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
@@ -3295,12 +3328,6 @@ msgstr ""
|
|
3295 |
"Pour envoyer les notifications programmées, veuillez utiliser cette commande "
|
3296 |
"avec votre service cron):"
|
3297 |
|
3298 |
-
msgid "Text"
|
3299 |
-
msgstr "Texte"
|
3300 |
-
|
3301 |
-
msgid "Cost"
|
3302 |
-
msgstr "Cout"
|
3303 |
-
|
3304 |
msgid ""
|
3305 |
"Please take into account that not all countries by law allow custom SMS "
|
3306 |
"sender ID. Please check if particular country supports custom sender ID in "
|
@@ -3328,12 +3355,6 @@ msgstr "Requête"
|
|
3328 |
msgid "Cancel request"
|
3329 |
msgstr "Annuler requête"
|
3330 |
|
3331 |
-
msgid "Requested ID"
|
3332 |
-
msgstr "ID demandé"
|
3333 |
-
|
3334 |
-
msgid "Status Date"
|
3335 |
-
msgstr "Date du statut"
|
3336 |
-
|
3337 |
msgid "Please accept terms and conditions."
|
3338 |
msgstr "Veuillez accepter les Termes et Conditions."
|
3339 |
|
@@ -3377,9 +3398,6 @@ msgstr "activer"
|
|
3377 |
msgid "disable"
|
3378 |
msgstr "désactiver"
|
3379 |
|
3380 |
-
msgid "Edit..."
|
3381 |
-
msgstr "Modifier..."
|
3382 |
-
|
3383 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3384 |
msgstr ""
|
3385 |
"La recharge automatique n'a pas réussi. Veuillez compléter votre crédit "
|
@@ -3398,18 +3416,21 @@ msgstr ""
|
|
3398 |
msgid "SMS has been sent successfully."
|
3399 |
msgstr "Le SMS a été envoyé avec succès."
|
3400 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3401 |
msgid "Quick search staff"
|
3402 |
msgstr "Recherche rapide équipe"
|
3403 |
|
|
|
|
|
|
|
3404 |
msgid "Show archived"
|
3405 |
msgstr "Afficher archivés"
|
3406 |
|
3407 |
-
msgid "Add staff..."
|
3408 |
-
msgstr "Ajout de l'équipe..."
|
3409 |
-
|
3410 |
-
msgid "User"
|
3411 |
-
msgstr "Utilisateur"
|
3412 |
-
|
3413 |
msgid "Image"
|
3414 |
msgstr "Image"
|
3415 |
|
@@ -3733,15 +3754,15 @@ msgstr ""
|
|
3733 |
"Le panier WooCommerce n'est pas configuré. Suivez ce <a href=\"%s\">lien</a> "
|
3734 |
"pour corriger ce problème."
|
3735 |
|
3736 |
-
msgid "
|
3737 |
-
msgstr "
|
3738 |
-
|
3739 |
-
msgid "Categories..."
|
3740 |
-
msgstr "Catégories..."
|
3741 |
|
3742 |
-
msgid "Add service
|
3743 |
msgstr "Ajouter service"
|
3744 |
|
|
|
|
|
|
|
3745 |
msgid "Update service setting"
|
3746 |
msgstr "Mettre à jour service"
|
3747 |
|
@@ -4008,12 +4029,6 @@ msgstr "Recherche rapide client"
|
|
4008 |
msgid "New customer"
|
4009 |
msgstr "Nouveau client"
|
4010 |
|
4011 |
-
msgid "Last appointment"
|
4012 |
-
msgstr "Dernièr rendez-vous"
|
4013 |
-
|
4014 |
-
msgid "Total appointments"
|
4015 |
-
msgstr "Total rendez-vous"
|
4016 |
-
|
4017 |
msgid "Merge with"
|
4018 |
msgstr "Fusionner avec"
|
4019 |
|
@@ -4444,6 +4459,9 @@ msgstr "Ajouter Service"
|
|
4444 |
msgid "Days Off"
|
4445 |
msgstr "Jours de congé"
|
4446 |
|
|
|
|
|
|
|
4447 |
msgid "Create staff"
|
4448 |
msgstr "Créer Equipe"
|
4449 |
|
@@ -4456,6 +4474,9 @@ msgstr "L'heure de début doit être inférieure à l'heure de fin"
|
|
4456 |
msgid "Error adding the break interval"
|
4457 |
msgstr "Erreur lors de l'ajout d'une pause"
|
4458 |
|
|
|
|
|
|
|
4459 |
msgid "Complete payment"
|
4460 |
msgstr "Paiement complet"
|
4461 |
|
@@ -4619,12 +4640,18 @@ msgstr "Modifier service"
|
|
4619 |
msgid "Advanced"
|
4620 |
msgstr "Avancé"
|
4621 |
|
4622 |
-
msgid "
|
4623 |
-
msgstr "
|
4624 |
|
4625 |
msgid "Add category"
|
4626 |
msgstr "Ajouter catégorie"
|
4627 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4628 |
msgid "Attach ICS file"
|
4629 |
msgstr "Attacher un fichier ICS"
|
4630 |
|
@@ -5101,6 +5128,9 @@ msgstr "Notification pour la création de nouveau package"
|
|
5101 |
msgid "Notification about package deletion"
|
5102 |
msgstr "Notification de suppression de package"
|
5103 |
|
|
|
|
|
|
|
5104 |
msgid "Packages"
|
5105 |
msgstr "Packages"
|
5106 |
|
@@ -5124,9 +5154,6 @@ msgstr ""
|
|
5124 |
msgid "New package"
|
5125 |
msgstr "Nouveau Package"
|
5126 |
|
5127 |
-
msgid "Creation Date"
|
5128 |
-
msgstr "Date création"
|
5129 |
-
|
5130 |
msgid "Edit package"
|
5131 |
msgstr "Modifier Package"
|
5132 |
|
@@ -5219,6 +5246,9 @@ msgstr "Liste des packages"
|
|
5219 |
msgid "A custom block for displaying packages list"
|
5220 |
msgstr "Bloc personnalisé pour l'affichage de la liste des packages"
|
5221 |
|
|
|
|
|
|
|
5222 |
msgid "Expires"
|
5223 |
msgstr "Expire"
|
5224 |
|
@@ -5538,7 +5568,8 @@ msgstr "Synchroniser les membres d'équipe avec Google Calendar."
|
|
5538 |
|
5539 |
#, php-format
|
5540 |
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
5541 |
-
msgstr "
|
|
|
5542 |
|
5543 |
msgid "Limit working hours per day"
|
5544 |
msgstr "Limite des heures travaillées par jour"
|
@@ -6053,8 +6084,8 @@ msgid ""
|
|
6053 |
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6054 |
"first."
|
6055 |
msgstr ""
|
6056 |
-
"Veuillez configurer Facebook App integration
|
6057 |
-
"
|
6058 |
|
6059 |
msgid "Ok"
|
6060 |
msgstr "Ok"
|
@@ -6071,9 +6102,6 @@ msgstr "Montrer bouton login Facebook"
|
|
6071 |
msgid "Show time zone switcher"
|
6072 |
msgstr "Afficher changement fuseau horaire"
|
6073 |
|
6074 |
-
msgid "Date of birth"
|
6075 |
-
msgstr "Date de naissance"
|
6076 |
-
|
6077 |
msgid "Import"
|
6078 |
msgstr "Importer"
|
6079 |
|
@@ -6092,6 +6120,9 @@ msgstr ""
|
|
6092 |
msgid "Select file"
|
6093 |
msgstr "Choisir fichier"
|
6094 |
|
|
|
|
|
|
|
6095 |
msgid "Analytics"
|
6096 |
msgstr "Analyse"
|
6097 |
|
@@ -6544,21 +6575,6 @@ msgstr ""
|
|
6544 |
msgid "Coupon"
|
6545 |
msgstr "Code promo"
|
6546 |
|
6547 |
-
msgid "Coupons"
|
6548 |
-
msgstr "Codes promo"
|
6549 |
-
|
6550 |
-
msgid "Add Coupon Series"
|
6551 |
-
msgstr "Ajouter série code promo"
|
6552 |
-
|
6553 |
-
msgid "Add Coupon"
|
6554 |
-
msgstr "Ajouter Code promo"
|
6555 |
-
|
6556 |
-
msgid "Coupon code"
|
6557 |
-
msgstr "Code promo"
|
6558 |
-
|
6559 |
-
msgid "Show only active"
|
6560 |
-
msgstr "Montrer actif seulement"
|
6561 |
-
|
6562 |
msgid "Discount (%)"
|
6563 |
msgstr "Réduction (%)"
|
6564 |
|
@@ -6574,17 +6590,32 @@ msgstr "Limite d'utilisation"
|
|
6574 |
msgid "Number of times used"
|
6575 |
msgstr "Nombre utilisations"
|
6576 |
|
|
|
|
|
|
|
6577 |
msgid "Active until"
|
6578 |
msgstr "Actif seulement"
|
6579 |
|
6580 |
msgid "Min. appointments"
|
6581 |
-
msgstr "
|
6582 |
|
6583 |
-
msgid "
|
6584 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6585 |
|
6586 |
-
msgid "
|
6587 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6588 |
|
6589 |
msgid "Export only active coupons"
|
6590 |
msgstr "Exporter uniquement les codes promo actifs"
|
@@ -6696,30 +6727,27 @@ msgstr "Ce code promo n'est pas valide ou a expiré"
|
|
6696 |
msgid "This coupon code has expired"
|
6697 |
msgstr "Le code promo est expiré."
|
6698 |
|
6699 |
-
msgid "
|
6700 |
-
msgstr "Groupes de clients"
|
6701 |
-
|
6702 |
-
msgid "New group"
|
6703 |
-
msgstr "Nouveau groupe"
|
6704 |
-
|
6705 |
-
msgid "Group Name"
|
6706 |
msgstr "Nom du groupe"
|
6707 |
|
6708 |
-
msgid "Number of
|
6709 |
msgstr "Nombre d'utilisateurs"
|
6710 |
|
6711 |
msgid "Description"
|
6712 |
msgstr "Description"
|
6713 |
|
6714 |
-
msgid "
|
6715 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6716 |
|
6717 |
msgid "Customers without group"
|
6718 |
msgstr "Clients dans groupe"
|
6719 |
|
6720 |
-
msgid "Group"
|
6721 |
-
msgstr "Groupe"
|
6722 |
-
|
6723 |
msgid "New Group"
|
6724 |
msgstr "Nouveau groupe"
|
6725 |
|
@@ -6747,9 +6775,6 @@ msgstr "Groupe de clients"
|
|
6747 |
msgid "No group"
|
6748 |
msgstr "Aucun groupe"
|
6749 |
|
6750 |
-
msgid "Group name"
|
6751 |
-
msgstr "Nom du groupe"
|
6752 |
-
|
6753 |
msgid "Total discount"
|
6754 |
msgstr "Total remise"
|
6755 |
|
@@ -6921,9 +6946,6 @@ msgstr "Afficher créneau liste attente"
|
|
6921 |
msgid "waiting list of appointment"
|
6922 |
msgstr "liste d'attente des rendez-vous"
|
6923 |
|
6924 |
-
msgid "Add service"
|
6925 |
-
msgstr "Ajouter service"
|
6926 |
-
|
6927 |
msgid "Show chain appointments"
|
6928 |
msgstr "Afficher rendez-vous liés"
|
6929 |
|
@@ -7042,6 +7064,9 @@ msgstr "Montrer étape Extras"
|
|
7042 |
msgid "Show extras"
|
7043 |
msgstr "Afficher les suppléments"
|
7044 |
|
|
|
|
|
|
|
7045 |
msgid "Extras price"
|
7046 |
msgstr "Prix suppléments"
|
7047 |
|
@@ -7064,15 +7089,15 @@ msgstr "Total taxe"
|
|
7064 |
msgid "Waiting list"
|
7065 |
msgstr "Liste d'attente"
|
7066 |
|
|
|
|
|
|
|
7067 |
msgid "Custom statuses"
|
7068 |
msgstr "Statuts personnalisés"
|
7069 |
|
7070 |
msgid "Add status"
|
7071 |
msgstr "Ajouter statut"
|
7072 |
|
7073 |
-
msgid "Free/Busy"
|
7074 |
-
msgstr "Libre/Occupé"
|
7075 |
-
|
7076 |
msgid "New Status"
|
7077 |
msgstr "Nouveau statut"
|
7078 |
|
@@ -7121,6 +7146,9 @@ msgstr "Désactiver modification heures spéciales"
|
|
7121 |
msgid "Please select a location"
|
7122 |
msgstr "Veuillez choisir un site"
|
7123 |
|
|
|
|
|
|
|
7124 |
msgid "Locations"
|
7125 |
msgstr "Sites"
|
7126 |
|
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-02-10 08:54+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-02-11 12:52+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: French (France)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
1419 |
msgid "Duplicate dates are not permitted."
|
1420 |
msgstr "Les dates dupliquées ne sont pas permises"
|
1421 |
|
1422 |
+
msgid "Date in the past."
|
1423 |
+
msgstr "Date dans le passé."
|
1424 |
+
|
1425 |
msgid "The requested interval is not available"
|
1426 |
msgstr "L'intervalle demandé n'est pas disponible"
|
1427 |
|
1648 |
msgid "API Transaction Key"
|
1649 |
msgstr "Clé de Transaction de l'API"
|
1650 |
|
1651 |
+
msgid "Title"
|
1652 |
+
msgstr "Titre"
|
1653 |
+
|
1654 |
+
msgid "Rate"
|
1655 |
+
msgstr "Taux"
|
1656 |
+
|
1657 |
msgid "Taxes"
|
1658 |
msgstr "Impôts"
|
1659 |
|
1676 |
msgid "Add Tax"
|
1677 |
msgstr "Ajouter taxe"
|
1678 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1679 |
msgid "New tax"
|
1680 |
msgstr "Nouvelle taxe"
|
1681 |
|
2731 |
msgid "From"
|
2732 |
msgstr "De"
|
2733 |
|
2734 |
+
msgid "No."
|
2735 |
+
msgstr "Non."
|
2736 |
+
|
2737 |
+
msgid "Appointment date"
|
2738 |
+
msgstr "Date rendez-vous"
|
2739 |
+
|
2740 |
+
msgid "Customer name"
|
2741 |
+
msgstr "Nom Client"
|
2742 |
+
|
2743 |
+
msgid "Customer phone"
|
2744 |
+
msgstr "Téléphone Client"
|
2745 |
+
|
2746 |
+
msgid "Customer email"
|
2747 |
+
msgstr "E-mail Client"
|
2748 |
+
|
2749 |
+
msgid "Created"
|
2750 |
+
msgstr "Créé"
|
2751 |
+
|
2752 |
+
msgid "User"
|
2753 |
+
msgstr "Utilisateur"
|
2754 |
+
|
2755 |
+
msgid "Last appointment"
|
2756 |
+
msgstr "Dernièr rendez-vous"
|
2757 |
+
|
2758 |
+
msgid "Total appointments"
|
2759 |
+
msgstr "Total rendez-vous"
|
2760 |
+
|
2761 |
+
msgid "Payments"
|
2762 |
+
msgstr "Paiements"
|
2763 |
+
|
2764 |
+
msgid "Type"
|
2765 |
+
msgstr "Type"
|
2766 |
+
|
2767 |
+
msgid "State"
|
2768 |
+
msgstr "État"
|
2769 |
+
|
2770 |
+
msgid "Customer"
|
2771 |
+
msgstr "Client"
|
2772 |
+
|
2773 |
+
msgid "Amount"
|
2774 |
+
msgstr "Montant"
|
2775 |
+
|
2776 |
+
msgid "Text"
|
2777 |
+
msgstr "Texte"
|
2778 |
+
|
2779 |
+
msgid "Sender ID"
|
2780 |
+
msgstr "ID Émetteur"
|
2781 |
+
|
2782 |
+
msgid "Cost"
|
2783 |
+
msgstr "Cout"
|
2784 |
+
|
2785 |
+
msgid "Flag"
|
2786 |
+
msgstr "Flag"
|
2787 |
+
|
2788 |
+
msgid "Code"
|
2789 |
+
msgstr "Code"
|
2790 |
+
|
2791 |
+
msgid "Regular price"
|
2792 |
+
msgstr "Prix normal"
|
2793 |
+
|
2794 |
+
msgid "Price with custom Sender ID"
|
2795 |
+
msgstr "Prix avec ID émetteur personnalisé"
|
2796 |
+
|
2797 |
+
msgid "Order"
|
2798 |
+
msgstr "Commande"
|
2799 |
+
|
2800 |
+
msgid "Requested ID"
|
2801 |
+
msgstr "ID demandé"
|
2802 |
+
|
2803 |
+
msgid "Status date"
|
2804 |
+
msgstr "Date du statut"
|
2805 |
+
|
2806 |
msgid "Important"
|
2807 |
msgstr "Important"
|
2808 |
|
2950 |
msgid "Bookly SMS weekly summary"
|
2951 |
msgstr "Rapport hebdomadaire SMS Bookly"
|
2952 |
|
|
|
|
|
|
|
2953 |
msgid "Internal Notes"
|
2954 |
msgstr "Notes internes"
|
2955 |
|
3082 |
msgid "Customers"
|
3083 |
msgstr "Clients"
|
3084 |
|
|
|
|
|
|
|
3085 |
msgid "Appearance"
|
3086 |
msgstr "Apparence"
|
3087 |
|
3112 |
msgid "New appointment"
|
3113 |
msgstr "Nouveau rendez-vous"
|
3114 |
|
|
|
|
|
|
|
3115 |
msgid "Created at any time"
|
3116 |
msgstr "Créé pour toutes dates"
|
3117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3118 |
msgid "Any time"
|
3119 |
msgstr "Toutes les dates"
|
3120 |
|
3127 |
msgid "Searching"
|
3128 |
msgstr "Recherche en cours"
|
3129 |
|
3130 |
+
msgid "Attachments"
|
3131 |
+
msgstr "Attachements"
|
3132 |
+
|
3133 |
msgid "Archived"
|
3134 |
msgstr "Archivé"
|
3135 |
|
3177 |
msgid "Send weekly summary to administrators"
|
3178 |
msgstr "Envoyer rapport hebdomadaire aux administrateurs"
|
3179 |
|
|
|
|
|
|
|
3180 |
msgid "Change"
|
3181 |
msgstr "Change"
|
3182 |
|
3276 |
msgid "Old password"
|
3277 |
msgstr "Ancien mot de passe"
|
3278 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3279 |
msgid ""
|
3280 |
"We will only charge your PayPal account when your balance falls below $10."
|
3281 |
msgstr ""
|
3287 |
msgid "Disable Auto-Recharge"
|
3288 |
msgstr "Désactiver Recharger Automatique"
|
3289 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3290 |
msgid ""
|
3291 |
"If you do not see your country in the list please contact us at <a "
|
3292 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3313 |
msgid "Quick search notifications"
|
3314 |
msgstr "Recherche rapide notifications"
|
3315 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3316 |
#, php-format
|
3317 |
msgid ""
|
3318 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
3328 |
"Pour envoyer les notifications programmées, veuillez utiliser cette commande "
|
3329 |
"avec votre service cron):"
|
3330 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3331 |
msgid ""
|
3332 |
"Please take into account that not all countries by law allow custom SMS "
|
3333 |
"sender ID. Please check if particular country supports custom sender ID in "
|
3355 |
msgid "Cancel request"
|
3356 |
msgstr "Annuler requête"
|
3357 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3358 |
msgid "Please accept terms and conditions."
|
3359 |
msgstr "Veuillez accepter les Termes et Conditions."
|
3360 |
|
3398 |
msgid "disable"
|
3399 |
msgstr "désactiver"
|
3400 |
|
|
|
|
|
|
|
3401 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3402 |
msgstr ""
|
3403 |
"La recharge automatique n'a pas réussi. Veuillez compléter votre crédit "
|
3416 |
msgid "SMS has been sent successfully."
|
3417 |
msgstr "Le SMS a été envoyé avec succès."
|
3418 |
|
3419 |
+
msgid "Staff members order"
|
3420 |
+
msgstr "Ordre des membres de l'équipe"
|
3421 |
+
|
3422 |
+
msgid "Add staff"
|
3423 |
+
msgstr "Ajouter Equipe"
|
3424 |
+
|
3425 |
msgid "Quick search staff"
|
3426 |
msgstr "Recherche rapide équipe"
|
3427 |
|
3428 |
+
msgid "Categories"
|
3429 |
+
msgstr "Catégories"
|
3430 |
+
|
3431 |
msgid "Show archived"
|
3432 |
msgstr "Afficher archivés"
|
3433 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3434 |
msgid "Image"
|
3435 |
msgstr "Image"
|
3436 |
|
3754 |
"Le panier WooCommerce n'est pas configuré. Suivez ce <a href=\"%s\">lien</a> "
|
3755 |
"pour corriger ce problème."
|
3756 |
|
3757 |
+
msgid "Services order"
|
3758 |
+
msgstr "Ordre des services"
|
|
|
|
|
|
|
3759 |
|
3760 |
+
msgid "Add service"
|
3761 |
msgstr "Ajouter service"
|
3762 |
|
3763 |
+
msgid "Quick search services"
|
3764 |
+
msgstr "Recherche rapide services"
|
3765 |
+
|
3766 |
msgid "Update service setting"
|
3767 |
msgstr "Mettre à jour service"
|
3768 |
|
4029 |
msgid "New customer"
|
4030 |
msgstr "Nouveau client"
|
4031 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4032 |
msgid "Merge with"
|
4033 |
msgstr "Fusionner avec"
|
4034 |
|
4459 |
msgid "Days Off"
|
4460 |
msgstr "Jours de congé"
|
4461 |
|
4462 |
+
msgid "The date has already passed."
|
4463 |
+
msgstr "La date est déjà passée."
|
4464 |
+
|
4465 |
msgid "Create staff"
|
4466 |
msgstr "Créer Equipe"
|
4467 |
|
4474 |
msgid "Error adding the break interval"
|
4475 |
msgstr "Erreur lors de l'ajout d'une pause"
|
4476 |
|
4477 |
+
msgid "Adjust the order of staff members in your booking form"
|
4478 |
+
msgstr "Définir l'ordre des membres d'équipe dans le formulaire de réservation"
|
4479 |
+
|
4480 |
msgid "Complete payment"
|
4481 |
msgstr "Paiement complet"
|
4482 |
|
4640 |
msgid "Advanced"
|
4641 |
msgstr "Avancé"
|
4642 |
|
4643 |
+
msgid "Adjust the order of services in your booking form"
|
4644 |
+
msgstr "Définir l'ordre des services dans le formulaire de réservation"
|
4645 |
|
4646 |
msgid "Add category"
|
4647 |
msgstr "Ajouter catégorie"
|
4648 |
|
4649 |
+
msgid "Table settings"
|
4650 |
+
msgstr "Paramétrage table"
|
4651 |
+
|
4652 |
+
msgid "Column"
|
4653 |
+
msgstr "Colonne"
|
4654 |
+
|
4655 |
msgid "Attach ICS file"
|
4656 |
msgstr "Attacher un fichier ICS"
|
4657 |
|
5128 |
msgid "Notification about package deletion"
|
5129 |
msgstr "Notification de suppression de package"
|
5130 |
|
5131 |
+
msgid "Creation date"
|
5132 |
+
msgstr "Date de création"
|
5133 |
+
|
5134 |
msgid "Packages"
|
5135 |
msgstr "Packages"
|
5136 |
|
5154 |
msgid "New package"
|
5155 |
msgstr "Nouveau Package"
|
5156 |
|
|
|
|
|
|
|
5157 |
msgid "Edit package"
|
5158 |
msgstr "Modifier Package"
|
5159 |
|
5246 |
msgid "A custom block for displaying packages list"
|
5247 |
msgstr "Bloc personnalisé pour l'affichage de la liste des packages"
|
5248 |
|
5249 |
+
msgid "Creation Date"
|
5250 |
+
msgstr "Date création"
|
5251 |
+
|
5252 |
msgid "Expires"
|
5253 |
msgstr "Expire"
|
5254 |
|
5568 |
|
5569 |
#, php-format
|
5570 |
msgid "Please configure Google Calendar <a href=\"%s\">settings</a> first"
|
5571 |
+
msgstr ""
|
5572 |
+
"Veuillez d'abord configurer Google Calendar. <a href=\"%s\">Séttings</a>"
|
5573 |
|
5574 |
msgid "Limit working hours per day"
|
5575 |
msgstr "Limite des heures travaillées par jour"
|
6084 |
"Please configure Facebook App integration in <a href=\"%s\">settings</a> "
|
6085 |
"first."
|
6086 |
msgstr ""
|
6087 |
+
"Veuillez d'abord configurer Facebook App integration dans <a href=\"%s\">"
|
6088 |
+
"Settings</a>."
|
6089 |
|
6090 |
msgid "Ok"
|
6091 |
msgstr "Ok"
|
6102 |
msgid "Show time zone switcher"
|
6103 |
msgstr "Afficher changement fuseau horaire"
|
6104 |
|
|
|
|
|
|
|
6105 |
msgid "Import"
|
6106 |
msgstr "Importer"
|
6107 |
|
6120 |
msgid "Select file"
|
6121 |
msgstr "Choisir fichier"
|
6122 |
|
6123 |
+
msgid "Date of birth"
|
6124 |
+
msgstr "Date de naissance"
|
6125 |
+
|
6126 |
msgid "Analytics"
|
6127 |
msgstr "Analyse"
|
6128 |
|
6575 |
msgid "Coupon"
|
6576 |
msgstr "Code promo"
|
6577 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6578 |
msgid "Discount (%)"
|
6579 |
msgstr "Réduction (%)"
|
6580 |
|
6590 |
msgid "Number of times used"
|
6591 |
msgstr "Nombre utilisations"
|
6592 |
|
6593 |
+
msgid "Active from"
|
6594 |
+
msgstr "Actif depuis"
|
6595 |
+
|
6596 |
msgid "Active until"
|
6597 |
msgstr "Actif seulement"
|
6598 |
|
6599 |
msgid "Min. appointments"
|
6600 |
+
msgstr "Rendez-vous min."
|
6601 |
|
6602 |
+
msgid "Max. appointments"
|
6603 |
+
msgstr "Rendez-vous max."
|
6604 |
+
|
6605 |
+
msgid "Coupons"
|
6606 |
+
msgstr "Codes promo"
|
6607 |
+
|
6608 |
+
msgid "Add Coupon Series"
|
6609 |
+
msgstr "Ajouter série code promo"
|
6610 |
|
6611 |
+
msgid "Add Coupon"
|
6612 |
+
msgstr "Ajouter Code promo"
|
6613 |
+
|
6614 |
+
msgid "Coupon code"
|
6615 |
+
msgstr "Code promo"
|
6616 |
+
|
6617 |
+
msgid "Show only active"
|
6618 |
+
msgstr "Montrer actif seulement"
|
6619 |
|
6620 |
msgid "Export only active coupons"
|
6621 |
msgstr "Exporter uniquement les codes promo actifs"
|
6727 |
msgid "This coupon code has expired"
|
6728 |
msgstr "Le code promo est expiré."
|
6729 |
|
6730 |
+
msgid "Group name"
|
|
|
|
|
|
|
|
|
|
|
|
|
6731 |
msgstr "Nom du groupe"
|
6732 |
|
6733 |
+
msgid "Number of users"
|
6734 |
msgstr "Nombre d'utilisateurs"
|
6735 |
|
6736 |
msgid "Description"
|
6737 |
msgstr "Description"
|
6738 |
|
6739 |
+
msgid "Group"
|
6740 |
+
msgstr "Groupe"
|
6741 |
+
|
6742 |
+
msgid "Customer Groups"
|
6743 |
+
msgstr "Groupes de clients"
|
6744 |
+
|
6745 |
+
msgid "New group"
|
6746 |
+
msgstr "Nouveau groupe"
|
6747 |
|
6748 |
msgid "Customers without group"
|
6749 |
msgstr "Clients dans groupe"
|
6750 |
|
|
|
|
|
|
|
6751 |
msgid "New Group"
|
6752 |
msgstr "Nouveau groupe"
|
6753 |
|
6775 |
msgid "No group"
|
6776 |
msgstr "Aucun groupe"
|
6777 |
|
|
|
|
|
|
|
6778 |
msgid "Total discount"
|
6779 |
msgstr "Total remise"
|
6780 |
|
6946 |
msgid "waiting list of appointment"
|
6947 |
msgstr "liste d'attente des rendez-vous"
|
6948 |
|
|
|
|
|
|
|
6949 |
msgid "Show chain appointments"
|
6950 |
msgstr "Afficher rendez-vous liés"
|
6951 |
|
7064 |
msgid "Show extras"
|
7065 |
msgstr "Afficher les suppléments"
|
7066 |
|
7067 |
+
msgid "Extras tax"
|
7068 |
+
msgstr "Taxes additionnelles"
|
7069 |
+
|
7070 |
msgid "Extras price"
|
7071 |
msgstr "Prix suppléments"
|
7072 |
|
7089 |
msgid "Waiting list"
|
7090 |
msgstr "Liste d'attente"
|
7091 |
|
7092 |
+
msgid "Free/Busy"
|
7093 |
+
msgstr "Libre/Occupé"
|
7094 |
+
|
7095 |
msgid "Custom statuses"
|
7096 |
msgstr "Statuts personnalisés"
|
7097 |
|
7098 |
msgid "Add status"
|
7099 |
msgstr "Ajouter statut"
|
7100 |
|
|
|
|
|
|
|
7101 |
msgid "New Status"
|
7102 |
msgstr "Nouveau statut"
|
7103 |
|
7146 |
msgid "Please select a location"
|
7147 |
msgstr "Veuillez choisir un site"
|
7148 |
|
7149 |
+
msgid "Staff members"
|
7150 |
+
msgstr "Membres de l'équipe"
|
7151 |
+
|
7152 |
msgid "Locations"
|
7153 |
msgstr "Sites"
|
7154 |
|
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:
|
12 |
-
"PO-Revision-Date:
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Dutch\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1411,6 +1411,9 @@ msgstr "Weet je het zeker?"
|
|
1411 |
msgid "Duplicate dates are not permitted."
|
1412 |
msgstr "Dubbele data zijn niet toegestaan."
|
1413 |
|
|
|
|
|
|
|
1414 |
msgid "The requested interval is not available"
|
1415 |
msgstr "De gevraagde interval is niet beschikbaar"
|
1416 |
|
@@ -1641,6 +1644,12 @@ msgstr "API Login ID"
|
|
1641 |
msgid "API Transaction Key"
|
1642 |
msgstr "API Transactie Sleutel"
|
1643 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1644 |
msgid "Taxes"
|
1645 |
msgstr "Belastingen"
|
1646 |
|
@@ -1664,12 +1673,6 @@ msgstr "Exclusief belastingen"
|
|
1664 |
msgid "Add Tax"
|
1665 |
msgstr "Belasting toevoegen"
|
1666 |
|
1667 |
-
msgid "Title"
|
1668 |
-
msgstr "Titel"
|
1669 |
-
|
1670 |
-
msgid "Rate"
|
1671 |
-
msgstr "Tarief"
|
1672 |
-
|
1673 |
msgid "New tax"
|
1674 |
msgstr "Nieuwe belasting"
|
1675 |
|
@@ -2721,6 +2724,78 @@ msgstr "Aan"
|
|
2721 |
msgid "From"
|
2722 |
msgstr "Van"
|
2723 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2724 |
msgid "Important"
|
2725 |
msgstr "Belangrijk"
|
2726 |
|
@@ -2867,9 +2942,6 @@ msgstr "minder"
|
|
2867 |
msgid "Bookly SMS weekly summary"
|
2868 |
msgstr "Bookly SMS wekelijkse samenvatting"
|
2869 |
|
2870 |
-
msgid "Customer"
|
2871 |
-
msgstr "Klant"
|
2872 |
-
|
2873 |
msgid "Internal Notes"
|
2874 |
msgstr "Interne Notities"
|
2875 |
|
@@ -3001,9 +3073,6 @@ msgstr "E-mailmeldingen"
|
|
3001 |
msgid "Customers"
|
3002 |
msgstr "Klanten"
|
3003 |
|
3004 |
-
msgid "Payments"
|
3005 |
-
msgstr "Betalingen"
|
3006 |
-
|
3007 |
msgid "Appearance"
|
3008 |
msgstr "Weergave"
|
3009 |
|
@@ -3034,21 +3103,9 @@ msgstr "Vorige"
|
|
3034 |
msgid "New appointment"
|
3035 |
msgstr "Nieuwe Afspraak"
|
3036 |
|
3037 |
-
msgid "No."
|
3038 |
-
msgstr "Nr."
|
3039 |
-
|
3040 |
msgid "Created at any time"
|
3041 |
msgstr "Aangemaakt op elk moment"
|
3042 |
|
3043 |
-
msgid "Appointment Date"
|
3044 |
-
msgstr "Datum Afspraak"
|
3045 |
-
|
3046 |
-
msgid "Created"
|
3047 |
-
msgstr "Aangemaakt"
|
3048 |
-
|
3049 |
-
msgid "Attachments"
|
3050 |
-
msgstr "Bijlagen"
|
3051 |
-
|
3052 |
msgid "Any time"
|
3053 |
msgstr "Elk moment"
|
3054 |
|
@@ -3061,6 +3118,9 @@ msgstr "Geen resultaten gevonden"
|
|
3061 |
msgid "Searching"
|
3062 |
msgstr "Zoeken"
|
3063 |
|
|
|
|
|
|
|
3064 |
msgid "Archived"
|
3065 |
msgstr "Gearchiveerd"
|
3066 |
|
@@ -3106,9 +3166,6 @@ msgstr "Stuur e-mail notificatie aan beheerders bij lage balans"
|
|
3106 |
msgid "Send weekly summary to administrators"
|
3107 |
msgstr "Stuur wekelijkse samenvatting naar beheerders"
|
3108 |
|
3109 |
-
msgid "Sender ID"
|
3110 |
-
msgstr "Afzender ID"
|
3111 |
-
|
3112 |
msgid "Change"
|
3113 |
msgstr "Wijzigen"
|
3114 |
|
@@ -3210,15 +3267,6 @@ msgstr "Verander wachtwoord"
|
|
3210 |
msgid "Old password"
|
3211 |
msgstr "Oude wachtwoord"
|
3212 |
|
3213 |
-
msgid "Type"
|
3214 |
-
msgstr "Soort"
|
3215 |
-
|
3216 |
-
msgid "Order"
|
3217 |
-
msgstr "Volgorde"
|
3218 |
-
|
3219 |
-
msgid "Amount"
|
3220 |
-
msgstr "Bedrag"
|
3221 |
-
|
3222 |
msgid ""
|
3223 |
"We will only charge your PayPal account when your balance falls below $10."
|
3224 |
msgstr ""
|
@@ -3231,15 +3279,6 @@ msgstr "Inschakelen Auto-Opladen"
|
|
3231 |
msgid "Disable Auto-Recharge"
|
3232 |
msgstr "Uitschakelen Auto-Opladen"
|
3233 |
|
3234 |
-
msgid "Code"
|
3235 |
-
msgstr "Code"
|
3236 |
-
|
3237 |
-
msgid "Regular price"
|
3238 |
-
msgstr "Normale prijs"
|
3239 |
-
|
3240 |
-
msgid "Price with custom Sender ID"
|
3241 |
-
msgstr "Prijs met aangepaste Afzender ID"
|
3242 |
-
|
3243 |
msgid ""
|
3244 |
"If you do not see your country in the list please contact us at <a "
|
3245 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3266,12 +3305,6 @@ msgstr "Bewaar telefoonnummer beheerder"
|
|
3266 |
msgid "Quick search notifications"
|
3267 |
msgstr "Snelle zoek meldingen"
|
3268 |
|
3269 |
-
msgid "State"
|
3270 |
-
msgstr "Staat"
|
3271 |
-
|
3272 |
-
msgid "Delete..."
|
3273 |
-
msgstr "Verwijderen..."
|
3274 |
-
|
3275 |
#, php-format
|
3276 |
msgid ""
|
3277 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
@@ -3287,12 +3320,6 @@ msgstr ""
|
|
3287 |
"Om geplande meldingen te verzenden, voer de volgende opdracht per uur uit "
|
3288 |
"met uw cron:"
|
3289 |
|
3290 |
-
msgid "Text"
|
3291 |
-
msgstr "Tekst"
|
3292 |
-
|
3293 |
-
msgid "Cost"
|
3294 |
-
msgstr "Kosten"
|
3295 |
-
|
3296 |
msgid ""
|
3297 |
"Please take into account that not all countries by law allow custom SMS "
|
3298 |
"sender ID. Please check if particular country supports custom sender ID in "
|
@@ -3320,12 +3347,6 @@ msgstr "Verzoeken"
|
|
3320 |
msgid "Cancel request"
|
3321 |
msgstr "Annuleer verzoek"
|
3322 |
|
3323 |
-
msgid "Requested ID"
|
3324 |
-
msgstr "Aangevraagde ID"
|
3325 |
-
|
3326 |
-
msgid "Status Date"
|
3327 |
-
msgstr "Datum van de Status"
|
3328 |
-
|
3329 |
msgid "Please accept terms and conditions."
|
3330 |
msgstr "Accepteer alstublieft onze algemene voorwaarden."
|
3331 |
|
@@ -3369,9 +3390,6 @@ msgstr "inschakelen"
|
|
3369 |
msgid "disable"
|
3370 |
msgstr "uitschakelen"
|
3371 |
|
3372 |
-
msgid "Edit..."
|
3373 |
-
msgstr "Bewerken..."
|
3374 |
-
|
3375 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3376 |
msgstr "Auto-Opladen is mislukt, vult uw saldo direct aan."
|
3377 |
|
@@ -3388,18 +3406,21 @@ msgstr ""
|
|
3388 |
msgid "SMS has been sent successfully."
|
3389 |
msgstr "SMS is met succes verstuurd."
|
3390 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3391 |
msgid "Quick search staff"
|
3392 |
msgstr "Snel doorzoeken personeel"
|
3393 |
|
|
|
|
|
|
|
3394 |
msgid "Show archived"
|
3395 |
msgstr "Toon gearchiveerde"
|
3396 |
|
3397 |
-
msgid "Add staff..."
|
3398 |
-
msgstr "Voeg personeel toe..."
|
3399 |
-
|
3400 |
-
msgid "User"
|
3401 |
-
msgstr "Gebruiker"
|
3402 |
-
|
3403 |
msgid "Image"
|
3404 |
msgstr "Afbeelding"
|
3405 |
|
@@ -3721,14 +3742,14 @@ msgstr ""
|
|
3721 |
"WooCommerce winkelwagen is niet ingesteld. Volg de <a href=\"%s\">link</a> "
|
3722 |
"om dit probleem te verhelpen."
|
3723 |
|
3724 |
-
msgid "
|
3725 |
-
msgstr "
|
3726 |
|
3727 |
-
msgid "
|
3728 |
-
msgstr "
|
3729 |
|
3730 |
-
msgid "
|
3731 |
-
msgstr "
|
3732 |
|
3733 |
msgid "Update service setting"
|
3734 |
msgstr "Dienst instellingen bijwerken"
|
@@ -3991,12 +4012,6 @@ msgstr "Snel klant zoeken"
|
|
3991 |
msgid "New customer"
|
3992 |
msgstr "Nieuwe klant"
|
3993 |
|
3994 |
-
msgid "Last appointment"
|
3995 |
-
msgstr "Laatste afspraak"
|
3996 |
-
|
3997 |
-
msgid "Total appointments"
|
3998 |
-
msgstr "Totaal aantal afspraken"
|
3999 |
-
|
4000 |
msgid "Merge with"
|
4001 |
msgstr "Samenvoegen met"
|
4002 |
|
@@ -4429,6 +4444,9 @@ msgstr "Dienst Toevoegen"
|
|
4429 |
msgid "Days Off"
|
4430 |
msgstr "Vrije Dagen"
|
4431 |
|
|
|
|
|
|
|
4432 |
msgid "Create staff"
|
4433 |
msgstr "Personeel aanmaken"
|
4434 |
|
@@ -4441,6 +4459,9 @@ msgstr "De begintijd moet eerder zijn dan de eindtijd"
|
|
4441 |
msgid "Error adding the break interval"
|
4442 |
msgstr "Fout bij toevoegen pauze-interval"
|
4443 |
|
|
|
|
|
|
|
4444 |
msgid "Complete payment"
|
4445 |
msgstr "Volledige betaling"
|
4446 |
|
@@ -4602,12 +4623,18 @@ msgstr "Bewerk service"
|
|
4602 |
msgid "Advanced"
|
4603 |
msgstr "Geavanceerd"
|
4604 |
|
4605 |
-
msgid "
|
4606 |
-
msgstr "
|
4607 |
|
4608 |
msgid "Add category"
|
4609 |
msgstr "Voeg categorie toe"
|
4610 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4611 |
msgid "Attach ICS file"
|
4612 |
msgstr "ICS bestand bijvoegen"
|
4613 |
|
@@ -5086,6 +5113,9 @@ msgstr "Melding over nieuw pakket aanmaak"
|
|
5086 |
msgid "Notification about package deletion"
|
5087 |
msgstr "Melding over pakket verwijderen"
|
5088 |
|
|
|
|
|
|
|
5089 |
msgid "Packages"
|
5090 |
msgstr "Pakketten"
|
5091 |
|
@@ -5110,9 +5140,6 @@ msgstr ""
|
|
5110 |
msgid "New package"
|
5111 |
msgstr "Nieuw pakket"
|
5112 |
|
5113 |
-
msgid "Creation Date"
|
5114 |
-
msgstr "Aanmaakdatum"
|
5115 |
-
|
5116 |
msgid "Edit package"
|
5117 |
msgstr "Bewerk pakket"
|
5118 |
|
@@ -5205,6 +5232,9 @@ msgstr "Pakketten lijst"
|
|
5205 |
msgid "A custom block for displaying packages list"
|
5206 |
msgstr "Een aangepast blok voor het weergeven van pakket lijst"
|
5207 |
|
|
|
|
|
|
|
5208 |
msgid "Expires"
|
5209 |
msgstr "Verloopt"
|
5210 |
|
@@ -6057,9 +6087,6 @@ msgstr "Toon Facebook inlog knop"
|
|
6057 |
msgid "Show time zone switcher"
|
6058 |
msgstr "Toon tijdszone switcher"
|
6059 |
|
6060 |
-
msgid "Date of birth"
|
6061 |
-
msgstr "Geboortedatum"
|
6062 |
-
|
6063 |
msgid "Import"
|
6064 |
msgstr "Importeren"
|
6065 |
|
@@ -6078,6 +6105,9 @@ msgstr ""
|
|
6078 |
msgid "Select file"
|
6079 |
msgstr "Selecteer bestand"
|
6080 |
|
|
|
|
|
|
|
6081 |
msgid "Analytics"
|
6082 |
msgstr "Analytics"
|
6083 |
|
@@ -6528,21 +6558,6 @@ msgstr ""
|
|
6528 |
msgid "Coupon"
|
6529 |
msgstr "Kortingsbon"
|
6530 |
|
6531 |
-
msgid "Coupons"
|
6532 |
-
msgstr "Kortingsbonnen"
|
6533 |
-
|
6534 |
-
msgid "Add Coupon Series"
|
6535 |
-
msgstr "Voeg Kortingsbon Serie toe"
|
6536 |
-
|
6537 |
-
msgid "Add Coupon"
|
6538 |
-
msgstr "Kortingsbon toevoegen"
|
6539 |
-
|
6540 |
-
msgid "Coupon code"
|
6541 |
-
msgstr "Kortingscode"
|
6542 |
-
|
6543 |
-
msgid "Show only active"
|
6544 |
-
msgstr "Toon alleen actieve"
|
6545 |
-
|
6546 |
msgid "Discount (%)"
|
6547 |
msgstr "Korting (%)"
|
6548 |
|
@@ -6558,17 +6573,32 @@ msgstr "Gebruikslimiet"
|
|
6558 |
msgid "Number of times used"
|
6559 |
msgstr "Aantal keer gebruikt"
|
6560 |
|
|
|
|
|
|
|
6561 |
msgid "Active until"
|
6562 |
msgstr "Actief tot"
|
6563 |
|
6564 |
msgid "Min. appointments"
|
6565 |
msgstr "Min. afspraken"
|
6566 |
|
6567 |
-
msgid "
|
6568 |
-
msgstr "
|
|
|
|
|
|
|
6569 |
|
6570 |
-
msgid "
|
6571 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6572 |
|
6573 |
msgid "Export only active coupons"
|
6574 |
msgstr "Exporteer alleen actieve kortingsbonnen"
|
@@ -6682,30 +6712,27 @@ msgstr "Deze kortingscode is ongeldig of is al gebruikt"
|
|
6682 |
msgid "This coupon code has expired"
|
6683 |
msgstr "Deze kortingsbon code is verlopen"
|
6684 |
|
6685 |
-
msgid "
|
6686 |
-
msgstr "Klant Groepen"
|
6687 |
-
|
6688 |
-
msgid "New group"
|
6689 |
-
msgstr "Nieuwe groep"
|
6690 |
-
|
6691 |
-
msgid "Group Name"
|
6692 |
msgstr "Groepsnaam"
|
6693 |
|
6694 |
-
msgid "Number of
|
6695 |
-
msgstr "Aantal
|
6696 |
|
6697 |
msgid "Description"
|
6698 |
msgstr "Beschrijving"
|
6699 |
|
6700 |
-
msgid "
|
6701 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6702 |
|
6703 |
msgid "Customers without group"
|
6704 |
msgstr "Klanten zonder groep"
|
6705 |
|
6706 |
-
msgid "Group"
|
6707 |
-
msgstr "Groep"
|
6708 |
-
|
6709 |
msgid "New Group"
|
6710 |
msgstr "Nieuwe Groep"
|
6711 |
|
@@ -6733,9 +6760,6 @@ msgstr "Klantengroep"
|
|
6733 |
msgid "No group"
|
6734 |
msgstr "Geen groep"
|
6735 |
|
6736 |
-
msgid "Group name"
|
6737 |
-
msgstr "Groepsnaam"
|
6738 |
-
|
6739 |
msgid "Total discount"
|
6740 |
msgstr "Totale korting"
|
6741 |
|
@@ -6903,9 +6927,6 @@ msgstr "Toon wachtlijst sloten"
|
|
6903 |
msgid "waiting list of appointment"
|
6904 |
msgstr "wachtlijst van afspraken"
|
6905 |
|
6906 |
-
msgid "Add service"
|
6907 |
-
msgstr "Voeg dienst toe"
|
6908 |
-
|
6909 |
msgid "Show chain appointments"
|
6910 |
msgstr "Toon keten afspraken"
|
6911 |
|
@@ -7020,6 +7041,9 @@ msgstr "Toon Extra's stap"
|
|
7020 |
msgid "Show extras"
|
7021 |
msgstr "Toon extra's"
|
7022 |
|
|
|
|
|
|
|
7023 |
msgid "Extras price"
|
7024 |
msgstr "Extra's prijs"
|
7025 |
|
@@ -7042,15 +7066,15 @@ msgstr "Totale belasting"
|
|
7042 |
msgid "Waiting list"
|
7043 |
msgstr "Wachtlijst"
|
7044 |
|
|
|
|
|
|
|
7045 |
msgid "Custom statuses"
|
7046 |
msgstr "Aangepaste statussen"
|
7047 |
|
7048 |
msgid "Add status"
|
7049 |
msgstr "Voeg status toe"
|
7050 |
|
7051 |
-
msgid "Free/Busy"
|
7052 |
-
msgstr "Vrij/Bezet"
|
7053 |
-
|
7054 |
msgid "New Status"
|
7055 |
msgstr "Nieuwe Status"
|
7056 |
|
@@ -7099,6 +7123,9 @@ msgstr "Schakel speciale uren update uit"
|
|
7099 |
msgid "Please select a location"
|
7100 |
msgstr "Gelieve locatie te selecteren"
|
7101 |
|
|
|
|
|
|
|
7102 |
msgid "Locations"
|
7103 |
msgstr "Locaties"
|
7104 |
|
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-02-10 14:48+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-02-10 15:05+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Dutch\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
1411 |
msgid "Duplicate dates are not permitted."
|
1412 |
msgstr "Dubbele data zijn niet toegestaan."
|
1413 |
|
1414 |
+
msgid "Date in the past."
|
1415 |
+
msgstr "Datum in het verleden."
|
1416 |
+
|
1417 |
msgid "The requested interval is not available"
|
1418 |
msgstr "De gevraagde interval is niet beschikbaar"
|
1419 |
|
1644 |
msgid "API Transaction Key"
|
1645 |
msgstr "API Transactie Sleutel"
|
1646 |
|
1647 |
+
msgid "Title"
|
1648 |
+
msgstr "Titel"
|
1649 |
+
|
1650 |
+
msgid "Rate"
|
1651 |
+
msgstr "Tarief"
|
1652 |
+
|
1653 |
msgid "Taxes"
|
1654 |
msgstr "Belastingen"
|
1655 |
|
1673 |
msgid "Add Tax"
|
1674 |
msgstr "Belasting toevoegen"
|
1675 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1676 |
msgid "New tax"
|
1677 |
msgstr "Nieuwe belasting"
|
1678 |
|
2724 |
msgid "From"
|
2725 |
msgstr "Van"
|
2726 |
|
2727 |
+
msgid "No."
|
2728 |
+
msgstr "Nr."
|
2729 |
+
|
2730 |
+
msgid "Appointment date"
|
2731 |
+
msgstr "Afspraakdatum"
|
2732 |
+
|
2733 |
+
msgid "Customer name"
|
2734 |
+
msgstr "Naam klant"
|
2735 |
+
|
2736 |
+
msgid "Customer phone"
|
2737 |
+
msgstr "Telefoonnummer klant"
|
2738 |
+
|
2739 |
+
msgid "Customer email"
|
2740 |
+
msgstr "E-mailadres klant"
|
2741 |
+
|
2742 |
+
msgid "Created"
|
2743 |
+
msgstr "Aangemaakt"
|
2744 |
+
|
2745 |
+
msgid "User"
|
2746 |
+
msgstr "Gebruiker"
|
2747 |
+
|
2748 |
+
msgid "Last appointment"
|
2749 |
+
msgstr "Laatste afspraak"
|
2750 |
+
|
2751 |
+
msgid "Total appointments"
|
2752 |
+
msgstr "Totaal aantal afspraken"
|
2753 |
+
|
2754 |
+
msgid "Payments"
|
2755 |
+
msgstr "Betalingen"
|
2756 |
+
|
2757 |
+
msgid "Type"
|
2758 |
+
msgstr "Soort"
|
2759 |
+
|
2760 |
+
msgid "State"
|
2761 |
+
msgstr "Staat"
|
2762 |
+
|
2763 |
+
msgid "Customer"
|
2764 |
+
msgstr "Klant"
|
2765 |
+
|
2766 |
+
msgid "Amount"
|
2767 |
+
msgstr "Bedrag"
|
2768 |
+
|
2769 |
+
msgid "Text"
|
2770 |
+
msgstr "Tekst"
|
2771 |
+
|
2772 |
+
msgid "Sender ID"
|
2773 |
+
msgstr "Afzender ID"
|
2774 |
+
|
2775 |
+
msgid "Cost"
|
2776 |
+
msgstr "Kosten"
|
2777 |
+
|
2778 |
+
msgid "Flag"
|
2779 |
+
msgstr "Vlag"
|
2780 |
+
|
2781 |
+
msgid "Code"
|
2782 |
+
msgstr "Code"
|
2783 |
+
|
2784 |
+
msgid "Regular price"
|
2785 |
+
msgstr "Normale prijs"
|
2786 |
+
|
2787 |
+
msgid "Price with custom Sender ID"
|
2788 |
+
msgstr "Prijs met aangepaste Afzender ID"
|
2789 |
+
|
2790 |
+
msgid "Order"
|
2791 |
+
msgstr "Volgorde"
|
2792 |
+
|
2793 |
+
msgid "Requested ID"
|
2794 |
+
msgstr "Aangevraagde ID"
|
2795 |
+
|
2796 |
+
msgid "Status date"
|
2797 |
+
msgstr "Datum status"
|
2798 |
+
|
2799 |
msgid "Important"
|
2800 |
msgstr "Belangrijk"
|
2801 |
|
2942 |
msgid "Bookly SMS weekly summary"
|
2943 |
msgstr "Bookly SMS wekelijkse samenvatting"
|
2944 |
|
|
|
|
|
|
|
2945 |
msgid "Internal Notes"
|
2946 |
msgstr "Interne Notities"
|
2947 |
|
3073 |
msgid "Customers"
|
3074 |
msgstr "Klanten"
|
3075 |
|
|
|
|
|
|
|
3076 |
msgid "Appearance"
|
3077 |
msgstr "Weergave"
|
3078 |
|
3103 |
msgid "New appointment"
|
3104 |
msgstr "Nieuwe Afspraak"
|
3105 |
|
|
|
|
|
|
|
3106 |
msgid "Created at any time"
|
3107 |
msgstr "Aangemaakt op elk moment"
|
3108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3109 |
msgid "Any time"
|
3110 |
msgstr "Elk moment"
|
3111 |
|
3118 |
msgid "Searching"
|
3119 |
msgstr "Zoeken"
|
3120 |
|
3121 |
+
msgid "Attachments"
|
3122 |
+
msgstr "Bijlagen"
|
3123 |
+
|
3124 |
msgid "Archived"
|
3125 |
msgstr "Gearchiveerd"
|
3126 |
|
3166 |
msgid "Send weekly summary to administrators"
|
3167 |
msgstr "Stuur wekelijkse samenvatting naar beheerders"
|
3168 |
|
|
|
|
|
|
|
3169 |
msgid "Change"
|
3170 |
msgstr "Wijzigen"
|
3171 |
|
3267 |
msgid "Old password"
|
3268 |
msgstr "Oude wachtwoord"
|
3269 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3270 |
msgid ""
|
3271 |
"We will only charge your PayPal account when your balance falls below $10."
|
3272 |
msgstr ""
|
3279 |
msgid "Disable Auto-Recharge"
|
3280 |
msgstr "Uitschakelen Auto-Opladen"
|
3281 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3282 |
msgid ""
|
3283 |
"If you do not see your country in the list please contact us at <a "
|
3284 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3305 |
msgid "Quick search notifications"
|
3306 |
msgstr "Snelle zoek meldingen"
|
3307 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3308 |
#, php-format
|
3309 |
msgid ""
|
3310 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
3320 |
"Om geplande meldingen te verzenden, voer de volgende opdracht per uur uit "
|
3321 |
"met uw cron:"
|
3322 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3323 |
msgid ""
|
3324 |
"Please take into account that not all countries by law allow custom SMS "
|
3325 |
"sender ID. Please check if particular country supports custom sender ID in "
|
3347 |
msgid "Cancel request"
|
3348 |
msgstr "Annuleer verzoek"
|
3349 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3350 |
msgid "Please accept terms and conditions."
|
3351 |
msgstr "Accepteer alstublieft onze algemene voorwaarden."
|
3352 |
|
3390 |
msgid "disable"
|
3391 |
msgstr "uitschakelen"
|
3392 |
|
|
|
|
|
|
|
3393 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3394 |
msgstr "Auto-Opladen is mislukt, vult uw saldo direct aan."
|
3395 |
|
3406 |
msgid "SMS has been sent successfully."
|
3407 |
msgstr "SMS is met succes verstuurd."
|
3408 |
|
3409 |
+
msgid "Staff members order"
|
3410 |
+
msgstr "Volgorde medewerkers"
|
3411 |
+
|
3412 |
+
msgid "Add staff"
|
3413 |
+
msgstr "Voeg medewerker toe"
|
3414 |
+
|
3415 |
msgid "Quick search staff"
|
3416 |
msgstr "Snel doorzoeken personeel"
|
3417 |
|
3418 |
+
msgid "Categories"
|
3419 |
+
msgstr "Categorieën"
|
3420 |
+
|
3421 |
msgid "Show archived"
|
3422 |
msgstr "Toon gearchiveerde"
|
3423 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3424 |
msgid "Image"
|
3425 |
msgstr "Afbeelding"
|
3426 |
|
3742 |
"WooCommerce winkelwagen is niet ingesteld. Volg de <a href=\"%s\">link</a> "
|
3743 |
"om dit probleem te verhelpen."
|
3744 |
|
3745 |
+
msgid "Services order"
|
3746 |
+
msgstr "Bestelling diensten"
|
3747 |
|
3748 |
+
msgid "Add service"
|
3749 |
+
msgstr "Voeg dienst toe"
|
3750 |
|
3751 |
+
msgid "Quick search services"
|
3752 |
+
msgstr "Snel doorzoeken services"
|
3753 |
|
3754 |
msgid "Update service setting"
|
3755 |
msgstr "Dienst instellingen bijwerken"
|
4012 |
msgid "New customer"
|
4013 |
msgstr "Nieuwe klant"
|
4014 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4015 |
msgid "Merge with"
|
4016 |
msgstr "Samenvoegen met"
|
4017 |
|
4444 |
msgid "Days Off"
|
4445 |
msgstr "Vrije Dagen"
|
4446 |
|
4447 |
+
msgid "The date has already passed."
|
4448 |
+
msgstr "De datum is reeds voorbij."
|
4449 |
+
|
4450 |
msgid "Create staff"
|
4451 |
msgstr "Personeel aanmaken"
|
4452 |
|
4459 |
msgid "Error adding the break interval"
|
4460 |
msgstr "Fout bij toevoegen pauze-interval"
|
4461 |
|
4462 |
+
msgid "Adjust the order of staff members in your booking form"
|
4463 |
+
msgstr "Pas de volgorde van medewerkers in uw boekingsformulier aan"
|
4464 |
+
|
4465 |
msgid "Complete payment"
|
4466 |
msgstr "Volledige betaling"
|
4467 |
|
4623 |
msgid "Advanced"
|
4624 |
msgstr "Geavanceerd"
|
4625 |
|
4626 |
+
msgid "Adjust the order of services in your booking form"
|
4627 |
+
msgstr "Pas de volgorde van diensten in uw boekingsformulier aan"
|
4628 |
|
4629 |
msgid "Add category"
|
4630 |
msgstr "Voeg categorie toe"
|
4631 |
|
4632 |
+
msgid "Table settings"
|
4633 |
+
msgstr "Tabel instellingen"
|
4634 |
+
|
4635 |
+
msgid "Column"
|
4636 |
+
msgstr "Kolom"
|
4637 |
+
|
4638 |
msgid "Attach ICS file"
|
4639 |
msgstr "ICS bestand bijvoegen"
|
4640 |
|
5113 |
msgid "Notification about package deletion"
|
5114 |
msgstr "Melding over pakket verwijderen"
|
5115 |
|
5116 |
+
msgid "Creation date"
|
5117 |
+
msgstr "Aanmaakdatum"
|
5118 |
+
|
5119 |
msgid "Packages"
|
5120 |
msgstr "Pakketten"
|
5121 |
|
5140 |
msgid "New package"
|
5141 |
msgstr "Nieuw pakket"
|
5142 |
|
|
|
|
|
|
|
5143 |
msgid "Edit package"
|
5144 |
msgstr "Bewerk pakket"
|
5145 |
|
5232 |
msgid "A custom block for displaying packages list"
|
5233 |
msgstr "Een aangepast blok voor het weergeven van pakket lijst"
|
5234 |
|
5235 |
+
msgid "Creation Date"
|
5236 |
+
msgstr "Aanmaakdatum"
|
5237 |
+
|
5238 |
msgid "Expires"
|
5239 |
msgstr "Verloopt"
|
5240 |
|
6087 |
msgid "Show time zone switcher"
|
6088 |
msgstr "Toon tijdszone switcher"
|
6089 |
|
|
|
|
|
|
|
6090 |
msgid "Import"
|
6091 |
msgstr "Importeren"
|
6092 |
|
6105 |
msgid "Select file"
|
6106 |
msgstr "Selecteer bestand"
|
6107 |
|
6108 |
+
msgid "Date of birth"
|
6109 |
+
msgstr "Geboortedatum"
|
6110 |
+
|
6111 |
msgid "Analytics"
|
6112 |
msgstr "Analytics"
|
6113 |
|
6558 |
msgid "Coupon"
|
6559 |
msgstr "Kortingsbon"
|
6560 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6561 |
msgid "Discount (%)"
|
6562 |
msgstr "Korting (%)"
|
6563 |
|
6573 |
msgid "Number of times used"
|
6574 |
msgstr "Aantal keer gebruikt"
|
6575 |
|
6576 |
+
msgid "Active from"
|
6577 |
+
msgstr "Actief vanaf"
|
6578 |
+
|
6579 |
msgid "Active until"
|
6580 |
msgstr "Actief tot"
|
6581 |
|
6582 |
msgid "Min. appointments"
|
6583 |
msgstr "Min. afspraken"
|
6584 |
|
6585 |
+
msgid "Max. appointments"
|
6586 |
+
msgstr "Max. aantal afspraken"
|
6587 |
+
|
6588 |
+
msgid "Coupons"
|
6589 |
+
msgstr "Kortingsbonnen"
|
6590 |
|
6591 |
+
msgid "Add Coupon Series"
|
6592 |
+
msgstr "Voeg Kortingsbon Serie toe"
|
6593 |
+
|
6594 |
+
msgid "Add Coupon"
|
6595 |
+
msgstr "Kortingsbon toevoegen"
|
6596 |
+
|
6597 |
+
msgid "Coupon code"
|
6598 |
+
msgstr "Kortingscode"
|
6599 |
+
|
6600 |
+
msgid "Show only active"
|
6601 |
+
msgstr "Toon alleen actieve"
|
6602 |
|
6603 |
msgid "Export only active coupons"
|
6604 |
msgstr "Exporteer alleen actieve kortingsbonnen"
|
6712 |
msgid "This coupon code has expired"
|
6713 |
msgstr "Deze kortingsbon code is verlopen"
|
6714 |
|
6715 |
+
msgid "Group name"
|
|
|
|
|
|
|
|
|
|
|
|
|
6716 |
msgstr "Groepsnaam"
|
6717 |
|
6718 |
+
msgid "Number of users"
|
6719 |
+
msgstr "Aantal gebruikers"
|
6720 |
|
6721 |
msgid "Description"
|
6722 |
msgstr "Beschrijving"
|
6723 |
|
6724 |
+
msgid "Group"
|
6725 |
+
msgstr "Groep"
|
6726 |
+
|
6727 |
+
msgid "Customer Groups"
|
6728 |
+
msgstr "Klant Groepen"
|
6729 |
+
|
6730 |
+
msgid "New group"
|
6731 |
+
msgstr "Nieuwe groep"
|
6732 |
|
6733 |
msgid "Customers without group"
|
6734 |
msgstr "Klanten zonder groep"
|
6735 |
|
|
|
|
|
|
|
6736 |
msgid "New Group"
|
6737 |
msgstr "Nieuwe Groep"
|
6738 |
|
6760 |
msgid "No group"
|
6761 |
msgstr "Geen groep"
|
6762 |
|
|
|
|
|
|
|
6763 |
msgid "Total discount"
|
6764 |
msgstr "Totale korting"
|
6765 |
|
6927 |
msgid "waiting list of appointment"
|
6928 |
msgstr "wachtlijst van afspraken"
|
6929 |
|
|
|
|
|
|
|
6930 |
msgid "Show chain appointments"
|
6931 |
msgstr "Toon keten afspraken"
|
6932 |
|
7041 |
msgid "Show extras"
|
7042 |
msgstr "Toon extra's"
|
7043 |
|
7044 |
+
msgid "Extras tax"
|
7045 |
+
msgstr "Extra belasting"
|
7046 |
+
|
7047 |
msgid "Extras price"
|
7048 |
msgstr "Extra's prijs"
|
7049 |
|
7066 |
msgid "Waiting list"
|
7067 |
msgstr "Wachtlijst"
|
7068 |
|
7069 |
+
msgid "Free/Busy"
|
7070 |
+
msgstr "Vrij/Bezet"
|
7071 |
+
|
7072 |
msgid "Custom statuses"
|
7073 |
msgstr "Aangepaste statussen"
|
7074 |
|
7075 |
msgid "Add status"
|
7076 |
msgstr "Voeg status toe"
|
7077 |
|
|
|
|
|
|
|
7078 |
msgid "New Status"
|
7079 |
msgstr "Nieuwe Status"
|
7080 |
|
7123 |
msgid "Please select a location"
|
7124 |
msgstr "Gelieve locatie te selecteren"
|
7125 |
|
7126 |
+
msgid "Staff members"
|
7127 |
+
msgstr "Medewerkers"
|
7128 |
+
|
7129 |
msgid "Locations"
|
7130 |
msgstr "Locaties"
|
7131 |
|
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:
|
12 |
-
"PO-Revision-Date:
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Portuguese (Brazil)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1415,6 +1415,9 @@ msgstr "Tem a certeza?"
|
|
1415 |
msgid "Duplicate dates are not permitted."
|
1416 |
msgstr "Datas duplicadas não são permitidas."
|
1417 |
|
|
|
|
|
|
|
1418 |
msgid "The requested interval is not available"
|
1419 |
msgstr "O intervalo solicitado não está disponível"
|
1420 |
|
@@ -1640,6 +1643,12 @@ msgstr "ID de Login do API"
|
|
1640 |
msgid "API Transaction Key"
|
1641 |
msgstr "Chave de transação do API"
|
1642 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1643 |
msgid "Taxes"
|
1644 |
msgstr "Tributações"
|
1645 |
|
@@ -1663,12 +1672,6 @@ msgstr "Excluir tributações"
|
|
1663 |
msgid "Add Tax"
|
1664 |
msgstr "Adicionar tributação"
|
1665 |
|
1666 |
-
msgid "Title"
|
1667 |
-
msgstr "Título"
|
1668 |
-
|
1669 |
-
msgid "Rate"
|
1670 |
-
msgstr "Taxa"
|
1671 |
-
|
1672 |
msgid "New tax"
|
1673 |
msgstr "Nova tributação"
|
1674 |
|
@@ -2729,6 +2732,78 @@ msgstr "Até"
|
|
2729 |
msgid "From"
|
2730 |
msgstr "De"
|
2731 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2732 |
msgid "Important"
|
2733 |
msgstr "Importante"
|
2734 |
|
@@ -2873,9 +2948,6 @@ msgstr "menos"
|
|
2873 |
msgid "Bookly SMS weekly summary"
|
2874 |
msgstr "Resumo semanal do Bookly SMS "
|
2875 |
|
2876 |
-
msgid "Customer"
|
2877 |
-
msgstr "Cliente"
|
2878 |
-
|
2879 |
msgid "Internal Notes"
|
2880 |
msgstr "Observações internas"
|
2881 |
|
@@ -3008,9 +3080,6 @@ msgstr "Notificações de e-mail"
|
|
3008 |
msgid "Customers"
|
3009 |
msgstr "Clientes"
|
3010 |
|
3011 |
-
msgid "Payments"
|
3012 |
-
msgstr "Pagamentos"
|
3013 |
-
|
3014 |
msgid "Appearance"
|
3015 |
msgstr "Aparência"
|
3016 |
|
@@ -3041,21 +3110,9 @@ msgstr "Anterior"
|
|
3041 |
msgid "New appointment"
|
3042 |
msgstr "Novo compromisso"
|
3043 |
|
3044 |
-
msgid "No."
|
3045 |
-
msgstr "Núm."
|
3046 |
-
|
3047 |
msgid "Created at any time"
|
3048 |
msgstr "Criado em qualquer data"
|
3049 |
|
3050 |
-
msgid "Appointment Date"
|
3051 |
-
msgstr "Data do compromisso"
|
3052 |
-
|
3053 |
-
msgid "Created"
|
3054 |
-
msgstr "Criado"
|
3055 |
-
|
3056 |
-
msgid "Attachments"
|
3057 |
-
msgstr "Anexos"
|
3058 |
-
|
3059 |
msgid "Any time"
|
3060 |
msgstr "Qualquer data"
|
3061 |
|
@@ -3068,6 +3125,9 @@ msgstr "Nenhum resultado encontrado"
|
|
3068 |
msgid "Searching"
|
3069 |
msgstr "Procurando"
|
3070 |
|
|
|
|
|
|
|
3071 |
msgid "Archived"
|
3072 |
msgstr "Arquivado"
|
3073 |
|
@@ -3113,9 +3173,6 @@ msgstr "Enviar notificação por email para os administradores com saldo baixo"
|
|
3113 |
msgid "Send weekly summary to administrators"
|
3114 |
msgstr "Enviar resumo semanal para os administradores"
|
3115 |
|
3116 |
-
msgid "Sender ID"
|
3117 |
-
msgstr "ID do remetente"
|
3118 |
-
|
3119 |
msgid "Change"
|
3120 |
msgstr "Alterar"
|
3121 |
|
@@ -3216,15 +3273,6 @@ msgstr "Alterar a senha"
|
|
3216 |
msgid "Old password"
|
3217 |
msgstr "Senha antiga"
|
3218 |
|
3219 |
-
msgid "Type"
|
3220 |
-
msgstr "Tipo"
|
3221 |
-
|
3222 |
-
msgid "Order"
|
3223 |
-
msgstr "Pedido"
|
3224 |
-
|
3225 |
-
msgid "Amount"
|
3226 |
-
msgstr "Montante"
|
3227 |
-
|
3228 |
msgid ""
|
3229 |
"We will only charge your PayPal account when your balance falls below $10."
|
3230 |
msgstr ""
|
@@ -3236,15 +3284,6 @@ msgstr "Ativar Auto-Recharge"
|
|
3236 |
msgid "Disable Auto-Recharge"
|
3237 |
msgstr "Desativar Auto-Recharge"
|
3238 |
|
3239 |
-
msgid "Code"
|
3240 |
-
msgstr "Código"
|
3241 |
-
|
3242 |
-
msgid "Regular price"
|
3243 |
-
msgstr "Preço regular"
|
3244 |
-
|
3245 |
-
msgid "Price with custom Sender ID"
|
3246 |
-
msgstr "Preço com ID do remetente personalizada"
|
3247 |
-
|
3248 |
msgid ""
|
3249 |
"If you do not see your country in the list please contact us at <a "
|
3250 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3271,12 +3310,6 @@ msgstr "Guardar telefone do administrador"
|
|
3271 |
msgid "Quick search notifications"
|
3272 |
msgstr "Notificações de pesquisa rápida"
|
3273 |
|
3274 |
-
msgid "State"
|
3275 |
-
msgstr "Estatuto"
|
3276 |
-
|
3277 |
-
msgid "Delete..."
|
3278 |
-
msgstr "Deletando..."
|
3279 |
-
|
3280 |
#, php-format
|
3281 |
msgid ""
|
3282 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
@@ -3292,12 +3325,6 @@ msgstr ""
|
|
3292 |
"Para enviar notificações agendadas, por favor, execute o seguinte comando de "
|
3293 |
"hora em hora com o seu cron:"
|
3294 |
|
3295 |
-
msgid "Text"
|
3296 |
-
msgstr "Texto"
|
3297 |
-
|
3298 |
-
msgid "Cost"
|
3299 |
-
msgstr "Custo"
|
3300 |
-
|
3301 |
msgid ""
|
3302 |
"Please take into account that not all countries by law allow custom SMS "
|
3303 |
"sender ID. Please check if particular country supports custom sender ID in "
|
@@ -3326,12 +3353,6 @@ msgstr "Solicitar"
|
|
3326 |
msgid "Cancel request"
|
3327 |
msgstr "Cancelar solicitação"
|
3328 |
|
3329 |
-
msgid "Requested ID"
|
3330 |
-
msgstr "ID solicitada"
|
3331 |
-
|
3332 |
-
msgid "Status Date"
|
3333 |
-
msgstr "Status da data"
|
3334 |
-
|
3335 |
msgid "Please accept terms and conditions."
|
3336 |
msgstr "Por favor, aceite os termos e condições."
|
3337 |
|
@@ -3375,9 +3396,6 @@ msgstr "ativar"
|
|
3375 |
msgid "disable"
|
3376 |
msgstr "desativar"
|
3377 |
|
3378 |
-
msgid "Edit..."
|
3379 |
-
msgstr "Editar..."
|
3380 |
-
|
3381 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3382 |
msgstr "O Auto-Recharge falhou. Por favor, recarregue o seu saldo diretamente."
|
3383 |
|
@@ -3394,18 +3412,21 @@ msgstr ""
|
|
3394 |
msgid "SMS has been sent successfully."
|
3395 |
msgstr "SMS foi enviada com sucesso."
|
3396 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3397 |
msgid "Quick search staff"
|
3398 |
msgstr "Pesquisa rápida equipe"
|
3399 |
|
|
|
|
|
|
|
3400 |
msgid "Show archived"
|
3401 |
msgstr "Mostrar arquivados"
|
3402 |
|
3403 |
-
msgid "Add staff..."
|
3404 |
-
msgstr "Adicionar funcionário"
|
3405 |
-
|
3406 |
-
msgid "User"
|
3407 |
-
msgstr "Usuário"
|
3408 |
-
|
3409 |
msgid "Image"
|
3410 |
msgstr "Imagem"
|
3411 |
|
@@ -3729,15 +3750,15 @@ msgstr ""
|
|
3729 |
"O carrinho do WooCommerce não está configurado. Siga o <a href=\"%s\">"
|
3730 |
"link</a> para corrigir esse problema."
|
3731 |
|
3732 |
-
msgid "
|
3733 |
-
msgstr "
|
3734 |
-
|
3735 |
-
msgid "Categories..."
|
3736 |
-
msgstr "Categorias..."
|
3737 |
|
3738 |
-
msgid "Add service
|
3739 |
msgstr "Adicionar serviço"
|
3740 |
|
|
|
|
|
|
|
3741 |
msgid "Update service setting"
|
3742 |
msgstr "Atualizar uma definição de serviço"
|
3743 |
|
@@ -4002,12 +4023,6 @@ msgstr "Pesquisa rápida de cliente"
|
|
4002 |
msgid "New customer"
|
4003 |
msgstr "Novo cliente"
|
4004 |
|
4005 |
-
msgid "Last appointment"
|
4006 |
-
msgstr "Último compromisso"
|
4007 |
-
|
4008 |
-
msgid "Total appointments"
|
4009 |
-
msgstr "Total de compromissos"
|
4010 |
-
|
4011 |
msgid "Merge with"
|
4012 |
msgstr "Mesclar com"
|
4013 |
|
@@ -4441,6 +4456,9 @@ msgstr "Adicionar Serviço"
|
|
4441 |
msgid "Days Off"
|
4442 |
msgstr "Dias de folga"
|
4443 |
|
|
|
|
|
|
|
4444 |
msgid "Create staff"
|
4445 |
msgstr "Criar equipe"
|
4446 |
|
@@ -4453,6 +4471,9 @@ msgstr "O horário inicial precisa ser inferior ao horário final"
|
|
4453 |
msgid "Error adding the break interval"
|
4454 |
msgstr "Erro ao adicionar o intervalo da folga"
|
4455 |
|
|
|
|
|
|
|
4456 |
msgid "Complete payment"
|
4457 |
msgstr "Completar o pagamento"
|
4458 |
|
@@ -4614,12 +4635,18 @@ msgstr "Editar serviço"
|
|
4614 |
msgid "Advanced"
|
4615 |
msgstr "Avançado"
|
4616 |
|
4617 |
-
msgid "
|
4618 |
-
msgstr "
|
4619 |
|
4620 |
msgid "Add category"
|
4621 |
msgstr "Adicionar categoria"
|
4622 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4623 |
msgid "Attach ICS file"
|
4624 |
msgstr "Anexar arquivo ICS"
|
4625 |
|
@@ -5097,6 +5124,9 @@ msgstr "Notificação sobre a criação de novo pacote"
|
|
5097 |
msgid "Notification about package deletion"
|
5098 |
msgstr "Notificação sobre exclusão de pacotes"
|
5099 |
|
|
|
|
|
|
|
5100 |
msgid "Packages"
|
5101 |
msgstr "Pacotes"
|
5102 |
|
@@ -5120,9 +5150,6 @@ msgstr "Período em dias que o cliente pode usar um pacote de serviços."
|
|
5120 |
msgid "New package"
|
5121 |
msgstr "Novo pacote"
|
5122 |
|
5123 |
-
msgid "Creation Date"
|
5124 |
-
msgstr "Data de criação"
|
5125 |
-
|
5126 |
msgid "Edit package"
|
5127 |
msgstr "Editar pacote"
|
5128 |
|
@@ -5215,6 +5242,9 @@ msgstr "Lista de pacotes"
|
|
5215 |
msgid "A custom block for displaying packages list"
|
5216 |
msgstr "Bloco personalizado para exibição da lista de pacotes"
|
5217 |
|
|
|
|
|
|
|
5218 |
msgid "Expires"
|
5219 |
msgstr "Expira"
|
5220 |
|
@@ -6072,9 +6102,6 @@ msgstr "Exibir o botão para entrar no Facebook"
|
|
6072 |
msgid "Show time zone switcher"
|
6073 |
msgstr "Mostra o seletor de fuso horário"
|
6074 |
|
6075 |
-
msgid "Date of birth"
|
6076 |
-
msgstr "Data de nascimento"
|
6077 |
-
|
6078 |
msgid "Import"
|
6079 |
msgstr "Importar"
|
6080 |
|
@@ -6093,6 +6120,9 @@ msgstr ""
|
|
6093 |
msgid "Select file"
|
6094 |
msgstr "Selecionar o ficheiro"
|
6095 |
|
|
|
|
|
|
|
6096 |
msgid "Analytics"
|
6097 |
msgstr "Analíticos"
|
6098 |
|
@@ -6546,21 +6576,6 @@ msgstr ""
|
|
6546 |
msgid "Coupon"
|
6547 |
msgstr "Cupom"
|
6548 |
|
6549 |
-
msgid "Coupons"
|
6550 |
-
msgstr "Cupons"
|
6551 |
-
|
6552 |
-
msgid "Add Coupon Series"
|
6553 |
-
msgstr "Adiciona série de cupons"
|
6554 |
-
|
6555 |
-
msgid "Add Coupon"
|
6556 |
-
msgstr "Adicionar cupom"
|
6557 |
-
|
6558 |
-
msgid "Coupon code"
|
6559 |
-
msgstr "Código de cupom"
|
6560 |
-
|
6561 |
-
msgid "Show only active"
|
6562 |
-
msgstr "Mostrar somente o ativo"
|
6563 |
-
|
6564 |
msgid "Discount (%)"
|
6565 |
msgstr "Desconto (%)"
|
6566 |
|
@@ -6576,17 +6591,32 @@ msgstr "Limite de uso"
|
|
6576 |
msgid "Number of times used"
|
6577 |
msgstr "Número de vezes usado"
|
6578 |
|
|
|
|
|
|
|
6579 |
msgid "Active until"
|
6580 |
msgstr "Ativo até"
|
6581 |
|
6582 |
msgid "Min. appointments"
|
6583 |
msgstr "Min. de compromissos"
|
6584 |
|
6585 |
-
msgid "
|
6586 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6587 |
|
6588 |
-
msgid "
|
6589 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6590 |
|
6591 |
msgid "Export only active coupons"
|
6592 |
msgstr "Exportar somente cupons ativos"
|
@@ -6699,30 +6729,27 @@ msgstr "Este código de cupom é inválido ou foi usado"
|
|
6699 |
msgid "This coupon code has expired"
|
6700 |
msgstr "Este código de cupom expirou."
|
6701 |
|
6702 |
-
msgid "
|
6703 |
-
msgstr "Grupos de clientes"
|
6704 |
-
|
6705 |
-
msgid "New group"
|
6706 |
-
msgstr "Novo grupo"
|
6707 |
-
|
6708 |
-
msgid "Group Name"
|
6709 |
msgstr "Nome do grupo"
|
6710 |
|
6711 |
-
msgid "Number of
|
6712 |
-
msgstr "
|
6713 |
|
6714 |
msgid "Description"
|
6715 |
msgstr "Descrição"
|
6716 |
|
6717 |
-
msgid "
|
6718 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6719 |
|
6720 |
msgid "Customers without group"
|
6721 |
msgstr "Clientes sem grupo"
|
6722 |
|
6723 |
-
msgid "Group"
|
6724 |
-
msgstr "Grupo"
|
6725 |
-
|
6726 |
msgid "New Group"
|
6727 |
msgstr "Novo grupo"
|
6728 |
|
@@ -6750,9 +6777,6 @@ msgstr "Grupo de clientes"
|
|
6750 |
msgid "No group"
|
6751 |
msgstr "Nenhum grupo"
|
6752 |
|
6753 |
-
msgid "Group name"
|
6754 |
-
msgstr "Nome do grupo"
|
6755 |
-
|
6756 |
msgid "Total discount"
|
6757 |
msgstr "Total de desconto"
|
6758 |
|
@@ -6918,9 +6942,6 @@ msgstr "Exibir espaços da lista de espera"
|
|
6918 |
msgid "waiting list of appointment"
|
6919 |
msgstr "lista de espera para um compromisso"
|
6920 |
|
6921 |
-
msgid "Add service"
|
6922 |
-
msgstr "Adicionar serviço"
|
6923 |
-
|
6924 |
msgid "Show chain appointments"
|
6925 |
msgstr "Exibir reservas encadeadas"
|
6926 |
|
@@ -7036,6 +7057,9 @@ msgstr "Exibir o passo Extras"
|
|
7036 |
msgid "Show extras"
|
7037 |
msgstr "Exibir extras"
|
7038 |
|
|
|
|
|
|
|
7039 |
msgid "Extras price"
|
7040 |
msgstr "Preço dos extras"
|
7041 |
|
@@ -7059,15 +7083,15 @@ msgstr "Tributação total"
|
|
7059 |
msgid "Waiting list"
|
7060 |
msgstr "Lista de espera"
|
7061 |
|
|
|
|
|
|
|
7062 |
msgid "Custom statuses"
|
7063 |
msgstr "Status de cliente"
|
7064 |
|
7065 |
msgid "Add status"
|
7066 |
msgstr "Adicionar status"
|
7067 |
|
7068 |
-
msgid "Free/Busy"
|
7069 |
-
msgstr "Livre/Ocupado"
|
7070 |
-
|
7071 |
msgid "New Status"
|
7072 |
msgstr "Novo Status"
|
7073 |
|
@@ -7115,6 +7139,9 @@ msgstr "Desativar atualização das horas especiais"
|
|
7115 |
msgid "Please select a location"
|
7116 |
msgstr "Por favor, selecione um local"
|
7117 |
|
|
|
|
|
|
|
7118 |
msgid "Locations"
|
7119 |
msgstr "Locais"
|
7120 |
|
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-02-10 08:53+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-02-11 12:49+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"
|
1415 |
msgid "Duplicate dates are not permitted."
|
1416 |
msgstr "Datas duplicadas não são permitidas."
|
1417 |
|
1418 |
+
msgid "Date in the past."
|
1419 |
+
msgstr "Data no passado."
|
1420 |
+
|
1421 |
msgid "The requested interval is not available"
|
1422 |
msgstr "O intervalo solicitado não está disponível"
|
1423 |
|
1643 |
msgid "API Transaction Key"
|
1644 |
msgstr "Chave de transação do API"
|
1645 |
|
1646 |
+
msgid "Title"
|
1647 |
+
msgstr "Título"
|
1648 |
+
|
1649 |
+
msgid "Rate"
|
1650 |
+
msgstr "Taxa"
|
1651 |
+
|
1652 |
msgid "Taxes"
|
1653 |
msgstr "Tributações"
|
1654 |
|
1672 |
msgid "Add Tax"
|
1673 |
msgstr "Adicionar tributação"
|
1674 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1675 |
msgid "New tax"
|
1676 |
msgstr "Nova tributação"
|
1677 |
|
2732 |
msgid "From"
|
2733 |
msgstr "De"
|
2734 |
|
2735 |
+
msgid "No."
|
2736 |
+
msgstr "Núm."
|
2737 |
+
|
2738 |
+
msgid "Appointment date"
|
2739 |
+
msgstr "Data do compromisso"
|
2740 |
+
|
2741 |
+
msgid "Customer name"
|
2742 |
+
msgstr "Nome do Cliente"
|
2743 |
+
|
2744 |
+
msgid "Customer phone"
|
2745 |
+
msgstr "Telefone do Cliente"
|
2746 |
+
|
2747 |
+
msgid "Customer email"
|
2748 |
+
msgstr "Email do Cliente"
|
2749 |
+
|
2750 |
+
msgid "Created"
|
2751 |
+
msgstr "Criado"
|
2752 |
+
|
2753 |
+
msgid "User"
|
2754 |
+
msgstr "Usuário"
|
2755 |
+
|
2756 |
+
msgid "Last appointment"
|
2757 |
+
msgstr "Último compromisso"
|
2758 |
+
|
2759 |
+
msgid "Total appointments"
|
2760 |
+
msgstr "Total de compromissos"
|
2761 |
+
|
2762 |
+
msgid "Payments"
|
2763 |
+
msgstr "Pagamentos"
|
2764 |
+
|
2765 |
+
msgid "Type"
|
2766 |
+
msgstr "Tipo"
|
2767 |
+
|
2768 |
+
msgid "State"
|
2769 |
+
msgstr "Estatuto"
|
2770 |
+
|
2771 |
+
msgid "Customer"
|
2772 |
+
msgstr "Cliente"
|
2773 |
+
|
2774 |
+
msgid "Amount"
|
2775 |
+
msgstr "Montante"
|
2776 |
+
|
2777 |
+
msgid "Text"
|
2778 |
+
msgstr "Texto"
|
2779 |
+
|
2780 |
+
msgid "Sender ID"
|
2781 |
+
msgstr "ID do remetente"
|
2782 |
+
|
2783 |
+
msgid "Cost"
|
2784 |
+
msgstr "Custo"
|
2785 |
+
|
2786 |
+
msgid "Flag"
|
2787 |
+
msgstr "Flag"
|
2788 |
+
|
2789 |
+
msgid "Code"
|
2790 |
+
msgstr "Código"
|
2791 |
+
|
2792 |
+
msgid "Regular price"
|
2793 |
+
msgstr "Preço regular"
|
2794 |
+
|
2795 |
+
msgid "Price with custom Sender ID"
|
2796 |
+
msgstr "Preço com ID do remetente personalizada"
|
2797 |
+
|
2798 |
+
msgid "Order"
|
2799 |
+
msgstr "Pedido"
|
2800 |
+
|
2801 |
+
msgid "Requested ID"
|
2802 |
+
msgstr "ID solicitada"
|
2803 |
+
|
2804 |
+
msgid "Status date"
|
2805 |
+
msgstr "Data do status"
|
2806 |
+
|
2807 |
msgid "Important"
|
2808 |
msgstr "Importante"
|
2809 |
|
2948 |
msgid "Bookly SMS weekly summary"
|
2949 |
msgstr "Resumo semanal do Bookly SMS "
|
2950 |
|
|
|
|
|
|
|
2951 |
msgid "Internal Notes"
|
2952 |
msgstr "Observações internas"
|
2953 |
|
3080 |
msgid "Customers"
|
3081 |
msgstr "Clientes"
|
3082 |
|
|
|
|
|
|
|
3083 |
msgid "Appearance"
|
3084 |
msgstr "Aparência"
|
3085 |
|
3110 |
msgid "New appointment"
|
3111 |
msgstr "Novo compromisso"
|
3112 |
|
|
|
|
|
|
|
3113 |
msgid "Created at any time"
|
3114 |
msgstr "Criado em qualquer data"
|
3115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3116 |
msgid "Any time"
|
3117 |
msgstr "Qualquer data"
|
3118 |
|
3125 |
msgid "Searching"
|
3126 |
msgstr "Procurando"
|
3127 |
|
3128 |
+
msgid "Attachments"
|
3129 |
+
msgstr "Anexos"
|
3130 |
+
|
3131 |
msgid "Archived"
|
3132 |
msgstr "Arquivado"
|
3133 |
|
3173 |
msgid "Send weekly summary to administrators"
|
3174 |
msgstr "Enviar resumo semanal para os administradores"
|
3175 |
|
|
|
|
|
|
|
3176 |
msgid "Change"
|
3177 |
msgstr "Alterar"
|
3178 |
|
3273 |
msgid "Old password"
|
3274 |
msgstr "Senha antiga"
|
3275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3276 |
msgid ""
|
3277 |
"We will only charge your PayPal account when your balance falls below $10."
|
3278 |
msgstr ""
|
3284 |
msgid "Disable Auto-Recharge"
|
3285 |
msgstr "Desativar Auto-Recharge"
|
3286 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3287 |
msgid ""
|
3288 |
"If you do not see your country in the list please contact us at <a "
|
3289 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3310 |
msgid "Quick search notifications"
|
3311 |
msgstr "Notificações de pesquisa rápida"
|
3312 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3313 |
#, php-format
|
3314 |
msgid ""
|
3315 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
3325 |
"Para enviar notificações agendadas, por favor, execute o seguinte comando de "
|
3326 |
"hora em hora com o seu cron:"
|
3327 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3328 |
msgid ""
|
3329 |
"Please take into account that not all countries by law allow custom SMS "
|
3330 |
"sender ID. Please check if particular country supports custom sender ID in "
|
3353 |
msgid "Cancel request"
|
3354 |
msgstr "Cancelar solicitação"
|
3355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3356 |
msgid "Please accept terms and conditions."
|
3357 |
msgstr "Por favor, aceite os termos e condições."
|
3358 |
|
3396 |
msgid "disable"
|
3397 |
msgstr "desativar"
|
3398 |
|
|
|
|
|
|
|
3399 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3400 |
msgstr "O Auto-Recharge falhou. Por favor, recarregue o seu saldo diretamente."
|
3401 |
|
3412 |
msgid "SMS has been sent successfully."
|
3413 |
msgstr "SMS foi enviada com sucesso."
|
3414 |
|
3415 |
+
msgid "Staff members order"
|
3416 |
+
msgstr "Ordem dos funcionários"
|
3417 |
+
|
3418 |
+
msgid "Add staff"
|
3419 |
+
msgstr "Adicionar Equipe"
|
3420 |
+
|
3421 |
msgid "Quick search staff"
|
3422 |
msgstr "Pesquisa rápida equipe"
|
3423 |
|
3424 |
+
msgid "Categories"
|
3425 |
+
msgstr "Categorias"
|
3426 |
+
|
3427 |
msgid "Show archived"
|
3428 |
msgstr "Mostrar arquivados"
|
3429 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3430 |
msgid "Image"
|
3431 |
msgstr "Imagem"
|
3432 |
|
3750 |
"O carrinho do WooCommerce não está configurado. Siga o <a href=\"%s\">"
|
3751 |
"link</a> para corrigir esse problema."
|
3752 |
|
3753 |
+
msgid "Services order"
|
3754 |
+
msgstr "Ordem dos serviços"
|
|
|
|
|
|
|
3755 |
|
3756 |
+
msgid "Add service"
|
3757 |
msgstr "Adicionar serviço"
|
3758 |
|
3759 |
+
msgid "Quick search services"
|
3760 |
+
msgstr "Pesquisa rápida serviços"
|
3761 |
+
|
3762 |
msgid "Update service setting"
|
3763 |
msgstr "Atualizar uma definição de serviço"
|
3764 |
|
4023 |
msgid "New customer"
|
4024 |
msgstr "Novo cliente"
|
4025 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4026 |
msgid "Merge with"
|
4027 |
msgstr "Mesclar com"
|
4028 |
|
4456 |
msgid "Days Off"
|
4457 |
msgstr "Dias de folga"
|
4458 |
|
4459 |
+
msgid "The date has already passed."
|
4460 |
+
msgstr "A data já passou."
|
4461 |
+
|
4462 |
msgid "Create staff"
|
4463 |
msgstr "Criar equipe"
|
4464 |
|
4471 |
msgid "Error adding the break interval"
|
4472 |
msgstr "Erro ao adicionar o intervalo da folga"
|
4473 |
|
4474 |
+
msgid "Adjust the order of staff members in your booking form"
|
4475 |
+
msgstr "Definir a ordem dos funcionários em seu formulário de reservas"
|
4476 |
+
|
4477 |
msgid "Complete payment"
|
4478 |
msgstr "Completar o pagamento"
|
4479 |
|
4635 |
msgid "Advanced"
|
4636 |
msgstr "Avançado"
|
4637 |
|
4638 |
+
msgid "Adjust the order of services in your booking form"
|
4639 |
+
msgstr "Definir a ordem dos serviços no formulário de reservas"
|
4640 |
|
4641 |
msgid "Add category"
|
4642 |
msgstr "Adicionar categoria"
|
4643 |
|
4644 |
+
msgid "Table settings"
|
4645 |
+
msgstr "Configurações da tabela"
|
4646 |
+
|
4647 |
+
msgid "Column"
|
4648 |
+
msgstr "Coluna"
|
4649 |
+
|
4650 |
msgid "Attach ICS file"
|
4651 |
msgstr "Anexar arquivo ICS"
|
4652 |
|
5124 |
msgid "Notification about package deletion"
|
5125 |
msgstr "Notificação sobre exclusão de pacotes"
|
5126 |
|
5127 |
+
msgid "Creation date"
|
5128 |
+
msgstr "Data de criação"
|
5129 |
+
|
5130 |
msgid "Packages"
|
5131 |
msgstr "Pacotes"
|
5132 |
|
5150 |
msgid "New package"
|
5151 |
msgstr "Novo pacote"
|
5152 |
|
|
|
|
|
|
|
5153 |
msgid "Edit package"
|
5154 |
msgstr "Editar pacote"
|
5155 |
|
5242 |
msgid "A custom block for displaying packages list"
|
5243 |
msgstr "Bloco personalizado para exibição da lista de pacotes"
|
5244 |
|
5245 |
+
msgid "Creation Date"
|
5246 |
+
msgstr "Data de criação"
|
5247 |
+
|
5248 |
msgid "Expires"
|
5249 |
msgstr "Expira"
|
5250 |
|
6102 |
msgid "Show time zone switcher"
|
6103 |
msgstr "Mostra o seletor de fuso horário"
|
6104 |
|
|
|
|
|
|
|
6105 |
msgid "Import"
|
6106 |
msgstr "Importar"
|
6107 |
|
6120 |
msgid "Select file"
|
6121 |
msgstr "Selecionar o ficheiro"
|
6122 |
|
6123 |
+
msgid "Date of birth"
|
6124 |
+
msgstr "Data de nascimento"
|
6125 |
+
|
6126 |
msgid "Analytics"
|
6127 |
msgstr "Analíticos"
|
6128 |
|
6576 |
msgid "Coupon"
|
6577 |
msgstr "Cupom"
|
6578 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6579 |
msgid "Discount (%)"
|
6580 |
msgstr "Desconto (%)"
|
6581 |
|
6591 |
msgid "Number of times used"
|
6592 |
msgstr "Número de vezes usado"
|
6593 |
|
6594 |
+
msgid "Active from"
|
6595 |
+
msgstr "Ativo desde"
|
6596 |
+
|
6597 |
msgid "Active until"
|
6598 |
msgstr "Ativo até"
|
6599 |
|
6600 |
msgid "Min. appointments"
|
6601 |
msgstr "Min. de compromissos"
|
6602 |
|
6603 |
+
msgid "Max. appointments"
|
6604 |
+
msgstr "Compromissos max."
|
6605 |
+
|
6606 |
+
msgid "Coupons"
|
6607 |
+
msgstr "Cupons"
|
6608 |
+
|
6609 |
+
msgid "Add Coupon Series"
|
6610 |
+
msgstr "Adiciona série de cupons"
|
6611 |
|
6612 |
+
msgid "Add Coupon"
|
6613 |
+
msgstr "Adicionar cupom"
|
6614 |
+
|
6615 |
+
msgid "Coupon code"
|
6616 |
+
msgstr "Código de cupom"
|
6617 |
+
|
6618 |
+
msgid "Show only active"
|
6619 |
+
msgstr "Mostrar somente o ativo"
|
6620 |
|
6621 |
msgid "Export only active coupons"
|
6622 |
msgstr "Exportar somente cupons ativos"
|
6729 |
msgid "This coupon code has expired"
|
6730 |
msgstr "Este código de cupom expirou."
|
6731 |
|
6732 |
+
msgid "Group name"
|
|
|
|
|
|
|
|
|
|
|
|
|
6733 |
msgstr "Nome do grupo"
|
6734 |
|
6735 |
+
msgid "Number of users"
|
6736 |
+
msgstr "Numero de usuários"
|
6737 |
|
6738 |
msgid "Description"
|
6739 |
msgstr "Descrição"
|
6740 |
|
6741 |
+
msgid "Group"
|
6742 |
+
msgstr "Grupo"
|
6743 |
+
|
6744 |
+
msgid "Customer Groups"
|
6745 |
+
msgstr "Grupos de clientes"
|
6746 |
+
|
6747 |
+
msgid "New group"
|
6748 |
+
msgstr "Novo grupo"
|
6749 |
|
6750 |
msgid "Customers without group"
|
6751 |
msgstr "Clientes sem grupo"
|
6752 |
|
|
|
|
|
|
|
6753 |
msgid "New Group"
|
6754 |
msgstr "Novo grupo"
|
6755 |
|
6777 |
msgid "No group"
|
6778 |
msgstr "Nenhum grupo"
|
6779 |
|
|
|
|
|
|
|
6780 |
msgid "Total discount"
|
6781 |
msgstr "Total de desconto"
|
6782 |
|
6942 |
msgid "waiting list of appointment"
|
6943 |
msgstr "lista de espera para um compromisso"
|
6944 |
|
|
|
|
|
|
|
6945 |
msgid "Show chain appointments"
|
6946 |
msgstr "Exibir reservas encadeadas"
|
6947 |
|
7057 |
msgid "Show extras"
|
7058 |
msgstr "Exibir extras"
|
7059 |
|
7060 |
+
msgid "Extras tax"
|
7061 |
+
msgstr "Taxa extra"
|
7062 |
+
|
7063 |
msgid "Extras price"
|
7064 |
msgstr "Preço dos extras"
|
7065 |
|
7083 |
msgid "Waiting list"
|
7084 |
msgstr "Lista de espera"
|
7085 |
|
7086 |
+
msgid "Free/Busy"
|
7087 |
+
msgstr "Livre/Ocupado"
|
7088 |
+
|
7089 |
msgid "Custom statuses"
|
7090 |
msgstr "Status de cliente"
|
7091 |
|
7092 |
msgid "Add status"
|
7093 |
msgstr "Adicionar status"
|
7094 |
|
|
|
|
|
|
|
7095 |
msgid "New Status"
|
7096 |
msgstr "Novo Status"
|
7097 |
|
7139 |
msgid "Please select a location"
|
7140 |
msgstr "Por favor, selecione um local"
|
7141 |
|
7142 |
+
msgid "Staff members"
|
7143 |
+
msgstr "Funcionários da equipe"
|
7144 |
+
|
7145 |
msgid "Locations"
|
7146 |
msgstr "Locais"
|
7147 |
|
languages/bookly-pt_PT.mo
CHANGED
Binary file
|
languages/bookly-pt_PT.po
CHANGED
@@ -8,8 +8,8 @@ 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:
|
12 |
-
"PO-Revision-Date:
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Portuguese (Portugal)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1415,6 +1415,9 @@ msgstr "Tem a certeza?"
|
|
1415 |
msgid "Duplicate dates are not permitted."
|
1416 |
msgstr "Datas duplicadas não são permitidas."
|
1417 |
|
|
|
|
|
|
|
1418 |
msgid "The requested interval is not available"
|
1419 |
msgstr "O intervalo solicitado não está disponível"
|
1420 |
|
@@ -1640,6 +1643,12 @@ msgstr "ID de Login do API"
|
|
1640 |
msgid "API Transaction Key"
|
1641 |
msgstr "Chave de transação do API"
|
1642 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1643 |
msgid "Taxes"
|
1644 |
msgstr "Tributações"
|
1645 |
|
@@ -1663,12 +1672,6 @@ msgstr "Excluir tributações"
|
|
1663 |
msgid "Add Tax"
|
1664 |
msgstr "Adicionar tributação"
|
1665 |
|
1666 |
-
msgid "Title"
|
1667 |
-
msgstr "Título"
|
1668 |
-
|
1669 |
-
msgid "Rate"
|
1670 |
-
msgstr "Taxa"
|
1671 |
-
|
1672 |
msgid "New tax"
|
1673 |
msgstr "Nova tributação"
|
1674 |
|
@@ -2729,6 +2732,78 @@ msgstr "Até"
|
|
2729 |
msgid "From"
|
2730 |
msgstr "De"
|
2731 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2732 |
msgid "Important"
|
2733 |
msgstr "Importante"
|
2734 |
|
@@ -2873,9 +2948,6 @@ msgstr "menos"
|
|
2873 |
msgid "Bookly SMS weekly summary"
|
2874 |
msgstr "Resumo semanal do Bookly SMS "
|
2875 |
|
2876 |
-
msgid "Customer"
|
2877 |
-
msgstr "Cliente"
|
2878 |
-
|
2879 |
msgid "Internal Notes"
|
2880 |
msgstr "Observações internas"
|
2881 |
|
@@ -3008,9 +3080,6 @@ msgstr "Notificações de e-mail"
|
|
3008 |
msgid "Customers"
|
3009 |
msgstr "Clientes"
|
3010 |
|
3011 |
-
msgid "Payments"
|
3012 |
-
msgstr "Pagamentos"
|
3013 |
-
|
3014 |
msgid "Appearance"
|
3015 |
msgstr "Aparência"
|
3016 |
|
@@ -3041,21 +3110,9 @@ msgstr "Anterior"
|
|
3041 |
msgid "New appointment"
|
3042 |
msgstr "Novo compromisso"
|
3043 |
|
3044 |
-
msgid "No."
|
3045 |
-
msgstr "Núm."
|
3046 |
-
|
3047 |
msgid "Created at any time"
|
3048 |
msgstr "Criado em qualquer data"
|
3049 |
|
3050 |
-
msgid "Appointment Date"
|
3051 |
-
msgstr "Data do compromisso"
|
3052 |
-
|
3053 |
-
msgid "Created"
|
3054 |
-
msgstr "Criado"
|
3055 |
-
|
3056 |
-
msgid "Attachments"
|
3057 |
-
msgstr "Anexos"
|
3058 |
-
|
3059 |
msgid "Any time"
|
3060 |
msgstr "Qualquer data"
|
3061 |
|
@@ -3068,6 +3125,9 @@ msgstr "Nenhum resultado encontrado"
|
|
3068 |
msgid "Searching"
|
3069 |
msgstr "Procurando"
|
3070 |
|
|
|
|
|
|
|
3071 |
msgid "Archived"
|
3072 |
msgstr "Arquivado"
|
3073 |
|
@@ -3113,9 +3173,6 @@ msgstr "Enviar notificação por email para os administradores com saldo baixo"
|
|
3113 |
msgid "Send weekly summary to administrators"
|
3114 |
msgstr "Enviar resumo semanal para os administradores"
|
3115 |
|
3116 |
-
msgid "Sender ID"
|
3117 |
-
msgstr "ID do remetente"
|
3118 |
-
|
3119 |
msgid "Change"
|
3120 |
msgstr "Alterar"
|
3121 |
|
@@ -3216,15 +3273,6 @@ msgstr "Alterar a senha"
|
|
3216 |
msgid "Old password"
|
3217 |
msgstr "Senha antiga"
|
3218 |
|
3219 |
-
msgid "Type"
|
3220 |
-
msgstr "Tipo"
|
3221 |
-
|
3222 |
-
msgid "Order"
|
3223 |
-
msgstr "Pedido"
|
3224 |
-
|
3225 |
-
msgid "Amount"
|
3226 |
-
msgstr "Montante"
|
3227 |
-
|
3228 |
msgid ""
|
3229 |
"We will only charge your PayPal account when your balance falls below $10."
|
3230 |
msgstr ""
|
@@ -3236,15 +3284,6 @@ msgstr "Ativar Auto-Recharge"
|
|
3236 |
msgid "Disable Auto-Recharge"
|
3237 |
msgstr "Desativar Auto-Recharge"
|
3238 |
|
3239 |
-
msgid "Code"
|
3240 |
-
msgstr "Código"
|
3241 |
-
|
3242 |
-
msgid "Regular price"
|
3243 |
-
msgstr "Preço regular"
|
3244 |
-
|
3245 |
-
msgid "Price with custom Sender ID"
|
3246 |
-
msgstr "Preço com ID do remetente personalizada"
|
3247 |
-
|
3248 |
msgid ""
|
3249 |
"If you do not see your country in the list please contact us at <a "
|
3250 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3271,12 +3310,6 @@ msgstr "Guardar telefone do administrador"
|
|
3271 |
msgid "Quick search notifications"
|
3272 |
msgstr "Notificações de pesquisa rápida"
|
3273 |
|
3274 |
-
msgid "State"
|
3275 |
-
msgstr "Estatuto"
|
3276 |
-
|
3277 |
-
msgid "Delete..."
|
3278 |
-
msgstr "Deletando..."
|
3279 |
-
|
3280 |
#, php-format
|
3281 |
msgid ""
|
3282 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
@@ -3292,12 +3325,6 @@ msgstr ""
|
|
3292 |
"Para enviar notificações agendadas, por favor, execute o seguinte comando de "
|
3293 |
"hora em hora com o seu cron:"
|
3294 |
|
3295 |
-
msgid "Text"
|
3296 |
-
msgstr "Texto"
|
3297 |
-
|
3298 |
-
msgid "Cost"
|
3299 |
-
msgstr "Custo"
|
3300 |
-
|
3301 |
msgid ""
|
3302 |
"Please take into account that not all countries by law allow custom SMS "
|
3303 |
"sender ID. Please check if particular country supports custom sender ID in "
|
@@ -3326,12 +3353,6 @@ msgstr "Solicitar"
|
|
3326 |
msgid "Cancel request"
|
3327 |
msgstr "Cancelar solicitação"
|
3328 |
|
3329 |
-
msgid "Requested ID"
|
3330 |
-
msgstr "ID solicitada"
|
3331 |
-
|
3332 |
-
msgid "Status Date"
|
3333 |
-
msgstr "Status da data"
|
3334 |
-
|
3335 |
msgid "Please accept terms and conditions."
|
3336 |
msgstr "Por favor, aceite os termos e condições."
|
3337 |
|
@@ -3375,9 +3396,6 @@ msgstr "ativar"
|
|
3375 |
msgid "disable"
|
3376 |
msgstr "desativar"
|
3377 |
|
3378 |
-
msgid "Edit..."
|
3379 |
-
msgstr "Editar..."
|
3380 |
-
|
3381 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3382 |
msgstr "O Auto-Recharge falhou. Por favor, recarregue o seu saldo diretamente."
|
3383 |
|
@@ -3394,18 +3412,21 @@ msgstr ""
|
|
3394 |
msgid "SMS has been sent successfully."
|
3395 |
msgstr "SMS foi enviada com sucesso."
|
3396 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3397 |
msgid "Quick search staff"
|
3398 |
msgstr "Pesquisa rápida equipe"
|
3399 |
|
|
|
|
|
|
|
3400 |
msgid "Show archived"
|
3401 |
msgstr "Mostrar arquivados"
|
3402 |
|
3403 |
-
msgid "Add staff..."
|
3404 |
-
msgstr "Adicionar funcionário"
|
3405 |
-
|
3406 |
-
msgid "User"
|
3407 |
-
msgstr "Usuário"
|
3408 |
-
|
3409 |
msgid "Image"
|
3410 |
msgstr "Imagem"
|
3411 |
|
@@ -3729,15 +3750,15 @@ msgstr ""
|
|
3729 |
"O carrinho do WooCommerce não está configurado. Siga o <a href=\"%s\">"
|
3730 |
"link</a> para corrigir esse problema."
|
3731 |
|
3732 |
-
msgid "
|
3733 |
-
msgstr "
|
3734 |
-
|
3735 |
-
msgid "Categories..."
|
3736 |
-
msgstr "Categorias..."
|
3737 |
|
3738 |
-
msgid "Add service
|
3739 |
msgstr "Adicionar serviço"
|
3740 |
|
|
|
|
|
|
|
3741 |
msgid "Update service setting"
|
3742 |
msgstr "Atualizar uma definição de serviço"
|
3743 |
|
@@ -4002,12 +4023,6 @@ msgstr "Pesquisa rápida de cliente"
|
|
4002 |
msgid "New customer"
|
4003 |
msgstr "Novo cliente"
|
4004 |
|
4005 |
-
msgid "Last appointment"
|
4006 |
-
msgstr "Último compromisso"
|
4007 |
-
|
4008 |
-
msgid "Total appointments"
|
4009 |
-
msgstr "Total de compromissos"
|
4010 |
-
|
4011 |
msgid "Merge with"
|
4012 |
msgstr "Mesclar com"
|
4013 |
|
@@ -4441,6 +4456,9 @@ msgstr "Adicionar Serviço"
|
|
4441 |
msgid "Days Off"
|
4442 |
msgstr "Dias de folga"
|
4443 |
|
|
|
|
|
|
|
4444 |
msgid "Create staff"
|
4445 |
msgstr "Criar equipe"
|
4446 |
|
@@ -4453,6 +4471,9 @@ msgstr "O horário inicial precisa ser inferior ao horário final"
|
|
4453 |
msgid "Error adding the break interval"
|
4454 |
msgstr "Erro ao adicionar o intervalo da folga"
|
4455 |
|
|
|
|
|
|
|
4456 |
msgid "Complete payment"
|
4457 |
msgstr "Completar o pagamento"
|
4458 |
|
@@ -4614,12 +4635,18 @@ msgstr "Editar serviço"
|
|
4614 |
msgid "Advanced"
|
4615 |
msgstr "Avançado"
|
4616 |
|
4617 |
-
msgid "
|
4618 |
-
msgstr "
|
4619 |
|
4620 |
msgid "Add category"
|
4621 |
msgstr "Adicionar categoria"
|
4622 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4623 |
msgid "Attach ICS file"
|
4624 |
msgstr "Anexar arquivo ICS"
|
4625 |
|
@@ -5097,6 +5124,9 @@ msgstr "Notificação sobre a criação de novo pacote"
|
|
5097 |
msgid "Notification about package deletion"
|
5098 |
msgstr "Notificação sobre exclusão de pacotes"
|
5099 |
|
|
|
|
|
|
|
5100 |
msgid "Packages"
|
5101 |
msgstr "Pacotes"
|
5102 |
|
@@ -5120,9 +5150,6 @@ msgstr "Período em dias que o cliente pode usar um pacote de serviços."
|
|
5120 |
msgid "New package"
|
5121 |
msgstr "Novo pacote"
|
5122 |
|
5123 |
-
msgid "Creation Date"
|
5124 |
-
msgstr "Data de criação"
|
5125 |
-
|
5126 |
msgid "Edit package"
|
5127 |
msgstr "Editar pacote"
|
5128 |
|
@@ -5215,6 +5242,9 @@ msgstr "Lista de pacotes"
|
|
5215 |
msgid "A custom block for displaying packages list"
|
5216 |
msgstr "Bloco personalizado para exibição da lista de pacotes"
|
5217 |
|
|
|
|
|
|
|
5218 |
msgid "Expires"
|
5219 |
msgstr "Expira"
|
5220 |
|
@@ -6072,9 +6102,6 @@ msgstr "Exibir o botão para entrar no Facebook"
|
|
6072 |
msgid "Show time zone switcher"
|
6073 |
msgstr "Mostra o seletor de fuso horário"
|
6074 |
|
6075 |
-
msgid "Date of birth"
|
6076 |
-
msgstr "Data de nascimento"
|
6077 |
-
|
6078 |
msgid "Import"
|
6079 |
msgstr "Importar"
|
6080 |
|
@@ -6093,6 +6120,9 @@ msgstr ""
|
|
6093 |
msgid "Select file"
|
6094 |
msgstr "Selecionar o ficheiro"
|
6095 |
|
|
|
|
|
|
|
6096 |
msgid "Analytics"
|
6097 |
msgstr "Analíticos"
|
6098 |
|
@@ -6545,21 +6575,6 @@ msgstr ""
|
|
6545 |
msgid "Coupon"
|
6546 |
msgstr "Cupom"
|
6547 |
|
6548 |
-
msgid "Coupons"
|
6549 |
-
msgstr "Cupons"
|
6550 |
-
|
6551 |
-
msgid "Add Coupon Series"
|
6552 |
-
msgstr "Adiciona série de cupons"
|
6553 |
-
|
6554 |
-
msgid "Add Coupon"
|
6555 |
-
msgstr "Adicionar cupom"
|
6556 |
-
|
6557 |
-
msgid "Coupon code"
|
6558 |
-
msgstr "Código de cupom"
|
6559 |
-
|
6560 |
-
msgid "Show only active"
|
6561 |
-
msgstr "Mostrar somente o ativo"
|
6562 |
-
|
6563 |
msgid "Discount (%)"
|
6564 |
msgstr "Desconto (%)"
|
6565 |
|
@@ -6575,17 +6590,32 @@ msgstr "Limite de uso"
|
|
6575 |
msgid "Number of times used"
|
6576 |
msgstr "Número de vezes usado"
|
6577 |
|
|
|
|
|
|
|
6578 |
msgid "Active until"
|
6579 |
msgstr "Ativo até"
|
6580 |
|
6581 |
msgid "Min. appointments"
|
6582 |
msgstr "Min. de compromissos"
|
6583 |
|
6584 |
-
msgid "
|
6585 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6586 |
|
6587 |
-
msgid "
|
6588 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6589 |
|
6590 |
msgid "Export only active coupons"
|
6591 |
msgstr "Exportar somente cupons ativos"
|
@@ -6698,30 +6728,27 @@ msgstr "Este código de cupom é inválido ou foi usado"
|
|
6698 |
msgid "This coupon code has expired"
|
6699 |
msgstr "Este código de cupom expirou."
|
6700 |
|
6701 |
-
msgid "
|
6702 |
-
msgstr "Grupos de clientes"
|
6703 |
-
|
6704 |
-
msgid "New group"
|
6705 |
-
msgstr "Novo grupo"
|
6706 |
-
|
6707 |
-
msgid "Group Name"
|
6708 |
msgstr "Nome do grupo"
|
6709 |
|
6710 |
-
msgid "Number of
|
6711 |
-
msgstr "
|
6712 |
|
6713 |
msgid "Description"
|
6714 |
msgstr "Descrição"
|
6715 |
|
6716 |
-
msgid "
|
6717 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6718 |
|
6719 |
msgid "Customers without group"
|
6720 |
msgstr "Clientes sem grupo"
|
6721 |
|
6722 |
-
msgid "Group"
|
6723 |
-
msgstr "Grupo"
|
6724 |
-
|
6725 |
msgid "New Group"
|
6726 |
msgstr "Novo grupo"
|
6727 |
|
@@ -6749,9 +6776,6 @@ msgstr "Grupo de clientes"
|
|
6749 |
msgid "No group"
|
6750 |
msgstr "Nenhum grupo"
|
6751 |
|
6752 |
-
msgid "Group name"
|
6753 |
-
msgstr "Nome do grupo"
|
6754 |
-
|
6755 |
msgid "Total discount"
|
6756 |
msgstr "Total de desconto"
|
6757 |
|
@@ -6917,9 +6941,6 @@ msgstr "Exibir espaços da lista de espera"
|
|
6917 |
msgid "waiting list of appointment"
|
6918 |
msgstr "lista de espera para um compromisso"
|
6919 |
|
6920 |
-
msgid "Add service"
|
6921 |
-
msgstr "Adicionar serviço"
|
6922 |
-
|
6923 |
msgid "Show chain appointments"
|
6924 |
msgstr "Exibir reservas encadeadas"
|
6925 |
|
@@ -7035,6 +7056,9 @@ msgstr "Exibir o passo Extras"
|
|
7035 |
msgid "Show extras"
|
7036 |
msgstr "Exibir extras"
|
7037 |
|
|
|
|
|
|
|
7038 |
msgid "Extras price"
|
7039 |
msgstr "Preço dos extras"
|
7040 |
|
@@ -7058,15 +7082,15 @@ msgstr "Tributação total"
|
|
7058 |
msgid "Waiting list"
|
7059 |
msgstr "Lista de espera"
|
7060 |
|
|
|
|
|
|
|
7061 |
msgid "Custom statuses"
|
7062 |
msgstr "Status de cliente"
|
7063 |
|
7064 |
msgid "Add status"
|
7065 |
msgstr "Adicionar status"
|
7066 |
|
7067 |
-
msgid "Free/Busy"
|
7068 |
-
msgstr "Livre/Ocupado"
|
7069 |
-
|
7070 |
msgid "New Status"
|
7071 |
msgstr "Novo Status"
|
7072 |
|
@@ -7114,6 +7138,9 @@ msgstr "Desativar atualização das horas especiais"
|
|
7114 |
msgid "Please select a location"
|
7115 |
msgstr "Por favor, selecione um local"
|
7116 |
|
|
|
|
|
|
|
7117 |
msgid "Locations"
|
7118 |
msgstr "Locais"
|
7119 |
|
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-02-10 08:54+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-02-11 12:50+0000\n"
|
13 |
"Last-Translator: support@bookly.info\n"
|
14 |
"Language-Team: Portuguese (Portugal)\n"
|
15 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
1415 |
msgid "Duplicate dates are not permitted."
|
1416 |
msgstr "Datas duplicadas não são permitidas."
|
1417 |
|
1418 |
+
msgid "Date in the past."
|
1419 |
+
msgstr "Data no passado."
|
1420 |
+
|
1421 |
msgid "The requested interval is not available"
|
1422 |
msgstr "O intervalo solicitado não está disponível"
|
1423 |
|
1643 |
msgid "API Transaction Key"
|
1644 |
msgstr "Chave de transação do API"
|
1645 |
|
1646 |
+
msgid "Title"
|
1647 |
+
msgstr "Título"
|
1648 |
+
|
1649 |
+
msgid "Rate"
|
1650 |
+
msgstr "Taxa"
|
1651 |
+
|
1652 |
msgid "Taxes"
|
1653 |
msgstr "Tributações"
|
1654 |
|
1672 |
msgid "Add Tax"
|
1673 |
msgstr "Adicionar tributação"
|
1674 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1675 |
msgid "New tax"
|
1676 |
msgstr "Nova tributação"
|
1677 |
|
2732 |
msgid "From"
|
2733 |
msgstr "De"
|
2734 |
|
2735 |
+
msgid "No."
|
2736 |
+
msgstr "Núm."
|
2737 |
+
|
2738 |
+
msgid "Appointment date"
|
2739 |
+
msgstr "Data do compromisso"
|
2740 |
+
|
2741 |
+
msgid "Customer name"
|
2742 |
+
msgstr "Nome do Cliente"
|
2743 |
+
|
2744 |
+
msgid "Customer phone"
|
2745 |
+
msgstr "Telefone do Cliente"
|
2746 |
+
|
2747 |
+
msgid "Customer email"
|
2748 |
+
msgstr "Email do Cliente"
|
2749 |
+
|
2750 |
+
msgid "Created"
|
2751 |
+
msgstr "Criado"
|
2752 |
+
|
2753 |
+
msgid "User"
|
2754 |
+
msgstr "Usuário"
|
2755 |
+
|
2756 |
+
msgid "Last appointment"
|
2757 |
+
msgstr "Último compromisso"
|
2758 |
+
|
2759 |
+
msgid "Total appointments"
|
2760 |
+
msgstr "Total de compromissos"
|
2761 |
+
|
2762 |
+
msgid "Payments"
|
2763 |
+
msgstr "Pagamentos"
|
2764 |
+
|
2765 |
+
msgid "Type"
|
2766 |
+
msgstr "Tipo"
|
2767 |
+
|
2768 |
+
msgid "State"
|
2769 |
+
msgstr "Estatuto"
|
2770 |
+
|
2771 |
+
msgid "Customer"
|
2772 |
+
msgstr "Cliente"
|
2773 |
+
|
2774 |
+
msgid "Amount"
|
2775 |
+
msgstr "Montante"
|
2776 |
+
|
2777 |
+
msgid "Text"
|
2778 |
+
msgstr "Texto"
|
2779 |
+
|
2780 |
+
msgid "Sender ID"
|
2781 |
+
msgstr "ID do remetente"
|
2782 |
+
|
2783 |
+
msgid "Cost"
|
2784 |
+
msgstr "Custo"
|
2785 |
+
|
2786 |
+
msgid "Flag"
|
2787 |
+
msgstr "Flag"
|
2788 |
+
|
2789 |
+
msgid "Code"
|
2790 |
+
msgstr "Código"
|
2791 |
+
|
2792 |
+
msgid "Regular price"
|
2793 |
+
msgstr "Preço regular"
|
2794 |
+
|
2795 |
+
msgid "Price with custom Sender ID"
|
2796 |
+
msgstr "Preço com ID do remetente personalizada"
|
2797 |
+
|
2798 |
+
msgid "Order"
|
2799 |
+
msgstr "Pedido"
|
2800 |
+
|
2801 |
+
msgid "Requested ID"
|
2802 |
+
msgstr "ID solicitada"
|
2803 |
+
|
2804 |
+
msgid "Status date"
|
2805 |
+
msgstr "Data do status"
|
2806 |
+
|
2807 |
msgid "Important"
|
2808 |
msgstr "Importante"
|
2809 |
|
2948 |
msgid "Bookly SMS weekly summary"
|
2949 |
msgstr "Resumo semanal do Bookly SMS "
|
2950 |
|
|
|
|
|
|
|
2951 |
msgid "Internal Notes"
|
2952 |
msgstr "Observações internas"
|
2953 |
|
3080 |
msgid "Customers"
|
3081 |
msgstr "Clientes"
|
3082 |
|
|
|
|
|
|
|
3083 |
msgid "Appearance"
|
3084 |
msgstr "Aparência"
|
3085 |
|
3110 |
msgid "New appointment"
|
3111 |
msgstr "Novo compromisso"
|
3112 |
|
|
|
|
|
|
|
3113 |
msgid "Created at any time"
|
3114 |
msgstr "Criado em qualquer data"
|
3115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3116 |
msgid "Any time"
|
3117 |
msgstr "Qualquer data"
|
3118 |
|
3125 |
msgid "Searching"
|
3126 |
msgstr "Procurando"
|
3127 |
|
3128 |
+
msgid "Attachments"
|
3129 |
+
msgstr "Anexos"
|
3130 |
+
|
3131 |
msgid "Archived"
|
3132 |
msgstr "Arquivado"
|
3133 |
|
3173 |
msgid "Send weekly summary to administrators"
|
3174 |
msgstr "Enviar resumo semanal para os administradores"
|
3175 |
|
|
|
|
|
|
|
3176 |
msgid "Change"
|
3177 |
msgstr "Alterar"
|
3178 |
|
3273 |
msgid "Old password"
|
3274 |
msgstr "Senha antiga"
|
3275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3276 |
msgid ""
|
3277 |
"We will only charge your PayPal account when your balance falls below $10."
|
3278 |
msgstr ""
|
3284 |
msgid "Disable Auto-Recharge"
|
3285 |
msgstr "Desativar Auto-Recharge"
|
3286 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3287 |
msgid ""
|
3288 |
"If you do not see your country in the list please contact us at <a "
|
3289 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3310 |
msgid "Quick search notifications"
|
3311 |
msgstr "Notificações de pesquisa rápida"
|
3312 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3313 |
#, php-format
|
3314 |
msgid ""
|
3315 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
3325 |
"Para enviar notificações agendadas, por favor, execute o seguinte comando de "
|
3326 |
"hora em hora com o seu cron:"
|
3327 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3328 |
msgid ""
|
3329 |
"Please take into account that not all countries by law allow custom SMS "
|
3330 |
"sender ID. Please check if particular country supports custom sender ID in "
|
3353 |
msgid "Cancel request"
|
3354 |
msgstr "Cancelar solicitação"
|
3355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3356 |
msgid "Please accept terms and conditions."
|
3357 |
msgstr "Por favor, aceite os termos e condições."
|
3358 |
|
3396 |
msgid "disable"
|
3397 |
msgstr "desativar"
|
3398 |
|
|
|
|
|
|
|
3399 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3400 |
msgstr "O Auto-Recharge falhou. Por favor, recarregue o seu saldo diretamente."
|
3401 |
|
3412 |
msgid "SMS has been sent successfully."
|
3413 |
msgstr "SMS foi enviada com sucesso."
|
3414 |
|
3415 |
+
msgid "Staff members order"
|
3416 |
+
msgstr "Ordem dos funcionários"
|
3417 |
+
|
3418 |
+
msgid "Add staff"
|
3419 |
+
msgstr "Adicionar Equipe"
|
3420 |
+
|
3421 |
msgid "Quick search staff"
|
3422 |
msgstr "Pesquisa rápida equipe"
|
3423 |
|
3424 |
+
msgid "Categories"
|
3425 |
+
msgstr "Categorias"
|
3426 |
+
|
3427 |
msgid "Show archived"
|
3428 |
msgstr "Mostrar arquivados"
|
3429 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3430 |
msgid "Image"
|
3431 |
msgstr "Imagem"
|
3432 |
|
3750 |
"O carrinho do WooCommerce não está configurado. Siga o <a href=\"%s\">"
|
3751 |
"link</a> para corrigir esse problema."
|
3752 |
|
3753 |
+
msgid "Services order"
|
3754 |
+
msgstr "Ordem dos serviços"
|
|
|
|
|
|
|
3755 |
|
3756 |
+
msgid "Add service"
|
3757 |
msgstr "Adicionar serviço"
|
3758 |
|
3759 |
+
msgid "Quick search services"
|
3760 |
+
msgstr "Pesquisa rápida serviços"
|
3761 |
+
|
3762 |
msgid "Update service setting"
|
3763 |
msgstr "Atualizar uma definição de serviço"
|
3764 |
|
4023 |
msgid "New customer"
|
4024 |
msgstr "Novo cliente"
|
4025 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4026 |
msgid "Merge with"
|
4027 |
msgstr "Mesclar com"
|
4028 |
|
4456 |
msgid "Days Off"
|
4457 |
msgstr "Dias de folga"
|
4458 |
|
4459 |
+
msgid "The date has already passed."
|
4460 |
+
msgstr "A data já passou."
|
4461 |
+
|
4462 |
msgid "Create staff"
|
4463 |
msgstr "Criar equipe"
|
4464 |
|
4471 |
msgid "Error adding the break interval"
|
4472 |
msgstr "Erro ao adicionar o intervalo da folga"
|
4473 |
|
4474 |
+
msgid "Adjust the order of staff members in your booking form"
|
4475 |
+
msgstr "Definir a ordem dos funcionários no formulário de reservas"
|
4476 |
+
|
4477 |
msgid "Complete payment"
|
4478 |
msgstr "Completar o pagamento"
|
4479 |
|
4635 |
msgid "Advanced"
|
4636 |
msgstr "Avançado"
|
4637 |
|
4638 |
+
msgid "Adjust the order of services in your booking form"
|
4639 |
+
msgstr "Definir a ordem dos serviços no formulário de reservas"
|
4640 |
|
4641 |
msgid "Add category"
|
4642 |
msgstr "Adicionar categoria"
|
4643 |
|
4644 |
+
msgid "Table settings"
|
4645 |
+
msgstr "Configurações da tabela"
|
4646 |
+
|
4647 |
+
msgid "Column"
|
4648 |
+
msgstr "Coluna"
|
4649 |
+
|
4650 |
msgid "Attach ICS file"
|
4651 |
msgstr "Anexar arquivo ICS"
|
4652 |
|
5124 |
msgid "Notification about package deletion"
|
5125 |
msgstr "Notificação sobre exclusão de pacotes"
|
5126 |
|
5127 |
+
msgid "Creation date"
|
5128 |
+
msgstr "Data de criação"
|
5129 |
+
|
5130 |
msgid "Packages"
|
5131 |
msgstr "Pacotes"
|
5132 |
|
5150 |
msgid "New package"
|
5151 |
msgstr "Novo pacote"
|
5152 |
|
|
|
|
|
|
|
5153 |
msgid "Edit package"
|
5154 |
msgstr "Editar pacote"
|
5155 |
|
5242 |
msgid "A custom block for displaying packages list"
|
5243 |
msgstr "Bloco personalizado para exibição da lista de pacotes"
|
5244 |
|
5245 |
+
msgid "Creation Date"
|
5246 |
+
msgstr "Data de criação"
|
5247 |
+
|
5248 |
msgid "Expires"
|
5249 |
msgstr "Expira"
|
5250 |
|
6102 |
msgid "Show time zone switcher"
|
6103 |
msgstr "Mostra o seletor de fuso horário"
|
6104 |
|
|
|
|
|
|
|
6105 |
msgid "Import"
|
6106 |
msgstr "Importar"
|
6107 |
|
6120 |
msgid "Select file"
|
6121 |
msgstr "Selecionar o ficheiro"
|
6122 |
|
6123 |
+
msgid "Date of birth"
|
6124 |
+
msgstr "Data de nascimento"
|
6125 |
+
|
6126 |
msgid "Analytics"
|
6127 |
msgstr "Analíticos"
|
6128 |
|
6575 |
msgid "Coupon"
|
6576 |
msgstr "Cupom"
|
6577 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6578 |
msgid "Discount (%)"
|
6579 |
msgstr "Desconto (%)"
|
6580 |
|
6590 |
msgid "Number of times used"
|
6591 |
msgstr "Número de vezes usado"
|
6592 |
|
6593 |
+
msgid "Active from"
|
6594 |
+
msgstr "Ativo desde"
|
6595 |
+
|
6596 |
msgid "Active until"
|
6597 |
msgstr "Ativo até"
|
6598 |
|
6599 |
msgid "Min. appointments"
|
6600 |
msgstr "Min. de compromissos"
|
6601 |
|
6602 |
+
msgid "Max. appointments"
|
6603 |
+
msgstr "Compromissos max."
|
6604 |
+
|
6605 |
+
msgid "Coupons"
|
6606 |
+
msgstr "Cupons"
|
6607 |
+
|
6608 |
+
msgid "Add Coupon Series"
|
6609 |
+
msgstr "Adiciona série de cupons"
|
6610 |
|
6611 |
+
msgid "Add Coupon"
|
6612 |
+
msgstr "Adicionar cupom"
|
6613 |
+
|
6614 |
+
msgid "Coupon code"
|
6615 |
+
msgstr "Código de cupom"
|
6616 |
+
|
6617 |
+
msgid "Show only active"
|
6618 |
+
msgstr "Mostrar somente o ativo"
|
6619 |
|
6620 |
msgid "Export only active coupons"
|
6621 |
msgstr "Exportar somente cupons ativos"
|
6728 |
msgid "This coupon code has expired"
|
6729 |
msgstr "Este código de cupom expirou."
|
6730 |
|
6731 |
+
msgid "Group name"
|
|
|
|
|
|
|
|
|
|
|
|
|
6732 |
msgstr "Nome do grupo"
|
6733 |
|
6734 |
+
msgid "Number of users"
|
6735 |
+
msgstr "Numero de usuários"
|
6736 |
|
6737 |
msgid "Description"
|
6738 |
msgstr "Descrição"
|
6739 |
|
6740 |
+
msgid "Group"
|
6741 |
+
msgstr "Grupo"
|
6742 |
+
|
6743 |
+
msgid "Customer Groups"
|
6744 |
+
msgstr "Grupos de clientes"
|
6745 |
+
|
6746 |
+
msgid "New group"
|
6747 |
+
msgstr "Novo grupo"
|
6748 |
|
6749 |
msgid "Customers without group"
|
6750 |
msgstr "Clientes sem grupo"
|
6751 |
|
|
|
|
|
|
|
6752 |
msgid "New Group"
|
6753 |
msgstr "Novo grupo"
|
6754 |
|
6776 |
msgid "No group"
|
6777 |
msgstr "Nenhum grupo"
|
6778 |
|
|
|
|
|
|
|
6779 |
msgid "Total discount"
|
6780 |
msgstr "Total de desconto"
|
6781 |
|
6941 |
msgid "waiting list of appointment"
|
6942 |
msgstr "lista de espera para um compromisso"
|
6943 |
|
|
|
|
|
|
|
6944 |
msgid "Show chain appointments"
|
6945 |
msgstr "Exibir reservas encadeadas"
|
6946 |
|
7056 |
msgid "Show extras"
|
7057 |
msgstr "Exibir extras"
|
7058 |
|
7059 |
+
msgid "Extras tax"
|
7060 |
+
msgstr "Taxa extra"
|
7061 |
+
|
7062 |
msgid "Extras price"
|
7063 |
msgstr "Preço dos extras"
|
7064 |
|
7082 |
msgid "Waiting list"
|
7083 |
msgstr "Lista de espera"
|
7084 |
|
7085 |
+
msgid "Free/Busy"
|
7086 |
+
msgstr "Livre/Ocupado"
|
7087 |
+
|
7088 |
msgid "Custom statuses"
|
7089 |
msgstr "Status de cliente"
|
7090 |
|
7091 |
msgid "Add status"
|
7092 |
msgstr "Adicionar status"
|
7093 |
|
|
|
|
|
|
|
7094 |
msgid "New Status"
|
7095 |
msgstr "Novo Status"
|
7096 |
|
7138 |
msgid "Please select a location"
|
7139 |
msgstr "Por favor, selecione um local"
|
7140 |
|
7141 |
+
msgid "Staff members"
|
7142 |
+
msgstr "Funcionários da equipe"
|
7143 |
+
|
7144 |
msgid "Locations"
|
7145 |
msgstr "Locais"
|
7146 |
|
languages/bookly-ru_RU.mo
CHANGED
Binary file
|
languages/bookly-ru_RU.po
CHANGED
@@ -9,8 +9,8 @@ msgstr ""
|
|
9 |
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
10 |
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
11 |
"Report-Msgid-Bugs-To: \n"
|
12 |
-
"POT-Creation-Date:
|
13 |
-
"PO-Revision-Date:
|
14 |
"Last-Translator: support@bookly.info\n"
|
15 |
"Language-Team: Russian\n"
|
16 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
@@ -1429,6 +1429,9 @@ msgstr "Вы уверены?"
|
|
1429 |
msgid "Duplicate dates are not permitted."
|
1430 |
msgstr "Дубликаты дат не разрешены."
|
1431 |
|
|
|
|
|
|
|
1432 |
msgid "The requested interval is not available"
|
1433 |
msgstr "Запрашиваемый интервал недоступен"
|
1434 |
|
@@ -1653,6 +1656,12 @@ msgstr "API Login ID"
|
|
1653 |
msgid "API Transaction Key"
|
1654 |
msgstr "API Transaction Key"
|
1655 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1656 |
msgid "Taxes"
|
1657 |
msgstr "Налоги"
|
1658 |
|
@@ -1676,12 +1685,6 @@ msgstr "Без налогов"
|
|
1676 |
msgid "Add Tax"
|
1677 |
msgstr "Добавить Налог"
|
1678 |
|
1679 |
-
msgid "Title"
|
1680 |
-
msgstr "Название"
|
1681 |
-
|
1682 |
-
msgid "Rate"
|
1683 |
-
msgstr "Ставка"
|
1684 |
-
|
1685 |
msgid "New tax"
|
1686 |
msgstr "Новый налог"
|
1687 |
|
@@ -2739,6 +2742,78 @@ msgstr "По"
|
|
2739 |
msgid "From"
|
2740 |
msgstr "С"
|
2741 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2742 |
msgid "Important"
|
2743 |
msgstr "Важно"
|
2744 |
|
@@ -2885,9 +2960,6 @@ msgstr "меньше"
|
|
2885 |
msgid "Bookly SMS weekly summary"
|
2886 |
msgstr "Bookly SMS – Еженедельный отчёт"
|
2887 |
|
2888 |
-
msgid "Customer"
|
2889 |
-
msgstr "Клиент"
|
2890 |
-
|
2891 |
msgid "Internal Notes"
|
2892 |
msgstr "Внутренние заметки"
|
2893 |
|
@@ -3019,9 +3091,6 @@ msgstr "Email уведомления"
|
|
3019 |
msgid "Customers"
|
3020 |
msgstr "Клиенты"
|
3021 |
|
3022 |
-
msgid "Payments"
|
3023 |
-
msgstr "Платежи"
|
3024 |
-
|
3025 |
msgid "Appearance"
|
3026 |
msgstr "Внешний вид"
|
3027 |
|
@@ -3052,21 +3121,9 @@ msgstr "Предыдущая"
|
|
3052 |
msgid "New appointment"
|
3053 |
msgstr "Новая запись"
|
3054 |
|
3055 |
-
msgid "No."
|
3056 |
-
msgstr "№"
|
3057 |
-
|
3058 |
msgid "Created at any time"
|
3059 |
msgstr "Создана в любое время"
|
3060 |
|
3061 |
-
msgid "Appointment Date"
|
3062 |
-
msgstr "Дата Записи"
|
3063 |
-
|
3064 |
-
msgid "Created"
|
3065 |
-
msgstr "Создана"
|
3066 |
-
|
3067 |
-
msgid "Attachments"
|
3068 |
-
msgstr "Файлы"
|
3069 |
-
|
3070 |
msgid "Any time"
|
3071 |
msgstr "Любое время"
|
3072 |
|
@@ -3079,6 +3136,9 @@ msgstr "Результатов не найдено"
|
|
3079 |
msgid "Searching"
|
3080 |
msgstr "Поиск"
|
3081 |
|
|
|
|
|
|
|
3082 |
msgid "Archived"
|
3083 |
msgstr "В архиве"
|
3084 |
|
@@ -3125,9 +3185,6 @@ msgstr "Отправлять уведомления о низком баланс
|
|
3125 |
msgid "Send weekly summary to administrators"
|
3126 |
msgstr "Отправлять еженедельный отчёт администраторам"
|
3127 |
|
3128 |
-
msgid "Sender ID"
|
3129 |
-
msgstr "ID отправителя"
|
3130 |
-
|
3131 |
msgid "Change"
|
3132 |
msgstr "Изменить"
|
3133 |
|
@@ -3230,15 +3287,6 @@ msgstr "Смена пароля"
|
|
3230 |
msgid "Old password"
|
3231 |
msgstr "Старый пароль"
|
3232 |
|
3233 |
-
msgid "Type"
|
3234 |
-
msgstr "Тип"
|
3235 |
-
|
3236 |
-
msgid "Order"
|
3237 |
-
msgstr "Заказ"
|
3238 |
-
|
3239 |
-
msgid "Amount"
|
3240 |
-
msgstr "Сумма"
|
3241 |
-
|
3242 |
msgid ""
|
3243 |
"We will only charge your PayPal account when your balance falls below $10."
|
3244 |
msgstr ""
|
@@ -3251,15 +3299,6 @@ msgstr "Включить автопополнение"
|
|
3251 |
msgid "Disable Auto-Recharge"
|
3252 |
msgstr "Выключить автопополнение"
|
3253 |
|
3254 |
-
msgid "Code"
|
3255 |
-
msgstr "Код"
|
3256 |
-
|
3257 |
-
msgid "Regular price"
|
3258 |
-
msgstr "Обычная цена"
|
3259 |
-
|
3260 |
-
msgid "Price with custom Sender ID"
|
3261 |
-
msgstr "Цена с изменённым ID отправителя"
|
3262 |
-
|
3263 |
msgid ""
|
3264 |
"If you do not see your country in the list please contact us at <a "
|
3265 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
@@ -3286,12 +3325,6 @@ msgstr "Сохранить телефон администратора"
|
|
3286 |
msgid "Quick search notifications"
|
3287 |
msgstr "Быстрый поиск уведомлений"
|
3288 |
|
3289 |
-
msgid "State"
|
3290 |
-
msgstr "Состояние"
|
3291 |
-
|
3292 |
-
msgid "Delete..."
|
3293 |
-
msgstr "Удалить..."
|
3294 |
-
|
3295 |
#, php-format
|
3296 |
msgid ""
|
3297 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
@@ -3308,12 +3341,6 @@ msgstr ""
|
|
3308 |
"Чтобы отправлять напоминающие уведомления, пожалуйста, настройте cron на "
|
3309 |
"ежечасное исполнение следующей команды:"
|
3310 |
|
3311 |
-
msgid "Text"
|
3312 |
-
msgstr "Текст"
|
3313 |
-
|
3314 |
-
msgid "Cost"
|
3315 |
-
msgstr "Стоимость"
|
3316 |
-
|
3317 |
msgid ""
|
3318 |
"Please take into account that not all countries by law allow custom SMS "
|
3319 |
"sender ID. Please check if particular country supports custom sender ID in "
|
@@ -3341,12 +3368,6 @@ msgstr "Запросить"
|
|
3341 |
msgid "Cancel request"
|
3342 |
msgstr "Отменить запрос"
|
3343 |
|
3344 |
-
msgid "Requested ID"
|
3345 |
-
msgstr "Запрошенный ID"
|
3346 |
-
|
3347 |
-
msgid "Status Date"
|
3348 |
-
msgstr "Дата статуса"
|
3349 |
-
|
3350 |
msgid "Please accept terms and conditions."
|
3351 |
msgstr "Пожалуйста, согласитесь с условиями использования."
|
3352 |
|
@@ -3390,9 +3411,6 @@ msgstr "включить"
|
|
3390 |
msgid "disable"
|
3391 |
msgstr "выключить"
|
3392 |
|
3393 |
-
msgid "Edit..."
|
3394 |
-
msgstr "Редактировать..."
|
3395 |
-
|
3396 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3397 |
msgstr ""
|
3398 |
"Не удалось включить автопополнение. Пожалуйста, пополните счёт прямым "
|
@@ -3411,18 +3429,21 @@ msgstr ""
|
|
3411 |
msgid "SMS has been sent successfully."
|
3412 |
msgstr "SMS было отправлено успешно."
|
3413 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3414 |
msgid "Quick search staff"
|
3415 |
msgstr "Быстрый поиск сотрудника"
|
3416 |
|
|
|
|
|
|
|
3417 |
msgid "Show archived"
|
3418 |
msgstr "Показать архивированных"
|
3419 |
|
3420 |
-
msgid "Add staff..."
|
3421 |
-
msgstr "Добавить сотрудника..."
|
3422 |
-
|
3423 |
-
msgid "User"
|
3424 |
-
msgstr "Пользователь"
|
3425 |
-
|
3426 |
msgid "Image"
|
3427 |
msgstr "Изображение"
|
3428 |
|
@@ -3744,14 +3765,14 @@ msgstr ""
|
|
3744 |
"Корзина WooCommerce не настроена. Проследуйте по <a href=\"%s\">ссылке</a> "
|
3745 |
"для того, чтобы исправить эту проблему."
|
3746 |
|
3747 |
-
msgid "
|
3748 |
-
msgstr "
|
3749 |
|
3750 |
-
msgid "
|
3751 |
-
msgstr "
|
3752 |
|
3753 |
-
msgid "
|
3754 |
-
msgstr "
|
3755 |
|
3756 |
msgid "Update service setting"
|
3757 |
msgstr "Изменение настройки сервиса"
|
@@ -4019,12 +4040,6 @@ msgstr "Быстрый поиск клиента"
|
|
4019 |
msgid "New customer"
|
4020 |
msgstr "Новый клиент"
|
4021 |
|
4022 |
-
msgid "Last appointment"
|
4023 |
-
msgstr "Последняя запись"
|
4024 |
-
|
4025 |
-
msgid "Total appointments"
|
4026 |
-
msgstr "Всего записей"
|
4027 |
-
|
4028 |
msgid "Merge with"
|
4029 |
msgstr "Объединить с"
|
4030 |
|
@@ -4453,6 +4468,9 @@ msgstr "Добавить сервис"
|
|
4453 |
msgid "Days Off"
|
4454 |
msgstr "Выходные Дни"
|
4455 |
|
|
|
|
|
|
|
4456 |
msgid "Create staff"
|
4457 |
msgstr "Создать сотрудника"
|
4458 |
|
@@ -4465,6 +4483,9 @@ msgstr "Начальное время должно быть меньше кон
|
|
4465 |
msgid "Error adding the break interval"
|
4466 |
msgstr "Ошибка добавления интервала перерыва"
|
4467 |
|
|
|
|
|
|
|
4468 |
msgid "Complete payment"
|
4469 |
msgstr "Завершить платёж"
|
4470 |
|
@@ -4626,12 +4647,18 @@ msgstr "Редактировать сервис"
|
|
4626 |
msgid "Advanced"
|
4627 |
msgstr "Расширенные"
|
4628 |
|
4629 |
-
msgid "
|
4630 |
-
msgstr "
|
4631 |
|
4632 |
msgid "Add category"
|
4633 |
msgstr "Добавить категорию"
|
4634 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4635 |
msgid "Attach ICS file"
|
4636 |
msgstr "Прикрепить файл ICS"
|
4637 |
|
@@ -5114,6 +5141,9 @@ msgstr "Уведомление о создании нового пакета у
|
|
5114 |
msgid "Notification about package deletion"
|
5115 |
msgstr "Уведомление об удалении пакета услуг"
|
5116 |
|
|
|
|
|
|
|
5117 |
msgid "Packages"
|
5118 |
msgstr "Пакеты услуг"
|
5119 |
|
@@ -5138,9 +5168,6 @@ msgstr ""
|
|
5138 |
msgid "New package"
|
5139 |
msgstr "Новый пакет услуг"
|
5140 |
|
5141 |
-
msgid "Creation Date"
|
5142 |
-
msgstr "Дата создания"
|
5143 |
-
|
5144 |
msgid "Edit package"
|
5145 |
msgstr "Редактировать пакет услуг"
|
5146 |
|
@@ -5231,6 +5258,9 @@ msgstr "Список пакетов услуг"
|
|
5231 |
msgid "A custom block for displaying packages list"
|
5232 |
msgstr "Пользовательский блок для отображения списка пакетов услуг"
|
5233 |
|
|
|
|
|
|
|
5234 |
msgid "Expires"
|
5235 |
msgstr "Дата окончания"
|
5236 |
|
@@ -6083,9 +6113,6 @@ msgstr "Показывать кнопку входа через Facebook"
|
|
6083 |
msgid "Show time zone switcher"
|
6084 |
msgstr "Показывать переключатель часового пояса"
|
6085 |
|
6086 |
-
msgid "Date of birth"
|
6087 |
-
msgstr "Дата рождения"
|
6088 |
-
|
6089 |
msgid "Import"
|
6090 |
msgstr "Импорт"
|
6091 |
|
@@ -6104,6 +6131,9 @@ msgstr ""
|
|
6104 |
msgid "Select file"
|
6105 |
msgstr "Выберите файл"
|
6106 |
|
|
|
|
|
|
|
6107 |
msgid "Analytics"
|
6108 |
msgstr "Аналитика"
|
6109 |
|
@@ -6563,21 +6593,6 @@ msgstr ""
|
|
6563 |
msgid "Coupon"
|
6564 |
msgstr "Купон"
|
6565 |
|
6566 |
-
msgid "Coupons"
|
6567 |
-
msgstr "Купоны"
|
6568 |
-
|
6569 |
-
msgid "Add Coupon Series"
|
6570 |
-
msgstr "Добавить серию купонов"
|
6571 |
-
|
6572 |
-
msgid "Add Coupon"
|
6573 |
-
msgstr "Добавить купон"
|
6574 |
-
|
6575 |
-
msgid "Coupon code"
|
6576 |
-
msgstr "Код купона"
|
6577 |
-
|
6578 |
-
msgid "Show only active"
|
6579 |
-
msgstr "Показать только активные"
|
6580 |
-
|
6581 |
msgid "Discount (%)"
|
6582 |
msgstr "Скидка (%)"
|
6583 |
|
@@ -6593,17 +6608,32 @@ msgstr "Ограничение на использование (количест
|
|
6593 |
msgid "Number of times used"
|
6594 |
msgstr "Использован (количество раз)"
|
6595 |
|
|
|
|
|
|
|
6596 |
msgid "Active until"
|
6597 |
msgstr "Активен до (вкл.)"
|
6598 |
|
6599 |
msgid "Min. appointments"
|
6600 |
msgstr "Мин. количество записей"
|
6601 |
|
6602 |
-
msgid "
|
6603 |
-
msgstr "
|
|
|
|
|
|
|
6604 |
|
6605 |
-
msgid "
|
6606 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6607 |
|
6608 |
msgid "Export only active coupons"
|
6609 |
msgstr "Экспортировать только активные купоны"
|
@@ -6717,30 +6747,27 @@ msgstr "Этот купон недействителен или уже был и
|
|
6717 |
msgid "This coupon code has expired"
|
6718 |
msgstr "Срок действия у этого купона истёк"
|
6719 |
|
6720 |
-
msgid "
|
6721 |
-
msgstr "
|
6722 |
-
|
6723 |
-
msgid "New group"
|
6724 |
-
msgstr "Новая группа"
|
6725 |
-
|
6726 |
-
msgid "Group Name"
|
6727 |
-
msgstr "Название Группы"
|
6728 |
|
6729 |
-
msgid "Number of
|
6730 |
-
msgstr "Количество
|
6731 |
|
6732 |
msgid "Description"
|
6733 |
msgstr "Описание"
|
6734 |
|
6735 |
-
msgid "
|
6736 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
6737 |
|
6738 |
msgid "Customers without group"
|
6739 |
msgstr "Клиенты без группы"
|
6740 |
|
6741 |
-
msgid "Group"
|
6742 |
-
msgstr "Группа"
|
6743 |
-
|
6744 |
msgid "New Group"
|
6745 |
msgstr "Новая Группа"
|
6746 |
|
@@ -6768,9 +6795,6 @@ msgstr "Группа Клиентов"
|
|
6768 |
msgid "No group"
|
6769 |
msgstr "Без группы"
|
6770 |
|
6771 |
-
msgid "Group name"
|
6772 |
-
msgstr "Название группы"
|
6773 |
-
|
6774 |
msgid "Total discount"
|
6775 |
msgstr "Общая сумма скидки"
|
6776 |
|
@@ -6932,9 +6956,6 @@ msgstr "Показывать интервалы со списком ожидан
|
|
6932 |
msgid "waiting list of appointment"
|
6933 |
msgstr "список ожидания на запись"
|
6934 |
|
6935 |
-
msgid "Add service"
|
6936 |
-
msgstr "Добавить сервис"
|
6937 |
-
|
6938 |
msgid "Show chain appointments"
|
6939 |
msgstr "Показывать цепочку записей"
|
6940 |
|
@@ -7050,6 +7071,9 @@ msgstr "Показывать шаг \"Дополнения\""
|
|
7050 |
msgid "Show extras"
|
7051 |
msgstr "Показывать дополнения"
|
7052 |
|
|
|
|
|
|
|
7053 |
msgid "Extras price"
|
7054 |
msgstr "Цена дополнений"
|
7055 |
|
@@ -7072,15 +7096,15 @@ msgstr "Общая сумма налога"
|
|
7072 |
msgid "Waiting list"
|
7073 |
msgstr "Лист ожидания"
|
7074 |
|
|
|
|
|
|
|
7075 |
msgid "Custom statuses"
|
7076 |
msgstr "Пользовательские статусы"
|
7077 |
|
7078 |
msgid "Add status"
|
7079 |
msgstr "Добавить статус"
|
7080 |
|
7081 |
-
msgid "Free/Busy"
|
7082 |
-
msgstr "Свободно/Занято"
|
7083 |
-
|
7084 |
msgid "New Status"
|
7085 |
msgstr "Новый Статус"
|
7086 |
|
@@ -7129,6 +7153,9 @@ msgstr "Выключить обновление особых часов рабо
|
|
7129 |
msgid "Please select a location"
|
7130 |
msgstr "Пожалуйста, выберите место"
|
7131 |
|
|
|
|
|
|
|
7132 |
msgid "Locations"
|
7133 |
msgstr "Места"
|
7134 |
|
9 |
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
10 |
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
11 |
"Report-Msgid-Bugs-To: \n"
|
12 |
+
"POT-Creation-Date: 2020-02-10 08:14+0000\n"
|
13 |
+
"PO-Revision-Date: 2020-02-10 11:06+0000\n"
|
14 |
"Last-Translator: support@bookly.info\n"
|
15 |
"Language-Team: Russian\n"
|
16 |
"X-Loco-Version: 2.3.1; wp-5.3"
|
1429 |
msgid "Duplicate dates are not permitted."
|
1430 |
msgstr "Дубликаты дат не разрешены."
|
1431 |
|
1432 |
+
msgid "Date in the past."
|
1433 |
+
msgstr "Дата в прошлом."
|
1434 |
+
|
1435 |
msgid "The requested interval is not available"
|
1436 |
msgstr "Запрашиваемый интервал недоступен"
|
1437 |
|
1656 |
msgid "API Transaction Key"
|
1657 |
msgstr "API Transaction Key"
|
1658 |
|
1659 |
+
msgid "Title"
|
1660 |
+
msgstr "Название"
|
1661 |
+
|
1662 |
+
msgid "Rate"
|
1663 |
+
msgstr "Ставка"
|
1664 |
+
|
1665 |
msgid "Taxes"
|
1666 |
msgstr "Налоги"
|
1667 |
|
1685 |
msgid "Add Tax"
|
1686 |
msgstr "Добавить Налог"
|
1687 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1688 |
msgid "New tax"
|
1689 |
msgstr "Новый налог"
|
1690 |
|
2742 |
msgid "From"
|
2743 |
msgstr "С"
|
2744 |
|
2745 |
+
msgid "No."
|
2746 |
+
msgstr "№"
|
2747 |
+
|
2748 |
+
msgid "Appointment date"
|
2749 |
+
msgstr "Дата записи"
|
2750 |
+
|
2751 |
+
msgid "Customer name"
|
2752 |
+
msgstr "Имя клиента"
|
2753 |
+
|
2754 |
+
msgid "Customer phone"
|
2755 |
+
msgstr "Номер телефона клиента"
|
2756 |
+
|
2757 |
+
msgid "Customer email"
|
2758 |
+
msgstr "Адрес эл. почты клиента"
|
2759 |
+
|
2760 |
+
msgid "Created"
|
2761 |
+
msgstr "Создана"
|
2762 |
+
|
2763 |
+
msgid "User"
|
2764 |
+
msgstr "Пользователь"
|
2765 |
+
|
2766 |
+
msgid "Last appointment"
|
2767 |
+
msgstr "Последняя запись"
|
2768 |
+
|
2769 |
+
msgid "Total appointments"
|
2770 |
+
msgstr "Всего записей"
|
2771 |
+
|
2772 |
+
msgid "Payments"
|
2773 |
+
msgstr "Платежи"
|
2774 |
+
|
2775 |
+
msgid "Type"
|
2776 |
+
msgstr "Тип"
|
2777 |
+
|
2778 |
+
msgid "State"
|
2779 |
+
msgstr "Состояние"
|
2780 |
+
|
2781 |
+
msgid "Customer"
|
2782 |
+
msgstr "Клиент"
|
2783 |
+
|
2784 |
+
msgid "Amount"
|
2785 |
+
msgstr "Сумма"
|
2786 |
+
|
2787 |
+
msgid "Text"
|
2788 |
+
msgstr "Текст"
|
2789 |
+
|
2790 |
+
msgid "Sender ID"
|
2791 |
+
msgstr "ID отправителя"
|
2792 |
+
|
2793 |
+
msgid "Cost"
|
2794 |
+
msgstr "Стоимость"
|
2795 |
+
|
2796 |
+
msgid "Flag"
|
2797 |
+
msgstr "Флаг"
|
2798 |
+
|
2799 |
+
msgid "Code"
|
2800 |
+
msgstr "Код"
|
2801 |
+
|
2802 |
+
msgid "Regular price"
|
2803 |
+
msgstr "Обычная цена"
|
2804 |
+
|
2805 |
+
msgid "Price with custom Sender ID"
|
2806 |
+
msgstr "Цена с изменённым ID отправителя"
|
2807 |
+
|
2808 |
+
msgid "Order"
|
2809 |
+
msgstr "Заказ"
|
2810 |
+
|
2811 |
+
msgid "Requested ID"
|
2812 |
+
msgstr "Запрошенный ID"
|
2813 |
+
|
2814 |
+
msgid "Status date"
|
2815 |
+
msgstr "Дата статуса"
|
2816 |
+
|
2817 |
msgid "Important"
|
2818 |
msgstr "Важно"
|
2819 |
|
2960 |
msgid "Bookly SMS weekly summary"
|
2961 |
msgstr "Bookly SMS – Еженедельный отчёт"
|
2962 |
|
|
|
|
|
|
|
2963 |
msgid "Internal Notes"
|
2964 |
msgstr "Внутренние заметки"
|
2965 |
|
3091 |
msgid "Customers"
|
3092 |
msgstr "Клиенты"
|
3093 |
|
|
|
|
|
|
|
3094 |
msgid "Appearance"
|
3095 |
msgstr "Внешний вид"
|
3096 |
|
3121 |
msgid "New appointment"
|
3122 |
msgstr "Новая запись"
|
3123 |
|
|
|
|
|
|
|
3124 |
msgid "Created at any time"
|
3125 |
msgstr "Создана в любое время"
|
3126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3127 |
msgid "Any time"
|
3128 |
msgstr "Любое время"
|
3129 |
|
3136 |
msgid "Searching"
|
3137 |
msgstr "Поиск"
|
3138 |
|
3139 |
+
msgid "Attachments"
|
3140 |
+
msgstr "Файлы"
|
3141 |
+
|
3142 |
msgid "Archived"
|
3143 |
msgstr "В архиве"
|
3144 |
|
3185 |
msgid "Send weekly summary to administrators"
|
3186 |
msgstr "Отправлять еженедельный отчёт администраторам"
|
3187 |
|
|
|
|
|
|
|
3188 |
msgid "Change"
|
3189 |
msgstr "Изменить"
|
3190 |
|
3287 |
msgid "Old password"
|
3288 |
msgstr "Старый пароль"
|
3289 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3290 |
msgid ""
|
3291 |
"We will only charge your PayPal account when your balance falls below $10."
|
3292 |
msgstr ""
|
3299 |
msgid "Disable Auto-Recharge"
|
3300 |
msgstr "Выключить автопополнение"
|
3301 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3302 |
msgid ""
|
3303 |
"If you do not see your country in the list please contact us at <a "
|
3304 |
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3325 |
msgid "Quick search notifications"
|
3326 |
msgstr "Быстрый поиск уведомлений"
|
3327 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3328 |
#, php-format
|
3329 |
msgid ""
|
3330 |
"To send scheduled notifications please refer to <a href=\"%1$s\">Bookly "
|
3341 |
"Чтобы отправлять напоминающие уведомления, пожалуйста, настройте cron на "
|
3342 |
"ежечасное исполнение следующей команды:"
|
3343 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3344 |
msgid ""
|
3345 |
"Please take into account that not all countries by law allow custom SMS "
|
3346 |
"sender ID. Please check if particular country supports custom sender ID in "
|
3368 |
msgid "Cancel request"
|
3369 |
msgstr "Отменить запрос"
|
3370 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3371 |
msgid "Please accept terms and conditions."
|
3372 |
msgstr "Пожалуйста, согласитесь с условиями использования."
|
3373 |
|
3411 |
msgid "disable"
|
3412 |
msgstr "выключить"
|
3413 |
|
|
|
|
|
|
|
3414 |
msgid "Auto-Recharge has failed, please replenish your balance directly."
|
3415 |
msgstr ""
|
3416 |
"Не удалось включить автопополнение. Пожалуйста, пополните счёт прямым "
|
3429 |
msgid "SMS has been sent successfully."
|
3430 |
msgstr "SMS было отправлено успешно."
|
3431 |
|
3432 |
+
msgid "Staff members order"
|
3433 |
+
msgstr "Порядок сотрудников"
|
3434 |
+
|
3435 |
+
msgid "Add staff"
|
3436 |
+
msgstr "Добавить сотрудника"
|
3437 |
+
|
3438 |
msgid "Quick search staff"
|
3439 |
msgstr "Быстрый поиск сотрудника"
|
3440 |
|
3441 |
+
msgid "Categories"
|
3442 |
+
msgstr "Категории"
|
3443 |
+
|
3444 |
msgid "Show archived"
|
3445 |
msgstr "Показать архивированных"
|
3446 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3447 |
msgid "Image"
|
3448 |
msgstr "Изображение"
|
3449 |
|
3765 |
"Корзина WooCommerce не настроена. Проследуйте по <a href=\"%s\">ссылке</a> "
|
3766 |
"для того, чтобы исправить эту проблему."
|
3767 |
|
3768 |
+
msgid "Services order"
|
3769 |
+
msgstr "Порядок услуг"
|
3770 |
|
3771 |
+
msgid "Add service"
|
3772 |
+
msgstr "Добавить сервис"
|
3773 |
|
3774 |
+
msgid "Quick search services"
|
3775 |
+
msgstr "Быстрый поиск сервиса"
|
3776 |
|
3777 |
msgid "Update service setting"
|
3778 |
msgstr "Изменение настройки сервиса"
|
4040 |
msgid "New customer"
|
4041 |
msgstr "Новый клиент"
|
4042 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4043 |
msgid "Merge with"
|
4044 |
msgstr "Объединить с"
|
4045 |
|
4468 |
msgid "Days Off"
|
4469 |
msgstr "Выходные Дни"
|
4470 |
|
4471 |
+
msgid "The date has already passed."
|
4472 |
+
msgstr "Дата уже прошла."
|
4473 |
+
|
4474 |
msgid "Create staff"
|
4475 |
msgstr "Создать сотрудника"
|
4476 |
|
4483 |
msgid "Error adding the break interval"
|
4484 |
msgstr "Ошибка добавления интервала перерыва"
|
4485 |
|
4486 |
+
msgid "Adjust the order of staff members in your booking form"
|
4487 |
+
msgstr "Установите порядок сотрудников в форме бронирования"
|
4488 |
+
|
4489 |
msgid "Complete payment"
|
4490 |
msgstr "Завершить платёж"
|
4491 |
|
4647 |
msgid "Advanced"
|
4648 |
msgstr "Расширенные"
|
4649 |
|
4650 |
+
msgid "Adjust the order of services in your booking form"
|
4651 |
+
msgstr "Установите порядок сервисов в форме бронирования"
|
4652 |
|
4653 |
msgid "Add category"
|
4654 |
msgstr "Добавить категорию"
|
4655 |
|
4656 |
+
msgid "Table settings"
|
4657 |
+
msgstr "Настройки таблицы"
|
4658 |
+
|
4659 |
+
msgid "Column"
|
4660 |
+
msgstr "Столбец"
|
4661 |
+
|
4662 |
msgid "Attach ICS file"
|
4663 |
msgstr "Прикрепить файл ICS"
|
4664 |
|
5141 |
msgid "Notification about package deletion"
|
5142 |
msgstr "Уведомление об удалении пакета услуг"
|
5143 |
|
5144 |
+
msgid "Creation date"
|
5145 |
+
msgstr "Дата создания"
|
5146 |
+
|
5147 |
msgid "Packages"
|
5148 |
msgstr "Пакеты услуг"
|
5149 |
|
5168 |
msgid "New package"
|
5169 |
msgstr "Новый пакет услуг"
|
5170 |
|
|
|
|
|
|
|
5171 |
msgid "Edit package"
|
5172 |
msgstr "Редактировать пакет услуг"
|
5173 |
|
5258 |
msgid "A custom block for displaying packages list"
|
5259 |
msgstr "Пользовательский блок для отображения списка пакетов услуг"
|
5260 |
|
5261 |
+
msgid "Creation Date"
|
5262 |
+
msgstr "Дата создания"
|
5263 |
+
|
5264 |
msgid "Expires"
|
5265 |
msgstr "Дата окончания"
|
5266 |
|
6113 |
msgid "Show time zone switcher"
|
6114 |
msgstr "Показывать переключатель часового пояса"
|
6115 |
|
|
|
|
|
|
|
6116 |
msgid "Import"
|
6117 |
msgstr "Импорт"
|
6118 |
|
6131 |
msgid "Select file"
|
6132 |
msgstr "Выберите файл"
|
6133 |
|
6134 |
+
msgid "Date of birth"
|
6135 |
+
msgstr "Дата рождения"
|
6136 |
+
|
6137 |
msgid "Analytics"
|
6138 |
msgstr "Аналитика"
|
6139 |
|
6593 |
msgid "Coupon"
|
6594 |
msgstr "Купон"
|
6595 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6596 |
msgid "Discount (%)"
|
6597 |
msgstr "Скидка (%)"
|
6598 |
|
6608 |
msgid "Number of times used"
|
6609 |
msgstr "Использован (количество раз)"
|
6610 |
|
6611 |
+
msgid "Active from"
|
6612 |
+
msgstr "Активен с"
|
6613 |
+
|
6614 |
msgid "Active until"
|
6615 |
msgstr "Активен до (вкл.)"
|
6616 |
|
6617 |
msgid "Min. appointments"
|
6618 |
msgstr "Мин. количество записей"
|
6619 |
|
6620 |
+
msgid "Max. appointments"
|
6621 |
+
msgstr "Макс. количество записей"
|
6622 |
+
|
6623 |
+
msgid "Coupons"
|
6624 |
+
msgstr "Купоны"
|
6625 |
|
6626 |
+
msgid "Add Coupon Series"
|
6627 |
+
msgstr "Добавить серию купонов"
|
6628 |
+
|
6629 |
+
msgid "Add Coupon"
|
6630 |
+
msgstr "Добавить купон"
|
6631 |
+
|
6632 |
+
msgid "Coupon code"
|
6633 |
+
msgstr "Код купона"
|
6634 |
+
|
6635 |
+
msgid "Show only active"
|
6636 |
+
msgstr "Показать только активные"
|
6637 |
|
6638 |
msgid "Export only active coupons"
|
6639 |
msgstr "Экспортировать только активные купоны"
|
6747 |
msgid "This coupon code has expired"
|
6748 |
msgstr "Срок действия у этого купона истёк"
|
6749 |
|
6750 |
+
msgid "Group name"
|
6751 |
+
msgstr "Название группы"
|
|
|
|
|
|
|
|
|
|
|
|
|
6752 |
|
6753 |
+
msgid "Number of users"
|
6754 |
+
msgstr "Количество пользователей"
|
6755 |
|
6756 |
msgid "Description"
|
6757 |
msgstr "Описание"
|
6758 |
|
6759 |
+
msgid "Group"
|
6760 |
+
msgstr "Группа"
|
6761 |
+
|
6762 |
+
msgid "Customer Groups"
|
6763 |
+
msgstr "Группы Клиентов"
|
6764 |
+
|
6765 |
+
msgid "New group"
|
6766 |
+
msgstr "Новая группа"
|
6767 |
|
6768 |
msgid "Customers without group"
|
6769 |
msgstr "Клиенты без группы"
|
6770 |
|
|
|
|
|
|
|
6771 |
msgid "New Group"
|
6772 |
msgstr "Новая Группа"
|
6773 |
|
6795 |
msgid "No group"
|
6796 |
msgstr "Без группы"
|
6797 |
|
|
|
|
|
|
|
6798 |
msgid "Total discount"
|
6799 |
msgstr "Общая сумма скидки"
|
6800 |
|
6956 |
msgid "waiting list of appointment"
|
6957 |
msgstr "список ожидания на запись"
|
6958 |
|
|
|
|
|
|
|
6959 |
msgid "Show chain appointments"
|
6960 |
msgstr "Показывать цепочку записей"
|
6961 |
|
7071 |
msgid "Show extras"
|
7072 |
msgstr "Показывать дополнения"
|
7073 |
|
7074 |
+
msgid "Extras tax"
|
7075 |
+
msgstr "Налог на дополнения"
|
7076 |
+
|
7077 |
msgid "Extras price"
|
7078 |
msgstr "Цена дополнений"
|
7079 |
|
7096 |
msgid "Waiting list"
|
7097 |
msgstr "Лист ожидания"
|
7098 |
|
7099 |
+
msgid "Free/Busy"
|
7100 |
+
msgstr "Свободно/Занято"
|
7101 |
+
|
7102 |
msgid "Custom statuses"
|
7103 |
msgstr "Пользовательские статусы"
|
7104 |
|
7105 |
msgid "Add status"
|
7106 |
msgstr "Добавить статус"
|
7107 |
|
|
|
|
|
|
|
7108 |
msgid "New Status"
|
7109 |
msgstr "Новый Статус"
|
7110 |
|
7153 |
msgid "Please select a location"
|
7154 |
msgstr "Пожалуйста, выберите место"
|
7155 |
|
7156 |
+
msgid "Staff members"
|
7157 |
+
msgstr "Сотрудники"
|
7158 |
+
|
7159 |
msgid "Locations"
|
7160 |
msgstr "Места"
|
7161 |
|
languages/bookly-zh_TW.mo
CHANGED
Binary file
|
languages/bookly-zh_TW.po
CHANGED
@@ -3,1615 +3,1940 @@ msgstr ""
|
|
3 |
"MIME-Version: 1.0\n"
|
4 |
"Content-Type: text/plain; charset=UTF-8\n"
|
5 |
"Content-Transfer-Encoding: 8bit\n"
|
6 |
-
"X-Generator:
|
7 |
"Project-Id-Version: Bookly\n"
|
8 |
-
"Language:
|
9 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
-
|
12 |
-
|
13 |
-
msgstr "日曆"
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
-
|
20 |
-
|
21 |
-
msgstr "員工"
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
msgstr "SMS短信通知"
|
30 |
|
31 |
-
|
32 |
-
|
33 |
-
msgstr "電郵通知"
|
34 |
|
35 |
-
|
36 |
-
|
37 |
-
msgstr "客戶"
|
38 |
|
39 |
-
|
40 |
-
|
41 |
-
msgstr "付款"
|
42 |
|
43 |
-
|
44 |
-
|
45 |
-
msgstr "外貌"
|
46 |
|
47 |
-
|
48 |
-
|
49 |
-
msgstr "設定"
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
54 |
|
55 |
-
|
56 |
-
|
57 |
-
msgstr "簡介"
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
msgstr ""
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
msgstr "今天"
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
msgstr "下月"
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
|
|
|
|
74 |
|
75 |
-
#:
|
76 |
msgid "Settings saved."
|
77 |
msgstr "設定已保存。"
|
78 |
|
79 |
-
|
80 |
-
|
81 |
-
msgstr "您的自定義CSS已保存。 請刷新頁面以查看您的更改。"
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
msgstr "所選時間段已經預訂時可見"
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
msgstr "日期"
|
90 |
|
91 |
-
|
92 |
-
|
93 |
-
msgstr "時間"
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
msgstr "售價"
|
98 |
|
99 |
-
|
100 |
-
|
101 |
-
msgstr "編輯"
|
102 |
|
103 |
-
|
104 |
-
|
105 |
-
msgstr "總計"
|
106 |
|
107 |
-
|
108 |
-
|
109 |
-
|
|
|
110 |
|
111 |
-
|
112 |
-
|
113 |
-
msgstr "車輛總數量"
|
114 |
|
115 |
-
|
116 |
-
|
117 |
-
msgstr "訂單號"
|
118 |
|
119 |
-
|
120 |
-
|
121 |
-
msgstr "類別名稱"
|
122 |
|
123 |
-
|
124 |
-
|
125 |
-
msgstr "登入表格"
|
126 |
|
127 |
-
|
128 |
-
|
129 |
-
msgstr "人數"
|
130 |
|
131 |
-
|
132 |
-
|
133 |
-
msgstr "服務日期"
|
134 |
|
135 |
-
|
136 |
-
|
137 |
-
msgstr "服務內容"
|
138 |
|
139 |
-
|
140 |
-
|
141 |
-
msgstr "服務名稱"
|
142 |
|
143 |
-
|
144 |
-
|
145 |
-
msgstr "服務收費"
|
146 |
|
147 |
-
|
148 |
-
|
149 |
-
msgstr "服務時間"
|
150 |
|
151 |
-
|
152 |
-
|
153 |
-
msgstr "員工資訊"
|
154 |
|
155 |
-
|
156 |
-
|
157 |
-
msgstr "員工名稱"
|
158 |
|
159 |
-
|
160 |
-
|
161 |
-
msgstr "總服務收費"
|
162 |
|
163 |
-
|
164 |
-
|
165 |
-
msgstr "編輯自定義CSS"
|
166 |
|
167 |
-
|
168 |
-
|
169 |
-
msgstr "設置您的自定義CSS樣式"
|
170 |
|
171 |
-
|
172 |
-
|
173 |
-
msgstr "保存"
|
174 |
|
175 |
-
|
176 |
-
|
177 |
-
msgstr "取消"
|
178 |
|
179 |
-
|
180 |
-
|
181 |
-
msgstr "顯示錶單進度狀態"
|
182 |
|
183 |
-
|
184 |
-
|
185 |
-
msgstr "點擊下畫綫編輯文本"
|
186 |
|
187 |
-
|
188 |
-
|
189 |
-
msgstr "使選擇所需員工為必需"
|
190 |
|
191 |
-
|
192 |
-
msgid "
|
193 |
-
msgstr "
|
194 |
|
195 |
-
|
196 |
-
|
197 |
-
msgstr "在服務名稱旁邊顯示服務持續時間"
|
198 |
|
199 |
-
|
200 |
-
|
201 |
-
msgstr "顯示日歷"
|
202 |
|
203 |
-
|
204 |
-
|
205 |
-
msgstr "顯示不可選時間"
|
206 |
|
207 |
-
|
208 |
-
|
209 |
-
|
|
|
|
|
210 |
|
211 |
-
|
212 |
-
|
213 |
-
msgstr "顯示登錄按鈕"
|
214 |
|
215 |
-
|
216 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
msgstr ""
|
|
|
218 |
|
219 |
-
|
220 |
-
|
|
|
|
|
|
|
|
|
|
|
221 |
msgstr ""
|
|
|
222 |
|
223 |
-
|
224 |
-
|
225 |
-
|
|
|
|
|
226 |
|
227 |
-
|
228 |
-
|
229 |
-
|
|
|
|
|
230 |
|
231 |
-
|
232 |
-
|
233 |
-
|
|
|
|
|
|
|
234 |
|
235 |
-
|
236 |
-
|
237 |
-
|
|
|
238 |
|
239 |
-
|
240 |
-
|
241 |
-
|
|
|
242 |
|
243 |
-
|
244 |
-
|
245 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
|
247 |
-
|
248 |
-
|
249 |
-
|
|
|
|
|
|
|
|
|
|
|
250 |
|
251 |
-
|
252 |
-
|
253 |
-
msgstr "選擇時間沒有預約。"
|
254 |
|
255 |
-
|
256 |
-
|
257 |
-
|
|
|
258 |
|
259 |
-
|
260 |
-
|
261 |
-
msgstr "%s %s個"
|
262 |
|
263 |
-
|
264 |
-
|
265 |
-
msgstr "號"
|
266 |
|
267 |
-
|
268 |
-
|
269 |
-
msgstr "客戶名稱"
|
270 |
|
271 |
-
|
272 |
-
|
273 |
-
|
|
|
274 |
|
275 |
-
|
276 |
-
|
277 |
-
msgstr "客戶電郵"
|
278 |
|
279 |
-
|
280 |
-
|
281 |
-
msgstr "
|
282 |
|
283 |
-
|
284 |
-
|
285 |
-
msgstr "狀態"
|
286 |
|
287 |
-
|
288 |
-
|
289 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
290 |
|
291 |
-
|
292 |
-
|
293 |
-
msgstr "預約日期"
|
294 |
|
295 |
-
|
296 |
-
|
297 |
-
msgstr "建立預約"
|
298 |
|
299 |
-
|
300 |
-
|
301 |
-
msgstr "客戶"
|
302 |
|
303 |
-
|
304 |
-
|
305 |
-
msgstr "編輯預約"
|
306 |
|
307 |
-
|
308 |
-
|
309 |
-
|
|
|
|
|
310 |
|
311 |
-
|
312 |
-
|
313 |
-
msgstr "日"
|
314 |
-
|
315 |
-
#:
|
316 |
-
msgid "Month"
|
317 |
-
msgstr "月"
|
318 |
|
319 |
-
|
320 |
-
|
321 |
-
|
|
|
|
|
322 |
|
323 |
-
|
324 |
-
|
325 |
-
msgstr "删除"
|
326 |
|
327 |
-
|
328 |
-
|
329 |
-
|
|
|
|
|
330 |
|
331 |
-
|
332 |
-
|
333 |
-
msgstr "經常性約會"
|
334 |
|
335 |
-
|
336 |
-
|
|
|
337 |
msgstr ""
|
|
|
338 |
|
339 |
-
|
340 |
-
|
341 |
-
msgstr "必須輸入開始時間"
|
342 |
-
|
343 |
-
#:
|
344 |
-
msgid "End time must not be empty"
|
345 |
-
msgstr "必須輸入結束時間"
|
346 |
-
|
347 |
-
#:
|
348 |
-
msgid "End time must not be equal to start time"
|
349 |
-
msgstr "結束時間不能等於開始時間"
|
350 |
|
351 |
-
|
352 |
-
|
353 |
-
msgstr "客戶的數量不應超過%d"
|
354 |
|
355 |
-
|
356 |
-
|
357 |
-
msgstr "無法將預約存進系統"
|
358 |
|
359 |
-
|
360 |
-
|
361 |
-
|
|
|
362 |
|
363 |
-
|
364 |
-
|
365 |
-
msgstr "供應者"
|
366 |
|
367 |
-
|
368 |
-
|
369 |
-
msgstr "服務"
|
370 |
|
371 |
-
|
372 |
-
|
373 |
-
msgstr "—選擇服務—"
|
374 |
|
375 |
-
|
376 |
-
|
377 |
-
msgstr "請選擇服務"
|
378 |
|
379 |
-
|
380 |
-
|
381 |
-
msgstr "位置"
|
382 |
|
383 |
-
|
384 |
-
|
385 |
-
msgstr "時段"
|
386 |
|
387 |
-
|
388 |
-
|
389 |
-
msgstr "至"
|
390 |
|
391 |
-
|
392 |
-
|
393 |
-
msgstr "選擇的時期不匹配服務期"
|
394 |
|
395 |
-
|
396 |
-
|
397 |
-
msgstr "在選擇的時期已安排了另一預約"
|
398 |
|
399 |
-
|
400 |
-
|
401 |
-
msgstr "已選/最大"
|
402 |
|
403 |
-
|
404 |
-
|
405 |
-
msgstr "最小容量"
|
406 |
|
407 |
-
|
408 |
-
|
409 |
-
msgstr "編輯預約詳情"
|
410 |
|
411 |
-
|
412 |
-
|
413 |
-
msgstr "删除客戶"
|
414 |
|
415 |
-
|
416 |
-
|
417 |
-
msgstr "—搜索客戶—"
|
418 |
|
419 |
-
|
420 |
-
|
421 |
-
msgstr "新客戶"
|
422 |
|
423 |
-
|
424 |
-
|
425 |
-
msgstr "發送通知"
|
426 |
|
427 |
-
|
428 |
-
|
429 |
-
msgstr "內部說明"
|
430 |
|
431 |
-
|
432 |
-
|
433 |
-
msgstr "人數"
|
434 |
|
435 |
-
|
436 |
-
|
437 |
-
msgstr "取消原因(可選)"
|
438 |
|
439 |
-
|
440 |
-
|
441 |
-
msgstr "所有"
|
442 |
|
443 |
-
|
444 |
-
|
445 |
-
msgstr "所有員工"
|
446 |
|
447 |
-
|
448 |
-
|
449 |
-
msgstr "添加工作人員。"
|
450 |
|
451 |
-
|
452 |
-
|
453 |
-
msgstr "添加員工"
|
454 |
|
455 |
-
|
456 |
-
|
457 |
-
msgstr "添加服務"
|
458 |
|
459 |
-
|
460 |
-
|
461 |
-
msgstr "所有服務"
|
462 |
|
463 |
-
|
464 |
-
|
465 |
-
msgstr "代碼"
|
466 |
|
467 |
-
|
468 |
-
|
469 |
-
msgstr "重新排序"
|
470 |
|
471 |
-
|
472 |
-
|
473 |
-
msgstr "沒有客戶找到。"
|
474 |
|
475 |
-
|
476 |
-
|
477 |
-
msgstr "編輯客戶"
|
478 |
|
479 |
-
|
480 |
-
|
481 |
-
msgstr "新增客戶"
|
482 |
|
483 |
-
|
484 |
-
|
485 |
-
msgstr "快速搜索客戶"
|
486 |
|
487 |
-
|
488 |
-
|
489 |
-
msgstr "用戶"
|
490 |
|
491 |
-
|
492 |
-
|
493 |
-
msgstr "記錄"
|
494 |
|
495 |
-
|
496 |
-
|
497 |
-
msgstr "最後一個預約"
|
498 |
|
499 |
-
|
500 |
-
|
501 |
-
|
|
|
502 |
|
503 |
-
|
504 |
-
|
505 |
-
msgstr "新客戶"
|
506 |
|
507 |
-
|
508 |
-
|
|
|
|
|
|
|
509 |
msgstr ""
|
|
|
510 |
|
511 |
-
|
512 |
-
|
513 |
-
msgstr "必需"
|
514 |
|
515 |
-
|
516 |
-
|
517 |
-
msgstr ""
|
518 |
|
519 |
-
|
520 |
-
|
521 |
-
msgstr "姓名"
|
522 |
|
523 |
-
|
524 |
-
|
525 |
-
msgstr "電話號碼"
|
526 |
|
527 |
-
|
528 |
-
|
529 |
-
msgstr "電郵地址"
|
530 |
|
531 |
-
|
532 |
-
|
533 |
-
msgstr "删除客戶"
|
534 |
|
535 |
-
|
536 |
-
|
537 |
-
msgstr "記住我的選擇"
|
538 |
|
539 |
-
|
540 |
-
|
541 |
-
msgstr "是"
|
542 |
|
543 |
-
|
544 |
-
|
545 |
-
msgid_plural "%d days"
|
546 |
-
msgstr[0] "%d 天"
|
547 |
|
548 |
-
|
549 |
-
|
550 |
-
msgstr "成功發送。"
|
551 |
|
552 |
-
|
553 |
-
|
554 |
-
msgstr "主題"
|
555 |
|
556 |
-
|
557 |
-
|
558 |
-
msgstr "訊息"
|
559 |
|
560 |
-
|
561 |
-
|
562 |
-
msgstr "預約日期"
|
563 |
|
564 |
-
|
565 |
-
|
566 |
-
msgstr "預約時間"
|
567 |
|
568 |
-
|
569 |
-
|
570 |
-
msgstr "結束約會的日期"
|
571 |
|
572 |
-
|
573 |
-
|
574 |
-
msgstr "結束任命的時間"
|
575 |
|
576 |
-
|
577 |
-
|
578 |
-
msgstr "批准任命鏈接URL(以<a>標籤內使用)"
|
579 |
|
580 |
-
|
581 |
-
|
582 |
-
msgstr "取消預約連結"
|
583 |
|
584 |
-
|
585 |
-
|
586 |
-
msgstr "取消預約鏈接URL(以<a>標籤內使用)"
|
587 |
|
588 |
-
|
589 |
-
|
590 |
-
msgstr "原因你提到在刪除約會"
|
591 |
|
592 |
-
|
593 |
-
|
594 |
-
msgstr "客戶電郵"
|
595 |
|
596 |
-
|
597 |
-
|
598 |
-
msgstr ""
|
599 |
|
600 |
-
|
601 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
602 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
603 |
|
604 |
-
|
605 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
606 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
|
608 |
-
|
609 |
-
|
610 |
-
msgstr "客戶電話"
|
611 |
|
612 |
-
|
613 |
-
|
614 |
-
msgstr "公司名稱"
|
615 |
|
616 |
-
|
617 |
-
|
618 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
619 |
|
620 |
-
|
621 |
-
|
622 |
-
msgstr "公司地址"
|
623 |
|
624 |
-
|
625 |
-
|
626 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
627 |
|
628 |
-
|
629 |
-
|
630 |
-
msgstr "公司網站地址"
|
631 |
|
632 |
-
|
633 |
-
|
634 |
-
msgstr "新增活動到Google行事曆的連結 (插入 <a> 標籤)"
|
635 |
|
636 |
-
|
637 |
-
|
638 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
639 |
|
640 |
-
|
641 |
-
|
642 |
-
msgstr "服務期限"
|
643 |
|
644 |
-
|
645 |
-
|
646 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
647 |
|
648 |
-
|
649 |
-
|
650 |
-
|
|
|
651 |
|
652 |
-
|
653 |
-
|
654 |
-
msgstr "員工相片"
|
655 |
|
656 |
-
|
657 |
-
|
658 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
659 |
|
660 |
-
|
661 |
-
|
662 |
-
|
|
|
663 |
|
664 |
-
|
665 |
-
|
666 |
-
msgstr "車信息與取消"
|
667 |
|
668 |
-
|
669 |
-
|
670 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
|
672 |
-
|
673 |
-
|
674 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
675 |
|
676 |
-
|
677 |
-
|
678 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
679 |
|
680 |
-
|
681 |
-
|
682 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
683 |
|
684 |
-
|
685 |
-
|
686 |
-
msgstr "員工下一天日程"
|
687 |
|
688 |
-
|
689 |
-
|
690 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
691 |
|
692 |
-
|
693 |
-
|
694 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
695 |
|
696 |
-
|
697 |
-
|
698 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
699 |
|
700 |
-
|
701 |
-
|
702 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
703 |
|
704 |
-
|
705 |
-
|
706 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
707 |
|
708 |
-
#:
|
709 |
msgid "Enabled"
|
710 |
msgstr "啟用"
|
711 |
|
712 |
-
|
713 |
-
|
714 |
-
msgstr "發送郵件"
|
715 |
|
716 |
-
|
717 |
-
|
718 |
-
msgstr "HTML"
|
719 |
|
720 |
-
|
721 |
-
|
722 |
-
msgstr "文字"
|
723 |
|
724 |
-
|
725 |
-
|
726 |
-
msgstr "通知模板"
|
727 |
|
728 |
-
|
729 |
-
|
730 |
-
msgstr "所有模板"
|
731 |
|
732 |
-
|
733 |
-
|
734 |
-
msgstr "發送"
|
735 |
|
736 |
-
|
737 |
-
|
738 |
-
msgstr "關"
|
739 |
|
740 |
-
|
741 |
-
|
742 |
-
msgstr "HTML 允許設定格式、 顏色、 字體、 定位等。若使用文字,您必須使用下面的rich-text編輯器的Text模式。在某些服務器上僅text郵件能成功發送。"
|
743 |
|
744 |
-
|
745 |
-
|
746 |
-
msgstr "如果啟用此選項,客戶的電子郵件地址將作為發件人地址曏工作人員和管理員發送通知。"
|
747 |
|
748 |
-
|
749 |
-
|
750 |
-
msgstr "代碼"
|
751 |
|
752 |
-
|
753 |
-
|
754 |
-
msgstr "要發送計劃通知請參見<a href=“%1$s”>Bookly Multisite</a>add-on<a href=“%2$s”>message</a> 。"
|
755 |
|
756 |
-
|
757 |
-
|
758 |
-
msgstr "要發送定時通知,請使用您的cron每小時執行以下命令:"
|
759 |
|
760 |
-
|
761 |
-
|
762 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
763 |
|
764 |
-
|
765 |
-
|
766 |
-
msgstr "細節"
|
767 |
|
768 |
-
|
769 |
-
|
770 |
-
msgstr "有關詳情,請項的詳細信息"
|
771 |
|
772 |
-
|
773 |
-
|
774 |
-
msgstr "類型"
|
775 |
|
776 |
-
|
777 |
-
|
778 |
-
msgstr "存款"
|
779 |
|
780 |
-
|
781 |
-
|
782 |
-
msgstr "小計"
|
783 |
|
784 |
-
|
785 |
-
|
786 |
-
msgstr "付費"
|
787 |
|
788 |
-
|
789 |
-
|
790 |
-
msgstr "應有"
|
791 |
|
792 |
-
|
793 |
-
|
794 |
-
msgstr "完成付款"
|
795 |
|
796 |
-
|
797 |
-
|
798 |
-
msgstr "數量"
|
799 |
|
800 |
-
|
801 |
-
|
802 |
-
msgstr "最小容量不應大於最大容量。"
|
803 |
|
804 |
-
|
805 |
-
|
806 |
-
msgid_plural "%d services"
|
807 |
-
msgstr[0] "%d服務"
|
808 |
|
809 |
-
|
810 |
-
|
811 |
-
msgstr ""
|
812 |
|
813 |
-
|
814 |
-
|
815 |
-
msgstr "標題"
|
816 |
|
817 |
-
|
818 |
-
|
819 |
-
|
|
|
|
|
|
|
|
|
820 |
|
821 |
-
|
822 |
-
|
823 |
-
msgstr "能見度"
|
824 |
|
825 |
-
|
826 |
-
|
827 |
-
msgstr "上市"
|
828 |
|
829 |
-
|
830 |
-
|
831 |
-
msgstr "私人的"
|
832 |
|
833 |
-
|
834 |
-
|
835 |
-
msgstr "關閉"
|
836 |
|
837 |
-
|
838 |
-
|
839 |
-
msgstr "供應者"
|
840 |
|
841 |
-
|
842 |
-
|
843 |
-
msgstr "分類"
|
844 |
|
845 |
-
|
846 |
-
|
847 |
-
msgstr "未分類"
|
848 |
|
849 |
-
|
850 |
-
|
851 |
-
msgstr "資訊"
|
852 |
|
853 |
-
|
854 |
-
|
855 |
-
msgstr "這個文本可以插入與%s代碼的通知。"
|
856 |
|
857 |
-
|
858 |
-
|
859 |
-
msgstr "添加服務"
|
860 |
|
861 |
-
|
862 |
-
|
863 |
-
msgstr "找不到服務。請添加新服務。"
|
864 |
|
865 |
-
|
866 |
-
|
867 |
-
msgstr "更新服務設定"
|
868 |
|
869 |
-
|
870 |
-
|
871 |
-
msgstr "您將要改變的服務設定其還分別配置為爲每個員工服務設定。你想同時更新工作人員的設定嗎?"
|
872 |
|
873 |
-
|
874 |
-
|
875 |
-
msgstr "不,只更新在服務這裏"
|
876 |
|
877 |
-
|
878 |
-
|
879 |
-
msgstr "WooCommerce 購物車未切立。請按照<a href=“%s”>鏈接</a>來解決此問題。"
|
880 |
|
881 |
-
|
882 |
-
|
883 |
-
msgstr "每年重複"
|
884 |
|
885 |
-
|
886 |
-
|
887 |
-
msgstr "我們這一天休息"
|
888 |
|
889 |
-
|
890 |
-
|
891 |
-
msgstr "任命一位與會者"
|
892 |
|
893 |
-
|
894 |
-
|
895 |
-
msgstr "許多參與者的任命"
|
896 |
|
897 |
-
|
898 |
-
|
899 |
-
msgstr "輸入值"
|
900 |
|
901 |
-
|
902 |
-
|
903 |
-
msgstr "服務能力"
|
904 |
|
905 |
-
|
906 |
-
|
907 |
-
msgstr "已經在名單上的人數"
|
908 |
|
909 |
-
|
910 |
-
|
911 |
-
msgstr "付款狀態"
|
912 |
|
913 |
-
|
914 |
-
|
915 |
-
msgstr "任用狀況"
|
916 |
|
917 |
-
|
918 |
-
|
919 |
-
msgstr "購物車"
|
920 |
|
921 |
-
|
922 |
-
|
923 |
-
msgstr "圖片"
|
924 |
|
925 |
-
|
926 |
-
|
927 |
-
msgstr "公司名稱"
|
928 |
|
929 |
-
|
930 |
-
|
931 |
-
msgstr "地址"
|
932 |
|
933 |
-
|
934 |
-
|
935 |
-
msgstr "網站"
|
936 |
|
937 |
-
|
938 |
-
|
939 |
-
msgstr "電話號碼默認國家"
|
940 |
|
941 |
-
|
942 |
-
|
943 |
-
msgstr "在預訂的”詳細信息“步驟中選擇電話號碼默認國家/地區。您還可以讓 Bookly 基於客戶端的 IP 地址確定國家。"
|
944 |
|
945 |
-
|
946 |
-
|
947 |
-
msgstr "通過用戶的 IP 地址猜用戶所在的國家"
|
948 |
|
949 |
-
|
950 |
-
|
951 |
-
msgstr "默認國家號碼"
|
952 |
|
953 |
-
|
954 |
-
|
955 |
-
msgstr "如需接收短信,您的客戶電話號碼必須為國際格式。然而,您可以指定默認的國家代碼用在所有不以 “+ “或 “00” 開頭的號碼前面。例如,您選擇 “1”作為缺省國家代碼,一位客戶輸入的電話為”(600)555-2222”,則用來發送短信的號碼將是”+1600555222”。"
|
956 |
|
957 |
-
|
958 |
-
|
959 |
-
msgstr "記住cookies中的個人信息"
|
960 |
|
961 |
-
|
962 |
-
|
963 |
-
msgstr "如果啟用此設置,返回的客戶將在“詳細信息”步驟中填寫其個人信息字段,並將之前保存在Cookie中的數據。"
|
964 |
|
965 |
-
|
966 |
-
|
967 |
-
msgstr "時間間隔長度"
|
968 |
|
969 |
-
|
970 |
-
|
971 |
-
msgstr "選擇在構建系統中的所有時隙時將用作步驟的時間間隔。"
|
972 |
|
973 |
-
|
974 |
-
|
975 |
-
msgstr "啟用此選項可使時間長度等於預訂表單的時間步驟中的服務持續時間。"
|
976 |
|
977 |
-
|
978 |
-
|
979 |
-
msgstr "默認預約狀態"
|
980 |
|
981 |
-
|
982 |
-
|
983 |
-
msgstr "為最新預約選擇默認狀態"
|
984 |
|
985 |
-
|
986 |
-
|
987 |
-
msgstr "審批中"
|
988 |
|
989 |
-
|
990 |
-
|
991 |
-
msgstr "已經獲批"
|
992 |
|
993 |
-
|
994 |
-
|
995 |
-
msgstr ""
|
996 |
|
997 |
-
|
998 |
-
|
999 |
-
msgstr ""
|
1000 |
|
1001 |
-
|
1002 |
-
|
1003 |
-
msgstr ""
|
1004 |
|
1005 |
-
|
1006 |
-
|
1007 |
-
msgstr ""
|
1008 |
|
1009 |
-
|
1010 |
-
|
1011 |
-
msgstr ""
|
1012 |
|
1013 |
-
|
1014 |
-
|
1015 |
-
msgstr "設定URL顯示已成功安排取消預約客戶"
|
1016 |
|
1017 |
-
|
1018 |
-
|
1019 |
-
msgstr "取消預約的URL網址 (拒絕)"
|
1020 |
|
1021 |
-
|
1022 |
-
|
1023 |
-
msgstr "設定URL網頁顯示取消了的客戶預約已不存在。"
|
1024 |
|
1025 |
-
|
1026 |
-
|
1027 |
-
msgstr "可供預訂的天數"
|
1028 |
|
1029 |
-
|
1030 |
-
|
1031 |
-
msgstr "設定客戶能夠預約將來多久。"
|
1032 |
|
1033 |
-
|
1034 |
-
|
1035 |
-
msgstr "以客戶所在的時區顯示可預約時段"
|
1036 |
|
1037 |
-
|
1038 |
-
|
1039 |
-
msgstr "容許員工編輯他們自己的資料"
|
1040 |
|
1041 |
-
|
1042 |
-
|
1043 |
-
msgstr "如果啟用該選項,那麽與WordPress用戶相聯的所有員工將能夠編輯自己的個人描述,服務,時間表及休息日期。"
|
1044 |
|
1045 |
-
|
1046 |
-
|
1047 |
-
msgstr "方法包括Bookly JavaScript和網頁CSS文件"
|
1048 |
|
1049 |
-
|
1050 |
-
|
1051 |
-
msgstr "隨著“排隊”的方法Bookly的JavaScript和CSS文件將被包含在你的網站的所有網頁。此方法應可用於所有Wordpress主題。隨著“打印”方法中的文件將包含僅包含Bookly預訂表格頁面。這種方法可能無法用於所有Wordpress主題。"
|
1052 |
|
1053 |
-
|
1054 |
-
|
1055 |
-
msgstr "通過發送匿名使用統計信息幫助我們改進Bookly"
|
1056 |
|
1057 |
-
|
1058 |
-
|
1059 |
-
msgstr "使用說明"
|
1060 |
|
1061 |
-
|
1062 |
-
|
1063 |
-
msgstr "請注意,以下營業時間作為所有新工作人員的模板。 要提供可用時間表的列表,系統只考慮工作人員的時間表,而不是公司的營業時間。 如果您的預訂系統有一些意想不到的行為,請務必檢查您的員工的時間表。"
|
1064 |
|
1065 |
-
|
1066 |
-
|
1067 |
-
msgstr "貨幣"
|
1068 |
|
1069 |
-
|
1070 |
-
|
1071 |
-
msgstr "價格格式"
|
1072 |
|
1073 |
-
|
1074 |
-
|
1075 |
-
msgstr "即場支付"
|
1076 |
|
1077 |
-
|
1078 |
-
|
1079 |
-
msgstr "不"
|
1080 |
|
1081 |
-
|
1082 |
-
|
1083 |
-
msgstr "客戶"
|
1084 |
|
1085 |
-
|
1086 |
-
|
1087 |
-
msgstr "通用"
|
1088 |
|
1089 |
-
|
1090 |
-
|
1091 |
-
msgstr "公司"
|
1092 |
|
1093 |
-
|
1094 |
-
|
1095 |
-
msgstr "營業時間"
|
1096 |
|
1097 |
-
|
1098 |
-
|
1099 |
-
msgstr "假期"
|
1100 |
|
1101 |
-
|
1102 |
-
|
1103 |
-
msgstr "請接受服務條款。"
|
1104 |
|
1105 |
-
|
1106 |
-
|
1107 |
-
msgstr "您的付款已被接受和正在處理。"
|
1108 |
|
1109 |
-
|
1110 |
-
|
1111 |
-
msgstr "您的付款已經中斷。"
|
1112 |
|
1113 |
-
|
1114 |
-
msgid "
|
1115 |
-
msgstr "
|
1116 |
|
1117 |
-
|
1118 |
-
|
1119 |
-
msgstr "您拒絕了自動儲值功能。"
|
1120 |
|
1121 |
-
|
1122 |
-
|
1123 |
-
msgstr "請輸入舊密碼。"
|
1124 |
|
1125 |
-
|
1126 |
-
|
1127 |
-
msgstr "
|
1128 |
|
1129 |
-
|
1130 |
-
|
1131 |
-
msgstr "發件人ID發送請求。"
|
1132 |
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
|
|
1136 |
|
1137 |
-
|
1138 |
-
|
1139 |
-
msgstr "沒有記錄時間選擇。"
|
1140 |
|
1141 |
-
|
1142 |
-
|
1143 |
-
msgstr "沒有記錄。"
|
1144 |
|
1145 |
-
|
1146 |
-
|
1147 |
-
msgstr "自動充值失敗,請直接補充你的餘額。"
|
1148 |
|
1149 |
-
|
1150 |
-
|
1151 |
-
msgstr "自動儲值已關閉"
|
1152 |
|
1153 |
-
|
1154 |
-
|
1155 |
-
msgstr "錯誤。無法禁用自動充值,您可以在您的PayPal帳戶執行此操作。"
|
1156 |
|
1157 |
-
|
1158 |
-
|
1159 |
-
|
|
|
1160 |
|
1161 |
-
|
1162 |
-
|
1163 |
-
msgstr "當您的餘額低於$ 10我們將只收取您的PayPal帳戶。"
|
1164 |
|
1165 |
-
|
1166 |
-
|
1167 |
-
msgstr "啟用自動儲值"
|
1168 |
|
1169 |
-
|
1170 |
-
|
1171 |
-
msgstr "停用自動儲值"
|
1172 |
|
1173 |
-
|
1174 |
-
|
1175 |
-
msgstr "管理員的電話"
|
1176 |
|
1177 |
-
|
1178 |
-
|
1179 |
-
msgstr "輸入一個國際格式的電話號碼。例如,在美國的一個有效的電話號碼是+17327572923。"
|
1180 |
|
1181 |
-
|
1182 |
-
|
1183 |
-
msgstr "傳送測試SMS短訊"
|
1184 |
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
|
|
1188 |
|
1189 |
-
|
1190 |
-
|
1191 |
-
msgstr "正常價格"
|
1192 |
|
1193 |
-
|
1194 |
-
|
1195 |
-
msgstr "價格自定義發送者ID"
|
1196 |
|
1197 |
-
|
1198 |
-
|
1199 |
-
msgstr "訂單"
|
1200 |
|
1201 |
-
|
1202 |
-
|
1203 |
-
msgstr "請考慮到,並非所有國家在法律允許自定義短信發件人ID。請檢查特定國家支持我們的價格表自定義發件人ID。同時請注意,價格自定義發件人ID消息通常比正常價格的消息高出20%-25%。"
|
1204 |
|
1205 |
-
|
1206 |
-
|
1207 |
-
msgstr "請求發件人ID"
|
1208 |
|
1209 |
-
|
1210 |
-
|
1211 |
-
msgstr "要么"
|
1212 |
|
1213 |
-
|
1214 |
-
|
1215 |
-
msgstr "重置為默認"
|
1216 |
|
1217 |
-
|
1218 |
-
|
1219 |
-
|
|
|
1220 |
|
1221 |
-
|
1222 |
-
|
1223 |
-
msgstr "請求"
|
1224 |
|
1225 |
-
|
1226 |
-
|
1227 |
-
msgstr "取消請求"
|
1228 |
|
1229 |
-
|
1230 |
-
|
1231 |
-
msgstr "請求ID"
|
1232 |
|
1233 |
-
|
1234 |
-
|
1235 |
-
msgstr "狀態日期"
|
1236 |
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1240 |
|
1241 |
-
|
1242 |
-
|
1243 |
-
msgstr "成本"
|
1244 |
|
1245 |
-
|
1246 |
-
|
1247 |
-
msgstr "您的餘額"
|
1248 |
|
1249 |
-
|
1250 |
-
|
1251 |
-
msgstr "餘額過低時發電郵通知管理員"
|
1252 |
|
1253 |
-
|
1254 |
-
|
1255 |
-
msgstr "向管理員發送每週摘要"
|
1256 |
|
1257 |
-
|
1258 |
-
|
1259 |
-
msgstr "更改"
|
1260 |
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
|
|
1264 |
|
1265 |
-
|
1266 |
-
|
1267 |
-
msgstr "登出"
|
1268 |
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
|
|
1272 |
|
1273 |
-
|
1274 |
-
|
1275 |
-
msgstr "増值"
|
1276 |
|
1277 |
-
|
1278 |
-
|
1279 |
-
msgstr "自動儲值"
|
1280 |
|
1281 |
-
|
1282 |
-
|
1283 |
-
msgstr "購買"
|
1284 |
|
1285 |
-
|
1286 |
-
|
1287 |
-
msgstr "SMS短信內容"
|
1288 |
|
1289 |
-
|
1290 |
-
|
1291 |
-
msgstr "價目表"
|
1292 |
|
1293 |
-
|
1294 |
-
|
1295 |
-
msgstr "短信通知(或“Bookly SMS”)是通過將其發送到手機短信通知您的客戶服務。"
|
1296 |
|
1297 |
-
|
1298 |
-
|
1299 |
-
msgstr "它是必要的,以便註冊開始使用該服務。"
|
1300 |
|
1301 |
-
|
1302 |
-
|
1303 |
-
msgstr "註冊後,您將需要配置通知消息,並以開始發送短信充值您的餘額。"
|
1304 |
|
1305 |
-
|
1306 |
-
|
1307 |
-
|
|
|
|
|
1308 |
|
1309 |
-
|
1310 |
-
|
1311 |
-
msgstr "密碼"
|
1312 |
|
1313 |
-
|
1314 |
-
|
1315 |
-
msgstr "登入"
|
1316 |
|
1317 |
-
|
1318 |
-
|
1319 |
-
msgstr "注册"
|
1320 |
|
1321 |
-
|
1322 |
-
|
1323 |
-
msgstr "忘記密碼"
|
1324 |
|
1325 |
-
|
1326 |
-
|
1327 |
-
msgstr "
|
1328 |
|
1329 |
-
|
1330 |
-
|
1331 |
-
msgstr "註冊"
|
1332 |
|
1333 |
-
|
1334 |
-
|
1335 |
-
msgstr "從電郵輸入代碼"
|
1336 |
|
1337 |
-
|
1338 |
-
|
1339 |
-
msgstr "新密碼"
|
1340 |
|
1341 |
-
|
1342 |
-
|
1343 |
-
msgstr "重覆新密碼"
|
1344 |
|
1345 |
-
|
1346 |
-
|
1347 |
-
msgstr "下"
|
1348 |
|
1349 |
-
|
1350 |
-
|
1351 |
-
msgstr "修改密碼"
|
1352 |
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
|
|
1356 |
|
1357 |
-
|
1358 |
-
|
1359 |
-
msgstr "所有地點"
|
1360 |
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
|
|
1364 |
|
1365 |
-
|
1366 |
-
|
1367 |
-
msgstr "開始時間應早於結束時間"
|
1368 |
|
1369 |
-
|
1370 |
-
|
1371 |
-
msgstr "要求的時段不可選"
|
1372 |
|
1373 |
-
|
1374 |
-
|
1375 |
-
msgstr "添加休息時段時錯誤"
|
1376 |
|
1377 |
-
|
1378 |
-
|
1379 |
-
msgstr "刪除休息"
|
1380 |
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
|
|
|
|
|
|
|
|
1384 |
|
1385 |
-
|
1386 |
-
|
1387 |
-
msgstr "全名"
|
1388 |
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
|
|
|
|
|
|
|
|
1392 |
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
|
|
1396 |
|
1397 |
-
|
1398 |
-
|
1399 |
-
msgstr "如果你將這欄留空,這名員工將無法使用WordPress員工個人日曆。"
|
1400 |
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
|
|
1404 |
|
1405 |
-
|
1406 |
-
|
1407 |
-
msgstr "為了讓工作人員看不到客戶設置的知名度,“專用”。"
|
1408 |
|
1409 |
-
|
1410 |
-
|
1411 |
-
msgstr "日程"
|
1412 |
|
1413 |
-
|
1414 |
-
|
1415 |
-
msgstr "休息日"
|
1416 |
|
1417 |
-
|
1418 |
-
|
1419 |
-
msgstr "添加休息時間"
|
1420 |
|
1421 |
-
|
1422 |
-
|
1423 |
-
msgstr "重置"
|
1424 |
|
1425 |
-
|
1426 |
-
|
1427 |
-
msgstr "標有星號(*)的項目是必需的。"
|
1428 |
|
1429 |
-
|
1430 |
-
|
1431 |
-
msgstr "無效的郵件地址。"
|
1432 |
|
1433 |
-
|
1434 |
-
|
1435 |
-
msgstr "發送錯誤的支持請求。"
|
1436 |
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
|
|
|
|
1440 |
|
1441 |
-
|
1442 |
-
|
1443 |
-
msgstr ""
|
1444 |
|
1445 |
-
|
1446 |
-
|
1447 |
-
msgstr "文件紀錄 "
|
1448 |
|
1449 |
-
|
1450 |
-
|
1451 |
-
msgstr "需要幫忙?這裡與我們聯繫。"
|
1452 |
|
1453 |
-
|
1454 |
-
|
1455 |
-
msgstr "回饋"
|
1456 |
|
1457 |
-
|
1458 |
-
|
1459 |
-
msgstr "給我們留言"
|
1460 |
|
1461 |
-
|
1462 |
-
|
1463 |
-
msgstr "你的名字"
|
1464 |
|
1465 |
-
|
1466 |
-
|
1467 |
-
msgstr "電子郵件地址"
|
1468 |
|
1469 |
-
|
1470 |
-
|
1471 |
-
msgstr "我們該怎樣幫助你?"
|
1472 |
|
1473 |
-
|
1474 |
-
|
1475 |
-
msgstr "您推薦Bookly給朋友或同事的可能性有多大?"
|
1476 |
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
|
|
1480 |
|
1481 |
-
|
1482 |
-
|
1483 |
-
msgstr "請輸入您的電子郵件(可選)"
|
1484 |
|
1485 |
-
|
1486 |
-
|
1487 |
-
msgstr "請在<a href=\"%s\" target=\"_blank\">此處</a>留下您的反饋。"
|
1488 |
|
1489 |
-
|
1490 |
-
|
1491 |
-
msgstr "訂閱有關Bookly的改進和新版本的每月電子郵件。"
|
1492 |
|
1493 |
-
|
1494 |
-
|
1495 |
-
msgstr "添加Bookly預約表格"
|
1496 |
|
1497 |
-
|
1498 |
-
msgid "Staff"
|
1499 |
msgstr "員工"
|
1500 |
|
1501 |
-
|
1502 |
-
|
1503 |
-
msgstr "插入"
|
1504 |
|
1505 |
-
|
1506 |
-
|
1507 |
-
msgstr "分類選擇的默認值"
|
1508 |
|
1509 |
-
|
1510 |
-
|
1511 |
-
msgstr "選擇分類"
|
1512 |
|
1513 |
-
|
1514 |
-
|
1515 |
-
msgstr "隱藏字段"
|
1516 |
|
1517 |
-
|
1518 |
-
|
1519 |
-
msgstr "已選服務的默認值"
|
1520 |
|
1521 |
-
|
1522 |
-
|
1523 |
-
msgstr "選擇服務"
|
1524 |
|
1525 |
-
|
1526 |
-
|
1527 |
-
msgstr "請註意,頁麵要求此字段必須有一個值。如果您選擇隱藏這個字段,請先給它選擇一個默認值"
|
1528 |
|
1529 |
-
|
1530 |
-
|
1531 |
-
msgstr "員工選擇的默認值"
|
1532 |
|
1533 |
-
|
1534 |
-
|
1535 |
-
msgstr "任何"
|
1536 |
|
1537 |
-
|
1538 |
-
|
1539 |
-
msgstr "工作日"
|
1540 |
|
1541 |
-
|
1542 |
-
|
1543 |
-
msgstr "時間範圍"
|
1544 |
|
1545 |
-
|
1546 |
-
|
1547 |
-
msgstr "插入預約表"
|
1548 |
|
1549 |
-
|
1550 |
-
|
1551 |
-
|
|
|
1552 |
|
1553 |
-
|
1554 |
-
|
1555 |
-
msgstr "Session 錯誤"
|
1556 |
|
1557 |
-
|
1558 |
-
|
1559 |
-
msgstr "表單ID錯誤。"
|
1560 |
|
1561 |
-
|
1562 |
-
|
1563 |
-
msgstr "即場付款不可選。"
|
1564 |
|
1565 |
-
|
1566 |
-
|
1567 |
-
msgstr "無效的Gateway。"
|
1568 |
|
1569 |
-
|
1570 |
-
|
1571 |
-
msgstr "所選條件下沒有時段可供使用。"
|
1572 |
|
1573 |
-
|
1574 |
-
|
1575 |
-
msgstr "數據已在使用"
|
1576 |
|
1577 |
-
|
1578 |
-
|
1579 |
-
|
|
|
1580 |
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
|
|
1584 |
|
1585 |
-
|
1586 |
-
|
1587 |
-
msgstr "載入中…"
|
1588 |
|
1589 |
-
|
1590 |
-
|
1591 |
-
msgstr "錯誤"
|
1592 |
|
1593 |
-
|
1594 |
msgid " and %d more item"
|
1595 |
msgid_plural " and %d more items"
|
1596 |
msgstr[0] "和 %d 項目"
|
|
|
1597 |
|
1598 |
-
|
1599 |
-
|
1600 |
-
msgstr "您的預約信息"
|
1601 |
|
1602 |
-
|
1603 |
-
|
1604 |
"\n"
|
1605 |
"This is a confirmation that you have booked {service_name}.\n"
|
1606 |
"\n"
|
1607 |
-
"We are waiting you at {company_address} on {appointment_date} at
|
|
|
1608 |
"\n"
|
1609 |
"Thank you for choosing our company.\n"
|
1610 |
"\n"
|
1611 |
"{company_name}\n"
|
1612 |
"{company_phone}\n"
|
1613 |
"{company_website}"
|
1614 |
-
msgstr "
|
|
|
1615 |
"\n"
|
1616 |
"您預訂的{service_name}已確認.\n"
|
1617 |
"\n"
|
@@ -1623,38 +1948,64 @@ msgstr "親愛的 {client_name}.\n"
|
|
1623 |
"{company_phone}\n"
|
1624 |
"{company_website}"
|
1625 |
|
1626 |
-
|
1627 |
-
|
|
|
|
|
|
|
1628 |
"\n"
|
1629 |
-
"
|
1630 |
"\n"
|
1631 |
-
"{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1632 |
"\n"
|
1633 |
"Thank you for choosing our company.\n"
|
1634 |
"\n"
|
1635 |
"{company_name}\n"
|
1636 |
"{company_phone}\n"
|
1637 |
"{company_website}"
|
1638 |
-
msgstr "
|
1639 |
-
"
|
1640 |
-
"這是您預訂下列項目的確認:\n"
|
1641 |
"\n"
|
1642 |
-
"{
|
1643 |
"\n"
|
1644 |
-
"
|
1645 |
"\n"
|
1646 |
"{company_name}\n"
|
1647 |
"{company_phone}\n"
|
1648 |
"{company_website}"
|
1649 |
|
1650 |
-
|
1651 |
-
|
1652 |
-
msgstr "新預約信息"
|
1653 |
|
1654 |
-
|
1655 |
-
|
1656 |
"\n"
|
1657 |
-
"
|
1658 |
"\n"
|
1659 |
"Service: {service_name}\n"
|
1660 |
"Date: {appointment_date}\n"
|
@@ -1662,29 +2013,26 @@ msgid "Hello.\n"
|
|
1662 |
"Client name: {client_name}\n"
|
1663 |
"Client phone: {client_phone}\n"
|
1664 |
"Client email: {client_email}"
|
1665 |
-
msgstr "
|
|
|
1666 |
"\n"
|
1667 |
-
"
|
1668 |
"\n"
|
1669 |
-
"
|
1670 |
-
"
|
1671 |
-
"
|
1672 |
-
"
|
1673 |
-
"
|
1674 |
-
"
|
1675 |
-
|
1676 |
-
#:
|
1677 |
-
msgid "Booking cancellation"
|
1678 |
-
msgstr "取消預約"
|
1679 |
|
1680 |
-
|
1681 |
-
|
1682 |
-
msgstr "甩預訂"
|
1683 |
|
1684 |
-
|
1685 |
-
|
1686 |
"\n"
|
1687 |
-
"Your booking of {service_name} on {appointment_date} at {appointment_time}
|
|
|
1688 |
"\n"
|
1689 |
"Reason: {cancellation_reason}\n"
|
1690 |
"\n"
|
@@ -1693,7 +2041,8 @@ msgid "Dear {client_name}.\n"
|
|
1693 |
"{company_name}\n"
|
1694 |
"{company_phone}\n"
|
1695 |
"{company_website}"
|
1696 |
-
msgstr "
|
|
|
1697 |
"\n"
|
1698 |
"您在{appointment_date}({appointment_time})預訂的{service_name}已被拒絕。\n"
|
1699 |
"\n"
|
@@ -1705,8 +2054,11 @@ msgstr "尊敬的{client_name}。\n"
|
|
1705 |
"{company_phone}\n"
|
1706 |
"{company_website}"
|
1707 |
|
1708 |
-
|
1709 |
-
|
|
|
|
|
|
|
1710 |
"\n"
|
1711 |
"The following booking has been rejected.\n"
|
1712 |
"\n"
|
@@ -1718,7 +2070,8 @@ msgid "Hello.\n"
|
|
1718 |
"Client name: {client_name}\n"
|
1719 |
"Client phone: {client_phone}\n"
|
1720 |
"Client email: {client_email}"
|
1721 |
-
msgstr "
|
|
|
1722 |
"\n"
|
1723 |
"以下預訂已被拒絕。\n"
|
1724 |
"\n"
|
@@ -1731,63 +2084,94 @@ msgstr "你好。\n"
|
|
1731 |
"客戶電話:{client_phone}\n"
|
1732 |
"客戶電子郵件:{client_email}"
|
1733 |
|
1734 |
-
|
1735 |
-
|
1736 |
-
"
|
1737 |
-
"
|
1738 |
-
"
|
1739 |
-
"
|
1740 |
-
"
|
1741 |
-
"
|
1742 |
-
"
|
1743 |
-
"
|
1744 |
-
|
1745 |
-
"\n"
|
1746 |
-
"您在 {site_address}上建立了一個賬號\n"
|
1747 |
-
"\n"
|
1748 |
-
"您的用戶詳情:\n"
|
1749 |
-
"用戶: {new_username}\n"
|
1750 |
-
"密碼: {new_password}\n"
|
1751 |
"\n"
|
1752 |
-
"
|
|
|
|
|
|
|
|
|
|
|
1753 |
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1757 |
|
1758 |
-
|
1759 |
-
|
1760 |
-
"
|
1761 |
-
"
|
1762 |
-
"We wish you all the best.\n"
|
1763 |
-
"May you and your family be happy and healthy.\n"
|
1764 |
-
"\n"
|
1765 |
"Thank you for choosing our company.\n"
|
1766 |
-
"\n"
|
1767 |
"{company_name}\n"
|
1768 |
"{company_phone}\n"
|
1769 |
"{company_website}"
|
1770 |
-
msgstr "
|
|
|
1771 |
"\n"
|
1772 |
-
"
|
1773 |
-
"我們祝你一切順利。\n"
|
1774 |
-
"願你和你的家人幸福和健康。\n"
|
1775 |
"\n"
|
1776 |
"感謝您選擇我們的公司。\n"
|
1777 |
-
"\n"
|
1778 |
"{company_name}\n"
|
1779 |
"{company_phone}\n"
|
1780 |
"{company_website}"
|
1781 |
|
1782 |
-
|
1783 |
-
|
1784 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1785 |
"Reason: {cancellation_reason}\n"
|
1786 |
"Thank you for choosing our company.\n"
|
1787 |
"{company_name}\n"
|
1788 |
"{company_phone}\n"
|
1789 |
"{company_website}"
|
1790 |
-
msgstr "
|
|
|
1791 |
"您在{appointment_date}({appointment_time})預訂的{service_name}已被拒絕。\n"
|
1792 |
"原因:{cancellation_reason}\n"
|
1793 |
"感謝您選擇我們的公司。\n"
|
@@ -1795,8 +2179,8 @@ msgstr "尊敬的{client_name}。\n"
|
|
1795 |
"{company_phone}\n"
|
1796 |
"{company_website}"
|
1797 |
|
1798 |
-
|
1799 |
-
|
1800 |
"The following booking has been rejected.\n"
|
1801 |
"Reason: {cancellation_reason}\n"
|
1802 |
"Service: {service_name}\n"
|
@@ -1805,7 +2189,8 @@ msgid "Hello.\n"
|
|
1805 |
"Client name: {client_name}\n"
|
1806 |
"Client phone: {client_phone}\n"
|
1807 |
"Client email: {client_email}"
|
1808 |
-
msgstr "
|
|
|
1809 |
"以下預訂已被拒絕。\n"
|
1810 |
"原因:{cancellation_reason}\n"
|
1811 |
"服務:{service_name}\n"
|
@@ -1815,2876 +2200,2385 @@ msgstr "你好。\n"
|
|
1815 |
"客戶電話:{client_phone}\n"
|
1816 |
"客戶電子郵件:{client_email}"
|
1817 |
|
1818 |
-
|
1819 |
-
|
1820 |
-
|
1821 |
-
"Your user details:\n"
|
1822 |
-
"user: {new_username}\n"
|
1823 |
-
"password: {new_password}\n"
|
1824 |
-
"\n"
|
1825 |
-
"Thanks."
|
1826 |
-
msgstr "您好.\n"
|
1827 |
-
"我們已經為您在{site_address}開設了一個賬戶\n"
|
1828 |
-
"用戶詳情:\n"
|
1829 |
-
"用戶名稱: {new_username}\n"
|
1830 |
-
"用戶密碼: {new_password}\n"
|
1831 |
-
"\n"
|
1832 |
-
"謝謝."
|
1833 |
|
1834 |
-
|
1835 |
-
|
1836 |
-
"
|
1837 |
-
"We
|
1838 |
-
"May you and your family be happy and healthy.\n"
|
1839 |
"Thank you for choosing our company.\n"
|
1840 |
"{company_name}\n"
|
1841 |
"{company_phone}\n"
|
1842 |
"{company_website}"
|
1843 |
-
msgstr "
|
1844 |
-
"
|
1845 |
-
"
|
1846 |
-
"
|
|
|
1847 |
"感謝您選擇我們的公司。\n"
|
1848 |
"{company_name}\n"
|
1849 |
"{company_phone}\n"
|
1850 |
"{company_website}"
|
1851 |
|
1852 |
-
|
1853 |
-
|
1854 |
-
msgstr "
|
1855 |
|
1856 |
-
|
1857 |
-
|
1858 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1859 |
|
1860 |
-
|
1861 |
-
|
1862 |
-
"
|
1863 |
-
msgstr "
|
1864 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1865 |
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1869 |
|
1870 |
-
|
1871 |
-
|
|
|
1872 |
"Please provide your details in the form below to proceed with booking."
|
1873 |
-
msgstr "
|
1874 |
-
"
|
|
|
|
|
1875 |
|
1876 |
-
#:
|
1877 |
msgid "Please tell us how you would like to pay: "
|
1878 |
-
msgstr "
|
1879 |
|
1880 |
-
#:
|
1881 |
msgid "Please select service: "
|
1882 |
-
msgstr "
|
1883 |
|
1884 |
-
|
1885 |
-
|
|
|
1886 |
"Click on a time slot to proceed with booking."
|
1887 |
-
msgstr "
|
|
|
1888 |
"選擇您的預約時間以進行預約。"
|
1889 |
|
1890 |
-
#:
|
1891 |
msgid "Card Security Code"
|
1892 |
msgstr "信用卡驗證碼"
|
1893 |
|
1894 |
-
#:
|
1895 |
msgid "Expiration Date"
|
1896 |
msgstr "到期日"
|
1897 |
|
1898 |
-
#:
|
1899 |
msgid "Credit Card Number"
|
1900 |
msgstr "信用卡號碼"
|
1901 |
|
1902 |
-
|
1903 |
-
|
1904 |
-
msgstr "優惠券"
|
1905 |
-
|
1906 |
-
#:
|
1907 |
-
msgid "Employee"
|
1908 |
-
msgstr "員工"
|
1909 |
|
1910 |
-
#:
|
1911 |
msgid "Finish by"
|
1912 |
msgstr "完成於"
|
1913 |
|
1914 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1915 |
msgid "I will pay now with Credit Card"
|
1916 |
msgstr "我會現在使用信用卡支付"
|
1917 |
|
1918 |
-
#:
|
1919 |
msgid "I will pay locally"
|
1920 |
msgstr "我會即場支付"
|
1921 |
|
1922 |
-
#:
|
1923 |
-
msgid "I will pay now with Mollie"
|
1924 |
-
msgstr "我會現在使用手機支付"
|
1925 |
-
|
1926 |
-
#:
|
1927 |
-
msgid "I will pay now with PayPal"
|
1928 |
-
msgstr "我會現在使用Paypal支付"
|
1929 |
-
|
1930 |
-
#:
|
1931 |
msgid "I'm available on or after"
|
1932 |
msgstr "我可以在此或之後"
|
1933 |
|
1934 |
-
#:
|
1935 |
msgid "Start from"
|
1936 |
msgstr "由"
|
1937 |
|
1938 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1939 |
msgid "Please tell us your email"
|
1940 |
msgstr "請提供您的電子郵箱"
|
1941 |
|
1942 |
-
|
|
|
|
|
1943 |
msgid "Please select an employee"
|
1944 |
msgstr "請選擇一位員工"
|
1945 |
|
1946 |
-
#:
|
1947 |
msgid "Please tell us your name"
|
1948 |
msgstr "請提供您的姓名"
|
1949 |
|
1950 |
-
#:
|
1951 |
msgid "Please tell us your first name"
|
1952 |
-
msgstr ""
|
1953 |
|
1954 |
-
#:
|
1955 |
msgid "Please tell us your last name"
|
1956 |
-
msgstr ""
|
1957 |
|
1958 |
-
#:
|
1959 |
msgid "Please tell us your phone"
|
1960 |
msgstr "請提供您的電話"
|
1961 |
|
1962 |
-
|
1963 |
-
|
1964 |
-
msgstr "所選時段已滿,請選擇其他的時段。"
|
1965 |
|
1966 |
-
|
1967 |
-
|
1968 |
msgstr "所選時段已滿,請選擇其他的時段。"
|
1969 |
|
1970 |
-
|
|
|
|
|
1971 |
msgid "Done"
|
1972 |
msgstr "已完成"
|
1973 |
|
1974 |
-
#:
|
1975 |
msgid "Signed up"
|
1976 |
msgstr "報名"
|
1977 |
|
1978 |
-
|
1979 |
-
|
1980 |
-
msgstr "名額"
|
1981 |
-
|
1982 |
-
#:
|
1983 |
-
msgid "Appointment"
|
1984 |
-
msgstr "預約"
|
1985 |
-
|
1986 |
-
#:
|
1987 |
-
msgid "sent to our system"
|
1988 |
-
msgstr "發送到我們的系統"
|
1989 |
-
|
1990 |
-
#:
|
1991 |
-
msgid "more"
|
1992 |
-
msgstr "增加"
|
1993 |
-
|
1994 |
-
#:
|
1995 |
-
msgid "less"
|
1996 |
-
msgstr "减少"
|
1997 |
-
|
1998 |
-
#:
|
1999 |
-
msgid "Bookly SMS weekly summary"
|
2000 |
-
msgstr "Bookly SMS每週摘要"
|
2001 |
-
|
2002 |
-
#:
|
2003 |
-
msgid "Your don't have enough Bookly SMS credits to send this message. Please add funds to your balance and try again."
|
2004 |
-
msgstr ""
|
2005 |
-
|
2006 |
-
#:
|
2007 |
-
msgid "Failed to send SMS."
|
2008 |
-
msgstr "傳送SMS短訊失敗。"
|
2009 |
-
|
2010 |
-
#:
|
2011 |
-
msgid "Phone number is empty."
|
2012 |
-
msgstr "電話號碼沒有輸入。"
|
2013 |
-
|
2014 |
-
#:
|
2015 |
-
msgid "Queued"
|
2016 |
-
msgstr "排列"
|
2017 |
-
|
2018 |
-
#:
|
2019 |
-
msgid "Out of credit"
|
2020 |
-
msgstr "信用額度已全用"
|
2021 |
-
|
2022 |
-
#:
|
2023 |
-
msgid "Country out of service"
|
2024 |
-
msgstr "國家暫停服務"
|
2025 |
-
|
2026 |
-
#:
|
2027 |
-
msgid "Sending"
|
2028 |
-
msgstr "傳送中"
|
2029 |
-
|
2030 |
-
#:
|
2031 |
-
msgid "Sent"
|
2032 |
-
msgstr "已發送"
|
2033 |
-
|
2034 |
-
#:
|
2035 |
-
msgid "Delivered"
|
2036 |
-
msgstr "已發貨"
|
2037 |
-
|
2038 |
-
#:
|
2039 |
-
msgid "Failed"
|
2040 |
-
msgstr "已失敗"
|
2041 |
-
|
2042 |
-
#:
|
2043 |
-
msgid "Undelivered"
|
2044 |
-
msgstr "未送達"
|
2045 |
-
|
2046 |
-
#:
|
2047 |
-
msgid "Default"
|
2048 |
-
msgstr "默認"
|
2049 |
-
|
2050 |
-
#:
|
2051 |
-
msgid "Declined"
|
2052 |
-
msgstr "下降"
|
2053 |
-
|
2054 |
-
#:
|
2055 |
-
msgid "Cancelled"
|
2056 |
-
msgstr "已取消"
|
2057 |
-
|
2058 |
-
#:
|
2059 |
-
msgid "Error connecting to server."
|
2060 |
-
msgstr "連線到伺服器發生錯誤。"
|
2061 |
-
|
2062 |
-
#:
|
2063 |
-
msgid "Dear Bookly SMS customer.\n"
|
2064 |
-
"We would like to notify you that your Bookly SMS balance fell lower than 5 USD. To use our service without interruptions please recharge your balance by visiting Bookly SMS page <a href='%s'>here</a>.\n"
|
2065 |
-
"\n"
|
2066 |
-
"If you want to stop receiving these notifications, please update your settings <a href='%s'>here</a>."
|
2067 |
-
msgstr "尊敬的Bookly SMS短信的客戶。我們想告訴你,你Bookly短信餘額降至低於5美元。如要継績使用我們的服務,請訪問Bookly短信增值頁面您的餘額<a href=‘%s’>這裏</a> 。\n"
|
2068 |
-
"\n"
|
2069 |
-
"如果你想停止接收這些通知,請更新您的設置<a href=‘%s’>這裏</a> 。"
|
2070 |
-
|
2071 |
-
#:
|
2072 |
-
msgid "Bookly SMS - Low Balance"
|
2073 |
-
msgstr "Bookly SMS - 餘額過低"
|
2074 |
-
|
2075 |
-
#:
|
2076 |
-
msgid "Empty password."
|
2077 |
-
msgstr "空密碼。"
|
2078 |
-
|
2079 |
-
#:
|
2080 |
-
msgid "Incorrect password."
|
2081 |
-
msgstr "錯誤密碼。"
|
2082 |
-
|
2083 |
-
#:
|
2084 |
-
msgid "Incorrect recovery code."
|
2085 |
-
msgstr "不正確的復原碼。"
|
2086 |
-
|
2087 |
-
#:
|
2088 |
-
msgid "Incorrect email or password."
|
2089 |
-
msgstr "郵件信箱或密碼錯誤"
|
2090 |
-
|
2091 |
-
#:
|
2092 |
-
msgid "Incorrect sender ID"
|
2093 |
-
msgstr "不正確發送ID"
|
2094 |
-
|
2095 |
-
#:
|
2096 |
-
msgid "Pending sender ID already exists."
|
2097 |
-
msgstr "待發件人ID已經存在。"
|
2098 |
-
|
2099 |
-
#:
|
2100 |
-
msgid "Recovery code expired."
|
2101 |
-
msgstr "復原碼已過期。"
|
2102 |
-
|
2103 |
-
#:
|
2104 |
-
msgid "Error sending email."
|
2105 |
-
msgstr "發送電子郵件時出現錯誤。"
|
2106 |
-
|
2107 |
-
#:
|
2108 |
-
msgid "User not found."
|
2109 |
-
msgstr "找不到用戶。"
|
2110 |
-
|
2111 |
-
#:
|
2112 |
-
msgid "Email already in use."
|
2113 |
-
msgstr "該郵箱已被使用"
|
2114 |
-
|
2115 |
-
#:
|
2116 |
-
msgid "Invalid email"
|
2117 |
-
msgstr "無效的電郵地址"
|
2118 |
-
|
2119 |
-
#:
|
2120 |
-
msgid "This email is already in use"
|
2121 |
-
msgstr "該郵箱已被使用"
|
2122 |
-
|
2123 |
-
#:
|
2124 |
-
msgid "\"%s\" is too long (%d characters max)."
|
2125 |
-
msgstr "\"%s\" 太長 (最多%d 字)."
|
2126 |
-
|
2127 |
-
#:
|
2128 |
-
msgid "Invalid number"
|
2129 |
-
msgstr "無效數字"
|
2130 |
-
|
2131 |
-
#:
|
2132 |
-
msgid "Invalid date"
|
2133 |
-
msgstr ""
|
2134 |
|
2135 |
-
|
2136 |
-
|
2137 |
-
msgstr ""
|
2138 |
|
2139 |
-
|
2140 |
-
|
2141 |
-
msgstr ""
|
2142 |
|
2143 |
-
|
2144 |
-
|
2145 |
-
msgstr "拒絕"
|
2146 |
|
2147 |
-
|
2148 |
-
|
2149 |
-
msgstr "通知客戶已確定的預約資料"
|
2150 |
|
2151 |
-
|
2152 |
-
|
2153 |
-
msgstr "通知客戶有關批准任命"
|
2154 |
|
2155 |
-
|
2156 |
-
|
2157 |
-
msgstr "
|
2158 |
|
2159 |
-
|
2160 |
-
|
2161 |
-
msgstr "
|
2162 |
|
2163 |
-
|
2164 |
-
|
2165 |
-
msgstr "
|
2166 |
|
2167 |
-
|
2168 |
-
|
2169 |
-
msgstr "通知客戶關於他們的WordPress用戶登入信息"
|
2170 |
|
2171 |
-
|
2172 |
-
|
2173 |
-
msgstr "通知客戶有關審核中的預約資料"
|
2174 |
|
2175 |
-
|
2176 |
-
|
2177 |
-
msgstr "預約日前一天晚上的客戶提醒(需要cron的設置)"
|
2178 |
|
2179 |
-
|
2180 |
-
|
2181 |
-
msgstr "第一次提醒客戶即將到來的預約(需要安裝cron)"
|
2182 |
|
2183 |
-
|
2184 |
-
|
2185 |
-
msgstr "第二次提醒客戶即將到來的預約(需要安裝cron)"
|
2186 |
|
2187 |
-
|
2188 |
-
|
2189 |
-
msgstr "第三次提醒客戶即將到來的預約(需要安裝cron)"
|
2190 |
|
2191 |
-
|
2192 |
-
|
2193 |
-
msgstr "客戶生日問候(需要cron設置)"
|
2194 |
|
2195 |
-
|
2196 |
-
|
2197 |
-
msgstr "通知員工第二天日程(需要cron的設置)"
|
2198 |
|
2199 |
-
|
2200 |
-
|
2201 |
-
msgstr "通知員工已確定的預約資料"
|
2202 |
|
2203 |
-
|
2204 |
-
|
2205 |
-
msgstr "通知員工已取消的預約資料"
|
2206 |
|
2207 |
-
|
2208 |
-
|
2209 |
-
msgstr "通知工作人員有關被拒絕任命"
|
2210 |
|
2211 |
-
|
2212 |
-
|
2213 |
-
msgstr "通知員工審核中的預約資料"
|
2214 |
|
2215 |
-
|
2216 |
-
|
2217 |
-
msgstr "測試消息"
|
2218 |
|
2219 |
-
|
2220 |
-
|
2221 |
-
msgstr "即場"
|
2222 |
|
2223 |
-
|
2224 |
-
|
2225 |
-
msgstr "已完成"
|
2226 |
|
2227 |
-
|
2228 |
-
|
2229 |
-
msgid_plural "%d weeks"
|
2230 |
-
msgstr[0] "%d 周"
|
2231 |
|
2232 |
-
|
2233 |
-
|
2234 |
-
msgstr "%d 小時"
|
2235 |
|
2236 |
-
|
2237 |
-
|
2238 |
-
msgstr "%d 分"
|
2239 |
|
2240 |
-
|
2241 |
-
|
2242 |
-
msgstr ""
|
2243 |
|
2244 |
-
|
2245 |
-
|
2246 |
-
|
|
|
2247 |
|
2248 |
-
|
2249 |
-
|
2250 |
-
msgstr ""
|
2251 |
|
2252 |
-
|
2253 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2254 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2255 |
|
2256 |
-
|
2257 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2258 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2259 |
|
2260 |
-
|
2261 |
-
msgid "
|
2262 |
-
|
|
|
|
|
2263 |
|
2264 |
-
|
2265 |
-
msgid "
|
2266 |
-
|
|
|
|
|
2267 |
|
2268 |
-
|
2269 |
-
msgid "
|
2270 |
-
|
|
|
|
|
2271 |
|
2272 |
-
|
2273 |
-
msgid "
|
2274 |
-
|
|
|
|
|
2275 |
|
2276 |
-
|
2277 |
-
msgid "
|
2278 |
-
msgstr ""
|
2279 |
|
2280 |
-
|
2281 |
-
msgid "
|
2282 |
-
msgstr ""
|
2283 |
|
2284 |
-
|
2285 |
-
|
2286 |
-
msgstr ""
|
2287 |
|
2288 |
-
|
2289 |
-
|
2290 |
-
msgstr ""
|
2291 |
|
2292 |
-
|
2293 |
-
|
2294 |
-
msgstr ""
|
2295 |
|
2296 |
-
|
2297 |
-
|
2298 |
-
msgstr ""
|
2299 |
|
2300 |
-
|
2301 |
-
|
2302 |
-
msgstr ""
|
2303 |
|
2304 |
-
|
2305 |
-
|
2306 |
-
msgstr ""
|
2307 |
|
2308 |
-
|
2309 |
-
|
2310 |
-
msgstr ""
|
2311 |
|
2312 |
-
|
2313 |
-
|
2314 |
-
msgstr ""
|
2315 |
|
2316 |
-
|
2317 |
-
|
2318 |
-
msgstr ""
|
2319 |
|
2320 |
-
|
2321 |
-
|
2322 |
-
msgstr ""
|
2323 |
|
2324 |
-
|
2325 |
-
|
2326 |
-
msgstr ""
|
2327 |
|
2328 |
-
|
2329 |
-
|
2330 |
-
msgstr ""
|
2331 |
|
2332 |
-
|
2333 |
-
|
2334 |
-
msgstr ""
|
2335 |
|
2336 |
-
|
2337 |
-
|
2338 |
-
msgstr ""
|
2339 |
|
2340 |
-
|
2341 |
-
|
2342 |
-
msgstr ""
|
2343 |
|
2344 |
-
|
2345 |
-
|
2346 |
-
msgstr ""
|
2347 |
|
2348 |
-
|
2349 |
-
|
2350 |
-
msgstr ""
|
2351 |
|
2352 |
-
|
2353 |
-
|
2354 |
-
msgstr ""
|
2355 |
|
2356 |
-
|
2357 |
-
|
2358 |
-
msgstr ""
|
2359 |
|
2360 |
-
|
2361 |
-
|
2362 |
-
msgstr ""
|
2363 |
|
2364 |
-
|
2365 |
-
|
2366 |
-
msgstr ""
|
2367 |
|
2368 |
-
|
2369 |
-
|
2370 |
-
msgstr ""
|
2371 |
|
2372 |
-
|
2373 |
-
|
2374 |
-
msgstr ""
|
2375 |
|
2376 |
-
|
2377 |
-
|
2378 |
-
msgstr ""
|
2379 |
|
2380 |
-
|
2381 |
-
|
2382 |
-
msgstr ""
|
2383 |
|
2384 |
-
|
2385 |
-
|
2386 |
-
msgstr ""
|
2387 |
|
2388 |
-
|
2389 |
-
|
2390 |
-
msgstr ""
|
2391 |
|
2392 |
-
|
2393 |
-
|
2394 |
-
msgstr ""
|
2395 |
|
2396 |
-
|
2397 |
-
|
2398 |
-
msgstr ""
|
2399 |
|
2400 |
-
|
2401 |
-
|
2402 |
-
msgstr ""
|
2403 |
|
2404 |
-
|
2405 |
-
|
2406 |
-
"\n"
|
2407 |
-
"This will also remove the entered purchase code from this site."
|
2408 |
-
msgstr ""
|
2409 |
|
2410 |
-
|
2411 |
-
|
2412 |
-
msgstr ""
|
2413 |
|
2414 |
-
|
2415 |
-
|
2416 |
-
msgstr ""
|
2417 |
|
2418 |
-
|
2419 |
-
|
2420 |
-
msgstr ""
|
2421 |
|
2422 |
-
|
2423 |
-
|
|
|
|
|
|
|
2424 |
msgstr ""
|
|
|
2425 |
|
2426 |
-
|
2427 |
-
msgid "
|
2428 |
-
|
|
|
|
|
|
|
2429 |
|
2430 |
-
|
2431 |
-
msgid "
|
2432 |
-
|
|
|
|
|
2433 |
|
2434 |
-
|
2435 |
-
|
2436 |
-
msgstr ""
|
2437 |
|
2438 |
-
|
2439 |
-
|
2440 |
-
msgid_plural "%d years"
|
2441 |
-
msgstr[0] ""
|
2442 |
|
2443 |
-
|
2444 |
-
|
2445 |
-
msgid_plural "%d months"
|
2446 |
-
msgstr[0] ""
|
2447 |
|
2448 |
-
|
2449 |
-
|
2450 |
-
msgstr ""
|
2451 |
|
2452 |
-
|
2453 |
-
|
2454 |
-
msgstr ""
|
2455 |
|
2456 |
-
|
2457 |
-
|
2458 |
-
msgstr ""
|
2459 |
|
2460 |
-
|
2461 |
-
|
2462 |
-
msgstr ""
|
2463 |
|
2464 |
-
|
2465 |
-
|
2466 |
-
msgstr ""
|
2467 |
|
2468 |
-
|
2469 |
-
|
2470 |
-
msgstr ""
|
2471 |
|
2472 |
-
|
2473 |
-
|
2474 |
-
msgstr ""
|
2475 |
|
2476 |
-
|
2477 |
-
|
2478 |
-
msgstr ""
|
2479 |
|
2480 |
-
|
2481 |
-
|
2482 |
-
msgstr ""
|
2483 |
|
2484 |
-
|
2485 |
-
|
2486 |
-
msgstr ""
|
2487 |
|
2488 |
-
|
2489 |
-
|
2490 |
-
msgstr ""
|
2491 |
|
2492 |
-
|
2493 |
-
|
2494 |
-
msgstr ""
|
2495 |
|
2496 |
-
|
2497 |
-
|
2498 |
-
msgstr ""
|
2499 |
|
2500 |
-
|
2501 |
-
|
2502 |
-
msgstr ""
|
2503 |
|
2504 |
-
|
2505 |
-
|
2506 |
-
msgstr ""
|
2507 |
|
2508 |
-
|
2509 |
-
msgid "
|
2510 |
-
msgstr ""
|
2511 |
|
2512 |
-
|
2513 |
-
|
2514 |
-
msgstr ""
|
2515 |
|
2516 |
-
|
2517 |
-
|
2518 |
-
msgstr ""
|
2519 |
|
2520 |
-
|
2521 |
-
|
2522 |
-
msgstr ""
|
2523 |
|
2524 |
-
|
2525 |
-
msgid "
|
2526 |
-
|
|
|
|
|
2527 |
|
2528 |
-
|
2529 |
-
|
2530 |
-
msgstr ""
|
2531 |
|
2532 |
-
|
2533 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2534 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2535 |
|
2536 |
-
|
2537 |
-
|
2538 |
-
msgstr ""
|
2539 |
|
2540 |
-
|
2541 |
-
|
2542 |
-
msgstr ""
|
2543 |
|
2544 |
-
|
2545 |
-
|
2546 |
-
msgstr ""
|
2547 |
|
2548 |
-
|
2549 |
-
|
2550 |
-
msgstr ""
|
2551 |
|
2552 |
-
|
2553 |
-
|
2554 |
-
|
|
|
2555 |
|
2556 |
-
|
2557 |
-
|
2558 |
-
msgstr ""
|
2559 |
|
2560 |
-
|
2561 |
-
|
2562 |
-
msgstr ""
|
2563 |
|
2564 |
-
|
2565 |
-
|
2566 |
-
|
|
|
2567 |
|
2568 |
-
|
2569 |
-
|
2570 |
-
msgstr ""
|
2571 |
|
2572 |
-
|
2573 |
-
|
2574 |
-
msgstr ""
|
2575 |
|
2576 |
-
|
2577 |
-
|
2578 |
-
msgstr ""
|
2579 |
|
2580 |
-
|
2581 |
-
|
2582 |
-
msgstr ""
|
2583 |
|
2584 |
-
|
2585 |
-
|
2586 |
-
msgstr ""
|
2587 |
|
2588 |
-
|
2589 |
-
|
2590 |
-
msgstr ""
|
2591 |
|
2592 |
-
|
2593 |
-
|
2594 |
-
msgstr ""
|
2595 |
|
2596 |
-
|
2597 |
-
|
2598 |
-
msgstr ""
|
2599 |
|
2600 |
-
|
2601 |
-
|
2602 |
-
msgstr ""
|
2603 |
|
2604 |
-
|
2605 |
-
|
2606 |
-
msgstr ""
|
2607 |
|
2608 |
-
|
2609 |
-
|
2610 |
-
msgstr ""
|
2611 |
|
2612 |
-
|
2613 |
-
|
2614 |
-
msgstr ""
|
2615 |
|
2616 |
-
|
2617 |
-
|
2618 |
-
msgstr ""
|
2619 |
|
2620 |
-
|
2621 |
-
|
2622 |
-
msgstr ""
|
2623 |
|
2624 |
-
|
2625 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2626 |
msgstr ""
|
|
|
|
|
|
|
|
|
2627 |
|
2628 |
-
|
2629 |
-
|
2630 |
-
msgstr ""
|
2631 |
|
2632 |
-
|
2633 |
-
|
2634 |
-
msgstr ""
|
2635 |
|
2636 |
-
|
2637 |
-
|
2638 |
-
msgstr ""
|
2639 |
|
2640 |
-
|
2641 |
-
|
2642 |
-
msgstr ""
|
2643 |
|
2644 |
-
|
2645 |
-
|
2646 |
-
msgstr ""
|
2647 |
|
2648 |
-
|
2649 |
-
|
2650 |
-
msgstr ""
|
2651 |
|
2652 |
-
|
2653 |
-
|
2654 |
-
msgstr ""
|
2655 |
|
2656 |
-
|
2657 |
-
|
2658 |
-
msgstr ""
|
2659 |
|
2660 |
-
|
2661 |
-
|
2662 |
-
msgstr ""
|
2663 |
|
2664 |
-
|
2665 |
-
|
2666 |
-
msgid_plural "%d sales"
|
2667 |
-
msgstr[0] ""
|
2668 |
|
2669 |
-
|
2670 |
-
|
2671 |
-
msgid_plural "%d reviews"
|
2672 |
-
msgstr[0] ""
|
2673 |
|
2674 |
-
|
2675 |
-
|
2676 |
-
msgstr ""
|
2677 |
|
2678 |
-
|
2679 |
-
|
2680 |
-
msgstr ""
|
2681 |
|
2682 |
-
|
2683 |
-
|
2684 |
-
msgstr ""
|
2685 |
|
2686 |
-
|
2687 |
-
|
2688 |
-
msgstr ""
|
2689 |
|
2690 |
-
|
2691 |
-
|
2692 |
-
msgstr ""
|
2693 |
|
2694 |
-
|
2695 |
-
|
2696 |
-
msgstr ""
|
2697 |
|
2698 |
-
|
2699 |
-
|
2700 |
-
msgstr ""
|
2701 |
|
2702 |
-
|
2703 |
-
|
2704 |
-
msgstr ""
|
2705 |
|
2706 |
-
|
2707 |
-
|
2708 |
-
msgstr ""
|
2709 |
|
2710 |
-
|
2711 |
-
|
2712 |
-
msgstr ""
|
2713 |
|
2714 |
-
|
2715 |
-
|
2716 |
-
msgstr ""
|
2717 |
|
2718 |
-
|
2719 |
-
|
2720 |
-
msgstr ""
|
2721 |
|
2722 |
-
|
2723 |
-
|
2724 |
-
msgstr ""
|
2725 |
|
2726 |
-
|
2727 |
-
|
2728 |
-
msgstr ""
|
2729 |
|
2730 |
-
|
2731 |
-
|
2732 |
-
msgstr ""
|
2733 |
|
2734 |
-
|
2735 |
-
|
2736 |
-
msgstr "沙箱模式"
|
2737 |
|
2738 |
-
|
2739 |
-
|
2740 |
-
msgstr "提供的代幣(Token)無效"
|
2741 |
|
2742 |
-
|
2743 |
-
|
2744 |
-
msgstr ""
|
2745 |
|
2746 |
-
|
2747 |
-
|
2748 |
-
msgstr ""
|
2749 |
|
2750 |
-
|
2751 |
-
|
2752 |
-
msgstr ""
|
2753 |
|
2754 |
-
|
2755 |
-
|
2756 |
-
msgstr ""
|
2757 |
|
2758 |
-
|
2759 |
-
|
2760 |
-
msgstr ""
|
2761 |
|
2762 |
-
|
2763 |
-
|
2764 |
-
msgstr ""
|
2765 |
|
2766 |
-
|
2767 |
-
|
2768 |
-
msgstr ""
|
2769 |
|
2770 |
-
|
2771 |
-
|
2772 |
-
msgstr ""
|
2773 |
|
2774 |
-
|
2775 |
-
|
2776 |
-
msgstr ""
|
2777 |
|
2778 |
-
|
2779 |
-
|
2780 |
-
msgstr ""
|
2781 |
|
2782 |
-
|
2783 |
-
|
2784 |
-
msgstr ""
|
2785 |
|
2786 |
-
|
2787 |
-
|
2788 |
-
msgstr ""
|
2789 |
|
2790 |
-
|
2791 |
-
|
2792 |
-
msgstr "Google日曆"
|
2793 |
|
2794 |
-
|
2795 |
-
|
2796 |
-
msgstr ""
|
2797 |
|
2798 |
-
|
2799 |
-
|
2800 |
-
msgstr ""
|
2801 |
|
2802 |
-
|
2803 |
-
|
2804 |
-
msgstr ""
|
2805 |
|
2806 |
-
|
2807 |
-
|
2808 |
-
msgstr "列"
|
2809 |
|
2810 |
-
|
2811 |
-
|
2812 |
-
msgstr "要使用購物車,停止使用WooCommerce <a href=“%s”>here</a> 。"
|
2813 |
|
2814 |
-
|
2815 |
-
|
2816 |
-
msgstr "清除"
|
2817 |
|
2818 |
-
|
2819 |
-
|
2820 |
-
msgstr ""
|
2821 |
|
2822 |
-
|
2823 |
-
|
2824 |
-
msgstr ""
|
2825 |
|
2826 |
-
|
2827 |
-
|
2828 |
-
msgstr ""
|
2829 |
|
2830 |
-
|
2831 |
-
|
2832 |
-
msgstr ""
|
2833 |
|
2834 |
-
|
2835 |
-
|
2836 |
-
msgstr ""
|
2837 |
|
2838 |
-
|
2839 |
-
|
2840 |
-
msgstr ""
|
2841 |
|
2842 |
-
|
2843 |
-
|
2844 |
-
msgstr ""
|
2845 |
|
2846 |
-
|
2847 |
-
|
2848 |
-
msgstr ""
|
2849 |
|
2850 |
-
|
2851 |
-
|
2852 |
-
msgstr "您預約的服務總價格是 {total_price}."
|
2853 |
|
2854 |
-
|
2855 |
-
|
2856 |
-
|
|
|
2857 |
|
2858 |
-
|
2859 |
-
|
2860 |
-
msgstr "優惠券"
|
2861 |
|
2862 |
-
|
2863 |
-
|
2864 |
-
|
|
|
2865 |
|
2866 |
-
|
2867 |
-
|
2868 |
-
msgstr "新的優惠券"
|
2869 |
|
2870 |
-
|
2871 |
-
|
2872 |
-
msgstr "編輯優惠券"
|
2873 |
|
2874 |
-
|
2875 |
-
msgid "
|
2876 |
-
msgstr ""
|
2877 |
|
2878 |
-
|
2879 |
-
|
2880 |
-
|
|
|
2881 |
|
2882 |
-
|
2883 |
-
|
2884 |
-
msgstr ""
|
2885 |
|
2886 |
-
|
2887 |
-
|
2888 |
-
msgstr ""
|
2889 |
|
2890 |
-
|
2891 |
-
|
2892 |
-
msgstr "折扣(%)"
|
2893 |
|
2894 |
-
|
2895 |
-
|
2896 |
-
msgstr "扣除"
|
2897 |
|
2898 |
-
|
2899 |
-
|
2900 |
-
msgstr "使用限額"
|
2901 |
|
2902 |
-
|
2903 |
-
msgid "
|
|
|
|
|
2904 |
msgstr ""
|
|
|
|
|
2905 |
|
2906 |
-
|
2907 |
-
|
2908 |
-
msgstr ""
|
2909 |
|
2910 |
-
|
2911 |
-
|
2912 |
-
msgstr ""
|
2913 |
|
2914 |
-
|
2915 |
-
|
2916 |
-
msgstr ""
|
2917 |
|
2918 |
-
|
2919 |
-
|
2920 |
-
msgstr ""
|
2921 |
|
2922 |
-
|
2923 |
-
|
2924 |
-
msgstr ""
|
2925 |
|
2926 |
-
|
2927 |
-
|
2928 |
-
msgstr ""
|
2929 |
|
2930 |
-
|
2931 |
-
|
2932 |
-
msgstr ""
|
2933 |
|
2934 |
-
|
2935 |
-
|
2936 |
-
msgstr ""
|
2937 |
|
2938 |
-
|
2939 |
-
|
|
|
2940 |
msgstr ""
|
|
|
|
|
2941 |
|
2942 |
-
|
2943 |
-
|
2944 |
-
msgstr "添加優惠卷"
|
2945 |
|
2946 |
-
|
2947 |
-
|
2948 |
-
|
|
|
2949 |
|
2950 |
-
|
2951 |
-
|
2952 |
-
msgstr ""
|
2953 |
|
2954 |
-
#:
|
2955 |
-
msgid "Number of times used"
|
2956 |
-
msgstr
|
3 |
"MIME-Version: 1.0\n"
|
4 |
"Content-Type: text/plain; charset=UTF-8\n"
|
5 |
"Content-Transfer-Encoding: 8bit\n"
|
6 |
+
"X-Generator: Loco https://localise.biz/\n"
|
7 |
"Project-Id-Version: Bookly\n"
|
8 |
+
"Language: zh_TW\n"
|
9 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
10 |
+
"Report-Msgid-Bugs-To: \n"
|
11 |
+
"POT-Creation-Date: 2020-02-12 09:03+0000\n"
|
12 |
+
"PO-Revision-Date: 2020-02-12 09:16+0000\n"
|
13 |
+
"Last-Translator: support@bookly.info\n"
|
14 |
+
"Language-Team: Chinese (Taiwan)\n"
|
15 |
+
"X-Loco-Version: 2.3.1; wp-5.3"
|
16 |
|
17 |
+
msgid "Invoice #{invoice_number} for your appointment"
|
18 |
+
msgstr "您預約的發票#{invoice_number}"
|
|
|
19 |
|
20 |
+
msgid ""
|
21 |
+
"Dear {client_name}.\n"
|
22 |
+
"\n"
|
23 |
+
"Attached please find invoice #{invoice_number} for your appointment.\n"
|
24 |
+
"\n"
|
25 |
+
"Thank you for choosing our company.\n"
|
26 |
+
"\n"
|
27 |
+
"{company_name}\n"
|
28 |
+
"{company_phone}\n"
|
29 |
+
"{company_website}"
|
30 |
+
msgstr ""
|
31 |
+
"尊敬的{client_name},\n"
|
32 |
+
"\n"
|
33 |
+
"隨函附上預約編號#{invoice_number} 。\n"
|
34 |
+
"\n"
|
35 |
+
"感謝您選擇我們的公司。\n"
|
36 |
+
"\n"
|
37 |
+
"{company_name}\n"
|
38 |
+
"{company_phone}\n"
|
39 |
+
"{company_website}"
|
40 |
|
41 |
+
msgid "New invoice"
|
42 |
+
msgstr "新發票"
|
|
|
43 |
|
44 |
+
msgid ""
|
45 |
+
"Hello.\n"
|
46 |
+
"You have a new invoice #{invoice_number} for an appointment scheduled by "
|
47 |
+
"{client_first_name} {client_last_name}.\n"
|
48 |
+
"Please download invoice here: {invoice_link}"
|
49 |
+
msgstr ""
|
50 |
+
"你好,\n"
|
51 |
+
"你有新的發票,來自{client_first_name} {client_last_name}的預約。\n"
|
52 |
+
"請下載發票: {invoice_link}"
|
53 |
|
54 |
+
msgid "BILL TO"
|
55 |
+
msgstr "記賬到"
|
|
|
56 |
|
57 |
+
msgid "Invoice#"
|
58 |
+
msgstr "發票#"
|
|
|
59 |
|
60 |
+
msgid "Date"
|
61 |
+
msgstr "日期"
|
|
|
62 |
|
63 |
+
msgid "Due date"
|
64 |
+
msgstr "到期日"
|
|
|
65 |
|
66 |
+
msgid "INVOICE"
|
67 |
+
msgstr "發票"
|
|
|
68 |
|
69 |
+
msgid "Thank you for your business"
|
70 |
+
msgstr "感謝您的業務"
|
|
|
71 |
|
72 |
+
msgid ""
|
73 |
+
"Invoices add-on requires your customers address information. So options "
|
74 |
+
"\"Make address field mandatory\" in Settings/Customers and \"Show address "
|
75 |
+
"field\" in Appearance/Details are activated automatically and can be "
|
76 |
+
"disabled after Invoices add-on is deactivated."
|
77 |
+
msgstr ""
|
78 |
+
"發票插件需要您的客戶地址。因此,在設置/客戶中的\"將地址字段設為必填項\"和外觀/詳細信息中的\"顯示地址字段\"選項將自動激活,並且可以在停用發票插件後將中止。"
|
79 |
|
80 |
+
msgid "Invoice due days"
|
81 |
+
msgstr "發票到期日期"
|
|
|
82 |
|
83 |
+
msgid "This setting specifies the due period for the invoice (in days)."
|
84 |
+
msgstr "此設置指定發票的到期期限(天數)。"
|
|
|
85 |
|
86 |
+
msgid "Invoice template"
|
87 |
+
msgstr "發票樣式"
|
|
|
88 |
|
89 |
+
msgid "Specify the template for the invoice."
|
90 |
+
msgstr "指定發票模板。"
|
|
|
91 |
|
92 |
+
msgid "Preview"
|
93 |
+
msgstr "預視"
|
94 |
+
|
95 |
+
msgid "Invoices"
|
96 |
+
msgstr "發票"
|
97 |
|
|
|
98 |
msgid "Settings saved."
|
99 |
msgstr "設定已保存。"
|
100 |
|
101 |
+
msgid "Download invoices"
|
102 |
+
msgstr "下載發票"
|
|
|
103 |
|
104 |
+
msgid "invoice creation date"
|
105 |
+
msgstr "發票建立日期"
|
|
|
106 |
|
107 |
+
msgid "due date of invoice"
|
108 |
+
msgstr "發票到期日"
|
|
|
109 |
|
110 |
+
msgid "number of days to submit payment"
|
111 |
+
msgstr "付款到期天"
|
|
|
112 |
|
113 |
+
msgid "invoice link"
|
114 |
+
msgstr "發票連結"
|
|
|
115 |
|
116 |
+
msgid "invoice number"
|
117 |
+
msgstr "發票號碼"
|
|
|
118 |
|
119 |
+
msgid "Attach invoice"
|
120 |
+
msgstr "附加發票"
|
|
|
121 |
|
122 |
+
msgid ""
|
123 |
+
"Invoice due days: Please enter value in the following range (in days) - 1 to "
|
124 |
+
"365."
|
125 |
+
msgstr "發票到期日期:請輸入有效的日數 - 1至365"
|
126 |
|
127 |
+
msgid "Service"
|
128 |
+
msgstr "服務"
|
|
|
129 |
|
130 |
+
msgid "Provider"
|
131 |
+
msgstr "供應者"
|
|
|
132 |
|
133 |
+
msgid "Deposit"
|
134 |
+
msgstr "存款"
|
|
|
135 |
|
136 |
+
msgid "Price"
|
137 |
+
msgstr "售價"
|
|
|
138 |
|
139 |
+
msgid "Tax"
|
140 |
+
msgstr "稅"
|
|
|
141 |
|
142 |
+
msgid "N/A"
|
143 |
+
msgstr "不適用"
|
|
|
144 |
|
145 |
+
msgid "Subtotal"
|
146 |
+
msgstr "小計"
|
|
|
147 |
|
148 |
+
msgid "Coupon discount"
|
149 |
+
msgstr "優惠券折扣"
|
|
|
150 |
|
151 |
+
msgid "Group discount"
|
152 |
+
msgstr "組別折扣"
|
|
|
153 |
|
154 |
+
msgid "Total"
|
155 |
+
msgstr "總計"
|
|
|
156 |
|
157 |
+
msgid "Paid"
|
158 |
+
msgstr "付費"
|
|
|
159 |
|
160 |
+
msgid "Due"
|
161 |
+
msgstr "應有"
|
|
|
162 |
|
163 |
+
msgid "Discount"
|
164 |
+
msgstr "折扣"
|
|
|
165 |
|
166 |
+
msgid "Outlook Calendar event"
|
167 |
+
msgstr "Outlook日曆事件"
|
|
|
168 |
|
169 |
+
msgid "Name"
|
170 |
+
msgstr "姓名"
|
|
|
171 |
|
172 |
+
msgid "Email"
|
173 |
+
msgstr "電郵地址"
|
|
|
174 |
|
175 |
+
msgid "Phone"
|
176 |
+
msgstr "電話號碼"
|
|
|
177 |
|
178 |
+
msgid "Outlook Calendar integration"
|
179 |
+
msgstr "Outlook日曆載入"
|
|
|
180 |
|
181 |
+
msgid "Synchronize staff member appointments with Outlook Calendar."
|
182 |
+
msgstr "將員工預約與Outlook日曆同步。"
|
|
|
183 |
|
184 |
+
msgid "Connect"
|
185 |
+
msgstr "連接"
|
|
|
186 |
|
187 |
+
#, php-format
|
188 |
+
msgid "Please configure Outlook Calendar <a href=\"%s\">settings</a> first"
|
189 |
+
msgstr "請首先在<a href=\"%s\">設置</a>中設定Outlook日曆。"
|
190 |
|
191 |
+
msgid "Connected"
|
192 |
+
msgstr "已連接"
|
|
|
193 |
|
194 |
+
msgid "disconnect"
|
195 |
+
msgstr "中斷"
|
|
|
196 |
|
197 |
+
msgid "Calendar"
|
198 |
+
msgstr "日曆"
|
|
|
199 |
|
200 |
+
msgid ""
|
201 |
+
"When you connect a calendar all future and past events will be synchronized "
|
202 |
+
"according to the selected synchronization mode. This may take a few minutes. "
|
203 |
+
"Please wait."
|
204 |
+
msgstr "當您連接日曆時,所有將來和過去的事件將根據所選的同步模式進行同步。這可能需要幾分鐘的時間。請耐心等待。"
|
205 |
|
206 |
+
msgid "-- Select calendar --"
|
207 |
+
msgstr "-- 選擇日曆 -- "
|
|
|
208 |
|
209 |
+
msgid "Can't change calendar for archived staff"
|
210 |
+
msgstr "無法更改已存檔員工的日曆"
|
211 |
+
|
212 |
+
msgid "Instructions"
|
213 |
+
msgstr "使用說明"
|
214 |
+
|
215 |
+
msgid ""
|
216 |
+
"Important: Your website must use <b>HTTPS</b>. The Outlook Calendar API will "
|
217 |
+
"not work with your website if there is no valid SSL certificate installed on "
|
218 |
+
"your web server."
|
219 |
msgstr ""
|
220 |
+
"重要提示:您的網站必須使用<b>HTTPS</b>。如果您的網路服務器上沒有安裝有效的SSL證書,則Outlook日曆API將不適用於您的網站。"
|
221 |
|
222 |
+
msgid "To find your Application ID and Application Secret, do the following:"
|
223 |
+
msgstr "要查找您的Application ID和Application Secret,請執行以下操作:"
|
224 |
+
|
225 |
+
#, php-format
|
226 |
+
msgid ""
|
227 |
+
"Sign in to the <a href=\"%s\" target=\"_blank\">Azure portal</a> using "
|
228 |
+
"either a work or school account or a personal Microsoft account."
|
229 |
msgstr ""
|
230 |
+
"使用工作或學校帳戶或個人Microsoft帳戶登錄<a href=\"%s\" target=\"_blank\"> Azure平台</a>。"
|
231 |
|
232 |
+
msgid ""
|
233 |
+
"If your account gives you access to more than one tenant, select your "
|
234 |
+
"account in the top right corner, and set your portal session to the Azure AD "
|
235 |
+
"tenant that you want."
|
236 |
+
msgstr "如果您的帳戶允許您訪問多個租戶,請在右上角選擇您的帳戶,然後將平台設為所需的Azure AD租戶。"
|
237 |
|
238 |
+
msgid ""
|
239 |
+
"In the left-hand navigation pane, select the <b>Azure Active Directory</b> "
|
240 |
+
"service, and then select <b>App registrations > New registration</b>."
|
241 |
+
msgstr ""
|
242 |
+
"在左側導航窗格中,選擇<b>Azure Active Directory </b>服務,然後選擇<b>應用程式註冊 > 新註冊</b>。"
|
243 |
|
244 |
+
msgid ""
|
245 |
+
"When the <b>Register an application</b> page appears, enter your "
|
246 |
+
"application's <b>Name</b> and <b>Redirect URI</b> found below on this page. "
|
247 |
+
"When finished, select <b>Register</b>."
|
248 |
+
msgstr ""
|
249 |
+
"當<b>註冊應用程式</b>頁面出現時,輸入在此頁面下方找到的應用程式的<b>名稱</b>和<b>重定向URI </b>。完成後,選擇<b>註冊</b>。"
|
250 |
|
251 |
+
msgid ""
|
252 |
+
"Azure AD assigns a unique application (client) ID to your app, and you're "
|
253 |
+
"taken to your application's <b>Overview</b> page."
|
254 |
+
msgstr "Azure AD為您的應用程式分配一個獨一無二的應用程式(客戶端)ID,您將被帶到應用程式的<b>總覽</b>頁面。"
|
255 |
|
256 |
+
msgid ""
|
257 |
+
"Copy the <b>Application (client) ID</b> and insert it into the form below on "
|
258 |
+
"this page."
|
259 |
+
msgstr "複製<b>應用程式(客戶)ID </b>,並將其插入此頁面下方的表格中。"
|
260 |
|
261 |
+
msgid ""
|
262 |
+
"Under <b>Certificates & secrets</b>, choose <b>New client secret</b>, "
|
263 |
+
"set <b>Expires</b> to <b>Never</b> and click <b>Add</b>. Copy the app secret "
|
264 |
+
"from the <b>Client secrets</b> list before leaving the page. Insert the "
|
265 |
+
"secret into the form below on this page."
|
266 |
+
msgstr ""
|
267 |
+
"在<b>Certificates & secrets</b>中,選擇<b>New client secret</b>,將<b>過期</b>"
|
268 |
+
"設置為<b>從不</b>,然後選擇<b>添加</b>。離開頁面前,從<b>Client secrets</b>"
|
269 |
+
"列表中複製應用程式秘密。將它插入到此頁面下方的表單中。"
|
270 |
|
271 |
+
msgid ""
|
272 |
+
"Under <b>API permissions</b>, choose <b>Add a permission</b>, and select <b>"
|
273 |
+
"Microsoft Graph > Delegated permissions</b>. In <b>Select permissions</b> "
|
274 |
+
"find <b>Calendars.ReadWrite</b>, select it and click <b>Add permissions</b> "
|
275 |
+
"button."
|
276 |
+
msgstr ""
|
277 |
+
"在<b> API權限</b>下,選擇<b>添加權限</b>,然後選擇<b> Microsoft Graph > 委派的權限</b>。在<b>"
|
278 |
+
"選擇權限</b>中找出和選擇<b> Calendars.ReadWrite </b>,然後單擊<b>添加權限</b>按鈕。"
|
279 |
|
280 |
+
msgid "<b>Save</b> your changes."
|
281 |
+
msgstr "儲存您的改變。"
|
|
|
282 |
|
283 |
+
msgid ""
|
284 |
+
"Go to Staff Members, select a staff member and click <b>Connect</b> which is "
|
285 |
+
"located at the bottom of the page."
|
286 |
+
msgstr "轉到服務員工,選擇一名員工,然後按位於網頁底部的 <b>連接 </b>。"
|
287 |
|
288 |
+
msgid "Application ID"
|
289 |
+
msgstr "應用程式號"
|
|
|
290 |
|
291 |
+
msgid "The Application ID obtained from the Microsoft App Registration Portal."
|
292 |
+
msgstr "從Microsoft應用程式註冊平台中獲得的Application ID。"
|
|
|
293 |
|
294 |
+
msgid "Application secret"
|
295 |
+
msgstr "Application secret"
|
|
|
296 |
|
297 |
+
msgid ""
|
298 |
+
"The Application Secret password obtained from the Microsoft App Registration "
|
299 |
+
"Portal."
|
300 |
+
msgstr "從Microsoft應用程式註冊平台中獲得的Application Secret密碼。"
|
301 |
|
302 |
+
msgid "Redirect URI"
|
303 |
+
msgstr "轉向連接URI"
|
|
|
304 |
|
305 |
+
msgid ""
|
306 |
+
"Enter this URL as a Redirect URLs in the Microsoft App Registration Portal."
|
307 |
+
msgstr "在Microsoft App註冊平台中輸入此URL作為重定向URL。"
|
308 |
|
309 |
+
msgid "Synchronization mode"
|
310 |
+
msgstr "同步模式"
|
|
|
311 |
|
312 |
+
msgid ""
|
313 |
+
"With \"One-way\" sync Bookly pushes new appointments and any further changes "
|
314 |
+
"to Outlook Calendar. With \"Two-way front-end only\" sync Bookly will "
|
315 |
+
"additionally fetch events from Outlook Calendar and remove corresponding "
|
316 |
+
"time slots before displaying the Time step of the booking form (this may "
|
317 |
+
"lead to a delay when users click Next to get to the Time step). With \"Two-"
|
318 |
+
"way\" sync all bookings created in Bookly Calendar will be automatically "
|
319 |
+
"copied to Outlook Calendar and vice versa."
|
320 |
+
msgstr ""
|
321 |
+
"通過\"單向\"同步,Bookly可以將新預約和任何進一步的更改推送到Outlook日曆。使用\"雙向(僅前端)\"同步,Bookly可將從Outlook日曆中獲取的事件並刪除相應的時間,然後顯示預訂表單的\"時間\"步驟(這可能會導致用戶選擇\"下一步\"進入\"時間\"步驟時出現延遲)。通過\"雙向\"同步,在Bookly日曆中創建的所有預訂將自動複製到Outlook日曆,反之亦然。"
|
322 |
|
323 |
+
msgid "One-way"
|
324 |
+
msgstr "單向"
|
|
|
325 |
|
326 |
+
msgid "Two-way front-end only"
|
327 |
+
msgstr "雙向 僅前端"
|
|
|
328 |
|
329 |
+
msgid "Two-way"
|
330 |
+
msgstr "雙向 "
|
|
|
331 |
|
332 |
+
msgid "Sync appointments history"
|
333 |
+
msgstr "預約同步歷史"
|
|
|
334 |
|
335 |
+
msgid ""
|
336 |
+
"Specify how many days of past calendar data you wish to sync at the time of "
|
337 |
+
"initial sync. If you enter 0, synchronization of past events will not be "
|
338 |
+
"performed."
|
339 |
+
msgstr "指定您希望在初次同步時希望同步過去幾天的數據。如果輸入0,將不執行過去事件的同步。"
|
340 |
|
341 |
+
msgid "Copy Outlook Calendar event titles"
|
342 |
+
msgstr "複製Outlook日曆活動標題"
|
|
|
|
|
|
|
|
|
|
|
343 |
|
344 |
+
msgid ""
|
345 |
+
"If enabled then titles of Outlook Calendar events will be copied to Bookly "
|
346 |
+
"appointments. If disabled, a standard title \"Outlook Calendar event\" will "
|
347 |
+
"be used."
|
348 |
+
msgstr "如果啟用,則Outlook日曆事件的標題將被複製到Bookly預約中。如果不啟用,將使用標準標題\"Outlook日曆事件\"。"
|
349 |
|
350 |
+
msgid "Limit number of fetched events"
|
351 |
+
msgstr "獲取事件的數量限制"
|
|
|
352 |
|
353 |
+
msgid ""
|
354 |
+
"If there is a lot of events in Outlook Calendar sometimes this leads to a "
|
355 |
+
"lack of memory in PHP when Bookly tries to fetch all events. You can limit "
|
356 |
+
"the number of fetched events here."
|
357 |
+
msgstr "如果Outlook日曆中有很多事件,那麼當Bookly嘗試獲取所有事件時,這有時會導致PHP記憶體不足。您可以在此處限制獲取的事件數量。"
|
358 |
|
359 |
+
msgid "Template for event title"
|
360 |
+
msgstr "預約標題的模板"
|
|
|
361 |
|
362 |
+
msgid ""
|
363 |
+
"Configure what information should be placed in the title of Outlook Calendar "
|
364 |
+
"event. Available codes are {service_name}, {staff_name} and {client_names}."
|
365 |
msgstr ""
|
366 |
+
"配置應在Outlook日曆事件的標題中放置哪些信息。可用代碼為{service_name},{staff_name}和{client_names}。"
|
367 |
|
368 |
+
msgid "Appointment section"
|
369 |
+
msgstr "預約部分"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
370 |
|
371 |
+
msgid "This section describes information that is displayed about appointment."
|
372 |
+
msgstr "本節將顯示預約的信息。"
|
|
|
373 |
|
374 |
+
msgid "Customer section"
|
375 |
+
msgstr "客戶部分"
|
|
|
376 |
|
377 |
+
msgid ""
|
378 |
+
"This section describes information that is displayed about each participant "
|
379 |
+
"of the appointment."
|
380 |
+
msgstr "本節將顯示預約中的每個參與者信息。"
|
381 |
|
382 |
+
msgid "customer notes for appointment"
|
383 |
+
msgstr "客戶須知"
|
|
|
384 |
|
385 |
+
msgid "email of client"
|
386 |
+
msgstr "客戶電郵"
|
|
|
387 |
|
388 |
+
msgid "full name of client"
|
389 |
+
msgstr "客戶全名"
|
|
|
390 |
|
391 |
+
msgid "first name of client"
|
392 |
+
msgstr "客戶的名字"
|
|
|
393 |
|
394 |
+
msgid "last name of client"
|
395 |
+
msgstr "客戶的姓"
|
|
|
396 |
|
397 |
+
msgid "phone of client"
|
398 |
+
msgstr "客戶電話"
|
|
|
399 |
|
400 |
+
msgid "status of payment"
|
401 |
+
msgstr "付款狀態"
|
|
|
402 |
|
403 |
+
msgid "payment type"
|
404 |
+
msgstr "付款方式"
|
|
|
405 |
|
406 |
+
msgid "status of appointment"
|
407 |
+
msgstr "預約狀況"
|
|
|
408 |
|
409 |
+
msgid "total price of booking (sum of all cart items after applying coupon)"
|
410 |
+
msgstr "預訂的總價格(所有購物車項目的總和,未使用優惠券前)"
|
|
|
411 |
|
412 |
+
msgid "date of appointment"
|
413 |
+
msgstr "預約日期"
|
|
|
414 |
|
415 |
+
msgid "time of appointment"
|
416 |
+
msgstr "預約時間"
|
|
|
417 |
|
418 |
+
msgid "booking number"
|
419 |
+
msgstr "訂單號"
|
|
|
420 |
|
421 |
+
msgid "name of category"
|
422 |
+
msgstr "類別名稱"
|
|
|
423 |
|
424 |
+
msgid "address of company"
|
425 |
+
msgstr "公司地址"
|
|
|
426 |
|
427 |
+
msgid "name of company"
|
428 |
+
msgstr "公司名稱"
|
|
|
429 |
|
430 |
+
msgid "company phone"
|
431 |
+
msgstr "公司電話"
|
|
|
432 |
|
433 |
+
msgid "company web-site address"
|
434 |
+
msgstr "公司網站地址"
|
|
|
435 |
|
436 |
+
msgid "info of service"
|
437 |
+
msgstr "服務內容"
|
|
|
438 |
|
439 |
+
msgid "name of service"
|
440 |
+
msgstr "服務名稱"
|
|
|
441 |
|
442 |
+
msgid "price of service"
|
443 |
+
msgstr "服務收費"
|
|
|
444 |
|
445 |
+
msgid "email of staff"
|
446 |
+
msgstr "員工電郵"
|
|
|
447 |
|
448 |
+
msgid "info of staff"
|
449 |
+
msgstr "員工資訊"
|
|
|
450 |
|
451 |
+
msgid "name of staff"
|
452 |
+
msgstr "員工名稱"
|
|
|
453 |
|
454 |
+
msgid "phone of staff"
|
455 |
+
msgstr "員工電話"
|
|
|
456 |
|
457 |
+
msgid "Outlook Calendar"
|
458 |
+
msgstr "Outlook日曆"
|
|
|
459 |
|
460 |
+
msgid "Disabled"
|
461 |
+
msgstr "停用"
|
|
|
462 |
|
463 |
+
msgid "Synchronize with Outlook Calendar"
|
464 |
+
msgstr "與Outlook日曆同步"
|
|
|
465 |
|
466 |
+
msgid "Calendars synchronized successfully."
|
467 |
+
msgstr "日曆已成功同步。"
|
|
|
468 |
|
469 |
+
msgid "Custom Fields"
|
470 |
+
msgstr "自定欄位"
|
|
|
471 |
|
472 |
+
msgid "Incorrect code"
|
473 |
+
msgstr "代碼不正確"
|
|
|
474 |
|
475 |
+
msgid "Required"
|
476 |
+
msgstr "必需"
|
|
|
477 |
|
478 |
+
msgid "combined values of all custom fields"
|
479 |
+
msgstr "所有自訂欄位的組合值"
|
|
|
480 |
|
481 |
+
msgid "Bind fields to services"
|
482 |
+
msgstr "綁定欄位到服務"
|
|
|
483 |
|
484 |
+
msgid ""
|
485 |
+
"When this setting is enabled you will be able to create service specific "
|
486 |
+
"custom fields."
|
487 |
+
msgstr "如果啟用此設置,您將能夠創建服務特定的自定義字段。"
|
488 |
|
489 |
+
msgid "Merge repeating custom fields for multiple bookings of the service"
|
490 |
+
msgstr "合併多次預約服務重複的自定義字段"
|
|
|
491 |
|
492 |
+
msgid ""
|
493 |
+
"If enabled, customers will see custom fields for unique appointments while "
|
494 |
+
"booking multiple instances of the service. Repeating custom fields are "
|
495 |
+
"merged (collapsed) into one field. If disabled, customers will see custom "
|
496 |
+
"fields for each appointment in the set of bookings."
|
497 |
msgstr ""
|
498 |
+
"如果啟用,客戶在預約多個服務時將看到單一預約的自定義字段。重複的自定義字段將合併(折疊)為一個字段。如果不啟用,客戶將在預約集中看到每個約會的自定義字段。"
|
499 |
|
500 |
+
msgid "Text Field"
|
501 |
+
msgstr "文字欄"
|
|
|
502 |
|
503 |
+
msgid "Text Area"
|
504 |
+
msgstr "多行文字框"
|
|
|
505 |
|
506 |
+
msgid "Text Content"
|
507 |
+
msgstr "文本内容"
|
|
|
508 |
|
509 |
+
msgid "Checkbox Group"
|
510 |
+
msgstr "核取方塊組"
|
|
|
511 |
|
512 |
+
msgid "Radio Button Group"
|
513 |
+
msgstr "單選按鈕組"
|
|
|
514 |
|
515 |
+
msgid "Drop Down"
|
516 |
+
msgstr "下拉顯示"
|
|
|
517 |
|
518 |
+
msgid "Captcha"
|
519 |
+
msgstr "Captcha 驗證"
|
|
|
520 |
|
521 |
+
msgid "HTML allowed in all texts and labels."
|
522 |
+
msgstr "所有文字和標籤皆允許HTML語法"
|
|
|
523 |
|
524 |
+
msgid "Reorder"
|
525 |
+
msgstr "重新排序"
|
|
|
|
|
526 |
|
527 |
+
msgid "Remove field"
|
528 |
+
msgstr "刪除文字欄"
|
|
|
529 |
|
530 |
+
msgid "Enter a label"
|
531 |
+
msgstr "輸入標籤"
|
|
|
532 |
|
533 |
+
msgid "Required field"
|
534 |
+
msgstr "必填的文字欄"
|
|
|
535 |
|
536 |
+
msgid "Enter a content"
|
537 |
+
msgstr "輸入內容"
|
|
|
538 |
|
539 |
+
msgid "Checkbox"
|
540 |
+
msgstr "核取方塊"
|
|
|
541 |
|
542 |
+
msgid "Radio Button"
|
543 |
+
msgstr "單選按鈕"
|
|
|
544 |
|
545 |
+
msgid "Option"
|
546 |
+
msgstr "選項"
|
|
|
547 |
|
548 |
+
msgid "Remove item"
|
549 |
+
msgstr "刪除此項目"
|
|
|
550 |
|
551 |
+
msgid "All services"
|
552 |
+
msgstr "所有服務"
|
|
|
553 |
|
554 |
+
msgid "No service selected"
|
555 |
+
msgstr "未選擇服務"
|
|
|
556 |
|
557 |
+
msgid "Show custom fields"
|
558 |
+
msgstr "顯示自定義字段"
|
|
|
559 |
|
560 |
+
msgid "extended staff agenda for next day"
|
561 |
+
msgstr "延長工作人員議程到第二天"
|
|
|
562 |
|
563 |
+
msgid "combined values of all custom fields (formatted in 2 columns)"
|
564 |
+
msgstr "所有的自定義字段的組合值(以2列格式)"
|
|
|
565 |
|
566 |
+
msgid "Another code"
|
567 |
+
msgstr "另一代碼"
|
568 |
+
|
569 |
+
msgid "Notification to customer about approved recurring appointment"
|
570 |
+
msgstr "通知客戶有關批准的定期預約"
|
571 |
+
|
572 |
+
msgid "Your appointment information"
|
573 |
+
msgstr "您的預約信息"
|
574 |
+
|
575 |
+
msgid ""
|
576 |
+
"Dear {client_name}.\n"
|
577 |
+
"\n"
|
578 |
+
"This is a confirmation that you have booked {service_name} (x "
|
579 |
+
"{recurring_count}).\n"
|
580 |
+
"\n"
|
581 |
+
"Please find the schedule of your booking below.\n"
|
582 |
+
"\n"
|
583 |
+
"{appointment_schedule}\n"
|
584 |
+
"\n"
|
585 |
+
"We are waiting you at {company_address}.\n"
|
586 |
+
"\n"
|
587 |
+
"Thank you for choosing our company.\n"
|
588 |
+
"\n"
|
589 |
+
"{company_name}\n"
|
590 |
+
"{company_phone}\n"
|
591 |
+
"{company_website}"
|
592 |
msgstr ""
|
593 |
+
"尊敬的{client_name},\n"
|
594 |
+
"\n"
|
595 |
+
"我們確認您預約了{service_name}(x {recurring_count})。\n"
|
596 |
+
"\n"
|
597 |
+
"請在下面查閱服務時間表。\n"
|
598 |
+
"\n"
|
599 |
+
"{appointment_schedule}\n"
|
600 |
+
"\n"
|
601 |
+
"我們會在{company_address}等候您。\n"
|
602 |
+
"\n"
|
603 |
+
"感謝您選擇我們的公司。\n"
|
604 |
+
"\n"
|
605 |
+
"{company_name}\n"
|
606 |
+
"{company_phone}\n"
|
607 |
+
"{company_website}"
|
608 |
|
609 |
+
msgid "Notification to staff member about approved recurring appointment"
|
610 |
+
msgstr "通知員工有關批准了的定期預約"
|
611 |
+
|
612 |
+
msgid "New booking information"
|
613 |
+
msgstr "新預約信息"
|
614 |
+
|
615 |
+
msgid ""
|
616 |
+
"Hello.\n"
|
617 |
+
"\n"
|
618 |
+
"You have a new booking.\n"
|
619 |
+
"\n"
|
620 |
+
"Service: {service_name} (x {recurring_count})\n"
|
621 |
+
"Schedule:\n"
|
622 |
+
"{appointment_schedule}\n"
|
623 |
+
"Client name: {client_name}\n"
|
624 |
+
"Client phone: {client_phone}\n"
|
625 |
+
"Client email: {client_email}"
|
626 |
msgstr ""
|
627 |
+
"你好,\n"
|
628 |
+
"\n"
|
629 |
+
"你有一個新預約。{service_name} (x {recurring_count})\n"
|
630 |
+
"時間表:\n"
|
631 |
+
"{appointment_schedule}\n"
|
632 |
+
"客戶名稱:{client_name}\n"
|
633 |
+
"客戶電話:{client_phone}\n"
|
634 |
+
"客戶電子郵件:{client_email}"
|
635 |
|
636 |
+
msgid "Notification to customer about cancelled recurring appointment"
|
637 |
+
msgstr "通知客戶有關取消的定期預約"
|
|
|
638 |
|
639 |
+
msgid "Booking cancellation"
|
640 |
+
msgstr "取消預約"
|
|
|
641 |
|
642 |
+
msgid ""
|
643 |
+
"Dear {client_name}.\n"
|
644 |
+
"\n"
|
645 |
+
"Your booking of {service_name} (x {recurring_count}) has been cancelled.\n"
|
646 |
+
"\n"
|
647 |
+
"Reason: {cancellation_reason}\n"
|
648 |
+
"\n"
|
649 |
+
"Please find the schedule of the cancelled booking below:\n"
|
650 |
+
"\n"
|
651 |
+
"{appointment_schedule}\n"
|
652 |
+
"\n"
|
653 |
+
"Thank you for choosing our company.\n"
|
654 |
+
"\n"
|
655 |
+
"{company_name}\n"
|
656 |
+
"{company_phone}\n"
|
657 |
+
"{company_website}"
|
658 |
+
msgstr ""
|
659 |
+
"尊敬的{client_name},\n"
|
660 |
+
"\n"
|
661 |
+
"您預約的{service_name}(x {recurring_count})已被取消。\n"
|
662 |
+
"\n"
|
663 |
+
"原因: {cancellation_reason}\n"
|
664 |
+
"\n"
|
665 |
+
"請在下面查閱已取消服務的時間表。\n"
|
666 |
+
"{appointment_schedule}\n"
|
667 |
+
"\n"
|
668 |
+
"感謝您選擇我們的公司。\n"
|
669 |
+
"\n"
|
670 |
+
"{company_name}\n"
|
671 |
+
"{company_phone}\n"
|
672 |
+
"{company_website}"
|
673 |
|
674 |
+
msgid "Notification to staff member about cancelled recurring appointment"
|
675 |
+
msgstr "通知員工有關取消了的定期預約"
|
|
|
676 |
|
677 |
+
msgid ""
|
678 |
+
"Hello.\n"
|
679 |
+
"\n"
|
680 |
+
"The following booking has been cancelled.\n"
|
681 |
+
"\n"
|
682 |
+
"Reason: {cancellation_reason}\n"
|
683 |
+
"\n"
|
684 |
+
"Service: {service_name} (x {recurring_count})\n"
|
685 |
+
"Schedule:\n"
|
686 |
+
"{appointment_schedule}\n"
|
687 |
+
"Client name: {client_name}\n"
|
688 |
+
"Client phone: {client_phone}\n"
|
689 |
+
"Client email: {client_email}"
|
690 |
+
msgstr ""
|
691 |
+
"你好,\n"
|
692 |
+
"\n"
|
693 |
+
"以下預約已被取消。\n"
|
694 |
+
"\n"
|
695 |
+
"原因:{cancellation_reason}\n"
|
696 |
+
"\n"
|
697 |
+
"服務:{service_name}(x {recurring_count})\n"
|
698 |
+
"時間表:\n"
|
699 |
+
"{appointment_schedule}\n"
|
700 |
+
"客戶名稱:{client_name}\n"
|
701 |
+
"客戶電話:{client_phone}\n"
|
702 |
+
"客戶電子郵件:{client_email}"
|
703 |
|
704 |
+
msgid "Notification to customer about rejected recurring appointment"
|
705 |
+
msgstr "通知客戶有關被拒絕的定期預約"
|
|
|
706 |
|
707 |
+
msgid "Booking rejection"
|
708 |
+
msgstr "拒絕預訂"
|
|
|
709 |
|
710 |
+
msgid ""
|
711 |
+
"Dear {client_name}.\n"
|
712 |
+
"\n"
|
713 |
+
"Your booking of {service_name} (x {recurring_count}) has been rejected.\n"
|
714 |
+
"\n"
|
715 |
+
"Reason: {cancellation_reason}\n"
|
716 |
+
"\n"
|
717 |
+
"Please find the schedule of the cancelled booking below:\n"
|
718 |
+
"\n"
|
719 |
+
"{appointment_schedule}\n"
|
720 |
+
"\n"
|
721 |
+
"Thank you for choosing our company.\n"
|
722 |
+
"\n"
|
723 |
+
"{company_name}\n"
|
724 |
+
"{company_phone}\n"
|
725 |
+
"{company_website}"
|
726 |
+
msgstr ""
|
727 |
+
"尊敬的{client_name},\n"
|
728 |
+
"\n"
|
729 |
+
"您預約的{service_name}(x {recurring_count})已被拒絕。\n"
|
730 |
+
"\n"
|
731 |
+
"原因: {cancellation_reason}\n"
|
732 |
+
"\n"
|
733 |
+
"請在下面查閱已取消服務的時間表。\n"
|
734 |
+
"{appointment_schedule}\n"
|
735 |
+
"\n"
|
736 |
+
"感謝您選擇我們的公司。\n"
|
737 |
+
"\n"
|
738 |
+
"{company_name}\n"
|
739 |
+
"{company_phone}\n"
|
740 |
+
"{company_website}"
|
741 |
|
742 |
+
msgid "Notification to staff member about rejected recurring appointment "
|
743 |
+
msgstr "通知員工有關拒絕了的定期預約"
|
|
|
744 |
|
745 |
+
msgid ""
|
746 |
+
"Hello.\n"
|
747 |
+
"\n"
|
748 |
+
"The following booking has been rejected.\n"
|
749 |
+
"\n"
|
750 |
+
"Reason: {cancellation_reason}\n"
|
751 |
+
"\n"
|
752 |
+
"Service: {service_name} (x {recurring_count})\n"
|
753 |
+
"Schedule:\n"
|
754 |
+
"{appointment_schedule}\n"
|
755 |
+
"Client name: {client_name}\n"
|
756 |
+
"Client phone: {client_phone}\n"
|
757 |
+
"Client email: {client_email}"
|
758 |
+
msgstr ""
|
759 |
+
"你好,\n"
|
760 |
+
"\n"
|
761 |
+
"以下預約已被拒絕。\n"
|
762 |
+
"\n"
|
763 |
+
"拒絕原因:{cancellation_reason}\n"
|
764 |
+
"\n"
|
765 |
+
"服務:service_name} (x {recurring_count})\n"
|
766 |
+
"時間表:\n"
|
767 |
+
"{appointment_schedule}\n"
|
768 |
+
"客戶名稱:{client_name}\n"
|
769 |
+
"客戶電話:{client_phone}\n"
|
770 |
+
"客戶電子郵件:{client_email}"
|
771 |
|
772 |
+
msgid ""
|
773 |
+
"Notification to customer about placing on waiting list for recurring "
|
774 |
+
"appointment"
|
775 |
+
msgstr "通知客戶有關定期預約的候補名單"
|
776 |
|
777 |
+
msgid "You have been added to waiting list for appointment"
|
778 |
+
msgstr "您已被添加到等待名單上"
|
|
|
779 |
|
780 |
+
msgid ""
|
781 |
+
"Dear {client_name}.\n"
|
782 |
+
"\n"
|
783 |
+
"This is a confirmation that you have been added to the waiting list for "
|
784 |
+
"{service_name} (x {recurring_count}).\n"
|
785 |
+
"\n"
|
786 |
+
"Please find the service schedule below.\n"
|
787 |
+
"\n"
|
788 |
+
"{appointment_schedule}\n"
|
789 |
+
"\n"
|
790 |
+
"Thank you for choosing our company.\n"
|
791 |
+
"\n"
|
792 |
+
"{company_name}\n"
|
793 |
+
"{company_phone}\n"
|
794 |
+
"{company_website}"
|
795 |
+
msgstr ""
|
796 |
+
"尊敬的{client_name},\n"
|
797 |
+
"\n"
|
798 |
+
"我們確認您已被添加到{service_name}(x {recurring_count})的候補名單中。\n"
|
799 |
+
"\n"
|
800 |
+
"請在下面查閱服務時間表。\n"
|
801 |
+
"\n"
|
802 |
+
"{appointment_schedule}\n"
|
803 |
+
"\n"
|
804 |
+
"感謝您選擇我們的公司。\n"
|
805 |
+
"\n"
|
806 |
+
"{company_name}\n"
|
807 |
+
"{company_phone}\n"
|
808 |
+
"{company_website}"
|
809 |
|
810 |
+
msgid ""
|
811 |
+
"Notification to staff member about placing on waiting list for recurring "
|
812 |
+
"appointment "
|
813 |
+
msgstr "通知員工有關定期預約候補名單"
|
814 |
|
815 |
+
msgid "New waiting list information"
|
816 |
+
msgstr "新的候補名單信息"
|
|
|
817 |
|
818 |
+
msgid ""
|
819 |
+
"Hello.\n"
|
820 |
+
"\n"
|
821 |
+
"You have new customer in the waiting list.\n"
|
822 |
+
"\n"
|
823 |
+
"Service: {service_name} (x {recurring_count})\n"
|
824 |
+
"Schedule:\n"
|
825 |
+
"{appointment_schedule}\n"
|
826 |
+
"Client name: {client_name}\n"
|
827 |
+
"Client phone: {client_phone}\n"
|
828 |
+
"Client email: {client_email}"
|
829 |
+
msgstr ""
|
830 |
+
"你好,\n"
|
831 |
+
"\n"
|
832 |
+
"您的候補名單中有新客戶。\n"
|
833 |
+
"\n"
|
834 |
+
"服務:{service_name} (x {recurring_count})\n"
|
835 |
+
"時間表:\n"
|
836 |
+
"{appointment_schedule}\n"
|
837 |
+
"客戶名稱:{client_name}\n"
|
838 |
+
"客戶電話:{client_phone}\n"
|
839 |
+
"客戶電子郵件:{client_email}"
|
840 |
|
841 |
+
msgid ""
|
842 |
+
"Dear {client_name}.\n"
|
843 |
+
"This is a confirmation that you have booked {service_name} (x "
|
844 |
+
"{recurring_count}).\n"
|
845 |
+
"Please find the schedule of your booking below.\n"
|
846 |
+
"{appointment_schedule}\n"
|
847 |
+
"\n"
|
848 |
+
"We are waiting you at {company_address}.\n"
|
849 |
+
"Thank you for choosing our company.\n"
|
850 |
+
"{company_name}\n"
|
851 |
+
"{company_phone}\n"
|
852 |
+
"{company_website}"
|
853 |
+
msgstr ""
|
854 |
+
"尊敬的{client_name},\n"
|
855 |
+
"\n"
|
856 |
+
"我們確認您已預約了 {service_name} (x {recurring_count})。\n"
|
857 |
+
"請在下面查閱預約時間表。\n"
|
858 |
+
"{appointment_schedule}\n"
|
859 |
+
"\n"
|
860 |
+
"我們會在{company_address}等候您。\n"
|
861 |
+
"感謝您選擇我們的公司。\n"
|
862 |
+
"{company_name}\n"
|
863 |
+
"{company_phone}\n"
|
864 |
+
"{company_website}"
|
865 |
|
866 |
+
msgid ""
|
867 |
+
"Hello.\n"
|
868 |
+
"You have a new booking.\n"
|
869 |
+
"Service: {service_name} (x {recurring_count})\n"
|
870 |
+
"Schedule:\n"
|
871 |
+
"{appointment_schedule}\n"
|
872 |
+
"Client name: {client_name}\n"
|
873 |
+
"Client phone: {client_phone}\n"
|
874 |
+
"Client email: {client_email}"
|
875 |
+
msgstr ""
|
876 |
+
"你好,\n"
|
877 |
+
"你有新的預約。\n"
|
878 |
+
"服務: {service_name} (x {recurring_count})\n"
|
879 |
+
"時間表:\n"
|
880 |
+
"{appointment_schedule}\n"
|
881 |
+
"客戶名稱: {client_name}\n"
|
882 |
+
"客戶電話: {client_phone}\n"
|
883 |
+
"客戶電郵: {client_email}"
|
884 |
|
885 |
+
msgid ""
|
886 |
+
"Dear {client_name}.\n"
|
887 |
+
"Your booking of {service_name} (x {recurring_count}) has been cancelled.\n"
|
888 |
+
"Reason: {cancellation_reason}\n"
|
889 |
+
"Please find the schedule of the cancelled booking below: "
|
890 |
+
"{appointment_schedule}\n"
|
891 |
+
"Thank you for choosing our company.\n"
|
892 |
+
"{company_name}\n"
|
893 |
+
"{company_phone}\n"
|
894 |
+
"{company_website}"
|
895 |
+
msgstr ""
|
896 |
+
"尊敬的{client_name},\n"
|
897 |
+
"\n"
|
898 |
+
"您已經取消了在{appointment_date}的{appointment_time}進行的預約{service_name}。\n"
|
899 |
+
"\n"
|
900 |
+
"感謝您選擇我們的公司。\n"
|
901 |
+
"{company_name}\n"
|
902 |
+
"{company_phone}\n"
|
903 |
+
"{company_website}"
|
904 |
|
905 |
+
msgid "Notification to staff member about cancelled recurring appointment "
|
906 |
+
msgstr "通知員工有關批准了的定期預約"
|
|
|
907 |
|
908 |
+
msgid ""
|
909 |
+
"Hello.\n"
|
910 |
+
"The following booking has been cancelled.\n"
|
911 |
+
"Reason: {cancellation_reason}\n"
|
912 |
+
"Service: {service_name} (x {recurring_count})\n"
|
913 |
+
"Schedule:\n"
|
914 |
+
"{appointment_schedule}\n"
|
915 |
+
"Client name: {client_name}\n"
|
916 |
+
"Client phone: {client_phone}\n"
|
917 |
+
"Client email: {client_email}"
|
918 |
+
msgstr ""
|
919 |
+
"你好,\n"
|
920 |
+
"\n"
|
921 |
+
"以下的預約被取消。\n"
|
922 |
+
"取消原因:{cancellation_reason}\n"
|
923 |
+
"服務:{service_name} (x {recurring_count})\n"
|
924 |
+
"時間表:\n"
|
925 |
+
"{appointment_schedule}\n"
|
926 |
+
"Client name: {client_name}\n"
|
927 |
+
"Client phone: {client_phone}\n"
|
928 |
+
"Client email: {client_email}"
|
929 |
|
930 |
+
msgid ""
|
931 |
+
"Dear {client_name}.\n"
|
932 |
+
"Your booking of {service_name} (x {recurring_count}) has been rejected.\n"
|
933 |
+
"Reason: {cancellation_reason}\n"
|
934 |
+
"Please find the schedule of the cancelled booking below: "
|
935 |
+
"{appointment_schedule}\n"
|
936 |
+
"Thank you for choosing our company.\n"
|
937 |
+
"{company_name}\n"
|
938 |
+
"{company_phone}\n"
|
939 |
+
"{company_website}"
|
940 |
+
msgstr ""
|
941 |
+
"尊敬的{client_name},\n"
|
942 |
+
"\n"
|
943 |
+
"您預訂的{service_name}(x {recurring_count})已被拒絕。\n"
|
944 |
+
"原因:{cancellation_reason}\n"
|
945 |
+
"請在下面找到已取消預訂的時間表:{appointment_schedule}\n"
|
946 |
+
"感謝您選擇我們的公司。\n"
|
947 |
+
"{company_name}\n"
|
948 |
+
"{company_phone}\n"
|
949 |
+
"{company_website}"
|
950 |
|
951 |
+
msgid ""
|
952 |
+
"Hello.\n"
|
953 |
+
"The following booking has been rejected.\n"
|
954 |
+
"Reason: {cancellation_reason}\n"
|
955 |
+
"Service: {service_name} (x {recurring_count})\n"
|
956 |
+
"Schedule:\n"
|
957 |
+
"{appointment_schedule}\n"
|
958 |
+
"Client name: {client_name}\n"
|
959 |
+
"Client phone: {client_phone}\n"
|
960 |
+
"Client email: {client_email}"
|
961 |
+
msgstr ""
|
962 |
+
"你好,\n"
|
963 |
+
"\n"
|
964 |
+
"以下的預約被拒絕。\n"
|
965 |
+
"\n"
|
966 |
+
"拒絕原因:{cancellation_reason}\n"
|
967 |
+
"服務:{service_name} (x {recurring_count})\n"
|
968 |
+
"時間表:\n"
|
969 |
+
"{appointment_schedule}\n"
|
970 |
+
"Client name: {client_name}\n"
|
971 |
+
"Client phone: {client_phone}\n"
|
972 |
+
"Client email: {client_email}"
|
973 |
|
974 |
+
msgid ""
|
975 |
+
"Dear {client_name}.\n"
|
976 |
+
"This is a confirmation that you have been added to the waiting list for "
|
977 |
+
"{service_name} (x {recurring_count}).\n"
|
978 |
+
"Please find the service schedule below.\n"
|
979 |
+
"{appointment_schedule}\n"
|
980 |
+
"Thank you for choosing our company.\n"
|
981 |
+
"{company_name}\n"
|
982 |
+
"{company_phone}\n"
|
983 |
+
"{company_website}"
|
984 |
+
msgstr ""
|
985 |
+
"尊敬的{client_name},\n"
|
986 |
+
"\n"
|
987 |
+
"您預約的{service_name}(x {recurring_count})已被加入候補名單。\n"
|
988 |
+
"\n"
|
989 |
+
"請在下面查閱服務時間表。\n"
|
990 |
+
"{appointment_schedule}\n"
|
991 |
+
"\n"
|
992 |
+
"感謝您選擇我們的公司。\n"
|
993 |
+
"\n"
|
994 |
+
"{company_name}\n"
|
995 |
+
"{company_phone}\n"
|
996 |
+
"{company_website}"
|
997 |
|
998 |
+
msgid ""
|
999 |
+
"Hello.\n"
|
1000 |
+
"You have new customer in the waiting list.\n"
|
1001 |
+
"Service: {service_name} (x {recurring_count})\n"
|
1002 |
+
"Schedule:\n"
|
1003 |
+
"{appointment_schedule}\n"
|
1004 |
+
"Client name: {client_name}\n"
|
1005 |
+
"Client phone: {client_phone}\n"
|
1006 |
+
"Client email: {client_email}"
|
1007 |
+
msgstr ""
|
1008 |
+
"你好,\n"
|
1009 |
+
"你的候補名單有新客戶。\n"
|
1010 |
+
"服務: {service_name} (x {recurring_count})\n"
|
1011 |
+
"時間表:\n"
|
1012 |
+
"{appointment_schedule}\n"
|
1013 |
+
"客戶名稱: {client_name}\n"
|
1014 |
+
"客戶電話: {client_phone}\n"
|
1015 |
+
"客戶電郵: {client_email}"
|
1016 |
+
|
1017 |
+
msgid "Repeat"
|
1018 |
+
msgstr "重覆"
|
1019 |
+
|
1020 |
+
msgid "Next"
|
1021 |
+
msgstr "下"
|
1022 |
+
|
1023 |
+
msgid ""
|
1024 |
+
"You selected a booking for {service_name} at {service_time} on {service_date}"
|
1025 |
+
". If you would like to make this appointment recurring please check the box "
|
1026 |
+
"below and set appropriate parameters. Otherwise press Next button below."
|
1027 |
+
msgstr ""
|
1028 |
+
"您選擇 {service_name} 服務,預約為 {service_date} 的 {service_time}"
|
1029 |
+
"。如果您希望定期進行這個預約,請選擇以下的框並輸入合適的資料。否則按下一步以繼續。"
|
1030 |
+
|
1031 |
+
msgid "Another time"
|
1032 |
+
msgstr "其他時間"
|
1033 |
+
|
1034 |
+
msgid "Biweekly"
|
1035 |
+
msgstr "每兩週"
|
1036 |
+
|
1037 |
+
msgid "Daily"
|
1038 |
+
msgstr "每日"
|
1039 |
+
|
1040 |
+
msgid "Day"
|
1041 |
+
msgstr "日"
|
1042 |
+
|
1043 |
+
msgid "day(s)"
|
1044 |
+
msgstr "日期"
|
1045 |
+
|
1046 |
+
msgid "Deleted"
|
1047 |
+
msgstr "已刪除"
|
1048 |
+
|
1049 |
+
msgid "every"
|
1050 |
+
msgstr "每個"
|
1051 |
+
|
1052 |
+
msgid ""
|
1053 |
+
"The first recurring appointment was added to cart. You will be invoiced for "
|
1054 |
+
"the remaining appointments later."
|
1055 |
+
msgstr "第一個定期預約已添加到購物車。稍後,您將收到剩餘預約的發票。"
|
1056 |
+
|
1057 |
+
msgid "Monthly"
|
1058 |
+
msgstr "每月"
|
1059 |
+
|
1060 |
+
msgid "There are no available time slots for this day"
|
1061 |
+
msgstr "這個日子沒有可供選擇的時段。"
|
1062 |
+
|
1063 |
+
msgid "On"
|
1064 |
+
msgstr "在"
|
1065 |
+
|
1066 |
+
msgid "Please select some days"
|
1067 |
+
msgstr "請選擇數天"
|
1068 |
+
|
1069 |
+
msgid "Schedule"
|
1070 |
+
msgstr "日程"
|
1071 |
+
|
1072 |
+
msgid "Another time was offered on pages {list}."
|
1073 |
+
msgstr "頁面上提供了另一個時間{list}。"
|
1074 |
+
|
1075 |
+
msgid ""
|
1076 |
+
"Some of the desired time slots are busy. System offers the nearest time slot "
|
1077 |
+
"instead. Click the Edit button to select another time if needed."
|
1078 |
+
msgstr "所選的時段繁忙。系統改為提供最近的時段。如有需要,單擊\"編輯\"按鈕以選擇其他時間。"
|
1079 |
+
|
1080 |
+
msgid "Specific day"
|
1081 |
+
msgstr "指定日期"
|
1082 |
+
|
1083 |
+
msgid "Repeat this appointment"
|
1084 |
+
msgstr "重覆預約"
|
1085 |
+
|
1086 |
+
msgid "Until"
|
1087 |
+
msgstr "直至"
|
1088 |
+
|
1089 |
+
msgid "Weekly"
|
1090 |
+
msgstr "每週"
|
1091 |
+
|
1092 |
+
msgid "First"
|
1093 |
+
msgstr "首先"
|
1094 |
+
|
1095 |
+
msgid "Second"
|
1096 |
+
msgstr "第二"
|
1097 |
+
|
1098 |
+
msgid "Third"
|
1099 |
+
msgstr "第三"
|
1100 |
+
|
1101 |
+
msgid "Fourth"
|
1102 |
+
msgstr "第四"
|
1103 |
+
|
1104 |
+
msgid "Last"
|
1105 |
+
msgstr "過去"
|
1106 |
+
|
1107 |
+
msgid "or"
|
1108 |
+
msgstr "要么"
|
1109 |
+
|
1110 |
+
msgid "time(s)"
|
1111 |
+
msgstr "時間"
|
1112 |
+
|
1113 |
+
msgid "Notification to customer about pending recurring appointment"
|
1114 |
+
msgstr "通知客戶有關待審核定期預約"
|
1115 |
+
|
1116 |
+
msgid "Notification to staff member about pending recurring appointment"
|
1117 |
+
msgstr "通知員工有關待審核的定期預約"
|
1118 |
+
|
1119 |
+
msgid ""
|
1120 |
+
"Notification to staff member about placing on waiting list for recurring "
|
1121 |
+
"appointment"
|
1122 |
+
msgstr "通知員工有關定期預約候補名單"
|
1123 |
+
|
1124 |
+
msgid "New recurring booking notification"
|
1125 |
+
msgstr "新的定期預約通知"
|
1126 |
+
|
1127 |
+
msgid "Notification about recurring appointment status changes"
|
1128 |
+
msgstr "關於定期預約狀態更改的通知"
|
1129 |
+
|
1130 |
+
msgid "at"
|
1131 |
+
msgstr "在"
|
1132 |
+
|
1133 |
+
msgid "Online Payments"
|
1134 |
+
msgstr "網上付款"
|
1135 |
+
|
1136 |
+
msgid "Customers must pay only for the 1st appointment"
|
1137 |
+
msgstr "客戶只需為第一次預約付費"
|
1138 |
+
|
1139 |
+
msgid "Customers must pay for all appointments in series"
|
1140 |
+
msgstr "客戶必須支付所有系列的預約"
|
1141 |
+
|
1142 |
+
msgid "Group appointments"
|
1143 |
+
msgstr "組別預約"
|
1144 |
+
|
1145 |
+
msgid "Create new appointment for every recurring booking"
|
1146 |
+
msgstr "為每個定期預約建立新預約"
|
1147 |
+
|
1148 |
+
msgid "Add customer to available group bookings"
|
1149 |
+
msgstr "添加客戶到有效的團體預約"
|
1150 |
+
|
1151 |
+
msgid "Recurring Appointments"
|
1152 |
+
msgstr "定期預約"
|
1153 |
+
|
1154 |
+
msgid "Approve recurring appointment URL (success)"
|
1155 |
+
msgstr "批准定期預約URL(成功)"
|
1156 |
+
|
1157 |
+
msgid ""
|
1158 |
+
"Set the URL of a page that is shown to staff after they successfully "
|
1159 |
+
"approved recurring appointment."
|
1160 |
+
msgstr "設置成功批核重複預約後顯示給職員的頁面的URL。"
|
1161 |
+
|
1162 |
+
msgid "Approve recurring appointment URL (denied)"
|
1163 |
+
msgstr "批准定期預約URL(拒絕)"
|
1164 |
+
|
1165 |
+
msgid ""
|
1166 |
+
"Set the URL of a page that is shown to staff when the approval of recurring "
|
1167 |
+
"appointment cannot be done (changed status, etc.)."
|
1168 |
+
msgstr "設置無法批准重複預約(狀態更改等原因)時顯示給員工的頁面的URL。"
|
1169 |
+
|
1170 |
+
msgid "Allow this service to have recurring appointments."
|
1171 |
+
msgstr "允許此服務具有定期預約。"
|
1172 |
|
|
|
1173 |
msgid "Enabled"
|
1174 |
msgstr "啟用"
|
1175 |
|
1176 |
+
msgid "Frequencies"
|
1177 |
+
msgstr "頻率"
|
|
|
1178 |
|
1179 |
+
msgid "All"
|
1180 |
+
msgstr "所有"
|
|
|
1181 |
|
1182 |
+
msgid "Nothing selected"
|
1183 |
+
msgstr "沒有選擇任何東西"
|
|
|
1184 |
|
1185 |
+
msgid "Edit"
|
1186 |
+
msgstr "編輯"
|
|
|
1187 |
|
1188 |
+
msgid "Remove"
|
1189 |
+
msgstr "清除"
|
|
|
1190 |
|
1191 |
+
msgid "Restore"
|
1192 |
+
msgstr "收復"
|
|
|
1193 |
|
1194 |
+
msgid "pages with another time"
|
1195 |
+
msgstr "另一個時間的頁面"
|
|
|
1196 |
|
1197 |
+
msgid "Show Repeat step"
|
1198 |
+
msgstr "顯示重複步驟"
|
|
|
1199 |
|
1200 |
+
msgid "recurring appointments schedule"
|
1201 |
+
msgstr "定期預約時間表"
|
|
|
1202 |
|
1203 |
+
msgid "recurring appointments schedule with cancel"
|
1204 |
+
msgstr "取消的定期預約時間表"
|
|
|
1205 |
|
1206 |
+
msgid "URL for approving the whole schedule"
|
1207 |
+
msgstr "批准整個時間表的URL"
|
|
|
1208 |
|
1209 |
+
msgid "recurring appointments"
|
1210 |
+
msgstr "定期預約"
|
|
|
1211 |
|
1212 |
+
msgid "Every"
|
1213 |
+
msgstr "每個"
|
1214 |
+
|
1215 |
+
msgid "Back"
|
1216 |
+
msgstr "返回"
|
1217 |
+
|
1218 |
+
msgid "Delete"
|
1219 |
+
msgstr "删除"
|
1220 |
+
|
1221 |
+
msgid "Apply"
|
1222 |
+
msgstr "使用"
|
1223 |
+
|
1224 |
+
msgid "Another time was offered on pages"
|
1225 |
+
msgstr "頁面上提供了另一個時間"
|
1226 |
+
|
1227 |
+
msgid "Delete Appointment"
|
1228 |
+
msgstr "刪除預約"
|
1229 |
+
|
1230 |
+
msgid "Delete only this appointment"
|
1231 |
+
msgstr "僅刪除此預約"
|
1232 |
+
|
1233 |
+
msgid "Delete this and the following appointments"
|
1234 |
+
msgstr "刪除此預約和以下預約"
|
1235 |
|
1236 |
+
msgid "Delete all appointments in series"
|
1237 |
+
msgstr "刪除系列中的所有預約"
|
|
|
1238 |
|
1239 |
+
msgid "Send notifications"
|
1240 |
+
msgstr "發送通知"
|
|
|
1241 |
|
1242 |
+
msgid "Cancellation reason (optional)"
|
1243 |
+
msgstr "取消原因(可選)"
|
|
|
1244 |
|
1245 |
+
msgid "Cancel"
|
1246 |
+
msgstr "取消"
|
|
|
1247 |
|
1248 |
+
msgid "Close"
|
1249 |
+
msgstr "關閉"
|
|
|
1250 |
|
1251 |
+
msgid "Recurring appointments"
|
1252 |
+
msgstr "經常性約會"
|
|
|
1253 |
|
1254 |
+
msgid "Save"
|
1255 |
+
msgstr "保存"
|
|
|
1256 |
|
1257 |
+
msgid "Sandbox Mode"
|
1258 |
+
msgstr "沙箱模式"
|
|
|
1259 |
|
1260 |
+
msgid "No"
|
1261 |
+
msgstr "不"
|
|
|
1262 |
|
1263 |
+
msgid "Yes"
|
1264 |
+
msgstr "是"
|
|
|
1265 |
|
1266 |
+
msgid "Merchant Key"
|
1267 |
+
msgstr "Merchant Key"
|
|
|
|
|
1268 |
|
1269 |
+
msgid "Merchant Salt"
|
1270 |
+
msgstr "Merchant Salt"
|
|
|
1271 |
|
1272 |
+
msgid "Duration"
|
1273 |
+
msgstr "時長"
|
|
|
1274 |
|
1275 |
+
msgid ""
|
1276 |
+
"Set service duration. If you select Custom, a client, while booking, will "
|
1277 |
+
"have to choose the duration of the service from several time units. In the "
|
1278 |
+
"\"Unit Price\" field specify the cost of 1 unit, so the total cost of the "
|
1279 |
+
"service will increase linearly with the increase of its duration."
|
1280 |
+
msgstr ""
|
1281 |
+
"設置服務時間。如果選擇\"自定義\",則客戶在預訂時必須從幾個時間單位中選擇服務的持續時間。在\"單價\"字段中,指定一個單位的費用,因此服務的總費用將隨著其持續時間的增加而線性增加。"
|
1282 |
|
1283 |
+
msgid "Unit duration"
|
1284 |
+
msgstr "一個單位的長度"
|
|
|
1285 |
|
1286 |
+
msgid "Minimum units"
|
1287 |
+
msgstr "最少單位"
|
|
|
1288 |
|
1289 |
+
msgid "Maximum units"
|
1290 |
+
msgstr "最大單位"
|
|
|
1291 |
|
1292 |
+
msgid "Unit price"
|
1293 |
+
msgstr "單價"
|
|
|
1294 |
|
1295 |
+
msgid "Custom"
|
1296 |
+
msgstr "自定義"
|
|
|
1297 |
|
1298 |
+
msgid "Show service price next to duration"
|
1299 |
+
msgstr "在時長旁邊顯示服務價格"
|
|
|
1300 |
|
1301 |
+
msgid "Hide this field"
|
1302 |
+
msgstr "隱藏字段"
|
|
|
1303 |
|
1304 |
+
msgid "Delete break"
|
1305 |
+
msgstr "刪除休息"
|
|
|
1306 |
|
1307 |
+
msgid "Breaks"
|
1308 |
+
msgstr "暫停"
|
|
|
1309 |
|
1310 |
+
msgid "Add special day"
|
1311 |
+
msgstr "添加特別日子"
|
|
|
1312 |
|
1313 |
+
msgid "to"
|
1314 |
+
msgstr "至"
|
|
|
1315 |
|
1316 |
+
msgid "add break"
|
1317 |
+
msgstr "添加休息時間"
|
|
|
1318 |
|
1319 |
+
msgid "Special Days"
|
1320 |
+
msgstr "特別日子"
|
|
|
1321 |
|
1322 |
+
msgid "Are you sure?"
|
1323 |
+
msgstr "確定?"
|
|
|
1324 |
|
1325 |
+
msgid "Duplicate dates are not permitted."
|
1326 |
+
msgstr "不允許重複日期。"
|
|
|
1327 |
|
1328 |
+
msgid "Date in the past."
|
1329 |
+
msgstr "過去日期"
|
|
|
1330 |
|
1331 |
+
msgid "The requested interval is not available"
|
1332 |
+
msgstr "要求的時段不可選"
|
|
|
1333 |
|
1334 |
+
msgid "OFF"
|
1335 |
+
msgstr "關閉"
|
|
|
1336 |
|
1337 |
+
msgid "Add Staff Special Days"
|
1338 |
+
msgstr "添加員工特別日子"
|
|
|
1339 |
|
1340 |
+
msgid "Uncategorized"
|
1341 |
+
msgstr "未分類"
|
|
|
1342 |
|
1343 |
+
msgid "Spare time"
|
1344 |
+
msgstr "空閒時間"
|
|
|
1345 |
|
1346 |
+
msgid "Add simple service"
|
1347 |
+
msgstr "添加簡單服務"
|
|
|
1348 |
|
1349 |
+
msgid "=== Spare time ==="
|
1350 |
+
msgstr "=== 空閒時間 ==="
|
|
|
1351 |
|
1352 |
+
msgid "Compound"
|
1353 |
+
msgstr "複合"
|
|
|
1354 |
|
1355 |
+
msgid "Part of compound service"
|
1356 |
+
msgstr "複合服務的一部分"
|
|
|
1357 |
|
1358 |
+
msgid "Compound service"
|
1359 |
+
msgstr "複合服務"
|
|
|
1360 |
|
1361 |
+
msgid "Short Codes"
|
1362 |
+
msgstr "簡碼"
|
|
|
1363 |
|
1364 |
+
msgid "Add Staff Calendar"
|
1365 |
+
msgstr "添加員工日曆"
|
|
|
1366 |
|
1367 |
+
msgid "Add Staff Details"
|
1368 |
+
msgstr "添加員工資料"
|
|
|
1369 |
|
1370 |
+
msgid "Add Staff Services"
|
1371 |
+
msgstr "添加員工服務"
|
|
|
1372 |
|
1373 |
+
msgid "Add Staff Schedule"
|
1374 |
+
msgstr "添加員工日程"
|
|
|
1375 |
|
1376 |
+
msgid "Add Staff Days Off"
|
1377 |
+
msgstr "添加員工休息日"
|
|
|
1378 |
|
1379 |
+
msgid "Hide visibility field"
|
1380 |
+
msgstr "隱藏可見性字段"
|
|
|
1381 |
|
1382 |
+
msgid "Disable services update"
|
1383 |
+
msgstr "禁用更新服務"
|
|
|
1384 |
|
1385 |
+
msgid "Disable price update"
|
1386 |
+
msgstr "禁用更新價錢"
|
|
|
1387 |
|
1388 |
+
msgid "Insert"
|
1389 |
+
msgstr "插入"
|
|
|
1390 |
|
1391 |
+
msgid "Add Staff Cabinet"
|
1392 |
+
msgstr "添加員工櫃"
|
|
|
1393 |
|
1394 |
+
msgid "A custom block for displaying staff calendar"
|
1395 |
+
msgstr "用於顯示員工日曆的自定義塊"
|
|
|
1396 |
|
1397 |
+
msgid "Details"
|
1398 |
+
msgstr "細節"
|
|
|
1399 |
|
1400 |
+
msgid "A custom block for displaying staff details"
|
1401 |
+
msgstr "顯示員工詳細信息的自定義塊"
|
|
|
1402 |
|
1403 |
+
msgid "Services"
|
1404 |
+
msgstr "服務"
|
|
|
1405 |
|
1406 |
+
msgid "A custom block for displaying staff services"
|
1407 |
+
msgstr "用於顯示員工服務的自定義塊"
|
|
|
1408 |
|
1409 |
+
msgid "A custom block for displaying staff schedule"
|
1410 |
+
msgstr "用於顯示員工日程的自定義塊"
|
|
|
1411 |
|
1412 |
+
msgid "Special days"
|
1413 |
+
msgstr "特別日子"
|
|
|
1414 |
|
1415 |
+
msgid "A custom block for displaying staff special days"
|
1416 |
+
msgstr "用於顯示員工特別日子的自定義塊"
|
|
|
1417 |
|
1418 |
+
msgid "Days off"
|
1419 |
+
msgstr "休息日"
|
|
|
1420 |
|
1421 |
+
msgid "A custom block for displaying staff days off"
|
1422 |
+
msgstr "用於顯示員工休息的自定義塊"
|
|
|
1423 |
|
1424 |
+
msgid "Capacity"
|
1425 |
+
msgstr "容量"
|
|
|
1426 |
|
1427 |
+
msgid "Special hours"
|
1428 |
+
msgstr "特別時間"
|
|
|
1429 |
|
1430 |
+
msgid "Fields"
|
1431 |
+
msgstr "欄目"
|
|
|
1432 |
|
1433 |
+
msgid "read only"
|
1434 |
+
msgstr "只供閱讀"
|
|
|
1435 |
|
1436 |
+
msgid "Repeat every year"
|
1437 |
+
msgstr "每年重複"
|
|
|
1438 |
|
1439 |
+
msgid "We are not working on this day"
|
1440 |
+
msgstr "我們這一天休息"
|
|
|
1441 |
|
1442 |
+
msgid "Min capacity should not be greater than max capacity."
|
1443 |
+
msgstr "最小容量不應大於最大容量。"
|
|
|
1444 |
|
1445 |
+
msgid "Export to CSV"
|
1446 |
+
msgstr "導出 CSV"
|
|
|
1447 |
|
1448 |
+
msgid "Displayed appointments"
|
1449 |
+
msgstr "展示預約"
|
|
|
1450 |
|
1451 |
+
msgid "Upcoming appointments"
|
1452 |
+
msgstr "將要發生的預約"
|
|
|
1453 |
|
1454 |
+
msgid "All appointments"
|
1455 |
+
msgstr "所有預約"
|
|
|
1456 |
|
1457 |
+
msgid "Delimiter"
|
1458 |
+
msgstr "分隔符"
|
|
|
1459 |
|
1460 |
+
msgid "Comma (,)"
|
1461 |
+
msgstr "逗號 (,)"
|
|
|
1462 |
|
1463 |
+
msgid "Semicolon (;)"
|
1464 |
+
msgstr "分號 (;)"
|
|
|
1465 |
|
1466 |
+
msgid "Booking Time"
|
1467 |
+
msgstr "預約時間"
|
|
|
1468 |
|
1469 |
+
msgid "Customer Name"
|
1470 |
+
msgstr "客戶名稱"
|
|
|
1471 |
|
1472 |
+
msgid "Customer Phone"
|
1473 |
+
msgstr "客戶電話"
|
|
|
1474 |
|
1475 |
+
msgid "Customer Email"
|
1476 |
+
msgstr "客戶電郵"
|
|
|
1477 |
|
1478 |
+
msgid "Status"
|
1479 |
+
msgstr "狀態"
|
|
|
1480 |
|
1481 |
+
msgid "Payment"
|
1482 |
+
msgstr "付款"
|
|
|
1483 |
|
1484 |
+
msgid "Today"
|
1485 |
+
msgstr "今天"
|
|
|
1486 |
|
1487 |
+
msgid "Week"
|
1488 |
+
msgstr "週"
|
|
|
1489 |
|
1490 |
+
msgid "Month"
|
1491 |
+
msgstr "月"
|
|
|
1492 |
|
1493 |
+
msgid "All Day"
|
1494 |
+
msgstr "全日"
|
|
|
1495 |
|
1496 |
+
msgid "On waiting list"
|
1497 |
+
msgstr "在候補名單"
|
|
|
1498 |
|
1499 |
+
msgid "Package"
|
1500 |
+
msgstr "包裹"
|
|
|
1501 |
|
1502 |
+
#, php-format
|
1503 |
+
msgid "%s of %s"
|
1504 |
+
msgstr "%s 的 %s"
|
1505 |
|
1506 |
+
msgid "Full name"
|
1507 |
+
msgstr "全名"
|
|
|
1508 |
|
1509 |
+
msgid "Info"
|
1510 |
+
msgstr "資訊"
|
|
|
1511 |
|
1512 |
+
msgid ""
|
1513 |
+
"This text can be inserted into notifications to customers by Administrator."
|
1514 |
+
msgstr "管理員可以將此文本插入到客戶的通知中。"
|
1515 |
|
1516 |
+
msgid "Visibility"
|
1517 |
+
msgstr "可見度"
|
|
|
1518 |
|
1519 |
+
msgid ""
|
1520 |
+
"If you want to become invisible to your customers set the visibility to "
|
1521 |
+
"\"Private\"."
|
1522 |
+
msgstr "如果您希望客戶看不到您,請將可見性設置為\"私人\"。"
|
1523 |
|
1524 |
+
msgid "Public"
|
1525 |
+
msgstr "上市"
|
|
|
1526 |
|
1527 |
+
msgid "Private"
|
1528 |
+
msgstr "私人的"
|
|
|
1529 |
|
1530 |
+
msgid "All locations"
|
1531 |
+
msgstr "所有地點"
|
|
|
1532 |
|
1533 |
+
msgid "No locations selected"
|
1534 |
+
msgstr "未選擇位置"
|
|
|
1535 |
|
1536 |
+
msgid "You don't have permissions to view this content."
|
1537 |
+
msgstr "您無權查看此內容。"
|
|
|
1538 |
|
1539 |
+
msgid ""
|
1540 |
+
"Your account has been disabled. Contact your website administrator to "
|
1541 |
+
"continue."
|
1542 |
+
msgstr "您的帳戶已被暫停,請聯絡您的網站管理員。"
|
1543 |
|
1544 |
+
msgid "API Login ID"
|
1545 |
+
msgstr "API登入碼"
|
|
|
1546 |
|
1547 |
+
msgid "API Transaction Key"
|
1548 |
+
msgstr "API交易金鑰"
|
|
|
1549 |
|
1550 |
+
msgid "Title"
|
1551 |
+
msgstr "標題"
|
|
|
1552 |
|
1553 |
+
msgid "Rate"
|
1554 |
+
msgstr "評分"
|
|
|
1555 |
|
1556 |
+
msgid "Taxes"
|
1557 |
+
msgstr "稅"
|
|
|
1558 |
|
1559 |
+
msgid "Price settings and display"
|
1560 |
+
msgstr "價格設置和顯示"
|
|
|
1561 |
|
1562 |
+
msgid ""
|
1563 |
+
"If the prices for your services include taxes, select include taxes. If the "
|
1564 |
+
"prices for your services do not include taxes, select exclude taxes."
|
1565 |
+
msgstr "如果您的服務價格包括稅收,請選擇包括稅收。如果您的服務價格不包括稅收,請選擇不包括稅收。"
|
1566 |
|
1567 |
+
msgid "Include taxes"
|
1568 |
+
msgstr "包括稅項"
|
|
|
1569 |
|
1570 |
+
msgid "Exclude taxes"
|
1571 |
+
msgstr "不含稅"
|
|
|
1572 |
|
1573 |
+
msgid "Add Tax"
|
1574 |
+
msgstr "添加稅收"
|
|
|
1575 |
|
1576 |
+
msgid "New tax"
|
1577 |
+
msgstr "新稅收"
|
|
|
1578 |
|
1579 |
+
msgid "Edit tax"
|
1580 |
+
msgstr "編輯稅"
|
|
|
1581 |
|
1582 |
+
msgid "No taxes found."
|
1583 |
+
msgstr "找不到稅收。"
|
|
|
1584 |
|
1585 |
+
msgid "Processing..."
|
1586 |
+
msgstr "處理..."
|
|
|
1587 |
|
1588 |
+
msgid "Taxation"
|
1589 |
+
msgstr ""
|
1590 |
+
"\n"
|
1591 |
+
"稅收"
|
1592 |
|
1593 |
+
msgid "service tax amount"
|
1594 |
+
msgstr "服務稅量"
|
|
|
1595 |
|
1596 |
+
msgid "service tax rate"
|
1597 |
+
msgstr "服務稅率"
|
|
|
1598 |
|
1599 |
+
msgid "total tax included in the appointment (summary for all items)"
|
1600 |
+
msgstr "預約中包含的總稅費(所有項目的總和)"
|
|
|
1601 |
|
1602 |
+
msgid "total price without tax"
|
1603 |
+
msgstr "總價(不含稅)"
|
|
|
1604 |
|
1605 |
+
msgid ""
|
1606 |
+
"This setting affects the cost of the booking according to the payment "
|
1607 |
+
"gateway used. Specify a percentage or fixed amount. Use minus (\"-\") sign "
|
1608 |
+
"for decrease/discount. Note that tax will not be calculated for the "
|
1609 |
+
"additional amount to the cost. If you need to report the exact tax amount to "
|
1610 |
+
"the payment system, do not use additional charge."
|
1611 |
+
msgstr ""
|
1612 |
+
"根據所使用的付款方,此設置會影響預約的費用。指定百分比或固定金額。使用減號(\"-"
|
1613 |
+
"\")進行減價/折扣。請注意,系統將不為額外費用計稅。如果您需要向付款系統報告確切的稅額,請不要使用額外費用。"
|
1614 |
|
1615 |
+
msgid "Customer Information"
|
1616 |
+
msgstr "客戶資料"
|
|
|
1617 |
|
1618 |
+
msgid "Required field."
|
1619 |
+
msgstr "必填項目。"
|
|
|
1620 |
|
1621 |
+
msgid "Ask once."
|
1622 |
+
msgstr "詢問一次。"
|
|
|
1623 |
|
1624 |
+
msgid "Ask once"
|
1625 |
+
msgstr "詢問一次"
|
|
|
1626 |
|
1627 |
+
msgid "Show customer information"
|
1628 |
+
msgstr "顯示客戶信息"
|
|
|
1629 |
|
1630 |
+
msgid ""
|
1631 |
+
"To receive REST API credentials, in <b>My Apps & Credentials</b> of your "
|
1632 |
+
"PayPal account do the following steps:"
|
1633 |
+
msgstr "要接收REST API憑證,請在您的PayPal帳戶的<b>我的應用和憑證</b>中執行以下步驟:"
|
1634 |
|
1635 |
+
msgid "Click <b>Create App</b> and enter application details."
|
1636 |
+
msgstr "點擊<b>建立應用程式</b>,然後輸入應用程式詳細信息。"
|
|
|
1637 |
|
1638 |
+
msgid ""
|
1639 |
+
"Once created, copy <b>Client ID</b> and <b>Secret</b> and use them in the "
|
1640 |
+
"form below."
|
1641 |
+
msgstr "建立完成後,複製<b>Client ID</b>和<b>Secret</b>,並在下面的表格中使用它們。"
|
1642 |
|
1643 |
+
msgid "Client ID"
|
1644 |
+
msgstr "客戶ID"
|
|
|
1645 |
|
1646 |
+
msgid "Secret"
|
1647 |
+
msgstr "Secret"
|
|
|
1648 |
|
1649 |
+
msgid "Invalid session"
|
1650 |
+
msgstr "時段無效"
|
|
|
1651 |
|
1652 |
+
msgid "Mollie accepts payments in Euro only."
|
1653 |
+
msgstr "Mollie僅接受歐元付款。"
|
|
|
1654 |
|
1655 |
+
msgid "Mollie error."
|
1656 |
+
msgstr "Mollie錯誤。"
|
|
|
1657 |
|
1658 |
+
msgid "I will pay now with Mollie"
|
1659 |
+
msgstr "我會現在使用手機支付"
|
|
|
1660 |
|
1661 |
+
msgid "API Key"
|
1662 |
+
msgstr "API金鑰"
|
|
|
1663 |
|
1664 |
+
msgid "Time interval of payment gateway"
|
1665 |
+
msgstr "支付方的時間間隔"
|
|
|
1666 |
|
1667 |
+
msgid ""
|
1668 |
+
"This setting determines the time limit after which the payment made via the "
|
1669 |
+
"payment gateway is considered to be incomplete. This functionality requires "
|
1670 |
+
"a scheduled cron job."
|
1671 |
+
msgstr "此設置確定了時間限制,在這之後的付款均被視為未完成。此功能需要計劃的cron作業。"
|
1672 |
|
1673 |
+
msgid "Persons"
|
1674 |
+
msgstr "人數"
|
|
|
1675 |
|
1676 |
+
msgid "Number of persons"
|
1677 |
+
msgstr "人數"
|
|
|
1678 |
|
1679 |
+
msgid "Capacity (min and max)"
|
1680 |
+
msgstr "容量(最小和最大)"
|
|
|
1681 |
|
1682 |
+
msgid "Group bookings information format"
|
1683 |
+
msgstr "組別預約信息格式"
|
|
|
1684 |
|
1685 |
+
msgid ""
|
1686 |
+
"Select format for displaying the time slot occupancy for group bookings."
|
1687 |
+
msgstr "選擇用於顯示團體預約的時段佔用率的格式。"
|
1688 |
|
1689 |
+
msgid "[Booked/Max capacity]"
|
1690 |
+
msgstr "[已訂/最大容量]"
|
|
|
1691 |
|
1692 |
+
msgid "[Available left]"
|
1693 |
+
msgstr "[可用的剩餘]"
|
|
|
1694 |
|
1695 |
+
msgid "Group Booking"
|
1696 |
+
msgstr "組別預約"
|
|
|
1697 |
|
1698 |
+
msgid "number of persons"
|
1699 |
+
msgstr "人數"
|
|
|
1700 |
|
1701 |
+
msgid "number of persons already in the list"
|
1702 |
+
msgstr "已經在名單上的人數"
|
|
|
1703 |
|
1704 |
+
msgid "capacity of service"
|
1705 |
+
msgstr "服務能力"
|
|
|
1706 |
|
1707 |
+
msgid ""
|
1708 |
+
"The minimum and maximum number of customers allowed to book the service for "
|
1709 |
+
"the certain time period."
|
1710 |
+
msgstr "允許在特定時間段內預訂服務的客戶的最小和最大數量。"
|
1711 |
|
1712 |
+
msgid "One booking per time slot"
|
1713 |
+
msgstr "每個時段一次預訂"
|
|
|
1714 |
|
1715 |
+
msgid ""
|
1716 |
+
"Enable this option if you want to limit the possibility of booking within "
|
1717 |
+
"the service capacity to one time."
|
1718 |
+
msgstr "如果要將服務能力內的預訂次數限制為一次,請啟用此選項。"
|
1719 |
|
1720 |
+
msgid "Show information about group bookings"
|
1721 |
+
msgstr "顯示有關團體預約的信息"
|
|
|
1722 |
|
1723 |
+
msgid "Disable capacity update"
|
1724 |
+
msgstr "禁用更新容量"
|
|
|
1725 |
|
1726 |
+
msgid "Address"
|
1727 |
+
msgstr "地址"
|
|
|
1728 |
|
1729 |
+
msgid "Follow these steps to get an API key:"
|
1730 |
+
msgstr "請按照以下步驟獲取API金鑰:"
|
|
|
1731 |
|
1732 |
+
msgid ""
|
1733 |
+
"Go to the <a href=\"https://console.developers.google.com/flows/enableapi?"
|
1734 |
+
"apiid=places_backend&reusekey=true\" target=\"_blank\">Google API Console</a>"
|
1735 |
+
"."
|
1736 |
+
msgstr ""
|
1737 |
+
"轉到<a href=\"https://console.developers.google.com/flows/enableapi?"
|
1738 |
+
"apiid=places_backend&reusekey=true\" target=\"_blank\">Google API控制台</a>。"
|
1739 |
|
1740 |
+
msgid "Create or select a project. Click <b>Continue</b> to enable the API."
|
1741 |
+
msgstr "建立或選擇一個項目。點擊<b>繼續</b>以啟用API。"
|
|
|
1742 |
|
1743 |
+
msgid ""
|
1744 |
+
"On the <b>Credentials</b> page, get an <b>API key</b> (and set the API key "
|
1745 |
+
"restrictions). Note: If you have an existing unrestricted API key, or a key "
|
1746 |
+
"with server restrictions, you may use that key."
|
1747 |
+
msgstr ""
|
1748 |
+
"在<b>憑據</b>頁上,獲取<b>API金鑰</b>"
|
1749 |
+
"(並設置API金鑰限制)。注意:如果您具有現有不受限制的API金鑰或具有服務器限制的金鑰,則可以使用該金鑰。"
|
1750 |
|
1751 |
+
msgid ""
|
1752 |
+
"Click <b>Library</b> on the left sidebar menu. Select Google Maps JavaScript "
|
1753 |
+
"API and make sure it's enabled."
|
1754 |
+
msgstr "點擊左側工具欄菜單上的<b>圖書館</b>。選擇Google Maps JavaScript API並確保已啟用。"
|
1755 |
|
1756 |
+
msgid "Use your <b>API key</b> in the form below."
|
1757 |
+
msgstr "在下面的表格中使用您的<b>API金鑰</b>。"
|
|
|
1758 |
|
1759 |
+
msgid ""
|
1760 |
+
"Enter a Google API key that you got after registering your app project on "
|
1761 |
+
"the Google API Console."
|
1762 |
+
msgstr "註冊應用程式項目在Google API控制台後,輸入獲得的Google API金鑰。"
|
1763 |
|
1764 |
+
msgid "Google Maps"
|
1765 |
+
msgstr "Google地圖"
|
|
|
1766 |
|
1767 |
+
msgid "Show google maps field"
|
1768 |
+
msgstr "顯示谷歌地圖字段"
|
|
|
1769 |
|
1770 |
+
msgid "Equal duration"
|
1771 |
+
msgstr "相等長度"
|
|
|
1772 |
|
1773 |
+
msgid "Make every service duration equal to the duration of the longest one."
|
1774 |
+
msgstr "使每個服務時間長度等於最長的服務時間長度。"
|
|
|
1775 |
|
1776 |
+
msgid "Collaborative"
|
1777 |
+
msgstr "協同合作"
|
|
|
1778 |
|
1779 |
+
msgid "Collaborative service"
|
1780 |
+
msgstr "協同合作服務"
|
|
|
1781 |
|
1782 |
+
msgid "Part of collaborative service"
|
1783 |
+
msgstr "協作服務的一部分"
|
|
|
1784 |
|
1785 |
+
msgid "Customer cabinet (all services displayed in tabs)"
|
1786 |
+
msgstr "客戶櫃(所有服務顯示在選項卡中)"
|
|
|
1787 |
|
1788 |
+
msgid "Appointment management"
|
1789 |
+
msgstr "預約管理"
|
1790 |
+
|
1791 |
+
msgid "Show timezone"
|
1792 |
+
msgstr "顯示時區"
|
1793 |
|
1794 |
+
msgid "Location"
|
1795 |
+
msgstr "位置"
|
|
|
1796 |
|
1797 |
+
msgid "Category"
|
1798 |
+
msgstr "分類"
|
|
|
1799 |
|
1800 |
+
msgid "Staff"
|
1801 |
+
msgstr "員工"
|
|
|
1802 |
|
1803 |
+
msgid "Reschedule"
|
1804 |
+
msgstr "時間表"
|
|
|
1805 |
|
1806 |
+
msgid "Profile management"
|
1807 |
+
msgstr "個人資料管理"
|
|
|
1808 |
|
1809 |
+
msgid "Birthday"
|
1810 |
+
msgstr "生日"
|
|
|
1811 |
|
1812 |
+
msgid "Wordpress password"
|
1813 |
+
msgstr "Wordpress 密碼"
|
|
|
1814 |
|
1815 |
+
msgid "Delete account"
|
1816 |
+
msgstr "刪除帳戶"
|
|
|
1817 |
|
1818 |
+
msgid "Add Customer Cabinet"
|
1819 |
+
msgstr "添加客戶櫃"
|
|
|
1820 |
|
1821 |
+
msgid "Customer cabinet"
|
1822 |
+
msgstr ""
|
1823 |
+
"\n"
|
1824 |
+
"客戶櫃"
|
1825 |
|
1826 |
+
msgid "A custom block for displaying customer cabinet"
|
1827 |
+
msgstr "用於顯示客戶櫃的自定義塊"
|
|
|
1828 |
|
1829 |
+
msgid "show"
|
1830 |
+
msgstr "顯示"
|
|
|
1831 |
|
1832 |
+
msgid "Show"
|
1833 |
+
msgstr "顯示"
|
|
|
1834 |
|
1835 |
+
msgid "Timezone"
|
1836 |
+
msgstr "時區"
|
|
|
1837 |
|
1838 |
+
msgid "Employee"
|
|
|
1839 |
msgstr "員工"
|
1840 |
|
1841 |
+
msgid "Custom field"
|
1842 |
+
msgstr "自定欄位"
|
|
|
1843 |
|
1844 |
+
msgid "Customer information"
|
1845 |
+
msgstr "客戶資料"
|
|
|
1846 |
|
1847 |
+
msgid "Appointments"
|
1848 |
+
msgstr "預約"
|
|
|
1849 |
|
1850 |
+
msgid "Profile"
|
1851 |
+
msgstr "簡介"
|
|
|
1852 |
|
1853 |
+
msgid "WP user"
|
1854 |
+
msgstr "WP 用戶"
|
|
|
1855 |
|
1856 |
+
msgid "Current password"
|
1857 |
+
msgstr "現時密碼"
|
|
|
1858 |
|
1859 |
+
msgid "New password"
|
1860 |
+
msgstr "新密碼"
|
|
|
1861 |
|
1862 |
+
msgid "Confirm password"
|
1863 |
+
msgstr "確認密碼"
|
|
|
1864 |
|
1865 |
+
msgid "No appointments."
|
1866 |
+
msgstr "沒有預約。"
|
|
|
1867 |
|
1868 |
+
msgid "Expired"
|
1869 |
+
msgstr "已過期"
|
|
|
1870 |
|
1871 |
+
msgid "Not allowed"
|
1872 |
+
msgstr "不允許"
|
|
|
1873 |
|
1874 |
+
msgid "There are no time slots for selected date."
|
1875 |
+
msgstr "所選日期沒有可供選擇的時段。"
|
|
|
1876 |
|
1877 |
+
msgid ""
|
1878 |
+
"Unfortunately, you're not able to cancel the appointment because the "
|
1879 |
+
"required time limit prior to canceling has expired."
|
1880 |
+
msgstr "很遺憾,您無法取消預約,因為取消之前所需的時間限制已過期。"
|
1881 |
|
1882 |
+
msgid "Profile updated successfully."
|
1883 |
+
msgstr "個人資料更新成功"
|
|
|
1884 |
|
1885 |
+
msgid "Time"
|
1886 |
+
msgstr "時間"
|
|
|
1887 |
|
1888 |
+
msgid "Wrong current password"
|
1889 |
+
msgstr "密碼錯誤"
|
|
|
1890 |
|
1891 |
+
msgid "Passwords mismatch"
|
1892 |
+
msgstr "密碼不符"
|
|
|
1893 |
|
1894 |
+
msgid "Cancel Appointment"
|
1895 |
+
msgstr "取消預約"
|
|
|
1896 |
|
1897 |
+
msgid "You are going to cancel a scheduled appointment. Are you sure?"
|
1898 |
+
msgstr "您將要取消預約。你確定嗎?"
|
|
|
1899 |
|
1900 |
+
msgid ""
|
1901 |
+
"You are going to delete your account and all information associated with it. "
|
1902 |
+
"Click Confirm to continue or Cancel to cancel the action."
|
1903 |
+
msgstr "您將刪除您的帳戶及其所有相關信息。選擇確認以繼續,或取消以取消操作。"
|
1904 |
|
1905 |
+
msgid ""
|
1906 |
+
"This account cannot be deleted because it is associated with scheduled "
|
1907 |
+
"appointments. Please cancel bookings or contact the service provider."
|
1908 |
+
msgstr "該帳戶與計劃的預約有關,因此無法刪除。請取消預約或聯繫服務供應商。"
|
1909 |
|
1910 |
+
msgid "Confirm"
|
1911 |
+
msgstr "確認"
|
|
|
1912 |
|
1913 |
+
msgid "OK"
|
1914 |
+
msgstr "可以"
|
|
|
1915 |
|
1916 |
+
#, php-format
|
1917 |
msgid " and %d more item"
|
1918 |
msgid_plural " and %d more items"
|
1919 |
msgstr[0] "和 %d 項目"
|
1920 |
+
msgstr[1] ""
|
1921 |
|
1922 |
+
msgid "Notification to customer about approved appointment"
|
1923 |
+
msgstr "通知客戶已確定的預約資料"
|
|
|
1924 |
|
1925 |
+
msgid ""
|
1926 |
+
"Dear {client_name}.\n"
|
1927 |
"\n"
|
1928 |
"This is a confirmation that you have booked {service_name}.\n"
|
1929 |
"\n"
|
1930 |
+
"We are waiting you at {company_address} on {appointment_date} at "
|
1931 |
+
"{appointment_time}.\n"
|
1932 |
"\n"
|
1933 |
"Thank you for choosing our company.\n"
|
1934 |
"\n"
|
1935 |
"{company_name}\n"
|
1936 |
"{company_phone}\n"
|
1937 |
"{company_website}"
|
1938 |
+
msgstr ""
|
1939 |
+
"尊敬的 {client_name}.\n"
|
1940 |
"\n"
|
1941 |
"您預訂的{service_name}已確認.\n"
|
1942 |
"\n"
|
1948 |
"{company_phone}\n"
|
1949 |
"{company_website}"
|
1950 |
|
1951 |
+
msgid "Notification to staff member about approved appointment"
|
1952 |
+
msgstr "通知員工已確定的預約資料"
|
1953 |
+
|
1954 |
+
msgid ""
|
1955 |
+
"Hello.\n"
|
1956 |
"\n"
|
1957 |
+
"You have a new booking.\n"
|
1958 |
"\n"
|
1959 |
+
"Service: {service_name}\n"
|
1960 |
+
"Date: {appointment_date}\n"
|
1961 |
+
"Time: {appointment_time}\n"
|
1962 |
+
"Client name: {client_name}\n"
|
1963 |
+
"Client phone: {client_phone}\n"
|
1964 |
+
"Client email: {client_email}"
|
1965 |
+
msgstr ""
|
1966 |
+
"您好.\n"
|
1967 |
+
"\n"
|
1968 |
+
"你有一個新的顧客預約.\n"
|
1969 |
+
"\n"
|
1970 |
+
"服務: {service_name}\n"
|
1971 |
+
"日期: {appointment_date}\n"
|
1972 |
+
"時間: {appointment_time}\n"
|
1973 |
+
"顧客姓名: {client_name}\n"
|
1974 |
+
"顧客電話: {client_phone}\n"
|
1975 |
+
"顧客 Email: {client_email}"
|
1976 |
+
|
1977 |
+
msgid "Notification to customer about cancelled appointment"
|
1978 |
+
msgstr "通知客戶已取消的預約資料"
|
1979 |
+
|
1980 |
+
msgid ""
|
1981 |
+
"Dear {client_name}.\n"
|
1982 |
+
"\n"
|
1983 |
+
"You have cancelled your booking of {service_name} on {appointment_date} at "
|
1984 |
+
"{appointment_time}.\n"
|
1985 |
"\n"
|
1986 |
"Thank you for choosing our company.\n"
|
1987 |
"\n"
|
1988 |
"{company_name}\n"
|
1989 |
"{company_phone}\n"
|
1990 |
"{company_website}"
|
1991 |
+
msgstr ""
|
1992 |
+
"尊敬的{client_name},\n"
|
|
|
1993 |
"\n"
|
1994 |
+
"我們確認您取消了在{appointment_date}的 {appointment_time}預約了的{service_name}。\n"
|
1995 |
"\n"
|
1996 |
+
"感謝您選擇我們的公司。\n"
|
1997 |
"\n"
|
1998 |
"{company_name}\n"
|
1999 |
"{company_phone}\n"
|
2000 |
"{company_website}"
|
2001 |
|
2002 |
+
msgid "Notification to staff member about cancelled appointment"
|
2003 |
+
msgstr "通知員工已取消的預約資料"
|
|
|
2004 |
|
2005 |
+
msgid ""
|
2006 |
+
"Hello.\n"
|
2007 |
"\n"
|
2008 |
+
"The following booking has been cancelled.\n"
|
2009 |
"\n"
|
2010 |
"Service: {service_name}\n"
|
2011 |
"Date: {appointment_date}\n"
|
2013 |
"Client name: {client_name}\n"
|
2014 |
"Client phone: {client_phone}\n"
|
2015 |
"Client email: {client_email}"
|
2016 |
+
msgstr ""
|
2017 |
+
"你好,\n"
|
2018 |
"\n"
|
2019 |
+
"以下預約已被取消。\n"
|
2020 |
"\n"
|
2021 |
+
"服務:{service_name}\n"
|
2022 |
+
"日期:{appointment_date}\n"
|
2023 |
+
"時間:{appointment_time}\n"
|
2024 |
+
"客戶名稱:{client_name}\n"
|
2025 |
+
"客戶電話:{client_phone}\n"
|
2026 |
+
"客戶電子郵件:{client_email}"
|
|
|
|
|
|
|
|
|
2027 |
|
2028 |
+
msgid "Notification to customer about rejected appointment"
|
2029 |
+
msgstr "通知客戶關於拒絕任命"
|
|
|
2030 |
|
2031 |
+
msgid ""
|
2032 |
+
"Dear {client_name}.\n"
|
2033 |
"\n"
|
2034 |
+
"Your booking of {service_name} on {appointment_date} at {appointment_time} "
|
2035 |
+
"has been rejected.\n"
|
2036 |
"\n"
|
2037 |
"Reason: {cancellation_reason}\n"
|
2038 |
"\n"
|
2041 |
"{company_name}\n"
|
2042 |
"{company_phone}\n"
|
2043 |
"{company_website}"
|
2044 |
+
msgstr ""
|
2045 |
+
"尊敬的{client_name}。\n"
|
2046 |
"\n"
|
2047 |
"您在{appointment_date}({appointment_time})預訂的{service_name}已被拒絕。\n"
|
2048 |
"\n"
|
2054 |
"{company_phone}\n"
|
2055 |
"{company_website}"
|
2056 |
|
2057 |
+
msgid "Notification to staff member about rejected appointment"
|
2058 |
+
msgstr "通知工作人員有關被拒絕任命"
|
2059 |
+
|
2060 |
+
msgid ""
|
2061 |
+
"Hello.\n"
|
2062 |
"\n"
|
2063 |
"The following booking has been rejected.\n"
|
2064 |
"\n"
|
2070 |
"Client name: {client_name}\n"
|
2071 |
"Client phone: {client_phone}\n"
|
2072 |
"Client email: {client_email}"
|
2073 |
+
msgstr ""
|
2074 |
+
"你好。\n"
|
2075 |
"\n"
|
2076 |
"以下預訂已被拒絕。\n"
|
2077 |
"\n"
|
2084 |
"客戶電話:{client_phone}\n"
|
2085 |
"客戶電子郵件:{client_email}"
|
2086 |
|
2087 |
+
msgid ""
|
2088 |
+
"Dear {client_name}.\n"
|
2089 |
+
"This is a confirmation that you have booked {service_name}.\n"
|
2090 |
+
"We are waiting you at {company_address} on {appointment_date} at "
|
2091 |
+
"{appointment_time}.\n"
|
2092 |
+
"Thank you for choosing our company.\n"
|
2093 |
+
"{company_name}\n"
|
2094 |
+
"{company_phone}\n"
|
2095 |
+
"{company_website}"
|
2096 |
+
msgstr ""
|
2097 |
+
"尊敬的{client_name},\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
2098 |
"\n"
|
2099 |
+
"我們確認您已預約了 {service_name} 。\n"
|
2100 |
+
"我們將在{appointment_date}的{appointment_time}在{company_address}等候您。\n"
|
2101 |
+
"感謝您選擇我們的公司。\n"
|
2102 |
+
"{company_name}\n"
|
2103 |
+
"{company_phone}\n"
|
2104 |
+
"{company_website}"
|
2105 |
|
2106 |
+
msgid ""
|
2107 |
+
"Hello.\n"
|
2108 |
+
"You have a new booking.\n"
|
2109 |
+
"Service: {service_name}\n"
|
2110 |
+
"Date: {appointment_date}\n"
|
2111 |
+
"Time: {appointment_time}\n"
|
2112 |
+
"Client name: {client_name}\n"
|
2113 |
+
"Client phone: {client_phone}\n"
|
2114 |
+
"Client email: {client_email}"
|
2115 |
+
msgstr ""
|
2116 |
+
"你好,\n"
|
2117 |
+
"你有新的預約。\n"
|
2118 |
+
"服務: {service_name}\n"
|
2119 |
+
"日期:{appointment_date}\n"
|
2120 |
+
"時間:{appointment_time}\n"
|
2121 |
+
"客戶名稱: {client_name}\n"
|
2122 |
+
"客戶電話: {client_phone}\n"
|
2123 |
+
"客戶電郵: {client_email}"
|
2124 |
|
2125 |
+
msgid ""
|
2126 |
+
"Dear {client_name}.\n"
|
2127 |
+
"You have cancelled your booking of {service_name} on {appointment_date} at "
|
2128 |
+
"{appointment_time}.\n"
|
|
|
|
|
|
|
2129 |
"Thank you for choosing our company.\n"
|
|
|
2130 |
"{company_name}\n"
|
2131 |
"{company_phone}\n"
|
2132 |
"{company_website}"
|
2133 |
+
msgstr ""
|
2134 |
+
"尊敬的{client_name},\n"
|
2135 |
"\n"
|
2136 |
+
"您已經取消了在{appointment_date}的{appointment_time}進行的預約{service_name}。\n"
|
|
|
|
|
2137 |
"\n"
|
2138 |
"感謝您選擇我們的公司。\n"
|
|
|
2139 |
"{company_name}\n"
|
2140 |
"{company_phone}\n"
|
2141 |
"{company_website}"
|
2142 |
|
2143 |
+
msgid ""
|
2144 |
+
"Hello.\n"
|
2145 |
+
"The following booking has been cancelled.\n"
|
2146 |
+
"Service: {service_name}\n"
|
2147 |
+
"Date: {appointment_date}\n"
|
2148 |
+
"Time: {appointment_time}\n"
|
2149 |
+
"Client name: {client_name}\n"
|
2150 |
+
"Client phone: {client_phone}\n"
|
2151 |
+
"Client email: {client_email}"
|
2152 |
+
msgstr ""
|
2153 |
+
"你好,\n"
|
2154 |
+
"\n"
|
2155 |
+
"以下的預約被取消。\n"
|
2156 |
+
"\n"
|
2157 |
+
"服務:{service_name} \n"
|
2158 |
+
"日期: {appointment_date}\n"
|
2159 |
+
"時間:{appointment_time}\n"
|
2160 |
+
"Client name: {client_name}\n"
|
2161 |
+
"Client phone: {client_phone}\n"
|
2162 |
+
"Client email: {client_email}"
|
2163 |
+
|
2164 |
+
msgid ""
|
2165 |
+
"Dear {client_name}.\n"
|
2166 |
+
"Your booking of {service_name} on {appointment_date} at {appointment_time} "
|
2167 |
+
"has been rejected.\n"
|
2168 |
"Reason: {cancellation_reason}\n"
|
2169 |
"Thank you for choosing our company.\n"
|
2170 |
"{company_name}\n"
|
2171 |
"{company_phone}\n"
|
2172 |
"{company_website}"
|
2173 |
+
msgstr ""
|
2174 |
+
"尊敬的{client_name}。\n"
|
2175 |
"您在{appointment_date}({appointment_time})預訂的{service_name}已被拒絕。\n"
|
2176 |
"原因:{cancellation_reason}\n"
|
2177 |
"感謝您選擇我們的公司。\n"
|
2179 |
"{company_phone}\n"
|
2180 |
"{company_website}"
|
2181 |
|
2182 |
+
msgid ""
|
2183 |
+
"Hello.\n"
|
2184 |
"The following booking has been rejected.\n"
|
2185 |
"Reason: {cancellation_reason}\n"
|
2186 |
"Service: {service_name}\n"
|
2189 |
"Client name: {client_name}\n"
|
2190 |
"Client phone: {client_phone}\n"
|
2191 |
"Client email: {client_email}"
|
2192 |
+
msgstr ""
|
2193 |
+
"你好。\n"
|
2194 |
"以下預訂已被拒絕。\n"
|
2195 |
"原因:{cancellation_reason}\n"
|
2196 |
"服務:{service_name}\n"
|
2200 |
"客戶電話:{client_phone}\n"
|
2201 |
"客戶電子郵件:{client_email}"
|
2202 |
|
2203 |
+
msgid ""
|
2204 |
+
"Evening reminder to customer about next day appointment (requires cron setup)"
|
2205 |
+
msgstr "預約日前一天晚上的客戶提醒(需要cron的設置)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2206 |
|
2207 |
+
msgid ""
|
2208 |
+
"Dear {client_name}.\n"
|
2209 |
+
"We would like to remind you that you have booked {service_name} tomorrow at "
|
2210 |
+
"{appointment_time}. We are waiting for you at {company_address}.\n"
|
|
|
2211 |
"Thank you for choosing our company.\n"
|
2212 |
"{company_name}\n"
|
2213 |
"{company_phone}\n"
|
2214 |
"{company_website}"
|
2215 |
+
msgstr ""
|
2216 |
+
"尊敬的{client_name},\n"
|
2217 |
+
"\n"
|
2218 |
+
"我們提醒您,您的預約{service_name}將在明天{appointment_time}進行。我們會在{company_address}等候您。\n"
|
2219 |
+
"\n"
|
2220 |
"感謝您選擇我們的公司。\n"
|
2221 |
"{company_name}\n"
|
2222 |
"{company_phone}\n"
|
2223 |
"{company_website}"
|
2224 |
|
2225 |
+
msgid ""
|
2226 |
+
"Follow-up message in the same day after appointment (requires cron setup)"
|
2227 |
+
msgstr "服務完成後發送的跟進信息(需要cron的設置)"
|
2228 |
|
2229 |
+
msgid ""
|
2230 |
+
"Dear {client_name}.\n"
|
2231 |
+
"Thank you for choosing {company_name}. We hope you were satisfied with your "
|
2232 |
+
"{service_name}.\n"
|
2233 |
+
"Thank you and we look forward to seeing you again soon.\n"
|
2234 |
+
"{company_name}\n"
|
2235 |
+
"{company_phone}\n"
|
2236 |
+
"{company_website}"
|
2237 |
+
msgstr ""
|
2238 |
+
"尊敬的{client_name},\n"
|
2239 |
+
"\n"
|
2240 |
+
"感謝您選擇{company_name}。希望您滿意我們為您提供的 {service_name}。\n"
|
2241 |
+
"\n"
|
2242 |
+
"謝謝,希望可以再次為您服務。\n"
|
2243 |
+
"\n"
|
2244 |
+
"{company_name}\n"
|
2245 |
+
"{company_phone}\n"
|
2246 |
+
"{company_website}"
|
2247 |
|
2248 |
+
msgid ""
|
2249 |
+
"Evening notification with the next day agenda to staff member (requires cron "
|
2250 |
+
"setup)"
|
2251 |
+
msgstr "通知員工第二天日程(需要cron的設置)"
|
2252 |
+
|
2253 |
+
msgid ""
|
2254 |
+
"Hello.\n"
|
2255 |
+
"Your agenda for tomorrow is:\n"
|
2256 |
+
"{next_day_agenda}"
|
2257 |
+
msgstr ""
|
2258 |
+
"你好,\n"
|
2259 |
+
"你明天的行程:\n"
|
2260 |
+
"{next_day_agenda}"
|
2261 |
|
2262 |
+
msgid ""
|
2263 |
+
"Thank you! Your booking is complete. An email with details of your booking "
|
2264 |
+
"has been sent to you."
|
2265 |
+
msgstr "謝謝! 您已完成預約。系統將會寄一封關於預約的詳細資訊到您的電郵。 "
|
2266 |
+
|
2267 |
+
msgid ""
|
2268 |
+
"You are trying to use the service too often. Please contact us to make a "
|
2269 |
+
"booking."
|
2270 |
+
msgstr "您正在嘗試頻繁使用該服務。請聯繫我們進行預訂。"
|
2271 |
+
|
2272 |
+
msgid "Your payment has been accepted for processing."
|
2273 |
+
msgstr "您的付款已被接受和正在處理。"
|
2274 |
|
2275 |
+
msgid ""
|
2276 |
+
"You selected a booking for {service_name} by {staff_name} at {service_time} "
|
2277 |
+
"on {service_date}. The price for the service is {service_price}.\n"
|
2278 |
"Please provide your details in the form below to proceed with booking."
|
2279 |
+
msgstr ""
|
2280 |
+
"您已選由 {staff_name} 負責的 {service_name} 服務,預約為 {service_date} 的 {service_time}"
|
2281 |
+
"。預定的服務價格是 {service_price}。\n"
|
2282 |
+
"請在以下的表格中留下詳細信息,以便安排。"
|
2283 |
|
|
|
2284 |
msgid "Please tell us how you would like to pay: "
|
2285 |
+
msgstr "請選擇您的支付方式:"
|
2286 |
|
|
|
2287 |
msgid "Please select service: "
|
2288 |
+
msgstr "請選擇服務:"
|
2289 |
|
2290 |
+
msgid ""
|
2291 |
+
"Below you can find a list of available time slots for {service_name} by "
|
2292 |
+
"{staff_name}.\n"
|
2293 |
"Click on a time slot to proceed with booking."
|
2294 |
+
msgstr ""
|
2295 |
+
"您可以在下方查詢 {service_name} 的 {staff_name} 可預約時間.\n"
|
2296 |
"選擇您的預約時間以進行預約。"
|
2297 |
|
|
|
2298 |
msgid "Card Security Code"
|
2299 |
msgstr "信用卡驗證碼"
|
2300 |
|
|
|
2301 |
msgid "Expiration Date"
|
2302 |
msgstr "到期日"
|
2303 |
|
|
|
2304 |
msgid "Credit Card Number"
|
2305 |
msgstr "信用卡號碼"
|
2306 |
|
2307 |
+
msgid "Confirm email"
|
2308 |
+
msgstr "確認電郵"
|
|
|
|
|
|
|
|
|
|
|
2309 |
|
|
|
2310 |
msgid "Finish by"
|
2311 |
msgstr "完成於"
|
2312 |
|
2313 |
+
msgid "First name"
|
2314 |
+
msgstr "名字"
|
2315 |
+
|
2316 |
+
msgid "Last name"
|
2317 |
+
msgstr "姓"
|
2318 |
+
|
2319 |
+
msgid "Notes"
|
2320 |
+
msgstr "記錄"
|
2321 |
+
|
2322 |
msgid "I will pay now with Credit Card"
|
2323 |
msgstr "我會現在使用信用卡支付"
|
2324 |
|
|
|
2325 |
msgid "I will pay locally"
|
2326 |
msgstr "我會即場支付"
|
2327 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2328 |
msgid "I'm available on or after"
|
2329 |
msgstr "我可以在此或之後"
|
2330 |
|
|
|
2331 |
msgid "Start from"
|
2332 |
msgstr "由"
|
2333 |
|
2334 |
+
msgid "Select category"
|
2335 |
+
msgstr "選擇分類"
|
2336 |
+
|
2337 |
+
msgid "Any"
|
2338 |
+
msgstr "任何"
|
2339 |
+
|
2340 |
+
msgid "Select service"
|
2341 |
+
msgstr "選擇服務"
|
2342 |
+
|
2343 |
+
msgid "Select day"
|
2344 |
+
msgstr "選擇日期"
|
2345 |
+
|
2346 |
+
msgid "Select month"
|
2347 |
+
msgstr "選擇月份"
|
2348 |
+
|
2349 |
+
msgid "Select year"
|
2350 |
+
msgstr "選擇年份"
|
2351 |
+
|
2352 |
msgid "Please tell us your email"
|
2353 |
msgstr "請提供您的電子郵箱"
|
2354 |
|
2355 |
+
msgid "Email confirmation doesn't match"
|
2356 |
+
msgstr "電子郵件確認不符"
|
2357 |
+
|
2358 |
msgid "Please select an employee"
|
2359 |
msgstr "請選擇一位員工"
|
2360 |
|
|
|
2361 |
msgid "Please tell us your name"
|
2362 |
msgstr "請提供您的姓名"
|
2363 |
|
|
|
2364 |
msgid "Please tell us your first name"
|
2365 |
+
msgstr "請告訴我們您的名字"
|
2366 |
|
|
|
2367 |
msgid "Please tell us your last name"
|
2368 |
+
msgstr "請告訴我們您的姓氏"
|
2369 |
|
|
|
2370 |
msgid "Please tell us your phone"
|
2371 |
msgstr "請提供您的電話"
|
2372 |
|
2373 |
+
msgid "Please select a service"
|
2374 |
+
msgstr "請選擇服務"
|
|
|
2375 |
|
2376 |
+
msgid ""
|
2377 |
+
"The selected time is not available anymore. Please, choose another time slot."
|
2378 |
msgstr "所選時段已滿,請選擇其他的時段。"
|
2379 |
|
2380 |
+
msgid "Login"
|
2381 |
+
msgstr "登入"
|
2382 |
+
|
2383 |
msgid "Done"
|
2384 |
msgstr "已完成"
|
2385 |
|
|
|
2386 |
msgid "Signed up"
|
2387 |
msgstr "報名"
|
2388 |
|
2389 |
+
msgid "Custom notification"
|
2390 |
+
msgstr "自定通知"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2391 |
|
2392 |
+
msgid "Appointment reminder"
|
2393 |
+
msgstr "預約提示"
|
|
|
2394 |
|
2395 |
+
msgid "New booking"
|
2396 |
+
msgstr "新預約"
|
|
|
2397 |
|
2398 |
+
msgid "Notification about customer's appointment status change"
|
2399 |
+
msgstr "有關客戶約會狀態更改的通知"
|
|
|
2400 |
|
2401 |
+
msgid "Customer birthday greeting (requires cron setup)"
|
2402 |
+
msgstr "客戶生日問候(需要cron設置)"
|
|
|
2403 |
|
2404 |
+
msgid "Notification to customer about pending appointment"
|
2405 |
+
msgstr "通知客戶有關審核中的預約資料"
|
|
|
2406 |
|
2407 |
+
msgid ""
|
2408 |
+
"1st reminder to customer about upcoming appointment (requires cron setup)"
|
2409 |
+
msgstr "第一個提醒客戶即將到來的預約(需要安裝cron)"
|
2410 |
|
2411 |
+
msgid ""
|
2412 |
+
"2nd reminder to customer about upcoming appointment (requires cron setup)"
|
2413 |
+
msgstr "第二次提醒客戶即將到來的預約(需要安裝cron)"
|
2414 |
|
2415 |
+
msgid ""
|
2416 |
+
"3rd reminder to customer about upcoming appointment (requires cron setup)"
|
2417 |
+
msgstr "第三次提醒客戶即將到來的預約(需要安裝cron)"
|
2418 |
|
2419 |
+
msgid "Last client's appointment"
|
2420 |
+
msgstr "過去客戶預約"
|
|
|
2421 |
|
2422 |
+
msgid "Full day agenda"
|
2423 |
+
msgstr "全日議程"
|
|
|
2424 |
|
2425 |
+
msgid "Notification to staff member about pending appointment"
|
2426 |
+
msgstr "通知員工審核中的預約資料"
|
|
|
2427 |
|
2428 |
+
msgid "Invalid day"
|
2429 |
+
msgstr "日子無效"
|
|
|
2430 |
|
2431 |
+
msgid "Day is required"
|
2432 |
+
msgstr "日期必填"
|
|
|
2433 |
|
2434 |
+
msgid "Month is required"
|
2435 |
+
msgstr "月份為必填"
|
|
|
2436 |
|
2437 |
+
msgid "Year is required"
|
2438 |
+
msgstr "需要年份"
|
|
|
2439 |
|
2440 |
+
msgid "Country"
|
2441 |
+
msgstr "國家"
|
|
|
2442 |
|
2443 |
+
msgid "State/Region"
|
2444 |
+
msgstr "州/地區"
|
|
|
2445 |
|
2446 |
+
msgid "Postal Code"
|
2447 |
+
msgstr "郵政編碼"
|
|
|
2448 |
|
2449 |
+
msgid "City"
|
2450 |
+
msgstr "城市"
|
|
|
2451 |
|
2452 |
+
msgid "Street Address"
|
2453 |
+
msgstr "街道地址"
|
|
|
2454 |
|
2455 |
+
msgid "Additional Address"
|
2456 |
+
msgstr "添加地址"
|
|
|
2457 |
|
2458 |
+
msgid "Country is required"
|
2459 |
+
msgstr "國家為必填項"
|
|
|
2460 |
|
2461 |
+
msgid "State is required"
|
2462 |
+
msgstr "州為必填項"
|
|
|
2463 |
|
2464 |
+
msgid "Postcode is required"
|
2465 |
+
msgstr "必填郵政編碼"
|
|
|
|
|
2466 |
|
2467 |
+
msgid "City is required"
|
2468 |
+
msgstr "城市為必填"
|
|
|
2469 |
|
2470 |
+
msgid "Street is required"
|
2471 |
+
msgstr "街道名稱為必填項"
|
|
|
2472 |
|
2473 |
+
msgid "Additional address is required"
|
2474 |
+
msgstr "必須提供額外地址"
|
|
|
2475 |
|
2476 |
+
msgid ""
|
2477 |
+
"The highlighted time is not available anymore. Please, choose another time "
|
2478 |
+
"slot."
|
2479 |
+
msgstr "所選時段已滿,請選擇其他的時段。"
|
2480 |
|
2481 |
+
msgid "Happy Birthday!"
|
2482 |
+
msgstr "生日快樂!"
|
|
|
2483 |
|
2484 |
+
msgid ""
|
2485 |
+
"Dear {client_name},\n"
|
2486 |
+
"\n"
|
2487 |
+
"Happy birthday!\n"
|
2488 |
+
"We wish you all the best.\n"
|
2489 |
+
"May you and your family be happy and healthy.\n"
|
2490 |
+
"\n"
|
2491 |
+
"Thank you for choosing our company.\n"
|
2492 |
+
"\n"
|
2493 |
+
"{company_name}\n"
|
2494 |
+
"{company_phone}\n"
|
2495 |
+
"{company_website}"
|
2496 |
msgstr ""
|
2497 |
+
"尊敬的{client_name},\n"
|
2498 |
+
"\n"
|
2499 |
+
"生日快樂!\n"
|
2500 |
+
"我們祝你一切順利。\n"
|
2501 |
+
"願你和你的家人幸福和健康。\n"
|
2502 |
+
"\n"
|
2503 |
+
"感謝您選擇我們的公司。\n"
|
2504 |
+
"\n"
|
2505 |
+
"{company_name}\n"
|
2506 |
+
"{company_phone}\n"
|
2507 |
+
"{company_website}"
|
2508 |
|
2509 |
+
msgid ""
|
2510 |
+
"Dear {client_name},\n"
|
2511 |
+
"Happy birthday!\n"
|
2512 |
+
"We wish you all the best.\n"
|
2513 |
+
"May you and your family be happy and healthy.\n"
|
2514 |
+
"Thank you for choosing our company.\n"
|
2515 |
+
"{company_name}\n"
|
2516 |
+
"{company_phone}\n"
|
2517 |
+
"{company_website}"
|
2518 |
msgstr ""
|
2519 |
+
"尊敬的{client_name},\n"
|
2520 |
+
"生日快樂!\n"
|
2521 |
+
"我們祝你一切順利。\n"
|
2522 |
+
"願你和你的家人幸福和健康。\n"
|
2523 |
+
"感謝您選擇我們的公司。\n"
|
2524 |
+
"{company_name}\n"
|
2525 |
+
"{company_phone}\n"
|
2526 |
+
"{company_website}"
|
2527 |
|
2528 |
+
#, php-format
|
2529 |
+
msgid "%d year"
|
2530 |
+
msgid_plural "%d years"
|
2531 |
+
msgstr[0] "%d 年"
|
2532 |
+
msgstr[1] ""
|
2533 |
|
2534 |
+
#, php-format
|
2535 |
+
msgid "%d month"
|
2536 |
+
msgid_plural "%d months"
|
2537 |
+
msgstr[0] "%d 月"
|
2538 |
+
msgstr[1] ""
|
2539 |
|
2540 |
+
#, php-format
|
2541 |
+
msgid "%d week"
|
2542 |
+
msgid_plural "%d weeks"
|
2543 |
+
msgstr[0] "%d 周"
|
2544 |
+
msgstr[1] ""
|
2545 |
|
2546 |
+
#, php-format
|
2547 |
+
msgid "%d day"
|
2548 |
+
msgid_plural "%d days"
|
2549 |
+
msgstr[0] "%d 天"
|
2550 |
+
msgstr[1] ""
|
2551 |
|
2552 |
+
#, php-format
|
2553 |
+
msgid "%d h"
|
2554 |
+
msgstr "%d 小時"
|
2555 |
|
2556 |
+
#, php-format
|
2557 |
+
msgid "%d min"
|
2558 |
+
msgstr "%d 分"
|
2559 |
|
2560 |
+
msgid "Tomorrow"
|
2561 |
+
msgstr "明天"
|
|
|
2562 |
|
2563 |
+
msgid "Yesterday"
|
2564 |
+
msgstr "昨天"
|
|
|
2565 |
|
2566 |
+
msgid "Last 7 days"
|
2567 |
+
msgstr "過去7天"
|
|
|
2568 |
|
2569 |
+
msgid "Last 30 days"
|
2570 |
+
msgstr "過去30天"
|
|
|
2571 |
|
2572 |
+
msgid "This month"
|
2573 |
+
msgstr "這個月"
|
|
|
2574 |
|
2575 |
+
msgid "Next month"
|
2576 |
+
msgstr "下月"
|
|
|
2577 |
|
2578 |
+
msgid "Custom range"
|
2579 |
+
msgstr "自定範圍"
|
|
|
2580 |
|
2581 |
+
msgid "To"
|
2582 |
+
msgstr "至"
|
|
|
2583 |
|
2584 |
+
msgid "From"
|
2585 |
+
msgstr "由"
|
|
|
2586 |
|
2587 |
+
msgid "No."
|
2588 |
+
msgstr "號"
|
|
|
2589 |
|
2590 |
+
msgid "Appointment date"
|
2591 |
+
msgstr "預約日期"
|
|
|
2592 |
|
2593 |
+
msgid "Customer name"
|
2594 |
+
msgstr "顧客名稱"
|
|
|
2595 |
|
2596 |
+
msgid "Customer phone"
|
2597 |
+
msgstr "顧客電話"
|
|
|
2598 |
|
2599 |
+
msgid "Customer email"
|
2600 |
+
msgstr "顧客電郵"
|
|
|
2601 |
|
2602 |
+
msgid "Created"
|
2603 |
+
msgstr "已建立"
|
|
|
2604 |
|
2605 |
+
msgid "User"
|
2606 |
+
msgstr "用戶"
|
|
|
2607 |
|
2608 |
+
msgid "Last appointment"
|
2609 |
+
msgstr "最後一個預約"
|
|
|
2610 |
|
2611 |
+
msgid "Total appointments"
|
2612 |
+
msgstr "所有預約"
|
|
|
2613 |
|
2614 |
+
msgid "Payments"
|
2615 |
+
msgstr "付款"
|
|
|
2616 |
|
2617 |
+
msgid "Type"
|
2618 |
+
msgstr "類型"
|
|
|
2619 |
|
2620 |
+
msgid "State"
|
2621 |
+
msgstr "州"
|
|
|
2622 |
|
2623 |
+
msgid "Customer"
|
2624 |
+
msgstr "客戶"
|
|
|
2625 |
|
2626 |
+
msgid "Amount"
|
2627 |
+
msgstr "數量"
|
|
|
2628 |
|
2629 |
+
msgid "Text"
|
2630 |
+
msgstr "文字"
|
|
|
2631 |
|
2632 |
+
msgid "Sender ID"
|
2633 |
+
msgstr "發件人ID"
|
|
|
2634 |
|
2635 |
+
msgid "Cost"
|
2636 |
+
msgstr "成本"
|
|
|
2637 |
|
2638 |
+
msgid "Flag"
|
2639 |
+
msgstr "國家"
|
|
|
2640 |
|
2641 |
+
msgid "Code"
|
2642 |
+
msgstr "代碼"
|
|
|
2643 |
|
2644 |
+
msgid "Regular price"
|
2645 |
+
msgstr "正常價格"
|
|
|
2646 |
|
2647 |
+
msgid "Price with custom Sender ID"
|
2648 |
+
msgstr "價格與自定義發送者ID"
|
|
|
2649 |
|
2650 |
+
msgid "Order"
|
2651 |
+
msgstr "訂單"
|
|
|
|
|
|
|
2652 |
|
2653 |
+
msgid "Requested ID"
|
2654 |
+
msgstr "請求ID"
|
|
|
2655 |
|
2656 |
+
msgid "Status date"
|
2657 |
+
msgstr "狀態日期"
|
|
|
2658 |
|
2659 |
+
msgid "Important"
|
2660 |
+
msgstr "重要"
|
|
|
2661 |
|
2662 |
+
msgid ""
|
2663 |
+
"Though, every new version is thoroughly tested to its highest quality before "
|
2664 |
+
"deploying, we can't guarantee that after update the plugin will work "
|
2665 |
+
"properly on all WordPress configurations and completely protect it from the "
|
2666 |
+
"influence of other plugins."
|
2667 |
msgstr ""
|
2668 |
+
"雖然,每個新版本在推出前都經過了最高質量的全面測試,但我們不能保證在更新後該插件將在所有WordPress配置上都能正常工作,並完全保護其不受其他插件的影響。"
|
2669 |
|
2670 |
+
#, php-format
|
2671 |
+
msgid ""
|
2672 |
+
"There is a small risk that some issues may appear as a result of updating "
|
2673 |
+
"the plugin. Please note that, according to %1$s Envato rules %2$s, we will "
|
2674 |
+
"be able to help you only if you have active item support period."
|
2675 |
+
msgstr "更新插件可能會導致一些問題出現。請注意,根據 %1$ Envato規則 %2$,只有在有效的項目支援時段,我們才能為您提供幫助。"
|
2676 |
|
2677 |
+
#, php-format
|
2678 |
+
msgid ""
|
2679 |
+
"You can renew support %1$s here %3$s or %2$s I've already renewed support. "
|
2680 |
+
"%3$s"
|
2681 |
+
msgstr "您可以在 %3$s 或 %2$s 這裡更新支援 %1$s,我已經更新了支援。 %3$s"
|
2682 |
|
2683 |
+
msgid "Local"
|
2684 |
+
msgstr "即場"
|
|
|
2685 |
|
2686 |
+
msgid "Free"
|
2687 |
+
msgstr "空閒"
|
|
|
|
|
2688 |
|
2689 |
+
msgid "Completed"
|
2690 |
+
msgstr "已完成"
|
|
|
|
|
2691 |
|
2692 |
+
msgid "Pending"
|
2693 |
+
msgstr "審批中"
|
|
|
2694 |
|
2695 |
+
msgid "Rejected"
|
2696 |
+
msgstr "拒絕"
|
|
|
2697 |
|
2698 |
+
msgid "Approved"
|
2699 |
+
msgstr "已經獲批"
|
|
|
2700 |
|
2701 |
+
msgid "Cancelled"
|
2702 |
+
msgstr "已取消"
|
|
|
2703 |
|
2704 |
+
msgid "Untitled"
|
2705 |
+
msgstr "無標題"
|
|
|
2706 |
|
2707 |
+
msgid "Unknown"
|
2708 |
+
msgstr "不詳"
|
|
|
2709 |
|
2710 |
+
msgid "New booking notification"
|
2711 |
+
msgstr "新預約通知"
|
|
|
2712 |
|
2713 |
+
msgid "New booking combined notification"
|
2714 |
+
msgstr "新預約合併通知"
|
|
|
2715 |
|
2716 |
+
msgid "New customer's WordPress user login details"
|
2717 |
+
msgstr "新客戶的WordPress用戶登錄詳細信息"
|
|
|
2718 |
|
2719 |
+
msgid "Customer's birthday greeting"
|
2720 |
+
msgstr "客戶的生日祝福"
|
|
|
2721 |
|
2722 |
+
msgid "Customer's last appointment notification"
|
2723 |
+
msgstr "客戶的最後預約通知"
|
|
|
2724 |
|
2725 |
+
msgid "Staff full day agenda"
|
2726 |
+
msgstr "員工日程"
|
|
|
2727 |
|
2728 |
+
msgid "Test message"
|
2729 |
+
msgstr "測試消息"
|
|
|
2730 |
|
2731 |
+
msgid "Invalid email"
|
2732 |
+
msgstr "無效的電郵地址"
|
|
|
2733 |
|
2734 |
+
msgid "This email is already in use"
|
2735 |
+
msgstr "該郵箱已被使用"
|
|
|
2736 |
|
2737 |
+
#, php-format
|
2738 |
+
msgid "\"%s\" is too long (%d characters max)."
|
2739 |
+
msgstr "\"%s\" 太長 (最多%d 字)。"
|
2740 |
|
2741 |
+
msgid "Invalid number"
|
2742 |
+
msgstr "無效數字"
|
|
|
2743 |
|
2744 |
+
msgid "Invalid date"
|
2745 |
+
msgstr "日期無效"
|
|
|
2746 |
|
2747 |
+
msgid "Invalid time"
|
2748 |
+
msgstr "時間無效"
|
|
|
2749 |
|
2750 |
+
#, php-format
|
2751 |
+
msgid ""
|
2752 |
+
"Your %s: %s is already associated with another %s.<br/>Press Update if we "
|
2753 |
+
"should update your user data, or press Cancel to edit entered data."
|
2754 |
+
msgstr "您的 %s: %s 已經與另一個 %s 有關。<br/>如果我們需要更新您的用戶資料,請進行更新,或者按取消以修改輸入的資料。"
|
2755 |
|
2756 |
+
msgid "sent to our system"
|
2757 |
+
msgstr "發送到我們的系統"
|
|
|
2758 |
|
2759 |
+
msgid ""
|
2760 |
+
"Hope you had a good weekend! Here's a summary of messages we've delivered "
|
2761 |
+
"last week:\n"
|
2762 |
+
"{notification_list}\n"
|
2763 |
+
"\n"
|
2764 |
+
"Your system sent a total of {total} messages last week (that's {delta} {sign}"
|
2765 |
+
" than the week before).\n"
|
2766 |
+
"Cost of sending {total} messages was {amount}. Your current Bookly SMS "
|
2767 |
+
"balance is {balance}.\n"
|
2768 |
+
"\n"
|
2769 |
+
"Thank you for using Bookly SMS. We wish you a lucky week!\n"
|
2770 |
+
"Bookly SMS Team"
|
2771 |
msgstr ""
|
2772 |
+
"希望您週末愉快!以下是我們上週發送的信息摘要:\n"
|
2773 |
+
"{notification_list}\n"
|
2774 |
+
"\n"
|
2775 |
+
"您的系統上週共發送了{total}條消息(比前一周發送了{delta} {sign})。\n"
|
2776 |
+
"發送{total}郵件的費用為{amount}。您當前的Bookly SMS餘額為{balance}。\n"
|
2777 |
+
"\n"
|
2778 |
+
"感謝您使用Bookly SMS。祝您有個美好的一周!\n"
|
2779 |
+
"Bookly SMS 團隊"
|
2780 |
|
2781 |
+
msgid "more"
|
2782 |
+
msgstr "增加"
|
|
|
2783 |
|
2784 |
+
msgid "less"
|
2785 |
+
msgstr "减少"
|
|
|
2786 |
|
2787 |
+
msgid "Bookly SMS weekly summary"
|
2788 |
+
msgstr "Bookly SMS每週摘要"
|
|
|
2789 |
|
2790 |
+
msgid "Internal Notes"
|
2791 |
+
msgstr "內部筆記"
|
|
|
2792 |
|
2793 |
+
msgid ""
|
2794 |
+
"To view the details of these appointments, please contact your website "
|
2795 |
+
"administrator in order to verify Bookly Pro license."
|
2796 |
+
msgstr "要查看這些預約的詳細信息,請聯繫您的網站管理員以驗證Bookly Pro許可。"
|
2797 |
|
2798 |
+
msgid "Admins"
|
2799 |
+
msgstr "管理"
|
|
|
2800 |
|
2801 |
+
msgid "Passwords must be the same."
|
2802 |
+
msgstr "密碼必須相同。"
|
|
|
2803 |
|
2804 |
+
msgid ""
|
2805 |
+
"Your don't have enough Bookly SMS credits to send this message. Please add "
|
2806 |
+
"funds to your balance and try again."
|
2807 |
+
msgstr "您沒有足夠的Bookly短訊餘額去發送這訊息,請充值後再試。"
|
2808 |
|
2809 |
+
msgid "Failed to send SMS."
|
2810 |
+
msgstr "傳送SMS短訊失敗。"
|
|
|
2811 |
|
2812 |
+
msgid "Phone number is empty."
|
2813 |
+
msgstr "沒有輸入電話號碼。"
|
|
|
2814 |
|
2815 |
+
msgid "Queued"
|
2816 |
+
msgstr "排列"
|
|
|
2817 |
|
2818 |
+
msgid "Error"
|
2819 |
+
msgstr "錯誤"
|
|
|
2820 |
|
2821 |
+
msgid "Out of credit"
|
2822 |
+
msgstr "信用額度已全用"
|
|
|
2823 |
|
2824 |
+
msgid "Country out of service"
|
2825 |
+
msgstr "國家暫停服務"
|
|
|
2826 |
|
2827 |
+
msgid "Sending"
|
2828 |
+
msgstr "傳送中"
|
|
|
2829 |
|
2830 |
+
msgid "Sent"
|
2831 |
+
msgstr "已發送"
|
|
|
2832 |
|
2833 |
+
msgid "Delivered"
|
2834 |
+
msgstr "已發貨"
|
|
|
2835 |
|
2836 |
+
msgid "Failed"
|
2837 |
+
msgstr "已失敗"
|
|
|
2838 |
|
2839 |
+
msgid "Undelivered"
|
2840 |
+
msgstr "未送達"
|
|
|
2841 |
|
2842 |
+
msgid "Default"
|
2843 |
+
msgstr "預設"
|
|
|
2844 |
|
2845 |
+
msgid "Declined"
|
2846 |
+
msgstr "下降"
|
|
|
2847 |
|
2848 |
+
msgid "Error connecting to server."
|
2849 |
+
msgstr "連線到伺服器發生錯誤。"
|
|
|
2850 |
|
2851 |
+
#, php-format
|
2852 |
+
msgid ""
|
2853 |
+
"Dear Bookly SMS customer.\n"
|
2854 |
+
"We would like to notify you that your Bookly SMS balance fell lower than 5 "
|
2855 |
+
"USD. To use our service without interruptions please recharge your balance "
|
2856 |
+
"by visiting Bookly SMS page <a href='%s'>here</a>.\n"
|
2857 |
+
"\n"
|
2858 |
+
"If you want to stop receiving these notifications, please update your "
|
2859 |
+
"settings <a href='%s'>here</a>."
|
2860 |
msgstr ""
|
2861 |
+
"尊敬的Bookly SMS短信的客戶。我們想告訴你,你Bookly短信餘額降至低於5美元。如要継績使用我們的服務,請訪問Bookly短信增值<a "
|
2862 |
+
"href=‘%s’>頁面</a> 增值您的餘額。\n"
|
2863 |
+
"\n"
|
2864 |
+
"如果你想停止接收這些通知,請更新您的設置<a href=‘%s’>這裏</a> 。"
|
2865 |
|
2866 |
+
msgid "Bookly SMS - Low Balance"
|
2867 |
+
msgstr "Bookly SMS - 餘額過低"
|
|
|
2868 |
|
2869 |
+
msgid "Empty password."
|
2870 |
+
msgstr "空密碼。"
|
|
|
2871 |
|
2872 |
+
msgid "Incorrect password."
|
2873 |
+
msgstr "錯誤密碼。"
|
|
|
2874 |
|
2875 |
+
msgid "Incorrect recovery code."
|
2876 |
+
msgstr "不正確的復原碼。"
|
|
|
2877 |
|
2878 |
+
msgid "Incorrect email or password."
|
2879 |
+
msgstr "郵件信箱或密碼錯誤"
|
|
|
2880 |
|
2881 |
+
msgid "Incorrect sender ID"
|
2882 |
+
msgstr "不正確發送ID"
|
|
|
2883 |
|
2884 |
+
msgid "Invalid email."
|
2885 |
+
msgstr "無效的郵件地址。"
|
|
|
2886 |
|
2887 |
+
msgid "Pending sender ID already exists."
|
2888 |
+
msgstr "待發件人ID已經存在。"
|
|
|
2889 |
|
2890 |
+
msgid "Recovery code expired."
|
2891 |
+
msgstr "復原碼已過期。"
|
|
|
2892 |
|
2893 |
+
msgid "Error sending email."
|
2894 |
+
msgstr "發送電子郵件時出現錯誤。"
|
|
|
|
|
2895 |
|
2896 |
+
msgid "User not found."
|
2897 |
+
msgstr "找不到用戶。"
|
|
|
|
|
2898 |
|
2899 |
+
msgid "Email already in use."
|
2900 |
+
msgstr "該郵箱已被使用"
|
|
|
2901 |
|
2902 |
+
msgid "Dashboard"
|
2903 |
+
msgstr "儀表板"
|
|
|
2904 |
|
2905 |
+
msgid "Staff Members"
|
2906 |
+
msgstr "員工"
|
|
|
2907 |
|
2908 |
+
msgid "Email Notifications"
|
2909 |
+
msgstr "電郵通知"
|
|
|
2910 |
|
2911 |
+
msgid "Customers"
|
2912 |
+
msgstr "客戶"
|
|
|
2913 |
|
2914 |
+
msgid "Appearance"
|
2915 |
+
msgstr "外觀"
|
|
|
2916 |
|
2917 |
+
msgid "Settings"
|
2918 |
+
msgstr "設定"
|
|
|
2919 |
|
2920 |
+
msgid "Get Bookly Pro"
|
2921 |
+
msgstr "獲得Bookly Pro"
|
|
|
2922 |
|
2923 |
+
msgid "Messages"
|
2924 |
+
msgstr "訊息"
|
|
|
2925 |
|
2926 |
+
msgid "Subject"
|
2927 |
+
msgstr "主題"
|
|
|
2928 |
|
2929 |
+
msgid "Message"
|
2930 |
+
msgstr "訊息"
|
|
|
2931 |
|
2932 |
+
msgid "No records."
|
2933 |
+
msgstr "沒有記錄。"
|
|
|
2934 |
|
2935 |
+
msgid "messages"
|
2936 |
+
msgstr "訊息"
|
|
|
2937 |
|
2938 |
+
msgid "Previous"
|
2939 |
+
msgstr "之前"
|
|
|
2940 |
|
2941 |
+
msgid "New appointment"
|
2942 |
+
msgstr "建立預約"
|
|
|
2943 |
|
2944 |
+
msgid "Created at any time"
|
2945 |
+
msgstr "在任何時間建立"
|
|
|
2946 |
|
2947 |
+
msgid "Any time"
|
2948 |
+
msgstr "任何時間"
|
|
|
2949 |
|
2950 |
+
msgid "No appointments for selected period."
|
2951 |
+
msgstr "選擇時間沒有預約。"
|
|
|
2952 |
|
2953 |
+
msgid "No result found"
|
2954 |
+
msgstr "找不到結果"
|
|
|
2955 |
|
2956 |
+
msgid "Searching"
|
2957 |
+
msgstr "搜索"
|
|
|
2958 |
|
2959 |
+
msgid "Attachments"
|
2960 |
+
msgstr "附件"
|
|
|
2961 |
|
2962 |
+
msgid "Archived"
|
2963 |
+
msgstr "已存檔"
|
|
|
2964 |
|
2965 |
+
msgid "Send invoice"
|
2966 |
+
msgstr "發送發票"
|
|
|
2967 |
|
2968 |
+
msgid "Company name"
|
2969 |
+
msgstr "公司名稱"
|
|
|
2970 |
|
2971 |
+
msgid "Note: invoice will be sent to your PayPal email address"
|
2972 |
+
msgstr "注意:發票將發送到您的PayPal電子郵件地址"
|
|
|
2973 |
|
2974 |
+
msgid "Company address"
|
2975 |
+
msgstr "公司地址"
|
|
|
2976 |
|
2977 |
+
msgid "Copy invoice to another email(s)"
|
2978 |
+
msgstr "將發票複製到其他電子郵件"
|
|
|
2979 |
|
2980 |
+
msgid "Enter one or more email addresses separated by commas."
|
2981 |
+
msgstr "輸入一個或多個用逗號分隔的電子郵件地址。"
|
|
|
2982 |
|
2983 |
+
msgid "Company address line 2"
|
2984 |
+
msgstr "公司地址(第2行)"
|
|
|
2985 |
|
2986 |
+
msgid "VAT"
|
2987 |
+
msgstr "增值稅"
|
|
|
2988 |
|
2989 |
+
msgid "Company code"
|
2990 |
+
msgstr "公司代碼"
|
|
|
2991 |
|
2992 |
+
msgid "Additional text to include into invoice"
|
2993 |
+
msgstr "包含在發票中的額外文字"
|
|
|
2994 |
|
2995 |
+
msgid "SMS Notifications"
|
2996 |
+
msgstr "SMS 短信通知"
|
|
|
2997 |
|
2998 |
+
msgid "Your balance"
|
2999 |
+
msgstr "您的餘額"
|
|
|
3000 |
|
3001 |
+
msgid "Send email notification to administrators at low balance"
|
3002 |
+
msgstr "餘額過低時發電郵通知管理員"
|
|
|
3003 |
|
3004 |
+
msgid "Send weekly summary to administrators"
|
3005 |
+
msgstr "向管理員發送每週摘要"
|
|
|
3006 |
|
3007 |
+
msgid "Change"
|
3008 |
+
msgstr "更改"
|
|
|
3009 |
|
3010 |
+
msgid "Approved at"
|
3011 |
+
msgstr "在批准"
|
|
|
3012 |
|
3013 |
+
msgid "Log out"
|
3014 |
+
msgstr "登出"
|
|
|
3015 |
|
3016 |
+
msgid "Notifications"
|
3017 |
+
msgstr "通知"
|
|
|
3018 |
|
3019 |
+
msgid "Add money"
|
3020 |
+
msgstr "増值"
|
|
|
3021 |
|
3022 |
+
msgid "Auto-Recharge"
|
3023 |
+
msgstr "自動儲值"
|
|
|
3024 |
|
3025 |
+
msgid "Purchases"
|
3026 |
+
msgstr "購買"
|
|
|
3027 |
|
3028 |
+
msgid "SMS Details"
|
3029 |
+
msgstr "SMS 短信內容"
|
|
|
3030 |
|
3031 |
+
msgid "Price list"
|
3032 |
+
msgstr "價目表"
|
|
|
3033 |
|
3034 |
+
msgid ""
|
3035 |
+
"SMS Notifications (or \"Bookly SMS\") is a service for notifying your "
|
3036 |
+
"customers via text messages which are sent to mobile phones."
|
3037 |
+
msgstr "短信通知(或\"Bookly SMS\")是把手機短信發送到您的客戶的服務。"
|
3038 |
|
3039 |
+
msgid "It is necessary to register in order to start using this service."
|
3040 |
+
msgstr "它是必要的,以便註冊開始使用該服務。"
|
|
|
3041 |
|
3042 |
+
msgid ""
|
3043 |
+
"After registration you will need to configure notification messages and top "
|
3044 |
+
"up your balance in order to start sending SMS."
|
3045 |
+
msgstr "註冊後,您將需要設置通知消息,並充值您的餘額以開始發送短信。"
|
3046 |
|
3047 |
+
msgid "Confirm your email"
|
3048 |
+
msgstr "確認您的電子郵件"
|
|
|
3049 |
|
3050 |
+
msgid "Thank you for registration."
|
3051 |
+
msgstr "感謝您的註冊。"
|
|
|
3052 |
|
3053 |
+
#, php-format
|
3054 |
+
msgid "Confirmation is sent to %s."
|
3055 |
+
msgstr "確認已發送到%s。"
|
3056 |
|
3057 |
+
msgid ""
|
3058 |
+
"Once you confirm your e-mail address, you will get an access to Bookly SMS "
|
3059 |
+
"service."
|
3060 |
+
msgstr "確認電子郵件地址後,您將可以使用Bookly SMS服務。"
|
3061 |
|
3062 |
+
msgid "Password"
|
3063 |
+
msgstr "密碼"
|
|
|
3064 |
|
3065 |
+
msgid "Log In"
|
3066 |
+
msgstr "登入"
|
|
|
3067 |
|
3068 |
+
msgid "Registration"
|
3069 |
+
msgstr "注册"
|
|
|
3070 |
|
3071 |
+
msgid "Forgot password"
|
3072 |
+
msgstr "忘記密碼"
|
|
|
3073 |
|
3074 |
+
msgid "Repeat password"
|
3075 |
+
msgstr "重覆密碼"
|
|
|
3076 |
|
3077 |
+
#, php-format
|
3078 |
+
msgid ""
|
3079 |
+
"I accept <a href=\"%1$s\" target=\"_blank\">Service Terms</a> and <a "
|
3080 |
+
"href=\"%2$s\" target=\"_blank\">Privacy Policy</a>"
|
3081 |
msgstr ""
|
3082 |
+
"我接受<a href=\"%1$s\" target=\"_blank\">服務條款</a>和<a href=\"%2$s\" "
|
3083 |
+
"target=\"_blank\">隱私政策</a>"
|
3084 |
|
3085 |
+
msgid "Register"
|
3086 |
+
msgstr "註冊"
|
|
|
3087 |
|
3088 |
+
msgid "Enter code from email"
|
3089 |
+
msgstr "從電郵輸入代碼"
|
|
|
3090 |
|
3091 |
+
msgid "Repeat new password"
|
3092 |
+
msgstr "重覆新密碼"
|
|
|
3093 |
|
3094 |
+
msgid "Change password"
|
3095 |
+
msgstr "修改密碼"
|
|
|
3096 |
|
3097 |
+
msgid "Old password"
|
3098 |
+
msgstr "舊密碼"
|
|
|
3099 |
|
3100 |
+
msgid ""
|
3101 |
+
"We will only charge your PayPal account when your balance falls below $10."
|
3102 |
+
msgstr "當您的餘額低於$ 10,我們將只向您的PayPal帳戶收錢。"
|
3103 |
|
3104 |
+
msgid "Enable Auto-Recharge"
|
3105 |
+
msgstr "啟用自動儲值"
|
|
|
3106 |
|
3107 |
+
msgid "Disable Auto-Recharge"
|
3108 |
+
msgstr "停用自動儲值"
|
|
|
3109 |
|
3110 |
+
msgid ""
|
3111 |
+
"If you do not see your country in the list please contact us at <a "
|
3112 |
+
"href=\"mailto:support@bookly.info\">support@bookly.info</a>."
|
3113 |
msgstr ""
|
3114 |
+
"如果您在列表中沒有找到您的國家,請通過<a href=\"mailto:support@bookly.info\">support@bookly."
|
3115 |
+
"info </a>與我們聯繫。"
|
3116 |
|
3117 |
+
msgid "Administrator phone"
|
3118 |
+
msgstr "管理員的電話"
|
|
|
3119 |
|
3120 |
+
msgid ""
|
3121 |
+
"Enter a phone number in international format. E.g. for the United States a "
|
3122 |
+
"valid phone number would be +17327572923."
|
3123 |
+
msgstr "輸入一個國際格式的電話號碼。例如,在美國的一個有效的電話號碼是+17327572923。"
|
3124 |
|
3125 |
+
msgid "Send test SMS"
|
3126 |
+
msgstr "傳送測試SMS短訊"
|
|
|
3127 |
|
|
|
|
|
|