[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7guaDvW5xi-SgOsAyxai4Fnboat7XU3db3WM87xs8u0":3},{"id":4,"url_slug":5,"title":6,"description":7,"plugin_slug":8,"theme_slug":9,"affected_versions":10,"patched_in_version":11,"severity":12,"cvss_score":13,"cvss_vector":14,"vuln_type":15,"published_date":16,"updated_date":17,"references":18,"days_to_patch":20,"patch_diff_files":21,"patch_trac_url":9,"research_status":29,"research_verified":30,"research_rounds_completed":31,"research_plan":32,"research_summary":33,"research_vulnerable_code":9,"research_fix_diff":34,"research_exploit_outline":35,"research_model_used":36,"research_started_at":37,"research_completed_at":38,"research_error":9,"poc_status":39,"poc_video_id":9,"poc_summary":40,"poc_steps":41,"poc_tested_at":42,"poc_wp_version":43,"poc_php_version":44,"poc_playwright_script":9,"poc_exploit_code":9,"poc_has_trace":45,"poc_model_used":9,"poc_verification_depth":9,"source_links":46},"CVE-2026-39587","wp-base-booking-of-appointments-services-and-events-unauthenticated-privilege-escalation","WP BASE Booking of Appointments, Services and Events \u003C= 5.9.0 - Unauthenticated Privilege Escalation","The WP BASE Booking of Appointments, Services and Events plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 5.9.0.  This makes it possible for unauthenticated attackers to elevate their privileges to that of an administrator.","wp-base-booking-of-appointments-services-and-events",null,"\u003C=5.9.0","6.0.0","critical",9.8,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Improper Privilege Management","2026-04-08 00:00:00","2026-04-15 18:51:01",[19],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fe2427678-30cb-42fe-b6a2-f8b74db0bacf?source=api-prod",8,[22,23,24,25,26,27,28],"changelog.txt","css\u002Fadmin.css","css\u002Fcommon-rtl.css","css\u002Ffront-admin.css","css\u002Ffront.css","css\u002Flibs.min.css","css\u002Fschedules.css","researched",false,3,"This research plan targets a critical unauthenticated privilege escalation vulnerability in the **WP BASE Booking of Appointments, Services and Events** plugin.\n\n### 1. Vulnerability Summary\nThe vulnerability is an **Improper Privilege Management** issue (CVSS 9.8) that allows unauthenticated users to register as or elevate their privileges to the **Administrator** role. This typically occurs in the plugin's custom user registration or profile update AJAX handlers, where user-supplied input is passed to WordPress core functions like `wp_insert_user`, `wp_update_user`, or `update_user_meta` without filtering restricted fields such as `role` or `wp_capabilities`.\n\n### 2. Attack Vector Analysis\n*   **Endpoint:** `\u002Fwp-admin\u002Fadmin-ajax.php`\n*   **Action:** `app_registration` (inferred from plugin naming conventions) or `app_submit_registration`.\n*   **Vulnerable Parameter:** `role` or `meta[wp_capabilities]`.\n*   **Authentication:** None (Unauthenticated).\n*   **Preconditions:** The plugin must have its registration feature active (usually enabled via a shortcode or in the \"Marketplace\" \u002F \"Registration\" settings).\n\n### 3. Code Flow (Inferred)\n1.  **Entry Point:** An unauthenticated user sends a POST request to `admin-ajax.php` with the action `app_registration` (likely hooked via `wp_ajax_nopriv_app_registration`).\n2.  **Handler:** The handler function (e.g., `WpB_Registration::register_user`) processes `$_POST` data.\n3.  **Vulnerability:** The code likely extracts all POST parameters and passes them into a configuration array for `wp_insert_user($userdata)`.\n4.  **Sink:** If `$userdata['role']` is not explicitly unset or hardcoded to 'subscriber'\u002F'client', WordPress core will assign the role specified in the POST request (e.g., 'administrator').\n\n### 4. Nonce Acquisition Strategy\nThe plugin typically enqueues frontend scripts and localizes them with a nonce if the registration or booking shortcode is present on a page.\n\n*   **Shortcode:** `[app_book]` or `[app_registration]` (inferred).\n*   **JS Variable:** `app_data` (grounded in typical WP BASE localized keys).\n*   **Nonce Key:** `nonce` (grounded).\n*   **Strategy:**\n    1.  Create a temporary page with the booking shortcode.\n    2.  Navigate to the page.\n    3.  Extract the nonce from `window.app_data.nonce`.\n\n### 5. Exploitation Strategy\nThe goal is to register a new user with the `administrator` role.\n\n**Step 1: Identify Nonce and Action**\nUse `browser_navigate` to the homepage or a page with the shortcode and run:\n```javascript\n\u002F\u002F Browser Eval\nconsole.log(window.app_data);\n```\n\n**Step 2: Submit Registration Payload**\nSend a POST request to `admin-ajax.php` using the `http_request` tool.\n\n*   **URL:** `http:\u002F\u002Flocalhost:8080\u002Fwp-admin\u002Fadmin-ajax.php`\n*   **Method:** `POST`\n*   **Headers:** `Content-Type: application\u002Fx-www-form-urlencoded`\n*   **Payload:**\n    ```text\n    action=app_registration&\n    nonce=[EXTRACTED_NONCE]&\n    user_login=hacker_admin&\n    user_email=hacker@example.com&\n    user_pass=Password123!&\n    role=administrator&\n    first_name=Hacker&\n    last_name=Admin\n    ```\n\n*Note: If `role` is ignored, try the meta-injection variant:*\n`...&meta[wp_capabilities][administrator]=1`\n\n### 6. Test Data Setup\n1.  **Install Plugin:** Ensure WP BASE (\u003C= 5.9.0) is active.\n2.  **Create Registration Page:**\n    ```bash\n    wp post create --post_type=page --post_title=\"Register\" --post_status=publish --post_content='[app_book]'\n    ```\n3.  **Enable Registration (If needed):** Ensure the plugin's \"Marketplace\" or \"Registration\" settings allow frontend signups (this is often the default or enabled via vendor\u002Fclient settings).\n\n### 7. Expected Results\n*   **Response:** A successful JSON response (e.g., `{\"success\":true,...}`) or a redirect indicating account creation.\n*   **Outcome:** A new user record is created in the `wp_users` table.\n*   **Privilege:** The new user is assigned the `administrator` role in the `wp_usermeta` table under the `wp_capabilities` key.\n\n### 8. Verification Steps\nAfter the exploit, use WP-CLI to confirm the new user's role:\n```bash\n# Check if the user exists and has the admin role\nwp user list --role=administrator\n\n# Check specific user details\nwp user get hacker_admin\n```\n\n### 9. Alternative Approaches\nIf `app_registration` fails or requires high authentication:\n*   **Profile Update:** If the plugin has an `app_save_profile` action for logged-in clients, register as a low-level \"Client\" first, then use that session to POST `role=administrator` to the profile update endpoint.\n*   **Vendor Registration:** Use the Marketplace vendor registration flow (`[app_vendor_services]`) if the primary booking registration is restrictive.\n*   **Parameter Guessing:** If `role` doesn't work, try `user_role`, `capabilities`, or `app_role`. Check `css\u002Fadmin.css` identifiers like `app_users_vendor` for hints on how roles are handled internally.","The WP BASE Booking of Appointments, Services and Events plugin for WordPress is vulnerable to unauthenticated privilege escalation in versions up to and including 5.9.0. This vulnerability allows an unauthenticated attacker to register a new account with the 'administrator' role by exploiting insufficient validation of the user role parameter in the plugin's registration handlers.","diff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fchangelog.txt \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fchangelog.txt\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fchangelog.txt\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fchangelog.txt\t2026-03-10 03:42:22.000000000 +0000\n@@ -1,4 +1,19 @@\n-V5.9.0\r\n+V6.0.0 March 9, 2026\r\n+- New: Clients can view their bookings in Schedules and use it to edit their bookings\r\n+- New: Commissions can be paid with Stripe Connect \r\n+- Tweak: Better caching for Schedules\r\n+- Tweak: Datatables assets separated, reducing file size loaded on booking pages\r\n+- Change: Front End Edit addon has been retired and its functions integrated into the core\r\n+- Dev: moment.js will now be used from WP library\r\n+- Fix: Date\u002Ftime columns of List of Bookings, Credit History and Vendor Commissions tables are not sorted correctly\r\n+\r\n+V5.9.1\r\n+- Tweak: In Online Meetings, Agora video interface is renewed and SDK updated\r\n+- Tweak: Grid element support for [app_vendor_services] shortcode\r\n+- Change: In Google Calendar, when service providers use their calendar, and Google Meet is activated, website account no more records Meet and sends invitation (otherwise there will be two invitations)\r\n+- Fix: In Recurring Appointments, when a booking is created on admin side, UDF values of parent are not copied to children\r\n+\r\n+V5.9.0 January 5, 2026\r\n - New: Additional log file for API messages and setting changes. Log display can be reversed\r\n - New: In Marketplace, new shortcode [app_vendor_services] to display list of services by the vendor\r\n - Tweak: PHP 8.4 compatibility for Twilio API\r\n@@ -15,13 +30,13 @@\n - Fix: A test code writes list of Extras to the log file\r\n - Fix: Whenever a WooCommerce product with [app_book] shortcode is saved, an unnecessary variation is created\r\n \r\n-V5.8.1\r\n+V5.8.1 November 29, 2025\r\n - Tweak: Compatibility with WordPress 6.9\r\n - Tweak: Calendar Design can be selected in Setup Wizard\r\n - Fix: In Digital Wallet, when \"Sell Credits\u002FPackages with WooCommerce\" option is selected, purchasing regular product with WooCommerce results in wrong name in order form and email (name of the credit plan or package is displayed instead of the product)\r\n - Fix: Some WP BASE integrated WooCommerce actions create log records that include HTML tag which cannot be properly displayed in log file\r\n \r\n-V5.8.0\r\n+V5.8.0 October 16, 2025\r\n - New: Calendar design \"minimalistic\"\r\n - New: Service package plan bundles in Digital Wallet\r\n - Change: Payment Gateways Paymill and Simplify retired\r\n@@ -36,7 +51,7 @@\n - Fix: With Zoom integration when a booking edited another Zoom meeting is created instead of editing the original one\r\n - Fix: Time Variant Durations should not show other providers in Marketplace\r\n \r\n-V5.7.0\r\n+V5.7.0 August 23, 2025\r\n - New: In Marketplace, new setting \"GD Pricing Manager Packages\" allows only selected packages to create vendors\r\n - New: When an author in the bio CPT is not a vendor, or a suspended vendor his\u002Fher booking calendar can be hidden with the new \"Hide Non-Vendor Booking Calendars\" setting\r\n - New: When new setting Adjust Font Color is set to yes, calendar fonts are automatically adjusted to be white or black\r\n@@ -58,7 +73,7 @@\n - Fix: Digital Wallet sales success does not return confirmation form\r\n - Fix: \"get_workers_by_location\" function gives no results during ajax update \r\n \r\n-V5.6.0\r\n+V5.6.0 July 11, 2025\r\n - New: Multi Store support for Marketplace, i.e. vendors can employ their own service providers and manage their team's services, bookings and working hours\r\n - Tweak: Multiple categories are now selectable in [app_book] shortcode\r\n - Tweak: Event Bookings - Zoom integration\r\n@@ -71,7 +86,7 @@\n - Fix: Locations does not obey sort order menu ordering\r\n - Fix: If Zoom topic and\u002For agenda have double quotes, Zoom details cannot be shown in the related booking record\r\n \r\n-V5.5.0\r\n+V5.5.0 May 10, 2025\r\n - Tweak: Clients admin page UI change\r\n - Dev: Refactoring in several files\r\n \r\n@@ -83,7 +98,7 @@\n - Fix: Missing BuddyPress Groups\u002FLocations integration setting in admin Locations\r\n - Fix: PHP error in admin Locations when filtering with service\r\n \r\n-V5.4.0\r\n+V5.4.0 March 29, 2025\r\n - Tweak: Locations admin UI rewritten\r\n - Tweak: In admin Vendors, suspension reason now can be seen in Logs\r\n - Tweak: UDFs which are set as \"register\" and set by the vendor on their settings can now be used in emails\r\n@@ -100,13 +115,13 @@\n - Fix: Shortcode TinyMCE inserter does not show up\r\n - Fix: Registration UDF fields cannot be edited unless user is client and vendor at the same time\r\n \r\n-V5.3.0\r\n+V5.3.0 March 4, 2025\r\n - New: WooCommerce product name can be set in Digital Wallet\r\n - Fix: PHP to moment time format conversion does not take care of escaped characters\r\n - Fix: Schedules do not show reserved bookings for providers\r\n - Fix: Conflict about Stripe API library with Paid Member Subscriptions plugin\r\n \r\n-V5.2.0\r\n+V5.2.0 February 16, 2025\r\n - New: Client Approval for Multi Vendor Marketplace\r\n - Tweak: Caching in Schedules\r\n - Tweak: Guest names and guest emails can be exported in CSV file\r\n@@ -119,7 +134,7 @@\n - Fix: For services longer than 1 day and Group Bookings enabled, future availability may be less than it is supposed to be\r\n - Fix: Some bookings may be marked as completed earlier than they are supposed to be\r\n \r\n-V5.1.0\r\n+V5.1.0 January 24, 2025\r\n - New: Completely new Schedules system based on Event Calendar JavaScript library\r\n - New: Background color setting in services\r\n - New: Providers can register user when entering manual booking\r\n@@ -129,7 +144,7 @@\n - Change: Default select element menu height is 8 now (was 4)\r\n - Change: On front end default qtip mode is now \"solo\" (only one qtip can be open at a time)\r\n \r\n-V5.0.0\r\n+V5.0.0 December 18, 2024\r\n - New: Selling expirable service packages using Digital Wallet addon (Formerly Credits addon) \r\n - New: Register and Login at checkout\r\n - New: Calendar Time Slot Display selection option \"Fixed start\u002Fend\"\r\n@@ -142,18 +157,18 @@\n - Fix: Better Messages button does not show in BP list of bookings\r\n - Fix: Hardening of codes for malicious attempts\r\n \r\n-V4.9.2\r\n+V4.9.2 December 14, 2024\r\n - New: Zoom meetings can be deleted by WP BASE upon change of booking status, e.g. when booking is removed\r\n - Change: By default Zoom meetings are created only for paid and confirmed status. Other statuses can be setup in Zoom settings\r\n - Tweak: Better handling of deleting Google Calendar events\r\n - Fix: PHP error in Ultimate Member Book Me page\r\n \r\n-V4.9.1\r\n+V4.9.1 October 27, 2024\r\n - Tweak: Improvements in Setup Wizard\r\n - Tweak: Better support for themes having pages with narrow container width\r\n - Fix: PHP warning in front.ajax when updating calendars\r\n \r\n-V4.9.0\r\n+V4.9.0 October 23, 2024\r\n - New: Setup Wizard\r\n - New: Calendar Time Slot Display setting allows time slot display selection globally. Default display mode is \"with_break\" now\r\n - New: \"Default\" time slot color set\r\n@@ -166,7 +181,7 @@\n - Fix: Seasonal Working Hours schedule is not applied for the last week of the year\r\n - Fix: In PHP8.3, warning message in admin Dashboard when there are no providers\r\n \r\n-V4.8.0\r\n+V4.8.0 September 26, 2024\r\n - Tweak: Flexslider is not refreshed at first load now, thus flickering of images are prevented\r\n - Tweak: Admin email subjects are now specific for pending and confirmed bookings\r\n - Fix: Uploaded video may not be displayed in Multi Vendor Marketplace Geodirectory integration\r\n@@ -193,7 +208,7 @@\n - Fix: When service duration is 1 day and Selectable Durations not configured, JavaScript error prevents opening of the checkout form\r\n - Fix: Single Click Booking summary info shows updated service instead of service of the selected slot after calendar updated\r\n \r\n-V4.7.0\r\n+V4.7.0 August 23, 2024\r\n - New: 1 month to 12 months service duration can be selected in Selectable Durations \r\n - Fix: When editing an admin booking record, checking\u002Funchecking send email check box affects other UDF check boxes\r\n - Fix: PHP8 error when a non logged in user makes a booking and UDF addon enabled\r\n@@ -204,7 +219,7 @@\n V4.6.1\r\n - Tweak\u002FFix: Old confirmation form is not working for Event Bookings. Replaced with the new Checkout form\r\n \r\n-V4.6.0\r\n+V4.6.0 August 04, 2024\r\n - New: Confirmation Form now uses the same markup and styling of Flex Steps Checkout\r\n - Change: Remember Me field retired\r\n - Change: Several settings about confirmation form layout and css have been retired\r\n@@ -214,7 +229,7 @@\n - Fix: When service duration is exactly 7 days, service availabilities are incorrect\r\n - Fix: Deprecated messages in PHP8.3.9\r\n \r\n-V4.5.0\r\n+V4.5.0 June 29, 2024\r\n - New: Booking lasting longer than 24 hours are displayed on a monthly calendar on admin schedules and provider\u002Fowner account\r\n - Tweak: WordPress V6.6 tested for compatibility\r\n - Tweak: Flex Steps now support Shopping Cart\r\n@@ -223,7 +238,7 @@\n - Fix: Permanently Delete Selected Records button is not working\r\n - Fix: WooCommerce Order ID is not displayed in admin bookings in HPOS if compatibility mode deactivated\r\n \r\n-V4.4.0\r\n+V4.4.0 June 04, 2024\r\n - New: \"Flex Steps\" booking process\r\n - Tweak: Admin can upload provider and vendor avatar\r\n - Tweak: Admin can enter description for provider\r\n@@ -247,7 +262,7 @@\n - Fix: Clients do not have audio and video buttons in Agora meetings\r\n - Fix: Export Bookings check box names are not translatable\r\n \r\n-V4.3.0\r\n+V4.3.0 April 10, 2024\r\n - New: Integration with Better Messages: Now vendors and clients can write each other at meeting and waiting room pages. Users can send message to vendor at their bio pages\r\n - New: Each service can be selected to have Online Meeting or not\r\n - New: New shortcode [app_vendor_meta] which prints vendor info on bio page\r\n@@ -270,14 +285,14 @@\n - Fix: CSS conflict of flexslider in Listeo theme\r\n - Fix: Commissions tab on account page should not show up if user is not vendor\r\n \r\n-V4.2.0\r\n+V4.2.0 February 26, 2024\r\n - New: List of Bookings can be printed\r\n - New: Credit history and Commissions list can be printed\r\n - Tweak: WP6.5 compatibility\r\n - Fix: Flexslider conflicts with WooCommerce default theme Storefront\r\n - Fix: When slider is active, category opt_group should not be on\r\n \r\n-V4.1.0\r\n+V4.1.0 February 6, 2024\r\n - Change: On user profile settings, only vendors can set WP fields (name, email, first name, last name ), for the rest users these fields are readonly\r\n - Tweak: Better sync with WP fields in Vendors, Clients and user profile\r\n - Fix: Preferred Language selection at profile is not reflected to displayed language\r\n@@ -295,7 +310,7 @@\n - Fix: Not possible to use Jitsi and Agora at the same website\r\n - Fix: After vendors edit a service, they lose ownership\r\n \r\n-V4.0.1\r\n+V4.0.1 January 12, 2024\r\n - Tweak: Credit records can be individually deleted\r\n - Tweak: Note can be written when adding a credit record\r\n - Tweak: PERSON_TYPES placeholder can be used in email templates\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Fadmin.css \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Fadmin.css\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Fadmin.css\t2026-01-06 00:59:06.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Fadmin.css\t2026-03-10 03:48:28.000000000 +0000\n@@ -558,6 +558,9 @@\n .app-workers .app-upload-image-btn,\r\n .app-vendors .app-upload-image-btn {\r\n \tmax-width: 96px;\r\n+\theight: 30px;\r\n+\tmin-height: 30px;\r\n+\tline-height: 30px;\r\n }\r\n \r\n .app-workers .app-upload-image-btn::before,\r\n@@ -947,10 +950,19 @@\n .app-manage-row select {\r\n \tfloat: none;\r\n \tfont-size: 9px;\r\n-\theight: 28px;\r\n+\theight: 30px;\r\n+\tmin-height: 30px;\r\n+\tline-height: 30px;\r\n \tpadding: 0 24px 0 8px;\r\n }\r\n \r\n+[class*=\"wp-base-dev_page_app\"]:not(.wp-base-dev_page_app_bookings) .app-manage-row select,\r\n+[class*=\"wp-base-dev_page_app\"]:not(.wp-base-dev_page_app_bookings) .postbox .app-actions select,\r\n+.app-account-page:not(.app-account-manage) .app-manage-row select,\r\n+.app-account-page:not(.app-account-manage) .postbox .app-actions select{\r\n+\tfont-size: 12px;\r\n+}\r\n+\r\n .app-manage select {\r\n \tmax-width: 300px;\r\n \twidth: 100%;\r\n@@ -1261,6 +1273,9 @@\n \t#wpbody-content .app-page .actions form select {\r\n \t\tmax-width: 120px;\r\n \t}\r\n+\t[class*=\"wp-base-dev_page_app\"]:not(.wp-base-dev_page_app_bookings) #wpbody-content .app-page .actions form select {\r\n+\t\tmax-width: 150px;\r\n+\t}\r\n }\r\n \r\n @media screen and (max-width: 360px) {\r\n@@ -1304,6 +1319,23 @@\n \tmargin-bottom: 10px;\r\n }\r\n \r\n+.wp-core-ui .app-page select,\r\n+.wp-core-ui .app-page input[type=text]{\r\n+\tmin-height: 30px;\r\n+\theight: 30px;\r\n+\tline-height: 30px;\r\n+}\r\n+\r\n+.wp-core-ui .app-page select {\r\n+\tbackground-position: right 3px top 60%;\r\n+}\r\n+\r\n+.wp-core-ui .app-page .button-secondary {\r\n+\tmin-height: 30px;\r\n+\theight: 30px;\r\n+    line-height: 30px;\r\n+}\r\n+\r\n @media screen and (max-width: 782px) {\r\n \t.user-inner .booking-info::before {\r\n \t\tcontent: '\\00B7';\r\n@@ -1526,7 +1558,7 @@\n .app-crowded input:not([type=\"checkbox\"]) {\r\n \tfont-size: 11px;\r\n \tline-height: 12px;\r\n-\tmin-height: 28px;\r\n+\tmin-height: 30px;\r\n \tfont-weight: normal;\r\n }\r\n \r\n@@ -1862,6 +1894,9 @@\n \tmin-width: 100px;\r\n \tmargin-left: 30px;\r\n \tvertical-align: baseline;\r\n+\theight: 30px;\r\n+\tmin-height: 30px;\r\n+\tline-height: 30px;\r\n }\r\n \r\n div.addon-set-info {\r\n@@ -2002,7 +2037,7 @@\n \r\n .app-4col .ui-multiselect {\r\n \twidth: 100%;\r\n-\tmin-height: 32px;\t\r\n+\tmin-height: 32px;\r\n }\r\n \r\n .app-flex .app-wh-list.ui-multiselect {\r\n@@ -2109,7 +2144,9 @@\n \r\n #wpbody-content .app-page .button {\r\n \tfont-size: 13px;\r\n-\theight: 28px;\r\n+\theight: 30px;\r\n+\tmin-height: 30px;\r\n+\tline-height: 30px;\r\n }\r\n \r\n #app-service-reset-form .button {\r\n@@ -2119,7 +2156,6 @@\n #app_export_csv_button {\r\n \twidth: auto;\r\n \twhite-space: normal;\r\n-\theight: auto\r\n }\r\n \r\n .app-page #poststuff h3.hndle {\r\n@@ -2263,13 +2299,14 @@\n #app-bulk-change-form,\r\n #app-search-form {\r\n \tdisplay: flex;\r\n-\tgap: 5px;\r\n+\tgap: 3px;\r\n \tflex-wrap: wrap;\r\n }\r\n \r\n #app-search-form select {\r\n \tfloat: none;\r\n \theight: 30px;\r\n+\tmin-height: 30px;\r\n     padding: 0 24px 0 8px;\r\n \tmargin: 1px 3px 3px 0;\r\n }\r\n@@ -2306,8 +2343,9 @@\n \twidth: initial;\r\n \tmargin: 1px 3px 1px 1px;\r\n \tpadding: 0 8px;\r\n-\theight: 28px;\r\n-\tline-height: 28px;\r\n+\theight: 30px;\r\n+\tmin-height: 30px;\r\n+\tline-height: 30px;\r\n \t\u002F* background-image: url(..\u002Fimages\u002Fsearch.svg); *\u002F\r\n \t\u002F* background-repeat: no-repeat; *\u002F\r\n \t\u002F* background-size: 16px; *\u002F\r\n@@ -2806,6 +2844,7 @@\n }\r\n \r\n #credit-plans table .app-plan-price {\r\n+\tmin-width: 65px !important;\r\n \tmax-width: 80px !important;\r\n }\r\n \r\n@@ -3297,6 +3336,14 @@\n \u002F* Editor Widget -------------------------------------------------------------- *\u002F\r\n \u002F** * from WP Editor Widget plugin V 0.5.5 * Author: David M&aringrtensson, Odd Alice *\u002F\r\n \r\n+iframe#WpB_Editor_Widget_ifr {\r\n+    min-height: 350px;\r\n+}\r\n+\r\n+#wp-WpB_Editor_Widget-wrap {\r\n+\tmargin-bottom: 20px;\r\n+}\r\n+\r\n #app-editor-widget-container {\r\n \tposition: fixed;\r\n \ttop: 30px;\r\n@@ -3305,6 +3352,7 @@\n \tbottom: 30px;\r\n \tz-index: 50100;\r\n \tbackground: #fff;\r\n+\tmin-height: 300px;\r\n }\r\n \r\n #app-editor-widget-backdrop {\r\n@@ -3510,7 +3558,8 @@\n }\r\n \r\n .app-controls .app-actions select {\r\n-\theight: 28px;\r\n+\theight: 30px;\r\n+\tmin-height: 30px;\r\n     max-width: 160px;\r\n     font-size: 10px;\r\n }\r\n@@ -4130,6 +4179,11 @@\n \twidth: 100%;\r\n }\r\n \r\n+#services-table textarea.stripped-content {\r\n+\theight: 65px;\r\n+\tmargin-bottom: 3px;\r\n+}\r\n+\r\n #services-table .app_iedit_workers textarea {\r\n \theight: 96px;\r\n }\r\n@@ -4311,6 +4365,12 @@\n     font-size: 13px;\r\n }\r\n \r\n+.dataTables_length label {\r\n+    display: flex;\r\n+    align-items: center;\r\n+    gap: 5px;\r\n+}\r\n+\r\n #credit-plans div.fg-toolbar,\r\n #mv-commission-rates div.fg-toolbar,\r\n .inline-edit-row .dataTables_length,\r\n@@ -4577,606 +4637,3 @@\n .app-setup-wrap .form-table th.app-samples {\r\n \tfont-weight: 400;\r\n }\r\n-\r\n-\u002F*--------------------------------------------------------------\r\n-*** Schedules\r\n---------------------------------------------------------------*\u002F\r\n-\r\n-#app-schedules .app-front-admin h2 {\r\n-\tmargin: 0;\r\n-}\r\n-\r\n-#app-schedules .ec-week-view .ec-event.long,\r\n-#app-schedules .ec-day-view .ec-event.long {\r\n-\tdisplay:none;\r\n-}\r\n-\r\n-.app-schedules-group {\r\n-\tposition: relative;\r\n-\tmargin-left: -20px;\r\n-}\r\n-\r\n-.app-account-page .app-schedules-group {\r\n-\tmargin-left: 0;\r\n-}\r\n-\r\n-.app-schedules-group #app-navbar {\r\n-\tz-index: 100;\r\n-\toverflow: hidden;\r\n-}\r\n-\r\n-#schedules-filter .app-dash-title {\r\n-\tdisplay: none;\r\n-}\r\n-\r\n-#schedules-filter div.app-actions {\r\n-\tjustify-content: space-around;\r\n-    gap: 10px 20px;\r\n-}\r\n-\r\n-#schedules-filter .app-filter-ms {\r\n-\twidth: 180px;\r\n-\tmax-width: 400px;\r\n-}\r\n-\r\n-#schedules-filter .app-filter-stats {\r\n-\twidth: 150px;\r\n-\tmax-width: 200px;\r\n-}\r\n-\r\n-#schedules-filter .app-filter-weekdays {\r\n-\twidth: 120px;\r\n-\tmax-width: 200px;\r\n-}\r\n-\r\n-#schedules-filter button.ui-multiselect {\r\n-\twidth: 100%;\r\n-}\r\n-\r\n-.app-filter-services.app-filter-ms {\r\n-    flex-grow: 2;\r\n-}\r\n-\r\n-.app-filter-workers.app-filter-ms {\r\n-    flex-grow: 0.5;\r\n-}\r\n-\r\n-.has-color .ui-multiselect-checkboxes label span {\r\n-    margin-right: auto;\r\n-}\r\n-\r\n-.has-color .ui-multiselect-checkboxes label {\r\n-    display: flex;\r\n-    padding: 3px 1px 3px 3px;\r\n-    text-indent: 0;\r\n-    justify-content: space-between;\r\n-}\r\n-\r\n-.has-color .ui-multiselect-checkboxes a.pickcolor {\r\n-\twidth: 20px;\r\n-\tpadding: 0;\r\n-\tmargin-right: 3px;\r\n-\tcursor: default;\r\n-}\r\n-\r\n-.has-color .ui-multiselect-checkboxes input {\r\n-\talign-self: center;\r\n-}\r\n-\r\n-body[class*=\"schedules\"] .ui-multiselect-header.ui-widget-header,\r\n-body.app-account-schedules .ui-multiselect-header.ui-widget-header {\r\n-\tfont-size: 11px;\r\n-}\r\n-\r\n-body[class*=\"schedules\"] .ui-multiselect-header.ui-widget-header a,\r\n-body.app-account-schedules .ui-multiselect-header.ui-widget-header a {\r\n-\tdisplay: flex;\r\n-\talign-items: center;\r\n-}\r\n-\r\n-body[class*=\"schedules\"] .ui-multiselect-menu,\r\n-body.app-account-schedules .ui-multiselect-menu {\r\n-\tz-index: 1010;\r\n-}\r\n-\r\n-body[class*=\"schedules\"] .app-users-quick-book.ui-multiselect-menu,\r\n-body.app-account-schedules .app-users-quick-book.ui-multiselect-menu {\r\n-\tz-index: 10002;\r\n-\tfont-size: 11.5px;\r\n-}\r\n-\r\n-.bp-user .app-users-quick-book.ui-multiselect-menu span {\r\n-\tfont-size: 11.5px !important;\r\n-}\r\n-\r\n-#schedules-filter .app-schedule-picker {\r\n-\twidth: 120px;\r\n-}\r\n-\r\n-#schedules-filter .app-page .tablenav .actions {\r\n-    padding-right: 20px;\r\n-}\r\n-\r\n-.app-front-admin #schedules-filter div.app-actions {\r\n-\tmargin-top: 10px;\r\n-}\r\n-\r\n-.app-schedule-select.ui-widget {\r\n-\tfont-size: 13px;\r\n-}\r\n-\r\n-#schedules-filter .app-schedule-start {\r\n-\tposition: absolute;\r\n-\tz-index:101;\r\n-\topacity: 0;\r\n-\twidth: 120px;\r\n-\tfont-size: 13px;\r\n-}\r\n-\r\n-#schedules-filter .app-schedule-start-alt {\r\n-\tz-index:100;\r\n-\twidth: 120px;\r\n-\tfont-size: 13px;\r\n-}\r\n-\r\n-@media screen and (max-width: 782px) {\r\n-\t#schedules-filter input {\r\n-\t\tmin-height: 30px;\r\n-\t}\r\n-}\r\n-\r\n-#app-schedules {\r\n-\t-webkit-text-size-adjust: 100%;\r\n-    -webkit-tap-highlight-color: transparent;\r\n-    font-size: 1rem;\r\n-    font-weight: 400;\r\n-    line-height: 1.5;\r\n-    color: #212529;\r\n-    text-align: left;\r\n-    background-color: transparent;\r\n-\tmargin-left: 20px;\r\n-}\r\n-\r\n-.app-account-page #app-schedules {\r\n-\tmargin-left: 0;\r\n-}\r\n-\r\n-#app-schedules .app-sched {\r\n-    position: relative;\r\n-    display: flex;\r\n-    flex-direction: column;\r\n-    min-width: 0;\r\n-    word-wrap: break-word;\r\n-    background-color: #fff;\r\n-    background-clip: border-box;\r\n-    border: 1px solid rgba(0, 0, 0, .125);\r\n-    border-radius: .25rem;\r\n-\tmargin-top: 0;\r\n-    padding: 0;\r\n-    max-width: none;\r\n-    box-shadow: none;\r\n-\tbox-sizing: border-box;\r\n-}\r\n-\r\n-#app-schedules .app-sched-body {\r\n-    flex: 1 1 auto;\r\n-    min-height: 1px;\r\n-    padding: 1.25rem;\r\n-}\r\n-\r\n-#app-schedules .ec-toolbar {\r\n-\tflex-direction: row-reverse;\r\n-}\r\n-\r\n-#app-schedules .ec-start {\r\n-    display: flex;\r\n-    flex-direction: row-reverse;\r\n-}\r\n-\r\n-#app-schedules .ec-toolbar>*>:not(:last-child) {\r\n-    margin-right: 0;\r\n-}\r\n-\r\n-#app-schedules .btn-group,\r\n-#app-schedules .btn-group-vertical {\r\n-    position: relative;\r\n-    display: inline-flex;\r\n-    vertical-align: middle;\r\n-}\r\n-\r\n-#app-schedules .btn-default:not(:disabled):not(.disabled).active,\r\n-#app-schedules .btn-default:not(:disabled):not(.disabled):active {\r\n-    color: #212529;\r\n-    background-color: rgb(229.5, 229.5, 229.5);\r\n-    border-color: rgb(169.6773255814, 180.125, 190.5726744186);\r\n-}\r\n-\r\n-#app-schedules .btn-group>.btn-group:not(:last-child)>.btn {\r\n-    border-top-right-radius: 0;\r\n-    border-bottom-right-radius: 0;\r\n-}\r\n-\r\n-#app-schedules .btn-default:hover {\r\n-    color: #212529;\r\n-    background-color: rgb(235.875, 235.875, 235.875);\r\n-    border-color: rgb(176.9418604651, 186.5, 196.0581395349);\r\n-}\r\n-\r\n-#app-schedules .btn-group-vertical>.btn,\r\n-#app-schedules .btn-group>.btn {\r\n-    position: relative;\r\n-    flex: 1 1 auto;\r\n-}\r\n-\r\n-#app-schedules .btn:hover {\r\n-    color: #212529;\r\n-    text-decoration: none;\r\n-}\r\n-\r\n-#app-schedules .btn {\r\n-    white-space: nowrap;\r\n-}\r\n-\r\n-#app-schedules .btn {\r\n-    display: inline-block;\r\n-    font-weight: 400;\r\n-    color: #212529;\r\n-    text-align: center;\r\n-    vertical-align: middle;\r\n-    -webkit-user-select: none;\r\n-    -moz-user-select: none;\r\n-    user-select: none;\r\n-    background-color: transparent;\r\n-    border: 1px solid transparent;\r\n-    padding: .375rem .75rem;\r\n-    font-size: 1rem;\r\n-    line-height: 1.5;\r\n-    border-radius: .25rem;\r\n-    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\r\n-}\r\n-\r\n-#app-schedules .btn-default {\r\n-    color: #212529;\r\n-    background-color: #fff;\r\n-    border-color: #ced4da;\r\n-}\r\n-\r\n-#app-schedules .ec .ec-toolbar>*>:not(:first-child) {\r\n-    margin-left: .75em;\r\n-}\r\n-\r\n-#app-schedules .ec .ec-toolbar>*>:not(:first-child) {\r\n-    margin-right: .75em;\r\n-}\r\n-\r\n-#app-schedules .btn:not(:disabled) {\r\n-    cursor: pointer;\r\n-}\r\n-\r\n-#app-schedules .ec .ec-toolbar>*>* {\r\n-    margin-bottom: .5em;\r\n-}\r\n-\r\n-#app-schedules .btn-default:hover {\r\n-    color: #212529;\r\n-    background-color: rgb(235.875, 235.875, 235.875);\r\n-    border-color: rgb(176.9418604651, 186.5, 196.0581395349);\r\n-}\r\n-\r\n-#app-schedules .ec-event:not(.ec-pointer) {\r\n-\tcursor: pointer;\r\n-    color: inherit;\r\n-    padding: 2px 2px 2px 5px;\r\n-    border-radius: 8px;\r\n-\tborder: 1px solid #f0f0f0;\r\n-\tbox-shadow: -.5px 0 0 #f0f0f0;\r\n-    overflow: hidden;\r\n-    display: flex;\r\n-}\r\n-\r\n-#app-schedules .ec-week-view .ec-event,\r\n-#app-schedules .ec-day-view .ec-event {\r\n-\t\u002F* font-size: 12px; *\u002F\r\n-}\r\n-\r\n-#app-schedules .ec-month-view .ec-event:not(.ec-pointer) {\r\n-\toutline: 2px solid #f0f0f0;\r\n-}\r\n-\r\n-#app-schedules .ec-events {\r\n-\tcursor: cell;\r\n-}\r\n-\r\n-#app-schedules .ec:not(.ec-month-view) .ec-events {\r\n-\tmargin-right: 0;\r\n-}\r\n-\r\n-#app-schedules .ec-month-view .ec-event,\r\n-#app-schedules .ec-week-view:not(.ec-list) .ec-event.long,\r\n-#app-schedules .ec-day-view:not(.ec-list) .ec-event.long,\r\n-#app-schedules .ec-timeline .ec-event {\r\n-\tmax-height: 48px;\r\n-}\r\n-\r\n-#app-schedules .ec-month-view .ec-event {\r\n-\tleft: 3px;\r\n-}\r\n-\r\n-#app-schedules .ec-month-view .ec-events:not(.ec-preview) .ec-event:hover,\r\n-#app-schedules .ec-week-view .ec-events:not(.ec-preview) .ec-event.long:hover,\r\n-#app-schedules .ec-day-view .ec-events:not(.ec-preview) .ec-event.long:hover {\r\n-\tmax-height: 100%;\r\n-}\r\n-\r\n-#app-schedules .ec:not(.ec-timeline) .ec-events:not(.ec-preview) .ec-event:hover {\r\n-    height: auto !important;\r\n-    z-index: 99 !important;\r\n-}\r\n-\r\n-#app-schedules .ec:not(.ec-timeline) .ec-events:not(.ec-preview) .ec-event:not(.long):hover {\r\n-\twidth: max(100% , 144px) !important;\r\n-}\r\n-\r\n-#app-schedules .ec:not(.ec-timeline) .ec-events:not(.ec-preview) .ec-event.long:hover {\r\n-\tmin-width: 144px !important;\r\n-}\r\n-\r\n-#app-schedules .ec.ec-timeline .ec-events.ec-preview .ec-event:hover {\r\n-\twidth: 100% !important;\r\n-}\r\n-\r\n-#app-schedules .ec-timeline .ec-event:hover {\r\n-\tmax-height: unset;\r\n-}\r\n-\r\n-#app-schedules .ec-timeline .ec-event:not(.long):hover {\r\n-\twidth: 144px !important;\r\n-}\r\n-\r\n-#app-schedules .ec-resource,\r\n-#app-schedules .ec-timeline .ec-events {\r\n-    min-height: 48px;\r\n-}\r\n-\r\n-#app-schedules .ec-resource,\r\n-#app-schedules .ec-timeline .ec-days {\r\n-\tflex-basis: 50px !important;\r\n-}\r\n-\r\n-#app-schedules .ec-event-body {\r\n-\tdisplay: block;\r\n-}\r\n-\r\n-#app-schedules .ec-event-time {\r\n-    position: relative;\r\n-    font-weight: 700;\r\n-    line-height: 1.3em;\r\n-\tmargin: 0 3px 0 0;\r\n-    max-width: 100%;\r\n-    text-overflow: ellipsis;\r\n-}\r\n-\r\n-#app-schedules .ec-event-title {\r\n-    position: relative;\r\n-    position: sticky;\r\n-    line-height: 1.3em;\r\n-\tmin-height: 1.5em;\r\n-    text-overflow: ellipsis;\r\n-    white-space: nowrap;\r\n-}\r\n-\r\n-#app-schedules .ec-month-view .ec-event-time,\r\n-#app-schedules .ec-month-view .ec-event-title,\r\n-#app-schedules .ec-resource-day-view .ec-event-time,\r\n-#app-schedules .ec-resource-day-view .ec-event-title {\r\n-\tline-height: 1.5em;\r\n-}\r\n-\r\n-#app-schedules .ec-week-view .ec-event-time,\r\n-#app-schedules .ec-week-view .ec-event-title {\r\n-\tline-height: 1.65em;\r\n-}\r\n-\r\n-#app-schedules .ec-timeline .ec-body {\r\n-\toverflow-x: visible;\r\n-\toverflow-y: hidden;\r\n-}\r\n-\r\n-.app-js-schedules .ec-bg-event {\r\n-\tcursor: not-allowed;\r\n-}\r\n-\r\n-#app-schedules .ec-pointer,\r\n-.app-js-schedules .ec-extra {\r\n-    cursor: cell !important;\r\n-}\r\n-\r\n-#app-schedules .ec-resource span {\r\n-\tpadding-top: 0;\r\n-}\r\n-\r\n-#app-schedules .ec-resource > span {\r\n-\tdisplay: flex;\r\n-    justify-content: space-between;\r\n-\tgap: 5px;\r\n-\twidth: 100%;\r\n-\tmax-width: 200px;\r\n-\tmargin: auto;\r\n-\tpadding-top: 4px;\r\n-}\r\n-\r\n-#app-schedules .ec-resource .app-ec-title {\r\n-    max-width: 150px;\r\n-    line-height: 18px;\r\n-\talign-self: center;\r\n-}\r\n-\r\n-#app-schedules .app-ec-img img.avatar {\r\n-\tborder-radius: 5px;\r\n-}\r\n-\r\n-.app-panel-wrap {\r\n-  position: fixed;\r\n-  top: 0;\r\n-  bottom: 0;\r\n-  right: 0;\r\n-  width: 320px;\r\n-  transform: translateX(100%);\r\n-  transition: .3s ease-out;\r\n-  z-index: 10000;\r\n-}\r\n-\r\n-.app-panel-wrap.left {\r\n-\tleft: 0;\r\n-\ttransform: translateX(-100%);\r\n-\ttransition: .3s ease-out;\r\n-}\r\n-\r\n-.app-panel-wrap.open {\r\n-  transform: translateX(0%);\r\n-  transition: .3s ease-out;\r\n-}\r\n-\r\n-.app-panel-wrap .app-dock-left span.dashicons {\r\n-\tmargin: 0;\r\n-}\r\n-\r\n-.app-panel-wrap .app-dock-left.button-secondary,\r\n-.app-panel-wrap .app-close-panel.button-secondary {\r\n-\tline-height: 1.5;\r\n-\tpadding: 5px;\r\n-\tposition: absolute;\r\n-\tright: 22px;\r\n-\ttop: 40px;\r\n-\tz-index: 10000;\r\n-}\r\n-\r\n-.app-panel-wrap .app-close-panel.button-secondary {\r\n-\tleft: 16px;\r\n-\twidth: 32px;\r\n-}\r\n-\r\n-.app-panel-wrap .app-dock-left.left .dashicons-align-pull-left {\r\n-\tdisplay: none;\r\n-}\r\n-\r\n-.app-panel-wrap .app-dock-left:not(.left) .dashicons-align-pull-right {\r\n-\tdisplay: none;\r\n-}\r\n-\r\n-.app-panel {\r\n-  position: absolute;\r\n-  top: 0;\r\n-  bottom: 0;\r\n-  left: 0;\r\n-  right: 0;\r\n-  background: #f6f6f6;\r\n-  color: #50575e;\r\n-  overflow: auto;\r\n-  padding: 30px 10px 10px 15px;\r\n-  border-left: 1px solid #ddd;\r\n-  border-right: 1px solid #ddd;\r\n-  box-shadow: 0px 10px 40px -3px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .2);\r\n-  font-size: 13px;\r\n-}\r\n-\r\n-.app-manage .app-panel h3 {\r\n-    margin-top: 1.5em;\r\n-}\r\n-\r\n-.app-manage .app-panel .inline-edit-row {\r\n-\tbox-shadow: none;\r\n-}\r\n-\r\n-.app-manage .app-panel .inline-edit-row fieldset label span.input-text-wrap {\r\n-    margin-right: 0;\r\n-}\r\n-\r\n-.app-panel .inline-edit-row fieldset label {\r\n-    margin: .5em 0;\r\n-}\r\n-\r\n-.app-panel .inline-edit-row fieldset .app-quick-book-user-fields label {\r\n-    margin: .1em 0;\r\n-}\r\n-\r\n-.app-manage .app-panel .inline-edit-row fieldset label span.title {\r\n-    width: 6em;\r\n-}\r\n-.app-manage .app-panel .inline-edit-row fieldset label span.input-text-wrap {\r\n-    margin-left: 6em;\r\n-}\r\n-\r\n-#app-panel .app_iedit_time input[type=\"text\"],\r\n-#app-panel select.app-admin-time {\r\n-    font-size: 11.5px;\r\n-}\r\n-\r\n-.app-manage .app-panel select.app_users,\r\n-.app-manage .app-panel select.app_extras {\r\n-    width: 100%;\r\n-}\r\n-\r\n-.app-manage .app-panel button.app_users {\r\n-\twidth: 100% !important;\r\n-}\r\n-\r\n-.app-panel button.ui-multiselect {\r\n-\tfont-size: 11.5px;\r\n-}\r\n-\r\n-.app-manage .app-panel .inline-edit-save {\r\n-    margin-top: 20px;\r\n-}\r\n-\r\n-.app-panel h3.app_iedit_app_h {\r\n-    font-size: 1.1em;\r\n-\ttext-align: center;\r\n-}\r\n-\r\n-.app-panel div.error,\r\n-.app-panel div.notice {\r\n-\tmargin: 0;\r\n-\tpadding: 5px 10px;\r\n-}\r\n-\r\n-.app-panel div.notice {\r\n-\tfont-size: 12px;\r\n-}\r\n-\r\n-.app-panel .app-admin-notice:empty,\r\n-.app-panel .app-notice:empty,\r\n-.app-panel .app-error:empty {\r\n-\tdisplay: none;\r\n-}\r\n-\r\n-@media screen and (max-width: 782px) {\r\n-\t#app-panel .inline-edit-row fieldset label span.title {\r\n-\t\tfloat: left;\r\n-\t}\r\n-\t#app-panel .inline-edit-row span.title {\r\n-        font-size: 13px;\r\n-    }\r\n-\t#app-panel .inline-edit-row fieldset label span.input-text-wrap {\r\n-        margin-left: 6em;\r\n-    }\r\n-\t#app-panel select {\r\n-\t\tmin-height: 30px;\r\n-\t}\r\n-\t#app-panel input[type=text], #app-panel select, #app-panel textarea {\r\n-\t\tmin-height: 30px;\r\n-\t\tfont-size: 14px;\r\n-\t}\r\n-\t#app-panel input[type=text] {\r\n-\t\tpadding: 0 8px;\r\n-        min-height: 30px;\r\n-\t}\r\n-\t#app-panel input[type=checkbox] {\r\n-\t\theight: 1rem;\r\n-        width: 1rem;\r\n-\t}\r\n-\t#app-panel .app_iedit_time input[type=\"text\"],\r\n-\t#app-panel select.app-admin-time {\r\n-\t\tfont-size: 11.5px;\r\n-\t}\r\n-}\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Fcommon-rtl.css \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Fcommon-rtl.css\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Fcommon-rtl.css\t2026-01-06 00:59:06.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Fcommon-rtl.css\t2026-03-10 03:48:28.000000000 +0000\n@@ -1069,7 +1069,6 @@\n \ttext-align: right;\r\n }\r\n \r\n-.app-conf-wrapper label span.app-conf-title,\r\n .app-payment-field span,\r\n .app_billing_line_inner span:not(.app-mobile) {\r\n \tmargin-right: 0;\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Ffront-admin.css \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Ffront-admin.css\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Ffront-admin.css\t2026-01-06 00:59:06.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Ffront-admin.css\t2026-03-10 03:48:28.000000000 +0000\n@@ -4970,7 +4970,7 @@\n   margin: 0.2em 6px 0.2em 0;\r\n   line-height: 2.5;\r\n }\r\n-.app-front-admin .inline-edit-row .input-text-wrap input[type=text]:not(.colorpicker_input) {\r\n+.app-front-admin .inline-edit-row .input-text-wrap input[type=text]:not(.colorpicker_input):not(.datepicker):not(.app-admin-time) {\r\n   width: 100%;\r\n }\r\n .app-front-admin .inline-edit-row fieldset label input[type=checkbox] {\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Ffront.css \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Ffront.css\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Ffront.css\t2026-01-06 00:59:06.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Ffront.css\t2026-03-10 03:48:28.000000000 +0000\n@@ -347,11 +347,7 @@\n .app-pagination .app_date input,\r\n .app-pagination .app-next a,\r\n .app-pagination .app-previous a,\r\n-.app-conf-wrapper input[type=\"text\"],\r\n-\u002F* .app-conf-wrapper select, *\u002F\r\n-.app-conf-wrapper textarea,\r\n input.app_select_date,\r\n-.app-conf-wrapper canvas,\r\n .app-page .ui-state-default,\r\n .app-wc-page .ui-state-default,\r\n .wpb-book-me .ui-state-default,\r\n@@ -402,10 +398,6 @@\n \tborder-width: 0\r\n }\r\n \r\n-.app-conf-wrapper.app-mobile fieldset {\r\n-\tbackground-color: #fbfbfb;\r\n-}\r\n-\r\n ul#wp-admin-bar-admin-root-default li#wp-admin-bar-admin-help {\r\n \tborder-bottom: 1px solid darkgrey;\r\n }\r\n@@ -482,10 +474,6 @@\n \tfont-size: 0.9em\r\n }\r\n \r\n-.widget div.app-conf-wrapper fieldset div.app-conf-continue {\r\n-\tjustify-content: center;\r\n-}\r\n-\r\n .widget .app_2column {\r\n \tfloat: none;\r\n \twidth: 100%;\r\n@@ -938,8 +926,7 @@\n .app-list .app-monthly-wrapper thead,\r\n .app-list .app-monthly-wrapper tbody,\r\n .app-flex-menu.with-caption .app-flex,\r\n-.app-flex-menu.with-caption .app-flexslider li,\r\n-.app-conf-wrapper fieldset {\r\n+.app-flex-menu.with-caption .app-flexslider li {\r\n \tbox-shadow: 2px 2px 6px rgb(0 0 0 \u002F 20%);\r\n }\r\n \r\n@@ -1191,7 +1178,6 @@\n \tpadding-left: 15px;\r\n }\r\n \r\n-.buddyboss-theme .app-conf-wrapper fieldset,\r\n .buddyboss-theme caption .app-flex,\r\n .buddyboss-theme .app-flex-menu.app-slide.with-caption .app-flex,\r\n .buddyboss-theme .app-book-flex .app-flex,\r\n@@ -1501,11 +1487,7 @@\n \r\n .app-pagination .app-next a,\r\n .app-pagination .app-previous a,\r\n-.app-conf-wrapper input[type=\"text\"],\r\n-.app-conf-wrapper select,\r\n-.app-conf-wrapper textarea,\r\n-input.app_select_date,\r\n-.app-conf-wrapper canvas {\r\n+input.app_select_date {\r\n \tcolor: #474747;\r\n \ttext-decoration: none;\r\n \ttext-shadow: 0 1px 0 #fff;\r\n@@ -1713,37 +1695,6 @@\n \r\n \u002F* Confirmation Form -------------------------------------------------------- *\u002F\r\n \r\n-.widget_appointments_shortcode .app-conf-wrapper legend {\r\n-\tfont-size: smaller;\r\n-}\r\n-\r\n-.app-conf-wrapper label {\r\n-\tdisplay: block;\r\n-\tpadding: 3px;\r\n-}\r\n-\r\n-.app-conf-wrapper:not(.above-input) input[type=\"text\"].app-non-mobile,\r\n-.app-conf-wrapper:not(.above-input) textarea.app-non-mobile,\r\n-.app-conf-wrapper:not(.above-input) select.app-non-mobile {\r\n-\twidth: 67%;\r\n-\tmargin: 0;\r\n-}\r\n-\r\n-.app-conf-wrapper label span.app-conf-title {\r\n-\tmargin-right: 3%;\r\n-\twidth: 30%;\r\n-\tdisplay: block;\r\n-\tfloat: left;\r\n-\ttext-shadow: 0.05em 0.05em 0.05em rgba(10,10,10,0.2);\r\n-}\r\n-\r\n-.app-conf-wrapper.above-input .app-conf-fields-gr2 label span.app-conf-title,\r\n-.app-edit-wrapper.above-input label span.app-conf-title,\r\n-.app-edit-wrapper.app-mobile label span.app-conf-title {\r\n-\twidth: 100%;\r\n-\tfloat: none;\r\n-}\r\n-\r\n .app-conf-text:not(.has-checkbox) {\r\n \tfloat: left;\r\n \twidth: 67%;\r\n@@ -1754,26 +1705,7 @@\n \talign-items: baseline;\r\n }\r\n \r\n-.app-conf-wrapper button.ui-multiselect {\r\n-\twidth: 67% !important;\r\n-\tvertical-align: bottom;\r\n-}\r\n-\r\n-.app-conf-wrapper.above-input button.ui-multiselect,\r\n-.app-conf-wrapper.app-mobile button.ui-multiselect {\r\n-\twidth: 100% !important;\r\n-\tvertical-align: bottom;\r\n-}\r\n-\r\n-.app-conf-wrapper.app-mobile div.app-conf-fields-gr2 label span,\r\n-.app-conf-wrapper.app-mobile div.app-conf-coupon label span,\r\n-.app-conf-wrapper.app-mobile div.app-conf-extra label span {\r\n-\twidth: 100%;\r\n-\tfloat: none;\r\n-}\r\n-\r\n-.app-wrap h3,\r\n-.app-conf-wrapper legend.app-conf-title {\r\n+.app-wrap h3 {\r\n \tfont-size: 0.8em;\r\n \tfont-weight: 500;\r\n \ttext-transform: uppercase;\r\n@@ -1781,103 +1713,13 @@\n \tborder: 0\r\n }\r\n \r\n-.app-conf-wrapper.app-mobile legend.app-conf-title {\r\n-\tfont-size: 0.6em;\r\n-}\r\n-\r\n-.app-conf-wrapper input[type=\"text\"],\r\n-.app-conf-wrapper select,\r\n-.app-conf-wrapper textarea,\r\n-input.app_select_date,\r\n-.app-conf-wrapper canvas {\r\n-\tpadding: 0.2em 0.8em 0.2em 0.2em;\r\n-}\r\n-\r\n-.app-conf-wrapper canvas {\r\n-\twidth: 100%;\r\n-\theight: 120px;\r\n-}\r\n \r\n input.app_select_date {\r\n \tfont-size: 0.8em;\r\n \tfont-weight: normal;\r\n+\tpadding: 0.2em 0.8em 0.2em 0.2em;\r\n }\r\n \r\n-.app-conf-wrapper select {\r\n-\tmargin-top: 0;\r\n-}\r\n-\r\n-.app-conf-wrapper .app_billing_line input[type=\"text\"].app-non-mobile,\r\n-.app-conf-wrapper .app_billing_line select.app-non-mobile,\r\n-.app-conf-wrapper.above-input input[type=\"text\"],\r\n-.app-conf-wrapper.above-input select:not(.app_select_workers_conf),\r\n-.app-conf-wrapper.above-input textarea,\r\n-.app-conf-wrapper.app-mobile input[type=\"text\"],\r\n-.app-conf-wrapper.app-mobile select {\r\n-\twidth: 100%\r\n-}\r\n-\r\n-.app-conf-wrapper sup {\r\n-\tfont-weight: bold;\r\n-\tcolor: red\r\n-}\r\n-\r\n-.app-conf-wrapper .app-conf-details sup {\r\n-\tcolor: #007acc\r\n-}\r\n-\r\n-.app-non-mobile .app-conf-button {\r\n-\tfont-weight: bold;\r\n-\twidth: 48.5%;\r\n-\tmax-width: 400px;\r\n-}\r\n-\r\n-.app-conf-cancel-button {\r\n-\tfloat: right;\r\n-}\r\n-\r\n-.app-non-mobile:not(.app-edit-wrapper) .app-conf-cancel-button {\r\n-\tmax-width: 30%;\r\n-}\r\n-\r\n-button.app-conf-cancel-button {\r\n-\tfont-size: 0.95em;\r\n-\tfont-weight: normal;\r\n-}\r\n-\r\n-.app-conf-wrapper fieldset {\r\n-\tpadding: 20px 20px 0 20px;\r\n-}\r\n-\r\n-.app-conf-wrapper fieldset div {\r\n-\tmargin: 0 0 10px 0;\r\n-}\r\n-\r\n-.app-conf-wrapper .app-conf-seats label:first-child:not(:last-child) {\r\n-\tmargin-bottom: 10px;\r\n-}\r\n-\r\n-.app-conf-wrapper .app-conf-seats label:last-child:not(:first-child) {\r\n-\tpadding-top: 0;\r\n-}\r\n-\r\n-.app-conf-wrapper fieldset div:empty {\r\n-\tmargin: 0;\r\n-}\r\n-\r\n-.app-conf-wrapper fieldset div:not(.ui-select) {}\r\n-\r\n-.app-conf-wrapper.app-mobile fieldset .app-conf-fields-gr2 div {\r\n-\toverflow: visible;\r\n-}\r\n-\r\n-.app-conf-wrapper.app-mobile fieldset .ui-state-error {\r\n-\tborder: 1px solid #f1a899;\r\n-\tbackground: #fddfdf;\r\n-\tcolor: #5f3f3f;\r\n-}\r\n-\r\n-.app-conf-wrapper label:after,\r\n .app-clearfix:before,\r\n .app-clearfix:after {\r\n \tcontent: \"\\0020\";\r\n@@ -1886,7 +1728,6 @@\n \toverflow: hidden;\r\n }\r\n \r\n-.app-conf-wrapper label:after,\r\n .app-clearfix:after {\r\n \tclear: both;\r\n }\r\n@@ -2149,14 +1990,6 @@\n \ttext-align: left;\r\n }\r\n \r\n-.app-conf-wrapper button.ui-multiselect {\r\n-\tline-height: 1.5;\r\n-}\r\n-\r\n-.app-conf-wrapper.app-mobile label span {\r\n-\tfont-size: 14px;\r\n-}\r\n-\r\n div.app-conf-fields-gr.app-conf-fields-gr1,\r\n div.app-conf-fields-gr.app-conf-fields-gr2 {\r\n \tmargin: 0;\r\n@@ -2176,28 +2009,6 @@\n \tlist-style: none;\r\n }\r\n \r\n-.app-conf-wrapper .app_countdown_dropdown_title.app-title {\r\n-\ttext-align: center;\r\n-\tfont-size: small;\r\n-\t\u002F* margin-bottom: 0; *\u002F\r\n-}\r\n-\r\n-.app-conf-wrapper:not(.app-mobile) .app-conf-continue .app_countdown-wrapper:not(.app_2column) {\r\n-\twidth: 100%;\r\n-}\r\n-\r\n-.app-cont-button-wrapper {\r\n-\tvertical-align: middle;\r\n-\tdisplay: table-cell;\r\n-\tpadding-top: 25px;\r\n-}\r\n-\r\n-.app-cont-button-wrapper button {\r\n-\tdisplay: block;\r\n-\tvertical-align: middle;\r\n-\tfont-size: 1rem;\r\n-}\r\n-\r\n .app-udf-checkbox {\r\n \tmargin-right: 5px;\r\n }\r\n@@ -2251,62 +2062,10 @@\n \tmargin: 0;\r\n }\r\n \r\n-div.app-conf-wrapper input::-webkit-input-placeholder {\r\n-\tfont-size: .9em\r\n-}\r\n-\r\n-div.app-conf-wrapper input::-moz-placeholder {\r\n-\tfont-size: .9em\r\n-}\r\n-\r\n-div.app-conf-wrapper input:-ms-input-placeholder {\r\n-\tfont-size: .9em\r\n-}\r\n-\r\n-div.app-conf-wrapper input:-moz-placeholder {\r\n-\tfont-size: .9em\r\n-}\r\n-\r\n-.app-conf-wrapper fieldset .app-conf-continue {\r\n-\tmargin-bottom: 0;\r\n-\tdisplay: flex;\r\n-\tflex-wrap: wrap;\r\n-\tjustify-content: space-between;\r\n-}\r\n-\r\n-.app-conf-wrapper.app-mobile fieldset .app-conf-continue {\r\n-\tjustify-content: center;\r\n-}\r\n-\r\n-div.app-conf-wrapper fieldset div.app-conf-continue.has-button {\r\n-\tjustify-content: space-around;\r\n-}\r\n-\r\n-div.app-conf-wrapper .app-conf-continue .app_2column {\r\n-\tpadding-right: 0;\r\n-}\r\n-\r\n-button.app-cont-btn {\r\n-\tfont-size: .9em;\r\n-\tfloat: left;\r\n-}\r\n-\r\n #app_confirm_email_username {\r\n \tdisplay: none !important;\r\n }\r\n \r\n-.app-conf-wrapper div.app-conf-price label span.app_old_price {\r\n-\ttext-decoration: line-through;\r\n-\twidth: 30%;\r\n-\tmax-width: 100px;\r\n-}\r\n-\r\n-.app-conf-wrapper div.app-conf-price label span.app_new_price,\r\n-.app-conf-wrapper div.app-conf-amount label span.app-conf-text {\r\n-\tfont-weight: bold;\r\n-\twidth: auto;\r\n-}\r\n-\r\n .app-compact-book-wrapper-gr1 button.ui-multiselect {\r\n \twidth: 100% !important;\r\n }\r\n@@ -2505,47 +2264,6 @@\n \tpadding-right: 0;\r\n }\r\n \r\n-\u002F* FEE-------------------------------------------------------- *\u002F\r\n-\r\n-.app-edit-wrapper {\r\n-\tfont-size: smaller;\r\n-}\r\n-\r\n-.app-edit-wrapper select[disabled],\r\n-.app-edit-wrapper input[readonly],\r\n-select.app-edit-time option:disabled {\r\n-\tcolor: #ff0000;\r\n-\tfont-weight: bold;\r\n-}\r\n-\r\n-.app-conf-start input.app-edit-date,\r\n-.app-conf-start select.app-edit-time {\r\n-\twidth: 30%\r\n-}\r\n-\r\n-select.app_select_services.app_edit {\r\n-\twidth: 60%;\r\n-}\r\n-\r\n-.app-fee.ui-dialog {\r\n-\tfont-size: 0.9rem;\r\n-}\r\n-\r\n-.ui-dialog .app-fee-wrapper.ui-dialog-content {\r\n-\tpadding: 0;\r\n-}\r\n-\r\n-.app-fee-wrapper .app-conf-start label {\r\n-    margin-bottom: 10px;\r\n-}\r\n-\r\n-.app-fee-wrapper .app-conf-fields-gr1 select,\r\n-.app-fee-wrapper .app-conf-wrapper .app-conf-fields-gr1 input {\r\n-\twidth: 67%;\r\n-\tmargin: 0;\r\n-}\r\n-\r\n-\r\n \u002F* Book Now -------------------------------------------------------- *\u002F\r\n \r\n div.app-book-now {\r\n@@ -2598,7 +2316,6 @@\n \u002F* clear fix *\u002F\r\n .app_compact:after,\r\n .app_compact:before,\r\n-.app-conf-wrapper:before,\r\n .app-legend:before,\r\n .app-pagination:before {\r\n \tcontent: '';\r\n@@ -4731,3 +4448,172 @@\n \t\tdisplay: block;\r\n \t}\r\n }\r\n+\r\n+\u002F* Grid -------------------------------------------------------- *\u002F\r\n+\r\n+.app-grid {\r\n+\tdisplay: grid;\r\n+\tgrid-column-gap: 30px;\r\n+    grid-row-gap: 35px;\r\n+}\r\n+\r\n+.app-grid-4 .app-grid {\r\n+\tgrid-template-columns: repeat(4,1fr);\r\n+}\r\n+\r\n+.app-grid-3 .app-grid {\r\n+\tgrid-template-columns: repeat(3,1fr);\r\n+}\r\n+\r\n+.app-grid-2 .app-grid {\r\n+\tgrid-template-columns: repeat(2,1fr);\r\n+}\r\n+\r\n+.app-grid-1 .app-grid {\r\n+\tgrid-template-columns: repeat(1,1fr);\r\n+}\r\n+\r\n+@media (max-width: 1024px) {\r\n+\t.app-grid-4 .app-grid {\r\n+\t\tgrid-template-columns: repeat(3,1fr);\r\n+\t}\r\n+\t.app-grid-3 .app-grid {\r\n+\t\tgrid-template-columns: repeat(2,1fr);\r\n+\t}\r\n+}\r\n+\r\n+@media (max-width: 767px) {\r\n+\t.app-grid-4 .app-grid {\r\n+\t\tgrid-template-columns: repeat(2,1fr);\r\n+\t}\r\n+\t.app-grid-3 .app-grid {\r\n+\t\tgrid-template-columns: repeat(1,1fr);\r\n+\t}\r\n+\t.app-grid-3 .app-item-card {\r\n+\t\tflex-direction: row;\r\n+\t}\r\n+\t.app-grid-3 .app-item-excerpt {\r\n+\t\tmax-height: 300px;\r\n+\t}\t\r\n+\t.app-grid-2 .app-grid {\r\n+\t\tgrid-template-columns: repeat(1,1fr);\r\n+\t}\r\n+\t.app-grid-2 .app-item-card {\r\n+\t\tflex-direction: row;\r\n+\t}\r\n+\t.app-grid-2 .app-item-excerpt {\r\n+\t\tmax-height: 300px;\r\n+\t}\r\n+}\r\n+\r\n+@media (max-width: 480px) {\r\n+\t.app-grid-4 .app-grid {\r\n+\t\tgrid-template-columns: repeat(1,1fr);\r\n+\t}\r\n+\t.app-grid-4 .app-item-card {\r\n+\t\tflex-direction: row;\r\n+\t}\r\n+}\r\n+\r\n+.app-item-card {\r\n+    background-color: #fff;\r\n+    border: 0 solid #69727d;\r\n+    border-radius: 3px;\r\n+    display: flex;\r\n+    flex-direction: column;\r\n+    min-height: 100%;\r\n+    overflow: hidden;\r\n+    position: relative;\r\n+    transition: all .25s;\r\n+    width: 100%;\r\n+\tbox-shadow: 0 0 10px 0 rgba(0, 0, 0, .15);\r\n+}\r\n+\r\n+.app-grid-1 .app-item-card {\r\n+\tflex-direction: row;\r\n+}\r\n+\r\n+.app-item-card.no-link a {\r\n+\tcursor: default;\r\n+}\r\n+\r\n+.app-item-thumb-link {\r\n+\tdisplay: block;\r\n+\tposition: relative;\r\n+\twidth: 100%;\r\n+}\r\n+\r\n+.app-item-thumb-link:after {\r\n+    \u002F* background-image: linear-gradient(0deg, rgba(0, 0, 0, .35), transparent 75%); *\u002F\r\n+    \u002F* background-repeat: no-repeat; *\u002F\r\n+    \u002F* bottom: 0; *\u002F\r\n+    \u002F* content: \"\"; *\u002F\r\n+    \u002F* display: block; *\u002F\r\n+    \u002F* height: 100%; *\u002F\r\n+    \u002F* opacity: 1; *\u002F\r\n+    \u002F* position: absolute; *\u002F\r\n+    \u002F* transition: all .3s ease-out; *\u002F\r\n+    \u002F* width: 100%; *\u002F\r\n+}\r\n+\r\n+.app-grid-1 .app-item-thumb-link:after {\r\n+\t\u002F* display:none; *\u002F\r\n+}\r\n+\r\n+.app-item-thumb {\r\n+\tposition: relative;\r\n+\tpadding-bottom: calc(0.66 * 100%);\r\n+}\r\n+\r\n+.app-item-thumb img {\r\n+\theight: 100%;\r\n+\twidth: 100%;\r\n+\tobject-fit: cover;\r\n+\tleft: calc(50% + 1px);\r\n+    position: absolute;\r\n+    top: calc(50% + 1px);\r\n+    transform: scale(1.01) translate(-50%, -50%);\r\n+\tdisplay: block;\r\n+    max-height: none;\r\n+    max-width: none;\r\n+    transition: filter .3s;\r\n+\tborder: none;\r\n+    border-radius: 0;\r\n+    box-shadow: none;\r\n+}\r\n+\r\n+.app-item-text {\r\n+\tdisplay: flex;\r\n+\tflex-direction: column;\r\n+    flex-grow: 1;\r\n+\twidth: 100%;\r\n+\tpadding: 0 30px;\r\n+\tmargin-top: 20px;\r\n+}\r\n+\r\n+.app-item-title {\r\n+\tfont-size: 21px;\r\n+}\r\n+\r\n+.app-item-excerpt {\r\n+\tflex-grow: 1;\r\n+\t\u002F* margin-bottom: 25px; *\u002F\r\n+\tmax-height: 500px;\r\n+\toverflow: hidden;\r\n+\tmask-image: linear-gradient(to bottom, black 80%, transparent 100%);\r\n+}\r\n+\r\n+.app-grid-1 .app-item-excerpt {\r\n+\tmax-height: 300px;\r\n+}\r\n+\r\n+.app-item-read-more-wrapper {\r\n+\tmargin-bottom: 20px;\r\n+}\r\n+\r\n+.app-item-read-more {\r\n+\ttext-transform: uppercase;\r\n+\tdisplay: inline-block;\r\n+    \u002F* margin-bottom: 20px; *\u002F\r\n+\tfont-size: 12px;\r\n+}\n\\ No newline at end of file\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Flibs.min.css \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Flibs.min.css\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Flibs.min.css\t2026-01-06 00:59:06.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Flibs.min.css\t2026-03-10 03:48:28.000000000 +0000\n@@ -8,4 +8,4 @@\n \u002F* dataTables.jqueryui.css (dataTables) *\u002F\r\n table.dataTable tbody td.dt-body-nowrap,table.dataTable tbody th.dt-body-nowrap,table.dataTable td.dt-nowrap,table.dataTable tfoot td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable th.dt-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable thead th.dt-head-nowrap,table.dataTable.nowrap td,table.dataTable.nowrap th{white-space:nowrap}.dataTables_wrapper .dataTables_paginate .fg-button:active,table.dataTable thead td:active,table.dataTable thead th:active{outline:0}table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable tfoot th,table.dataTable thead th{font-weight:700}table.dataTable thead td,table.dataTable thead th{padding:10px 18px}table.dataTable tfoot td,table.dataTable tfoot th{padding:10px 18px 6px}table.dataTable tbody tr{background-color:#fff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody td,table.dataTable tbody th{padding:8px 10px}table.dataTable.display tbody td,table.dataTable.display tbody th,table.dataTable.row-border tbody td,table.dataTable.row-border tbody th{border-top:1px solid #ddd}table.dataTable.display tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.row-border tbody tr:first-child th{border-top:none}table.dataTable.cell-border tbody td,table.dataTable.cell-border tbody th{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr td:first-child,table.dataTable.cell-border tbody tr th:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child td,table.dataTable.cell-border tbody tr:first-child th{border-top:none}table.dataTable.display tbody tr.odd,table.dataTable.stripe tbody tr.odd{background-color:#f9f9f9}table.dataTable.display tbody tr.odd.selected,table.dataTable.stripe tbody tr.odd.selected{background-color:#acbad4}table.dataTable.display tbody tr:hover,table.dataTable.hover tbody tr:hover{background-color:#f6f6f6}table.dataTable.display tbody tr:hover.selected,table.dataTable.hover tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3,table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3,table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:#f5f5f5}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.compact thead td,table.dataTable.compact thead th{padding:4px 17px 4px 4px}table.dataTable.compact tbody td,table.dataTable.compact tbody th,table.dataTable.compact tfoot td,table.dataTable.compact tfoot th{padding:4px}table.dataTable td.dt-left,table.dataTable th.dt-left{text-align:left}table.dataTable td.dataTables_empty,table.dataTable td.dt-center,table.dataTable th.dt-center{text-align:center}table.dataTable td.dt-right,table.dataTable th.dt-right{text-align:right}table.dataTable td.dt-justify,table.dataTable th.dt-justify{text-align:justify}table.dataTable tfoot td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable thead th.dt-head-left{text-align:left}table.dataTable tfoot td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable thead th.dt-head-center{text-align:center}table.dataTable tfoot td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable thead th.dt-head-right{text-align:right}table.dataTable tfoot td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable thead th.dt-head-justify{text-align:justify}table.dataTable tbody td.dt-body-left,table.dataTable tbody th.dt-body-left{text-align:left}table.dataTable tbody td.dt-body-center,table.dataTable tbody th.dt-body-center{text-align:center}table.dataTable tbody td.dt-body-right,table.dataTable tbody th.dt-body-right{text-align:right}table.dataTable tbody td.dt-body-justify,table.dataTable tbody th.dt-body-justify{text-align:justify}table.dataTable,table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em 1em;margin-left:2px;text-align:center;text-decoration:none!important;cursor:pointer;color:#333;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333;border:1px solid #979797;background-color:#fff;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(100%,#dcdcdc));background:-webkit-linear-gradient(top,#fff 0,#dcdcdc 100%);background:-moz-linear-gradient(top,#fff 0,#dcdcdc 100%);background:-ms-linear-gradient(top,#fff 0,#dcdcdc 100%);background:-o-linear-gradient(top,#fff 0,#dcdcdc 100%);background:linear-gradient(to bottom,#fff 0,#dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{cursor:default;color:#666!important;border:1px solid transparent;background:0 0;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:#fff!important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#585858),color-stop(100%,#111));background:-webkit-linear-gradient(top,#585858 0,#111 100%);background:-moz-linear-gradient(top,#585858 0,#111 100%);background:-ms-linear-gradient(top,#585858 0,#111 100%);background:-o-linear-gradient(top,#585858 0,#111 100%);background:linear-gradient(to bottom,#585858 0,#111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:0;background-color:#2b2b2b;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#2b2b2b),color-stop(100%,#0c0c0c));background:-webkit-linear-gradient(top,#2b2b2b 0,#0c0c0c 100%);background:-moz-linear-gradient(top,#2b2b2b 0,#0c0c0c 100%);background:-ms-linear-gradient(top,#2b2b2b 0,#0c0c0c 100%);background:-o-linear-gradient(top,#2b2b2b 0,#0c0c0c 100%);background:linear-gradient(to bottom,#2b2b2b 0,#0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:#fff;background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(25%,rgba(255,255,255,.9)),color-stop(75%,rgba(255,255,255,.9)),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%);background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_paginate,.dataTables_wrapper .dataTables_processing{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing{height:0;overflow:hidden;margin:0!important;padding:0!important}.dataTables_wrapper.no-footer div.dataTables_scrollBody table,.dataTables_wrapper.no-footer div.dataTables_scrollHead table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:\"\";clear:both;height:0}@media screen and (max-width:767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:.5em}}@media screen and (max-width:640px){.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_length{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:.5em}}table.dataTable thead th div.DataTables_sort_wrapper{position:relative}table.dataTable thead th div.DataTables_sort_wrapper span{position:absolute;top:50%;margin-top:-8px;right:-18px}table.dataTable tfoot th.ui-state-default,table.dataTable thead th.ui-state-default{border-right-width:0}table.dataTable tfoot th.ui-state-default:last-child,table.dataTable thead th.ui-state-default:last-child{border-right-width:1px}.dataTables_wrapper .dataTables_paginate .fg-button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em;margin-left:2px;text-align:center;text-decoration:none!important;cursor:pointer;color:#333;border:1px solid transparent}.dataTables_wrapper .dataTables_paginate .fg-button:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.dataTables_wrapper .dataTables_paginate .fg-button:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.dataTables_wrapper .ui-widget-header{font-weight:400}.dataTables_wrapper .ui-toolbar{padding:8px}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:none}\r\n \u002F* Countdown *\u002F\r\n-.appCountdown-rtl{direction:rtl}.appCountdown-holding span{color:#888}.appCountdown-row{clear:both;width:100%;text-align:center}.appCountdown-show1 .appCountdown-section{width:98%}.appCountdown-show2 .appCountdown-section{width:48%}.appCountdown-show3 .appCountdown-section{width:32.5%}.appCountdown-show4 .appCountdown-section{width:24.5%}.appCountdown-show5 .appCountdown-section{width:19.5%}.appCountdown-show6 .appCountdown-section{width:16.25%}.appCountdown-show7 .appCountdown-section{width:14%}.appCountdown-section{display:block;float:left;font-size:75%;text-align:center}.appCountdown-amount{font-size:200%}.appCountdown-period{display:block}.appCountdown-descr{display:block;width:100%}\n\\ No newline at end of file\n+.appCountdown-rtl{direction:rtl}.appCountdown-holding span{color:#888}.appCountdown-row{clear:both;width:100%;text-align:center}.appCountdown-show1 .appCountdown-section{width:98%}.appCountdown-show2 .appCountdown-section{width:48%}.appCountdown-show3 .appCountdown-section{width:32.5%}.appCountdown-show4 .appCountdown-section{width:24.5%}.appCountdown-show5 .appCountdown-section{width:19.5%}.appCountdown-show6 .appCountdown-section{width:16.25%}.appCountdown-show7 .appCountdown-section{width:14%}.appCountdown-section{display:block;float:left;font-size:75%;text-align:center}.appCountdown-amount{font-size:200%}.appCountdown-period{display:block}.appCountdown-descr{display:block;width:100%}\r\nOnly in \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss: panels.css\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Fschedules.css \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Fschedules.css\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss\u002Fschedules.css\t2026-01-06 00:59:06.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss\u002Fschedules.css\t2026-03-10 03:48:28.000000000 +0000\n@@ -1 +1,449 @@\n-.ec{color-scheme:light;--ec-h:0;--ec-s:0%;--ec-l-300:91.00%;--ec-l-500:83.50%;--ec-l-600:78.40%;--ec-l-700:71.40%;--ec-bg-fallback-color:#fff;--ec-hs:var(--ec-h),var(--ec-s);--ec-color-300:hsl(var(--ec-hs),var(--ec-l-300));--ec-color-500:hsl(var(--ec-hs),var(--ec-l-500));--ec-color-600:hsl(var(--ec-hs),var(--ec-l-600));--ec-color-700:hsl(var(--ec-hs),var(--ec-l-700));--ec-border-color:var(--ec-color-500);--ec-accent-color:var(--ec-color-600);--ec-button-bg-color:var(--ec-bg-color);--ec-button-border-color:var(--ec-color-600);--ec-button-text-color:var(--ec-text-color);--ec-button-active-bg-color:var(--ec-color-300);--ec-button-active-border-color:var(--ec-color-700);--ec-button-active-text-color:var(--ec-button-text-color);--ec-event-bg-color:#039be5;--ec-event-text-color:#fff;--ec-bg-event-color:var(--ec-color-500);--ec-bg-event-opacity:0.3;--ec-list-day-bg-color:var(--ec-bg-color,var(--ec-bg-fallback-color));--ec-today-bg-color:rgba(255,220,40,.15);--ec-highlight-color:rgba(188,232,241,.3);--ec-popup-bg-color:var(--ec-bg-color,var(--ec-bg-fallback-color));--ec-now-indicator-color:#ea4335}.ec-dark .ec{color-scheme:dark;--ec-h:215;--ec-s:15%;--ec-l-300:25.50%;--ec-l-500:42.40%;--ec-l-600:49.80%;--ec-l-700:57.30%;--ec-bg-fallback-color:#22272e}@media(prefers-color-scheme:dark){.ec-auto-dark .ec{color-scheme:dark;--ec-h:215;--ec-s:15%;--ec-l-300:25.50%;--ec-l-500:42.40%;--ec-l-600:49.80%;--ec-l-700:57.30%;--ec-bg-fallback-color:#22272e}}.ec-timeline .ec-container{display:flex;flex:1 1 0%;min-height:0}.ec-timeline .ec-main{display:flex;flex-direction:column;min-width:0}.ec-timeline .ec-content{flex-direction:column}.ec-timeline .ec-body{flex:1 1 auto;overflow:auto}.ec-timeline .ec-body .ec-content{min-height:100%;min-width:-moz-max-content;min-width:max-content;position:relative}.ec-timeline .ec-body .ec-days{flex-shrink:0}.ec-timeline .ec-body .ec-days:not(:last-child){flex-grow:0}.ec-timeline .ec-header{overflow:hidden}.ec-timeline .ec-header .ec-days{min-width:-moz-max-content;min-width:max-content}.ec-timeline .ec-header .ec-day{display:flex;flex-basis:auto;flex-direction:column}.ec-timeline .ec-day,.ec-timeline .ec-header .ec-day:first-child .ec-day-head,.ec-timeline .ec-header .ec-day:first-child .ec-time:first-child{border:none}.ec-timeline .ec-day-head{border-style:none none none solid}.ec-timeline .ec-times{border-top:1px solid var(--ec-border-color);display:flex}.ec-timeline .ec-time{border-left:1px solid var(--ec-border-color);box-sizing:border-box;font-size:.95em;min-height:24px;overflow:hidden;text-overflow:ellipsis}.ec-timeline .ec-line,.ec-timeline .ec-time{width:72px}.ec-timeline .ec-events{height:100%;margin:0;position:relative}.ec-timeline .ec-event{position:absolute}.ec-timeline .ec-bg-event{height:100%;z-index:auto}.ec-timeline .ec-lines{display:flex}.ec-timeline .ec-line:not(:first-child):after{border-left:1px solid var(--ec-border-color);content:\"\";height:100%;pointer-events:none;position:absolute}.ec-timeline .ec-sidebar{border-right-style:solid;border:1px solid var(--ec-border-color);border-right:1px var(--ec-border-color);padding:0}.ec-timeline .ec-sidebar .ec-sidebar-title{border-bottom:1px solid var(--ec-border-color);box-sizing:initial;flex-shrink:0}.ec-timeline .ec-sidebar .ec-content{flex:1;overflow:hidden}.ec-timeline .ec-sidebar .ec-resource{flex-shrink:0;padding:0 8px}.ec-timeline .ec-sidebar .ec-resource:not(:last-child){border-bottom:1px solid var(--ec-border-color);flex-grow:0}.ec-timeline .ec-sidebar .ec-resource:last-child{flex-basis:100%!important}.ec-timeline .ec-sidebar .ec-resource span{padding-top:8px}.ec-time-grid .ec-body .ec-event{position:absolute}.ec-time-grid .ec-body .ec-event-title{position:sticky;top:0}.ec-time-grid .ec-body .ec-resizer{bottom:0;cursor:ns-resize;height:50%;left:0;max-height:8px;right:0}.ec-time-grid .ec-bg-event{width:100%;z-index:1}.ec-time-grid .ec-time{line-height:24px;position:relative;text-align:right;top:-12px}.ec-time-grid .ec-all-day .ec-time,.ec-time-grid .ec-header .ec-time{height:0;overflow-y:hidden;visibility:hidden}.ec-time-grid .ec-line,.ec-time-grid .ec-time{height:24px}.ec-time-grid .ec-lines{width:8px}.ec-time-grid .ec-line:not(:first-child):after{border-bottom:1px solid var(--ec-border-color);content:\"\";pointer-events:none;position:absolute;width:100%}.ec-time-grid .ec-body:not(.ec-compact) .ec-line:nth-child(2n):after{border-bottom-style:dotted}.ec-time-grid .ec-sidebar-title{height:0;overflow-y:hidden;text-align:right;visibility:hidden}.ec-time-grid .ec-all-day .ec-sidebar-title{height:auto;padding:8px 0;visibility:visible}.ec-day-grid .ec-body{flex:1 1 auto}.ec-day-grid .ec-body .ec-day{min-height:5em;position:relative}.ec-day-grid .ec-content{flex-direction:column;height:100%}.ec-day-grid .ec-uniform .ec-content{overflow:hidden}.ec-day-grid .ec-uniform .ec-days{flex:1 1 0%;min-height:0}.ec-day-grid .ec-uniform .ec-day{min-height:0}.ec-day-grid .ec-day:first-child{border-left:none}.ec-day-grid .ec-day-head{border:none;display:block;padding:4px 4px 3px;text-align:right}.ec-day-grid .ec-day-foot{bottom:0;font-size:.85em;padding:2px;position:absolute}.ec-day-grid .ec-day-foot a{cursor:pointer}.ec-day,.ec-days,.ec-resource{flex:1 1 0;max-width:100%;min-width:0}.ec{background-color:var(--ec-bg-color);color:var(--ec-text-color);display:flex;flex-direction:column;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ec ::-webkit-scrollbar{background-color:transparent}.ec ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--ec-border-color);border:4px solid transparent;border-radius:8px;box-shadow:none;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background-color:var(--ec-accent-color)}.ec-hidden-scroll{display:none;flex-shrink:0;overflow-y:scroll;visibility:hidden}.ec-with-scroll .ec-hidden-scroll{display:block}.ec-toolbar{align-items:center;display:flex;flex:0 0 auto;justify-content:space-between;margin-bottom:1em}.ec-toolbar>*{margin-bottom:-.5em}.ec-toolbar>*>*{margin-bottom:.5em}.ec-toolbar>*>:not(:last-child){margin-right:.75em}.ec-title{margin:0}.ec-button{background-color:var(--ec-button-bg-color);border:1px solid var(--ec-button-border-color);border-radius:.25rem;font-size:1rem;line-height:1.5;padding:.375rem .75rem}.ec-button:not(:disabled){color:var(--ec-button-text-color);cursor:pointer}.ec-button.ec-active,.ec-button:not(:disabled):hover{background-color:var(--ec-button-active-bg-color);border-color:var(--ec-button-active-border-color);color:var(--ec-button-active-text-color);z-index:1}.ec-button-group{display:inline-flex}.ec-button-group .ec-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.ec-button-group .ec-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.ec-icon{display:inline-block;width:1em}.ec-icon.ec-next:after,.ec-icon.ec-prev:after{border-right:2px solid;border-top:2px solid;content:\"\";display:inline-block;height:.5em;position:relative;width:.5em}.ec-icon.ec-prev:after{transform:rotate(-135deg) translate(-2px,2px)}.ec-icon.ec-next:after{transform:rotate(45deg) translate(-2px,2px)}.ec-all-day,.ec-body,.ec-day,.ec-day-head,.ec-days,.ec-header{border:1px solid var(--ec-border-color)}.ec-header{display:flex;flex-shrink:0}.ec-header .ec-resource{flex-direction:column}.ec-header .ec-resource .ec-days{border-top-style:solid}.ec-header .ec-days{border-bottom:none}.ec-header .ec-day{line-height:24px;min-height:24px;overflow:hidden;text-align:center;text-overflow:ellipsis}.ec-all-day{border-top:none;flex-shrink:0}.ec-all-day .ec-days{border-bottom:none}.ec-all-day .ec-day{padding-bottom:4px;position:relative}.ec-body{overflow-x:hidden;overflow-y:auto;position:relative}.ec:not(.ec-list) .ec-body{border-top:none}.ec-sidebar{flex:0 0 auto;flex-direction:column;max-width:100%;padding:0 4px 0 8px;width:auto}.ec-content,.ec-sidebar{display:flex}.ec-list .ec-content{flex-direction:column}.ec-days,.ec-resource{display:flex}.ec-days{border-style:none none solid}.ec-days:last-child{border-bottom:none}.ec-day-grid .ec-days,.ec-resource .ec-days{flex:1 0 auto}.ec-day{border-style:none none none solid}.ec-day.ec-today{background-color:var(--ec-today-bg-color)}.ec-day.ec-highlight{background-color:var(--ec-highlight-color)}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-list .ec-day{border:none}.ec-list .ec-day-head{background-color:var(--ec-list-day-bg-color);border-style:solid none;margin:-1px 0 0;padding:8px 14px;position:sticky;top:0;z-index:2}.ec-list .ec-day:first-child .ec-day-head{border-top:none}.ec-list .ec-day-side{float:right}.ec-list .ec-no-events{padding:5em 0;text-align:center}.ec-events{margin:0 6px 0 0}.ec-events.ec-preview,.ec-time-grid .ec-events{position:relative}.ec-all-day .ec-events,.ec-day-grid .ec-events{display:flow-root}.ec-event{background-color:var(--ec-event-bg-color);border-radius:3px;box-shadow:0 0 1px 0 var(--ec-border-color);box-sizing:border-box;color:var(--ec-event-text-color);display:flex;font-size:.85em;line-height:1.5;padding:2px;z-index:1}.ec-all-day .ec-event,.ec-day-grid .ec-event{position:relative}.ec-list .ec-event{background-color:transparent;border-radius:0;color:inherit;flex-direction:row;padding:8px 14px}.ec-event.ec-preview{opacity:.8;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:1000}.ec-event.ec-pointer{box-shadow:none;color:inherit;display:flex;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.ec-event-body{display:flex;flex-direction:column;width:100%}.ec-all-day .ec-event-body,.ec-day-grid .ec-event-body,.ec-timeline .ec-event-body{flex-direction:row}.ec-event-tag{border-radius:2px;margin-right:8px;width:4px}.ec-event-time{flex-shrink:0;margin:0 0 1px;overflow:hidden;white-space:nowrap}.ec-day-grid .ec-event-time,.ec-timeline .ec-event-time{margin:0 3px 0 0;max-width:100%;text-overflow:ellipsis}.ec-event-title{font-weight:inherit;margin:unset;overflow:hidden}.ec-all-day .ec-event-title,.ec-day-grid .ec-event-title,.ec-timeline .ec-event-title{min-height:1.5em;text-overflow:ellipsis;white-space:nowrap}.ec-list .ec-event-title{font-size:1rem}.ec-draggable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-ghost{opacity:.5;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-bg-events{position:relative}.ec-all-day .ec-bg-events,.ec-day-grid .ec-bg-events{inset:0;position:absolute}.ec-bg-event{background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity);position:absolute}.ec-all-day .ec-bg-event,.ec-day-grid .ec-bg-event{height:100%;z-index:auto}.ec-time{white-space:nowrap}.ec-popup{background-color:var(--ec-popup-bg-color);border:1px solid var(--ec-border-color);border-radius:6px;box-shadow:0 1px 3px 0 hsla(var(--ec-hs),50%,.15),0 4px 8px 3px hsla(var(--ec-hs),50%,.15);display:flex;flex-direction:column;min-width:180px;outline:1px solid transparent;padding:8px 10px 14px;position:absolute;top:0;width:110%;z-index:1010}.ec-popup .ec-day-head{display:flex;justify-content:space-between;text-align:left}.ec-popup .ec-day-head a{cursor:pointer;font-size:1.5em;line-height:.8}.ec-popup .ec-events{margin:0;min-height:0;overflow:auto}.ec-extra{height:100%;margin-left:-6.5px;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-now-indicator{border-top:2px solid var(--ec-now-indicator-color);pointer-events:none;position:absolute;width:100%;z-index:1005}.ec-now-indicator:before{background:var(--ec-now-indicator-color);border-radius:50%;content:\"\";height:12px;margin-top:-7px;pointer-events:none;position:absolute;width:12px}.ec-resizer{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-all-day .ec-resizer,.ec-day-grid .ec-resizer,.ec-timeline .ec-resizer{bottom:0;cursor:ew-resize;max-width:8px;right:0;top:0;width:50%}.ec-dragging{cursor:pointer!important}.ec-resizing-y{cursor:ns-resize!important}.ec-resizing-x{cursor:ew-resize!important}\n\\ No newline at end of file\n+.ec{color-scheme:light;--ec-h:0;--ec-s:0%;--ec-l-300:91.00%;--ec-l-500:83.50%;--ec-l-600:78.40%;--ec-l-700:71.40%;--ec-bg-fallback-color:#fff;--ec-hs:var(--ec-h),var(--ec-s);--ec-color-300:hsl(var(--ec-hs),var(--ec-l-300));--ec-color-500:hsl(var(--ec-hs),var(--ec-l-500));--ec-color-600:hsl(var(--ec-hs),var(--ec-l-600));--ec-color-700:hsl(var(--ec-hs),var(--ec-l-700));--ec-border-color:var(--ec-color-500);--ec-accent-color:var(--ec-color-600);--ec-button-bg-color:var(--ec-bg-color);--ec-button-border-color:var(--ec-color-600);--ec-button-text-color:var(--ec-text-color);--ec-button-active-bg-color:var(--ec-color-300);--ec-button-active-border-color:var(--ec-color-700);--ec-button-active-text-color:var(--ec-button-text-color);--ec-event-bg-color:#039be5;--ec-event-text-color:#fff;--ec-bg-event-color:var(--ec-color-500);--ec-bg-event-opacity:0.3;--ec-list-day-bg-color:var(--ec-bg-color,var(--ec-bg-fallback-color));--ec-today-bg-color:rgba(255,220,40,.15);--ec-highlight-color:rgba(188,232,241,.3);--ec-popup-bg-color:var(--ec-bg-color,var(--ec-bg-fallback-color));--ec-now-indicator-color:#ea4335}.ec-dark .ec{color-scheme:dark;--ec-h:215;--ec-s:15%;--ec-l-300:25.50%;--ec-l-500:42.40%;--ec-l-600:49.80%;--ec-l-700:57.30%;--ec-bg-fallback-color:#22272e}@media(prefers-color-scheme:dark){.ec-auto-dark .ec{color-scheme:dark;--ec-h:215;--ec-s:15%;--ec-l-300:25.50%;--ec-l-500:42.40%;--ec-l-600:49.80%;--ec-l-700:57.30%;--ec-bg-fallback-color:#22272e}}.ec-timeline .ec-container{display:flex;flex:1 1 0%;min-height:0}.ec-timeline .ec-main{display:flex;flex-direction:column;min-width:0}.ec-timeline .ec-content{flex-direction:column}.ec-timeline .ec-body{flex:1 1 auto;overflow:auto}.ec-timeline .ec-body .ec-content{min-height:100%;min-width:-moz-max-content;min-width:max-content;position:relative}.ec-timeline .ec-body .ec-days{flex-shrink:0}.ec-timeline .ec-body .ec-days:not(:last-child){flex-grow:0}.ec-timeline .ec-header{overflow:hidden}.ec-timeline .ec-header .ec-days{min-width:-moz-max-content;min-width:max-content}.ec-timeline .ec-header .ec-day{display:flex;flex-basis:auto;flex-direction:column}.ec-timeline .ec-day,.ec-timeline .ec-header .ec-day:first-child .ec-day-head,.ec-timeline .ec-header .ec-day:first-child .ec-time:first-child{border:none}.ec-timeline .ec-day-head{border-style:none none none solid}.ec-timeline .ec-times{border-top:1px solid var(--ec-border-color);display:flex}.ec-timeline .ec-time{border-left:1px solid var(--ec-border-color);box-sizing:border-box;font-size:.95em;min-height:24px;overflow:hidden;text-overflow:ellipsis}.ec-timeline .ec-line,.ec-timeline .ec-time{width:72px}.ec-timeline .ec-events{height:100%;margin:0;position:relative}.ec-timeline .ec-event{position:absolute}.ec-timeline .ec-bg-event{height:100%;z-index:auto}.ec-timeline .ec-lines{display:flex}.ec-timeline .ec-line:not(:first-child):after{border-left:1px solid var(--ec-border-color);content:\"\";height:100%;pointer-events:none;position:absolute}.ec-timeline .ec-sidebar{border-right-style:solid;border:1px solid var(--ec-border-color);border-right:1px var(--ec-border-color);padding:0}.ec-timeline .ec-sidebar .ec-sidebar-title{border-bottom:1px solid var(--ec-border-color);box-sizing:initial;flex-shrink:0}.ec-timeline .ec-sidebar .ec-content{flex:1;overflow:hidden}.ec-timeline .ec-sidebar .ec-resource{flex-shrink:0;padding:0 8px}.ec-timeline .ec-sidebar .ec-resource:not(:last-child){border-bottom:1px solid var(--ec-border-color);flex-grow:0}.ec-timeline .ec-sidebar .ec-resource:last-child{flex-basis:100%!important}.ec-timeline .ec-sidebar .ec-resource span{padding-top:8px}.ec-time-grid .ec-body .ec-event{position:absolute}.ec-time-grid .ec-body .ec-event-title{position:sticky;top:0}.ec-time-grid .ec-body .ec-resizer{bottom:0;cursor:ns-resize;height:50%;left:0;max-height:8px;right:0}.ec-time-grid .ec-bg-event{width:100%;z-index:1}.ec-time-grid .ec-time{line-height:24px;position:relative;text-align:right;top:-12px}.ec-time-grid .ec-all-day .ec-time,.ec-time-grid .ec-header .ec-time{height:0;overflow-y:hidden;visibility:hidden}.ec-time-grid .ec-line,.ec-time-grid .ec-time{height:24px}.ec-time-grid .ec-lines{width:8px}.ec-time-grid .ec-line:not(:first-child):after{border-bottom:1px solid var(--ec-border-color);content:\"\";pointer-events:none;position:absolute;width:100%}.ec-time-grid .ec-body:not(.ec-compact) .ec-line:nth-child(2n):after{border-bottom-style:dotted}.ec-time-grid .ec-sidebar-title{height:0;overflow-y:hidden;text-align:right;visibility:hidden}.ec-time-grid .ec-all-day .ec-sidebar-title{height:auto;padding:8px 0;visibility:visible}.ec-day-grid .ec-body{flex:1 1 auto}.ec-day-grid .ec-body .ec-day{min-height:5em;position:relative}.ec-day-grid .ec-content{flex-direction:column;height:100%}.ec-day-grid .ec-uniform .ec-content{overflow:hidden}.ec-day-grid .ec-uniform .ec-days{flex:1 1 0%;min-height:0}.ec-day-grid .ec-uniform .ec-day{min-height:0}.ec-day-grid .ec-day:first-child{border-left:none}.ec-day-grid .ec-day-head{border:none;display:block;padding:4px 4px 3px;text-align:right}.ec-day-grid .ec-day-foot{bottom:0;font-size:.85em;padding:2px;position:absolute}.ec-day-grid .ec-day-foot a{cursor:pointer}.ec-day,.ec-days,.ec-resource{flex:1 1 0;max-width:100%;min-width:0}.ec{background-color:var(--ec-bg-color);color:var(--ec-text-color);display:flex;flex-direction:column;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ec ::-webkit-scrollbar{background-color:transparent}.ec ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--ec-border-color);border:4px solid transparent;border-radius:8px;box-shadow:none;min-height:40px}.ec :hover::-webkit-scrollbar-thumb{background-color:var(--ec-accent-color)}.ec-hidden-scroll{display:none;flex-shrink:0;overflow-y:scroll;visibility:hidden}.ec-with-scroll .ec-hidden-scroll{display:block}.ec-toolbar{align-items:center;display:flex;flex:0 0 auto;justify-content:space-between;margin-bottom:1em}.ec-toolbar>*{margin-bottom:-.5em}.ec-toolbar>*>*{margin-bottom:.5em}.ec-toolbar>*>:not(:last-child){margin-right:.75em}.ec-title{margin:0}.ec-button{background-color:var(--ec-button-bg-color);border:1px solid var(--ec-button-border-color);border-radius:.25rem;font-size:1rem;line-height:1.5;padding:.375rem .75rem}.ec-button:not(:disabled){color:var(--ec-button-text-color);cursor:pointer}.ec-button.ec-active,.ec-button:not(:disabled):hover{background-color:var(--ec-button-active-bg-color);border-color:var(--ec-button-active-border-color);color:var(--ec-button-active-text-color);z-index:1}.ec-button-group{display:inline-flex}.ec-button-group .ec-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.ec-button-group .ec-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.ec-icon{display:inline-block;width:1em}.ec-icon.ec-next:after,.ec-icon.ec-prev:after{border-right:2px solid;border-top:2px solid;content:\"\";display:inline-block;height:.5em;position:relative;width:.5em}.ec-icon.ec-prev:after{transform:rotate(-135deg) translate(-2px,2px)}.ec-icon.ec-next:after{transform:rotate(45deg) translate(-2px,2px)}.ec-all-day,.ec-body,.ec-day,.ec-day-head,.ec-days,.ec-header{border:1px solid var(--ec-border-color)}.ec-header{display:flex;flex-shrink:0}.ec-header .ec-resource{flex-direction:column}.ec-header .ec-resource .ec-days{border-top-style:solid}.ec-header .ec-days{border-bottom:none}.ec-header .ec-day{line-height:24px;min-height:24px;overflow:hidden;text-align:center;text-overflow:ellipsis}.ec-all-day{border-top:none;flex-shrink:0}.ec-all-day .ec-days{border-bottom:none}.ec-all-day .ec-day{padding-bottom:4px;position:relative}.ec-body{overflow-x:hidden;overflow-y:auto;position:relative}.ec:not(.ec-list) .ec-body{border-top:none}.ec-sidebar{flex:0 0 auto;flex-direction:column;max-width:100%;padding:0 4px 0 8px;width:auto}.ec-content,.ec-sidebar{display:flex}.ec-list .ec-content{flex-direction:column}.ec-days,.ec-resource{display:flex}.ec-days{border-style:none none solid}.ec-days:last-child{border-bottom:none}.ec-day-grid .ec-days,.ec-resource .ec-days{flex:1 0 auto}.ec-day{border-style:none none none solid}.ec-day.ec-today{background-color:var(--ec-today-bg-color)}.ec-day.ec-highlight{background-color:var(--ec-highlight-color)}.ec-day.ec-other-month .ec-day-head{opacity:.3}.ec-list .ec-day{border:none}.ec-list .ec-day-head{background-color:var(--ec-list-day-bg-color);border-style:solid none;margin:-1px 0 0;padding:8px 14px;position:sticky;top:0;z-index:2}.ec-list .ec-day:first-child .ec-day-head{border-top:none}.ec-list .ec-day-side{float:right}.ec-list .ec-no-events{padding:5em 0;text-align:center}.ec-events{margin:0 6px 0 0}.ec-events.ec-preview,.ec-time-grid .ec-events{position:relative}.ec-all-day .ec-events,.ec-day-grid .ec-events{display:flow-root}.ec-event{background-color:var(--ec-event-bg-color);border-radius:3px;box-shadow:0 0 1px 0 var(--ec-border-color);box-sizing:border-box;color:var(--ec-event-text-color);display:flex;font-size:.85em;line-height:1.5;padding:2px;z-index:1}.ec-all-day .ec-event,.ec-day-grid .ec-event{position:relative}.ec-list .ec-event{background-color:transparent;border-radius:0;color:inherit;flex-direction:row;padding:8px 14px}.ec-event.ec-preview{opacity:.8;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:1000}.ec-event.ec-pointer{box-shadow:none;color:inherit;display:flex;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.ec-event-body{display:flex;flex-direction:column;width:100%}.ec-all-day .ec-event-body,.ec-day-grid .ec-event-body,.ec-timeline .ec-event-body{flex-direction:row}.ec-event-tag{border-radius:2px;margin-right:8px;width:4px}.ec-event-time{flex-shrink:0;margin:0 0 1px;overflow:hidden;white-space:nowrap}.ec-day-grid .ec-event-time,.ec-timeline .ec-event-time{margin:0 3px 0 0;max-width:100%;text-overflow:ellipsis}.ec-event-title{font-weight:inherit;margin:unset;overflow:hidden}.ec-all-day .ec-event-title,.ec-day-grid .ec-event-title,.ec-timeline .ec-event-title{min-height:1.5em;text-overflow:ellipsis;white-space:nowrap}.ec-list .ec-event-title{font-size:1rem}.ec-draggable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-ghost{opacity:.5;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-bg-events{position:relative}.ec-all-day .ec-bg-events,.ec-day-grid .ec-bg-events{inset:0;position:absolute}.ec-bg-event{background-color:var(--ec-bg-event-color);opacity:var(--ec-bg-event-opacity);position:absolute}.ec-all-day .ec-bg-event,.ec-day-grid .ec-bg-event{height:100%;z-index:auto}.ec-time{white-space:nowrap}.ec-popup{background-color:var(--ec-popup-bg-color);border:1px solid var(--ec-border-color);border-radius:6px;box-shadow:0 1px 3px 0 hsla(var(--ec-hs),50%,.15),0 4px 8px 3px hsla(var(--ec-hs),50%,.15);display:flex;flex-direction:column;min-width:180px;outline:1px solid transparent;padding:8px 10px 14px;position:absolute;top:0;width:110%;z-index:1010}.ec-popup .ec-day-head{display:flex;justify-content:space-between;text-align:left}.ec-popup .ec-day-head a{cursor:pointer;font-size:1.5em;line-height:.8}.ec-popup .ec-events{margin:0;min-height:0;overflow:auto}.ec-extra{height:100%;margin-left:-6.5px;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-now-indicator{border-top:2px solid var(--ec-now-indicator-color);pointer-events:none;position:absolute;width:100%;z-index:1005}.ec-now-indicator:before{background:var(--ec-now-indicator-color);border-radius:50%;content:\"\";height:12px;margin-top:-7px;pointer-events:none;position:absolute;width:12px}.ec-resizer{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ec-all-day .ec-resizer,.ec-day-grid .ec-resizer,.ec-timeline .ec-resizer{bottom:0;cursor:ew-resize;max-width:8px;right:0;top:0;width:50%}.ec-dragging{cursor:pointer!important}.ec-resizing-y{cursor:ns-resize!important}.ec-resizing-x{cursor:ew-resize!important}\r\n+\r\n+\u002F* WPB Schedules *\u002F\r\n+\r\n+#app-schedules .app-front-admin h2 {\r\n+\tmargin: 0;\r\n+}\r\n+\r\n+#app-schedules .ec-week-view .ec-event.long,\r\n+#app-schedules .ec-day-view .ec-event.long {\r\n+\tdisplay:none;\r\n+}\r\n+\r\n+.app-schedules-group {\r\n+\tposition: relative;\r\n+\tmargin-left: -20px;\r\n+}\r\n+\r\n+.app-account-page .app-schedules-group {\r\n+\tmargin-left: 0;\r\n+}\r\n+\r\n+.app-schedules-group #app-navbar {\r\n+\tz-index: 100;\r\n+\toverflow: hidden;\r\n+}\r\n+\r\n+#schedules-filter .app-dash-title {\r\n+\tdisplay: none;\r\n+}\r\n+\r\n+#schedules-filter div.app-actions {\r\n+\tjustify-content: space-around;\r\n+    gap: 10px 20px;\r\n+}\r\n+\r\n+#schedules-filter .app-filter-ms {\r\n+\twidth: 180px;\r\n+\tmax-width: 400px;\r\n+}\r\n+\r\n+#schedules-filter .app-filter-stats {\r\n+\twidth: 150px;\r\n+\tmax-width: 200px;\r\n+}\r\n+\r\n+#schedules-filter .app-filter-weekdays {\r\n+\twidth: 120px;\r\n+\tmax-width: 200px;\r\n+}\r\n+\r\n+#schedules-filter button.ui-multiselect {\r\n+\twidth: 100%;\r\n+}\r\n+\r\n+.app-filter-services.app-filter-ms {\r\n+    flex-grow: 2;\r\n+}\r\n+\r\n+.app-filter-workers.app-filter-ms {\r\n+    flex-grow: 0.5;\r\n+}\r\n+\r\n+.has-color .ui-multiselect-checkboxes label span {\r\n+    margin-right: auto;\r\n+}\r\n+\r\n+.has-color .ui-multiselect-checkboxes label {\r\n+    display: flex;\r\n+    padding: 3px 1px 3px 3px;\r\n+    text-indent: 0;\r\n+    justify-content: space-between;\r\n+}\r\n+\r\n+.has-color .ui-multiselect-checkboxes a.pickcolor {\r\n+\twidth: 20px;\r\n+\theight: 15px;\r\n+\tpadding: 0;\r\n+\tmargin-right: 3px;\r\n+\tcursor: default;\r\n+}\r\n+\r\n+.has-color .ui-multiselect-checkboxes input {\r\n+\talign-self: center;\r\n+}\r\n+\r\n+body[class*=\"schedules\"] .ui-multiselect-header.ui-widget-header,\r\n+body.app-account-schedules .ui-multiselect-header.ui-widget-header {\r\n+\tfont-size: 11px;\r\n+}\r\n+\r\n+body[class*=\"schedules\"] .ui-multiselect-header.ui-widget-header a,\r\n+body.app-account-schedules .ui-multiselect-header.ui-widget-header a {\r\n+\tdisplay: flex;\r\n+\talign-items: center;\r\n+}\r\n+\r\n+body[class*=\"schedules\"] .ui-multiselect-menu,\r\n+body.app-account-schedules .ui-multiselect-menu {\r\n+\tz-index: 1010;\r\n+}\r\n+\r\n+body[class*=\"schedules\"] .app-users-quick-book.ui-multiselect-menu,\r\n+body.app-account-schedules .app-users-quick-book.ui-multiselect-menu {\r\n+\tz-index: 10002;\r\n+\tfont-size: 11.5px;\r\n+}\r\n+\r\n+.bp-user .app-users-quick-book.ui-multiselect-menu span {\r\n+\tfont-size: 11.5px !important;\r\n+}\r\n+\r\n+#schedules-filter .app-schedule-picker {\r\n+\twidth: 120px;\r\n+}\r\n+\r\n+#schedules-filter .app-page .tablenav .actions {\r\n+    padding-right: 20px;\r\n+}\r\n+\r\n+.app-front-admin #schedules-filter div.app-actions {\r\n+\tmargin-top: 10px;\r\n+}\r\n+\r\n+.app-schedule-select.ui-widget {\r\n+\tfont-size: 13px;\r\n+}\r\n+\r\n+#schedules-filter .app-schedule-start {\r\n+\tposition: absolute;\r\n+\tz-index:101;\r\n+\topacity: 0;\r\n+\twidth: 120px;\r\n+\tfont-size: 13px;\r\n+\theight: 30px;\r\n+\tmin-height: 30px;\r\n+\tline-height: 30px;\r\n+}\r\n+\r\n+#schedules-filter .app-filter-submit-btn {\r\n+\theight: 30px;\r\n+\tmin-height: 30px;\r\n+\tline-height: 30px;\r\n+}\r\n+\r\n+#schedules-filter .app-schedule-start-alt {\r\n+\tz-index:100;\r\n+\twidth: 120px;\r\n+\tfont-size: 13px;\r\n+\theight: 30px;\r\n+\tmin-height: 30px;\r\n+\tline-height: 30px;\r\n+}\r\n+\r\n+@media screen and (max-width: 782px) {\r\n+\t#schedules-filter input {\r\n+\t\tmin-height: 30px;\r\n+\t}\r\n+}\r\n+\r\n+#app-schedules {\r\n+\t-webkit-text-size-adjust: 100%;\r\n+    -webkit-tap-highlight-color: transparent;\r\n+    font-size: 1rem;\r\n+    font-weight: 400;\r\n+    line-height: 1.5;\r\n+    color: #212529;\r\n+    text-align: left;\r\n+    background-color: transparent;\r\n+\tmargin-left: 20px;\r\n+}\r\n+\r\n+.app-account-page #app-schedules {\r\n+\tmargin-left: 0;\r\n+}\r\n+\r\n+#app-schedules .app-sched {\r\n+    position: relative;\r\n+    display: flex;\r\n+    flex-direction: column;\r\n+    min-width: 0;\r\n+    word-wrap: break-word;\r\n+    background-color: #fff;\r\n+    background-clip: border-box;\r\n+    border: 1px solid rgba(0, 0, 0, .125);\r\n+    border-radius: .25rem;\r\n+\tmargin-top: 0;\r\n+    padding: 0;\r\n+    max-width: none;\r\n+    box-shadow: none;\r\n+\tbox-sizing: border-box;\r\n+}\r\n+\r\n+#app-schedules .app-sched-body {\r\n+    flex: 1 1 auto;\r\n+    min-height: 1px;\r\n+    padding: 1.25rem;\r\n+}\r\n+\r\n+#app-schedules .ec-toolbar {\r\n+\tflex-direction: row-reverse;\r\n+}\r\n+\r\n+#app-schedules .ec-start {\r\n+    display: flex;\r\n+    flex-direction: row-reverse;\r\n+}\r\n+\r\n+#app-schedules .ec-toolbar>*>:not(:last-child) {\r\n+    margin-right: 0;\r\n+}\r\n+\r\n+#app-schedules .btn-group,\r\n+#app-schedules .btn-group-vertical {\r\n+    position: relative;\r\n+    display: inline-flex;\r\n+    vertical-align: middle;\r\n+}\r\n+\r\n+#app-schedules .btn-default:not(:disabled):not(.disabled).active,\r\n+#app-schedules .btn-default:not(:disabled):not(.disabled):active {\r\n+    color: #212529;\r\n+    background-color: rgb(229.5, 229.5, 229.5);\r\n+    border-color: rgb(169.6773255814, 180.125, 190.5726744186);\r\n+}\r\n+\r\n+#app-schedules .btn-group>.btn-group:not(:last-child)>.btn {\r\n+    border-top-right-radius: 0;\r\n+    border-bottom-right-radius: 0;\r\n+}\r\n+\r\n+#app-schedules .btn-default:hover {\r\n+    color: #212529;\r\n+    background-color: rgb(235.875, 235.875, 235.875);\r\n+    border-color: rgb(176.9418604651, 186.5, 196.0581395349);\r\n+}\r\n+\r\n+#app-schedules .btn-group-vertical>.btn,\r\n+#app-schedules .btn-group>.btn {\r\n+    position: relative;\r\n+    flex: 1 1 auto;\r\n+}\r\n+\r\n+#app-schedules .btn:hover {\r\n+    color: #212529;\r\n+    text-decoration: none;\r\n+}\r\n+\r\n+#app-schedules .btn {\r\n+    white-space: nowrap;\r\n+}\r\n+\r\n+#app-schedules .btn {\r\n+    display: inline-block;\r\n+    font-weight: 400;\r\n+    color: #212529;\r\n+    text-align: center;\r\n+    vertical-align: middle;\r\n+    -webkit-user-select: none;\r\n+    -moz-user-select: none;\r\n+    user-select: none;\r\n+    background-color: transparent;\r\n+    border: 1px solid transparent;\r\n+    padding: .375rem .75rem;\r\n+    font-size: 1rem;\r\n+    line-height: 1.5;\r\n+    border-radius: .25rem;\r\n+    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\r\n+}\r\n+\r\n+#app-schedules .btn-default {\r\n+    color: #212529;\r\n+    background-color: #fff;\r\n+    border-color: #ced4da;\r\n+}\r\n+\r\n+#app-schedules .ec .ec-toolbar>*>:not(:first-child) {\r\n+    margin-left: .75em;\r\n+}\r\n+\r\n+#app-schedules .ec .ec-toolbar>*>:not(:first-child) {\r\n+    margin-right: .75em;\r\n+}\r\n+\r\n+#app-schedules .btn:not(:disabled) {\r\n+    cursor: pointer;\r\n+}\r\n+\r\n+#app-schedules .ec .ec-toolbar>*>* {\r\n+    margin-bottom: .5em;\r\n+}\r\n+\r\n+#app-schedules .btn-default:hover {\r\n+    color: #212529;\r\n+    background-color: rgb(235.875, 235.875, 235.875);\r\n+    border-color: rgb(176.9418604651, 186.5, 196.0581395349);\r\n+}\r\n+\r\n+#app-schedules .ec-event:not(.ec-pointer) {\r\n+\tcursor: pointer;\r\n+    color: inherit;\r\n+    padding: 2px 2px 2px 5px;\r\n+    border-radius: 8px;\r\n+\tborder: 1px solid #f0f0f0;\r\n+\tbox-shadow: -.5px 0 0 #f0f0f0;\r\n+    overflow: hidden;\r\n+    display: flex;\r\n+}\r\n+\r\n+#app-schedules .ec-week-view .ec-event,\r\n+#app-schedules .ec-day-view .ec-event {\r\n+\t\u002F* font-size: 12px; *\u002F\r\n+}\r\n+\r\n+#app-schedules .ec-month-view .ec-event:not(.ec-pointer) {\r\n+\toutline: 2px solid #f0f0f0;\r\n+}\r\n+\r\n+#app-schedules .ec-events {\r\n+\tcursor: cell;\r\n+}\r\n+\r\n+#app-schedules .ec:not(.ec-month-view) .ec-events {\r\n+\tmargin-right: 0;\r\n+}\r\n+\r\n+#app-schedules .ec-month-view .ec-event,\r\n+#app-schedules .ec-week-view:not(.ec-list) .ec-event.long,\r\n+#app-schedules .ec-day-view:not(.ec-list) .ec-event.long,\r\n+#app-schedules .ec-timeline .ec-event {\r\n+\tmax-height: 48px;\r\n+}\r\n+\r\n+#app-schedules .ec-month-view .ec-event {\r\n+\tleft: 3px;\r\n+}\r\n+\r\n+#app-schedules .ec-month-view .ec-events:not(.ec-preview) .ec-event:hover,\r\n+#app-schedules .ec-week-view .ec-events:not(.ec-preview) .ec-event.long:hover,\r\n+#app-schedules .ec-day-view .ec-events:not(.ec-preview) .ec-event.long:hover {\r\n+\tmax-height: 100%;\r\n+}\r\n+\r\n+#app-schedules .ec:not(.ec-timeline) .ec-events:not(.ec-preview) .ec-event:hover {\r\n+    height: auto !important;\r\n+    z-index: 99 !important;\r\n+}\r\n+\r\n+#app-schedules .ec:not(.ec-timeline) .ec-events:not(.ec-preview) .ec-event:not(.long):hover {\r\n+\twidth: max(100% , 144px) !important;\r\n+}\r\n+\r\n+#app-schedules .ec:not(.ec-timeline) .ec-events:not(.ec-preview) .ec-event.long:hover {\r\n+\tmin-width: 144px !important;\r\n+}\r\n+\r\n+#app-schedules .ec.ec-timeline .ec-events.ec-preview .ec-event:hover {\r\n+\twidth: 100% !important;\r\n+}\r\n+\r\n+#app-schedules .ec-timeline .ec-event:hover {\r\n+\tmax-height: unset;\r\n+}\r\n+\r\n+#app-schedules .ec-timeline .ec-event:not(.long):hover {\r\n+\twidth: 144px !important;\r\n+}\r\n+\r\n+#app-schedules .ec-resource,\r\n+#app-schedules .ec-timeline .ec-events {\r\n+    min-height: 48px;\r\n+}\r\n+\r\n+#app-schedules .ec-resource,\r\n+#app-schedules .ec-timeline .ec-days {\r\n+\tflex-basis: 50px !important;\r\n+}\r\n+\r\n+#app-schedules .ec-event-body {\r\n+\tdisplay: block;\r\n+}\r\n+\r\n+#app-schedules .ec-event-time {\r\n+    position: relative;\r\n+    font-weight: 700;\r\n+    line-height: 1.3em;\r\n+\tmargin: 0 3px 0 0;\r\n+    max-width: 100%;\r\n+    text-overflow: ellipsis;\r\n+}\r\n+\r\n+#app-schedules .ec-event-title {\r\n+    position: relative;\r\n+    position: sticky;\r\n+    line-height: 1.3em;\r\n+\tmin-height: 1.5em;\r\n+    text-overflow: ellipsis;\r\n+    white-space: nowrap;\r\n+}\r\n+\r\n+#app-schedules .ec-month-view .ec-event-time,\r\n+#app-schedules .ec-month-view .ec-event-title,\r\n+#app-schedules .ec-resource-day-view .ec-event-time,\r\n+#app-schedules .ec-resource-day-view .ec-event-title {\r\n+\tline-height: 1.5em;\r\n+}\r\n+\r\n+#app-schedules .ec-week-view .ec-event-time,\r\n+#app-schedules .ec-week-view .ec-event-title {\r\n+\tline-height: 1.65em;\r\n+}\r\n+\r\n+#app-schedules .ec-timeline .ec-body {\r\n+\toverflow-x: visible;\r\n+\toverflow-y: hidden;\r\n+}\r\n+\r\n+.app-js-schedules .ec-bg-event {\r\n+\tcursor: not-allowed;\r\n+}\r\n+\r\n+#app-schedules .ec-pointer,\r\n+.app-js-schedules .ec-extra {\r\n+    cursor: cell !important;\r\n+}\r\n+\r\n+#app-schedules .ec-resource span {\r\n+\tpadding-top: 0;\r\n+}\r\n+\r\n+#app-schedules .ec-resource > span {\r\n+\tdisplay: flex;\r\n+    justify-content: space-between;\r\n+\tgap: 5px;\r\n+\twidth: 100%;\r\n+\tmax-width: 200px;\r\n+\tmargin: auto;\r\n+\tpadding-top: 4px;\r\n+}\r\n+\r\n+#app-schedules .ec-resource .app-ec-title {\r\n+    max-width: 150px;\r\n+    line-height: 18px;\r\n+\talign-self: center;\r\n+}\r\n+\r\n+#app-schedules .app-ec-img img.avatar {\r\n+\tborder-radius: 5px;\r\n+}\r\nOnly in \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fcss: stripe.css\nOnly in \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fcss: updating.css\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Fbase-admin.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Fbase-admin.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Fbase-admin.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Fbase-admin.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -555,7 +555,7 @@\n \n \t\twpb_admin_access_check( 'manage_tools' );\n \t?>\n-\u003Cdiv class=\"wrap app-tools\">\n+\u003Cdiv class=\"wrap app-page app-tools\">\n \t\u003Ch2 class=\"app-dashicons-before dashicons-admin-tools\">\u003C?php echo __('Tools', 'wp-base' ); ?>\u003C\u002Fh2>\n \t\u003Ch3 class=\"nav-tab-wrapper\">\u003C?php\n \ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Fbookings.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Fbookings.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Fbookings.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Fbookings.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -1488,7 +1488,7 @@\n \t\t\u002F* Services *\u002F\r\n \t\t$html .= wpb_wrap_field( 'service',\r\n \t\t\t$booking->is_event() ? __('Event', 'wp-base') : __('Service', 'wp-base'),\r\n-\t\t\t$controller->select_service( !$app_id ),\r\n+\t\t\t$controller->select_service( false, !$app_id ),\r\n \t\t\tapply_filters( 'app_inline_edit_service_helptip', '', $booking, $controller )\r\n \t\t);\r\n \r\n@@ -1993,7 +1993,7 @@\n \r\n \t\t$out = array(\r\n \t\t\t'locations_sel'\t\t=> $controller->select_location(),\r\n-\t\t\t'services_sel'\t\t=> $controller->select_service( ! $app_id ),\r\n+\t\t\t'services_sel'\t\t=> $controller->select_service( false, ! $app_id ),\r\n \t\t\t'workers_sel'\t\t=> wpb_is_admin_user() ? $controller->select_worker() : $controller->select_self_worker(),\r\n \t\t);\r\n \r\n@@ -2014,7 +2014,7 @@\n \t\t\t$out\t= array_merge( $out, array( 'price' => $slot->get_subtotal() + $slot->get_fee(), 'deposit' => $slot->get_deposit() ) );\r\n \t\t}\r\n \r\n-\t\t$out = apply_filters( 'app_inline_edit_update', $out, $booking, $old_booking, $controller, $this );\r\n+\t\t$out = apply_filters( 'app_inline_edit_update', $out, $booking, $old_booking, $controller );\r\n \r\n \t\tdie( json_encode( $out ) );\r\n \t}\r\n@@ -2123,7 +2123,7 @@\n \t\t\t$booking->check_update( $old_booking );\r\n \t\t}\r\n \r\n-\t\tdo_action( 'app_inline_edit_save_before_save', $booking, $old_booking, $this );\r\n+\t\tdo_action( 'app_inline_edit_save_before_save', $booking, $old_booking );\r\n \r\n \t\t$updated = $inserted = null;\r\n \t\t$changed = false;\r\n@@ -2170,12 +2170,12 @@\n \t\t\t$changed = true;\r\n \t\t}\r\n \r\n-\t\t$changed = apply_filters( 'app_inline_edit_save', $changed, $booking, $old_booking, $this );\r\n+\t\t$changed = apply_filters( 'app_inline_edit_save', $changed, $booking, $old_booking );\r\n \r\n \t\tif ( $updated ) {\r\n-\t\t\tdo_action( 'app_inline_edit_updated', $booking, $old_booking, $this );\r\n+\t\t\tdo_action( 'app_inline_edit_updated', $booking, $old_booking );\r\n \t\t} else if ( $inserted ) {\r\n-\t\t\tdo_action( 'app_inline_edit_new_booking', $booking, $old_booking, $this );\r\n+\t\t\tdo_action( 'app_inline_edit_new_booking', $booking, $old_booking );\r\n \t\t}\r\n \r\n \t\t$email_sent = $this->send_email( $booking );\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Ffunctions-admin.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Ffunctions-admin.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Ffunctions-admin.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Ffunctions-admin.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -22,10 +22,16 @@\n  * @return object\tWpB_Controller object\r\n  *\u002F\r\n function wpb_prepare_booking( &$booking ) {\r\n+\t\r\n+\tif ( wpb_is_admin_user() ) {\r\n+\t\t$hier_forced = false;\r\n+\t} else {\r\n+\t\t$hier_forced = str_replace( 'W', '', wpb_setting( 'lsw_priority', WPB_DEFAULT_LSW_PRIORITY ) ) == 'LS' ? 'WLS' : 'WSL';\r\n+\t}\r\n \r\n \tif ( $booking->get_ID() ) {\r\n-\t\t$hier_forced = str_replace( 'W', '', wpb_setting( 'lsw_priority', WPB_DEFAULT_LSW_PRIORITY ) ) == 'LS' ? 'WLS' : 'WSL';\r\n-\t\t$controller = new WpB_Controller( $booking, wpb_controller_order_by( $booking ), ( wpb_is_admin_user() ? false : $hier_forced ) );\r\n+\t\t\r\n+\t\t$controller = new WpB_Controller( $booking, wpb_controller_order_by( $booking ), $hier_forced );\r\n \t} else {\r\n \t\tif ( ! empty( $_REQUEST['add_new_event'] ) ) {\r\n \t\t\t$booking->set_as_event();\r\n@@ -42,7 +48,7 @@\n \t\t\t$booking->set_status( 'confirmed' );\r\n \t\t\t$booking->set_payment_method('');\r\n \r\n-\t\t\t$controller = new WpB_Controller( $booking, wpb_controller_order_by( $booking ) );\r\n+\t\t\t$controller = new WpB_Controller( $booking, wpb_controller_order_by( $booking ), $hier_forced );\r\n \t\t} else { \u002F* Add New *\u002F\r\n \t\t\t$controller = wpb_init_controller();\r\n \r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Fglobal-settings.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Fglobal-settings.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Fglobal-settings.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Fglobal-settings.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -43,6 +43,14 @@\n \t}\r\n \r\n \t\u002F**\r\n+\t * Get a list of editable fields keys\r\n+\t * @return array\r\n+\t *\u002F\r\n+\tpublic static function editable_fields() {\r\n+\t\treturn apply_filters( 'app_editable_fields_selections', array_merge( array('location','service','worker','date','time'), BASE()->get_user_fields() ) );\r\n+\t}\r\n+\r\n+\t\u002F**\r\n      * Save admin settings\r\n      *\u002F\r\n \tpublic function save_settings() {\r\n@@ -87,6 +95,20 @@\n \t\t\t$options['cancel_limit'] \t\t\t\t= preg_replace( '\u002F[^0-9]\u002F', '', $_POST['cancel_limit'] );\r\n \t\t\t$options['cancel_page'] \t\t\t\t= isset( $_POST['cancel_page'] ) ? $_POST['cancel_page'] : '';\r\n \r\n+\t\t\t$options['allow_edit'] \t\t\t\t\t= $_POST['allow_edit'];\r\n+\t\t\t$options['edit_limit'] \t\t\t\t\t= preg_replace( '\u002F[^0-9]\u002F', '', $_POST['edit_limit'] );\r\n+\t\t\t$options['edit_upper_limit'] \t\t\t= preg_replace( '\u002F[^0-9]\u002F', '', $_POST['edit_upper_limit'] );\r\n+\r\n+\t\t\t\u002F* Which fields can be edited *\u002F\r\n+\t\t\t$temp = array();\r\n+\t\t\tforeach ( self::editable_fields() as $m ) {\r\n+\t\t\t\tif ( isset( $_POST['editable_'.$m ] ) ) {\r\n+\t\t\t\t\t$temp[] = $m;\r\n+\t\t\t\t}\r\n+\t\t\t}\r\n+\r\n+\t\t\t$options[\"editable\"] = implode( ',', $temp );\r\n+\r\n \t\t} else if ( 'save_global_advanced' == $_POST['action_app'] ) {\r\n \t\t\t$settings_changed = true;\r\n \r\n@@ -111,6 +133,7 @@\n \t\t\t\t\t\t\t\t\t\t\t\t\t  : $_POST['description_post_type'];\r\n \t\t\t$options['person_type_template']\t\t= wp_unslash( $_POST['person_type_template'] );\r\n \t\t\t$options['refresh_url']\t\t\t\t\t= trim( $_POST['refresh_url'] );\r\n+\t\t\t$options['account_page']\t\t\t\t= $_POST['account_page'];\r\n \r\n \t\t\t$options['auto_delete']\t\t\t\t\t= $_POST['auto_delete'];\r\n \t\t\t$options['auto_delete_time']\t\t\t= preg_replace( '\u002F[^0-9]\u002F', '', $_POST['auto_delete_time'] );\r\n@@ -120,10 +143,13 @@\n \t\t\t$options['admin_toolbar']\t\t\t\t= $_POST['admin_toolbar'];\r\n \t\t\t$options['records_per_page']\t\t\t= preg_replace( '\u002F[^0-9]\u002F', '',  $_POST['records_per_page'] );\r\n \t\t\t$options['records_per_page_business']\t= preg_replace( '\u002F[^0-9]\u002F', '',  $_POST['records_per_page_business'] );\r\n-\t\t\t$options['schedule_show_images']\t\t= $_POST['schedule_show_images'];\r\n \t\t\t$options['schedule_allowed_stats']\t\t= ! empty( $_POST['schedule_allowed_stats'] ) ? implode( ',', $_POST['schedule_allowed_stats'] ) : '';\r\n+\t\t\t$options['schedule_allowed_stats_client']\t= ! empty( $_POST['schedule_allowed_stats_client'] ) ? implode( ',', $_POST['schedule_allowed_stats_client'] ) : '';\r\n \t\t\t$options['schedule_desc_admin']\t\t\t= wp_unslash( $_POST['schedule_desc_admin'] );\r\n \t\t\t$options['schedule_desc_worker']\t\t= wp_unslash( $_POST['schedule_desc_worker'] );\r\n+\t\t\t$options['schedule_desc_client']\t\t= wp_unslash( $_POST['schedule_desc_client'] );\r\n+\t\t\t$options['schedule_client_can']\t\t\t= $_POST['schedule_client_can'];\r\n+\t\t\t$options['schedule_show_images']\t\t= $_POST['schedule_show_images'];\r\n \r\n \t\t\tdo_action( 'app_global_settings_maybe_updated' );\r\n \r\n@@ -177,6 +203,16 @@\n \t\t\twpb_notice( 'saved' );\r\n \t\t\t$this->settings_changed( $old_options, $options );\r\n \t\t}\r\n+\r\n+\t\tif ( ! empty( $_POST['schedule_clear_cache'] ) && 'yes' == $_POST['schedule_clear_cache'] ) {\r\n+\t\t\tforeach ( array( 'admin', 'worker', 'client' ) as $context ) {\r\n+\t\t\t\twpb_schedules_delete_transients( $context );\r\n+\t\t\t}\r\n+\r\n+\t\t\tdelete_transient( 'wpbase_schedule_data' );\r\n+\r\n+\t\t\twpb_notice( __( 'Schedules cache cleared', 'wp-base' ) );\r\n+\t\t}\r\n \t}\r\n \r\n \t\u002F**\r\n@@ -234,6 +270,18 @@\n \t\tif ( ! empty( $old_options['min_time'] ) && $old_options['min_time'] != $options['min_time'] ) {\r\n \t\t\twp_reschedule_event( strtotime( current_time( 'Y-m-d' ) ) - 24*3600, 'wpb_time_base_tick', 'app_time_base_tick' );\r\n \t\t}\r\n+\r\n+\t\tif ( $options['schedule_desc_admin'] != $old_options['schedule_desc_admin'] ) {\r\n+\t\t\twpb_schedules_delete_transients( 'admin' );\r\n+\t\t}\r\n+\r\n+\t\tif ( $options['schedule_desc_worker'] != $old_options['schedule_desc_worker'] ) {\r\n+\t\t\twpb_schedules_delete_transients( 'worker' );\r\n+\t\t}\r\n+\r\n+\t\tif ( empty( $old_options['schedule_desc_client'] ) || $options['schedule_desc_client'] != $old_options['schedule_desc_client'] ) {\r\n+\t\t\twpb_schedules_delete_transients( 'client' );\r\n+\t\t}\r\n \t}\r\n \r\n \t\u002F**\r\n@@ -422,8 +470,45 @@\n \t\t\t\t\u003C\u002Fdiv>\r\n \t\t\t\u003C\u002Fdiv>\r\n \r\n+\t\t\t\u003Cp class=\"submit\">\r\n+\t\t\t\t\u003Cinput type=\"submit\" class=\"button-primary\" value=\"\u003C?php _e('Save All Basic Settings', 'wp-base' ) ?>\" \u002F>\r\n+\t\t\t\u003C\u002Fp>\r\n+\r\n \t\t\t\u003C?php do_action( 'app_admin_settings_after_booking' ) ?>\r\n \r\n+\t\t\t\u003Cdiv class=\"postbox\">\r\n+\t\t\t\t\u003Cdiv class=\"postbox-header\">\r\n+\t\t\t\t\t\u003Ch3 class=\"hndle\" id=\"front-end-edit\">\u003Cspan>\u003C?php _e('Editing & Rescheduling', 'wp-base'); ?>\u003C\u002Fspan>\u003C\u002Fh3>\r\n+\t\t\t\t\u003C\u002Fdiv>\r\n+\t\t\t\t\u003Cdiv class=\"inside\">\r\n+\t\t\t\t\t\u003Ctable class=\"form-table\">\r\n+\r\n+\t\t\t\t\t\t\u003C?php wpb_setting_yn( 'allow_edit' ) ?>\r\n+\t\t\t\t\t\t\u003C?php wpb_setting_text( 'edit_limit' ) ?>\r\n+\t\t\t\t\t\t\u003C?php wpb_setting_text( 'edit_upper_limit' ) ?>\r\n+\r\n+\t\t\t\t\t\t\u003Ctr id=\"editable\">\r\n+\t\t\t\t\t\t\t\u003Cth scope=\"row\" >\u003C?php WpBConstant::echo_setting_name('editable') ?>\u003C\u002Fth>\r\n+\t\t\t\t\t\t\t\u003Ctd class=\"has-checkbox\">\r\n+\t\t\t\t\t\t\t\u003C?php foreach ( self::editable_fields() as $m ) { ?>\r\n+\t\t\t\t\t\t\t\t\u003Clabel>\r\n+\t\t\t\t\t\t\t\t\u003Cinput type=\"checkbox\" name=\"editable_\u003C?php echo $m ?>\" value=\"true\" \u003C?php if ( strpos( wpb_setting(\"editable\"), $m ) !== false ) echo \"checked='checked'\"?>>\r\n+\t\t\t\t\t\t\t\t\u003Cspan>\r\n+\t\t\t\t\t\t\t\t\u003C?php\r\n+\t\t\t\t\t\t\t\t\techo wpb_get_text($m);\r\n+\t\t\t\t\t\t\t\t?>\u003C\u002Fspan>\r\n+\t\t\t\t\t\t\t\t\u003C\u002Flabel>\r\n+\t\t\t\t\t\t\t\u003C?php } ?>\r\n+\t\t\t\t\t\t\t\u003Cbr>\u003Cspan class=\"description app-btm\">\u003C?php WpBConstant::echo_setting_desc('editable') ?>\u003C\u002Fspan>\r\n+\t\t\t\t\t\t\t\u003C\u002Ftd>\r\n+\t\t\t\t\t\t\u003C\u002Ftr>\r\n+\r\n+\t\t\t\t\t\u003C\u002Ftable>\r\n+\t\t\t\t\u003C\u002Fdiv>\r\n+\t\t\t\u003C\u002Fdiv>\r\n+\r\n+\t\t\t\u003C?php do_action( 'app_admin_settings_after_editing' ) ?>\r\n+\r\n \t\t\t\u003Cdiv class=\"submit app-manage-row\">\r\n \t\t\t\t\u003Cinput type=\"hidden\" name=\"action_app\" value=\"save_general\" \u002F>\r\n \t\t\t\t\u003C?php wp_nonce_field( 'update_app_settings', 'app_nonce', true ) ?>\r\n@@ -536,6 +621,24 @@\n \t\t\t\t\t\t\t\u003C\u002Ftd>\r\n \t\t\t\t\t\t\u003C\u002Ftr>\r\n \r\n+\t\t\t\t\t\t\u003Ctr id=\"schedule-desc-client\">\r\n+\t\t\t\t\t\t\t\u003Cth scope=\"row\">\u003C?php WpBConstant::echo_setting_name( 'schedule_desc_client' ) ?>\u003C\u002Fth>\r\n+\t\t\t\t\t\t\t\u003Ctd>\r\n+\t\t\t\t\t\t\u003C?php wp_editor( wpb_setting( 'schedule_desc_client', WpBConstant::$_schedule_desc_client ), 'schedule_desc_client',\r\n+\t\t\t\t\t\t\t\tarray( 'editor_height'\t=> WPB_EDITOR_HEIGHT,\r\n+\t\t\t\t\t\t\t\t\t\t'editor_class'\t=> 'app-wp-editor',\r\n+\t\t\t\t\t\t\t\t\t\t'editor_css'\t=> '',\r\n+\t\t\t\t\t\t\t\t\t\t'tinymce'\t\t=> array( 'body_class' => 'app-editor-body' ),\r\n+\t\t\t\t\t\t\t\t\t\t'teeny'\t\t\t=> true,\r\n+\t\t\t\t\t\t\t\t\t\t'wpautop'\t\t=> false,\r\n+\t\t\t\t\t\t\t\t\t\t'media_buttons'\t=> false,\r\n+\t\t\t\t\t\t\t\t));\r\n+\r\n+\t\t\t\t\t\t\t do_action( 'app_admin_after_schedule_desc', 'client' ); ?>\r\n+\t\t\t\t\t\t\t \u003Cspan class=\"description app-btm\">\u003C?php WpBConstant::echo_setting_desc( 'schedule_desc_client' ) ?>\u003C\u002Fspan>\r\n+\t\t\t\t\t\t\t\u003C\u002Ftd>\r\n+\t\t\t\t\t\t\u003C\u002Ftr>\r\n+\r\n \t\t\t\t\t\t\u003Ctr id=\"schedule-allowed-stats\">\r\n \t\t\t\t\t\t\t\u003Cth scope=\"row\" >\u003C?php WpBConstant::echo_setting_name('schedule_allowed_stats') ?>\u003C\u002Fth>\r\n \t\t\t\t\t\t\t\u003Ctd>\r\n@@ -551,7 +654,26 @@\n \t\t\t\t\t\t\t\u003C\u002Ftd>\r\n \t\t\t\t\t\t\u003C\u002Ftr>\r\n \r\n-\t\t\t\t\t\t\u003C?php wpb_setting_yn( 'schedule_show_images' ); ?>\r\n+\t\t\t\t\t\t\u003Ctr id=\"schedule-allowed-stats-client\">\r\n+\t\t\t\t\t\t\t\u003Cth scope=\"row\" >\u003C?php WpBConstant::echo_setting_name('schedule_allowed_stats_client') ?>\u003C\u002Fth>\r\n+\t\t\t\t\t\t\t\u003Ctd>\r\n+\t\t\t\t\t\t\t\t\u003Cselect multiple data-noneSelectedText=\"\u003C?php echo esc_attr( __('Select statuses', 'wp-base' ) ) ?>\" data-selectedlist=\"12\" name=\"schedule_allowed_stats_client[]\" class=\"app_ms\">\r\n+\t\t\t\t\t\t\t\u003C?php\r\n+\t\t\t\t\t\t\t\t$stat_arr = explode( ',', wpb_setting( 'schedule_allowed_stats_client', 'paid,confirmed,pending,running,completed,removed' ) );\r\n+\t\t\t\t\t\t\t\tforeach( $this->a->get_statuses() as $key => $stat ) {\r\n+\r\n+\t\t\t\t\t\t\t\t\techo '\u003Coption value=\"'.$key.'\" '.selected( in_array( $key, $stat_arr ), true, false ) .'>' . $this->a->get_status_name( $key ) . '\u003C\u002Foption>';\r\n+\t\t\t\t\t\t\t\t}\r\n+\t\t\t\t\t\t\t ?>\u003C\u002Fselect>\r\n+\t\t\t\t\t\t\t\u003Cspan class=\"description app-btm\">\u003C?php WpBConstant::echo_setting_desc('schedule_allowed_stats_client') ?>\u003C\u002Fspan>\r\n+\t\t\t\t\t\t\t\u003C\u002Ftd>\r\n+\t\t\t\t\t\t\u003C\u002Ftr>\r\n+\r\n+\t\t\t\t\t\t\u003C?php\r\n+\t\t\t\t\t\twpb_setting_yn( 'schedule_client_can' );\r\n+\t\t\t\t\t\twpb_setting_yn( 'schedule_show_images' );\r\n+\t\t\t\t\t\twpb_setting_yn( 'schedule_clear_cache' );\r\n+\t\t\t\t\t\t?>\r\n \r\n \t\t\t\t\t\u003C\u002Ftable>\r\n \t\t\t\t\u003C\u002Fdiv>\r\n@@ -612,6 +734,18 @@\n \t\t\t\t\t\t\t\u003C\u002Ftd>\r\n \t\t\t\t\t\t\u003C\u002Ftr>\r\n \r\n+\t\t\t\t\t\t\u003Ctr id=\"account-page\">\r\n+\t\t\t\t\t\t\t\u003Cth scope=\"row\">\u003C?php WpBConstant::echo_setting_name('account_page') ?>\u003C\u002Fth>\r\n+\t\t\t\t\t\t\t\u003Ctd>\r\n+\t\t\t\t\t\t\t\u003Cselect name=\"account_page\">\r\n+\t\t\t\t\t\t\t\u003C?php\r\n+\t\t\t\t\t\t\techo wpb_description_page_selection( 'page', wpb_setting( 'account_page' ) );\r\n+\t\t\t\t\t\t\t?>\r\n+\t\t\t\t\t\t\t\u003C\u002Fselect>\r\n+\t\t\t\t\t\t\t\u003Cspan class=\"description app-btm\">\u003C?php WpBConstant::echo_setting_desc('account_page') ?>\u003C\u002Fspan>\r\n+\t\t\t\t\t\t\t\u003C\u002Ftd>\r\n+\t\t\t\t\t\t\u003C\u002Ftr>\r\n+\r\n \t\t\t\t\t\u003C\u002Ftable>\r\n \t\t\t\t\u003C\u002Fdiv>\r\n \t\t\t\u003C\u002Fdiv>\r\nOnly in \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin: service-rte.php\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Fservices-list.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Fservices-list.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Fservices-list.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Fservices-list.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -62,6 +62,7 @@\n \t public function __construct() {\r\n \t\t$this->a = BASE();\r\n \t\t$this->table = $this->a->services_table;\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Fadmin\u002Fservice-rte.php';\r\n \t}\r\n \r\n \t\u002F**\r\n@@ -1559,6 +1560,8 @@\n \t\t\t'\u003Cinput type=\"hidden\" name=\"service_description_check\" value=\"1\"\u002F>', $service->get_ID(), 'service_description', 'textarea' ),\r\n \t\t__( 'Optional description text for the service.', 'wp-base' ) );\r\n \t\t\r\n+\t\tdo_action( 'app_service_inline_edit_after_description', $service );\r\n+\t\t\r\n ?>\u003C\u002Fdiv>\u003C?php\r\n \r\n \tif ( apply_filters( 'app_service_inline_edit_show_image', true, $service ) ) { ?>\r\n@@ -1763,6 +1766,12 @@\n \t\t\t\t$changed = true;\r\n \t\t\t}\r\n \t\t}\r\n+\t\t\r\n+\t\tif ( ! empty( $_POST['rte_content_check'] ) ) {\r\n+\t\t\tif ( $service->update_rte_content( ! empty( $_POST['rte_content'] ) ? wp_kses_post( $_POST['rte_content'] ) : '' ) ) {\r\n+\t\t\t\t$changed = true;\r\n+\t\t\t}\r\n+\t\t}\t\t\r\n \r\n \t\tif ( ! empty( $_POST['service_image_check'] ) ) {\r\n \t\t\tif ( $service->update_image_url( ! empty( $_POST['service_image_url']) ? wpb_clean( trim( $_POST['service_image_url'] ) ) : '' ) ) {\r\n@@ -2274,6 +2283,8 @@\n \t\t\t\towner_check: par.find(\"input[name='owner_check']\").val(),\r\n \t\t\t\tservice_description: par.find(\"textarea[name='service_description']\").val(),\r\n \t\t\t\tservice_description_check: par.find(\"input[name='service_description_check']\").val(),\r\n+\t\t\t\trte_content: par.find(\".rte_content\").html(),\r\n+\t\t\t\trte_content_check: par.find(\"input[name='rte_content_check']\").val(),\t\t\t\t\r\n \t\t\t\tservice_image_url: par.find(\"input[name='service_image_url']\").val(),\r\n \t\t\t\tservice_image_id: par.find(\"input[name='service_image_id']\").val(),\r\n \t\t\t\tservice_image_check: par.find(\"input[name='service_image_check']\").val(),\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Ftransactions.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Ftransactions.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fadmin\u002Ftransactions.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fadmin\u002Ftransactions.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -575,7 +575,7 @@\n \t\t\u003C\u002Fselect>\r\n \t\t\u003C?php\r\n \r\n-\t\tif ( $loc_ids = wpb_front_admin_loc_ids() ) {\r\n+\t\tif ( ! wpb_is_client() && $loc_ids = wpb_front_admin_loc_ids() ) {\r\n \t\t\t$add_class = $filt['location_id'] ? 'class=\"app-option-selected\"' : '';\r\n \t\t?>\r\n \t\t\t\u003Cselect name=\"app_location_id\" \u003C?php echo $add_class ?>>\r\n@@ -593,7 +593,9 @@\n \t\t\u003Cselect name=\"app_service_id\" \u003C?php echo $add_class ?>>\r\n \t\t\t\u003Coption value=\"\">\u003C?php _e('Filter by service','wp-base'); ?>\u003C\u002Foption>\r\n \t\t\u003C?php\r\n-\t\tforeach ( wpb_front_admin_services() as $service ) {\r\n+\t\t$services = wpb_is_client() ? wpb_client_services() : wpb_front_admin_services();\r\n+\t\t\r\n+\t\tforeach ( $services as $service ) {\r\n \t\t\techo '\u003Coption '.selected( $filt['service_id'], $service->ID ).' value=\"'.$service->ID.'\">'. $this->a->get_service_name( $service->ID ) .'\u003C\u002Foption>';\r\n \t\t}\r\n \t\t?>\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fassets.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fassets.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fassets.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fassets.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -46,35 +46,35 @@\n \r\n \t\tadd_action( 'app_shortcode_found', array( $this, 'request_load' ) );\r\n \t\tadd_action( 'app_load_assets', array( $this, 'request_load' ) );\r\n-\t\t\r\n+\r\n \t\tadd_filter( 'do_shortcode_tag', array( $this, 'do_shortcode_tag' ), 10, 2 );\r\n-\t\t\r\n+\r\n \t\tadd_action( 'template_redirect', array( $this, 'template_redirect' ) );\r\n \t}\r\n-\t\r\n+\r\n \t\u002F**\r\n      * Find post object for non-single posts\r\n \t * Get cart values and remaining time before headers sent\r\n      *\u002F\r\n \tpublic function template_redirect() {\r\n-\t\r\n+\r\n \t\tif ( is_author() ) {\r\n \t\t\tglobal $wp_query;\r\n \t\t\t$this->author_id = $wp_query->queried_object_id;\r\n \t\t}\r\n-\t\r\n+\r\n \t\tglobal $wp_the_query;\r\n-\t\t\r\n+\r\n \t\tif ( ! is_callable( array( $wp_the_query, 'get_queried_object' ) ) ) {\r\n \t\t\treturn;\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\t$current_object = $wp_the_query->get_queried_object();\r\n-\t\t\r\n+\r\n \t\tif ( empty( $current_object ) ) {\r\n \t\t\treturn;\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\t$this->current_post_id = ! empty( $current_object->ID ) ? $current_object->ID : 0;\r\n \r\n \t\tif ( ! headers_sent() ) {\r\n@@ -124,11 +124,6 @@\n \t\twp_register_script( 'jquery-app-qtip', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002Fjquery.qtip.min.js', array('jquery'), $this->ver() );\r\n \t\twp_register_script( 'jquery-blockui', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002Fjquery.blockUI.js', array('jquery'), $this->ver() );\r\n \t\twp_register_script( 'wp-base-countdown', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002Fjquery.countdown.min.js', array('jquery','jquery-plugin'), $this->ver() );\r\n-\t\twp_register_script( 'jquery-datatables', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002Fjquery.dataTables.min.js', array('jquery-ui-core'), $this->ver() );\r\n-\t\twp_register_script( 'jquery-datatables-jqueryui', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002FdataTables.jqueryui.min.js', array('jquery-datatables'), $this->ver() );\r\n-\t\twp_register_script( 'jquery-datatables-jqueryui-responsive', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002Fresponsive.jqueryui.min.js', array('jquery-datatables-jqueryui','jquery-datatables-responsive'), $this->ver() );\r\n-\t\twp_register_script( 'jquery-datatables-moment', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002Fmoment.min.js', array('jquery-datatables'), $this->ver() );\r\n-\t\twp_register_script( 'jquery-datatables-responsive', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002FdataTables.responsive.min.js', array('jquery-datatables'), $this->ver() );\r\n \t\twp_register_script( 'jquery-plugin', WPB_PLUGIN_URL . '\u002Fjs\u002Fmobile\u002Fjquery.plugin.min.js', array('jquery'), $this->ver() );\r\n \t\twp_register_script( 'jquery-qtip', WPB_PLUGIN_URL . \"\u002Fjs\u002Fdev\u002Fjquery.qtip.min.js\", array('jquery'), $this->ver() );\r\n \t\twp_register_script( 'jquery-quickfit', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002Fjquery.quickfit.js', array('jquery'), $this->ver() );\r\n@@ -138,40 +133,31 @@\n \t\twp_register_script( 'jstz', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002Fjstz.min.js', array(), $this->ver() );\r\n \t\twp_register_script( 'app-event-calendar', WPB_PLUGIN_URL . '\u002Fjs\u002Fdev\u002Fevent-calendar.min.js', array('jquery'), $this->ver() );\r\n \t\twp_register_script( 'app-schedules', WPB_PLUGIN_URL . '\u002Fjs\u002Fschedules.js', array('app-event-calendar'), $this->ver() );\r\n-\t\twp_register_style( 'app-schedules', WPB_PLUGIN_URL . '\u002Fcss\u002Fschedules.css', array(), $this->ver() );\r\n-\t\twp_register_style( 'wp-base-admin-front', WPB_PLUGIN_URL . '\u002Fcss\u002Ffront-admin.css', array(), WPB_VERSION );\r\n \t\twp_register_script( 'wp-base-common-scripts', WPB_PLUGIN_URL . '\u002Fjs\u002Fcommon-scripts.js', array('jquery-ui-core','jquery-ui-widget', 'jquery-ui-position'), $this->ver(), true );\r\n \t\twp_register_script( 'wp-base-libs', WPB_PLUGIN_URL . '\u002Fjs\u002Flibs.js', array('jquery-ui-widget','jquery-ui-button','jquery-ui-datepicker'), $this->ver(), true );\r\n+\t\twp_register_script( 'wp-base-datatables', WPB_PLUGIN_URL . '\u002Fjs\u002Fapp-datatables.js', array('jquery'), $this->ver(), true );\r\n+\r\n+\t\twp_register_style( 'app-schedules', WPB_PLUGIN_URL . '\u002Fcss\u002Fschedules.css', array(), $this->ver() );\r\n+\t\twp_register_style( 'wp-base-admin-front', WPB_PLUGIN_URL . '\u002Fcss\u002Ffront-admin.css', array(), $this->ver() );\r\n+\t\twp_register_style( 'wp-base-panels', WPB_PLUGIN_URL . '\u002Fcss\u002Fpanels.css', array(), $this->ver() );\r\n+\t\twp_register_style( 'wp-base-admin', WPB_PLUGIN_URL . '\u002Fcss\u002Fadmin.css', array(), $this->ver() );\r\n+\t\twp_register_style( 'wp-base-stripe', WPB_PLUGIN_URL . '\u002Fcss\u002Fstripe.css', array(), $this->ver() );\r\n \t}\r\n \r\n \t\u002F**\r\n-     * Register moment locale for non English websites\r\n+     * Register moment locale for non English websites - Deprecated\r\n \t * @since 3.6.2\r\n+\t * @until 6.0.0\r\n \t * @return string\t\tHandle of the script to be used as dependency\r\n      *\u002F\r\n \tprivate function register_moment_locale() {\r\n-\t\t$locale \t\t= strtolower( $this->a->get_locale() );\r\n-\t\t$locale_short \t= current( explode( '-', $locale ) );\r\n-\r\n-\t\tif ( $locale && 'en' != $locale && 'en-us' != $locale ) {\r\n-\t\t\tforeach( array( $locale, $locale_short ) as $lcl ) {\r\n-\t\t\t\tif ( file_exists( WPBASE_PLUGIN_DIR . '\u002Fjs\u002Flocale\u002F'.$lcl.'.js' ) ) {\r\n-\r\n-\t\t\t\t\twp_register_script( 'jquery-moment-locale',\r\n-\t\t\t\t\t\tWPB_PLUGIN_URL . '\u002Fjs\u002Flocale\u002F'.$lcl.'.js',\r\n-\t\t\t\t\t\t(self::is_debug() ? array('jquery-datatables-moment') : array('wp-base-libs')),\r\n-\t\t\t\t\t\t$this->ver()\r\n-\t\t\t\t\t);\r\n-\r\n-\t\t\t\t\treturn 'jquery-moment-locale';\r\n-\t\t\t\t}\r\n-\t\t\t}\r\n-\t\t}\r\n+\t\treturn;\r\n \t}\r\n \r\n \t\u002F**\r\n \t * Enqueue used jQuery effects\r\n \t * @since 3.0\r\n+\t * @return none\r\n \t *\u002F\r\n \tpublic function enqueue_effects(){\r\n \t\t$effects \t= 'yes' == wpb_setting( 'ms_use_effect' ) ? array( 'blind', 'drop' ) : array( 'drop' );\r\n@@ -189,6 +175,8 @@\n \r\n \t\t$deps = array(\r\n \t\t\t'wp-base-common-scripts',\r\n+\t\t\t'wp-base-libs',\r\n+\t\t\t'wp-base-datatables',\r\n \t\t\t'codemirror',\r\n \t\t\t'jquery-ui-button',\r\n \t\t\t'jquery-ui-datepicker',\r\n@@ -196,7 +184,7 @@\n \t\t\t'jquery-ui-sortable',\r\n \t\t\t'jquery-ui-tabs',\r\n \t\t\t'wp-color-picker',\r\n-\t\t\t'wp-base-libs',\r\n+\t\t\t'moment',\r\n \t\t);\r\n \r\n \t\t# FEBM may call on front end - these are only registered for admin, so we exclude them\r\n@@ -211,34 +199,15 @@\n      * Front end script dependencies\r\n      *\u002F\r\n \tprivate function deps_front() {\r\n-\t\tif ( self::is_debug() ) {\r\n-\t\t\treturn array(\r\n-\t\t\t\t'wp-base-common-scripts',\r\n-\t\t\t\t'jquery-blockui',\r\n-\t\t\t\t'wp-base-countdown',\r\n-\t\t\t\t'jquery-datatables-jqueryui',\r\n-\t\t\t\t'jquery-ui-button',\r\n-\t\t\t\t'isotope',\r\n-\t\t\t\t'jquery-datatables-jqueryui-responsive',\r\n-\t\t\t\t'jquery-datatables-moment',\r\n-\t\t\t\t'jquery-quickfit',\r\n-\t\t\t\t'jquery-scrollto',\r\n-\t\t\t\t'signature-pad',\r\n-\t\t\t\t'app-flexslider',\r\n-\t\t\t\t'jquery-effects-drop',\r\n-\t\t\t\t'jquery-ui-button',\r\n-\t\t\t\t'jquery-ui-dialog',\r\n-\t\t\t\t'jstz',\r\n-\t\t\t);\r\n-\t\t} else {\r\n-\t\t\treturn array(\r\n-\t\t\t\t'wp-base-common-scripts',\r\n-\t\t\t\t'wp-base-libs',\r\n-\t\t\t\t'jquery-effects-drop',\r\n-\t\t\t\t'jquery-ui-button',\r\n-\t\t\t\t'jquery-ui-dialog',\r\n-\t\t\t);\r\n-\t\t}\r\n+\t\treturn array(\r\n+\t\t\t'wp-base-common-scripts',\r\n+\t\t\t'wp-base-libs',\r\n+\t\t\t'wp-base-datatables',\r\n+\t\t\t'jquery-effects-drop',\r\n+\t\t\t'jquery-ui-button',\r\n+\t\t\t'jquery-ui-dialog',\r\n+\t\t\t'moment',\r\n+\t\t);\r\n \t}\r\n \r\n \t\u002F**\r\n@@ -246,7 +215,7 @@\n      *\u002F\r\n \tpublic function common_data() {\r\n \t\tglobal $wp_locale;\r\n-\t\t\r\n+\r\n \t\treturn array(\r\n \t\t\t'menuHeight'\t\t\t=> 'size',\r\n \t\t\t'checkAll'\t\t\t\t=> wpb_get_text( 'check_all' ),\r\n@@ -278,7 +247,7 @@\n \t\t\t'decimal_sep'\t\t\t=> wpb_decimal_separator(),\r\n \t\t\t'done'\t\t\t\t\t=> wpb_get_text( 'done' ),\r\n \t\t\t'filterLabel'\t\t\t=> '',\t\t\t\t\t\t\u002F\u002F If left empty \"Filter:\"\r\n-\t\t\t'filterPholder'\t\t\t=> '',\t\t\t\t\t\t\u002F\u002F If left empty \"Enter keywords\"\t\t\t\r\n+\t\t\t'filterPholder'\t\t\t=> '',\t\t\t\t\t\t\u002F\u002F If left empty \"Enter keywords\"\r\n \t\t\t'iedit_nonce'\t\t\t=> wp_create_nonce('inline_edit'),\r\n \t\t\t'js_date_format'\t\t=> wpb_convert_dt_format( $this->a->safe_date_format() ),\r\n \t\t\t'list'\t\t\t\t\t=> wpb_get_text( 'list' ),\r\n@@ -335,10 +304,10 @@\n      * Admin data for javascript\r\n      *\u002F\r\n \tpublic function admin_data(){\r\n-\t\t\r\n+\r\n \t\t$wh_starts = wpb_setting( 'wh_starts', '07:00' );\r\n \t\t$wh_ends = wpb_setting( 'wh_ends', '18:00' );\r\n-\t\r\n+\r\n \t\treturn array(\r\n \t\t\t'all_day'\t\t\t=> wpb_get_text( 'all_day' ),\r\n \t\t\t'checkin'\t\t\t=> wpb_get_text( 'checkin_text' ),\r\n@@ -346,6 +315,7 @@\n \t\t\t'colorPresets'\t\t=> wpb_get_preset(),\r\n \t\t\t'confirmDeleteLog'\t=> __( 'Are you sure to clear the log file?', 'wp-base' ),\r\n \t\t\t'confirmEmpty'\t\t=> __( 'You are about to delete at least one record. Are you sure to do this?', 'wp-base' ),\r\n+\t\t\t'confirmPay'\t\t=> __( 'Do you want to pay commission to the selected records?', 'wp-base' ),\r\n \t\t\t'confirmReset'\t\t=> __( 'WARNING!! This action will clear all existing database records (bookings, transactions, locations, services, service providers, working hours). Are you sure to do this?', 'wp-base' ),\r\n \t\t\t'confirmResetAgain'\t=> __( 'Are you REALLY SURE TO DELETE the database records?', 'wp-base' ),\r\n \t\t\t'confirmRestore'\t=> __( 'This action will restore all WP BASE settings to the defaults. Database records (bookings, transactions, locations, services, service providers, working hours) will not be changed. Are you sure to do this?', 'wp-base' ),\r\n@@ -391,7 +361,8 @@\n \t\t\t\t\t\t\t\t\t'showImages'\t=> 'yes' == wpb_setting( 'schedule_show_images', 'yes' ),\t# Show worker images\r\n \t\t\t\t\t\t\t\t\t'showCheckout'\t=> 'yes' != wpb_setting( 'end_date_for_venue' ), \t\t\t# Show checkin\u002FCheckout texts\r\n \t\t\t\t\t\t\t\t\t'showTimeline'\t=> wpb_is_admin_user() && BASE()->get_nof_workers(), \t\t# Whether show Timeline in Schedules\r\n-\t\t\t\t\t\t\t\t\t'editable'\t\t=> wpb_is_admin_user() || (wpb_is_worker() && in_array( wpb_setting( 'allow_worker_edit' ), array('yes','only_schedules','also_admin') ) ), # Whether allow workers editing in Schedules\r\n+\t\t\t\t\t\t\t\t\t'client'\t\t\t=> wpb_is_client(),\r\n+\t\t\t\t\t\t\t\t\t'editable'\t\t=> wpb_is_admin_user() || (wpb_is_worker() && in_array( wpb_setting( 'allow_worker_edit' ), array('yes','only_schedules','also_admin') ) ) || (wpb_is_client() && 'yes' == wpb_setting('allow_edit')), # Whether allow workers editing in Schedules\r\n \t\t\t\t\t\t\t\t\t'lockEnabled'\t=> (bool)BASE()->get_nof_workers(),\t# Interlocking (Global)\r\n \t\t\t\t\t\t\t\t\t'lockEnabledMS'\t=> wpb_is_multi_store(), \t\t\t# Interlocking (Multi Store)\r\n \t\t\t\t\t\t\t\t\t'useFilter'\t\t=> false,\t\t\t\t\t\t\t# User filter for Multiselect\r\n@@ -404,8 +375,8 @@\n      *\u002F\r\n \tpublic function front_data(){\r\n \t\tglobal $current_screen, $wp_locale, $post;\r\n-\t\t\r\n-\t\t$post_id = ! empty( $this->current_post_id ) \r\n+\r\n+\t\t$post_id = ! empty( $this->current_post_id )\r\n \t\t\t\t   ? $this->current_post_id\r\n \t\t\t\t   : (!empty( $post->ID ) ? $post->ID : 0);\r\n \r\n@@ -546,10 +517,6 @@\n \t\t\t$data = apply_filters( 'app_js_data', wpb_array_merge( $data, $this->front_data() ), 'front' );\r\n \t\t}\r\n \r\n-\t\tif ( $handle = $this->register_moment_locale() ) {\r\n-\t\t\t$deps[] = $handle;\r\n-\t\t}\r\n-\r\n \t\twp_register_script( 'wp-base-admin-scripts', WPB_PLUGIN_URL . '\u002Fjs\u002Fadmin\u002Fadmin-scripts.js', $deps, $this->ver() );\r\n \t\t$this->localize( $data );\r\n \r\n@@ -573,10 +540,6 @@\n \t\t\t}\r\n \t\t}\r\n \r\n-\t\tif ( $handle = $this->register_moment_locale() ) {\r\n-\t\t\t$deps[] = $handle;\r\n-\t\t}\r\n-\r\n \t\twp_register_script( 'wp-base-front-scripts', WPB_PLUGIN_URL . '\u002Fjs\u002Ffront-scripts.js', $deps, $this->ver(), true );\r\n \t\t$this->localize( $data );\r\n \t\t$this->enqueue_effects();\r\n@@ -590,7 +553,7 @@\n \t * Load common styles\r\n \t *\u002F\r\n \tprivate function load_common_css() {\r\n-\t\twp_enqueue_style( 'wp-base-updating', WPB_PLUGIN_URL . '\u002Fcss\u002Fupdating.css', array(), $this->ver() );\r\n+\t\twp_enqueue_style( 'wp-base-panels' );\r\n \t\twp_enqueue_style( 'jquery-ui-'.sanitize_file_name( $this->a->selected_theme() ), $this->a->get_theme_file(), array(), $this->ver() );\r\n \r\n \t\tif ( WpBDebug::is_debug() ) {\r\n@@ -602,7 +565,7 @@\n \t\t\twp_enqueue_style( 'jquery-datatables-responsive-ui', WPB_PLUGIN_URL . '\u002Fcss\u002Fresponsive.jqueryui.css', array(), $this->ver() );\r\n \t\t\twp_enqueue_style( 'jquery-datatables-jqueryui', WPB_PLUGIN_URL . '\u002Fcss\u002FdataTables.jqueryui.css', array(), $this->ver() );\r\n \t\t} else {\r\n-\t\t\twp_enqueue_style( \"wp-base-libs-min\", WPB_PLUGIN_URL . \"\u002Fcss\u002Flibs.min.css\", array(), $this->ver() );\r\n+\t\t\twp_enqueue_style( 'wp-base-libs-min', WPB_PLUGIN_URL . '\u002Fcss\u002Flibs.min.css', array(), $this->ver() );\r\n \t\t}\r\n \r\n \t\tif ( is_rtl() ) {\r\n@@ -622,7 +585,7 @@\n \t\t\treturn;\r\n \t\t}\r\n \r\n-\t\twp_enqueue_style( 'wp-base-admin', WPB_PLUGIN_URL . '\u002Fcss\u002Fadmin.css', array(), $this->ver() );\r\n+\t\twp_enqueue_style( 'wp-base-admin' );\r\n \t\twp_enqueue_style( 'wp-color-picker' );\r\n \t\twp_enqueue_style( 'editor-buttons' );\t\u002F\u002F Fix for: wp_editor call does not load editor.min.css on emails page\r\n \r\n@@ -653,7 +616,7 @@\n \r\n \t\tdo_action( 'app_styles_enqueued', $this );\r\n \t}\r\n-\t\r\n+\r\n \t\u002F**\r\n \t * Load assets for unsupported page builders or templates upon WP BASE shortcode usage\r\n \t * @uses do_shortcode_tag filter hook\r\n@@ -661,18 +624,18 @@\n \t * @return string\r\n \t *\u002F\r\n \tpublic function do_shortcode_tag( $output, $tag ) {\r\n-\t\r\n+\r\n \t\tif ( ! did_action( 'app_scripts_enqueued' )  && in_array( $tag, wpb_shortcodes() ) ) {\r\n \t\t\t$this->load_front();\r\n \t\t\t$this->load_front_css();\r\n-\t\t\t\r\n-\t\t\tif ( 'app_account' == $tag || 'app_manage' == $tag ) {\r\n+\r\n+\t\t\tif ( in_array( $tag, array( 'app_account', 'app_manage', 'app_list', 'app_store' ) ) ) {\r\n \t\t\t\twp_enqueue_style( 'wp-base-admin-front' );\r\n \t\t\t\t$this->load_admin();\r\n \t\t\t\t$this->load_admin_css();\r\n \t\t\t}\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\treturn $output;\r\n \t}\r\n \r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fclass.controller.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fclass.controller.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fclass.controller.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fclass.controller.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -52,9 +52,9 @@\n \t * @param\t$force_priority\tstring\t\tChange priority by instance, e.g. in admin inline edit\r\n \t *\u002F\r\n \tpublic function __construct( $norm_or_booking, $order_by = \"sort_order\", $force_priority = false, $event = null ) {\r\n-\t\r\n+\r\n \t\t$this->a = BASE();\r\n-\t\t\r\n+\r\n \t\tif ( $norm_or_booking instanceof WpB_Booking ) {\r\n \t\t\t$booking\t\t\t\t\t= $norm_or_booking;\r\n \t\t\t$this->req_location\t\t\t= $booking->get_location();\r\n@@ -84,7 +84,7 @@\n \t\t\t$this->set_worker = $this->a->get_def_wid();\r\n \t\t\treturn;\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\tif ( WPB_GCAL_SERVICE_ID == $this->req_service ) {\r\n \t\t\t$this->set_service \t= $this->req_service;\r\n \t\t\t$this->locations \t= array();\r\n@@ -110,7 +110,7 @@\n \t\t\t\tcase self::WORKER:\t\t$this->adjust_worker();\t\tbreak;\r\n \t\t\t}\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\tadd_filter( 'app_update_cals_reply', array( $this, 'update_cals_reply' ) );\r\n \t}\r\n \r\n@@ -124,23 +124,23 @@\n \t\tif ( empty( $_POST['active_step'] ) ) {\r\n \t\t\treturn $reply;\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\t$prev = ! empty( $reply['booking_info'] ) ? $reply['booking_info'] : array();\r\n-\t\t\r\n+\r\n \t\t# Image\r\n \t\tif ( $img_url = wpb_get_service_meta( $this->get_service(), 'image_url' ) ) {\r\n \t\t\t$slider_image = '\u003Cdiv class=\"app-cover\" style=\"background-image: url('.$img_url.')\">\u003C\u002Fdiv>';\r\n \t\t} else {\r\n \t\t\t$slider_image = '';\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\t# Duration\r\n \t\t$s = BASE()->get_service( $this->get_service() );\r\n-\t\t$lasts = ! empty( $_REQUEST['app_duration'] ) \r\n-\t\t\t\t ? $_REQUEST['app_duration'] \r\n+\t\t$lasts = ! empty( $_REQUEST['app_duration'] )\r\n+\t\t\t\t ? $_REQUEST['app_duration']\r\n \t\t\t\t : (! empty( $s->duration ) ? $s->duration : BASE()->get_min_time());\r\n-\t\t\r\n-\t\t$reply['booking_info'] = array_merge( $prev, array( \r\n+\r\n+\t\t$reply['booking_info'] = array_merge( $prev, array(\r\n \t\t\t'service_id' => $this->get_service(),\r\n \t\t\t'location'\t=> $this->is_loc_active() && $this->get_location() ? wpb_booking_info_line_html( 'location', $this->a->get_location_name( $this->get_location() ) ) : '',\r\n \t\t\t'service'\t=> wpb_booking_info_line_html( 'service', $this->a->get_service_name( $this->get_service() ) ),\r\n@@ -149,7 +149,7 @@\n \t\t\t'image'\t\t=> $slider_image,\r\n \t\t\t'cart_contents'\t=> ! wpb_is_hidden('details') && BASE('Multiple')->values() ? BASE('Multiple')->cart_contents_html( BASE('Multiple')->values() ) : '',\r\n \t\t) );\r\n-\t\t\r\n+\r\n \t\treturn $reply;\r\n \t}\r\n \r\n@@ -294,9 +294,9 @@\n \t * @return none\r\n \t *\u002F\r\n \tprivate function set_random_worker( $ids ) {\r\n-\t\r\n+\r\n \t\tshuffle( $ids );\r\n-\t\t\r\n+\r\n \t\tif ( empty( $_POST['app_value'] ) && defined( 'WPB_CHECK_WORKER_AVAIL' ) && WPB_CHECK_WORKER_AVAIL ) {\r\n \t\t\t$today = strtotime( 'today', $this->a->_time );\r\n \t\t\tforeach ( $ids as $id ) {\r\n@@ -505,22 +505,27 @@\n \r\n \t\u002F**\r\n \t * Create HTML for location select element\r\n+\t * @param $ro\t\tbool\tRead Only, e.g not editable items\r\n \t * @since 3.0\r\n \t * @return string\r\n \t *\u002F\r\n-\tpublic function select_location( ) {\r\n+\tpublic function select_location( $ro = false ) {\r\n \t\t$html = '\u003Cselect class=\"app-admin-lsw app_select_locations app-no-ms\" data-lsw=\"location\" name=\"location\">';\r\n-\t\t\r\n+\r\n \t\t$loc_ids = wpb_is_manage_store() ? wpb_managed_stores() : array_keys( (array)$this->locations );\r\n \r\n \t\tforeach ( $loc_ids as $loc_id ) {\r\n \t\t\t$sel = $this->set_location == $loc_id ? ' selected=\"selected\"' : '';\r\n \r\n+\t\t\tif ( $ro && ! $sel ) {\r\n+\t\t\t\tcontinue;\r\n+\t\t\t}\r\n+\r\n \t\t\t$html .= '\u003Coption value=\"'.$loc_id.'\"'.$sel.'>'. $this->a->get_location_name( $loc_id ) . '\u003C\u002Foption>';\r\n \t\t}\r\n \r\n \t\tif ( ! $loc_ids ) {\r\n-\t\t\t$html .= '\u003Coption disabled=\"disabled\">' . wpb_get_text('no_free_time_slots'). '\u003C\u002Foption>';\r\n+\t\t\t$html .= '\u003Coption disabled>' . wpb_get_text('no_free_time_slots'). '\u003C\u002Foption>';\r\n \t\t}\r\n \r\n \t\t$html .= '\u003C\u002Fselect>';\r\n@@ -530,22 +535,27 @@\n \r\n \t\u002F**\r\n \t * Create HTML for service select element\r\n+\t * @param $ro\t\tbool\tRead Only, e.g not editable items\t \r\n \t * @param $new\t\tbool\tPackage selection is allowed for new booking\r\n \t * @since 3.0\r\n \t * @return string\r\n \t *\u002F\r\n-\tpublic function select_service( $new = false ) {\r\n+\tpublic function select_service( $ro = false, $new = false ) {\r\n \t\t$html = '\u003Cselect class=\"app-admin-lsw app_select_services app-no-ms\" data-lsw=\"service\" name=\"service\">';\r\n \r\n \t\tforeach ( (array)$this->services as $service ) {\r\n \t\t\t$sel\t\t= $this->set_service == $service->ID ? ' selected=\"selected\"' : '';\r\n-\t\t\t$disabled\t= ! $new && $this->a->is_package( $service->ID ) ? ' disabled=\"disabled\"' : '';\r\n+\t\t\t$disabled\t= ! $new && $this->a->is_package( $service->ID ) ? ' disabled' : '';\r\n+\r\n+\t\t\tif ( $ro && ! $sel ) {\r\n+\t\t\t\tcontinue;\r\n+\t\t\t}\r\n \r\n-\t\t\t$html .= '\u003Coption value=\"'.$service->ID.'\"'.$sel.$disabled.'>'. $this->a->get_service_name( $service->ID ) . '\u003C\u002Foption>';\r\n+\t\t\t$html .= '\u003Coption '.($ro && ! $sel ? 'disabled' : '').' value=\"'.$service->ID.'\"'.$sel.$disabled.'>'. $this->a->get_service_name( $service->ID ) . '\u003C\u002Foption>';\r\n \t\t}\r\n \r\n \t\tif ( ! $this->services ) {\r\n-\t\t\t$html .= '\u003Coption disabled=\"disabled\">'. wpb_get_text('no_free_time_slots') .'\u003C\u002Foption>';\r\n+\t\t\t$html .= '\u003Coption disabled>'. wpb_get_text('no_free_time_slots') .'\u003C\u002Foption>';\r\n \t\t}\r\n \r\n \t\t$html .= '\u003C\u002Fselect>';\r\n@@ -555,10 +565,11 @@\n \r\n \t\u002F**\r\n \t * Create HTML for worker select element\r\n+\t * @param $ro\t\tbool\tRead Only, e.g not editable items\r\n \t * @since 3.0\r\n \t * @return string\r\n \t *\u002F\r\n-\tpublic function select_worker( ) {\r\n+\tpublic function select_worker( $ro = false ) {\r\n \t\t$html = '\u003Cselect class=\"app-admin-lsw app_select_workers app-no-ms\" data-lsw=\"worker\" name=\"worker\">';\r\n \r\n \t\tif ( $this->workers ) {\r\n@@ -575,6 +586,10 @@\n \r\n \t\t\t\t$sel = $this->set_worker == $worker->ID ? ' selected=\"selected\"' : '';\r\n \r\n+\t\t\t\tif ( $ro && ! $sel ) {\r\n+\t\t\t\t\tcontinue;\r\n+\t\t\t\t}\r\n+\r\n \t\t\t\t$html .= '\u003Coption value=\"'.$worker->ID.'\"'.$sel.'>'. $this->a->get_worker_name( $worker->ID ) .'\u003C\u002Foption>';\r\n \t\t\t}\r\n \r\n@@ -646,12 +661,12 @@\n \t\t\t\tif ( $maybe_desc = wpb_get_location_meta( $ID, 'description' ) ) {\r\n \t\t\t\t\t$desc = $maybe_desc;\r\n \t\t\t\t\t$sub_context = 'description';\r\n-\t\t\t\t}\t\t\t\t\r\n+\t\t\t\t}\r\n \t\t\t} else if ( 'worker' == $context ) {\r\n \t\t\t\tif ( $maybe_img = get_user_meta( $ID, 'app_profile_image', true ) ) {\r\n \t\t\t\t\t$slider_image = '\u003Cimg src=\"'.esc_attr( $maybe_img ).'\" alt=\"User Image\" \u002F>';\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tif ( $maybe_desc = get_user_meta( $ID, 'app_description', true ) ) {\r\n \t\t\t\t\t$desc = $maybe_desc;\r\n \t\t\t\t\t$sub_context = 'description';\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fclass.service.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fclass.service.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fclass.service.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fclass.service.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -580,6 +580,24 @@\n \t}\r\n \r\n \t\u002F**\r\n+\t * Get Rich Text Editor content\r\n+\t * @since 5.9.1\r\n+\t * @return string\r\n+\t *\u002F\r\n+\tpublic function get_rte_content() {\r\n+\t\treturn wpb_get_service_meta( $this->ID, 'rte_content' );\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+\t * Update Rich Text Editor content\r\n+\t * @since 5.9.1\r\n+\t * @return bool\r\n+\t *\u002F\r\n+\tpublic function update_rte_content( $desc ) {\r\n+\t\treturn wpb_update_service_meta( $this->ID, 'rte_content', $desc );\r\n+\t}\r\n+\t\r\n+\t\u002F**\r\n \t * Get Featured Image Url\r\n \t * @return string\r\n \t *\u002F\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fconstant-data.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fconstant-data.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fconstant-data.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fconstant-data.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -151,6 +151,13 @@\n Yours sincerely,\n SITE_NAME\";\n \n+\tpublic static $_commission_paid_message = \"Dear VENDOR,\n+\n+A payment of AMOUNT has been made to your account.\n+\n+For your information,\n+SITE_NAME\";\n+\n \tpublic static $_waiting_list_message = \"Dear CLIENT,\n \n We have received your appointment submission for SITE_NAME.\n@@ -255,6 +262,10 @@\n \u003Cdiv>\u003Cem>NOTE\u003C\u002Fem>\u003C\u002Fdiv>\n \u003Cdiv>\u003Cstrong>STATUS\u003C\u002Fstrong> · APP_ID\u003C\u002Fdiv>';\n \n+\tpublic static $_schedule_desc_client = '\u003Cdiv>SERVICE · PAX pax\u003C\u002Fdiv>\n+\u003Cdiv>WORKER\u003C\u002Fdiv>\n+\u003Cdiv>\u003Cstrong>STATUS\u003C\u002Fstrong> · APP_ID\u003C\u002Fdiv>';\n+\n \tpublic static function privacy_content() { return __('We collect information about you during the checkout process on our website. This information may include, but is not limited to, your name, email address, phone number and any other details that might be requested from you for the purpose of processing your orders.\n Handling this data also allows us to:\n - Send you important account\u002Forder\u002Fservice information.\n@@ -302,6 +313,7 @@\n \t\t\t$currency\t\t= wpb_format_currency();\n \n \t\t\t$defaults = array(\n+\t\t\t\t'account_page'\t\t\t\t\t=> array( '', __('Account Page', 'wp-base'), __('The page where \u003Ccode>[app_account]\u003C\u002Fcode> resides. Normally WP BASE automatically locates this page and sets this setting, however in some cases you may need to set it yourself.', 'wp-base') ),\n \t\t\t\t'additional_css'\t\t\t\t=> array( '', __('Additional css Rules (Front end)', 'wp-base'), __('You can add css rules to customize styling. These will be added to the front end appointment page(s) only.', 'wp-base') ),\n \t\t\t\t'additional_css_admin'\t\t\t=> array( '', __('Additional css Rules (Admin side)', 'wp-base'), __('You can add css rules to customize styling. These will be added to the admin side only, e.g. to user profile page.', 'wp-base') ),\n \t\t\t\t'additional_min_time'\t\t\t=> array( '', __('Additional Time Base (minutes)', 'wp-base'), __('If selectable time bases do not fit your business, you can add a new one, e.g. 90. Note: 1) After you save this additional time base, you must select it using the Time Base setting. 2) Minimum allowed time base setting is 5 minutes. 3) Entered value should be divisible by 5. For example, 24 is not allowed and it will be rounded to 25.', 'wp-base' ) ),\n@@ -315,12 +327,11 @@\n \t\t\t\t'agora_api_id'\t\t\t\t\t=> array( '', __('App ID','wp-base'), sprintf( __('Get this value from your %s.', 'wp-base'), '\u003Ca class=\"app-btm\" href=\"https:\u002F\u002Fconsole.agora.io\u002F\" target=\"_blank\">'.__('Agora account').'\u003C\u002Fa>' ), 'Online Meetings' ),\n \t\t\t\t'agora_cert'\t\t\t\t\t=> array( '', __('App Certificate','wp-base'), sprintf( __('Primary certificate from your %s.', 'wp-base'), '\u003Ca class=\"app-btm\" href=\"https:\u002F\u002Fconsole.agora.io\u002F\" target=\"_blank\">'.__('Agora account').'\u003C\u002Fa>' ), 'Online Meetings' ),\n \t\t\t\t'agora_enable'\t\t\t\t\t=> array( 'yes', __('Enable Agora','wp-base'), __('Enables integration with Agora Online Meetings.', 'wp-base'), 'Online Meetings' ),\n-\t\t\t\t'agora_layout'\t\t\t\t\t=> array( 0, __('Layout','wp-base'), __('Layout of the participant screens', 'wp-base'), 'Online Meetings' ),\n \t\t\t\t'agora_subject'\t\t\t\t\t=> array( 'SITE_NAME SERVICE Meeting', __('Agora Subject','wp-base'), sprintf( __('Meeting subject (title). \u003Cabbr title=\"%s\">Booking placeholders\u003C\u002Fabbr> can be used. During meeting creation, these placeholders will be replaced by their real values.', 'wp-base'), WpBConstant::email_desc(1) ), 'Online Meetings' ),\n \t\t\t\t'allow_cancel'\t\t\t\t\t=> array( 'no', __('Allow Client Cancel Own Bookings', 'wp-base'), __('Whether to allow clients cancel their bookings using the link in confirmation and reminder emails or using Booking List table or for logged in users, using check boxes in their profile pages. For the email case, you will also need to add CANCEL placeholder to the email message content.', 'wp-base' ) ),\n \t\t\t\t'allow_client_set_tz'\t\t\t=> array( 'no', __('Allow Clients Select Own Timezone', 'wp-base'), __('If selected as \"Yes\", clients can manually select their timezone in their profile page. This setting overrides automatic dedection.', 'wp-base') ),\n \t\t\t\t'allow_confirm'\t\t\t\t\t=> array( 'yes', __('Allow Client Confirm Bookings by Email', 'wp-base'), __('Whether to allow clients confirm their bookings using the link in any email they receive. This link is added by using CONFIRM placeholder in email bodies.', 'wp-base' ) ),\n-\t\t\t\t'allow_edit'\t\t\t\t\t=> array( 'no', __('Allow Client Edit Own Bookings','wp-base'), __('Whether you let client edit own appointments on the front end. Client can activate editing popup form by one of the following methods: 1) Clicking Edit button in WordPress user page, 2) Clicking Edit button in List Of Bookings, 4) Clicking Edit button in Bookings tab of Account page, 4) Clicking the link in emails. This link is created by inserting EDIT placeholder to the email body.','wp-base'),'Front End Edit' ),\n+\t\t\t\t'allow_edit'\t\t\t\t\t=> array( 'no', __('Allow Client Edit Own Bookings','wp-base'), __('Whether you let client edit own bookings on List of Bookings or Schedules tab of Account page.','wp-base') ),\n \t\t\t\t'allow_now'\t\t\t\t\t\t=> array( 'no', __('Allow Late Booking', 'wp-base'), __('Setting this as Yes will allow booking of a time slot when current time is within selected time slot, i.e. appointment start time has passed, but it has not ended yet.', 'wp-base' ) ),\n \t\t\t\t'allow_register'\t\t\t\t=> array( 'auto', __('Allow Registration at Checkout', 'wp-base'), __('Whether add registration fields at checkout. \"Auto\" follows WordPress \"Anyone can register\" setting.', 'wp-base' ) ),\n \t\t\t\t'allow_worker_annual'\t\t\t=> array( 'no', __('Set Own Seasonal Schedules', 'wp-base'), __('Requires Seasonal Working Hours Addon. Whether you let service providers to set their annual schedules using their navigation tab in BuddyPress (Requires BuddyPress addon) or their profile page in regular WordPress. They are also allowed to add new custom schedules, but not to delete them.', 'wp-base'), 'Service Providers' ),\n@@ -406,9 +417,9 @@\n \t\t\t\t'disable_tooltips'\t\t\t\t=> array( 'no', __('Disable Tooltips in Booking Calendars', 'wp-base'), __('Selecting \"No\" will disable tooltips like \"Click to pick date\", etc. Note: In Debug mode, tooltips are displayed.', 'wp-base' ) ),\n \t\t\t\t'dp_reminder_attach'\t\t\t=> array( 'no', __('Create and Attach pdf File', 'wp-base'), __('Whether to attach a pdf file that will be created from the below fields. If attachment field is empty, file will not be attached (empty file will not be sent).', 'wp-base'), 'PDF' ),\n \t\t\t\t'dp_reminder_limit'\t\t\t\t=> array( '', sprintf( __('Due Payment Reminder Sending Limit of Balance (%s)', 'wp-base'), BASE()->get_options('currency', 'USD') ), __('Due payment reminder is only sent if balance is negative and absolute value of balance for the appointment is greater than this amount. For example, if this value is set as 10$, an appointment with -9$ balance will not result to a reminder email, but -11$ will. Leave empty if you want to remind client in case of any negative balance.', 'wp-base'), 'Reminder and Follow-up emails' ),\n-\t\t\t\t'dp_reminder_message'\t\t\t=> array( '', __('Due Payment Reminder email Message', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n+\t\t\t\t'dp_reminder_message'\t\t\t=> array( '', __('Due Payment Reminder Email Message', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n \t\t\t\t'dp_reminder_statuses'\t\t\t=> array( 'paid,confirmed,completed', __('Booking Statuses Due Payment emails Applied to', 'wp-base'), __('Only clients having appointments with selected status(es) will receive due payment reminder email. If none selected, due payment emails will not be sent at all.', 'wp-base'), 'Reminder and Follow-up emails' ),\n-\t\t\t\t'dp_reminder_subject'\t\t\t=> array( '', __('Due Payment Reminder email Subject', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n+\t\t\t\t'dp_reminder_subject'\t\t\t=> array( '', __('Due Payment Reminder Email Subject', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n \t\t\t\t'dp_reminder_time'\t\t\t\t=> array( '72,48', __('Due Payment Reminder email Sending Time (hours)', 'wp-base'), __('Defines the time in hours that reminder email will be sent after the appointment has been booked (creation time). Note that this is different than appointment reminder email where appointment start time is taken as reference. Multiple reminders are possible. To do so, enter reminding hours separated with a comma, e.g. 48,72.', 'wp-base'), 'Reminder and Follow-up emails' ),\n \t\t\t\t'dummy_assigned_to'\t\t\t\t=> array( 0, __('Assign Dummy Providers to', 'wp-base'), __('You can define \"Dummy\" service providers to enrich your service provider alternatives and variate your working schedules. Their availability and other properties will be exactly like ordinary providers except the emails they are supposed to receive will be forwarded to the user you select here.', 'wp-base'), 'Service Providers' ),\n \t\t\t\t'duration_format'\t\t\t\t=> array( 'hours_minutes', __('Service Duration Display Format', 'wp-base'), __('With this setting, you can select display format of durations on the front end (minutes, hours, hours+minutes).', 'wp-base' ) ),\n@@ -417,10 +428,10 @@\n \t\t\t\t'edd_price_name'\t\t\t\t=> array( 'From: DATE_TIME To: END_DATE_TIME', __('Booking Info','wp-base'), sprintf( __('Short information about the booking, for example date, time, provider. All \u003Cabbr title=\"%s\">booking placeholders\u003C\u002Fabbr> can be used.','wp-base'), WpBConstant::email_desc(1) ), 'EDD' ),\n \t\t\t\t'edd_product_meta'\t\t\t\t=> array( 'PRODUCT_LINK', __('Booking Details','wp-base'), sprintf( __('Details of booking that will be added below product name. All \u003Cabbr title=\"%s\">booking placeholders\u003C\u002Fabbr> can be used.','wp-base'), WpBConstant::email_desc(1) ), 'EDD' ),\n \t\t\t\t'edd_product_name'\t\t\t\t=> array( 'SERVICE Booking', __('Booking Title','wp-base'), sprintf( __('Defines how the selected booking will be displayed in the cart and receipt. All \u003Cabbr title=\"%s\">booking placeholders\u003C\u002Fabbr> can be used.','wp-base'), WpBConstant::email_desc(1) ), 'EDD' ),\n-\t\t\t\t'editable'\t\t\t\t\t\t=> array( $editable, __('Editable Booking Fields','wp-base'), sprintf( __('Select which booking fields can be edited. Note: UDF fields can be limited using \"Editable\" column on %s page. ','wp-base'), '\u003Ca href=\"'.admin_url('admin.php?page=app_display&tab=udf').'\" target=\"_blank\">'.__('UDF settings','wp-base').'\u003C\u002Fa>' ),'Front End Edit' ),\n-\t\t\t\t'edit_change_price'\t\t\t\t=> array( 'yes', __('Allow Price Display and Change'), __('Whether change in selections will affect price.','wp-base'),'Front End Edit' ),\n-\t\t\t\t'edit_limit'\t\t\t\t\t=> array( '', __('Editing Lower Limit (hours)','wp-base'), __('Number of hours from appointment start time until which client can edit their appointment. For example, entering 24 will disable editing one day before the appointment is due. In such a case any editing request will be replied with \"Too late\" response. Note: Admins and those who have given editing capability with \"cap\" attribute are not limited with this setting.','wp-base'),'Front End Edit' ),\n-\t\t\t\t'edit_upper_limit'\t\t\t\t=> array( 60, __('Editing Upper Limit (days)','wp-base'), __('Only bookings whose start date is earlier than this setting can be edited. If left empty, global Upper Limit will be used.','wp-base'),'Front End Edit' ),\n+\t\t\t\t'editable'\t\t\t\t\t\t=> array( $editable, __('Editable Booking Fields','wp-base'), sprintf( __('Select which booking fields can be edited. Note: UDF fields can be limited using \"Editable\" column on %s page. ','wp-base'), '\u003Ca href=\"'.admin_url('admin.php?page=app_display&tab=udf').'\" target=\"_blank\">'.__('UDF settings','wp-base').'\u003C\u002Fa>' ) ),\n+\t\t\t\t'edit_change_price'\t\t\t\t=> array( 'yes', __('Allow Price Display and Change'), __('Whether change in selections will affect price.','wp-base') ),\n+\t\t\t\t'edit_limit'\t\t\t\t\t=> array( '', __('Editing Lower Limit (hours)','wp-base'), __('Number of hours from appointment start time until which client can edit their appointment. For example, entering 24 will disable editing one day before the appointment is due. In such a case any editing request will be replied with \"Too late\" response. Note: Admins and those who have given editing capability with \"cap\" attribute are not limited with this setting.','wp-base') ),\n+\t\t\t\t'edit_upper_limit'\t\t\t\t=> array( 60, __('Editing Upper Limit (days)','wp-base'), __('Only bookings whose start date is earlier than this setting can be edited. If left empty, global Upper Limit will be used.','wp-base') ),\n \t\t\t\t'enable_timezones'\t\t\t\t=> array( 'no', __('Enable Timezones', 'wp-base'), __('If selected as \"Yes\", timezone of the client is taken into account during display of booking UI\\'s, list of bookings and emails. Admin side and database records are not affected.', 'wp-base'), 'Advanced Features' ),\n \t\t\t\t'end_date_for_venue'\t\t\t=> array( 'no', __('Show End Date Based on Venue Bookings', 'wp-base'), __('For bookings that last one day and longer, whether display end date according to venue bookings. By default (Setting \"No\"), end date is displayed based on \u003Ci>nightly room bookings\u003C\u002Fi> and it shows the \u003Ci>checkout\u003C\u002Fi> date which is one day past the actual end timestamp. If you select \"Yes\", end date will be shown based on \u003Ci>daytime venue bookings\u003C\u002Fi> and there will not be an offset for checkout. Note: This selection does not affect how booking is saved to the database, but just how it is displayed on the front end.', 'wp-base' ) ),\n \t\t\t\t'ep_if_several'\t\t\t\t\t=> array( 'min', __('Price to Apply upon Multiple Rule Match', 'wp-base'), __('If there are several matching rules, price returned can be selected among minimum, maximum or average of the non-zero prices calculated by matching rules.', 'wp-base'), 'Custom Pricing' ),\n@@ -522,7 +533,10 @@\n \t\t\t\t'mv_client_approval_time'\t\t=> array( 3, __('Auto Approval Time (days)', 'wp-base'), __('After this time, even if client did not approve, completed bookings will be automatically approved. Leaving empty means 3 days.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_commission_if_several'\t\t=> array( 'max', __('Commission to Apply upon Multiple Role Match', 'wp-base'), __('If vendor has several matching roles, commission rate to be applied can be selected among minimum or maximum of the commissions of matching roles.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_commission_nof_rates'\t\t=> array( 0, __('Number of Commission Rates', 'wp-base'), __('You can define commission percentage based on WordPress user role of the vendor, e.g. to give better commission to certain membership levels. If you will use them, select number of commission rates.', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'mv_commission_payment'\t\t\t=> array( 'manual', __('Commission Payment Method', 'wp-base'), __('Commissions can be paid to vendors automatically when booking is completed or booking is approved by the client or manually at any desired time. Note: When automatic payment is selected, you can also pay manually on Commissions page.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_commission_rate'\t\t\t=> array( '60', __('Commission Rate (%)', 'wp-base'), __('Percentage of the booking revenue that will be received by the vendor.', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'mv_enable_approved'\t\t\t=> array( 'no', __('Enable Approved Status', 'wp-base'), __('Whether to use Approved status.', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'mv_enable_stripe_connect'\t\t=> array( 'no', __('Enable Stripe Connect', 'wp-base'), __('Whether to use Stripe Connect to pay commissions to vendors.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_fees_paid_by'\t\t\t\t=> array( 'website', __('Fees Covered By', 'wp-base'), __('Who will cover the transaction fees. If covered by vendor, fees are deducted from client payment and vendor\\'s earning will be lower.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_give_commission_own_sales'\t=> array( 'no', __('Give Commission for Own Sales', 'wp-base'), __('Whether to give commission if client is the vendor themselves.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_hide_non_vendor_calendar'\t=> array( 'yes', __('Hide Non-Vendor Booking Calendars', 'wp-base'), __('Whether to hide booking calendars on pages of non-vendors. Setting this to \"Yes\" will mean: For the above bio page CPTs, booking is only allowed on approved vendor bio pages.', 'wp-base'), 'Marketplace' ),\n@@ -544,7 +558,6 @@\n \t\t\t\t'mv_store_post_content'\t\t\t=> array( '', __('Default Page Content', 'wp-base'), __('Content of the store page, typically including \u003Ccode>[app_book]\u003C\u002Fcode> shortcode in order to let clients book their services. Only services of this store are selectable from this shortcode.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_store_post_title'\t\t\t=> array( 'COMPANY_NAME', __('Default Page Title', 'wp-base'), __('Title of the store page. Placeholders COMPANY_NAME and VENDOR_NAME will be replaced by vendor data.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_store_post_type'\t\t\t=> array( 'post', __('Post Type for Store Pages', 'wp-base'), __('Post type that will be used for stores. A CPT is recommended, e.g. Place', 'wp-base' ), 'Marketplace' ),\n-\t\t\t\t'mv_enable_approved'\t\t\t=> array( 'no', __('Enable Approved Status', 'wp-base'), __('Whether to use Approved status.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_um_account_page'\t\t\t=> array( '', __('Account Page (only for UM)', 'wp-base'), __('UM Account Page may have a Bookings item to redirect to WP BASE Account page. The page which includes \u003Ccode>[app_account]\u003C\u002Fcode> should be selected here.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'mv_use_wc_cart'\t\t\t\t=> array( 'no', __('Use WooCommerce Cart for Payment', 'wp-base'), sprintf( __('When you enable WooCommerce cart, payments will be handled with WooCommerce checkout system even if bio page is not a WooCommerce product CPT. WooCommerce plugin and WP BASE WooCommerce Integration addon must be activated. Also see %s.', 'wp-base'), '\u003Ca href=\"'.admin_url( 'admin.php?page=app_settings&tab=advanced#woocommerce' ).'\">'.__( 'WooCommerce settings', 'wp-base' ).'\u003C\u002Fa>'), 'Marketplace' ),\n \t\t\t\t'mv_usership'\t\t\t\t\t=> array( '', __('User Profile Plugin Integration', 'wp-base'), __('Select the user profile plugin you want to integrate from the list. With this integration, vendor can be directly booked from profile page of the user profile plugin.', 'wp-base'), 'Marketplace' ),\n@@ -570,9 +583,13 @@\n \t\t\t\t'reminder_time_sms_worker'\t\t=> array( '4', __('Reminder SMS Sending Time for the Provider (hours)', 'wp-base'), __('Same as Reminder SMS Sending Time for the Client, but defines the time for service provider.', 'wp-base'), 'SMS' ),\n \t\t\t\t'reminder_time_worker'\t\t\t=> array( '4', __('Reminder email Sending Time for the Provider (hours)', 'wp-base'), __('Same as Reminder email Sending Time for the Client, but defines the time for service provider.', 'wp-base'), 'Reminder and Follow-up emails' ),\n \t\t\t\t'reverse_log'\t\t\t\t\t=> array( 'yes', __('Reverse Log', 'wp-base'), sprintf( __('Select \"Yes\" to reverse the display order of records in %s, from newest to oldest.', 'wp-base' ), '\u003Ca class=\"app-btm\" href=\"'.admin_url(\"admin.php?page=app_tools&tab=log\").'\">'.__('log file').'\u003C\u002Fa>' ) ),\n+\t\t\t\t'schedule_allowed_stats_client'\t=> array( 'paid,confirmed,pending,running,completed,removed', __('Allowed Booking Statuses (Client)', 'wp-base'), __('Clients can select only these booking statuses to be displayed in their schedules', 'wp-base') ),\n+\t\t\t\t'schedule_allowed_stats'\t\t=> array( 'paid,confirmed,pending,running,completed,removed', __('Allowed Booking Statuses (Provider)', 'wp-base'), __('Service providers can select only these booking statuses to be displayed in their schedules', 'wp-base') ),\n+\t\t\t\t'schedule_clear_cache'\t\t\t=> array( 'no', __('Clear Schedules Cache', 'wp-base'), __('To Clear the cache, set \"Yes\". After save and cache cleared, this setting will automatically turn back to \"No\".', 'wp-base') ),\n+\t\t\t\t'schedule_client_can'\t\t\t=> array( 'yes', __('Clients can Use Schedules', 'wp-base'), __('Whether allow clients use Schedules', 'wp-base') ),\n \t\t\t\t'schedule_desc_admin'\t\t\t=> array( self::$_schedule_desc_admin, __('Template for Schedule (Admin)', 'wp-base'), sprintf( __('Bookings in %1$s will be displayed to admin according to this template. \u003Cabbr title=\"%2$s\">Booking placeholders\u003C\u002Fabbr> will be replaced by their real values.', 'wp-base'), '\u003Ca class=\"app-btm\" href=\"'.admin_url(\"admin.php?page=app_schedules\").'\">'.__('Booking Schedules').'\u003C\u002Fa>', WpBConstant::email_desc(1) ) ),\n+\t\t\t\t'schedule_desc_client'\t\t\t=> array( self::$_schedule_desc_client, __('Template for Schedule (Client)', 'wp-base'), sprintf( __('Bookings in %1$s will be displayed to the client according to this template. \u003Cabbr title=\"%2$s\">Booking placeholders\u003C\u002Fabbr> will be replaced by their real values.', 'wp-base'), '\u003Ca class=\"app-btm\" href=\"'.admin_url(\"admin.php?page=app_schedules\").'\">'.__('Booking Schedules').'\u003C\u002Fa>', WpBConstant::email_desc(1) ) ),\n \t\t\t\t'schedule_desc_worker'\t\t\t=> array( self::$_schedule_desc_worker, __('Template for Schedule (Provider)', 'wp-base'), sprintf( __('Bookings in %1$s will be displayed to service provider according to this template. \u003Cabbr title=\"%2$s\">Booking placeholders\u003C\u002Fabbr> will be replaced by their real values.', 'wp-base'), '\u003Ca class=\"app-btm\" href=\"'.admin_url(\"admin.php?page=app_schedules\").'\">'.__('Booking Schedules').'\u003C\u002Fa>', WpBConstant::email_desc(1) ) ),\n-\t\t\t\t'schedule_allowed_stats'\t\t=> array( 'paid,confirmed,pending,running,completed,removed', __('Allowed Booking Statuses (Provider)', 'wp-base'), __('Service providers can select only these booking statuses to be displayed in their schedules', 'wp-base') ),\n \t\t\t\t'schedule_show_images'\t\t\t=> array( 'yes', __('Show Profile Images', 'wp-base'), __('Whether show service provider profile images in the Schedules', 'wp-base') ),\n \t\t\t\t'send_approved'\t\t\t\t\t=> array( 'yes', __('Send Approved email', 'wp-base'), __('Whether to send an email after vendor application automatically approved. Note: Admin can always send manual email on Vendors page.', 'wp-base' ), 'Marketplace' ),\n \t\t\t\t'send_cancellation'\t\t\t\t=> array( 'yes', __('Send Cancellation email (Single)', 'wp-base'), __('Whether to send an email after cancellation of the booking. Note: Admin and service provider will also get a copy as separate emails.', 'wp-base' ) ),\n@@ -581,23 +598,24 @@\n \t\t\t\t'send_cancellation_sms_admin'\t=> array( 'yes', __('Send Cancellation SMS (Admin)', 'wp-base'), __('Whether to send an SMS after cancellation of the appointment.', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_cancellation_sms_bulk'\t=> array( 'no', __('Send Cancellation SMS (Bulk)', 'wp-base'), __('Same as above but whether to send SMS messages to clients when \"bulk\" status change of removed is applied to bookings on admin side.', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_cancellation_sms_worker'\t=> array( 'yes', __('Send Cancellation SMS (Provider)', 'wp-base'), __('Whether to send an SMS after cancellation of the appointment.', 'wp-base'), 'SMS' ),\n+\t\t\t\t'send_commission_paid'\t\t\t=> array( 'yes', __('Send Commission Paid email', 'wp-base'), __('Whether to send an email after a commission is paid to the vendor.', 'wp-base' ), 'Marketplace' ),\n \t\t\t\t'send_completed'\t\t\t\t=> array( 'no', __('Send Completed email (Single)', 'wp-base'), __('Whether to send an email after an appointment has been completed.', 'wp-base' ) ),\n \t\t\t\t'send_completed_bulk'\t\t\t=> array( 'no', __('Send Completed email (Bulk)', 'wp-base'), __('Send email to the client(s) when \"bulk\" status change of completed is applied to bookings on admin side. ', 'wp-base' ) ),\n \t\t\t\t'send_completed_sms'\t\t\t=> array( 'no', __('Send Completed SMS', 'wp-base'), __('Whether to send an SMS after an appointment has been completed.', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_completed_sms_admin'\t\t=> array( 'no', __('Send Completed SMS (Admin)', 'wp-base'), __('Whether to send an SMS after an appointment has been completed.', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_completed_sms_bulk'\t\t=> array( 'no', __('Send Completed SMS (Bulk)', 'wp-base'), __('Send SMS to the client(s) when \"bulk\" status change of completed is applied to bookings on admin side. ', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_completed_sms_worker'\t\t=> array( 'no', __('Send Completed SMS (Provider)', 'wp-base'), __('Whether to send an SMS after an appointment has been completed.', 'wp-base'), 'SMS' ),\n-\t\t\t\t'send_confirmation'\t\t\t\t=> array( 'yes', __('Send Confirmation email (Single)', 'wp-base'), __('Whether to send an email after confirmation of the booking. Note: Admin and service provider will also get a copy as separate emails.', 'wp-base' ) ),\n-\t\t\t\t'send_confirmation_bulk'\t\t=> array( 'no', __('Send Confirmation email (Bulk)', 'wp-base'), __('Send Confirmation email to the client(s) when \"bulk\" status change of confirmed or paid is applied to bookings on admin side. ', 'wp-base' ) ),\n+\t\t\t\t'send_confirmation'\t\t\t\t=> array( 'yes', __('Send Confirmation Email (Single)', 'wp-base'), __('Whether to send an email after confirmation of the booking. Note: Admin and service provider will also get a copy as separate emails.', 'wp-base' ) ),\n+\t\t\t\t'send_confirmation_bulk'\t\t=> array( 'no', __('Send Confirmation Email (Bulk)', 'wp-base'), __('Send Confirmation Email to the client(s) when \"bulk\" status change of confirmed or paid is applied to bookings on admin side. ', 'wp-base' ) ),\n \t\t\t\t'send_confirmation_sms'\t\t\t=> array( 'yes', __('Send Confirmation SMS', 'wp-base'), __('Whether to send an SMS after confirmation of the booking.', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_confirmation_sms_admin'\t=> array( 'yes', __('Send Confirmation SMS (Admin)', 'wp-base'), __('Whether to send an SMS after confirmation of the booking.', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_confirmation_sms_bulk'\t=> array( 'no', __('Send Confirmation SMS (Bulk)', 'wp-base'), __('Send Confirmation SMS to the client(s) when \"bulk\" status change of confirmed or paid is applied to bookings on admin side. ', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_confirmation_sms_worker'\t=> array( 'yes', __('Send Confirmation SMS (Provider)', 'wp-base'), __('Whether to send an SMS after confirmation of the booking.', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_dp_reminder'\t\t\t\t=> array( 'yes', __('Send Due Payment Reminder email to the Client', 'wp-base'), __('Whether to send due payment reminder email(s) to the clients in intervals selected below. This email is only sent for the selected booking statuses when balance (total payments minus total price for the appointment) is negative and its absolute value is greater than the amount selected below.', 'wp-base'), 'Reminder and Follow-up emails' ),\n \t\t\t\t'send_follow_up'\t\t\t\t=> array( 'yes', __('Send Follow-up email to the Client', 'wp-base'), __('Whether to send follow-up email(s) to the client', 'wp-base'), 'Reminder and Follow-up emails' ),\n-\t\t\t\t'send_notification'\t\t\t\t=> array( 'yes', __('Send Pending email to Admin', 'wp-base'), __('You may want to receive a notification email whenever a new appointment is made from front end in pending status. This email is only sent if your approval is required. Note: Notification email is also sent to the service provider, if they are allowed to confirm. That is, \"Allow Service Provider Confirm Own Appointments\" is set as Yes.', 'wp-base' ) ),\n-\t\t\t\t'send_pending'\t\t\t\t\t=> array( 'yes', __('Send Pending email to the Client (Single)', 'wp-base'), __('Whether to send an email after a booking has been made in pending status.', 'wp-base' ) ),\n-\t\t\t\t'send_pending_bulk'\t\t\t\t=> array( 'no', __('Send Pending email to the Client (Bulk)', 'wp-base'), __('Send email to the client(s) when \"bulk\" status change of pending is applied to bookings on admin side. ', 'wp-base' ) ),\n+\t\t\t\t'send_notification'\t\t\t\t=> array( 'yes', __('Send Pending Email to Admin', 'wp-base'), __('You may want to receive a notification email whenever a new appointment is made from front end in pending status. This email is only sent if your approval is required. Note: Notification email is also sent to the service provider, if they are allowed to confirm. That is, \"Allow Service Provider Confirm Own Appointments\" is set as Yes.', 'wp-base' ) ),\n+\t\t\t\t'send_pending'\t\t\t\t\t=> array( 'yes', __('Send Pending Email to the Client (Single)', 'wp-base'), __('Whether to send an email after a booking has been made in pending status.', 'wp-base' ) ),\n+\t\t\t\t'send_pending_bulk'\t\t\t\t=> array( 'no', __('Send Pending Email to the Client (Bulk)', 'wp-base'), __('Send email to the client(s) when \"bulk\" status change of pending is applied to bookings on admin side. ', 'wp-base' ) ),\n \t\t\t\t'send_pending_sms'\t\t\t\t=> array( 'yes', __('Send Pending SMS', 'wp-base'), __('Whether to send an SMS after a booking has been made in pending status.', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_pending_sms_admin'\t\t=> array( 'yes', __('Send Pending SMS (Admin)', 'wp-base'), __('Whether to send an SMS after a booking has been made in pending status.', 'wp-base'), 'SMS' ),\n \t\t\t\t'send_pending_sms_bulk'\t\t\t=> array( 'no', __('Send Pending SMS (Bulk)', 'wp-base'), __('Send SMS to the client(s) when \"bulk\" status change of pending is applied to bookings on admin side. ', 'wp-base'), 'SMS' ),\n@@ -681,66 +699,68 @@\n \t\t\t);\n \n \t\t\t$default_templates = array(\n-\t\t\t\t'approved_subject'\t\t\t\t=> array( __('Your application to SITE_NAME approved!','wp-base'), __('Approved email Subject', 'wp-base'), __('Subject of email which is sent to the applicant informing that their application has been approved', 'wp-base'), 'Marketplace' ),\n-\t\t\t\t'approved_message'\t\t\t\t=> array( self::$_approved_message, __('Approved email Message', 'wp-base'), __('CLIENT, HOME_URL, SITE_NAME, PAGE_LINK (Link to vendor bio page) placeholders can be used.', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'approved_subject'\t\t\t\t=> array( __('Your application to SITE_NAME approved!','wp-base'), __('Approved Email Subject', 'wp-base'), __('Subject of email which is sent to the applicant informing that their application has been approved', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'approved_message'\t\t\t\t=> array( self::$_approved_message, __('Approved Email Message', 'wp-base'), __('CLIENT, HOME_URL, SITE_NAME, PAGE_LINK (Link to vendor bio page) placeholders can be used.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'cancellation_attachment'\t\t=> array( '', __('Cancellation email Attachment Text', 'wp-base'), __('Contents of PDF file. HTML allowed and will be formatted with related css rules.', 'wp-base'), 'PDF' ),\n \t\t\t\t'cancellation_css'\t\t\t\t=> array( '', __('css Codes for Attachment pdf File', 'wp-base'), __( 'Important: Only css for block elements (p, div, table, td, tr, etc) are allowed.', 'wp-base' ), 'PDF' ),\n-\t\t\t\t'cancellation_message'\t\t\t=> array( self::$_cancellation_message, __('Cancellation email Message', 'wp-base'), '' ),\n+\t\t\t\t'cancellation_message'\t\t\t=> array( self::$_cancellation_message, __('Cancellation Email Message', 'wp-base'), '' ),\n \t\t\t\t'cancellation_message_sms'\t\t=> array( self::$_cancellation_message_sms, __('Cancellation SMS Message', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'cancellation_message_sms_admin'=> array( self::$_cancellation_message_sms_admin, __('Cancellation SMS Message (Admin)', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'cancellation_message_sms_worker'=> array( self::$_cancellation_message_sms_admin, __('Cancellation SMS Message (Provider)', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'cancellation_subject'\t\t\t=> array( __('Your appointment has been cancelled','wp-base'), __('Cancellation Email Subject', 'wp-base'), '' ),\n+\t\t\t\t'commission_paid_subject'\t\t=> array( __('Good news! You received a payment from SITE_NAME','wp-base'), __('Commission Paid Email Subject', 'wp-base'), __('Subject of email which informs vendor that a commission payment has been made', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'commission_paid_message'\t\t=> array( self::$_commission_paid_message, __('Commission Paid Email Message', 'wp-base'), __('This email template is used when a payment is sent to vendor. VENDOR, HOME_URL, SITE_NAME, PAGE_LINK (Link to vendor bio page), AMOUNT placeholders can be used which will be replaced with their real values..', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'completed_attachment'\t\t\t=> array( '', __('Completed email Attachment Text', 'wp-base'), __('Contents of PDF file. HTML allowed and will be formatted with related css rules.', 'wp-base'), 'PDF' ),\n \t\t\t\t'completed_css'\t\t\t\t\t=> array( '', __('css Codes for Attachment pdf File', 'wp-base'), __( 'Important: Only css for block elements (p, div, table, td, tr, etc) are allowed.', 'wp-base' ), 'PDF' ),\n-\t\t\t\t'completed_message'\t\t\t\t=> array( self::$_completed_message, __('Completed email Message', 'wp-base'), '' ),\n+\t\t\t\t'completed_message'\t\t\t\t=> array( self::$_completed_message, __('Completed Email Message', 'wp-base'), '' ),\n \t\t\t\t'completed_message_sms'\t\t\t=> array( self::$_completed_message_sms, __('Completed SMS Message', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'completed_message_sms_admin'\t=> array( self::$_completed_message_sms_admin, __('Completed SMS Message (Admin)', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'completed_message_sms_worker'\t=> array( self::$_completed_message_sms_admin, __('Completed SMS Message (Provider)', 'wp-base'), '', 'SMS' ),\n-\t\t\t\t'completed_subject'\t\t\t\t=> array( __('Your appointment has been completed','wp-base'), __('Completed email Subject', 'wp-base'), '' ),\n+\t\t\t\t'completed_subject'\t\t\t\t=> array( __('Your appointment has been completed','wp-base'), __('Completed Email Subject', 'wp-base'), '' ),\n \t\t\t\t'confirmation_attachment'\t\t=> array( '', __('Confirmation email Attachment Text', 'wp-base'), __('Contents of PDF file. HTML allowed and will be formatted with related css rules.', 'wp-base'), 'PDF' ),\n \t\t\t\t'confirmation_css'\t\t\t\t=> array( '', __('css Codes for Attachment pdf File', 'wp-base'), __( 'Important: Only css for block elements (p, div, table, td, tr, etc) are allowed.', 'wp-base' ), 'PDF' ),\n-\t\t\t\t'confirmation_message'\t\t\t=> array( self::$_confirmation_message, __('Confirmation email Message', 'wp-base'), '' ),\n+\t\t\t\t'confirmation_message'\t\t\t=> array( self::$_confirmation_message, __('Confirmation Email Message', 'wp-base'), '' ),\n \t\t\t\t'confirmation_message_sms'\t\t=> array( self::$_confirmation_message_sms, __('Confirmation SMS Message', 'wp-base'), '' ),\n \t\t\t\t'confirmation_message_sms_admin'=> array( self::$_confirmation_message_sms_admin, __('Confirmation SMS Message (Admin)', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'confirmation_message_sms_worker'=> array( self::$_confirmation_message_sms_admin, __('Confirmation SMS Message (Provider)', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'confirmation_subject'\t\t\t=> array( __('Confirmation of your appointment','wp-base'), __('Confirmation Email Subject', 'wp-base'), '' ),\n \t\t\t\t'confirmation_text'\t\t\t\t=> array( self::$_confirmation_text, __('Confirmation Message Dialog Content', 'wp-base'), sprintf( __('This will be displayed to the client in a dialog pop-up after confirmed or paid bookings. All \u003Cabbr title=\"%s\">booking placeholders\u003C\u002Fabbr> can be used. If left empty, a plain javascript message will be displayed instead (see appointment_received in Custom Texts).','wp-base'), WpBConstant::email_desc(1) ) ),\n \t\t\t\t'confirmation_title'\t\t\t=> array( 'Confirmation of Your Booking', __('Confirmation Message Dialog Title', 'wp-base'), __('Title of the confirmation pop-up which will be displayed to the client after confirmed or paid bookings.','wp-base') ),\n-\t\t\t\t'declined_subject'\t\t\t\t=> array( __('Your application declined', 'wp-base'), __('Declined email Subject', 'wp-base'), __('Subject of email which is sent to the applicant informing that their application has been declined', 'wp-base'), 'Marketplace' ),\n-\t\t\t\t'declined_message'\t\t\t\t=> array( self::$_declined_message, __('Declined email Message', 'wp-base'), __('CLIENT, HOME_URL, SITE_NAME placeholders can be used.', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'declined_subject'\t\t\t\t=> array( __('Your application declined', 'wp-base'), __('Declined Email Subject', 'wp-base'), __('Subject of email which is sent to the applicant informing that their application has been declined', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'declined_message'\t\t\t\t=> array( self::$_declined_message, __('Declined Email Message', 'wp-base'), __('CLIENT, HOME_URL, SITE_NAME placeholders can be used.', 'wp-base'), 'Marketplace' ),\n \t\t\t\t'dp_reminder_attachment'\t\t=> array( '', __('Due Payment Reminder email Attachment Text', 'wp-base'), __('Contents of PDF file. HTML allowed and will be formatted with related css rules.', 'wp-base'), 'PDF' ),\n \t\t\t\t'dp_reminder_css'\t\t\t\t=> array( '', __('css Codes for Attachment pdf File', 'wp-base'), __( 'Important: Only css for block elements (p, div, table, td, tr, etc) are allowed.', 'wp-base' ), 'PDF' ),\n-\t\t\t\t'dp_reminder_message'\t\t\t=> array( self::$_dp_reminder_message, __('Due Payment Reminder email Message', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n-\t\t\t\t'dp_reminder_subject'\t\t\t=> array( __('Due Payment Reminder','wp-base'), __('Due Payment Reminder email Subject', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n+\t\t\t\t'dp_reminder_message'\t\t\t=> array( self::$_dp_reminder_message, __('Due Payment Reminder Email Message', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n+\t\t\t\t'dp_reminder_subject'\t\t\t=> array( __('Due Payment Reminder','wp-base'), __('Due Payment Reminder Email Subject', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n \t\t\t\t'follow_up_attachment'\t\t\t=> array( '', __('Follow up email Attachment Text', 'wp-base'), __('Contents of PDF file. HTML allowed and will be formatted with related css rules.', 'wp-base'), 'PDF' ),\n \t\t\t\t'follow_up_css'\t\t\t\t\t=> array( '', __('css Codes for Attachment pdf File', 'wp-base'), __( 'Important: Only css for block elements (p, div, table, td, tr, etc) are allowed.', 'wp-base' ), 'PDF' ),\n-\t\t\t\t'follow_up_message'\t\t\t\t=> array( self::$_follow_up_message, __('Follow-up email Message', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n-\t\t\t\t'follow_up_subject'\t\t\t\t=> array( __('Warmest greetings from SITE_NAME','wp-base'), __('Follow-up email Subject', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n+\t\t\t\t'follow_up_message'\t\t\t\t=> array( self::$_follow_up_message, __('Follow-up Email Message', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n+\t\t\t\t'follow_up_subject'\t\t\t\t=> array( __('Warmest greetings from SITE_NAME','wp-base'), __('Follow-up Email Subject', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n \t\t\t\t'pending_attachment'\t\t\t=> array( '', __('Pending email Attachment Text', 'wp-base'), __('Contents of PDF file. HTML allowed and will be formatted with related css rules.', 'wp-base'), 'PDF' ),\n \t\t\t\t'pending_css'\t\t\t\t\t=> array( '', __('css Codes for Attachment pdf File', 'wp-base'), __( 'Important: Only css for block elements (p, div, table, td, tr, etc) are allowed.', 'wp-base' ), 'PDF' ),\n-\t\t\t\t'pending_message'\t\t\t\t=> array( self::$_pending_message, __('Pending email Message', 'wp-base'), '' ),\n+\t\t\t\t'pending_message'\t\t\t\t=> array( self::$_pending_message, __('Pending Email Message', 'wp-base'), '' ),\n \t\t\t\t'pending_message_sms'\t\t\t=> array( self::$_pending_message_sms, __('Pending SMS Message', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'pending_message_sms_admin'\t\t=> array( self::$_pending_message_sms_admin, __('Pending SMS Message (Admin)', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'pending_message_sms_worker'\t=> array( self::$_pending_message_sms_admin, __('Pending SMS Message (Provider)', 'wp-base'), '', 'SMS' ),\n-\t\t\t\t'pending_subject'\t\t\t\t=> array( __('We have received your booking','wp-base'), __('Pending email Subject', 'wp-base'), '' ),\n+\t\t\t\t'pending_subject'\t\t\t\t=> array( __('We have received your booking','wp-base'), __('Pending Email Subject', 'wp-base'), '' ),\n \t\t\t\t'pending_text'\t\t\t\t\t=> array( self::$_pending_message, __('Pending Message Dialog Content', 'wp-base'), sprintf( __('This will be displayed to the client in a dialog pop-up after pending bookings. All \u003Cabbr title=\"%s\">booking placeholders\u003C\u002Fabbr> can be used. If left empty, a plain javascript message will be displayed instead (see appointment_received in Custom Texts).','wp-base'), WpBConstant::email_desc(1) ) ),\n \t\t\t\t'pending_title'\t\t\t\t\t=> array( 'We have received your submission', __('Pending Message Dialog Title', 'wp-base'), __('Title of the pending pop-up which will be displayed to the client when an appointment submission is received in pending status.','wp-base') ),\n \t\t\t\t'reminder_attachment'\t\t\t=> array( '', __('Reminder email Attachment Text', 'wp-base'), __('Contents of PDF file. HTML allowed and will be formatted with related css rules.', 'wp-base'), 'PDF' ),\n \t\t\t\t'reminder_css'\t\t\t\t\t=> array( '', __('css Codes for Attachment pdf File', 'wp-base'), __( 'Important: Only css for block elements (p, div, table, td, tr, etc) are allowed.', 'wp-base' ), 'PDF' ),\n-\t\t\t\t'reminder_message'\t\t\t\t=> array( self::$_reminder_message, __('Reminder email Message', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n+\t\t\t\t'reminder_message'\t\t\t\t=> array( self::$_reminder_message, __('Reminder Email Message', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n \t\t\t\t'reminder_message_sms'\t\t\t=> array( self::$_reminder_message_sms, __('Reminder SMS Message', 'wp-base'), '', 'SMS' ),\n \t\t\t\t'reminder_message_sms_worker'\t=> array( self::$_reminder_message_sms_worker, __('Reminder SMS Message (Provider)', 'wp-base'), '', 'SMS' ),\n-\t\t\t\t'reminder_subject'\t\t\t\t=> array( __('Reminder for your appointment on DATE_TIME','wp-base'), __('Reminder email Subject', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n+\t\t\t\t'reminder_subject'\t\t\t\t=> array( __('Reminder for your appointment on DATE_TIME','wp-base'), __('Reminder Email Subject', 'wp-base'), '', 'Reminder and Follow-up emails' ),\n \t\t\t\t'terms_text'\t\t\t\t\t=> array( self::$_terms, __('Dialog Content', 'wp-base'), __('Terms & Conditions text. SITE_NAME and HOME_URL placeholders will be replaced by their actual values.','wp-base' ) ),\n \t\t\t\t'terms_title'\t\t\t\t\t=> array( 'Terms & Conditions', __('Dialog Title', 'wp-base'), __('Title of the pop-up which displays terms and conditions.','wp-base') ),\n-\t\t\t\t'validation_subject'\t\t\t=> array( __('Activation for SITE_NAME','wp-base'), __('Validation email Subject', 'wp-base'), __('Subject of email which is sent to vendor in order to validate their email address and activate their account', 'wp-base'), 'Marketplace' ),\n-\t\t\t\t'validation_message'\t\t\t=> array( self::$_validation_message, __('Validation email Message', 'wp-base'), __('Must include ACTIVATE placeholder which will be replaced with activation link. CLIENT, HOME_URL, SITE_NAME placeholders can also be used.', 'wp-base'), 'Marketplace' ),\n-\t\t\t\t'vendor_pending_subject'\t\t=> array( __('Your application to SITE_NAME has been received','wp-base'), __('Vendor Pending email Subject', 'wp-base'), __('Subject of email which informs vendor that application has been received and in pending status', 'wp-base'), 'Marketplace' ),\n-\t\t\t\t'vendor_pending_message'\t\t=> array( self::$_vendor_pending_message, __('Vendor Pending email Message', 'wp-base'), __('This email template is used when user application is in pending status. CLIENT, HOME_URL, SITE_NAME, PAGE_LINK (Link to vendor bio page) placeholders can be used.', 'wp-base'), 'Marketplace' ),\n-\t\t\t\t'waiting_list_message'\t\t\t=> array( self::$_waiting_list_message, __('Submission Received email Message', 'wp-base'), __('Body of email which informs client that their submission has been added to the waiting list.','wp-base') ),\n-\t\t\t\t'waiting_list_notify_message'\t=> array( self::$_waiting_list_notify_message, __('Notification email Message', 'wp-base'), __('Body of email which informs client that there is an opening for the requested time slot. CLAIM should be included in the message so that client can confirm their request is still valid.','wp-base') ),\n-\t\t\t\t'waiting_list_notify_subject'\t=> array( __('Urgent action required for SITE_NAME','wp-base'), __('Notification email Subject', 'wp-base'), __('Subject of email which informs client that there is an opening for the requested time slot.','wp-base') ),\n-\t\t\t\t'waiting_list_subject'\t\t\t=> array( __('Your Booking has been added to SITE_NAME waiting list','wp-base'), __('Submission Received email Subject', 'wp-base'), __('Subject of email which informs client that their submission has been added to the waiting list.','wp-base') ),\n+\t\t\t\t'validation_subject'\t\t\t=> array( __('Activation for SITE_NAME','wp-base'), __('Validation Email Subject', 'wp-base'), __('Subject of email which is sent to vendor in order to validate their email address and activate their account', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'validation_message'\t\t\t=> array( self::$_validation_message, __('Validation Email Message', 'wp-base'), __('Must include ACTIVATE placeholder which will be replaced with activation link. CLIENT, HOME_URL, SITE_NAME placeholders can also be used.', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'vendor_pending_subject'\t\t=> array( __('Your application to SITE_NAME has been received','wp-base'), __('Vendor Pending Email Subject', 'wp-base'), __('Subject of email which informs vendor that application has been received and in pending status', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'vendor_pending_message'\t\t=> array( self::$_vendor_pending_message, __('Vendor Pending Email Message', 'wp-base'), __('This email template is used when user application is in pending status. CLIENT, HOME_URL, SITE_NAME, PAGE_LINK (Link to vendor bio page) placeholders can be used.', 'wp-base'), 'Marketplace' ),\n+\t\t\t\t'waiting_list_message'\t\t\t=> array( self::$_waiting_list_message, __('Submission Received Email Message', 'wp-base'), __('Body of email which informs client that their submission has been added to the waiting list.','wp-base') ),\n+\t\t\t\t'waiting_list_notify_message'\t=> array( self::$_waiting_list_notify_message, __('Notification Email Message', 'wp-base'), __('Body of email which informs client that there is an opening for the requested time slot. CLAIM should be included in the message so that client can confirm their request is still valid.','wp-base') ),\n+\t\t\t\t'waiting_list_notify_subject'\t=> array( __('Urgent action required for SITE_NAME','wp-base'), __('Notification Email Subject', 'wp-base'), __('Subject of email which informs client that there is an opening for the requested time slot.','wp-base') ),\n+\t\t\t\t'waiting_list_subject'\t\t\t=> array( __('Your Booking has been added to SITE_NAME waiting list','wp-base'), __('Submission Received Email Subject', 'wp-base'), __('Subject of email which informs client that their submission has been added to the waiting list.','wp-base') ),\n \n \t\t\t);\n \ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fcore.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fcore.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fcore.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fcore.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -418,6 +418,10 @@\n \t\t\tif ( '0.0' != $prev_ver && version_compare( $prev_ver, '5.1', '\u003C' ) ) {\r\n \t\t\t\twpb_upgrade_510();\r\n \t\t\t}\r\n+\t\t\t\r\n+\t\t\tif ( '0.0' != $prev_ver && version_compare( $prev_ver, '5.9.9', '\u003C' ) ) {\r\n+\t\t\t\twpb_upgrade_600();\r\n+\t\t\t}\t\t\t\r\n \r\n \t\t\tdo_action( 'app_installed', $current_ver, $prev_ver );\r\n \r\n@@ -2687,7 +2691,7 @@\n \t}\r\n \r\n \t\u002F**\r\n-\t * Number of *days* that an appointment can be taken (Upper Limit)\r\n+\t * Number of *days* that a booking can be made (Upper Limit)\r\n \t * @param start_ts: Optionally calculate limit based on timestamp of selected time slot (just passed to the filter)\r\n \t * @return integer\r\n \t *\u002F\r\n@@ -2918,21 +2922,20 @@\n \t\t\treturn false;\r\n \t\t}\r\n \r\n-\t\t\u002F\u002F If there is no valid user email try to find one from user data\r\n+\t\t$valid_email = '';\r\n \t\t$maybe_email = wpb_get_app_meta( $app_id, 'email' );\r\n \r\n+\t\t\u002F\u002F If there is no valid user email try to find one from user data\r\n \t\tif ( ! is_email( $maybe_email ) ) {\r\n-\t\t\t$email_found = false;\r\n \r\n \t\t\tif ( $r->user ) {\r\n \t\t\t\t$app_user = BASE('User')->get_app_userdata( 0, $r->user );\r\n \t\t\t\tif ( isset( $app_user['email'] ) ) {\r\n-\t\t\t\t\t$r->email = $app_user['email'];\r\n-\t\t\t\t\t$email_found = true;\r\n+\t\t\t\t\t$valid_email = $app_user['email'];\r\n \t\t\t\t}\r\n \t\t\t}\r\n \r\n-\t\t\tif ( ! $email_found ) {\r\n+\t\t\tif ( ! $valid_email ) {\r\n \t\t\t\tif ( wpb_is_admin() ) {\r\n \t\t\t\t\twpb_log_email( sprintf( __('No valid email is defined for booking #%s','wp-base'), $r->ID ) );\r\n \t\t\t\t}\r\n@@ -2941,7 +2944,7 @@\n \t\t\t\treturn false;\r\n \t\t\t}\r\n \t\t} else {\r\n-\t\t\t$r->email = $maybe_email;\r\n+\t\t\t$valid_email = $maybe_email;\r\n \t\t}\r\n \r\n \t\t$subject = $this->_replace(\r\n@@ -2957,7 +2960,7 @@\n \t\t$attach = apply_filters( 'app_email_attachment', array(), $r, $context );\r\n \r\n \t\t$mail_result = wp_mail(\r\n-\t\t\tapply_filters( 'app_send_email_client_email', array( $r->email ), $body, $r, $app_id, $context, $resend, $edit ),\r\n+\t\t\tapply_filters( 'app_send_email_client_email', array( $valid_email ), $body, $r, $app_id, $context, $resend, $edit ),\r\n \t\t\t$subject,\r\n \t\t\t$body,\r\n \t\t\t$this->message_headers( $context, $r ),\r\n@@ -2985,7 +2988,7 @@\n \t\t\t\twpb_log_email( sprintf(\r\n \t\t\t\t\t__('%1$s message resent to %2$s for booking #%3$s','wp-base'),\r\n \t\t\t\t\tucwords($context_local),\r\n-\t\t\t\t\t$r->email,\r\n+\t\t\t\t\t$valid_email,\r\n \t\t\t\t\t$app_id\r\n \t\t\t\t) );\r\n \r\n@@ -2995,7 +2998,7 @@\n \t\t\twpb_log_email( sprintf(\r\n \t\t\t\t__('%1$s message sent to %2$s for booking #%3$s','wp-base'),\r\n \t\t\t\tucwords($context_local),\r\n-\t\t\t\t$r->email,\r\n+\t\t\t\t$valid_email,\r\n \t\t\t\t$app_id\r\n \t\t\t) );\r\n \r\n@@ -3093,7 +3096,7 @@\n \t\t\t\treturn false;\r\n \t\t\t}\r\n \t\t} else {\r\n-\t\t\twpb_log_email( sprintf( __('Message sending to %s for booking #%s has failed.','wp-base'), $r->email, $app_id ) );\r\n+\t\t\twpb_log_email( sprintf( __('Message sending to %s for booking #%s has failed.','wp-base'), $valid_email, $app_id ) );\r\n \t\t\tdo_action( 'app_email_failed', $body, $r, $app_id, $context, $resend, $edit );\r\n \t\t}\r\n \t}\r\n@@ -3450,7 +3453,7 @@\n \t\t\t\tcontinue;\r\n \t\t\t}\r\n \r\n-\t\t\tif ( 'edit' == $action && ( ! BASE('FEE') || BASE('FEE')->is_too_late( $r ) ) ) {\r\n+\t\t\tif ( 'edit' == $action && wpb_edit_is_too_late( $r ) ) {\r\n \t\t\t\tcontinue;\r\n \t\t\t} else if ( 'cancel' == $action && BASE('Cancel')->is_too_late( $r ) ) {\r\n \t\t\t\tcontinue;\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fcustom-texts.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fcustom-texts.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fcustom-texts.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fcustom-texts.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -144,18 +144,26 @@\n \t\t\t$this->help_texts = array(\n \t\t\t\t\t'action'\t\t\t\t\t\t\t\t=> __('Column header of Action for Bookings shortcode', 'wp-base' ),\n \t\t\t\t\t'address'\t\t\t\t\t\t\t\t=> __('Title for Address field in the confirmation form and user page','wp-base'),\n-\t\t\t\t\t'address_placeholder'\t\t\t\t\t=> __('Placeholder for Address field in the confirmation form','wp-base'),\n \t\t\t\t\t'add_to_cart'\t\t\t\t\t\t\t=> __('Button text to add a product to shopping cart of WooCommerce or EDD', 'wp-base'),\n \t\t\t\t\t'added_to_cart'\t\t\t\t\t\t\t=> __('Message displayed when an item is added to WooCommerce or EDD shopping cart. %s will be replaced with item name.', 'wp-base' ),\n \t\t\t\t\t'admin'\t\t\t\t\t\t\t\t\t=> __('Label for admin user', 'wp-base'),\n \t\t\t\t\t'agora'\t\t\t\t\t\t\t\t\t=> __('Column header of Agora for List of Bookings', 'wp-base' ),\n \t\t\t\t\t'agora_already_started'\t\t\t\t\t=> __('Javascript message displayed to the host when he\u002Fshe is trying to start a meeting which has been already started', 'wp-base'),\n \t\t\t\t\t'agora_called'\t\t\t\t\t\t\t=> __('Javascript message displayed to the participant when he\u002Fshe is called to the meeting by the host.','wp-base'),\n+\t\t\t\t\t'agora_connecting'\t\t\t\t\t\t=> __('Message displayed above video streaming area during connection to Agora servers','wp-base'),\n+\t\t\t\t\t'agora_join'\t\t\t\t\t\t\t=> __('Text for Join button','wp-base'),\n+\t\t\t\t\t'agora_leave_call'\t\t\t\t\t\t=> __('Tooltip text for Leave Call icon','wp-base'),\n \t\t\t\t\t'agora_meeting_note_host'\t\t\t\t=> __('Default text displayed to the meeting host at the Meeting Room.','wp-base'),\n \t\t\t\t\t'agora_meeting_note'\t\t\t\t\t=> __('Default text about general meeting rules.','wp-base'),\n \t\t\t\t\t'agora_meeting_started'\t\t\t\t\t=> __('Text displayed to participant when meeting has started. Keep MEETING_LINK placeholder which will be replaced by the link to the Meeting Room page.','wp-base'),\n+\t\t\t\t\t'agora_no_camera'\t\t\t\t\t\t=> __('Javascript error message displayed when no camera and\u002For mic found or not permitted to use','wp-base'),\n+\t\t\t\t\t'agora_no_other_camera'\t\t\t\t\t=> __('Javascript error message displayed when no other camera found to switch to','wp-base'),\n \t\t\t\t\t'agora_no_meeting'\t\t\t\t\t\t=> __('Text displayed when user has no future or current meetings.','wp-base'),\n \t\t\t\t\t'agora_start_meeting'\t\t\t\t\t=> __('Label for Start Meeting link','wp-base'),\n+\t\t\t\t\t'agora_switch_camera'\t\t\t\t\t=> __('Tooltip text for Switch Camera icon','wp-base'),\n+\t\t\t\t\t'agora_toggle_mic'\t\t\t\t\t\t=> __('Tooltip text for Toggle Microphone icon','wp-base'),\n+\t\t\t\t\t'agora_toggle_camera'\t\t\t\t\t=> __('Tooltip text for Toggle Camera icon','wp-base'),\n+\t\t\t\t\t'agora_switch_camera_failed'\t\t\t=> __('Javascript error message diisplayed when camera switch action failed', 'wp-base'),\t\t\t\n \t\t\t\t\t'agora_waiting_note'\t\t\t\t\t=> __('Default text for client about how meeting will start.','wp-base'),\n \t\t\t\t\t'agora_waiting_note_host'\t\t\t\t=> __('Default text for host about how meeting will start.','wp-base'),\n \t\t\t\t\t'all'\t\t\t\t\t\t\t\t\t=> __('Selection in provider dropdown when no particular provider is selected', 'wp-base'),\n@@ -268,7 +276,6 @@\n \t\t\t\t\t'checkout_button_tip'\t\t=> __('Tooltip text for checkout button', 'wp-base' ),\n \t\t\t\t\t'choose_image'\t\t\t\t=> __('Label to select an image for service or avatar', 'wp-base'),\n \t\t\t\t\t'city'\t\t\t\t\t\t=> __('Title for City field in the confirmation form and user page','wp-base'),\n-\t\t\t\t\t'city_placeholder'\t\t\t=> __('Placeholder for City field in the confirmation form','wp-base'),\n \t\t\t\t\t'clear'\t\t\t\t\t\t=> __('Clear signature button text', 'wp-base' ),\n \t\t\t\t\t'clear_all'\t\t\t\t\t=> __('Label for Clear All','wp-base'),\n \t\t\t\t\t'click_for_waiting_list'\t=> __('Hint text to book as Waiting List','wp-base'),\n@@ -338,7 +345,6 @@\n \t\t\t\t\t'edit_saved'\t\t\t\t=> __('Javascript message displayed after changes on booking have been saved', 'wp-base' ),\n \t\t\t\t\t'edit_too_early'\t\t\t=> __('Javascript message displayed when client attempts to edit an appointment with a start time which falls in lead time (lower limit) margin. Keep %s which will be replaced by the latest time client can pick.','wp-base'),\n \t\t\t\t\t'email'\t\t\t\t\t\t=> __('Title for email field in the confirmation form and user page','wp-base'),\n-\t\t\t\t\t'email_placeholder'\t\t\t=> __('Placeholder for email field in the confirmation form','wp-base'),\n \t\t\t\t\t'email_unmatch'\t\t\t\t=> __('Javascript message displayed when logged in client attempts to make a booking with email of another registered user','wp-base'),\n \t\t\t\t\t'empty_cart'\t\t\t\t=> __('Label for Empty Cart button', 'wp-base'),\n \t\t\t\t\t'end'\t\t\t\t\t\t=> __('Label for end time in confirmation form', 'wp-base' ),\n@@ -367,7 +373,6 @@\n \t\t\t\t\t'fee'\t\t\t\t\t\t=> __('Label for Fee', 'wp-base'),\n \t\t\t\t\t'full_name'\t\t\t\t\t=> __('Title for Full Name field in the forms','wp-base'),\n \t\t\t\t\t'first_name'\t\t\t\t=> __('Title for First Name field in the confirmation form and user page','wp-base'),\n-\t\t\t\t\t'first_name_placeholder'\t=> __('Placeholder for First Name field in the confirmation form','wp-base'),\n \t\t\t\t\t'friday'\t\t\t\t\t=> __('Friday', 'wp-base'),\n \t\t\t\t\t'friday_initial'\t\t\t=> __('Initial letter of Friday', 'wp-base'),\n \t\t\t\t\t'friday_short'\t\t\t\t=> __('Short form of Friday', 'wp-base'),\n@@ -406,7 +411,6 @@\n \t\t\t\t\t'language'\t\t\t\t\t=> __('Label for Client Language', 'wp-base' ),\n \t\t\t\t\t'lasts'\t\t\t\t\t\t=> __('Title for Duration of the selected service(s) in the confirmation form', 'wp-base' ),\n \t\t\t\t\t'last_name'\t\t\t\t\t=> __('Title for Last Name field in the confirmation form and user page','wp-base'),\n-\t\t\t\t\t'last_name_placeholder'\t\t=> __('Placeholder for Last Name field in the confirmation form','wp-base'),\n \t\t\t\t\t'length_menu'\t\t\t\t=> __('Localization for pulldown menu that selects the number of records to be displayed in the tables. Keep _MENU_ which stands for the pulldown menu itself.', 'wp-base'),\n \t\t\t\t\t'limit_exceeded'\t\t\t=> __('Javascript message displayed when selected number of appointments exceeds permitted number. Keep %d which will be replaced by actual limit', 'wp-base'),\n \t\t\t\t\t'list'\t\t\t\t\t\t=> __('Text for List Button', 'wp-base' ),\n@@ -511,7 +515,6 @@\n \t\t\t\t\t'mv_video'\t\t\t\t\t=> __('Label for Video in user profile','wp-base'),\n \t\t\t\t\t'mv_wait'\t\t\t\t\t=> __('Account activation complete message. Displayed when vendor application awaits admin approval', 'wp-base' ),\n \t\t\t\t\t'name'\t\t\t\t\t\t=> __('Title for Name field in the confirmation form','wp-base'),\n-\t\t\t\t\t'name_placeholder'\t\t\t=> __('Placeholder for Name field in the confirmation form','wp-base'),\n \t\t\t\t\t'next'\t\t\t\t\t\t=> __('Pagination button text for Next','wp-base'),\n \t\t\t\t\t'next_day'\t\t\t\t\t=> __('Note added to details field on confirmation form to notify a booking ending next day', 'wp-base' ),\n \t\t\t\t\t'next_month'\t\t\t\t=> __('Pagination button text for Next Month','wp-base'),\n@@ -585,7 +588,6 @@\n \t\t\t\t\t'pending_payment'\t\t\t=> __('Text for status pending and an automatic payment via a gateway is expected', 'wp-base'),\n \t\t\t\t\t'person_types'\t\t\t\t=> __('Label for Person Types', 'wp-base' ),\n \t\t\t\t\t'phone'\t\t\t\t\t\t=> __('Title for Phone field in the confirmation form and user page','wp-base'),\n-\t\t\t\t\t'phone_placeholder'\t\t\t=> __('Placeholder for Phone field in the confirmation form','wp-base'),\n \t\t\t\t\t'please_wait'\t\t\t\t=> __('Message displayed while submitting a form', 'wp-base' ),\n \t\t\t\t\t'pm_button_text'\t\t\t=> __('Private Message button text. RECIPIENT placeholder will be replaced by the display name of the other party', 'wp-base'),\n \t\t\t\t\t'pop_placeholder'\t\t\t=> __('Placeholder for participant phone field. %d will be replaced by the order in the list.', 'wp-base' ),\n@@ -674,7 +676,6 @@\n \t\t\t\t\t'standby'\t\t\t\t\t=> __('Text for status stand by', 'wp-base'),\n \t\t\t\t\t'start'\t\t\t\t\t\t=> __('Label for start time in confirmation form', 'wp-base' ),\n \t\t\t\t\t'state'\t\t\t\t\t\t=> __('Title for State field in the confirmation form and user page','wp-base'),\n-\t\t\t\t\t'state_placeholder'\t\t\t=> __('Placeholder for State field in the confirmation form','wp-base'),\n \t\t\t\t\t'status'\t\t\t\t\t=> __('Column header of Status for List of Bookings', 'wp-base' ),\n \t\t\t\t\t'store'\t\t\t\t\t\t=> __('Label for Store', 'wp-base' ),\n \t\t\t\t\t'stores'\t\t\t\t\t=> __('Label for Stores', 'wp-base' ),\n@@ -696,7 +697,8 @@\n \t\t\t\t\t'timezone'\t\t\t\t\t=> __('Label for Time Zone', 'wp-base'),\n \t\t\t\t\t'timezone_title'\t\t\t=> __('Title of Time Zone selection pulldown menu', 'wp-base'),\n \t\t\t\t\t'today'\t\t\t\t\t\t=> __('Button text for Today in Schedules', 'wp-base' ),\n-\t\t\t\t\t'too_late'\t\t\t\t\t=> __('Javascript message displayed when client attempts to cancel\u002Fedit\u002Fadd an appointment, but it is too late','wp-base'),\n+\t\t\t\t\t'too_early'\t\t\t\t\t=> __('Javascript message or tooltip text displayed when it is early to edit a booking','wp-base'),\n+\t\t\t\t\t'too_late'\t\t\t\t\t=> __('Javascript message or tooltip text displayed when client attempts to cancel\u002Fedit\u002Fadd a booking, but it is too late','wp-base'),\n \t\t\t\t\t'too_less'\t\t\t\t\t=> __('Javascript message displayed when selected number of appointments is less than the permitted number. Keep %d which will be replaced by actual limit', 'wp-base'),\n \t\t\t\t\t'total_paid'\t\t\t\t=> __('Column header of Total Paid amount for List of Bookings', 'wp-base'),\n \t\t\t\t\t'trial_service_limit'\t\t=> __('Javascript error message when client attempts to select a time slot which would exceed trial limit. Keep LIMIT placeholder which will be replaced by set limit value.', 'wp-base'),\n@@ -737,7 +739,6 @@\n \t\t\t\t\t'yes'\t\t\t\t\t\t=> __('Translation for Yes, e.g. to show a check box is checked','wp-base'),\n \t\t\t\t\t'your_price'\t\t\t\t=> __('Label for Your Rate field in user profile. The same for hourly and fixed rates.','wp-base'),\n \t\t\t\t\t'zip'\t\t\t\t\t\t=> __('Title for Postcode field in the confirmation form and user page','wp-base'),\n-\t\t\t\t\t'zip_placeholder'\t\t\t=> __('Placeholder for Postcode field in the confirmation form','wp-base'),\n \t\t\t\t\t'zoom'\t\t\t\t\t\t=> __('Column header of Zoom for List of Bookings', 'wp-base' ),\n \t\t\t\t\t'zoom_id'\t\t\t\t\t=> __('Meeting ID label in List of Bookings','wp-base'),\n \t\t\t\t\t'zoom_join'\t\t\t\t\t=> __('Button label for Join to Meeting','wp-base'),\n@@ -781,18 +782,26 @@\n \t\t$this->default_texts = array(\n \t\t\t'action'\t\t\t\t\t\t\t\t=> __('Action', 'wp-base' ),\n \t\t\t'address'\t\t\t\t\t\t\t\t=> __('Address','wp-base'),\n-\t\t\t'address_placeholder'\t\t\t\t\t=> '&nbsp;',\n \t\t\t'add_to_cart'\t\t\t\t\t\t\t=> __('Add to Cart', 'wp-base'),\n \t\t\t'added_to_cart'\t\t\t\t\t\t\t=> __( '%s has been added to your shopping cart.', 'wp-base' ),\n \t\t\t'admin'\t\t\t\t\t\t\t\t\t=> __('Admin', 'wp-base'),\n \t\t\t'agora'\t\t\t\t\t\t\t\t\t=> __('Agora', 'wp-base' ),\n \t\t\t'agora_already_started'\t\t\t\t\t=> __('This meeting has already started.', 'wp-base'),\n \t\t\t'agora_called'\t\t\t\t\t\t\t=> __('Meeting has been started by the host and you are being called. Please confirm to join the meeting.','wp-base'),\n+\t\t\t'agora_connecting'\t\t\t\t\t\t=> __('Connecting...','wp-base'),\n+\t\t\t'agora_join'\t\t\t\t\t\t\t=> __('Join','wp-base'),\n+\t\t\t'agora_leave_call'\t\t\t\t\t\t=> __('Leave Call','wp-base'),\n \t\t\t'agora_meeting_note'\t\t\t\t\t=> __('&nbsp;','wp-base'),\n-\t\t\t'agora_meeting_note_host'\t\t\t\t=> __('You can start by clicking START_MEETING link immediately. If you do so, participant will be able to attend to the meeting even before meeting time arrives.','wp-base'),\n+\t\t\t'agora_meeting_note_host'\t\t\t\t=> __('You can start by clicking START_MEETING link immediately. If you do so, participant will be able to attend to the meeting even before the scheduled meeting time.','wp-base'),\n \t\t\t'agora_meeting_started'\t\t\t\t\t=> __('Meeting already started. Please click MEETING_ROOM to join.','wp-base'),\n+\t\t\t'agora_no_camera'\t\t\t\t\t\t=> __('Could not access microphone and\u002For camera. Please check permissions','wp-base'),\n+\t\t\t'agora_no_other_camera'\t\t\t\t\t=> __('Could not find another camera to switch to','wp-base'),\n \t\t\t'agora_no_meeting'\t\t\t\t\t\t=> __('You don\\'t have any upcoming or running meetings.','wp-base'),\n \t\t\t'agora_start_meeting'\t\t\t\t\t=> __('Start Meeting','wp-base'),\n+\t\t\t'agora_switch_camera'\t\t\t\t\t=> __('Switch Camera','wp-base'),\n+\t\t\t'agora_toggle_mic'\t\t\t\t\t\t=> __('Toggle Microphone','wp-base'),\n+\t\t\t'agora_toggle_camera'\t\t\t\t\t=> __('Toggle Camera','wp-base'),\n+\t\t\t'agora_switch_camera_failed'\t\t\t=> __('Failed to switch camera', 'wp-base'),\n \t\t\t'agora_waiting_note'\t\t\t\t\t=> __('When countdown expires, you will be redirected to the Meeting Room. Please keep this page open until then.','wp-base'),\n \t\t\t'agora_waiting_note_host'\t\t\t\t=> __('You are the host of this meeting. You can click MEETING_ROOM to go to the Meeting Room, or wait here. If you prefer to stay, when countdown expires, you will be redirected to the Meeting Room. Please keep this page open until then.','wp-base'),\n \t\t\t'all'\t\t\t\t\t\t\t\t\t=> __('All', 'wp-base'),\n@@ -823,7 +832,7 @@\n \t\t\t'blacklisted'\t\t\t\t\t\t\t=> __('We are sorry, but the provided email cannot be accepted. Please contact website admin for details.', 'wp-base'),\n \t\t\t'booking'\t\t\t\t\t\t\t\t=> __('Processing booking...','wp-base'),\n \t\t\t'booking_id'\t\t\t\t\t\t\t=> __('Booking','wp-base'),\n-\t\t\t'booking_approved'\t\t\t\t\t\t=> __( 'Selected booking approved', 'wp-base' ),\n+\t\t\t'booking_approved'\t\t\t\t\t\t=> __('Selected booking approved', 'wp-base' ),\n \t\t\t'booking_closed'\t\t\t\t\t\t=> __('Booking closed',\t'wp-base'),\n \t\t\t'book_now_long'\t\t\t\t\t\t\t=> __('Book Now for START', 'wp-base'),\n \t\t\t'book_now_short'\t\t\t\t\t\t=> __('Book Now', 'wp-base'),\n@@ -905,7 +914,6 @@\n \t\t\t'choose_image'\t\t\t\t=> __('Choose Image', 'wp-base'),\n \t\t\t'checkout_button_tip'\t\t=> __('Click to submit', 'wp-base' ),\n \t\t\t'city'\t\t\t\t\t\t=> __('City','wp-base'),\n-\t\t\t'city_placeholder'\t\t\t=> '&nbsp;',\n \t\t\t'clear'\t\t\t\t\t\t=> __('Clear', 'wp-base' ),\n \t\t\t'clear_all'\t\t\t\t\t=> __('Clear All', 'wp-base' ),\n \t\t\t'click_for_waiting_list'\t=> __('Click to add to Waiting List','wp-base'),\n@@ -936,7 +944,6 @@\n \t\t\t'continue_button'\t\t\t=> __('Add Another Slot', 'wp-base'),\n \t\t\t'countdown_title'\t\t\t=> __('Your next appointment', 'wp-base'),\n \t\t\t'country'\t\t\t\t\t=> __('Country','wp-base'),\n-\t\t\t'country_placeholder'\t\t=> '&nbsp;',\n \t\t\t'coupon'\t\t\t\t\t=> __('Discount Code', 'wp-base'),\n \t\t\t'coupon_invalid'\t\t\t=> __('Code is invalid', 'wp-base'),\n \t\t\t'coupon_valid'\t\t\t\t=> __('Code is valid', 'wp-base'),\n@@ -969,13 +976,14 @@\n \t\t\t'duration'\t\t\t\t\t=> __('Duration', 'wp-base'),\n \t\t\t'edd_payment'\t\t\t\t=> __('EDD', 'wp-base'),\n \t\t\t'edit'\t\t\t\t\t\t=> __('Edit', 'wp-base'),\n-\t\t\t'edit_app_confirm'\t\t\t=> __('You are about to edit an existing appointment. Click OK to continue.','wp-base'),\n+\t\t\t'edit_app_confirm'\t\t\t=> __('You are about to edit an existing booking. Click OK to continue.','wp-base'),\n \t\t\t'edit_button'\t\t\t\t=> __('Edit','wp-base'),\n \t\t\t'edit_disabled'\t\t\t\t=> __('Editing of bookings is disabled. Please contact website admin.','wp-base'),\n+\t\t\t'edit_error'\t\t\t\t=> __('% parameter of the booking cannot be edited.','wp-base'),\n \t\t\t'edit_saved'\t\t\t\t=> __('Booking successfully changed.', 'wp-base' ),\n+\t\t\t'edit_status_error'\t\t\t=> __('Bookings in this stage cannot be edited.','wp-base'),\n \t\t\t'edit_too_early'\t\t\t=> __('New time of the booking is too close. Please select a time later than %s.','wp-base'),\n \t\t\t'email'\t\t\t\t\t\t=> __('Email','wp-base'),\n-\t\t\t'email_placeholder'\t\t\t=> '&nbsp;',\n \t\t\t'email_unmatch'\t\t\t\t=> __('Submitted email does not belong to you','wp-base'),\n \t\t\t'empty_cart'\t\t\t\t=> __('Empty Cart', 'wp-base'),\n \t\t\t'end'\t\t\t\t\t\t=> __('End', 'wp-base'),\n@@ -1006,7 +1014,6 @@\n \t\t\t'fee'\t\t\t\t\t\t=> __('Fee', 'wp-base'),\n \t\t\t'full_name'\t\t\t\t\t=> __('Full Name','wp-base'),\n \t\t\t'first_name'\t\t\t\t=> __('First Name','wp-base'),\n-\t\t\t'first_name_placeholder'\t=> '&nbsp;',\n \t\t\t'friday'\t\t\t\t\t=> $method_exists ? $wp_locale->get_weekday( 5 ) : 'Friday',\n \t\t\t'friday_initial'\t\t\t=> $method_exists ? $wp_locale->get_weekday_initial( $wp_locale->get_weekday( 5 ) ) : 'F',\n \t\t\t'friday_short'\t\t\t\t=> $method_exists ? $wp_locale->get_weekday_abbrev( $wp_locale->get_weekday( 5 ) ) : 'Fr',\n@@ -1036,7 +1043,7 @@\n \t\t\t'jitsi_already_started'\t\t=> __('This meeting has already started.', 'wp-base'),\n \t\t\t'jitsi_called'\t\t\t\t=> __('Meeting has been started by the host and you are being called. Please confirm to join the meeting.','wp-base'),\n \t\t\t'jitsi_meeting_note'\t\t=> __('&nbsp;','wp-base'),\n-\t\t\t'jitsi_meeting_note_host'\t=> __('You can start by clicking START_MEETING link immediately. If you do so, participant will be able to attend to the meeting even before meeting time arrives.','wp-base'),\n+\t\t\t'jitsi_meeting_note_host'\t=> __('You can start by clicking START_MEETING link immediately. If you do so, participant will be able to attend to the meeting even before the scheduled meeting time.','wp-base'),\n \t\t\t'jitsi_meeting_started'\t\t=> __('Meeting already started. Please click MEETING_ROOM to join.','wp-base'),\n \t\t\t'jitsi_no_meeting'\t\t\t=> __('You don\\'t have any upcoming or running meetings.','wp-base'),\n \t\t\t'jitsi_start_meeting'\t\t=> __('Start Meeting','wp-base'),\n@@ -1045,7 +1052,6 @@\n \t\t\t'language'\t\t\t\t\t=> __('Language', 'wp-base' ),\n \t\t\t'lasts'\t\t\t\t\t\t=> __('Lasts', 'wp-base' ),\n \t\t\t'last_name'\t\t\t\t\t=> __('Last Name','wp-base'),\n-\t\t\t'last_name_placeholder'\t\t=> '&nbsp;',\n \t\t\t'length_menu'\t\t\t\t=> __('Display _MENU_ records', 'wp-base'),\n \t\t\t'limit_exceeded'\t\t\t=> __('Number of time slot limit (%d) has been reached.', 'wp-base'),\n \t\t\t'list'\t\t\t\t\t\t=> __('List', 'wp-base' ),\n@@ -1061,7 +1067,7 @@\n \t\t\t'logged_message'\t\t\t=> __('Click a free day to apply for an appointment.', 'wp-base'),\n \t\t\t'logging_in'\t\t\t\t=> __('Preparing login...','wp-base'),\n \t\t\t'login'\t\t\t\t\t\t=> __('Login', 'wp-base'),\n-\t\t\t'login_for_cancel'\t\t\t=> __('Please login in order to cancel the appointment','wp-base'),\n+\t\t\t'login_for_cancel'\t\t\t=> __('Please login in order to cancel the booking','wp-base'),\n \t\t\t'login_for_confirm'\t\t\t=> __('Please login in order to confirm the booking','wp-base'),\n \t\t\t'login_for_edit'\t\t\t=> __('Please login in order to edit the booking','wp-base'),\n \t\t\t'login_message'\t\t\t\t=> __('Click here to login:', 'wp-base' ),\n@@ -1081,6 +1087,7 @@\n \t\t\t'min_short'\t\t\t\t\t=> __('min','wp-base'),\n \t\t\t'missing_extra'\t\t\t\t=> __('Please select at least one option from the list','wp-base'),\n \t\t\t'missing_field'\t\t\t\t=> __('Please fill in the required field','wp-base'),\n+\t\t\t'missing_id'\t\t\t\t=> __('Missing booking ID or service','wp-base'),\n \t\t\t'missing_terms_check'\t\t=> __('Please accept Terms and Conditions','wp-base'),\n \t\t\t'monday'\t\t\t\t\t=> $method_exists ? $wp_locale->get_weekday( 1 ) : 'Monday',\n \t\t\t'monday_initial'\t\t\t=> $method_exists ? $wp_locale->get_weekday_initial( $wp_locale->get_weekday( 1 ) ) : 'M',\n@@ -1149,7 +1156,6 @@\n \t\t\t'mv_video'\t\t\t\t\t=> __('Video','wp-base'),\n \t\t\t'mv_wait'\t\t\t\t\t=> __('Please wait until you receive an email from us about the result of your vendor application.', 'wp-base' ),\n \t\t\t'name'\t\t\t\t\t\t=> __('Name','wp-base'),\n-\t\t\t'name_placeholder'\t\t\t=> '&nbsp;',\n \t\t\t'next'\t\t\t\t\t\t=> __('Next','wp-base'),\n \t\t\t'next_day'\t\t\t\t\t=> __('Ends next day', 'wp-base' ),\n \t\t\t'next_month'\t\t\t\t=> __('Next Month','wp-base'),\n@@ -1220,7 +1226,6 @@\n \t\t\t'pending_payment'\t\t\t=> __('Pending Payment', 'wp-base'),\n \t\t\t'person_types'\t\t\t\t=> __('Pax Details', 'wp-base' ),\n \t\t\t'phone'\t\t\t\t\t\t=> __('Phone','wp-base'),\n-\t\t\t'phone_placeholder'\t\t\t=> '&nbsp;',\n \t\t\t'please_wait'\t\t\t\t=> __('Please Wait...', 'wp-base' ),\n \t\t\t'pm_button_text'\t\t\t=> __('PM to RECIPIENT', 'wp-base'),\n \t\t\t'pop_placeholder'\t\t\t=> __('Phone of the %d. guest', 'wp-base' ),\n@@ -1243,6 +1248,7 @@\n \t\t\t'provider_name'\t\t\t\t=> __('Specialist', 'wp-base' ),\n \t\t\t'provider_names'\t\t\t=> __('Specialists', 'wp-base' ),\n \t\t\t'quota'\t\t\t\t\t\t=> __('Sorry, but you have reached the booking quota. No additional bookings are allowed.', 'wp-base'),\n+\t\t\t'read_more'\t\t\t\t\t=> __('Read More »','wp-base'),\n \t\t\t'reading'\t\t\t\t\t=> __('Reading data...','wp-base'),\n \t\t\t'redirect'\t\t\t\t\t=> __('Login required for this action. Now you will be redirected to login page.', 'wp-base' ),\n \t\t\t'reference'\t\t\t\t\t=> __('Reference','wp-base'),\n@@ -1309,7 +1315,6 @@\n \t\t\t'standby'\t\t\t\t\t=> __('Stand by', 'wp-base'),\n \t\t\t'start'\t\t\t\t\t\t=> __('Start', 'wp-base'),\n \t\t\t'state'\t\t\t\t\t\t=> __('State','wp-base'),\n-\t\t\t'state_placeholder'\t\t\t=> '&nbsp;',\n \t\t\t'status'\t\t\t\t\t=> __('Status', 'wp-base' ),\n \t\t\t'store_page'\t\t\t\t=> __('Store Page', 'wp-base' ),\n \t\t\t'store'\t\t\t\t\t\t=> __('Store', 'wp-base' ),\n@@ -1331,7 +1336,8 @@\n \t\t\t'timezone'\t\t\t\t\t=> __('Time Zone', 'wp-base'),\n \t\t\t'timezone_title'\t\t\t=> __('Select your timezone', 'wp-base'),\n \t\t\t'today'\t\t\t\t\t\t=> __('Today', 'wp-base' ),\n-\t\t\t'too_late'\t\t\t\t\t=> __('We are sorry, but it is too late for this action.','wp-base'),\n+\t\t\t'too_early'\t\t\t\t\t=> __('It is too early for this action.','wp-base'),\n+\t\t\t'too_late'\t\t\t\t\t=> __('It is too late for this action.','wp-base'),\n \t\t\t'too_less'\t\t\t\t\t=> __('You should select at least %d time slots to proceed.', 'wp-base'),\n \t\t\t'total_paid'\t\t\t\t=> __('Paid', 'wp-base'),\n \t\t\t'trial_service_limit'\t\t=> __('You have exceeded trial services limit LIMIT', 'wp-base'),\n@@ -1372,7 +1378,6 @@\n \t\t\t'yes'\t\t\t\t\t\t=> __('Yes','wp-base'),\n \t\t\t'your_price'\t\t\t\t=> __('Your Rate','wp-base'),\n \t\t\t'zip'\t\t\t\t\t\t=> __('Postcode','wp-base'),\n-\t\t\t'zip_placeholder'\t\t\t=> '&nbsp;',\n \t\t\t'zoom'\t\t\t\t\t\t=> __('Zoom', 'wp-base' ),\n \t\t\t'zoom_id'\t\t\t\t\t=> __('Zoom ID','wp-base'),\n \t\t\t'zoom_join'\t\t\t\t\t=> __('Join','wp-base'),\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffreeons\u002Fcategories\u002Fcategories.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffreeons\u002Fcategories\u002Fcategories.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffreeons\u002Fcategories\u002Fcategories.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffreeons\u002Fcategories\u002Fcategories.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -46,7 +46,6 @@\n \tpublic function add_hooks(){\r\n \t\tadd_action( 'init', array( $this, 'init' ) );\r\n \t\tadd_filter( 'app_conf_form_fields',\tarray( $this, 'conf_form_fields' ) );\t\t\t\t\u002F\u002F Add category to definition of fields\r\n-\t\tadd_filter( 'app_confirmation_before_service', array( $this, 'confirmation' ), 20, 3 );\t\u002F\u002F Add to confirmation form\r\n \t\tadd_filter( 'app_pre_confirmation_reply', array( $this, 'pre_confirmation' ), 20, 2 );\r\n \t\tadd_filter( 'app_email_replace_pre', array( $this, 'email_replace' ), 10, 3 );\r\n \r\n@@ -81,17 +80,11 @@\n \t}\r\n \r\n \t\u002F**\r\n-\t* Add location to confirmation form\r\n+\t* Add location to confirmation form - DEPRECATED\r\n \t* @since 2.0\r\n+\t* @until WP Base 6.0\r\n \t*\u002F\r\n \tpublic function confirmation( $ret, $app_id, $editing ) {\r\n-\t\tif ( wpb_is_hidden( 'category' ) ) {\r\n-\t\t\treturn $ret;\r\n-\t\t}\r\n-\r\n-\t\t$ret .= '\u003Cdiv class=\"app-conf-category\">';\r\n-\t\t$ret .= '\u003C\u002Fdiv>';\r\n-\r\n \t\treturn $ret;\r\n \t}\r\n \r\nOnly in \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffreeons: front-end-edit.php\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffreeons\u002Ftest-bookings.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffreeons\u002Ftest-bookings.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffreeons\u002Ftest-bookings.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffreeons\u002Ftest-bookings.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -6,8 +6,8 @@\n  * ID: 706\r\n  * Category: Free\r\n  * Author: Hakan Ozevin\r\n- * Version: 5.1.1\r\n- * WPB requires: 5.1.0\r\n+ * Version: 5.2.0\r\n+ * WPB requires: 5.8.0\r\n  *\r\n  * Copyright © 2018-2022 Hakan Ozevin\r\n  * @package WP BASE\r\n@@ -87,9 +87,9 @@\n \t\tadd_action( 'wp_ajax_test_service_changed', array( $this, 'service_changed' ) ); \t\t\t\u002F\u002F Update provider field by ajax\r\n \r\n \t\tadd_filter( 'app_statuses', array( $this, 'get_statuses' ), 30 );\t\t\t\t\t\t\t\u002F\u002F Modify array of statuses\r\n-\t\tadd_filter( 'app_edit_allowed_status', array( $this, 'allowed_statuses' ), 16, 3 );\t\t\t\u002F\u002F Modify allowed edit\u002Fcancel statuses\r\n-\t\tadd_filter( 'app_cancel_allowed_status', array( $this, 'allowed_statuses' ), 16, 3 );\t\t\u002F\u002F Modify allowed edit\u002Fcancel statuses\r\n-\t\tadd_filter( 'app_list_status', array( $this, 'listing_statuses' ), 16, 1 );\t\t\t\t\t\u002F\u002F Modify default statuses of Listing shortcode\r\n+\t\tadd_filter( 'app_edit_allowed_status', array( $this, 'allowed_statuses' ), 16 );\t\t\t\u002F\u002F Modify allowed edit\u002Fcancel statuses\r\n+\t\tadd_filter( 'app_cancel_allowed_status', array( $this, 'allowed_statuses' ), 16 );\t\t\t\u002F\u002F Modify allowed edit\u002Fcancel statuses\r\n+\t\tadd_filter( 'app_list_status', array( $this, 'listing_statuses' ), 16 );\t\t\t\t\t\u002F\u002F Modify default statuses of Listing shortcode\r\n \t\tadd_filter( 'app_reserved_status_query', array( $this, 'status_query' ), 16, 2 );\t\t\t\u002F\u002F Modify reserved statuses query\r\n \t\tadd_filter( 'app_admin_apps_sql', array( $this, 'admin_apps_sql' ), 16, 5 );\t\t\t\t\u002F\u002F Modify admin side query to display test bookings\r\n \t\tadd_filter( 'app_admin_apps_where', array( $this, 'admin_apps_where' ), 16, 2 );\t\t\t\u002F\u002F Modify admin side query to filter test bookings\r\n@@ -103,7 +103,7 @@\n      * Modify all statuses array and add test status inside\r\n      *\u002F\r\n \tpublic function get_statuses( $s ) {\r\n-\t\t$s['test'] = $this->a->get_text('test');\r\n+\t\t$s['test'] = wpb_get_text('test');\r\n \t\treturn $s;\r\n \t}\r\n \r\n@@ -111,7 +111,7 @@\n      * Modify allowed statuses array and add test status inside\r\n \t * @return array\r\n      *\u002F\r\n-\tpublic function allowed_statuses( $statuses, $app_id, $args ) {\r\n+\tpublic function allowed_statuses( $statuses ) {\r\n \t\t$statuses[] = 'test';\r\n \t\treturn $statuses;\r\n \t}\r\n@@ -623,7 +623,7 @@\n \tpublic function service_changed() {\r\n \t\tif ( ! isset( $_POST['test_service'] ) ) {\r\n \t\t\t$error = WpBDebug::is_debug()\r\n-\t\t\t\t\t? $this->a->get_text('error')\r\n+\t\t\t\t\t? wpb_get_text('error')\r\n \t\t\t\t\t: sprintf( __('POST[\"test_service\"] is empty in %1$s line %2$d in version %3$s','wp-base'),\r\n \t\t\t\t\t\tbasename(__FILE__),\r\n \t\t\t\t\t\t__LINE__,\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffront-listing.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffront-listing.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffront-listing.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffront-listing.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -22,6 +22,10 @@\n \tprivate $args_arr = array();\r\n \r\n \tprivate $current_id = '';\r\n+\t\r\n+\tprivate $client_data = array();\r\n+\t\r\n+\tpublic $assets_called;\r\n \r\n \t\u002F**\r\n      * WP BASE Core + Front [+Admin] instance\r\n@@ -40,10 +44,55 @@\n      *\u002F\r\n \tpublic function add_hooks() {\r\n \t\tadd_shortcode( 'app_list', array( $this,'display' ) );\r\n+\t\tadd_filter( 'the_posts', array( $this, 'maybe_load_assets' ), 16 );\r\n \t\tadd_action( 'wp_ajax_app_prepare_print', array( $this, 'prepare_print' ) );\r\n \t\tadd_action( 'wp_ajax_nopriv_app_prepare_print', array( $this, 'prepare_print' ) );\r\n \t\tadd_action( 'wp_ajax_app_show_children_in_tooltip', array( $this, 'show_children_in_tooltip' ) );\r\n \t\tadd_action( 'wp_ajax_nopriv_app_show_children_in_tooltip', array( $this, 'show_children_in_tooltip' ) );\r\n+\t\tadd_action( 'wp_ajax_app_listing_edit', 'wpb_listing_inline_edit' );\r\n+\t\tadd_action( 'wp_ajax_app_listing_update', 'wpb_listing_inline_edit_update' );\r\n+\t\tadd_action( 'wp_ajax_app_listing_save', 'wpb_listing_inline_edit_save' );\r\n+\t\t\r\n+\t\t\u002F\u002F add_action( 'init', array( $this, 'handle_edit' ), 200 );\t\t\t\t\t\t\t\t\t\u002F\u002F Handle editing via link\t\t\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+\t * Check if we will add css files and Ensure that they are loaded last\r\n+\t *\u002F\r\n+\tpublic function maybe_load_assets( $posts ) {\r\n+\r\n+\t\tforeach ( $posts as $post ) {\r\n+\t\t\r\n+\t\t\tif ( is_object( $post ) && has_shortcode( $post->post_content, 'app_list' ) ) {\r\n+\t\t\t\t$this->request_assets();\r\n+\t\t\t\tbreak;\r\n+\t\t\t}\r\n+\t\t}\r\n+\r\n+\t\treturn $posts;\r\n+\t}\r\n+\r\n+\tpublic function request_assets(){\r\n+\t\tadd_filter( 'app_is_admin_page', '__return_true' );\r\n+\t\tadd_filter( 'app_requires_front', '__return_true' );\r\n+\t\tadd_filter( 'app_can_use_dialog', '__return_false' );\r\n+\t\tadd_action( 'wp_enqueue_scripts', array( $this, 'load_assets' ), 14 );\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+\t * Load js and css files\r\n+\t *\u002F\r\n+\tpublic function load_assets( ) {\r\n+\t\tif ( ! empty( $this->assets_called ) ) {\r\n+\t\t\treturn;\r\n+\t\t}\r\n+\r\n+\t\twp_enqueue_style( 'wp-base-admin-front', WPB_PLUGIN_URL . '\u002Fcss\u002Ffront-admin.css', array(), WPB_VERSION );\r\n+\t\tadd_action( 'wp_print_styles', array( BASE('Assets'), 'load_admin_css' ), 12 );\r\n+\t\tadd_action( 'wp_enqueue_scripts', array( BASE('Assets'), 'load_admin' ), 16 );\r\n+\t\tremove_action( 'wp_enqueue_scripts', array( BASE('Assets'), 'load_front' ), 20 );\r\n+\r\n+\t\t$this->assets_called = true;\r\n \t}\r\n \r\n \t\u002F**\r\n@@ -55,6 +104,10 @@\n \t\t$allowed = array( 'id','created','location','location_address','service','worker','owner','client','email','phone','city','address',\r\n \t\t\t\t\t\t'zip','country','note','price','date_time','end_date_time','date','day','time','status','pdf','balance',\r\n \t\t\t\t\t\t'deposit','total_paid', 'security', 'fee', 'woocommerce_order_id', 'timezone', 'language', 'client_ip', );\r\n+\t\t\t\t\t\t\r\n+\t\tif ( wpb_edit_can_override( $args ) || wpb_can_worker_edit() || wpb_can_client_edit() ) {\r\n+\t\t\t$allowed[] = 'edit';\r\n+\t\t}\t\t\t\t\t\t\r\n \r\n \t\t# Filter pdf, paypal depending on existence of addons\r\n \t\t$allowed = array_flip( $allowed );\r\n@@ -67,6 +120,22 @@\n \t}\r\n \t\r\n \t\u002F**\r\n+     * Add Editing Panel HTML to the page & call scripts\r\n+\t * @since 6.0\r\n+\t * @return string\r\n+     *\u002F\r\n+\tpublic function render_panel() {\r\n+\t\r\n+\t\twp_enqueue_script( 'app-schedules' );\r\n+\t\t\r\n+\t\tob_start();\r\n+\t\r\n+\t\twpb_editing_panel_html();\r\n+\t\t\r\n+\t\treturn ob_get_clean();\r\n+\t}\t\r\n+\r\n+\t\u002F**\r\n \t * Shortcode showing user's or worker's, or all appointments\r\n \t * @since 2.0\r\n \t *\u002F\r\n@@ -125,8 +194,8 @@\n \t\tif ( empty( $statuses ) ) {\r\n \t\t\treturn WpBDebug::debug_text( __('Check \"status\" parameter in List shortcode','wp-base') ) ;\r\n \t\t}\r\n-\t\t\r\n-\t\twpb_add_action_footer( $this );\r\n+\r\n+\t\twpb_add_action_footer( $this, 1000 );\r\n \r\n \t\t$can_edit\t\t= wpb_current_user_can( $cap );\r\n \t\t$stat\t\t\t= wpb_listing_stat_sql( $statuses );\r\n@@ -157,11 +226,11 @@\n \t\t\t} else {\r\n \t\t\t\t$q \t= $this->worker_sql( $what, $cap, $user_id );\r\n \t\t\t\t$event_sql = wpb_listing_event_sql( $user_id );\r\n-\t\t\t\t\r\n+\r\n \t\t\t\t$query = \" SELECT * FROM \" . $this->a->app_table .\r\n \t\t\t\t\t\t \" WHERE ({$q} OR {$event_sql}) AND ({$stat}) AND {$datetime_sql} AND ({$service_sql})\r\n  \t\t\t\t\t\t  ORDER BY \". $this->a->sanitize_order_by( $order_by );\r\n-\t\t\t\t\t\t  \r\n+\r\n \t\t\t\t$results = $this->a->db->get_results( $query, OBJECT_K  );\r\n \t\t\t}\r\n \t\t} else if ( 'all' == $what ) {\r\n@@ -184,14 +253,16 @@\n \t\t$hard_limit \t= false;\r\n \t\t$this->colspan\t= 0;\r\n \r\n-\t\t$ret  = '';\r\n-\t\t$ret .= '\u003Cdiv class=\"app-sc app-list-wrapper table-responsive\">';\r\n-\t\t\r\n+\t\t$ret  = '\u003Cdiv class=\"wrap app-front-admin app-clearfix\">';\r\n+\t\t$ret .= '\u003Cdiv class=\"app-sc app-manage app-form app-list-wrapper table-responsive\">';\r\n+\r\n \t\tif ( apply_filters( 'app_list_show_print', true, $args ) ) {\r\n \t\t\t$ret .= '\u003Cdiv class=\"app-print-list-wrap\">\u003Cspan class=\"dashicons dashicons-printer app-ml10\">\u003C\u002Fspan>';\r\n \t\t\t$ret .= '\u003Ca href=\"javascript:void(0)\" class=\"app-print-list app-ml10 app-b\" data-print_target=\"\">'. esc_html( __( 'Print All', 'wp-base' ) ) .'\u003C\u002Fa>\u003C\u002Fdiv>';\r\n \t\t}\r\n \t\t\r\n+\t\t$ret .= self::render_panel();\r\n+\r\n \t\t$ret  = apply_filters( 'app_list_before_table', $ret, $args );\r\n \t\t$ret .= '\u003Ctable style=\"width:100%\" data-args=\"'.wpb_esc_json( wp_json_encode( $args ) ).'\" id=\"'.esc_attr($id).'\" class=\"app-list dt-responsive display dataTable nowrap\">';\r\n \t\t$ret .= '\u003Ccaption>'. $this->title( $title, $what, $cap, $user_id ). '\u003C\u002Fcaption>';\r\n@@ -229,7 +300,7 @@\n \r\n \t\t\t\t$no_results = false;\r\n \r\n-\t\t\t\t$ret .= '\u003Ctr id=\"app-tr-'.$r->ID.'\" class=\"app-service-'.$r->service.' app-worker-'.$r->worker.'\">';\r\n+\t\t\t\t$ret .= '\u003Ctr id=\"app-tr-'.esc_attr($r->ID).'\" data-app_id=\"'.esc_attr($r->ID).'\" class=\"app-service-'.esc_attr($r->service).' app-worker-'.esc_attr($r->worker).'\">';\r\n \r\n \t\t\t\tforeach( $cols as $col ) {\r\n \r\n@@ -241,7 +312,17 @@\n \t\t\t\t\t\tcontinue;\r\n \t\t\t\t\t}\r\n \r\n-\t\t\t\t\t$ret .= '\u003Ctd class=\"'.$col.'-app-mng\">';\r\n+\t\t\t\t\tif ( 'client' == $col ) {\r\n+\t\t\t\t\t\t$order = $this->client_raw_name( $r->ID, $r );\r\n+\t\t\t\t\t} else if ( 'end_date_time' == $col ) {\r\n+\t\t\t\t\t\t$order = $r->end;\r\n+\t\t\t\t\t} else if ( in_array( $col, array('date_time', 'date', 'day', 'time') ) ) {\r\n+\t\t\t\t\t\t$order = $r->start;\r\n+\t\t\t\t\t} else {\r\n+\t\t\t\t\t\t$order = '';\r\n+\t\t\t\t\t}\r\n+\r\n+\t\t\t\t\t$ret .= '\u003Ctd class=\"'.$col.'-app-mng\"'.($order ? ' data-order=\"'. esc_attr( $order ) .'\"' : '').'>';\r\n \t\t\t\t\t$ret .= $this->table_cell( $col, $r, $args );\r\n \t\t\t\t\t$ret .= '\u003C\u002Ftd>';\r\n \r\n@@ -274,11 +355,40 @@\n \r\n \t\t$ret  = apply_filters( 'app_list_table', $ret, $args, $results );\r\n \t\t$ret .= '\u003C\u002Fdiv>';\r\n+\t\t$ret .= '\u003C\u002Fdiv>';\r\n \r\n \t\treturn $ret;\r\n \t}\r\n \r\n \t\u002F**\r\n+\t * Find client name from booking without HTML\r\n+\t * @since 6.0.0\r\n+\t * @return string\r\n+\t *\u002F\r\n+\tprivate function client_raw_name( $app_id, $r ) {\r\n+\t\tif ( isset( $this->client_data[ $app_id ] ) ) {\r\n+\t\t\treturn $this->client_data[ $app_id ]['raw_name'];\r\n+\t\t} else {\r\n+\t\t\t$this->client_data[ $app_id ] = BASE('User')->get_client_name( $app_id, $r, 'full' );\r\n+\t\t\treturn $this->client_data[ $app_id ]['raw_name'];\r\n+\t\t}\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+\t * Find client name from booking with HTML\r\n+\t * @since 6.0.0\r\n+\t * @return string\r\n+\t *\u002F\r\n+\tprivate function client_name( $app_id, $r ) {\r\n+\t\tif ( isset( $this->client_data[ $app_id ] ) ) {\r\n+\t\t\treturn $this->client_data[ $app_id ]['name'];\r\n+\t\t} else {\r\n+\t\t\t$this->client_data[ $app_id ] = BASE('User')->get_client_name( $app_id, $r, 'full' );\r\n+\t\t\treturn $this->client_data[ $app_id ]['name'];\r\n+\t\t}\r\n+\t}\r\n+\r\n+\t\u002F**\r\n \t * Print script\r\n \t * @return none\r\n \t *\u002F\r\n@@ -295,7 +405,7 @@\n \t\t\targs: JSON.stringify(args),\r\n \t\t\tajax_nonce: _app_.iedit_nonce\r\n \t\t};\r\n-\t\t\r\n+\r\n \t\t$.infoPanel(\"please_wait\");\r\n \r\n \t\t$.post(_app_.ajax_url, data, function (r) {\r\n@@ -310,6 +420,37 @@\n \t\t\t}\r\n \t\t}, \"json\");\r\n \t});\r\n+\t\r\n+\t$(\".app-readonly input, .app-readonly textarea\").prop(\"readonly\", true );\r\n+\t\r\n+\t$(document).on(\"click\", \".app-list-edit\", function (e) {\r\n+\t\te.preventDefault();\r\n+\t\tvar $this = $(this);\r\n+\t\tif ($this.hasClass(\"app-disabled-button\")) {\r\n+\t\t\treturn false;\r\n+\t\t}\r\n+\t\t\r\n+\t\tvar par = $this.parents(\"table\").first(); \r\n+\t\t\u002F\u002F par.find(\".app-list-edit\").removeClass(\"app-disabled-button\");\r\n+\t\tpar.find(\"tr\").css(\"opacity\", 1);\r\n+\t\t$this.addClass(\"app-disabled-button\");\r\n+\t\t$this.closest(\"tr\").css(\"opacity\",_app_.opacity);\r\n+\t\t\r\n+\t\tvar app_id = $this.data(\"app_id\");\r\n+\t\tvar arg = {};\r\n+\t\targ.event = {};\r\n+\t\targ.fee = {};\r\n+\t\targ.event.id = app_id; \r\n+\t\targ.fee.post_id = _app_.post_id;\r\n+\t\targ.fee.author_id = parseInt(_app_.author_id);\r\n+\t\targ.fee.cap = $this.data(\"cap\");\r\n+\t\targ.fee.lang = _app_.lang;\r\n+\t\targ.fee.override = $this.data(\"override\");\r\n+\t\targ.fee.edit_btn = \".app-list-edit[data-app_id='\"+ app_id +\"']\";\r\n+\t\targ.fee.list_table = par;\r\n+\t\t\r\n+\t\t$.WPB_Quickbook.upsert( 'edit', arg );\r\n+\t});\t\r\n });\r\n \u003C\u002Fscript>\r\n \u003C?php\r\n@@ -327,7 +468,7 @@\n \t\t$args = isset( $_POST['args'] ) ? json_decode( wpb_clean( wp_unslash( $_POST['args'] ) ), true ) : array();\r\n \t\t$args['_children_of'] = absint( wpb_clean( $_POST['app_id'] ) );\r\n \t\t$args['title'] = __('Connected bookings','wp-base');\r\n-\t\t\r\n+\r\n \t\tadd_filter( 'app_list_allowed_columns', array( $this, 'remove_button_cols' ) );\r\n \r\n \t\twp_send_json( array( 'result' => preg_replace( '%\u003Cthead(.*?)\u003C\u002Fthead>%', '', $this->display( $args ) ) ) );\r\n@@ -342,8 +483,8 @@\n \t\twpb_check_ajax_referer();\r\n \r\n \t\t$args = json_decode( wpb_clean( wp_unslash( $_POST['args'] ) ), true );\r\n-\t\t\r\n-\t\tadd_filter( 'app_list_allowed_columns', array( $this, 'remove_button_cols' ) );\r\n+\r\n+\t\tadd_filter( 'app_list_allowed_columns', array( $this, 'remove_button_cols' ), 1000 );\r\n \r\n \t\t$table = $this->display( $args );\r\n \r\n@@ -356,11 +497,11 @@\n \t *\u002F\r\n \tpublic function remove_button_cols( $cols ) {\r\n \t\t$cols = array_flip( $cols );\r\n-\t\t\r\n-\t\tforeach( array( 'cancel', 'confirm', 'edit', 'pdf', 'zoom', 'jitsi', 'agora', 'pay', 'gcal', 'private_message' ) as $b ) {\r\n+\r\n+\t\tforeach( array( 'cancel', 'confirm', 'edit', 'pdf', 'zoom', 'jitsi', 'agora', 'pay', 'gcal', 'google_meet', 'private_message' ) as $b ) {\r\n \t\t\tunset( $cols[ $b ] );\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\treturn array_flip( $cols );\r\n \t}\r\n \r\n@@ -564,7 +705,7 @@\n \t\t\tcase 'provider':\r\n \t\t\tcase 'worker':\t\t\t\t$ret .= $this->a->get_worker_name( $r->worker ); break;\r\n \t\t\tcase 'owner':\t\t\t\t$ret .= $this->a->get_worker_name( wpb_get_service_owner( $r->service ) ); break;\r\n-\t\t\tcase 'client':\t\t\t\t$ret .= BASE('User')->get_client_name( $r->ID, $r, true ). apply_filters( 'app_bookings_add_text_after_client', '', $r->ID, $r ); break;\r\n+\t\t\tcase 'client':\t\t\t\t$ret .= $this->client_name( $r->ID, $r ). apply_filters( 'app_bookings_add_text_after_client', '', $r->ID, $r ); break;\r\n \t\t\tcase 'price':\t\t\t\t$ret .= wpb_format_currency( $r->price ); break;\r\n \t\t\tcase 'deposit':\t\t\t\t$ret .= wpb_format_currency( $r->deposit ); break;\r\n \t\t\tcase 'total_paid':\t\t\t$ret .= wpb_format_currency( $paid\u002F100 ); break;\r\n@@ -590,6 +731,7 @@\n \t\t\tcase 'timezone':\r\n \t\t\tcase 'language':\r\n \t\t\tcase 'client_ip':\t\t\t$ret .= $booking->get_meta( $col ); break;\r\n+\t\t\tcase 'edit':\t\t\t\t$ret .= self::table_cell_edit( $r, $args ); break;\r\n \t\t\tcase $col:\t\t\t\t\t$ret .= apply_filters( 'app_list_add_cell', '', $col, $r, $args );break;\r\n \t\t}\r\n \r\n@@ -631,112 +773,122 @@\n \tprivate function is_parent( $r ) {\r\n \t\treturn ( ! $r->parent_id && ( $this->a->is_app_recurring( $r->ID ) || $this->a->is_app_package( $r->ID ) ) );\r\n \t}\r\n+\t\r\n+\t\u002F**\r\n+\t * Prepare FEE Button cell\r\n+\t * @return string\r\n+\t *\u002F\r\n+\tpublic static function table_cell_edit( $r, $args ) {\r\n+\t\tif ( wpb_edit_is_allowed( $r, $args ) ) {\r\n+\t\t\t$_disabled = '';\r\n+\t\t\t$title = '';\r\n+\t\t} else {\r\n+\t\t\t$_disabled = ' app-disabled-button';\r\n \r\n-}\r\n-\tBASE('Listing')->add_hooks();\r\n-}\r\n-\r\n-\u002F**\r\n- * Build service SQL\r\n- * @param $service\tinteger|string|array\tService ID, service name, multiple service IDs separated with comma or array of service IDs\u002Fnames\r\n- * @since 5.4.0\r\n- * @return string\r\n- *\u002F\r\n-function wpb_listing_service_sql( $service ) {\r\n-\t$service_sql = '';\r\n-\tif ( $service ) {\r\n-\t\t$services = is_array( $service ) ? $service : explode( ',', $service );\r\n-\t\tforeach ( $services as $s ) {\r\n-\t\t\tif ( ! is_numeric( $s ) ) {\r\n-\t\t\t\t$s = BASE()->find_service_id_from_name( $s );\r\n-\t\t\t}\r\n-\r\n-\t\t\t# Allow only defined services\r\n-\t\t\tif ( BASE()->service_exists( $s ) ) {\r\n-\t\t\t\t$service_sql .= \" service=\".trim( $s ).\" OR \";\r\n+\t\t\tif ( wpb_edit_is_too_late( $r ) ) {\r\n+\t\t\t\t$title = 'title=\"'. wpb_get_text('too_late').'\"';\r\n+\t\t\t} else if ( wpb_edit_is_too_early( $r ) ) {\r\n+\t\t\t\t$title = 'title=\"'. wpb_get_text('too_early').'\"';\r\n+\t\t\t} else if ( ! wpb_can_worker_edit() && ! wpb_can_client_edit() ) {\r\n+\t\t\t\t$title = 'title=\"'. wpb_get_text('unauthorised').'\"';\r\n+\t\t\t} else {\r\n+\t\t\t\t$title = 'title=\"'. wpb_get_text('not_possible').'\"';\r\n \t\t\t}\r\n \t\t}\r\n \r\n-\t\t$service_sql = rtrim( $service_sql, \"OR \" );\r\n-\t}\r\n+\t\t$button_text\t= ! empty( $args['edit_button'] ) ? $args['edit_button'] : wpb_get_text('edit_button');\r\n+\t\t$class\t\t\t= ! empty( $args['button_class'] ) ? $args['button_class'] : 'ui-button ui-state-default';\r\n+\r\n+\t\t$ret = '\u003Cbutton '.$title.' class=\"app-list-edit '.$class.$_disabled.'\" data-app_id=\"'.$r->ID.'\" data-cap=\"'.$args['cap'].'\" data-override=\"'.$args['override'].'\">'.$button_text.'\u003C\u002Fbutton>';\r\n \r\n-\tif ( ! trim( $service_sql ) ) {\r\n-\t\t$service_sql = ' 1=1 ';\r\n+\t\treturn $ret;\t\r\n \t}\r\n \r\n-\treturn $service_sql;\r\n-}\r\n+\t\u002F**\r\n+\t * Handle edit request by email link\r\n+\t * Handled before load_assets of front.php\r\n+\t * @return none\r\n+\t *\u002F\r\n+\tpublic function handle_edit() {\r\n \r\n-\u002F**\r\n- * Build events SQL\r\n- * @since 5.5.1\r\n- * @return string\r\n- *\u002F\r\n-function wpb_listing_event_sql( $user_id ) {\r\n-\t$sql = '';\r\n-\tif ( wpb_use_events() ) {\r\n-\t\tglobal $wpdb;\r\n-\t\t\r\n-\t\t$events = array_map( function( $id ) { return $id * -1; }, (array)$wpdb->get_col( $wpdb->prepare( \"SELECT ID FROM {$wpdb->posts} WHERE post_author=%d\", $user_id ?: get_current_user_id() ) ) );\r\n-\t\t\r\n-\t\tif ( $events ) {\t\t\r\n-\t\t\t$sql = \" (worker=0 AND service IN (\".implode( ',', $events ).\")) \";\r\n+\t\tif ( ! empty( $_GET['app_re_edit_login'] ) && ! is_user_logged_in() ) {\r\n+\t\t\twpb_notice( wpb_get_text('login_for_edit') );\r\n+\t\t\treturn;\r\n \t\t}\r\n-\t}\r\n-\t\r\n-\treturn $sql ?: '1=2';\r\n-}\r\n \r\n-\u002F**\r\n- * Build status SQL\r\n- * @since 5.4.0\r\n- * @return string\r\n- *\u002F\r\n-function wpb_listing_stat_sql( $statuses ) {\r\n-\tif ( ! is_array( $statuses ) ) {\r\n-\t\t$statuses = array_filter( array_map( 'trim', explode( ',', $status ) ) );\r\n-\t}\r\n+\t\tif ( empty( $_GET['app_edit'] ) || empty( $_GET['app_id'] ) || empty( $_GET['edit_nonce'] ) ) {\r\n+\t\t\treturn;\r\n+\t\t}\r\n \r\n-\t# Check for 'all'\r\n-\tif ( empty( $statuses ) || in_array( 'all', $statuses ) ) {\r\n-\t\t$stat = '1=1';\r\n-\t} else {\r\n-\t\t$stat = '';\r\n-\t\tforeach ( $statuses as $s ) {\r\n-\t\t\t# Allow only defined stats\r\n-\t\t\tif ( array_key_exists( trim( $s ), BASE()->get_statuses() ) ) {\r\n-\t\t\t\t$stat .= \" status='\".trim( $s ).\"' OR \";\r\n+\t\tif ( 'yes' != wpb_setting('allow_edit') ) {\r\n+\t\t\tif ( ! empty( $_GET['app_edit'] ) && ! empty( $_GET['edit_nonce'] ) ) {\r\n+\t\t\t\twpb_notice( 'edit_disabled', 'error' );\r\n \t\t\t}\r\n+\r\n+\t\t\treturn;\r\n \t\t}\r\n-\t\t$stat = rtrim( $stat, \"OR \" );\r\n-\t}\r\n \r\n-\treturn $stat;\r\n-}\r\n+\t\t$app_id = wpb_clean($_GET['app_id'] );\r\n+\t\t$app = wpb_get_app( $app_id );\r\n \r\n-\u002F**\r\n- * Build date\u002Ftime SQL\r\n- * @since 5.4.0\r\n- * @return string\r\n- *\u002F\r\n-function wpb_listing_dt_sql( $start, $end, $_wide_coverage ) {\r\n-\tif ( $start && $end ) {\r\n-\t\tif ( $_wide_coverage ) {\r\n-\t\t\t$datetime_sql = \" start \u003C= '\" . wpb_date( $end ) . \"' AND end > '\" . wpb_date( $start ) . \"' \";\r\n-\t\t} else {\r\n-\t\t\t$datetime_sql = \" start >= '\" . wpb_date( $start ) . \"' AND start \u003C= '\" . wpb_date( $end ) . \"' \";\r\n+\t\t# Check provided hash\r\n+\t\tif ( $_GET['edit_nonce'] != $this->a->create_hash( $app, 'edit' ) ) {\r\n+\t\t\twpb_notice( 'error', 'error' );\r\n+\t\t\treturn;\r\n+\t\t}\r\n+\r\n+\t\tif ( wpb_edit_is_too_late( $app ) ) {\r\n+\t\t\twpb_notice('too_late');\r\n+\t\t\treturn;\r\n \t\t}\r\n-\t} else {\r\n-\t\t$datetime_sql = ' 1=1 AND';\r\n-\t\t# This is different than is_busy. Here, we want to catch the start time of an appointment. So we dont look at app->end\r\n-\t\tif ( $start ) {\r\n-\t\t\t$datetime_sql = \" start>='\" . wpb_date( $start ) . \"' AND\";\r\n+\t\t\r\n+\t\tif ( wpb_edit_is_too_early( $app ) ) {\r\n+\t\t\twpb_notice('too_early');\r\n+\t\t\treturn;\r\n+\t\t}\t\t\r\n+\r\n+\t\tif ( empty( $app->created ) || ! self::in_allowed_status( $app ) ) {\r\n+\t\t\twpb_notice('not_possible');\r\n+\t\t\treturn; \u002F\u002F Appt deleted completely\r\n+\t\t}\r\n+\r\n+\t\tif ( ! empty( $app->user ) && ! is_user_logged_in() ) {\r\n+\t\t\t$redirect = add_query_arg( 'app_re_edit_login', $app_id, wp_login_url( esc_url_raw( $_SERVER['REQUEST_URI'] ) ) );\r\n+\t\t\twp_redirect( $redirect );\r\n+\t\t\texit;\r\n \t\t}\r\n \r\n-\t\tif ( $end ) {\r\n-\t\t\t$datetime_sql .= \" start\u003C'\" . wpb_date( $end ) . \"' \";\r\n+\t\tif ( ! wpb_edit_is_owner( $app ) ) {\r\n+\t\t\twpb_notice( 'not_owner', 'error' );\r\n+\t\t\treturn;\r\n \t\t}\r\n+\r\n+\t\t# Checks are ok. Run script\r\n+\t\tdo_action( 'app_load_assets' );\r\n+\t\tadd_action( 'wp_footer', array( $this, 'edit_on_footer' ) );\r\n \t}\r\n \r\n-\treturn rtrim( $datetime_sql, \"AND\" );\r\n-}\n\\ No newline at end of file\n+\t\u002F**\r\n+\t * Print edit js and html on the footer in case of activation with email link\r\n+\t *\u002F\r\n+\tpublic function edit_on_footer() {\r\n+\t\t$app_id = isset( $_GET['app_id'] ) ? wpb_clean( $_GET['app_id'] ) : 0;\r\n+\t\t$u_fields = apply_filters( 'app_edit_allowed_fields', $this->a->get_user_fields(), $app_id );\r\n+\t\t\r\n+\t\tforeach( $u_fields as $key => $f ) {\r\n+\t\t\tif ( in_array( strtolower( $f ), $this->a->get_user_fields() ) && ! wpb_setting(\"ask_\".$f) ) {\r\n+\t\t\t\tunset( $u_fields[ $key ] );\r\n+\t\t\t}\r\n+\t\t}\r\n+\r\n+\t\t$u = $u_fields ? htmlspecialchars( wp_json_encode( $u_fields ) ) : '';\r\n+?>\r\n+\u003Cscript type=\"text\u002Fhtml\" class=\"app-template-for-edit\" data-standalone=\"1\" data-app_id=\"\u003C?php echo esc_attr( $app_id ) ?>\" data-user_fields=\"\u003C?php echo $u ?>\">\r\n+\u003C\u002Fscript>\r\n+\u003C?php\r\n+\t}\t\r\n+\r\n+\r\n+}\r\n+\tBASE('Listing')->add_hooks();\r\n+}\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffront-pay-later.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffront-pay-later.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffront-pay-later.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffront-pay-later.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -327,9 +327,9 @@\n \t\t$ret .= '\u003C\u002Fdiv>';\r\n \t\t$ret .= wpb_booking_info_html( );\r\n \t\t$ret .= '\u003C\u002Fdiv>';\r\n-\t\t$ret .= '\u003C\u002Fdiv>'; # Close app-conf-wrapper\r\n+\t\t$ret .= '\u003C\u002Fdiv>';\r\n \t\t\r\n-\t\t$ret .= '\u003C\u002Fdiv>'; # Close gr2\r\n+\t\t$ret .= '\u003C\u002Fdiv>';\r\n \t\t\r\n \t\treturn $ret;\r\n \t}\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffront.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffront.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffront.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffront.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -27,14 +27,14 @@\n      * Add action and filter hooks\r\n      *\u002F\r\n \tpublic function add_hooks_front() {\r\n-\r\n-\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-listing.php' );\t\t\t\t\t\t\u002F\u002F List Shortcode\r\n-\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-account.php' );\t\t\t\t\t\t\u002F\u002F Account page\r\n-\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-cancel.php' );\t\t\t\t\t\t\u002F\u002F Handle cancel requests\r\n-\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-confirm.php' );\t\t\t\t\t\t\u002F\u002F Handle confirm requests\r\n-\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-pay-later.php' );\t\t\t\t\t\u002F\u002F Handle pay later requests\r\n-\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-long-bookings.php' );\r\n-\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-deprecated.php' );\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffunctions.listing.php';\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-listing.php';\t\t\t\t\t\t\u002F\u002F List Shortcode\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-account.php';\t\t\t\t\t\t\u002F\u002F Account page\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-cancel.php';\t\t\t\t\t\t\u002F\u002F Handle cancel requests\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-confirm.php';\t\t\t\t\t\t\u002F\u002F Handle confirm requests\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-pay-later.php';\t\t\t\t\t\u002F\u002F Handle pay later requests\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-long-bookings.php';\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Ffront-deprecated.php';\r\n \r\n \t\tadd_filter( 'the_posts', array($this, 'maybe_load_assets') );\t\t\t\t\t\t\t\u002F\u002F Determine if we use shortcodes on the page\r\n \r\n@@ -406,7 +406,7 @@\n \t\t\t$s .= $title;\r\n \t\t\t$s .= '\u003C\u002Fdiv>';\r\n \t\t}\r\n-\t\t$s .= '\u003Cinput autocomplete=\"off\" type=\"text\" '.(!$history ? 'data-mindate=\"0\"' : '').' data-maxdate=\"'.BASE()->get_app_limit().'\" name=\"app_timestamp\" class=\"app-sc app_select_date ui-toolbar ui-state-default\" value=\"'.$date.'\"\u002F>';\r\n+\t\t$s .= '\u003Cinput autocomplete=\"off\" type=\"text\" '.(!$history ? 'data-mindate=\"0\"' : '').' data-maxdate=\"'.BASE()->get_app_limit().'\" name=\"app_timestamp\" class=\"app-sc app_select_date ui-toolbar ui-state-default\" value=\"'.$date.'\">';\r\n \t\t$s .= '\u003C\u002Fdiv>';\r\n \r\n \t\treturn $s;\r\n@@ -831,7 +831,7 @@\n \t\t\t$out .= (string)$step_title === '0' ? '' : '\u003Cspan class=\"step-center-title\">'.$step_title.'\u003C\u002Fspan>';\r\n \r\n \t\t\tif ( $has_cart && $astep == $key ) {\r\n-\t\t\t\t$out .= '\u003Cinput type=\"hidden\" class=\"has-cart\" value=\"1\"\u002F>';\r\n+\t\t\t\t$out .= '\u003Cinput type=\"hidden\" class=\"has-cart\" value=\"1\">';\r\n \t\t\t}\r\n \r\n \t\t\t$out .= '\u003C\u002Fdiv>';\r\n@@ -1397,7 +1397,7 @@\n \t\t\t\t}\r\n \r\n \t\t\t\tif ( $url = apply_filters( 'app_new_app_url', $url, $slot ) ) {\r\n-\t\t\t\t\t$new_link ='\u003Cinput type=\"hidden\" class=\"app-new-link\" value=\"'.esc_attr( $url ).'\" \u002F>';\r\n+\t\t\t\t\t$new_link ='\u003Cinput type=\"hidden\" class=\"app-new-link\" value=\"'.esc_attr( $url ).'\" >';\r\n \t\t\t\t}\r\n \r\n \t\t\t\tif ( ! $new_link ) {\r\n@@ -1414,8 +1414,8 @@\n \r\n \t\t\t$ret .= '\u003Ctd class=\"'.$class_name.' app_day app_day_'.$day_start.' app_worker_'.($calendar->get_worker() ?: '0').'\" '.\r\n \t\t\t\t'data-title=\"'.date_i18n( $this->date_format, $day_start ).'\" data-solo=\"1\" title=\"'.esc_attr( $click_hint_text ).'\">\u003Cp>'.date( 'j', $d ).'\u003C\u002Fp>'.\r\n-\t\t\t\t'\u003Cinput type=\"hidden\" class=\"app-select-ts\" value=\"'.$day_start .'\" \u002F>'.\r\n-\t\t\t\t'\u003Cinput type=\"hidden\" class=\"app-packed\" value=\"'.$calendar->slot( $day_start )->pack().'\" \u002F>';\r\n+\t\t\t\t'\u003Cinput type=\"hidden\" class=\"app-select-ts\" value=\"'.$day_start .'\" >'.\r\n+\t\t\t\t'\u003Cinput type=\"hidden\" class=\"app-packed\" value=\"'.$calendar->slot( $day_start )->pack().'\" >';\r\n \r\n \t\t\t$ret = apply_filters( 'app_monthly_calendar_html_after_td', $ret, $slot, $calendar );\r\n \r\n@@ -1760,8 +1760,9 @@\n \t}\r\n \r\n \t\u002F**\r\n-\t * Default confirmation shortcode atts\r\n+\t * Default confirmation shortcode atts - DEPRECATED\r\n \t * @since 3.0\r\n+\t * @Until 6.0\r\n \t * @return array\r\n \t *\u002F\r\n \tpublic function confirmation_atts() {\r\n@@ -1793,7 +1794,8 @@\n \t}\r\n \r\n \t\u002F**\r\n-\t * Shortcode function to generate a confirmation box\r\n+\t * Shortcode function to generate a confirmation box - DEPRECATED\r\n+\t * @until 6.0\r\n \t *\u002F\r\n \tpublic function confirmation( $atts = array() ) {\r\n \r\n@@ -1906,7 +1908,7 @@\n \r\n \t\t# A non-functional form so that browser autofill can be used\r\n \t\t$ret .='\u003Cform class=\"app-conf-client-fields\" onsubmit=\"return false;\">';\r\n-\t\t$ret .='\u003Cinput type=\"text\" autocomplete=\"off\" name=\"confirm-email-username\" class=\"app_confirm_email_username\" id=\"app_confirm_email_username\" \u002F>';\r\n+\t\t$ret .='\u003Cinput type=\"text\" autocomplete=\"off\" name=\"confirm-email-username\" class=\"app_confirm_email_username\" id=\"app_confirm_email_username\" >';\r\n \r\n \t\t\u002F* Sanitize and filter User and UDF fields *\u002F\r\n \t\t$sorted_fields = wpb_sanitize_user_fields( $fields, $_app_id, $_editing );\r\n@@ -1923,7 +1925,7 @@\n \r\n \t\t\t\t$ret .= '\u003Cdiv class=\"app-'.$f.'-field\" '.$style.'>';\r\n \t\t\t\t$ret .= '\u003Clabel>\u003Cspan class=\"app-conf-title\">'. ${$f} . '\u003Csup> *\u003C\u002Fsup>\u003C\u002Fspan>';\r\n-\t\t\t\t$ret .= '\u003Cinput type=\"text\" placeholder=\"'.wpb_get_text($f.'_placeholder').'\" class=\"app-'.$f.'-field-entry '.$mobile_cl.'\" value=\"'.esc_attr(${'user_'.$f}).'\" '. ($is_readonly ? 'readonly' : '').' \u002F>';\r\n+\t\t\t\t$ret .= '\u003Cinput type=\"text\" placeholder=\"'.wpb_get_text($f.'_placeholder').'\" class=\"app-'.$f.'-field-entry '.$mobile_cl.'\" value=\"'.esc_attr(${'user_'.$f}).'\" '. ($is_readonly ? 'readonly' : '').' >';\r\n \t\t\t\t$ret .= '\u003C\u002Flabel>';\r\n \t\t\t\t$ret .= '\u003C\u002Fdiv>';\r\n \t\t\t\t$ret  = apply_filters( 'app_confirmation_after_'.$f.'_field', $ret, $_app_id, $f, $_editing, $fields );\r\n@@ -1955,15 +1957,15 @@\n \t\t\u002F* Submit, Cancel Buttons *\u002F\r\n \t\t$button_text = apply_filters( 'app_confirmation_button_text', $button_text, $_app_id, $_editing );\r\n \t\t$ret .= '\u003Cdiv class=\"app-conf-buttons\">';\r\n-\t\t$ret .= '\u003Cinput type=\"hidden\" class=\"has-cart\" value=\"'.($use_cart ? 1: 0) .'\"\u002F>';\r\n-\t\t$ret .= '\u003Cinput type=\"hidden\" class=\"app-disp-price\" value=\"\" \u002F>';\r\n-\t\t$ret .= \"\u003Cinput type='hidden' class='app-user-fields' value='\".esc_attr( wp_json_encode( $sorted_fields ) ).\"' \u002F>\";\r\n+\t\t$ret .= '\u003Cinput type=\"hidden\" class=\"has-cart\" value=\"'.($use_cart ? 1: 0) .'\">';\r\n+\t\t$ret .= '\u003Cinput type=\"hidden\" class=\"app-disp-price\" value=\"\" >';\r\n+\t\t$ret .= \"\u003Cinput type='hidden' class='app-user-fields' value='\".esc_attr( wp_json_encode( $sorted_fields ) ).\"' >\";\r\n \r\n \t\tif ( $_app_id ) {\r\n-\t\t\t$ret .= '\u003Cinput type=\"hidden\" class=\"app-edit-id\" value=\"'.$_app_id.'\"\u002F>';\r\n+\t\t\t$ret .= '\u003Cinput type=\"hidden\" class=\"app-edit-id\" value=\"'.$_app_id.'\">';\r\n \t\t}\r\n \r\n-\t\t$ret .= '\u003Cinput type=\"hidden\" name=\"app_editing_value\" class=\"app_editing_value\" value=\"'. $_editing .'\"\u002F>';\r\n+\t\t$ret .= '\u003Cinput type=\"hidden\" name=\"app_editing_value\" class=\"app_editing_value\" value=\"'. $_editing .'\">';\r\n \t\t$ret .= '\u003Cbutton data-button_text=\"'.$button_text.'\" data-icon=\"check\" class=\"app-conf-button ui-button ui-btn ui-btn-icon-left\">'.$button_text.'\u003C\u002Fbutton>';\r\n \t\t$ret .= '\u003Cbutton data-icon=\"delete\" data-iconpos=\"left\" class=\"app-conf-cancel-button app-cancel-button ui-button ui-btn ui-btn-icon-left\" >'.\r\n \t\t\t\t($use_cart && ! $_editing ? wpb_get_text('cancel_cart') : wpb_get_text('cancel')).'\u003C\u002Fbutton>';\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.booking.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.booking.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.booking.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.booking.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -394,17 +394,6 @@\n }\r\n \r\n \u002F**\r\n- * Check if user is a service provider (worker)\r\n- * @param $ID\t\tinteger\t\t\tWP user ID. If not provided, current user is checked\r\n- * @return bool\r\n- * @since 3.0\r\n- *\u002F\r\n-function wpb_is_worker( $ID = 0 ) {\r\n-\t$uid = $ID ? $ID : ( function_exists( 'get_current_user_id' ) ? get_current_user_id() : 0 );\r\n-\treturn BASE()->is_worker( $uid );\r\n-}\r\n-\r\n-\u002F**\r\n  * Returns service provider (worker) object\r\n  * @param\t$ID\t\t\t\tinteger\t\t\tID of the worker to be retrieved = WP User ID\r\n  * @since 3.0\r\n@@ -714,4 +703,75 @@\n \t\t\t\t\" WHERE service = %d AND ID IN (SELECT object_id FROM \". BASE()->meta_table .\r\n \t\t\t\t\" WHERE meta_type='app' AND meta_key='event_session_id' AND meta_value = %s )\",\r\n \t\t\t\t$booking->get_service(), strtotime( $booking->get_start() ) .'_'. strtotime( $booking->get_end() ) ) );\r\n-}\n\\ No newline at end of file\n+}\r\n+\r\n+\u002F**\r\n+ * Find services that user booked from first day of last year until end of next year\r\n+ * @since 5.9.1\r\n+ * @return array of objects\r\n+ *\u002F\r\n+function wpb_client_services( $user_id = 0, $order = 'name' ) {\r\n+\t$user_id = $user_id ?: get_current_user_id();\r\n+\r\n+\t$args = array(\r\n+\t\t'range'\t=> 'custom',\r\n+\t\t'start'\t=> 'first day of last year',\r\n+\t\t'end'\t=> 'last day of this year +1 year',\r\n+\t\t'user'\t=> $user_id,\r\n+\t\t'limit'\t=> 100,\r\n+\t\t'output'=> OBJECT_K,\r\n+\t);\r\n+\t\r\n+\tif ( ! $pop = wpb_popular_services( $args ) ) {\r\n+\t\treturn array();\r\n+\t}\r\n+\t\r\n+\t$out = array();\r\n+\t$ids = array_keys( $pop );\r\n+\t$services = BASE()->get_services( $order );\r\n+\t\r\n+\tforeach( $services as $id => $service ) {\r\n+\t\tif ( in_array( $id, $ids ) ) {\r\n+\t\t\t$out[ $id ] = $service;\r\n+\t\t}\r\n+\t}\r\n+\t\r\n+\treturn $out;\r\n+}\r\n+\r\n+\u002F**\r\n+ * Find workers that user booked a service from first day of last year until end of next year\r\n+ * @since 5.9.1\r\n+ * @return array of objects\r\n+ *\u002F\r\n+function wpb_client_workers( $user_id = 0, $order = 'name' ) {\r\n+\tif ( ! $workers = BASE()->get_workers( $order ) ) {\r\n+\t\treturn array();\r\n+\t}\r\n+\t\r\n+\t$user_id = $user_id ?: get_current_user_id();\r\n+\r\n+\t$args = array(\r\n+\t\t'range'\t=> 'custom',\r\n+\t\t'start'\t=> 'first day of last year',\r\n+\t\t'end'\t=> 'last day of this year +1 year',\r\n+\t\t'user'\t=> $user_id,\r\n+\t\t'limit'\t=> 100,\r\n+\t\t'output'=> OBJECT_K,\r\n+\t);\r\n+\t\r\n+\tif ( ! $pop = wpb_popular_workers( $args ) ) {\r\n+\t\treturn array();\r\n+\t}\r\n+\t\r\n+\t$out = array();\r\n+\t$ids = array_keys( $pop );\r\n+\t\r\n+\tforeach( $workers as $id => $worker ) {\r\n+\t\tif ( in_array( $id, $ids ) ) {\r\n+\t\t\t$out[ $id ] = $worker;\r\n+\t\t}\r\n+\t}\r\n+\t\r\n+\treturn $out;\r\n+}\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.front.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.front.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.front.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.front.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -352,10 +352,12 @@\n \tif ( $methods = array_filter( explode( ',', wpb_setting( 'social_login_methods' ) ) ) ) {\r\n \r\n \t\t$out .= '\u003Cdiv class=\"app-social-buttons\">';\r\n+\t\t\r\n+\t\t$requested_url = wpb_requested_url();\r\n \r\n \t\tforeach ( $methods as $m ) {\r\n-\t\t\t$url = add_query_arg( array( 'app-social-login' => $m, 'redirect' => wpb_requested_url() ), wpb_requested_url() );\r\n-\t\t\t$out .= '\u003Ca href=\"'.esc_url( $url ).'\" id=\"app-'.$m.'-button\" title=\"'.esc_attr( wpb_get_text( 'login_with_'.$m ) ).'\">'. wpb_social_login_icon( $m ).'\u003C\u002Fa>';\r\n+\t\t\t$url = add_query_arg( array( 'app-social-login' => $m, 'redirect' => $requested_url ), $requested_url );\r\n+\t\t\t$out .= '\u003Ca href=\"'.esc_url( $url ).'\" id=\"app-'.$m.'-button\" title=\"'.esc_attr( wpb_get_text( 'login_with_'.$m ) ).'\" rel=\"nofollow\">'. wpb_social_login_icon( $m ).'\u003C\u002Fa>';\r\n \t\t}\r\n \r\n \t\t$out .= '\u003C\u002Fdiv>';\r\n@@ -907,14 +909,14 @@\n \r\n \t$ret .= '\u003Cdiv class=\"app-step-content app-checkout-content\">';\r\n \tif ( $has_cart ) {\r\n-\t\t$ret .= '\u003Cinput type=\"hidden\" class=\"has-cart\" value=\"1\"\u002F>';\r\n+\t\t$ret .= '\u003Cinput type=\"hidden\" class=\"has-cart\" value=\"1\">';\r\n \t}\r\n \t$ret .= wpb_client_info_html( $fields ) . wpb_gateways_html( $_final_note_pre ) . wpb_checkout_button_html( $use_cart ) . $_final_note;\r\n \t$ret .= '\u003C\u002Fdiv>';\r\n \t$ret .= '\u003C\u002Fdiv>';\r\n \t$ret .= wpb_booking_info_html( );\r\n \t$ret .= '\u003C\u002Fdiv>';\r\n-\t$ret .= '\u003C\u002Fdiv>'; # Close app-conf-wrapper\r\n+\t$ret .= '\u003C\u002Fdiv>';\r\n \r\n \t$ret .= '\u003C\u002Fdiv>'; # Close gr2\r\n \r\n@@ -1266,3 +1268,115 @@\n \r\n \treturn array( $time, $num_limit, $upper_limit, $compans, $error );\r\n }\r\n+\r\n+\u002F**\r\n+ * Get HTML for list of services provided by vendor\r\n+ * @param $args\t\tarray\t\tHTML parameters\r\n+ * @since 5.9.1\r\n+ * @return\tstring\r\n+ *\u002F\r\n+function wpb_services_list_html( $args ) {\r\n+\t$defaults = array(\r\n+\t\t'elm'\t\t=> 'grid',\r\n+\t\t'title'\t\t=> __( 'My Services', 'wp-base' ),\r\n+\t\t'target'\t=> '',\r\n+\t\t'columns'\t=> 3,\r\n+\t\t'services'\t=> '',\r\n+\t);\r\n+\r\n+\t$args = wp_parse_args( $args, $defaults );\r\n+\r\n+\t$items = array();\r\n+\r\n+\t$_services = array_filter( explode( ',', $args['services'] ) );\r\n+\r\n+\tforeach ( $_services as $service_id ) {\r\n+\t\t$service = new WpB_Service( $service_id );\r\n+\r\n+\t\tif ( 'grid' == $args['elm'] ) {\r\n+\r\n+\t\t\t$item = wpb_service_list_item_html( $service, $args['target'] );\r\n+\t\t} else {\r\n+\r\n+\t\t\t$name = BASE()->get_service_name( $service_id );\r\n+\r\n+\t\t\tif ( $link = $service->get_page_permalink() ) {\r\n+\t\t\t\t$item = '\u003Ca href=\"'. $link .'\"'. ($args['target'] ? ' target=\"'. $args['target'] .'\"' : '') .'>'. $name .'\u003C\u002Fa>';\r\n+\t\t\t} else {\r\n+\t\t\t\t$item = $name;\r\n+\t\t\t}\r\n+\t\t}\r\n+\r\n+\t\t$items[] = 'ul' === $args['elm'] || 'ol' === $args['elm'] ? '\u003Cli>'. $item .'\u003C\u002Fli>' : $item;\r\n+\t}\r\n+\r\n+\tif ( '0' === (string)$args['title'] ) {\r\n+\t\t$title_html = '';\r\n+\t} else {\r\n+\t\t$title_html = '\u003Cdiv class=\"app-services-list-title app-title\">'. esc_html( $args['title'] ) .'\u003C\u002Fdiv>';\r\n+\t}\r\n+\r\n+\tif ( 'grid' == $args['elm'] ) {\r\n+\t\tif ( ! is_numeric( $args['columns'] ) || $args['columns'] \u003C 1 || $args['columns'] > 4 ) {\r\n+\t\t\t$args['columns'] = 3;\r\n+\t\t}\r\n+\r\n+\t\t$cols = min( $args['columns'], count( $_services ) );\r\n+\r\n+\t\treturn $title_html .'\u003Cdiv class=\"app-services-list app-grid app-grid-'.$cols.'\">\u003Cdiv class=\"app-grid\">'. implode( \"\\n\", $items ) .'\u003C\u002Fdiv>\u003C\u002Fdiv>';\r\n+\t} else if ( 'ul' === $args['elm'] ) {\r\n+\t\treturn $title_html .'\u003Cul class=\"app-services-list\">'. implode( \"\\n\", $items ) .'\u003C\u002Ful>';\r\n+\t} else if ( 'ol' === $args['elm'] ) {\r\n+\t\treturn $title_html .'\u003Col class=\"app-services-list\">'. implode( \"\\n\", $items ) .'\u003C\u002Fol>';\r\n+\t} else {\r\n+\t\treturn implode( ', ', $items );\r\n+\t}\r\n+}\r\n+\r\n+\u002F**\r\n+ * Get HTML for a single service provided by vendor\r\n+ * @param $service\tobject\t\tWopB_Service object\r\n+ * @since 5.9.1\r\n+ * @return\tstring\r\n+ *\u002F\r\n+function wpb_service_list_item_html( $service, $target ) {\r\n+\t$name = BASE()->get_service_name( $service->get_ID() );\r\n+\r\n+\tif ( $permalink = $service->get_page_permalink() ) {\r\n+\t\t$link = $permalink;\r\n+\t\t$link_css = ' has-link';\r\n+\t} else {\r\n+\t\t$link = 'javascript:void(0)';\r\n+\t\t$link_css = ' no-link';\r\n+\t}\r\n+\r\n+\tif ( $attach = wp_get_attachment_image( $service->get_image_id(), 'medium', false, array( 'class' => 'app-item-img', 'loading' => false, 'alt' => $name ) ) ) {\r\n+\t\t$img_html = $attach;\r\n+\t\t$pholder_css = ' no-pholder';\r\n+\t} else {\r\n+\t\t$img_html = '\u003Cimg class=\"app-item-img\" src=\"'.esc_attr( wpb_placeholder_img_src() ).'\" alt=\"Service\" \u002F>';\r\n+\t\t$pholder_css = ' has-pholder';\r\n+\t}\r\n+\r\n+\t$out  = '\u003Cdiv class=\"app-item-card'.$pholder_css.$link_css.'\">';\r\n+\t$out .= '\u003Ca class=\"app-item-thumb-link\" href=\"'. $link .'\"'. ($target ? ' target=\"'. $target .'\"' : '') .'>';\r\n+\t$out .= '\u003Cdiv class=\"app-item-thumb\">';\r\n+\t$out .= $img_html;\r\n+\t$out .= '\u003C\u002Fdiv>';\r\n+\t$out .= '\u003C\u002Fa>';\r\n+\t$out .= '\u003Cdiv class=\"app-item-text\">';\r\n+\t$out .= '\u003Ch3 class=\"app-item-title\">'. $name .'\u003C\u002Fh3>';\r\n+\t$out .= '\u003Cdiv class=\"app-item-excerpt\">'. ($service->get_description() ?: wp_trim_words( $service->get_rte_content(), 55, '')) .'\u003C\u002Fdiv>';\r\n+\r\n+\t$out .= '\u003Cdiv class=\"app-item-read-more-wrapper\">';\r\n+\tif ( $permalink ) {\r\n+\t\t$out .= '\u003Ca class=\"app-item-read-more\" href=\"'. $link .'\"'. ($target ? ' target=\"'. $target .'\"' : '') .'>'. wpb_get_text( 'read_more' ) .'\u003C\u002Fa>';\r\n+\t}\r\n+\t$out .= '\u003C\u002Fdiv>';\r\n+\r\n+\t$out .= '\u003C\u002Fdiv>';\r\n+\t$out .= '\u003C\u002Fdiv>';\r\n+\r\n+\treturn $out;\r\n+}\r\n+\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.general.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.general.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.general.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.general.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -340,6 +340,91 @@\n \treturn WpBMeta::delete_metadata_by_oid( 'payment', $pid );\r\n }\r\n \r\n+ \u002F**\r\n+ * Add meta data field to a commission\r\n+ *\r\n+ * @since 6.0.0\r\n+ *\r\n+ * @param int    $pid\t commission ID.\r\n+ * @param string $meta_key   Metadata name.\r\n+ * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.\r\n+ * @param bool   $unique     Optional. Whether the same key should not be added.\r\n+ *                           Default true.\r\n+ * @return int|false Meta ID on success, false on failure.\r\n+ *\u002F\r\n+function wpb_add_commission_meta( $pid, $meta_key, $meta_value, $unique = true ) {\r\n+\treturn WpBMeta::add_metadata( 'commission', $pid, $meta_key, $meta_value, $unique );\r\n+}\r\n+\r\n+\u002F**\r\n+ * Retrieve payment meta field for a commission.\r\n+ *\r\n+ * @since 6.0.0\r\n+ *\r\n+ * @param int    $pid  \t  commission ID.\r\n+ * @param string $key     Optional. The meta key to retrieve. By default, returns\r\n+ *                        data for all keys. Default empty.\r\n+ * @param bool   $single  Optional. Whether to return a single value.\r\n+ * @return mixed Will be an array if $single is false. Will be value of meta data\r\n+ *               field if $single is true.\r\n+ *\u002F\r\n+function wpb_get_commission_meta( $pid, $key = '', $single = true ) {\r\n+\treturn WpBMeta::get_metadata( 'commission', $pid, $key, $single );\r\n+}\r\n+\r\n+\u002F**\r\n+ * Update payment meta field based on commission ID.\r\n+ *\r\n+ * Use the $prev_value parameter to differentiate between meta fields with the\r\n+ * same key and payment ID.\r\n+ *\r\n+ * If the meta field for the post does not exist, it will be added.\r\n+ *\r\n+ * @since 6.0.0\r\n+ *\r\n+ * @param int    $pid     \t commission ID.\r\n+ * @param string $meta_key   Metadata key.\r\n+ * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.\r\n+ * @param mixed  $prev_value Optional. Previous value to check before removing.\r\n+ *                           Default empty.\r\n+ * @return int|bool Meta ID if the key didn't exist, true on successful update,\r\n+ *                  false on failure.\r\n+ *\u002F\r\n+function wpb_update_commission_meta( $pid, $meta_key, $meta_value, $prev_value = '' ) {\r\n+\treturn WpBMeta::update_metadata( 'commission', $pid, $meta_key, $meta_value, $prev_value );\r\n+}\r\n+\r\n+\u002F**\r\n+ * Remove metadata matching criteria from a commission record.\r\n+ *\r\n+ * You can match based on the key, or key and value. Removing based on key and\r\n+ * value, will keep from removing duplicate metadata with the same key. It also\r\n+ * allows removing all metadata matching key, if needed.\r\n+ *\r\n+ * @since 6.0.0\r\n+ *\r\n+ * @param int    $pid     commission ID.\r\n+ * @param string $meta_key   Metadata name.\r\n+ * @param mixed  $meta_value Optional. Metadata value. Must be serializable if\r\n+ *                           non-scalar. Default empty.\r\n+ * @return bool True on success, false on failure.\r\n+ *\u002F\r\n+function wpb_delete_commission_meta( $pid, $meta_key, $meta_value = '' ) {\r\n+\treturn WpBMeta::delete_metadata( 'commission', $pid, $meta_key, $meta_value );\r\n+}\r\n+\r\n+\u002F**\r\n+ * Remove all metadata of a commission record.\r\n+ *\r\n+ * @since 6.0.0\r\n+ *\r\n+ * @param int    $pid     commission ID.\r\n+ * @return bool True on success, false on failure.\r\n+ *\u002F\r\n+function wpb_delete_commission_metadata( $pid ) {\r\n+\treturn WpBMeta::delete_metadata_by_oid( 'commission', $pid );\r\n+}\r\n+\r\n \u002F**\r\n  * Get salt. If it does not exist, create it\r\n  * @since 2.0\r\n@@ -902,6 +987,15 @@\n }\r\n \r\n \u002F**\r\n+* Get a list of zero decimal currency\r\n+* @sine 6.0.0\r\n+* @return array\r\n+*\u002F\r\n+function wpb_zero_decimal_currency(){\r\n+\treturn array( 'BIF', 'CLP', 'DJF', 'GNF', 'JPY', 'KMF', 'KRW', 'MGA', 'PYG', 'RWF', 'UGX', 'VND', 'VUV', 'XAF', 'XOF', 'XPF' );\r\n+}\r\n+\t\r\n+\u002F**\r\n  * Converts 1 to 1st, 2 to 2nd, etc\r\n  * https:\u002F\u002Fstackoverflow.com\u002Fa\u002F3110033\r\n  * @return string\r\n@@ -1054,16 +1148,6 @@\n }\r\n \r\n \u002F**\r\n- * Check if user is WP BASE admin\r\n- * @param $user\tobject|integer\tUser object or ID\r\n- * @since 5.1.0\r\n- * @return bool\r\n- *\u002F\r\n-function wpb_is_admin_user( $user = null ) {\r\n-\treturn user_can( $user ?: get_current_user_id(), WPB_ADMIN_CAP );\r\n-}\r\n-\r\n-\u002F**\r\n  * Check if user has at least one of the required capability\r\n  * @param $cap\tarray|string\tComma delimited string or array with required caps to check\r\n  * @since 3.0\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.internal.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.internal.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.internal.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.internal.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -858,12 +858,12 @@\n         'Z' => '',       \u002F\u002F time zone offset in minutes => moment().zone();\r\n         'z' => 'DDD',\r\n \t);\r\n-\t\r\n+\r\n     \u002F\u002F Converts escaped characters.\r\n     foreach ($replacements as $from => $to) {\r\n         $replacements['\\\\' . $from] = '[' . $from . ']';\r\n-    }\t\r\n-\t\r\n+    }\r\n+\r\n \tif ( 'safe' === $par ) {\r\n \t\t$momentFormat = strtr( BASE()->safe_date_format(), $replacements );\r\n \t} else if ( $par ) {\r\n@@ -1449,7 +1449,7 @@\n  *\u002F\r\n function wpb_description_page_selection( $ptypes, $page_id ) {\r\n \t$ptypes = is_array( $ptypes ) ? $ptypes : array_map( 'trim', explode( ',', $ptypes ) );\r\n-\t\r\n+\r\n \t$html = '\u003Coption value=\"0\">'. __('None','wp-base') .'\u003C\u002Foption>';\r\n \r\n \tforeach( (array)$ptypes as $ptype ) {\r\n@@ -1458,20 +1458,20 @@\n \t\t} else {\r\n \t\t\t$pages = get_posts( array('post_type' => $ptype, 'post_status' => 'publish,private', 'numberposts' => -1, 'orderby' => 'title', 'order' => 'ASC') );\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\t$post_obj\t= get_post_type_object( $ptype );\r\n-\t\t$label\t\t= ! empty( $post_obj->labels->name ) ? $post_obj->labels->name : __( 'Custom Posts', 'wp-base' );\t\t\r\n-\t\t\r\n+\t\t$label\t\t= ! empty( $post_obj->labels->name ) ? $post_obj->labels->name : __( 'Custom Posts', 'wp-base' );\r\n+\r\n \t\t$html .= '\u003Coptgroup label=\"'. $label .'\">';\r\n-\t\t\r\n+\r\n \t\tforeach( (array)$pages as $page ) {\r\n \t\t\t$s = $page_id == $page->ID ? ' selected=\"selected\"' : '';\r\n-\t\t\t$html .= '\u003Coption value=\"'.$page->ID.'\"'.$s.'>'. esc_html( $page->post_title ) . '\u003C\u002Foption>';\r\n+\t\t\t$html .= '\u003Coption value=\"'.$page->ID.'\"'.$s.'>'. esc_html( $page->post_title ) .' (#'. esc_html( $page->ID ) .')\u003C\u002Foption>';\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\t$html .= '\u003C\u002Foptgroup>';\r\n \t}\r\n-\t\r\n+\r\n \treturn $html;\r\n }\r\n \r\n@@ -2195,7 +2195,7 @@\n  * @author  maliayas\r\n  *\u002F\r\n function wpb_adjustBrightness($hexCode, $adjustPercent) {\r\n-    $hexCode = ltrim($hexCode, '#');\r\n+    $hexCode = ltrim( ($hexCode ?: ''), '#');\r\n \r\n     if (strlen($hexCode) == 3) {\r\n         $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];\r\n@@ -2362,7 +2362,7 @@\n \tif ( user_can( $user_id, WPB_ADMIN_CAP ) || user_can( $user_id, 'manage_transactions' ) ) {\r\n \t\treturn true;\r\n \t}\r\n-\t\r\n+\r\n \tif ( wpb_is_manager( $user_id ) && wpb_is_manage_store() ) {\r\n \t\treturn true;\r\n \t}\r\n@@ -2488,7 +2488,7 @@\n \tif ( ! $is_admin && ! $is_worker && ! $is_manager ) {\r\n \t\treturn false;\r\n \t}\r\n-\t\r\n+\r\n \tif ( $is_manager && wpb_is_manage_store() ) {\r\n \t\treturn true;\r\n \t}\r\n@@ -2842,28 +2842,63 @@\n  *\u002F\r\n function wpb_upgrade_510() {\r\n \tupdate_user_meta( get_current_user_id(), 'app_service_check_needed', true );\r\n-\t\r\n+\r\n \t$options = wpb_setting();\r\n \t$changed = false;\r\n-\t\r\n+\r\n \tif ( empty( $options['schedule_show_images'] ) ) {\r\n \t\t$options['schedule_show_images'] = 'yes';\r\n \t\t$changed = true;\r\n \t}\r\n-\t\r\n+\r\n \tif ( empty( $options['ms_use_effect'] ) ) {\r\n \t\t$options['ms_use_effect'] = 'no';\r\n \t\t$changed = true;\r\n \t}\r\n-\t\r\n+\r\n \tif ( $changed ) {\r\n \t\tBASE()->update_options( $options );\r\n \t}\r\n-\t\r\n+\r\n \tadd_user_meta( get_current_user_id(), 'app_schedules_notice', true, true );\r\n }\r\n \r\n \u002F**\r\n+ * When upgrading to V6.0, set commission email template\r\n+ * @since 6.0.0\r\n+ * @return none\r\n+ *\u002F\r\n+function wpb_upgrade_600() {\r\n+\tif ( ! WPB_DEV ) {\r\n+\t\treturn;\r\n+\t}\r\n+\t\r\n+\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Fconstant-data.php' );\r\n+\t\r\n+\t$options = wpb_setting();\r\n+\t$changed = false;\r\n+\t\r\n+\tif ( empty( $options['send_commission_paid'] ) ) {\r\n+\t\t$options['send_commission_paid'] = 'yes';\r\n+\t\t$changed = true;\t\r\n+\t}\r\n+\t\r\n+\tif ( empty( $options['commission_paid_subject'] ) ) {\r\n+\t\t$options['commission_paid_subject'] = __('Good news! You received a payment from SITE_NAME','wp-base');\r\n+\t\t$changed = true;\t\r\n+\t}\r\n+\t\r\n+\tif ( empty( $options['commission_paid_message'] ) ) {\r\n+\t\t$options['commission_paid_message'] = WpBConstant::$_commission_paid_message;\r\n+\t\t$changed = true;\t\r\n+\t}\r\n+\t\r\n+\tif ( $changed ) {\r\n+\t\tBASE()->update_options( $options );\r\n+\t}\t\r\n+}\r\n+\r\n+\u002F**\r\n  * Get login link of the website\r\n  * @since 4.0.2\r\n  * @return string\r\n@@ -3024,9 +3059,9 @@\n \tif ( ! wpb_is_multi_store() ) {\r\n \t\treturn false;\r\n \t}\r\n-\t\r\n+\r\n \t$worker = new WpB_Worker( $user_id ?: get_current_user_id() );\r\n-\t\r\n+\r\n \treturn $worker->get_store() ?: false;\r\n }\r\n \r\n@@ -3076,6 +3111,61 @@\n }\r\n \r\n \u002F**\r\n+ * Check if user is WP BASE admin\r\n+ * @param $user\tobject|integer\tUser object or ID\r\n+ * @since 5.1.0\r\n+ * @return bool\r\n+ *\u002F\r\n+function wpb_is_admin_user( $user = null ) {\r\n+\treturn user_can( $user ?: get_current_user_id(), WPB_ADMIN_CAP );\r\n+}\r\n+\r\n+\u002F**\r\n+ * Check if user is a service provider (worker)\r\n+ * @param $ID\t\tinteger\t\t\tWP user ID. If not provided, current user is checked\r\n+ * @return bool\r\n+ * @since 3.0\r\n+ *\u002F\r\n+function wpb_is_worker( $ID = 0 ) {\r\n+\t$uid = $ID ? $ID : ( function_exists( 'get_current_user_id' ) ? get_current_user_id() : 0 );\r\n+\treturn BASE()->is_worker( $uid );\r\n+}\r\n+\r\n+\u002F**\r\n+ * Whether a user is client ONLY\r\n+ * @sine 5.9.1\r\n+ * @return bool\r\n+ *\u002F\r\n+function wpb_is_client( $user_id = null ) {\r\n+\t$user_id = $user_id ?: get_current_user_id();\r\n+\r\n+\tif ( ! wpb_is_admin_user( $user_id ) && ! wpb_is_manager( $user_id ) && ! wpb_is_worker( $user_id ) ) {\r\n+\t\treturn true;\r\n+\t}\r\n+\r\n+\treturn false;\r\n+}\r\n+\r\n+\u002F**\r\n+ * User highest role for basic configuration (without Marketplace roles)\r\n+ * @sine 6.0\r\n+ * @return string\r\n+ *\u002F\r\n+function wpb_user_role( $user_id = null ) {\r\n+\t$user_id = $user_id ?: get_current_user_id();\r\n+\t\r\n+\tif ( wpb_is_admin_user( $user_id ) ) {\r\n+\t\t$role = 'admin';\r\n+\t} else if ( wpb_is_worker( $user_id ) ) {\r\n+\t\t$role = 'worker';\r\n+\t} else {\r\n+\t\t$role = 'client';\r\n+\t}\r\n+\r\n+\treturn $role;\r\n+}\r\n+\r\n+\u002F**\r\n  * Bring list of location IDs to be used account, store and admin pages\r\n  * @since 5.6.0\r\n  * @return array\r\nOnly in \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes: functions.listing.php\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.performance.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.performance.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Ffunctions.performance.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Ffunctions.performance.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -47,18 +47,18 @@\n  *\u002F\r\n function wpb_get_paid_by_app_ids( $ids ) {\r\n \t$ids = is_array( $ids ) ? $ids : array_map( 'trim', explode( ',', $ids ) );\r\n-\t\r\n+\r\n \tif ( empty( $ids ) ) {\r\n \t\treturn array();\r\n \t}\r\n-\t\r\n+\r\n \t$cache_id = wpb_cache_prefix() . 'paid_by_app_ids_'. md5( serialize( $ids ) );\r\n \t$trs = wp_cache_get( $cache_id );\r\n \r\n \tif ( false === $trs ) {\r\n \t\t$tr_table\t= BASE()->transaction_table;\r\n \t\t$app_table\t= BASE()->app_table;\r\n-\t\t\r\n+\r\n \t\t$ids = array_map( 'esc_sql', $ids );\r\n \t\t$id_list = implode( ',', $ids );\r\n \r\n@@ -69,7 +69,7 @@\n \t\t\t \" GROUP BY app.ID\";\r\n \r\n \t\t$result = BASE()->db->get_results( $q, OBJECT_K );\r\n-\t\t\r\n+\r\n \t\t$trs = wp_list_pluck( $result, 'total_paid', 'app_id' );\r\n \r\n \t\twp_cache_set( $cache_id, $trs );\r\n@@ -133,8 +133,8 @@\n \t# First check if a cache is available\r\n \t$trs = wp_cache_get( wpb_cache_prefix() . 'all_transactions' );\r\n \r\n-\tif ( isset( $trs[$app_id] ) && isset( $trs[$app_id]->total_paid ) ) {\r\n-\t\treturn $trs[$app_id]->total_paid;\r\n+\tif ( isset( $trs[ $app_id ] ) && isset( $trs[ $app_id ]->total_paid ) ) {\r\n+\t\treturn $trs[ $app_id ]->total_paid;\r\n \t}\r\n \r\n \t\u002F\u002F If we are interested in just one payment. e.g. to use in email, it is resource saver if we call it from DB\r\n@@ -160,15 +160,15 @@\n \t\u002F\u002F We are prefering the first method, because it caches user's all transactions\r\n \tif ( ! empty( $app->user ) ) {\r\n \t\t$trs = wpb_get_transactions_by_user( $app->user );\r\n-\t\tif ( isset( $trs[$app_id] ) && isset( $trs[$app_id]->total_paid ) ) {\r\n-\t\t\treturn $trs[$app_id]->total_paid;\r\n+\t\tif ( isset( $trs[ $app_id ] ) && isset( $trs[ $app_id ]->total_paid ) ) {\r\n+\t\t\treturn $trs[ $app_id ]->total_paid;\r\n \t\t} else {\r\n \t\t\treturn 0;\r\n \t\t}\r\n \t} else {\r\n \t\t$trs = wpb_get_all_transactions( );\r\n-\t\tif ( isset( $trs[$app_id]->total_paid ) ) {\r\n-\t\t\treturn $trs[$app_id]->total_paid;\r\n+\t\tif ( isset( $trs[ $app_id ]->total_paid ) ) {\r\n+\t\t\treturn $trs[ $app_id ]->total_paid;\r\n \t\t} else {\r\n \t\t\treturn 0;\r\n \t\t}\r\n@@ -224,12 +224,13 @@\n \t$args = wp_parse_args( $args, $defaults );\r\n \r\n \t\u002F\u002F Create a uniqe ID in manual payments, if not given by user\r\n-\tif ( 'manual-payments' == $args['gateway'] && !$args['paypal_ID'] ) {\r\n+\tif ( 'manual-payments' == $args['gateway'] && ! $args['paypal_ID'] ) {\r\n \t\t$args['paypal_ID'] = uniqid('auto_');\r\n \t}\r\n \r\n \t$table \t= BASE()->transaction_table;\r\n \t$result\t= $new_record = false;\r\n+\r\n \t$data \t= array();\r\n \t$data['transaction_app_ID']\t\t\t= $args['app_id'];\r\n \t$data['transaction_total_amount']\t= ( $args['amount'] ?: 0 ) * 100;\r\n@@ -387,6 +388,7 @@\n  *\t\tday_by_day\tbool\t\t\tWhether x-axis will be daily or longer (15 days or monthly)\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.5.0\r\n  * @return array\r\n  *\u002F\r\n@@ -409,8 +411,19 @@\n  * Helper to retrieve revenue and sales data\r\n  * @param\t$context\tstring\tEither sales or revenue or seats\r\n  * @param\t$stats\t\tarray\tOptionally select different stats\r\n- * @param \t$args\t\tarray\t(All optional):\r\n- * \t\tSee wpb_get_sales\r\n+ * @param $args\tarray\t(All parameters optional):\r\n+ *\t\trange\t\tstring\t\t\ttoday, yesterday, tomorrow, this_week, last_week, next_week, last_30_days, this_month, last_month, next_month, last_year, this_year\r\n+ * \t\tstart \t\tinteger\u002Fstring\tStart of the report as timestamp or date time in any standard format, preferably Y-m-d H:i:s\r\n+ * \t\tend\t\t\tinteger\u002Fstring\tEnd of the report as timestamp or date time. If left empty, end time is calculated from duration of service\r\n+ * \t\tlocation\tinteger\t\t\tID of location. If left empty, all locations\r\n+ * \t\tservice\t\tinteger\t\t\tID of service. If left empty, all services\r\n+ * \t\tworker\t\tinteger\t\t\tID of service provider. If left empty, all providers\r\n+ *\t\tuser\t\tinteger\t\t\tID of the client. If left empty, all clients\r\n+ *\t\tday_by_day\tbool\t\t\tWhether x-axis will be daily or longer (15 days or monthly)\r\n+ *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n+ *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\tlimit\t\tinteger\t\t\tmySQL LIMIT for certain context\r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.5.0\r\n  * @return array\r\n  *\u002F\r\n@@ -429,6 +442,8 @@\n \t\t'by_created'\t=> false,\r\n \t\t'stats'\t\t\t=> $stats,\r\n \t\t'exclude'\t\t=> false,\r\n+\t\t'limit'\t\t\t=> 10,\r\n+\t\t'output'\t\t=> ARRAY_A,\r\n \t);\r\n \r\n \t$args \t\t\t= _wpb_setup_report_args( wp_parse_args( $args, $defaults ) );\r\n@@ -443,7 +458,7 @@\n \t}\r\n \r\n \tif ( false === $data ) {\r\n-\t\r\n+\r\n \t\t$stores = wpb_managed_stores();\r\n \r\n \t\t$by = ! empty( $args['by_created'] ) ? 'created' : 'start';\r\n@@ -472,7 +487,7 @@\n \t\t$com_stasuses = \"'\" . implode( \"', '\", $com_stasuses ) . \"'\";\r\n \r\n \t\tif ( is_array( $args['location'] ) ) {\r\n-\t\t\t$locs = wpb_is_manage_store() ? array_intersect( $args['location'], $stores ) : $args['location']; \r\n+\t\t\t$locs = wpb_is_manage_store() ? array_intersect( $args['location'], $stores ) : $args['location'];\r\n \t\t\t$location\t= $args['location'] ? \"location IN (\". implode( ',', array_map( 'esc_sql', $locs ) ) .\")\" : \"1=1\";\r\n \t\t} else {\r\n \t\t\tif ( wpb_is_manage_store() ) {\r\n@@ -481,11 +496,11 @@\n \t\t\t\t$location\t= $args['location'] ? $wpdb->prepare( \"location=%d\", $args['location'] ) : \"1=1\";\r\n \t\t\t}\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\t$service\t= $args['service'] ? $wpdb->prepare( \"service=%d\", $args['service'] ) : \"1=1\";\r\n-\t\t\r\n+\r\n \t\tif ( wpb_is_manage_store() ) {\r\n-\t\t\t$pop_worker = $worker = $stores \r\n+\t\t\t$pop_worker = $worker = $stores\r\n \t\t\t\t\t? \"worker IN ( SELECT user_id FROM {$wpdb->usermeta} AS usermeta WHERE meta_key='app_store' AND meta_value IN(\".implode(',', $stores).\") ) \"\r\n \t\t\t\t\t: \" 1=2\";\r\n \t\t} else {\r\n@@ -495,15 +510,15 @@\n \t\t\t\t\t    $wpdb->prefix .\"base_meta WHERE meta_type='service' AND meta_key='owner' AND meta_value=%d)) )\", $args['worker'], $args['worker'] )\r\n \t\t\t\t\t : \"1=1\";\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\t$com_worker\t= $args['worker'] || '0' === (string)$args['worker'] ? $wpdb->prepare( \"coms.worker=%d\", $args['worker'] ) : \"1=1\";\r\n-\t\t$user\t\t= $args['user'] ? $wpdb->prepare( \"user=%d\", $args['user'] ) : \"1=1\";\r\n+\t\t$user\t\t= $args['user'] || '0' === (string)$args['user']  ? $wpdb->prepare( \"user=%d\", $args['user'] ) : \"1=1\";\r\n \r\n \t\t$exclude\t= $args['exclude']\r\n \t\t\t\t\t  ? (is_array( $args['exclude'] ) ? implode( ',', array_map( 'absint', $args['exclude'] ) ) : absint( $args['exclude'] ))\r\n \t\t\t\t\t  : 0;\r\n \r\n-\t\t$limit\t\t= apply_filters( 'app_report_limit', 10, $context, $args );\r\n+\t\t$limit\t\t= apply_filters( 'app_report_limit', $args['limit'], $context, $args );\r\n \r\n \t\tif ( 'revenue' == $context ) {\r\n \t\t\t$data = $wpdb->get_results( $wpdb->prepare(\r\n@@ -516,9 +531,10 @@\n \t\t\t AND $location\r\n \t\t\t AND $service\r\n \t\t\t AND $worker\r\n+\t\t\t AND $user\r\n \t\t\t AND apps.ID NOT IN ($exclude)\r\n \t\t\t GROUP BY $grouping\r\n-\t\t\t ORDER by apps.{$by} ASC\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), ARRAY_A );\r\n+\t\t\t ORDER by apps.{$by} ASC\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), $args['output'] );\r\n \r\n \t\t} else if ( 'commissions' == $context ) {\r\n \t\t\t$query = $wpdb->prepare(\r\n@@ -531,8 +547,9 @@\n \t\t\t AND $location\r\n \t\t\t AND $service\r\n \t\t\t AND $com_worker\r\n+\t\t\t AND $user\r\n \t\t\t ORDER by apps.{$by} ASC\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) );\r\n-\t\t\t$data = $wpdb->get_results( $query, ARRAY_A );\r\n+\t\t\t$data = $wpdb->get_results( $query, $args['output'] );\r\n \r\n \t\t} else if ( 'seats' == $context ) {\r\n \t\t\t$data = $wpdb->get_results( $wpdb->prepare(\r\n@@ -544,9 +561,10 @@\n \t\t\t AND $location\r\n \t\t\t AND $service\r\n \t\t\t AND $worker\r\n+\t\t\t AND $user\r\n \t\t\t AND apps.ID NOT IN ($exclude)\r\n \t\t\t GROUP BY $grouping\r\n-\t\t\t ORDER by apps.{$by} ASC\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), ARRAY_A );\r\n+\t\t\t ORDER by apps.{$by} ASC\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), $args['output'] );\r\n \r\n \t\t} else if ( 'popular_services' == $context ) {\r\n \t\t\t$data = $wpdb->get_results( $wpdb->prepare(\r\n@@ -557,10 +575,11 @@\n \t\t\t AND apps.status IN ($statuses)\r\n \t\t\t AND $location\r\n \t\t\t AND $worker\r\n+\t\t\t AND $user\r\n \t\t\t AND apps.ID NOT IN ($exclude)\r\n \t\t\t GROUP BY service\r\n \t\t\t ORDER by total_seats DESC\r\n-\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), ARRAY_A );\r\n+\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), $args['output'] );\r\n \r\n \t\t} else if ( 'popular_services_by_revenue' == $context ) {\r\n \t\t\t$data = $wpdb->get_results( $wpdb->prepare(\r\n@@ -572,10 +591,11 @@\n \t\t\t AND apps.status IN ($statuses)\r\n \t\t\t AND $location\r\n \t\t\t AND $worker\r\n+\t\t\t AND $user\r\n \t\t\t AND apps.ID NOT IN ($exclude)\r\n \t\t\t GROUP BY service\r\n \t\t\t ORDER by total DESC\r\n-\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), ARRAY_A );\r\n+\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), $args['output'] );\r\n \r\n \t\t} else if ( 'popular_workers' == $context ) {\r\n \t\t\t$data = $wpdb->get_results( $wpdb->prepare(\r\n@@ -586,10 +606,11 @@\n \t\t\t AND apps.status IN ($statuses)\r\n \t\t\t AND $location\r\n \t\t\t AND $pop_worker\r\n+\t\t\t AND $user\r\n \t\t\t AND apps.ID NOT IN ($exclude)\r\n \t\t\t GROUP BY worker\r\n \t\t\t ORDER by total_seats DESC\r\n-\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), ARRAY_A );\r\n+\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), $args['output'] );\r\n \r\n \t\t} else if ( 'popular_workers_by_revenue' == $context ) {\r\n \t\t\t$data = $wpdb->get_results( $wpdb->prepare(\r\n@@ -601,10 +622,11 @@\n \t\t\t AND apps.status IN ($statuses)\r\n \t\t\t AND $location\r\n \t\t\t AND $pop_worker\r\n+\t\t\t AND $user\r\n \t\t\t AND apps.ID NOT IN ($exclude)\r\n \t\t\t GROUP BY worker\r\n \t\t\t ORDER by total DESC\r\n-\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), ARRAY_A );\r\n+\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), $args['output'] );\r\n \r\n \t\t} else if ( 'popular_clients' == $context ) {\r\n \t\t\t$data = $wpdb->get_results( $wpdb->prepare(\r\n@@ -618,7 +640,7 @@\n \t\t\t AND apps.ID NOT IN ($exclude)\r\n \t\t\t GROUP BY user\r\n \t\t\t ORDER by total_seats DESC\r\n-\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), ARRAY_A );\r\n+\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), $args['output'] );\r\n \r\n \t\t} else if ( 'popular_clients_by_revenue' == $context ) {\r\n \t\t\t$data = $wpdb->get_results( $wpdb->prepare(\r\n@@ -633,7 +655,7 @@\n \t\t\t AND apps.ID NOT IN ($exclude)\r\n \t\t\t GROUP BY user\r\n \t\t\t ORDER by total DESC\r\n-\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), ARRAY_A );\r\n+\t\t\t LIMIT $limit\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), $args['output'] );\r\n \r\n \t\t} else {\r\n \t\t\t$data = $wpdb->get_results( $wpdb->prepare(\r\n@@ -648,7 +670,7 @@\n \t\t\t AND $user\r\n \t\t\t AND apps.ID NOT IN ($exclude)\r\n \t\t\t GROUP BY $grouping\r\n-\t\t\t ORDER by apps.{$by} ASC\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), ARRAY_A );\r\n+\t\t\t ORDER by apps.{$by} ASC\", date( 'Y-m-d H:i:s', $args['start'] ), date( 'Y-m-d H:i:s', $args['end'] ) ), $args['output'] );\r\n \t\t}\r\n \r\n \t\tif ( ! $non_cachable ) {\r\n@@ -727,6 +749,7 @@\n  * \t\tworker\t\tinteger\t\t\tID of service provider. If left empty, all providers\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.5.0\r\n  * @return integer (hours)\r\n  *\u002F\r\n@@ -777,6 +800,7 @@\n  *\t\tuser\t\tinteger\t\t\tID of the client. If left empty, all clients\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.5.0\r\n  * @return integer\r\n  *\u002F\r\n@@ -797,6 +821,7 @@\n  *\t\tuser\t\tinteger\t\t\tID of the client. If left empty, all clients\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.7.8\r\n  * @return integer\r\n  *\u002F\r\n@@ -816,6 +841,8 @@\n  *\t\tuser\t\tinteger\t\t\tID of the client. If left empty, all clients\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\tlimit\t\tinteger\t\t\tmySQL LIMIT\r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.8.7\r\n  * @return array of arrays\r\n  *\u002F\r\n@@ -836,6 +863,8 @@\n  *\t\tuser\t\tinteger\t\t\tID of the client. If left empty, all clients\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\tlimit\t\tinteger\t\t\tmySQL LIMIT \r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.8.7\r\n  * @return array of arrays\r\n  *\u002F\r\n@@ -856,6 +885,8 @@\n  *\t\tuser\t\tinteger\t\t\tID of the client. If left empty, all clients\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\tlimit\t\tinteger\t\t\tmySQL LIMIT \r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.8.7\r\n  * @return array of arrays\r\n  *\u002F\r\n@@ -877,6 +908,8 @@\n  *\t\tuser\t\tinteger\t\t\tID of the client. If left empty, all clients\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\tlimit\t\tinteger\t\t\tmySQL LIMIT \r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.8.7\r\n  * @return array of arrays\r\n  *\u002F\r\n@@ -897,6 +930,8 @@\n  * \t\tworker\t\tinteger\t\t\tID of service provider. If left empty, all providers\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\tlimit\t\tinteger\t\t\tmySQL LIMIT \r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.8.7\r\n  * @return array of arrays\r\n  *\u002F\r\n@@ -916,6 +951,8 @@\n  * \t\tworker\t\tinteger\t\t\tID of service provider. If left empty, all providers\r\n  *\t\tby_created\tbool\t\t\tIf true give the results by creation time. If false, give the results for start time\r\n  *\t\texclude\t\tstring\u002Farray\tExclude booking ID(s)\r\n+ *\t\tlimit\t\tinteger\t\t\tmySQL LIMIT \r\n+ *\t\toutput\t\tstring\t\t\tOutput format, e.g. ARRAY_A, OBJECT_K. Defaults to ARRAY_A\r\n  * @since 3.8.7\r\n  * @return array of arrays\r\n  *\u002F\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fschedules.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fschedules.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fschedules.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fschedules.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -22,18 +22,12 @@\n \r\n \tprivate $order_arr = array();\r\n \r\n-\tprivate $bg_colors = array();\r\n-\r\n-\tprivate $text_colors = array();\r\n-\r\n-\tprivate $parents = array();\r\n-\r\n \tprivate $schedules_page;\r\n \r\n \t\u002F**\r\n      * WP BASE Core + Front [+Admin] instance\r\n      *\u002F\r\n-\tprotected $a = null;\r\n+\tprotected $a;\r\n \r\n \t\u002F**\r\n      * Constructor\r\n@@ -48,50 +42,104 @@\n \tpublic function add_hooks(){\r\n \t\tadd_action( 'app_menu_before_all', array( $this, 'add_menu' ), 19 );\r\n \t\tadd_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );\r\n+\t\tadd_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );\r\n \t\tadd_action( 'in_admin_header', array( $this, 'remove_notices' ) );\r\n \t\tadd_action( 'wp_ajax_app_get_schedule_bookings', array( $this, 'get_bookings' ) );\r\n \t\tadd_action( 'wp_ajax_app_quick_book_upsert', array( $this, 'upsert' ) );\r\n \t\tadd_action( 'wp_ajax_app_quick_book_update', array( $this, 'update' ) );\r\n \t\tadd_action( 'wp_ajax_app_quick_book_save', array( $this, 'save' ) );\r\n \t\tadd_action( 'wp_ajax_app_save_navbar_schedule', array( $this, 'save_navbar' ) );\r\n-\t\tadd_action( 'wp_ajax_app_panel_save_left', array( $this, 'save_left' ) );\r\n \t\tadd_action( 'wp_ajax_app_schedule_save_filters', array( $this, 'save_filters' ) );\r\n \r\n-\t\t# Delete cache\r\n-\t\tadd_action( 'app_new_appointment', array( $this, 'delete_cache' ) );\r\n-\t\tadd_action( 'app_status_changed', array( $this, 'delete_cache' ) );\r\n-\t\tadd_action( 'app_bulk_status_change', array( $this, 'delete_cache' ) );\r\n-\t\tadd_filter( 'app_inline_edit_save_result_final', array( $this, 'inline_edit_save_result_final' ), 100, 4 );\r\n-\t\tadd_filter( 'app_edit_maybe_updated', array( $this, 'delete_cache' ) );\r\n-\t\tadd_action( 'app_delete_pre', array( $this, 'delete_cache' ) );\r\n-\t\tadd_action( 'app_booking_updated', array( $this, 'delete_cache' ) );\r\n+\t\t# Delete cache + Set new one\r\n+\t\tadd_filter( 'app_inline_edit_save_result_final', array( $this, 'inline_edit_result_booking' ), 100, 4 );\r\n+\t\t\r\n+\t\t# Delete all cache for changed services\r\n+\t\tadd_filter( 'app_service_inline_edit_save_result_final', array( $this, 'inline_edit_result_service' ), 100, 4 );\r\n+\r\n+\t\t# Set single cache\r\n+\t\tadd_action( 'app_new_appointment', array( __CLASS__, 'set_event_cache' ), 1000, 1 );\r\n+\t\tadd_action( 'app_change_status', array( __CLASS__, 'set_event_cache' ), 1000, 1 );\r\n+\t\tadd_action( 'app_inline_edit_updated', array( __CLASS__, 'set_event_cache' ), 1000, 1 );\r\n+\t\tadd_action( 'app_inline_edit_new_booking', array( __CLASS__, 'set_event_cache' ), 1000, 1 );\r\n+\r\n+\t\t# Delete caches of permanently deleted apps\r\n+\t\tadd_action( 'app_deleted', array( __CLASS__, 'delete_event_cache' ), 10, 2 );\r\n \t}\r\n \r\n \t\u002F**\r\n-\t * Update when booking maybe changed\u002Fedit\u002Fcreated\r\n+\t * Delete cache when booking maybe changed\u002Fedit\u002Fcreated\r\n \t * @since 5.1.1\r\n \t *\u002F\r\n-\tpublic function inline_edit_save_result_final( $result, $booking, $old_booking, $obj ) {\r\n-\t\tif ( $obj->booking_changed || $obj->booking_updated || $obj->booking_inserted || $booking != $old_booking ) {\r\n-\t\t\t$this->delete_cache();\r\n+\tpublic function inline_edit_result_booking( $result, $booking, $old_booking, $obj ) {\r\n+\t\tif ( ! empty( $obj->booking_changed ) || ! empty( $obj->booking_updated ) || ! empty( $obj->booking_inserted ) || $booking != $old_booking ) {\r\n+\t\t\tself::delete_cache( $booking );\r\n \t\t}\r\n \r\n \t\treturn $result;\r\n \t}\r\n \r\n \t\u002F**\r\n-\t * Delete cache\r\n+\t * Delete cache when service color changed\r\n+\t * @since 6.0\r\n+\t *\u002F\r\n+\tpublic function inline_edit_result_service( $result, $service, $old_service, $obj ) {\r\n+\tif ( (isset( $_POST['bg_color'] ) && $_POST['bg_color'] != $old_service->bg_color()) || $service->get_name() != $old_service->get_name() ) {\r\n+\t\t\tdelete_transient( 'wpbase_schedule_data' );\r\n+\t\t\t\r\n+\t\t\twpb_schedules_delete_transients_by_service( $service->get_ID() );\r\n+\t\t}\r\n+\r\n+\t\treturn $result;\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+\t * Delete overall schedule cache\r\n \t * @since 5.1.1\r\n \t *\u002F\r\n-\tpublic function delete_cache() {\r\n+\tpublic static function delete_cache( $app_booking = null ) {\r\n \t\tdelete_transient( 'wpbase_schedule_data' );\r\n+\r\n+\t\tif ( null !== $app_booking ) {\r\n+\t\t\tself::set_event_cache( $app_booking );\r\n+\t\t}\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+\t * Build cache for a single booking\r\n+\t * @since 6.0\r\n+\t *\u002F\r\n+\tpublic static function set_event_cache( $app_booking ) {\r\n+\t\t$booking = $app_booking instanceof WpB_Booking ? $app_booking : new WpB_Booking( $app_booking );\r\n+\r\n+\t\t$builder = new WpB_Event_Builder();\r\n+\t\t\r\n+\t\t$expires = WEEK_IN_SECONDS + rand(0, 72) * HOUR_IN_SECONDS;\r\n+\t\t\r\n+\t\tset_transient( 'wpbase_schedule_admin_'. $booking->get_ID(), $builder->build( $booking, 'admin' ), $expires );\r\n+\t\tset_transient( 'wpbase_schedule_worker_'. $booking->get_ID(), $builder->build( $booking, 'worker' ), $expires );\r\n+\t\tset_transient( 'wpbase_schedule_client_'. $booking->get_ID(), $builder->build( $booking, 'client' ), $expires );\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+\t * Delete cache for booking(s)\r\n+\t * @param\t$context\tstring\t\tIrrelevant\r\n+\t * @param\t$ids\t\tarray\t\tList of booking ids\r\n+\t * @since 6.0\r\n+\t *\u002F\r\n+\tpublic static function delete_event_cache( $context, $ids ) {\r\n+\t\tforeach ( (array)$ids as $id ) {\r\n+\t\t\tdelete_transient( 'wpbase_schedule_admin_'. $id );\r\n+\t\t\tdelete_transient( 'wpbase_schedule_worker_'. $id );\r\n+\t\t\tdelete_transient( 'wpbase_schedule_client_'. $id );\r\n+\t\t}\r\n \t}\r\n \r\n \t\u002F**\r\n      * Load assets\r\n      *\u002F\r\n \tpublic function enqueue_scripts() {\r\n-\t\tif ( wpb_is_admin_page() ) {\r\n+\t\tif ( wpb_is_account_page() || wpb_is_admin_page() || wpb_is_manage_store() ) {\r\n \t\t\twp_enqueue_style( 'app-schedules' );\r\n \t\t}\r\n \t}\r\n@@ -115,23 +163,46 @@\n \t}\r\n \r\n \t\u002F**\r\n-     * Stats that will be displayed as faded at EC\r\n-\t * @return array\r\n+     * Helper\r\n+\t * @since 5.9.1\r\n+\t * @return string\r\n      *\u002F\r\n-\tpublic static function faded_stats() {\r\n-\t\treturn apply_filters( 'app_schedule_faded_stats', array( 'completed', 'removed' ) );\r\n+\tprivate static function non_admin_stats_sql() {\r\n+\t\t$_stats = ! empty( $_POST['stats'] ) && 'null' !== $_POST['stats'] && 'undefined' !== $_POST['stats']\r\n+\t\t\t   ? array_map( 'esc_sql', explode( ',', $_POST['stats'] ) )\r\n+\t\t\t   : array_keys( BASE()->get_statuses() );\r\n+\t\t$stat_arr = array_intersect( $_stats, wpb_schedules_allowed_stats() );\r\n+\t\t$stats = $stat_arr ? 'status IN (\"'. implode('\",\"', $stat_arr ) .'\")' : '1=2';\r\n+\r\n+\t\treturn $stats;\r\n \t}\r\n \r\n \t\u002F**\r\n-     * Template as booking description\r\n+     * Helper\r\n+\t * @since 5.9.1\r\n \t * @return string\r\n      *\u002F\r\n-\tpublic static function template( $role ) {\r\n-\t\t$set = 'admin' == $role\r\n-\t\t\t   ? wpb_setting( 'schedule_desc_admin', WpBConstant::$_schedule_desc_admin )\r\n-\t\t\t   : wpb_setting( 'schedule_desc_worker', WpBConstant::$_schedule_desc_worker );\r\n+\tprivate static function worker_services_sql() {\r\n+\t\t$all_by_worker = BASE()->get_services_by_worker( get_current_user_id() );\r\n+\t\t$ids = ! empty( $_POST['service_ids'] ) && 'null' !== $_POST['service_ids'] && 'undefined' !== $_POST['service_ids']\r\n+\t\t\t   ? array_map( 'esc_sql', explode( ',', $_POST['service_ids'] ) )\r\n+\t\t\t   : false;\r\n+\r\n+\t\t$serv_arr = array();\r\n+\t\tif ( $ids ) {\r\n+\t\t\tforeach ( $ids as $id ) {\r\n+\t\t\t\tif ( in_array( $id, array_keys( $all_by_worker ) ) ) {\r\n+\t\t\t\t\t$serv_arr[] = $id;\r\n+\t\t\t\t}\r\n+\t\t\t}\r\n+\t\t} else {\r\n+\t\t\t$serv_arr = array_keys( $all_by_worker );\r\n+\t\t\t$serv_arr[] = WPB_GCAL_SERVICE_ID;\r\n+\t\t}\r\n \r\n-\t\treturn apply_filters( 'app_schedule_template', $set, $role );\r\n+\t\t$serv = $serv_arr ? 'SERVICE IN ('. implode(',', $serv_arr ) .')' : '1=2';\r\n+\r\n+\t\treturn $serv;\r\n \t}\r\n \r\n \t\u002F**\r\n@@ -153,36 +224,23 @@\n \t\t\t$work = ! empty( $_POST['worker_ids'] ) && 'null' !== $_POST['worker_ids'] && 'undefined' !== $_POST['worker_ids']\r\n \t\t\t\t\t? 'worker IN ('.esc_sql( $_POST['worker_ids'] ).')'\r\n \t\t\t\t\t: '1=1';\r\n+\t\t\t$user = '1=1';\r\n \t\t} else if ( wpb_is_worker() ) {\r\n+\t\t\t$stats = self::non_admin_stats_sql();\r\n \t\t\t$locs = '1=1';\r\n+\t\t\t$serv = self::worker_services_sql();\r\n \t\t\t$work = BASE()->db->prepare( 'worker=%d', get_current_user_id() );\r\n-\r\n-\t\t\t$_stats = ! empty( $_POST['stats'] ) && 'null' !== $_POST['stats'] && 'undefined' !== $_POST['stats']\r\n-\t\t\t\t   ? array_map( 'esc_sql', explode( ',', $_POST['stats'] ) )\r\n-\t\t\t\t   : array_keys( BASE()->get_statuses() );\r\n-\t\t\t$stat_arr = array_intersect( $_stats, wpb_schedules_allowed_stats() );\r\n-\t\t\t$stats = $stat_arr ? 'status IN (\"'. implode('\",\"', $stat_arr ) .'\")' : '1=2';\r\n-\r\n-\t\t\t$all_by_worker = BASE()->get_services_by_worker( get_current_user_id() );\r\n-\t\t\t$ids = ! empty( $_POST['service_ids'] ) && 'null' !== $_POST['service_ids'] && 'undefined' !== $_POST['service_ids']\r\n-\t\t\t\t   ? array_map( 'esc_sql', explode( ',', $_POST['service_ids'] ) )\r\n-\t\t\t\t   : false;\r\n-\r\n-\t\t\t$serv_arr = array();\r\n-\t\t\tif ( $ids ) {\r\n-\t\t\t\tforeach ( $ids as $id ) {\r\n-\t\t\t\t\tif ( in_array( $id, array_keys( $all_by_worker ) ) ) {\r\n-\t\t\t\t\t\t$serv_arr[] = $id;\r\n-\t\t\t\t\t}\r\n-\t\t\t\t}\r\n-\t\t\t} else {\r\n-\t\t\t\t$serv_arr = array_keys( $all_by_worker );\r\n-\t\t\t\t$serv_arr[] = WPB_GCAL_SERVICE_ID;\r\n-\t\t\t}\r\n-\r\n-\t\t\t$serv = $serv_arr ? 'SERVICE IN ('. implode(',', $serv_arr ) .')' : '1=2';\r\n+\t\t\t$user = '1=1';\r\n \t\t} else {\r\n-\t\t\twp_send_json( array( 'error' => __('Role not supported at the moment','wp-base') ) );\r\n+\t\t\t$stats = self::non_admin_stats_sql();\r\n+\t\t\t$locs = '1=1';\r\n+\t\t\t$serv = ! empty( $_POST['service_ids'] ) && 'null' !== $_POST['service_ids'] && 'undefined' !== $_POST['service_ids']\r\n+\t\t\t\t\t? 'service IN ('.esc_sql( $_POST['service_ids'] ).')'\r\n+\t\t\t\t\t: '1=1';\r\n+\t\t\t$work = ! empty( $_POST['worker_ids'] ) && 'null' !== $_POST['worker_ids'] && 'undefined' !== $_POST['worker_ids']\r\n+\t\t\t\t\t? 'worker IN ('.esc_sql( $_POST['worker_ids'] ).')'\r\n+\t\t\t\t\t: '1=1';\r\n+\t\t\t$user = BASE()->db->prepare( 'user=%d', get_current_user_id() );\r\n \t\t}\r\n \r\n \t\t$start = ! empty( $_POST['start'] ) ? strtotime( wpb_clean( $_POST['start'] ) ) : strtotime( 'first day of this month' );\r\n@@ -190,7 +248,7 @@\n \t\t$stores = wpb_is_manage_store() ? \" location IN (\". implode( ',', wpb_managed_stores() ) .\") \" : '1=1';\r\n \r\n \t\t$query = BASE()->db->prepare( \"SELECT * FROM \". BASE()->app_table .\" WHERE \".\r\n-\t\t\t\t\"$stats AND $locs AND $stores AND $serv AND $work AND start \u003C= %s AND end > %s\",\r\n+\t\t\t\t\"$stats AND $locs AND $stores AND $serv AND $work AND $user AND start \u003C= %s AND end > %s\",\r\n \t\t\t\tdate( 'Y-m-d H:i:s', $end ), date( 'Y-m-d H:i:s', $start ) );\r\n \r\n \t\t$cached\t= get_transient( 'wpbase_schedule_data' );\r\n@@ -202,15 +260,28 @@\n \r\n \t\t\t$results = BASE()->db->get_results( $query );\r\n \r\n+\t\t\t$app_ids = wp_list_pluck( $results, 'ID' );\r\n+\t\t\tWpBMeta::update_meta_cache( 'app', $app_ids );\r\n+\t\t\tupdate_meta_cache( 'user', wp_list_pluck( $results, 'user' ) );\r\n+\r\n \t\t\t$out = $events = $conns = array();\r\n+\t\t\t\r\n+\t\t\t$role = wpb_user_role();\r\n+\r\n+\t\t\t$builder = new WpB_Event_Builder();\r\n \r\n \t\t\tforeach ( (array)$results as $app ) {\r\n \t\t\t\t$booking = new WpB_Booking( $app->ID );\r\n \r\n-\t\t\t\t$events[ $booking->get_ID() ] = $this->prepare_event( $booking );\r\n+\t\t\t\tif ( $saved = get_transient( 'wpbase_schedule_'. $role .'_'. $booking->get_ID() ) ) {\r\n+\t\t\t\t\t$events[ $booking->get_ID() ] = $saved;\r\n+\t\t\t\t} else {\r\n+\t\t\t\t\t$events[ $booking->get_ID() ] = $builder->build( $booking );\r\n+\t\t\t\t\tset_transient( 'wpbase_schedule_'. $role .'_'. $booking->get_ID(), $events[ $booking->get_ID() ], WEEK_IN_SECONDS + rand(0, 72) * HOUR_IN_SECONDS );\r\n+\t\t\t\t}\r\n \t\t\t}\r\n \r\n-\t\t\tforeach ( array_count_values( $this->parents ) as $val => $c ) {\r\n+\t\t\tforeach ( array_count_values( $builder->get_parents() ) as $val => $c ) {\r\n \t\t\t\tif ( $c > 1 ) {\r\n \t\t\t\t\t$conns[] = $val;\r\n \t\t\t\t}\r\n@@ -234,84 +305,24 @@\n \t\t\tset_transient( 'wpbase_schedule_data', $cached, HOUR_IN_SECONDS ); # Cleared with wpb_flush_cache\r\n \t\t}\r\n \r\n-\t\t\u002F\u002F wp_send_json( $data );\r\n-\r\n \t\tdie( json_encode( array( 'out' => $data, 'conns' => $conns ) ) );\r\n \t}\r\n \r\n \t\u002F**\r\n-\t * Prepare ec parameters for a single event\r\n+\t * Mark break slots\r\n \t * @return array\r\n \t *\u002F\r\n-\tpublic function prepare_event( $booking ) {\r\n-\t\t\t$service\t= new WpB_Service( $booking->get_service() );\r\n-\t\t\t$id\t\t\t= $service->get_id();\r\n-\t\t\t$status\t\t= $booking->get_status();\r\n-\t\t\t$worker\t\t= new WpB_Worker( $booking->get_worker() );\r\n-\r\n-\t\t\tif ( empty( $this->bg_colors[ $id ][ $status ] ) ) {\r\n-\t\t\t\t$this->bg_colors[ $id ][ $status ] = in_array( $status, self::faded_stats() )\r\n-\t\t\t\t\t\t\t\t\t\t\t\t\t ? wpb_adjustBrightness( $service->bg_color(), 0.7 )\r\n-\t\t\t\t\t\t\t\t\t\t\t\t\t : $service->bg_color();\r\n-\t\t\t}\r\n-\r\n-\t\t\tif ( empty( $this->text_colors[ $id ][ $status ] ) ) {\r\n-\t\t\t\t$this->text_colors[ $id ][ $status ] = in_array( $status, self::faded_stats() )\r\n-\t\t\t\t\t\t\t\t\t\t\t\t\t   ? '#909090'\r\n-\t\t\t\t\t\t\t\t\t\t\t\t\t   : $service->text_color();\r\n-\t\t\t}\r\n-\t\t\t\r\n-\t\t\tif ( $booking->is_gcal_event() ) {\r\n-\t\t\t\t$this->bg_colors[ $id ][ $status ] = wpb_setting( 'gcal_bg_color' ) ?: wpb_random_color();\r\n-\t\t\t\t$this->text_colors[ $id ][ $status ] = wpb_text_color( $this->bg_colors[ $id ][ $status ] );\r\n-\t\t\t} else if ( $booking->is_event() && defined( 'WPB_EB_META' ) ) {\r\n-\t\t\t\t$post_id = absint( $booking->get_service() );\r\n-\t\t\t\t$this->bg_colors[ $id ][ $status ] = get_post_meta( $post_id, WPB_EB_META .'_bg_color', true ) ?: wpb_random_color();\r\n-\t\t\t\t$this->text_colors[ $id ][ $status ] = get_post_meta( $post_id, WPB_EB_META .'_text_color', true ) ?: wpb_text_color( $this->bg_colors[ $id ][ $status ] );\r\n-\t\t\t}\r\n-\r\n-\t\t\t$all_day = BASE()->is_daily( $booking->get_service() ) || ( wpb_strtotime( $booking->get_end() ) - wpb_strtotime( $booking->get_start() ) > DAY_IN_SECONDS );\r\n-\r\n-\t\t\t$desc = $template = self::template( wpb_is_admin_user() ? 'admin' : 'worker' );\r\n-\r\n-\t\t\tif ( ! BASE()->get_nof_workers() || ! $booking->get_worker() ) {\r\n-\t\t\t\t$desc = str_replace( 'WORKER', '', $template );\r\n-\t\t\t}\r\n-\r\n-\t\t\t$enlarged = false && $all_day && 'yes' != wpb_setting( 'end_date_for_venue' );\r\n-\r\n-\t\t\t$parent_id = $booking->get_parent_id() ?: $booking->get_ID();\r\n+\tpublic static function breaks() {\r\n+\t\tif ( wpb_is_client() ) {\r\n+\t\t\treturn array();\r\n+\t\t}\r\n \r\n-\t\t\t$this->parents = array_merge( $this->parents, array( $booking->get_ID() => $parent_id ) );\r\n+\t\t$view = ! empty( $_POST['view'] ) ? strtolower( wpb_clean( $_POST['view'] ) ) : '';\r\n \r\n-\t\t\treturn array(\r\n-\t\t\t\t'id'\t\t\t\t=> $booking->get_ID(),\r\n-\t\t\t\t'resourceId'\t\t=> $booking->get_worker(),\r\n-\t\t\t\t'start'\t\t\t\t=> $booking->get_start(),\r\n-\t\t\t\t'end'\t\t\t\t=> $all_day && 'yes' != wpb_setting( 'end_date_for_venue' )\r\n-\t\t\t\t\t\t\t\t\t   ? date( 'Y-m-d H:i:s', wpb_strtotime( $booking->get_end() ) + DAY_IN_SECONDS )\r\n-\t\t\t\t\t\t\t\t\t   : $booking->get_end(),\r\n-\t\t\t\t'allDay'\t\t\t=> $all_day,\r\n-\t\t\t\t'title'\t\t\t\t=> ' ',\r\n-\t\t\t\t'textColor'\t\t\t=> $this->text_colors[ $id ][ $status ],\r\n-\t\t\t\t'backgroundColor'\t=> $this->bg_colors[ $id ][ $status ],\r\n-\t\t\t\t'styles'\t\t\t=> $enlarged ? 'max-width:50%' : '',\r\n-\t\t\t\t'classNames'\t\t=> ($all_day ? 'long ': '').$status.' location-'.$booking->get_location().' service-'.$booking->get_service().' worker-'.$booking->get_worker().' app-'.$booking->get_ID(),\r\n-\t\t\t\t'extendedProps' => array(\r\n-\t\t\t\t\t'avatar'\t\t=> $worker->get_avatar( 48 ),\r\n-\t\t\t\t\t'show_checkout'\t=> 'yes' != wpb_setting( 'end_date_for_venue' ), # Not used\r\n-\t\t\t\t\t'desc'\t\t\t=> wpb_replace( $desc, $booking ),\r\n-\t\t\t\t\t'header_text'\t=> $all_day ? wpb_format_start_end( strtotime($booking->get_start()), strtotime($booking->get_end()), true ) : false,\r\n-\t\t\t\t),\r\n-\t\t\t);\r\n-\t}\r\n+\t\tif ( strpos( $view, 'month' ) !== false ) {\r\n+\t\t\treturn array();\r\n+\t\t}\r\n \r\n-\t\u002F**\r\n-\t * Mark break slots\r\n-\t * @return array\r\n-\t *\u002F\r\n-\tpublic static function breaks() {\r\n-\t\t$view = ! empty( $_POST['view'] ) ? wpb_clean( $_POST['view'] ) : '';\r\n \t\t$start = ! empty( $_POST['start'] ) ? strtotime( wpb_clean( $_POST['start'] ) ) : strtotime( 'first day of this month' );\r\n \t\t$end = ! empty( $_POST['end'] ) ? strtotime( wpb_clean( $_POST['end'] ) ) : strtotime( 'last day of this month' ) + 86400;\r\n \t\t$step = BASE()->get_min_time()*60;\r\n@@ -342,7 +353,7 @@\n \t\t\t\t\t\t'start'\t\t=> date( 'Y-m-d H:i:s', $slot->get_start() ),\r\n \t\t\t\t\t\t'end'\t\t=> date( 'Y-m-d H:i:s', $slot->get_end() ),\r\n \t\t\t\t\t\t'resourceId'=> $slot->get_worker(),\r\n-\t\t\t\t\t\t'classNames'\t\t=> 'blocked',\r\n+\t\t\t\t\t\t'classNames'=> 'blocked',\r\n \t\t\t\t\t);\r\n \t\t\t\t}\r\n \r\n@@ -359,8 +370,12 @@\n \t * @return json\r\n \t *\u002F\r\n \tpublic function upsert() {\r\n+\t\r\n+\t\tif ( wpb_is_client() ) {\r\n+\t\t\treturn wpb_listing_inline_edit();\r\n+\t\t}\r\n+\t\r\n \t\t$safe_format\t= BASE()->safe_date_format();\r\n-\r\n \t\t$app_id\t\t\t= isset( $_REQUEST['app_id'] ) ? wpb_clean( $_REQUEST['app_id'] ) : 0;\r\n \t\t$booking\t\t= new WpB_Booking( $app_id );\r\n \t\t$old_booking\t= clone $booking;\r\n@@ -379,7 +394,7 @@\n \t\twpb_set_lock( $bid );\r\n \r\n \t\t$html  = '';\r\n-\t\t$html .= '\u003Cdiv class=\"inline-edit-row inline-edit-row-post '.($bid ? \"\" : \"inline-edit-row-add-new\").'\">';\r\n+\t\t$html .= '\u003Cdiv class=\"inline-edit-row inline-edit-row-post '.($bid ? '' : 'inline-edit-row-add-new').'\">';\r\n \t\t$html .= '\u003Cfieldset>';\r\n \t\t$html .= '\u003Cdiv class=\"inline-edit-col\">';\r\n \r\n@@ -398,7 +413,7 @@\n \r\n \t\t\u002F* Services *\u002F\r\n \t\t$html .= wpb_wrap_field( 'service', $booking->is_event() ? __('Event', 'wp-base') : __('Service', 'wp-base'),\r\n-\t\t\t$controller->select_service( ! $app_id ),\r\n+\t\t\t$controller->select_service( false, ! $app_id ),\r\n \t\t\tapply_filters( 'app_inline_edit_service_helptip', '', $booking, $controller, 'quick_edit' )\r\n \t\t);\r\n \r\n@@ -570,6 +585,10 @@\n \t * @return json\r\n \t *\u002F\r\n \tpublic function update() {\r\n+\t\r\n+\t\tif ( wpb_is_client() ) {\r\n+\t\t\treturn wpb_listing_inline_edit_update();\r\n+\t\t}\t\r\n \r\n \t\tself::check_auth();\r\n \r\n@@ -603,7 +622,7 @@\n \r\n \t\t$out = array(\r\n \t\t\t'locations_sel'\t=> $controller->select_location(),\r\n-\t\t\t'services_sel'\t=> $controller->select_service( ! $app_id ),\r\n+\t\t\t'services_sel'\t=> $controller->select_service( false, ! $app_id ),\r\n \t\t\t'workers_sel'\t=> wpb_is_admin_user() ? $controller->select_worker() : $controller->select_self_worker(),\r\n \t\t);\r\n \r\n@@ -620,7 +639,7 @@\n \r\n \t\t$out['notice'] = wpb_admin_notice( $booking, $old_booking );\r\n \r\n-\t\t$out = apply_filters( 'app_inline_edit_update', $out, $booking, $old_booking, $controller, $this, 'quick_edit' );\r\n+\t\t$out = apply_filters( 'app_inline_edit_update', $out, $booking, $old_booking, $controller, 'quick_edit' );\r\n \r\n \t\tdie( json_encode( $out ) );\r\n \t}\r\n@@ -630,6 +649,10 @@\n \t * @return json\r\n \t *\u002F\r\n \tpublic function save() {\r\n+\t\r\n+\t\tif ( wpb_is_client() ) {\r\n+\t\t\treturn wpb_listing_inline_edit_save();\r\n+\t\t}\t\r\n \r\n \t\tself::check_auth();\r\n \r\n@@ -714,7 +737,7 @@\n \t\t\t}\r\n \t\t}\r\n \r\n-\t\t$booking = apply_filters( 'app_inline_edit_save_data', $booking, $old_booking );\r\n+\t\t$booking = apply_filters( 'app_inline_edit_save_data', $booking, $old_booking, 'quick_edit' );\r\n \r\n \t\tif ( strtotime( $booking->get_start() ) > strtotime( $booking->get_end() ) ) {\r\n \t\t\tdie( json_encode( array( 'error' => __('Booking start time cannot be later than end time!', 'wp-base' ) ) ) );\r\n@@ -725,10 +748,10 @@\n \t\t\t$booking->check_update( $old_booking );\r\n \t\t}\r\n \r\n-\t\tdo_action( 'app_inline_edit_save_before_save', $booking, $old_booking, $this );\r\n+\t\tdo_action( 'app_inline_edit_save_before_save', $booking, $old_booking, 'quick_edit' );\r\n \r\n \t\t$updated = $inserted = null;\r\n-\t\t$changed\t= false;\r\n+\t\t$changed = false;\r\n \r\n \t\tif ( $booking->get_ID() ) {\r\n \t\t\t$updated = wpb_admin_update_booking( $booking, $old_booking );\r\n@@ -751,12 +774,12 @@\n \t\t\t$changed = true;\r\n \t\t}\r\n \r\n-\t\t$changed = apply_filters( 'app_inline_edit_save', $changed, $booking, $old_booking, $this );\r\n+\t\t$changed = apply_filters( 'app_inline_edit_save', $changed, $booking, $old_booking, 'quick_edit' );\r\n \r\n \t\tif ( $updated ) {\r\n-\t\t\tdo_action( 'app_inline_edit_updated', $booking, $old_booking, $this );\r\n+\t\t\tdo_action( 'app_inline_edit_updated', $booking, $old_booking, 'quick_edit' );\r\n \t\t} else if ( $inserted ) {\r\n-\t\t\tdo_action( 'app_inline_edit_new_booking', $booking, $old_booking, $this );\r\n+\t\t\tdo_action( 'app_inline_edit_new_booking', $booking, $old_booking, 'quick_edit' );\r\n \t\t}\r\n \r\n \t\t$email_sent = $mode = false;\r\n@@ -777,7 +800,9 @@\n \t\t\t}\r\n \t\t}\r\n \r\n-\t\t$event = $this->prepare_event( $booking );\r\n+\t\t$builder = new WpB_Event_Builder();\r\n+\r\n+\t\t$event = $builder->build( $booking );\r\n \r\n \t\tif ( $updated === false || $inserted === false ) {\r\n \t\t\t$result = array( 'error' => __( 'Record could not be saved!', 'wp-base' ) );\r\n@@ -874,17 +899,6 @@\n \t}\r\n \r\n \t\u002F**\r\n-\t * Ajax save panel\r\n-\t * @return json\r\n-\t *\u002F\r\n-\tpublic function save_left(){\r\n-\r\n-\t\tupdate_user_option( get_current_user_id(), 'app_quick_book_panel_at_left', ! empty( $_POST['left'] ) );\r\n-\r\n-\t\twp_send_json_success();\r\n-\t}\r\n-\r\n-\t\u002F**\r\n \t * Check authorization\r\n \t * @return json\r\n \t *\u002F\r\n@@ -909,11 +923,214 @@\n }\r\n \r\n \u002F**\r\n+ * Helper class to build a formatted event for Calendar\r\n+ * @since 6.0.0\r\n+ *\u002F\r\n+class WpB_Event_Builder {\r\n+\r\n+\tprivate $bg_colors = array();\r\n+\r\n+\tprivate $text_colors = array();\r\n+\r\n+\tprivate $parents = array();\r\n+\r\n+\t\u002F**\r\n+     * WP BASE Core + Front [+Admin] instance\r\n+     *\u002F\r\n+\tprotected $a = null;\r\n+\r\n+\tpublic function __construct() {\r\n+\t\t$this->a = BASE();\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+     * Stats that will be displayed as faded at EC\r\n+\t * @return array\r\n+     *\u002F\r\n+\tpublic static function faded_stats() {\r\n+\t\treturn apply_filters( 'app_schedule_faded_stats', array( 'completed', 'removed' ) );\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+     * Get default template from file\r\n+\t * @param $context\t\tstring\t\t'admin', 'worker', 'client'\r\n+\t * @since 6.0\r\n+\t * @return string\r\n+     *\u002F\r\n+\tpublic static function default_desc( $context ) {\r\n+\t\tinclude_once WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Fconstant-data.php';\r\n+\t\t\r\n+\t\tswitch( $context ) {\r\n+\t\t\tcase 'admin':\treturn WpBConstant::$_schedule_desc_admin;\r\n+\t\t\tcase 'worker':\treturn WpBConstant::$_schedule_desc_worker;\r\n+\t\t\tcase 'client':\t\r\n+\t\t\tdefault:\t\treturn WpBConstant::$_schedule_desc_client;\t\t\r\n+\t\t}\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+     * Template as booking description\r\n+\t * @param $role\t\tstring\t\t'admin', 'worker', 'client' or 'auto' which finds current user's role\r\n+\t * @return string\r\n+     *\u002F\r\n+\tpublic static function template( $role = 'auto' ) {\r\n+\t\tif ( 'auto' == $role ) {\r\n+\t\t\t$role = wpb_user_role();\r\n+\t\t}\r\n+\r\n+\t\t$set = 'admin' == $role\r\n+\t\t\t   ? wpb_setting( 'schedule_desc_admin', self::default_desc( 'admin' ) )\r\n+\t\t\t   : ( 'worker' == $role\r\n+\t\t\t   ? wpb_setting( 'schedule_desc_worker', self::default_desc( 'worker' ) )\r\n+\t\t\t   : wpb_setting( 'schedule_desc_client', self::default_desc( 'client' ) ) );\r\n+\r\n+\t\treturn apply_filters( 'app_schedule_template', $set, $role );\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+\t * Get IDs of parents of all bookings handled during this instance\r\n+\t * @return array\r\n+\t *\u002F\r\n+\tpublic function get_parents() {\r\n+\t\treturn $this->parents;\r\n+\t}\r\n+\r\n+\t\u002F**\r\n+\t * Prepare ec parameters for a single event\r\n+\t * @return array\r\n+\t *\u002F\r\n+\tpublic function build( $booking, $role = 'auto' ) {\r\n+\t\t$service\t= new WpB_Service( $booking->get_service() );\r\n+\t\t$id\t\t\t= $service->get_id();\r\n+\t\t$status\t\t= $booking->get_status();\r\n+\t\t$worker\t\t= new WpB_Worker( $booking->get_worker() );\r\n+\r\n+\t\tif ( empty( $this->bg_colors[ $id ][ $status ] ) ) {\r\n+\t\t\t$this->bg_colors[ $id ][ $status ] = in_array( $status, self::faded_stats() )\r\n+\t\t\t\t\t\t\t\t\t\t\t\t ? wpb_adjustBrightness( $service->bg_color(), 0.7 )\r\n+\t\t\t\t\t\t\t\t\t\t\t\t : $service->bg_color();\r\n+\t\t}\r\n+\r\n+\t\tif ( empty( $this->text_colors[ $id ][ $status ] ) ) {\r\n+\t\t\t$this->text_colors[ $id ][ $status ] = in_array( $status, self::faded_stats() )\r\n+\t\t\t\t\t\t\t\t\t\t\t\t   ? '#909090'\r\n+\t\t\t\t\t\t\t\t\t\t\t\t   : $service->text_color();\r\n+\t\t}\r\n+\r\n+\t\tif ( $booking->is_gcal_event() ) {\r\n+\t\t\t$this->bg_colors[ $id ][ $status ] = wpb_setting( 'gcal_bg_color' ) ?: wpb_random_color();\r\n+\t\t\t$this->text_colors[ $id ][ $status ] = wpb_text_color( $this->bg_colors[ $id ][ $status ] );\r\n+\t\t} else if ( $booking->is_event() && defined( 'WPB_EB_META' ) ) {\r\n+\t\t\t$post_id = absint( $booking->get_service() );\r\n+\t\t\t$this->bg_colors[ $id ][ $status ] = get_post_meta( $post_id, WPB_EB_META .'_bg_color', true ) ?: wpb_random_color();\r\n+\t\t\t$this->text_colors[ $id ][ $status ] = get_post_meta( $post_id, WPB_EB_META .'_text_color', true ) ?: wpb_text_color( $this->bg_colors[ $id ][ $status ] );\r\n+\t\t}\r\n+\r\n+\t\t$all_day = BASE()->is_daily( $booking->get_service() ) || ( wpb_strtotime( $booking->get_end() ) - wpb_strtotime( $booking->get_start() ) > DAY_IN_SECONDS );\r\n+\r\n+\t\t$desc = $template = self::template( $role );\r\n+\r\n+\t\tif ( ! BASE()->get_nof_workers() || ! $booking->get_worker() ) {\r\n+\t\t\t$desc = str_replace( 'WORKER', '', $template );\r\n+\t\t}\r\n+\r\n+\t\t$enlarged = false && $all_day && 'yes' != wpb_setting( 'end_date_for_venue' );\r\n+\r\n+\t\t$parent_id = $booking->get_parent_id() ?: $booking->get_ID();\r\n+\r\n+\t\t$this->parents = array_merge( $this->parents, array( $booking->get_ID() => $parent_id ) );\r\n+\r\n+\t\treturn array(\r\n+\t\t\t'id'\t\t\t\t=> $booking->get_ID(),\r\n+\t\t\t'resourceId'\t\t=> $booking->get_worker(),\r\n+\t\t\t'start'\t\t\t\t=> $booking->get_start(),\r\n+\t\t\t'end'\t\t\t\t=> $all_day && 'yes' != wpb_setting( 'end_date_for_venue' )\r\n+\t\t\t\t\t\t\t\t   ? date( 'Y-m-d H:i:s', wpb_strtotime( $booking->get_end() ) + DAY_IN_SECONDS )\r\n+\t\t\t\t\t\t\t\t   : $booking->get_end(),\r\n+\t\t\t'allDay'\t\t\t=> $all_day,\r\n+\t\t\t'title'\t\t\t\t=> ' ',\r\n+\t\t\t'textColor'\t\t\t=> $this->text_colors[ $id ][ $status ],\r\n+\t\t\t'backgroundColor'\t=> $this->bg_colors[ $id ][ $status ],\r\n+\t\t\t'styles'\t\t\t=> $enlarged ? 'max-width:50%' : '',\r\n+\t\t\t'classNames'\t\t=> ($all_day ? 'long ': '').$status.' location-'.$booking->get_location().' service-'.$booking->get_service().' worker-'.$booking->get_worker().' app-'.$booking->get_ID(),\r\n+\t\t\t'extendedProps' => array(\r\n+\t\t\t\t'avatar'\t\t=> $worker->get_avatar( 48 ),\r\n+\t\t\t\t'show_checkout'\t=> 'yes' != wpb_setting( 'end_date_for_venue' ), # Not used\r\n+\t\t\t\t'desc'\t\t\t=> wpb_replace( $desc, $booking ),\r\n+\t\t\t\t'header_text'\t=> $all_day ? wpb_format_start_end( strtotime($booking->get_start()), strtotime($booking->get_end()), true ) : false,\r\n+\t\t\t),\r\n+\t\t);\r\n+\t}\r\n+}\r\n+\r\n+\u002F**\r\n+ * Delete saved single event transients\r\n+ * @param\t$context\tstring\t\tRole. 'admin', 'worker' or 'client'\r\n+ * @since 6.0\r\n+ * @return none\r\n+ *\u002F\r\n+function wpb_schedules_delete_transients( $context = 'admin' ) {\r\n+\tglobal $wpdb;\r\n+\t\r\n+\t$wpdb->query(\r\n+\t\t$wpdb->prepare(\r\n+\t\t\t\"DELETE FROM {$wpdb->options}\r\n+\t\t\tWHERE option_name LIKE %s OR option_name LIKE %s\",\r\n+\t\t\t$wpdb->esc_like( '_transient_wpbase_schedule_'. $context .'_' ) . '%',\r\n+\t\t\t$wpdb->esc_like( '_transient_timeout_wpbase_schedule_'. $context .'_' ) . '%'\r\n+\t\t)\r\n+\t);\r\n+\t\r\n+\tdelete_transient( 'wpbase_schedule_data' );\r\n+}\r\n+\r\n+\u002F**\r\n+ * Delete saved single event transients of bookings of a particular service\r\n+ * @param\t$service_id\t\tinteger\t\tService ID\r\n+ * @since 6.0\r\n+ * @return none\r\n+ *\u002F\r\n+function wpb_schedules_delete_transients_by_service( $service_id ) {\r\n+\tglobal $wpdb;\r\n+\t\r\n+\t$ids = $wpdb->get_col( \r\n+\t\t$wpdb->prepare(\r\n+\t\t\t\"SELECT ID FROM {$wpdb->prefix}base_bookings\r\n+\t\t\tWHERE service = %d\",\r\n+\t\t\t$service_id\r\n+\t\t)\r\n+\t);\r\n+\t\r\n+\tif ( ! $ids ) {\r\n+\t\treturn;\r\n+\t}\r\n+\t\r\n+\t$in_arr = array();\r\n+\t\r\n+\tforeach ( array( '_transient_wpbase_schedule_', '_transient_timeout_wpbase_schedule_' ) as $suffix ) {\r\n+\t\tforeach ( array( 'admin', 'worker', 'client' ) as $context ) {\r\n+\t\t\tforeach ( $ids as $id ) {\r\n+\t\t\t\t$in_arr[] = esc_sql( $suffix . $context .'_'. $id  );\r\n+\t\t\t}\r\n+\t\t}\r\n+\t}\r\n+\t\r\n+\tif ( ! $in_arr ) {\r\n+\t\treturn;\r\n+\t}\r\n+\t\r\n+\t$in = \"'\". implode( \"','\", $in_arr ) .\"'\";\r\n+\t\r\n+\t$wpdb->query( \"DELETE FROM {$wpdb->options} WHERE option_name IN ({$in})\" );\t\t\r\n+}\r\n+\r\n+\u002F**\r\n  * Stats that provider can select\r\n  * @return array\r\n  *\u002F\r\n function wpb_schedules_allowed_stats() {\r\n-\treturn apply_filters( 'app_schedule_allowed_stats', array_map( 'trim' , explode( ',', wpb_setting( 'schedule_allowed_stats', 'paid,confirmed,pending,running,completed,removed' ) ) ) );\r\n+\t$setting_name = wpb_is_client() ? 'schedule_allowed_stats_client' : 'schedule_allowed_stats';\r\n+\treturn apply_filters( 'app_schedule_allowed_stats', array_map( 'trim' , explode( ',', wpb_setting( $setting_name, 'paid,confirmed,pending,running,completed,removed' ) ) ) );\r\n }\r\n \r\n \u002F**\r\n@@ -952,11 +1169,10 @@\n \t$loc_ids\t\t= array();\r\n \t$workers\t\t= array();\r\n \t$worker_titles\t= array();\r\n-\t$meta\t\t\t= get_user_option( 'app_quick_book_panel_at_left' );\r\n-\t$at_left\t\t= null !== $meta ? (bool)$meta : true;\r\n \t$images \t\t= array();\r\n \t$colors \t\t= array();\r\n \t$order\t\t\t= apply_filters( 'app_schedules_sort_order', 'name' );\r\n+\t$user_id\t\t= get_current_user_id();\r\n \r\n \tif ( wpb_is_manage_store() ) {\r\n \t\t$loc_ids = wpb_managed_stores();\r\n@@ -966,14 +1182,20 @@\n \t\t$loc_ids = array_keys( (array)BASE()->get_locations( $order ) );\r\n \t\t$services = BASE()->get_services( $order );\r\n \t\t$workers = BASE()->get_workers( $order );\r\n-\t} else {\r\n+\t} else if ( wpb_is_worker() ) {\r\n \t\t$loc_ids = array();\r\n-\t\t$provided = BASE()->get_services_by_worker( get_current_user_ID(), $order );\r\n-\t\t$owned = BASE()->get_services_owned_by( get_current_user_ID(), $order );\r\n+\t\t$provided = BASE()->get_services_by_worker( $user_id, $order );\r\n+\t\t$owned = BASE()->get_services_owned_by( $user_id, $order );\r\n \t\t$services = (array)$provided + (array)$owned;\r\n \t\t$workers = array();\r\n+\t} else {\r\n+\t\t$loc_ids = array();\r\n+\t\t$services = wpb_client_services( $user_id, $order );\r\n+\t\t$workers = wpb_client_workers( $user_id, $order );\r\n \t}\r\n \r\n+\t$services = apply_filters( 'app_schedules_services', $services );\r\n+\r\n \tforeach ( $services as $_service ) {\r\n \t\tif ( $maybe_color = wpb_get_service_meta( $_service->ID, 'bg_color' ) ) {\r\n \t\t\t$colors[ $_service->ID ] = $maybe_color;\r\n@@ -1003,18 +1225,8 @@\n \r\n ?>\r\n \u003Cdiv class=\"app-page app-manage app-form app-schedules-group\" data-only_own=\"\u003C?php echo ( ! wpb_is_admin_user() ? 1 : 0 ) ?>\">\r\n-\t\u003Cdiv id=\"app-panel-wrap\" class=\"app-panel-wrap\u003C?php echo ( $at_left ? ' left' : '') ?>\">\r\n-\t\t\u003Cbutton class=\"button-secondary app-close-panel\">\r\n-\t\t\t\u003Cspan class=\"dashicons dashicons-no\" title=\"\u003C?php echo __('Close','wp-base') ?>\">\u003C\u002Fspan>\r\n-\t\t\u003C\u002Fbutton>\r\n-\t\t\u003Cbutton class=\"button-secondary app-dock-left\u003C?php echo ( $at_left ? ' left' : '') ?>\">\r\n-\t\t\t\u003Cspan class=\"dashicons dashicons-align-pull-left\" title=\"\u003C?php echo __('Dock to left','wp-base') ?>\">\u003C\u002Fspan>\r\n-\t\t\t\u003Cspan class=\"dashicons dashicons-align-pull-right\" title=\"\u003C?php echo __('Dock to right','wp-base') ?>\">\u003C\u002Fspan>\r\n-\t\t\u003C\u002Fbutton>\r\n-\r\n-\t\t\u003Cdiv id=\"app-panel\" class=\"app-panel\">\u003C\u002Fdiv>\r\n \r\n-\t\u003C\u002Fdiv>\r\n+\t\u003C?php wpb_editing_panel_html(); ?>\r\n \r\n \t\u003Cdiv id=\"app-open-navbar-schedule\"\u003C?php echo (! $is_hidden ? ' style=\"display:none\"' : '')?>>\r\n \t\t\u003Cbutton title=\"\u003C?php echo esc_attr( __( 'Open toolbar', 'wp-base' ) ) ?>\">\u003C\u002Fbutton>\r\n@@ -1082,7 +1294,7 @@\n \r\n \t\t\t\t\u003C?php if ( $workers ) { ?>\r\n \t\t\t\t\t\u003Cdiv class=\"app-filter-workers app-filter-ms\">\r\n-\t\t\t\t\t\t\u003Cselect multiple size=\"12\" name=\"app_workers\" class=\"app_ms_tab app-no-save-alert app-schedule-select app-invisible\" data-buttonwidth=\"auto\" data-noneselectedtext=\"\u003C?php _e( 'All Providers', 'wp-base' ) ?>\" data-usefilter=\"\u003C?php echo (BASE()->get_nof_workers() > 20 ? 'yes' : 'no') ?>\">\r\n+\t\t\t\t\t\t\u003Cselect multiple size=\"12\" name=\"app_workers\" class=\"app_ms_tab app-no-save-alert app-schedule-select app-invisible\" data-buttonwidth=\"auto\" data-noneselectedtext=\"\u003C?php _e( 'All Providers', 'wp-base' ) ?>\" data-usefilter=\"\u003C?php echo (count( $workers ) > 20 ? 'yes' : 'no') ?>\">\r\n \t\t\t\t\t\u003C?php\r\n \t\t\t\t\t\tforeach ( $workers as $worker ) {\r\n \t\t\t\t\t\t\t$name = BASE()->get_worker_name( $worker->ID );\r\n@@ -1149,30 +1361,6 @@\n jQuery(document).ready(function($) {\r\n \t$(\".app-schedule-select\").removeClass(\"app-invisible\");\r\n \r\n-\t$(\".app-close-panel\").click(function(e) {\r\n-\t\te.preventDefault();\r\n-\t\tvar $this = $(this);\r\n-\t\tvar par = $this.parent(\".app-panel-wrap\");\r\n-\t\tpar.removeClass(\"open\");\r\n-\t});\r\n-\r\n-\tfunction save_left( exp ) {\r\n-\t\tvar data = {\r\n-\t\t\twpb_ajax: true,\r\n-\t\t\taction: \"app_panel_save_left\",\r\n-\t\t\tleft: exp ? 1 :0,\r\n-\t\t\tajax_nonce: _app_.iedit_nonce\r\n-\t\t};\r\n-\t\t$.post(_app_.ajax_url, data, function (r) {\r\n-\t\t\tif (r && r.error) {\r\n-\t\t\t\twindow.alert(r.error);\r\n-\t\t\t} else if (r) {\r\n-\t\t\t} else {\r\n-\t\t\t\twindow.alert(_app_.con_error);\r\n-\t\t\t}\r\n-\t\t}, \"json\");\r\n-\t}\r\n-\r\n \tfunction saveNavbar(hidden) {\r\n \t\tvar data = {\r\n \t\t\twpb_ajax: true,\r\n@@ -1194,46 +1382,30 @@\n \tvar openNavbar = $(document).find(\"#app-open-navbar-schedule\");\r\n \tvar container = $(\".app-js-schedules\");\r\n \r\n-\t$(\"#app-open-navbar-schedule button\").click(function(e){\r\n+\t$(\"#app-open-navbar-schedule button\").click( function (e) {\r\n \t\te.preventDefault();\r\n \t\topenNavbar.hide();\r\n \t\tnavbar.show( \"fast\" );\r\n \t\tsaveNavbar( false );\r\n \t});\r\n \r\n-\t$(\"#app-close-navbar-schedule button\").click(function(e){\r\n+\t$(\"#app-close-navbar-schedule button\").click( function (e) {\r\n \t\te.preventDefault();\r\n \t\tnavbar.hide( \"fast\" );\r\n \t\topenNavbar.show();\r\n \t\tsaveNavbar( true );\r\n \t});\r\n \r\n-\t$(\".app-dock-left\").click(function(e) {\r\n-\t\te.preventDefault();\r\n-\t\tvar $this = $(this);\r\n-\t\tvar par = $this.parent(\".app-panel-wrap\");\r\n-\r\n-\t\tif ( $this.hasClass(\"left\") ) {\r\n-\t\t\t$this.removeClass(\"left\");\r\n-\t\t\tpar.removeClass(\"left\");\r\n-\t\t\tsave_left( false );\r\n-\t\t} else {\r\n-\t\t\t$this.addClass(\"left\");\r\n-\t\t\tpar.addClass(\"left\");\r\n-\t\t\tsave_left( true );\r\n-\t\t}\r\n-\t});\r\n-\r\n-\t$(\".app-filter-submit-btn\").click(function(e){\r\n+\t$(\".app-filter-submit-btn\").click( function (e) {\r\n \t\te.preventDefault();\r\n \t\tvar $this = $(this);\r\n \t\tvar par = $this.parents(\"#app-navbar\");\r\n \t\tvar statii = par.find(\"select[name=app_stats]\").val();\r\n+\t\tvar stats = statii ? statii.join() : \"\";\r\n \t\tvar weekdays_arr = par.find(\"select[name=app_weekdays]\").val();\r\n \t\tvar locations = par.find(\"select[name=app_locations]\").val();\r\n \t\tvar services = par.find(\"select[name=app_services]\").val();\r\n \t\tvar workers = par.find(\"select[name=app_workers]\").val();\r\n-\t\tvar stats = statii ? statii.join() : \"\";\r\n \t\tvar weekdays = weekdays_arr ? weekdays_arr.join() : \"\";\r\n \t\tvar location_ids = locations ? locations.join() : \"\";\r\n \t\tvar service_ids = services ? services.join() : \"\";\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fterms-conditions.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fterms-conditions.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fterms-conditions.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fterms-conditions.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -41,7 +41,7 @@\n \t\t\treturn;\r\n \t\t}\r\n \r\n-\t\tadd_filter( 'app_confirmation_before_buttons', array( $this, 'terms' ), 10, 2 );\r\n+\t\t\u002F\u002F add_filter( 'app_confirmation_before_buttons', array( $this, 'terms' ), 10, 2 );\r\n \t\tadd_filter( 'app_checkout_before_buttons', array( $this, 'terms' ) );\r\n \t\tadd_filter( 'appointments_display_tabs', array( $this, 'add_tab' ), 13 );\r\n \t\tadd_action( 'app_display_terms_tab', array( $this, 'terms_settings' ), 13 );\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fuser.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fuser.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fincludes\u002Fuser.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fincludes\u002Fuser.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -238,8 +238,8 @@\n \t * @return string\r\n \t *\u002F\r\n \tpublic function get_client_name( $app_id, $r = null, $add_link = true, $limit = 22, $prime_cache = false ) {\r\n-\t\t$name\t= '';\r\n-\t\t$limit\t= apply_filters( 'app_chr_limit', $limit );\r\n+\t\t$name = $raw_name = '';\r\n+\t\t$limit = apply_filters( 'app_chr_limit', $limit );\r\n \t\t$app = (null !== $r) ? $r : wpb_get_app( $app_id, $prime_cache );\r\n \r\n \t\tif ( $app ) {\r\n@@ -281,6 +281,8 @@\n \t\t\t\t$name = mb_substr( $name, 0, $limit, 'UTF-8' ) . '...';\r\n \t\t\t}\r\n \r\n+\t\t\t$raw_name = $name;\r\n+\r\n \t\t\t$tt = $full_name;\r\n \r\n \t\t\tif ( $email ) {\r\n@@ -304,10 +306,16 @@\n \r\n \t\t# Fallback\r\n \t\tif ( ! $name ) {\r\n-\t\t\t$name = wp_unslash( wpb_get_text( ! empty( $r->status ) && 'reserved' == $r->status ? 'gcal' : 'client' ) );\r\n+\t\t\t$raw_name = $name = wp_unslash( wpb_get_text( ! empty( $r->status ) && 'reserved' == $r->status ? 'gcal' : 'client' ) );\r\n \t\t}\r\n \r\n-\t\treturn apply_filters( 'app_get_client_name', $name, $app_id, $r );\r\n+\t\t$out = apply_filters( 'app_get_client_name', $name, $app_id, $r );\r\n+\r\n+\t\tif ( 'full' === $add_link ) {\r\n+\t\t\treturn array( 'name' => $out, 'raw_name' => $raw_name, );\r\n+\t\t} else {\r\n+\t\t\treturn $out;\r\n+\t\t}\r\n \t}\r\n \r\n \t\u002F**\r\n@@ -607,7 +615,7 @@\n \t * @return array|none\tIf used as an action hook, returns none. If used as a method call, returns array (sanitized user submit)\r\n \t *\u002F\r\n \tpublic function sanitize_submitted_userdata( $validate = 'validate' ){\r\n-\t\r\n+\r\n \t\tif ( empty( $_POST['app_user_data'] ) ) {\r\n \t\t\treturn array();\r\n \t\t}\r\n@@ -775,19 +783,13 @@\n \r\n \t\t# Check if user is not logged in and submitted email is registered\r\n \t\t# Without this check, someone may login instead of another person using his email\r\n-\t\tif ( ! is_user_logged_in() && wpb_setting( 'ask_email' ) && $sub_udata['email'] ) {\r\n-\t\t\t$maybe_user = get_user_by( 'email', $sub_udata['email'] );\r\n-\t\t\tif ( $maybe_user ) {\r\n-\t\t\t\t$msg = wpb_get_text('login_required');\r\n-\t\t\t\tif ( false && class_exists( 'UsersWP' ) ) {\r\n-\t\t\t\t\tdie( json_encode( array( 'userswp' => $msg ) ) );\r\n-\t\t\t\t} else {\r\n-\t\t\t\t\tdie( json_encode( array(\r\n-\t\t\t\t\t'loginwp'\t=> $msg,\r\n+\t\tif ( ! is_user_logged_in() && $sub_udata['email'] ) {\r\n+\t\t\tif ( get_user_by( 'email', $sub_udata['email'] ) ) {\r\n+\t\t\t\tdie( json_encode( array(\r\n+\t\t\t\t\t'loginwp'\t=> wpb_get_text('login_required'),\r\n \t\t\t\t\t'email'\t\t=> $sub_udata['email'],\r\n \t\t\t\t\t'recovered'\t=> ! empty( $_POST['value'] ) ? wpb_clean( $_POST['value'] ) : false,\r\n-\t\t\t\t\t) ) );\r\n-\t\t\t\t}\r\n+\t\t\t\t) ) );\r\n \t\t\t}\r\n \t\t} else if ( is_user_logged_in() && $sub_udata['email'] && ! wpb_is_admin_user() ) {\r\n \t\t\t# Logged in client tries to use another registered user's email\r\n@@ -797,7 +799,7 @@\n \t\t\t}\r\n \t\t}\r\n \r\n-\t\tif ( ! $user_id && $sub_udata['email'] && 'yes' == wpb_setting('auto_register_client') ) {\r\n+\t\tif ( ! $user_id && wpb_setting( 'ask_email' ) && $sub_udata['email'] && 'yes' == wpb_setting('auto_register_client') ) {\r\n \t\t\tif ( $maybe_user_id = $this->create_user( $sub_udata ) ) {\r\n \t\t\t\t$user_id = $maybe_user_id;\r\n \t\t\t\t\u002F* Auto login\r\n@@ -1258,12 +1260,12 @@\n \t\t\tunset( $tabs['settings'] );\r\n \t\t\t$tabs['settings'] = wpb_get_text( 'bp_settings' );\r\n \t\t}\r\n-\t\t\r\n+\r\n \t\tif ( isset( $tabs['store_settings'] ) ) {\r\n \t\t\tunset( $tabs['store_settings'] );\r\n \t\t\t$tabs['store_settings'] = wpb_get_text( 'store_settings' );\r\n-\t\t}\t\t\r\n-\t\t\r\n+\t\t}\r\n+\r\n \t\treturn $tabs;\r\n \t}\r\n \r\n@@ -1315,15 +1317,15 @@\n \t\t\t\tif ( !( BASE('Annual') && 'yes' == wpb_setting('allow_worker_annual') && wpb_admin_access_check( 'manage_own_work_hours', false ) ) ) {\r\n \t\t\t\t\tunset( $tabs['seasonal'] );\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tif ( wpb_is_account_page() && wpb_is_store_worker( $uid ) ) {\r\n \t\t\t\t\tunset( $tabs['working_hours'] );\r\n \t\t\t\t\tunset( $tabs['holidays'] );\r\n \t\t\t\t\tunset( $tabs['seasonal'] );\r\n \t\t\t\t\tunset( $tabs['payments'] );\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n-\t\t\t}  else if ( wpb_is_manage_store() && wpb_is_manager( $uid ) ) { \r\n+\r\n+\t\t\t}  else if ( wpb_is_manage_store() && wpb_is_manager( $uid ) ) {\r\n \t\t\t\t$tabs = array(\r\n \t\t\t\t\t'schedules'\t\t=> wpb_get_text('bp_schedules'),\r\n \t\t\t\t\t'clients'\t\t=> wpb_get_text('clients'),\r\n@@ -1334,21 +1336,26 @@\n \t\t\t\t\t'holidays'\t\t=> wpb_get_text('bp_holidays'),\r\n \t\t\t\t\t'seasonal'\t\t=> wpb_get_text('bp_annual'),\r\n \t\t\t\t\t'payments'\t\t=> wpb_get_text('bp_payments'),\r\n-\t\t\t\t\t'store_settings'=> wpb_get_text('store_settings'),\t\t\t\t\t\r\n+\t\t\t\t\t'store_settings'=> wpb_get_text('store_settings'),\r\n \t\t\t\t);\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tif ( !( BASE('Annual') ) ) {\r\n \t\t\t\t\tunset( $tabs['seasonal'] );\r\n \t\t\t\t}\r\n-\t\t\t\r\n+\r\n \t\t\t} else {\r\n \t\t\t\t$tabs = array(\r\n \t\t\t\t\t'bookings'\t=> wpb_get_text('bp_bookings'),\r\n+\t\t\t\t\t'schedules'\t=> wpb_get_text('bp_schedules'),\r\n \t\t\t\t\t'payments'\t=> wpb_get_text('bp_payments'),\r\n \t\t\t\t\t'settings'\t=> wpb_get_text('bp_settings'),\r\n \t\t\t\t);\r\n+\r\n+\t\t\t\tif ( ! is_user_logged_in() || ! apply_filters( 'app_client_can_use_schedules', 'yes' == wpb_setting( 'schedule_client_can' ) ) ) {\r\n+\t\t\t\t\tunset( $tabs['schedules'] );\r\n+\t\t\t\t}\r\n \t\t\t}\r\n-\t\t\t\r\n+\r\n \t\t\tif ( ! wpb_user_can_view_payments( $uid ) ) {\r\n \t\t\t\tunset( $tabs['payments'] );\r\n \t\t\t}\r\n@@ -1399,56 +1406,62 @@\n \t\t\t\tif ( wpb_is_manage_store() ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\t$this->show_profile_bookings( $uid, $is_readonly );\r\n \t\t\t\tbreak;\r\n-\t\t\t\t\r\n+\r\n \t\t\tcase 'stores':\r\n \t\t\t\tif ( ! wpb_is_manager( $uid ) || ! BASE('LocationsList') ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tBASE('LocationsList')->listing( $uid );\r\n-\t\t\t\r\n+\r\n \t\t\t\tbreak;\r\n-\t\t\t\t\r\n+\r\n \t\t\tcase 'store_settings':\r\n \t\t\t\tif ( ! wpb_is_manager( $uid ) || ! BASE('StoreSettings') ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Fadmin\u002Fbase-admin.php' );\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tBASE('StoreSettings')->display();\r\n-\t\t\t\r\n-\t\t\t\tbreak;\t\t\t\t\r\n-\t\t\t\t\r\n+\r\n+\t\t\t\tbreak;\r\n+\r\n \t\t\tcase 'schedules':\r\n-\t\t\t\tif ( ! wpb_is_manager( $uid ) && ! wpb_is_worker( $uid ) && ! wpb_is_admin_user() ) {\r\n+\t\t\t\tif ( ! is_user_logged_in() ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n+\t\t\t\tif ( ! apply_filters( 'app_client_can_use_schedules', 'yes' == wpb_setting( 'schedule_client_can' ) ) ) {\r\n+\t\t\t\t\tif ( ! wpb_is_manager( $uid ) && ! wpb_is_worker( $uid ) && ! wpb_is_admin_user() ) {\r\n+\t\t\t\t\t\tbreak;\r\n+\t\t\t\t\t}\r\n+\t\t\t\t}\r\n+\r\n \t\t\t\t?>\u003Cdiv id=\"wpbody-content\" class=\"app-sc wp-admin wp-core-ui app-fem app-clearfix\">\u003C?php\r\n-\t\t\t\t\r\n+\r\n \t\t\t\twpb_render_schedules();\r\n-\t\t\t\t\r\n+\r\n \t\t\t\t?>\u003C\u002Fdiv>\u003C?php\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tbreak;\r\n-\t\t\t\t\r\n+\r\n \t\t\tcase 'clients':\r\n \t\t\t\tif ( ! wpb_is_manager( $uid ) ) {\r\n \t\t\t\t\tbreak;\r\n-\t\t\t\t}\t\t\t\r\n-\t\t\t\r\n+\t\t\t\t}\r\n+\r\n \t\t\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Fadmin\u002Fclients.php' );\r\n-\t\t\t\t\r\n+\r\n \t\t\t\t?>\u003Cdiv class=\"wp-core-ui app-page\">\u003C?php\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tBASE('Clients')->client_list( $uid );\r\n-\t\t\t\t\r\n+\r\n \t\t\t\t?>\u003C\u002Fdiv>\u003C?php\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tbreak;\r\n \r\n \t\t\tcase 'services':\r\n@@ -1465,29 +1478,29 @@\n \t\t\t\t?>\u003C\u002Fdiv>\u003C?php\r\n \r\n \t\t\t\tbreak;\r\n-\t\t\t\t\r\n+\r\n \t\t\tcase 'workers':\r\n \t\t\t\tif ( ! BASE('WorkersList') || ! wpb_is_manager( $uid ) ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\t?>\u003Cdiv class=\"wp-core-ui app-page\">\u003C?php\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tBASE('WorkersList')->worker_list( $uid );\r\n-\t\t\t\t\r\n+\r\n \t\t\t\t?>\u003C\u002Fdiv>\u003C?php\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tbreak;\r\n \r\n \t\t\tcase 'working_hours':\r\n \t\t\t\tif ( ! wpb_is_manager( $uid ) && (! wpb_is_worker( $uid ) || 'yes' != wpb_setting('allow_worker_wh')) ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tif ( wpb_is_account_page() && wpb_is_store_worker( $uid ) ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \r\n \t\t\t\tBASE('WH')->render_tab( wpb_is_manage_store() ? false : $uid );\r\n \r\n@@ -1497,10 +1510,10 @@\n \t\t\t\tif ( ! wpb_is_manager( $uid ) && (! wpb_is_worker( $uid ) || 'yes' != wpb_setting('allow_worker_wh')) ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tif ( wpb_is_account_page() && wpb_is_store_worker( $uid ) ) {\r\n \t\t\t\t\tbreak;\r\n-\t\t\t\t}\t\t\t\t\r\n+\t\t\t\t}\r\n \r\n \t\t\t\tBASE('Holidays')->render_tab( wpb_is_manage_store() ? false : $uid );\r\n \r\n@@ -1513,24 +1526,24 @@\n \t\t\t\tif ( ! wpb_is_manager( $uid ) && (! wpb_is_worker( $uid ) || 'yes' != wpb_setting('allow_worker_annual')) ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tif ( wpb_is_account_page() && wpb_is_store_worker( $uid ) ) {\r\n \t\t\t\t\tbreak;\r\n-\t\t\t\t}\t\t\t\t\r\n+\t\t\t\t}\r\n \r\n \t\t\t\tBASE('Annual')->render_tab( wpb_is_manage_store() ? false : $uid );\r\n \r\n \t\t\t\tbreak;\r\n \r\n \t\t\tcase 'payments':\r\n-\t\t\t\tif ( wpb_is_multi_store() && ! wpb_is_vendor( $uid ) ) {\r\n+\t\t\t\tif ( wpb_is_manage_store() && ! wpb_is_manager( $uid ) ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\tif ( wpb_is_account_page() && wpb_is_store_worker( $uid ) ) {\r\n \t\t\t\t\tbreak;\r\n-\t\t\t\t}\t\t\t\t\r\n-\t\t\t\t\r\n+\t\t\t\t}\r\n+\r\n \t\t\t\tinclude_once( WPBASE_PLUGIN_DIR . '\u002Fincludes\u002Fadmin\u002Ftransactions.php' );\r\n \r\n \t\t\t\t?>\u003Cdiv id=\"wpbody-content\" class=\"app-sc wp-admin wp-core-ui app-fem app-clearfix\">\u003C?php\r\n@@ -1545,7 +1558,7 @@\n \t\t\t\tif ( wpb_is_manage_store() ) {\r\n \t\t\t\t\tbreak;\r\n \t\t\t\t}\r\n-\t\t\t\t\r\n+\r\n \t\t\t\t$this->show_profile_settings( $uid, $is_readonly );\r\n \t\t\tbreak;\r\n \r\n@@ -1646,7 +1659,7 @@\n \t\u003C\u002Fform>\r\n \t\u003C?php\r\n \t}\r\n-\t\r\n+\r\n \tpublic static function get_user_meta( $user_id, $f ) {\r\n \t\treturn (string)get_user_meta( $user_id, 'app_'.$f, true );\r\n \t}\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Fadmin\u002Fadmin-scripts.js \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Fadmin\u002Fadmin-scripts.js\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Fadmin\u002Fadmin-scripts.js\t2026-01-06 00:53:38.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Fadmin\u002Fadmin-scripts.js\t2026-03-10 03:48:28.000000000 +0000\n@@ -611,8 +611,8 @@\n \t\t\t\t\t\"submitClicked\": true\r\n \t\t\t\t});\r\n \t\t\t});\r\n-            $(\"table.app-manage, div.app-manage.app-form, table.app-vendors, table.app-clients, table.app-services, table.app-workers, table.app-locations\")\r\n-\t\t\t\t.on(\"click\", \".save\", function () {\r\n+            $(\"table.app-manage, div.app-manage.app-form, table.app-vendors, table.app-clients, table.app-services, table.app-workers, table.app-locations, table.app-commissions\")\r\n+\t\t\t\t.on(\"click\", \".save, .cancel\", function () {\r\n                 $(document).data({\r\n                     \"submitClicked\": true\r\n                 });\r\n@@ -1277,29 +1277,29 @@\n             var postData = {\r\n \t\t\t\twpb_ajax: true,\r\n \t\t\t\tadmin_edit: true,\r\n-\t\t\t\tuser: par.find(\"select[name='user'] option:selected\").val(),\r\n+\t\t\t\tuser: par.find(\"select[name='user']\").val(),\r\n \t\t\t\tcreate_user: par.find(\"input[name='create_user']\").is(\":checked\") ? 1 : 0,\r\n \t\t\t\tcreate_user_check: par.find(\"input[name='create_user_check']\").val(),\r\n \t\t\t\tname: par.find(\"input[name='cname']\").val(),\r\n \t\t\t\tapp_user_data: JSON.stringify(app_user_data),\r\n-\t\t\t\tlocation: par.find(\"select[name='location'] option:selected\").val() || 0,\r\n-\t\t\t\tservice: par.find(\"select[name='service'] option:selected\").val(),\r\n+\t\t\t\tlocation: par.find(\".app_select_locations\").val() || 0,\r\n+\t\t\t\tservice: par.find(\".app_select_services\").val(),\r\n \t\t\t\tworker: par.find(\".app_select_workers\").val() || 0,\r\n \t\t\t\tlocked: par.find(\"input[name='locked']\").is(\":checked\") ? 1 : 0,\r\n \t\t\t\tlocked_check: par.find(\"input[name='locked_check']\").val(),\r\n \t\t\t\tprice: par.find(\"input[name='price']\").val() || 0,\r\n \t\t\t\tdeposit: par.find(\"input[name='deposit']\").val() || 0,\r\n-\t\t\t\tcreated_by: par.find(\"select[name='created_by'] option:selected\").val(),\r\n-\t\t\t\tevent_start: par.find(\"select[name='event_start'] option:selected\").val(),\r\n+\t\t\t\tcreated_by: par.find(\"select[name='created_by']\").val(),\r\n+\t\t\t\tevent_start: par.find(\"select[name='event_start']\").val(),\r\n \t\t\t\tstart_date: par.find(\"input[name='start_date']\").val(),\r\n-\t\t\t\tstart_time: par.find(\"select[name='start_time'] option:selected\").val(),\r\n+\t\t\t\tstart_time: par.find(\"select[name='start_time']\").val(),\r\n \t\t\t\tend_date: par.find(\"input[name='end_date']\").val(),\r\n-\t\t\t\tend_time: par.find(\"select[name='end_time'] option:selected\").val(),\r\n+\t\t\t\tend_time: par.find(\"select[name='end_time']\").val(),\r\n \t\t\t\tparent_id: par.find(\"input[name='parent_id']\").val(),\r\n \t\t\t\tnote: par.find(\"textarea[name='note']\").val(),\r\n \t\t\t\tnote_check: par.find(\"input[name='note_check']\").val(),\r\n \t\t\t\tadmin_note: par.find(\"textarea[name='admin_note']\").val(),\r\n-\t\t\t\tstatus: par.find(\"select[name='status'] option:selected\").val(),\r\n+\t\t\t\tstatus: par.find(\"select[name='status']\").val(),\r\n \t\t\t\tresend: par.find(\"input[name='resend']\").is(\":checked\") ? 1 : 0,\r\n \t\t\t\tsend_pending: par.find(\"input[name='send_pending']\").is(\":checked\") ? 1 : 0,\r\n \t\t\t\tsend_cancel: par.find(\"input[name='send_cancel']\").is(\":checked\") ? 1 : 0,\r\n@@ -1312,9 +1312,9 @@\n \t\t\t\tapp_seats: par.find(\".app_seats\").val(),\r\n \t\t\t\tapp_extras: $.isArray(extras) ? extras.join(\",\") : extras,\r\n \t\t\t\tapp_extras_check: par.find(\"input[name='app_extras_check']\").val(),\r\n-\t\t\t\tapp_multilang: par.find(\"select[name='app_multilang'] option:selected\").val(),\r\n+\t\t\t\tapp_multilang: par.find(\"select[name='app_multilang']\").val(),\r\n \t\t\t\tapp_multilang_check: par.find(\"input[name='app_multilang_check']\").val(),\r\n-\t\t\t\tapp_duration: par.find(\"select[name='app_duration'] option:selected\").val(),\r\n+\t\t\t\tapp_duration: par.find(\"select[name='app_duration']\").val(),\r\n \t\t\t\ttaken_over_at: par.find(\"input[name='taken_over_at']\").val(),\r\n \t\t\t\tzoom_recover_id: par.find(\"input[name='zoom_recover_id']\").val(),\r\n \t\t\t\tis_account_page: _app_.is.account_page ? 1 : 0,\r\nOnly in \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs: app-datatables.js\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Fcommon-scripts.js \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Fcommon-scripts.js\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Fcommon-scripts.js\t2026-01-06 00:53:38.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Fcommon-scripts.js\t2026-03-10 03:48:28.000000000 +0000\n@@ -326,253 +326,6 @@\n \tWPB_Common.init();\r\n \r\n \r\n-\t\u002F**\r\n-\t * Arrange List of Bookings and app-list table\r\n-\t *\u002F\r\n-\tvar WPB_List = {\r\n-\t\tinit: function() {\r\n-\t\t\tvar me = this;\r\n-\t\t\tvar tbl = $(\"table.app-list\");\r\n-\t\t\t$(document).data(\"app_list_table_clone\", tbl.clone());\r\n-\r\n-\t\t\t$.extend( $.fn.dataTableExt.oJUIClasses, {\r\n-\t\t\t\t\"sFilterInput\": \"ui-toolbar ui-state-default app-no-save-alert app-w-select\",\r\n-\t\t\t\t\"sLengthSelect\": \"ui-toolbar ui-state-default app-no-save-alert\"\r\n-\t\t\t});\r\n-\t\t\t$.fn.dataTable.moment( _app_.moment_format, _app_.locale );\r\n-\r\n-\t\t\tvar dt = tbl.DataTable(me.args(tbl));\r\n-\t\t\tthis.dt_api = dt;\r\n-\t\t\tme.qtip(tbl);\r\n-\t\t\tdt.on(\"page.dt, search.dt, draw.dt\", function () {\r\n-\t\t\t\tme.qtip(tbl);\r\n-\t\t\t});\r\n-\r\n-\t\t\t$(document).find(\".fg-toolbar\").removeClass(\"ui-widget-header\");\r\n-\t\t\tdt.on(\"draw.dt\", function () {\r\n-\t\t\t\t$.styleButtons();\r\n-\t\t\t});\r\n-\r\n-\t\t\t$(\".app_save_profile_submit\").click(function (e) {\r\n-\t\t\t\tme.ratesSubmit(e);\r\n-\t\t\t});\r\n-\r\n-\t\t\t$(document).on( \"click\", \".app-list button.app-list-cancel\", function(e) {\r\n-\t\t\t\tvar $this = $(this);\r\n-\t\t\t\tif ($this.hasClass(\"app-disabled-button\")) {\r\n-\t\t\t\t\treturn false;\r\n-\t\t\t\t}\r\n-\t\t\t\te.preventDefault();\r\n-\t\t\t\t$this.addClass(\"app-disabled-button\");\r\n-\t\t\t\t$this.closest(\"tr\").css(\"opacity\", \"0.3\");\r\n-\t\t\t\tvar r = window.confirm(_app_.cancel_app_confirm);\r\n-\t\t\t\tif ( !r ) {\r\n-\t\t\t\t\t$this.removeClass(\"app-disabled-button\");\r\n-\t\t\t\t\t$this.closest(\"tr\").css(\"opacity\", \"1\");\r\n-\t\t\t\t} else {\r\n-\t\t\t\t\tme.cancel($this);\r\n-\t\t\t\t}\r\n-\t\t\t});\r\n-\r\n-\t\t\t$(document).on( \"click\", \".app-list button.app-list-confirm\", function(e) {\r\n-\t\t\t\tvar $this = $(this);\r\n-\t\t\t\tif ($this.hasClass(\"app-disabled-button\")) {\r\n-\t\t\t\t\treturn false;\r\n-\t\t\t\t}\r\n-\t\t\t\te.preventDefault();\r\n-\t\t\t\t$this.addClass(\"app-disabled-button\");\r\n-\t\t\t\t$this.closest(\"tr\").css(\"opacity\", \"0.3\");\r\n-\t\t\t\tvar r = window.confirm(_app_.confirmConfirm);\r\n-\t\t\t\tif ( !r ) {\r\n-\t\t\t\t\t$this.removeClass(\"app-disabled-button\");\r\n-\t\t\t\t\t$this.closest(\"tr\").css(\"opacity\", \"1\");\r\n-\t\t\t\t} else {\r\n-\t\t\t\t\tme.confirm($this);\r\n-\t\t\t\t}\r\n-\t\t\t});\r\n-\r\n-\t\t\t$(document).on( \"click\", \".app-list button.app-list-pay\", function(e) {\r\n-\t\t\t\tvar $this = $(this);\r\n-\t\t\t\tif ($this.hasClass(\"app-disabled-button\")) {\r\n-\t\t\t\t\treturn false;\r\n-\t\t\t\t}\r\n-\t\t\t\te.preventDefault();\r\n-\t\t\t\t$this.addClass(\"app-disabled-button\");\r\n-\t\t\t\t$this.closest(\"tr\").css(\"opacity\", \"0.3\");\r\n-\t\t\t\twindow.location.href = $this.data(\"href\");\r\n-\t\t\t});\r\n-\t\t},\r\n-\r\n-        \u002F**\r\n-         * Let hidden fields to be submitted\r\n-         *\u002F\r\n-        ratesSubmit: function (e) {\r\n-\t\t\te.preventDefault();\r\n-            var $this = $(e.target);\r\n-            var par = $this.parents(\"form\");\r\n-            \u002F\u002F Submit hidden fields\r\n-            \u002F\u002F https:\u002F\u002Fdatatables.net\u002Fplug-ins\u002Fapi\u002FfnGetHiddenNodes\r\n-            var nodes;\r\n-            var display = par.find('tbody tr');\r\n-            nodes = this.dt_api.rows().nodes().toArray();\r\n-            \u002F* Remove nodes which are being displayed *\u002F\r\n-            var i = 0;\r\n-            var iIndex = 0;\r\n-            for (i = 0; i \u003C display.length; i = i + 1) {\r\n-                iIndex = $.inArray(display[i], nodes);\r\n-\r\n-                if (iIndex !== -1) {\r\n-                    nodes.splice(iIndex, 1);\r\n-                }\r\n-            }\r\n-            par.find(\".app_rates_hidden\").append(nodes);\r\n-            par.submit();\r\n-        },\r\n-\r\n-\t\t\u002F* DataTable arguments *\u002F\r\n-\t\targs: function(tbl) {\r\n-\t\t\treturn {\r\n-\t\t\t\t\"bAutoWidth\": true,\r\n-\t\t\t\t\"initComplete\": $.styleButtons(),\r\n-\t\t\t\t\"fnInitComplete\": function () {\r\n-\t\t\t\t\ttbl.css({opacity: 0.0, visibility: \"visible\"}).animate({opacity: 1.0});\r\n-\t\t\t\t\tvar s = $.readGet(\"app_s\");\r\n-\t\t\t\t\tvar filter = $(\".dataTables_filter input\");\r\n-\t\t\t\t\tfilter.attr(\"placeholder\", _app_.search).val(s);\r\n-\t\t\t\t\tif (s) {\r\n-\t\t\t\t\t\tfilter.trigger(\"keyup\");\r\n-\t\t\t\t\t}\r\n-\t\t\t\t},\r\n-\t\t\t\t\"lengthMenu\": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, _app_.all] ],\r\n-\t\t\t\t\"pageLength\": tbl.data(\"page_length\") || _app_.page_length || 10,\r\n-\t\t\t\t\"responsive\": true,\r\n-\t\t\t\t\"aaSorting\": [ ],\r\n-\t\t\t\t\"bJQueryUI\": true,\r\n-\t\t\t\t\"aoColumnDefs\" : [ {\r\n-\t\t\t\t\t\"bSortable\" : false,\r\n-\t\t\t\t\t\"aTargets\" : [\r\n-\t\t\t\t\t\t\"app-list-gcal-header\",\r\n-\t\t\t\t\t\t\"app-list-confirm-header\",\r\n-\t\t\t\t\t\t\"app-list-edit-header\",\r\n-\t\t\t\t\t\t\"app-list-cancel-header\",\r\n-\t\t\t\t\t\t\"app-list-pdf-header\",\r\n-\t\t\t\t\t\t\"app-list-zoom-header\",\r\n-\t\t\t\t\t\t\"app-list-jitsi-header\",\r\n-\t\t\t\t\t\t\"app-list-agora-header\"\r\n-\t\t\t\t\t]\r\n-\t\t\t\t} ],\r\n-\t\t\t\t\"language\": {\r\n-\t\t\t\t\t\"info\": _app_.info,\r\n-\t\t\t\t\t\"emptyTable\": _app_.no_appointments,\r\n-\t\t\t\t\t\"paginate\": {\r\n-\t\t\t\t\t  \"next\": _app_.next,\r\n-\t\t\t\t\t   \"previous\": _app_.previous\r\n-\t\t\t\t\t},\r\n-\t\t\t\t\t\"search\": \"\",\r\n-\t\t\t\t\t\"lengthMenu\": _app_.length_menu\r\n-\t\t\t\t}\r\n-\t\t\t};\r\n-\t\t},\r\n-\r\n-\t\t\u002F* Handle cancel *\u002F\r\n-\t\tcancel: function ($this) {\r\n-\t\t\tvar cancel_id = $this.data(\"app_id\");\r\n-\t\t\tif (!cancel_id) {\r\n-\t\t\t\treturn false;\r\n-\t\t\t}\r\n-\r\n-\t\t\t$.infoPanel();\r\n-\r\n-\t\t\tvar cancel_data = {\r\n-\t\t\t\taction: \"cancel_app\",\r\n-\t\t\t\tapp_id: cancel_id,\r\n-\t\t\t\tcancel_nonce: _app_.cancel_nonce,\r\n-\t\t\t\targs: $this.parents(\"table.app-list\").data(\"args\")\r\n-\t\t\t};\r\n-\t\t\t$.post(_app_.ajax_url, cancel_data, function(r) {\r\n-\t\t\t\t$this.closest(\"tr\").css(\"opacity\", \"1\");\r\n-\t\t\t\tif (!r) {\r\n-\t\t\t\t\talert(_app_.con_error);\r\n-\t\t\t\t\treturn false;\r\n-\t\t\t\t}\r\n-\t\t\t\tif (r.error ) {\r\n-\t\t\t\t\talert(r.error);\r\n-\t\t\t\t} else if (r.success) {\r\n-\t\t\t\t\talert(_app_.cancelled);\r\n-\t\t\t\t\twindow.location.href = window.location.href;\r\n-\t\t\t\t}\r\n-\t\t\t}, \"json\");\r\n-\t\t},\r\n-\r\n-\t\t\u002F* Handle confirm *\u002F\r\n-\t\tconfirm: function ($this) {\r\n-\t\t\tvar confirm_id = $this.data(\"app_id\");\r\n-\t\t\tif (!confirm_id) {\r\n-\t\t\t\treturn false;\r\n-\t\t\t}\r\n-\r\n-\t\t\t$.infoPanel();\r\n-\r\n-\t\t\tvar confirm_data = {\r\n-\t\t\t\taction: \"confirm_app\",\r\n-\t\t\t\tapp_id: confirm_id,\r\n-\t\t\t\tconfirm_nonce: _app_.confirm_nonce,\r\n-\t\t\t\targs: $this.parents(\"table.app-list\").data(\"args\")\r\n-\t\t\t};\r\n-\t\t\t$.post(_app_.ajax_url, confirm_data, function(r) {\r\n-\t\t\t\t$this.closest(\"tr\").css(\"opacity\", \"1\");\r\n-\t\t\t\tif (!r) {\r\n-\t\t\t\t\talert(_app_.con_error);\r\n-\t\t\t\t\treturn false;\r\n-\t\t\t\t}\r\n-\t\t\t\tif (r.error ) {\r\n-\t\t\t\t\talert(r.error);\r\n-\t\t\t\t} else if (r.success) {\r\n-\t\t\t\t\talert(_app_.confirmed_message);\r\n-\t\t\t\t\twindow.location.href = window.location.href;\r\n-\t\t\t\t}\r\n-\t\t\t}, \"json\");\r\n-\t\t},\r\n-\r\n-\t\t\u002F* Show children in qtip *\u002F\r\n-\t\tqtip: function (tbl) {\r\n-\t\t\ttbl.find(\".app-list-service-name\").qtip({\r\n-\t\t\t\toverwrite: true,\r\n-\t\t\t\tcontent: {\r\n-\t\t\t\t\ttext: function(ignore, api) {\r\n-\t\t\t\t\t\tapi.elements.content.html(_app_.please_wait);\r\n-\t\t\t\t\t\treturn $.ajax({\r\n-\t\t\t\t\t\t\turl: _app_.ajax_url,\r\n-\t\t\t\t\t\t\ttype: \"POST\",\r\n-\t\t\t\t\t\t\tdataType: \"json\",\r\n-\t\t\t\t\t\t\tdata: {\r\n-\t\t\t\t\t\t\t\twpb_ajax: true,\r\n-\t\t\t\t\t\t\t\tapp_id: $(this).data(\"app_id\"),\r\n-\t\t\t\t\t\t\t\targs: JSON.stringify($(this).parents(\"table.app-list\").data(\"args\")),\r\n-\t\t\t\t\t\t\t\taction: \"app_show_children_in_tooltip\"\r\n-\t\t\t\t\t\t\t}\r\n-\t\t\t\t\t\t})\r\n-\t\t\t\t\t\t.then(function(res) {\r\n-\t\t\t\t\t\t\tvar content = res.result;\r\n-\t\t\t\t\t\t\treturn content;\r\n-\t\t\t\t\t\t}, function(ignore, status, error) {\r\n-\t\t\t\t\t\t\tapi.set(\"content.text\", status + \": \" + error);\r\n-\t\t\t\t\t\t});\r\n-\t\t\t\t\t}\r\n-\t\t\t\t},\r\n-\t\t\t\thide: _app_.qtipHide,\r\n-\t\t\t\tposition: _app_.qtipPos,\r\n-\t\t\t\tstyle: _app_.qtipSmall\r\n-\t\t\t});\r\n-\t\t}\r\n-\t};\r\n-\r\n-\tWPB_List.init();\r\n-\r\n-\t$(document).on(\"app-client-record-opened\", function(){\r\n-\t\tWPB_List.init();\r\n-\t});\r\n-\r\n \t$(document).on(\"click\", \".app-become-vendor\", function(e){\r\n \t\te.preventDefault();\r\n \t\tvar $this = $(this);\r\n@@ -663,6 +416,579 @@\n \t\t});\r\n \r\n \t});\r\n+\t\r\n+   \u002F**\r\n+\t * Add\u002Fedit\u002Fsave bookings quickly using sidebar panel\r\n+     *\u002F\r\n+    $.WPB_Quickbook = {\r\n+\r\n+        init: function (task, arg, calendar) {\r\n+            var me = this;\r\n+\r\n+\t\t\tme.wrap = $(document).find(\".app-panel-wrap\");\r\n+\t\t\tme.panel = $(document).find(\".app-panel\");\r\n+\r\n+            var table = $(\"div.app-manage\");\r\n+\r\n+            table.on(\"click\", \".save\", function (e) {\r\n+\t\t\t\te.preventDefault();\r\n+                me.save(e);\r\n+            });\r\n+\r\n+            table.on(\"change\", \"select.app_seats,select.app_extras,.app-admin-lsw,select[name='start_time'],select[name='status'],select.app_duration,.app-special-select\", function (e) {\r\n+                me.updateEdit($(e.target));\r\n+            });\r\n+\r\n+\t\t\tvar cursorTimer;\r\n+            table.on(\"keyup\", \"input[name='app_seats'],.app-special-text\", function (e) {\r\n+\t\t\t\tclearTimeout(cursorTimer);\r\n+\t\t\t\tcursorTimer = setTimeout(function () {\r\n+\t\t\t\t\tme.updateEdit($(e.target));\r\n+\t\t\t\t}, 500);\r\n+            });\r\n+\r\n+            table.on(\"focus\", \".datepicker\", function (e) {\r\n+\t\t\t\tif ( !$(this).prop( \"readonly\" ) ) {\r\n+\t\t\t\t\tme.datePicker(e);\r\n+\t\t\t\t}\r\n+            });\r\n+\r\n+\t\t\t\u002F* Cancel *\u002F\r\n+            table.on(\"click\", \".cancel, .app-close-panel\", function (e) {\r\n+\t\t\t\te.preventDefault();\r\n+                me.cancel();\r\n+            });\r\n+\r\n+            \u002F* Redraw multiselect *\u002F\r\n+            $(window).resize(function () {\r\n+                $.each($(\".app_users,.app_extras\"), function (ignore, val) {\r\n+                    $this = $(val);\r\n+                    if ($this.data().hasOwnProperty(\"echMultiselect\")) {\r\n+                        $this.multiselect(\"refresh\");\r\n+                    }\r\n+                });\r\n+            });\r\n+\r\n+        },\r\n+\r\n+        \u002F**\r\n+         * If cancel button clicked, close panel, enable Edit button\r\n+         *\u002F\r\n+\t\tcancel: function () {\r\n+\t\t\tvar me = this;\r\n+\t\t\tme.wrap.removeClass(\"open\");\r\n+\t\t\t$(\".app-panel-overlay\").remove();\r\n+\r\n+\t\t\tvar btn = me.edit_btn;\r\n+\r\n+\t\t\tif (btn) {\r\n+\t\t\t\tbtn.removeClass(\"app-disabled-button\");\r\n+\t\t\t\tbtn.closest(\"tr\").css(\"opacity\", 1);\r\n+\t\t\t}\r\n+\t\t},\r\n+\r\n+        \u002F**\r\n+         * Read all field values of a row (par)\r\n+         * @param par   object  Possibly a row in the table under which fields will be read\r\n+         *\u002F\r\n+        readData: function (par) {\r\n+            var table = par.parents(\"div.app-manage\");\r\n+\r\n+            var app_user_data = {};\r\n+            $.each(_app_.user_fields, function (ignore, v) {\r\n+                app_user_data[v] = par.find(\"input[name='\" + v + \"']\").val();\r\n+            });\r\n+\r\n+            var postData = {\r\n+\t\t\t\twpb_ajax: true,\r\n+\t\t\t\tadmin_edit: true,\r\n+\t\t\t\tuser: par.find(\"select[name='user']\").val(),\r\n+\t\t\t\tcreate_user: par.find(\"input[name='create_user']\").is(\":checked\") ? 1 : 0,\r\n+\t\t\t\tcreate_user_check: par.find(\"input[name='create_user_check']\").val(),\r\n+\t\t\t\tname: par.find(\"input[name='cname']\").val(),\r\n+\t\t\t\tapp_user_data: JSON.stringify(app_user_data),\r\n+\t\t\t\tlocation: par.find(\".app_select_locations\").val() || 0,\r\n+\t\t\t\tservice: par.find(\".app_select_services\").val(),\r\n+\t\t\t\tworker: par.find(\".app_select_workers\").val() || 0,\r\n+\t\t\t\tstart_date: par.find(\"input[name='start_date']\").val(),\r\n+\t\t\t\tstart_time: par.find(\"[name='start_time']\").val(),\r\n+\t\t\t\tend_date: par.find(\"input[name='end_date']\").val(),\r\n+\t\t\t\tend_time: par.find(\"[name='end_time']\").val(),\r\n+\t\t\t\tstatus: par.find(\"select[name='status']\").val(),\r\n+\t\t\t\tapp_id: par.find(\"input[name='app_id']\").val(),\r\n+\t\t\t\tapp_seats: par.find(\".app_seats\").val(),\r\n+\t\t\t\tapp_duration: par.find(\"select[name='app_duration']\").val(),\r\n+\t\t\t\tsend_email: par.find(\"input[name='send_email']\").is(\":checked\") ? 1 : 0,\r\n+\t\t\t\tonly_own: table.data(\"only_own\"),\r\n+\t\t\t\tajax_nonce: _app_.iedit_nonce,\r\n+\t\t\t\tis_account_page: _app_.is.account_page ? 1 : 0,\r\n+\t\t\t\tis_store_page: _app_.is.store_page ? 1 : 0\r\n+            };\r\n+\r\n+\t\t\t\u002F* Add special values to post data *\u002F\r\n+\t\t\tvar postSpecialData = {};\r\n+\r\n+\t\t\tpar.find(\"input[class*=app-special-text], select[class*=app-special-select]\").each( function(){\r\n+\t\t\t\tvar sp_name = $(this).attr(\"name\");\r\n+\t\t\t\tvar sp_value = $(this).attr(\"type\") === \"checkbox\" ? ((this).checked ? 1 : 0) : $(this).val();\r\n+\t\t\t\tpostSpecialData[sp_name] = sp_value;\r\n+\t\t\t});\r\n+\r\n+\t\t\t$.extend(postData, postSpecialData);\r\n+\r\n+            var udfs = {};\r\n+            $.each(_app_.udf_ids, function (ignore, v) {\r\n+                var field = par.find(\".app-udf-field-entry-\" + v);\r\n+                if (parseInt(field.length) > 0) {\r\n+                    if (field.hasClass(\"app-udf-checkbox\")) {\r\n+                        udfs[\"udf_\" + v] = field.is(\":checked\") ? 1 : 0;\r\n+                    } else {\r\n+                        udfs[\"udf_\" + v] = field.val();\r\n+                    }\r\n+                }\r\n+            });\r\n+            postData = $.extend(postData, {\r\n+\t\t\t\t\t\tudf_data: JSON.stringify(udfs)\r\n+                    });\r\n+\r\n+            return postData;\r\n+        },\r\n+\r\n+        \u002F**\r\n+         * Edit or add a booking\r\n+         *\u002F\r\n+        upsert: function (task, arg, calendar) {\r\n+            var me = this;\r\n+\t\t\tme.calendar = calendar;\r\n+\t\t\tvar resource_id = typeof arg.resource === \"undefined\" ? 0 : arg.resource.id;\r\n+\t\t\tvar post_id, author_id, cap, lang, override;\r\n+\r\n+\t\t\tif ( typeof arg.fee === \"object\" ) {\r\n+\t\t\t\tme.fee = true;\r\n+\t\t\t\tme.edit_btn = $(arg.fee.edit_btn);\r\n+\t\t\t\tme.list_table = $(arg.fee.list_table);\r\n+\t\t\t\tpost_id = arg.fee.post_id;\r\n+\t\t\t\tauthor_id = arg.fee.author_id;\r\n+\t\t\t\tcap = arg.fee.cap;\r\n+\t\t\t\tlang = arg.fee.lang;\r\n+\t\t\t\toverride = arg.fee.override;\r\n+\t\t\t} else {\r\n+\t\t\t\tme.fee = false;\r\n+\t\t\t\tme.edit_btn = false;\r\n+\t\t\t\tme.list_table = false;\r\n+\t\t\t}\r\n+\r\n+\t\t\tvar data = {\r\n+                wpb_ajax: true,\r\n+\t\t\t\taction: me.fee ? \"app_listing_edit\" : \"app_quick_book_upsert\",\r\n+\t\t\t\tapp_id: task == \"edit\" ? arg.event.id : 0,\r\n+\t\t\t\tworker: task == \"add\" ? resource_id : 0,\r\n+\t\t\t\tupdated: task == \"add\" && resource_id ? \"worker\" : \"\",\r\n+\t\t\t\tapp_timestamp: task == \"add\" ? arg.startStr : 0,\r\n+                ajax_nonce: _app_.iedit_nonce,\r\n+\t\t\t\tis_account_page: _app_.is.account_page ? 1 : 0,\r\n+\t\t\t\tis_store_page: _app_.is.store_page ? 1 : 0,\r\n+\t\t\t\tpost_id: post_id,\r\n+\t\t\t\tauthor_id: author_id,\r\n+\t\t\t\tcap: cap,\r\n+\t\t\t\tapp_lang: lang,\r\n+\t\t\t\toverride: override\r\n+            };\r\n+\r\n+\t\t\tme.panel.empty();\r\n+\t\t\t\r\n+\t\t\t$.infoPanel( 'loading' );\r\n+\r\n+            $.post(_app_.ajax_url, data, function (r) {\r\n+                if (r && r.error) {\r\n+                    window.alert(r.error);\r\n+                } else if (r) {\r\n+\t\t\t\t\tme.wrap.addClass(\"open\");\r\n+\t\t\t\t\tif ( _app_.is.client ) {\r\n+\t\t\t\t\t\t$(document.body).prepend('\u003Cdiv class=\"app-panel-overlay\">\u003C\u002Fdiv>');\r\n+\t\t\t\t\t}\r\n+\t\t\t\t\t\r\n+                    var iedit_row = r.result;\r\n+                    var insertedRow = $(iedit_row).appendTo(me.panel);\r\n+                    insertedRow.find(\".inline-edit-col .blocked-days\")\r\n+                                .val(r.blocked_days).data(\"blocked\", r.blocked_days);\r\n+                    var dpicker_id = insertedRow.find(\".datepicker\").attr(\"id\");\r\n+                    $(\"#\" + dpicker_id).datepicker(\"refresh\");\r\n+                    if (parseInt(r.locked) > 0) {\r\n+                        insertedRow.data(\"locked\", true);\r\n+                    }\r\n+                    me.configureMS(r.id);\r\n+                    me.configQtip(r.id);\r\n+                } else {\r\n+                    window.alert(_app_.con_error);\r\n+                }\r\n+            }, \"json\");\r\n+        },\r\n+\r\n+        \u002F**\r\n+         * Updates fields during edit if lsw or date\u002Ftime fields changed\r\n+         *\u002F\r\n+        updateEdit: function (obj) {\r\n+            var me = this;\r\n+            var par = obj.parents(\".inline-edit-row\");\r\n+\t\t\tvar table = par.parents(\"div.app-manage\");\r\n+\t\t\tvar only_own = table.data(\"only_own\");\r\n+\t\t\tme.fee = par.hasClass(\"app-fee\");\r\n+\r\n+            if (obj.hasClass(\"app_seats\") && !obj.val()) {\r\n+                return false;\r\n+            }\r\n+\r\n+            $.infoPanel();\r\n+\r\n+            if ($.inArray(parseInt(obj.val()), _app_.daily_services) === -1) {\r\n+                $(\".app-is-daily\").text(\"\");\r\n+                par.find(\".app-admin-time,input[name='end_date']\")\r\n+                .css(\"text-decoration\", \"none\")\r\n+                .attr(\"disabled\", false);\r\n+            } else {\r\n+                \u002F\u002F Daily\r\n+                $(\".app-is-daily\").text(_app_.daily_text);\r\n+                par.find(\".app-admin-time,input[name='end_date']\")\r\n+                .css(\"text-decoration\", \"line-through\")\r\n+                .attr(\"disabled\", true);\r\n+            }\r\n+\r\n+            par.find(\".app-admin-lsw\").attr(\"disabled\", \"disabled\");\r\n+            var locSel = par.find(\".app_select_locations\");\r\n+            var serviceSel = par.find(\".app_select_services\");\r\n+            var workerSel = par.find(\".app_select_workers\");\r\n+            var startTimeSel = par.find(\"select[name='start_time']\");\r\n+            var endTimeSel = par.find(\"select[name='end_time']\");\r\n+\r\n+\t\t\tvar durationLabel = par.find(\".app_iedit_duration\");\r\n+\t\t\tvar durationSel = durationLabel.find(\".input-text-wrap\");\r\n+\t\t\tvar repeatUnitLabel = par.find(\".app_iedit_repeat_unit\");\r\n+\t\t\tvar repeatUnitSel = repeatUnitLabel.find(\".input-text-wrap\");\r\n+\t\t\tvar repeatNumberLabel = par.find(\".app_iedit_repeat_count\");\r\n+\t\t\tvar repeatNumberSel = repeatNumberLabel.find(\".input-text-wrap\");\r\n+\r\n+            var postData = me.readData(par);\r\n+            postData.action = me.fee ? \"app_listing_update\" : \"app_quick_book_update\";\r\n+\t\t\tif (parseInt(par.find(\".is_event\").val()) > 0 ) {\r\n+\t\t\t\tpostData.is_event = true;\r\n+\t\t\t}\r\n+\t\t\t\u002F\u002F if (obj.hasClass(\"app_select_workers\") && obj.val()) {\r\n+\t\t\t\t\u002F\u002F postData.updated = \"worker\";\r\n+\t\t\t\u002F\u002F }\r\n+\r\n+            $.post(_app_.ajax_url, postData, function (r) {\r\n+\r\n+                par.find(\".app-admin-lsw\").attr(\"disabled\", false);\r\n+\r\n+                if (r && r.error) {\r\n+                    window.alert(r.error);\r\n+                } else if (r) {\r\n+\t\t\t\t\tvar notice = r.notice || \"\";\r\n+\t\t\t\t\tpar.find(\".app-admin-notice\").empty().html(notice);\r\n+\t\t\t\t\tif (r.event_start) {\r\n+\t\t\t\t\t\tpar.find(\"[name='event_start']\").replaceWith(r.event_start);\r\n+\t\t\t\t\t}\r\n+\t\t\t\t\tif (r.event_end) {\r\n+\t\t\t\t\t\tpar.find(\"[name='event_end']\").replaceWith(r.event_end);\r\n+\t\t\t\t\t}\r\n+                    if (r.end_date) {\r\n+                        var end_date_fld = par.find(\"input[name='end_date']\");\r\n+                        end_date_fld.attr(\"readonly\", false);\r\n+                        end_date_fld.val(r.end_date);\r\n+                        end_date_fld.attr(\"readonly\", true);\r\n+                    }\r\n+                    if (r.start_time_sel) {\r\n+                        startTimeSel.replaceWith(r.start_time_sel);\r\n+                    }\r\n+                    if (r.end_time_sel) {\r\n+                        endTimeSel.replaceWith(r.end_time_sel);\r\n+                    }\r\n+                    if (r.locations_sel) {\r\n+                        locSel.replaceWith(r.locations_sel);\r\n+                    }\r\n+                    if (r.services_sel) {\r\n+                        serviceSel.replaceWith(r.services_sel);\r\n+                    }\r\n+\t\t\t\t\tif (r.durations_sel) {\r\n+                        durationSel.html(r.durations_sel);\r\n+\t\t\t\t\t\tdurationLabel.show();\r\n+                    } else {\r\n+\t\t\t\t\t\tdurationLabel.hide();\r\n+\t\t\t\t\t}\r\n+\t\t\t\t\tif (r.repeat_unit_sel) {\r\n+\t\t\t\t\t\trepeatUnitSel.html(r.repeat_unit_sel);\r\n+\t\t\t\t\t\trepeatUnitLabel.show();\r\n+                    } else {\r\n+\t\t\t\t\t\trepeatUnitLabel.hide();\r\n+\t\t\t\t\t}\r\n+\t\t\t\t\tif (r.repeat_count_sel) {\r\n+\t\t\t\t\t\trepeatNumberSel.html(r.repeat_count_sel);\r\n+\t\t\t\t\t\trepeatNumberLabel.show();\r\n+                    } else {\r\n+\t\t\t\t\t\trepeatNumberLabel.hide();\r\n+\t\t\t\t\t}\r\n+                    if (r.workers_sel) {\r\n+\t\t\t\t\t\tworkerSel.siblings(\".worker-name\").remove();\r\n+                        workerSel.replaceWith(r.workers_sel);\r\n+                    }\r\n+\t\t\t\t\tif (r.seats) {\r\n+\t\t\t\t\t\tpar.find(\".app_seats\").replaceWith(r.seats);\r\n+\t\t\t\t\t}\r\n+\r\n+                    par.find(\".blocked-days\").val(r.blocked_days).data(\"blocked\", r.blocked_days);\r\n+                    var dpicker_id = par.find(\".datepicker\").attr(\"id\");\r\n+                    $(\"#\" + dpicker_id).datepicker(\"refresh\");\r\n+\r\n+                } else {\r\n+                    window.alert(_app_.con_error);\r\n+                }\r\n+            }, \"json\");\r\n+        },\r\n+\r\n+        \u002F**\r\n+         * Save a booking\r\n+         *\u002F\r\n+        save: function (e) {\r\n+            var me = this;\r\n+            var $this = $(e.target);\r\n+            var sPar = $this.parents(\".inline-edit-row\");\r\n+\t\t\tme.fee = sPar.hasClass(\"app-fee\");\r\n+            $this.attr(\"disabled\", true);\r\n+            $.infoPanel(\"saving\");\r\n+            sPar.find(\".waiting\").show();\r\n+\r\n+            var postData = me.readData(sPar);\r\n+            postData.action = me.fee ? \"app_listing_save\" : \"app_quick_book_save\";\r\n+\t\t\tif (parseInt(sPar.find(\".is_event\").val()) > 0 ) {\r\n+\t\t\t\tpostData.is_event = true;\r\n+\t\t\t}\r\n+\r\n+            $.post(_app_.ajax_url, postData, function (r) {\r\n+                $this.attr(\"disabled\", false);\r\n+                sPar.find(\".waiting\").hide();\r\n+\r\n+                if (!r) {\r\n+                    window.alert(_app_.con_error);\r\n+                    return false;\r\n+                }\r\n+                var emailMsg = r.emailMsg ? \" \" + r.emailMsg : \"\";\r\n+                if (r.error) {\r\n+                    sPar.find(\".error\")\r\n+                    .html(\"\u003Cspan class='app-error'>\" + r.error + emailMsg + \"\u003C\u002Fspan>\")\r\n+                    .show().delay(10000).fadeOut(\"slow\");\r\n+                } else if (r.no_change) {\r\n+                    sPar.find(\".error\")\r\n+                    .html(\"\u003Cspan class='app-b'>\" + r.no_change + emailMsg + \"\u003C\u002Fspan>\")\r\n+                    .show().delay(10000).fadeOut(\"slow\");\r\n+                } else if (r.result) {\r\n+\t\t\t\t\tsPar.find(\".error\")\r\n+\t\t\t\t\t.html(\"\u003Cspan class='app-success'>\" + r.result + emailMsg + \"\u003C\u002Fspan>\")\r\n+\t\t\t\t\t.show().delay(10000).fadeOut(\"slow\");\r\n+\r\n+\t\t\t\t\tr.target = $this;\r\n+\t\t\t\t\t$(document).trigger(\"app-admin-booking-saved\", r);\r\n+\r\n+\t\t\t\t\tsetTimeout(function () {\r\n+\t\t\t\t\t\tme.wrap.removeClass(\"open\");\r\n+\t\t\t\t\t\t$(\".app-panel-overlay\").remove();\r\n+\t\t\t\t\t}, 3000);\r\n+\r\n+\t\t\t\t\tif ( r.event && typeof me.calendar === \"object\") {\r\n+\t\t\t\t\t\tif (r.inserted) {\r\n+\t\t\t\t\t\t\tme.calendar.addEvent( r.event );\r\n+\t\t\t\t\t\t} else {\r\n+\t\t\t\t\t\t\tme.calendar.updateEvent( r.event );\r\n+\t\t\t\t\t\t}\r\n+\t\t\t\t\t} else if ( me.fee ) {\r\n+\t\t\t\t\t\tvar tbl = me.list_table;\r\n+\t\t\t\t\t\tvar row = tbl.find(\"tr[data-app_id='\"+ r.app_id +\"']\");\r\n+\t\t\t\t\t\tvar col;\r\n+\t\t\t\t\t\t\r\n+\t\t\t\t\t\t$.each(r, function (i, v) {\r\n+\t\t\t\t\t\t\tcol = row.find(\".\"+ i +\"-app-mng\");\r\n+\t\t\t\t\t\t\tif (col.length) {\r\n+\t\t\t\t\t\t\t\tif (i === \"price\" || i === \"deposit\" || i === \"total_paid\" || i === \"balance\") {\r\n+\t\t\t\t\t\t\t\t\tcol.text(function () {\r\n+\t\t\t\t\t\t\t\t\t\tp = v.indexOf(\"-\") > -1 ? \"-\" : \"\";\r\n+\t\t\t\t\t\t\t\t\t\treturn p + col.text().replace(\"-\", \"\").replace(\u002F[0-9\\.,]+\u002F, v.replace(\"-\", \"\"));\r\n+\t\t\t\t\t\t\t\t\t});\r\n+\t\t\t\t\t\t\t\t} else {\r\n+\t\t\t\t\t\t\t\t\tcol.html(v);\r\n+\t\t\t\t\t\t\t\t}\r\n+\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\r\n+\t\t\t\t\t\t});\r\n+\t\t\t\t\t\t\r\n+\t\t\t\t\t\tme.edit_btn.removeClass(\"app-disabled-button\");\r\n+\t\t\t\t\t\tme.edit_btn.closest(\"tr\").css(\"opacity\", 1);\r\n+\t\t\t\t\t}\r\n+                } else if (emailMsg) {\r\n+                    sPar.find(\".error\")\r\n+                    .html(\"\u003Cspan class='app-success'>\" + emailMsg + \"\u003C\u002Fspan>\")\r\n+                    .show().delay(10000).fadeOut(\"slow\");\r\n+\t\t\t\t}\r\n+            }, \"json\");\r\n+        },\r\n+\r\n+        \u002F**\r\n+         * Populate userdata upon user selection\r\n+         *\u002F\r\n+        populateUser: function (me) {\r\n+            var sel_user = parseInt(me.val());\r\n+            var par = me.parents(\".inline-edit-col\");\r\n+            if (sel_user === 0) {\r\n+                \u002F\u002F Clear fields for unregistered user\r\n+                $.each(_app_.user_fields, function (ignore, v) {\r\n+                    par.find(\".app_iedit_\" + v + \" input\").val(\"\");\r\n+                });\r\n+\t\t\t\tpar.find(\".app-quick-book-user-fields\").show();\r\n+\t\t\t\tpar.find(\".app_iedit_create_user\").show();\r\n+                return false;\r\n+            }\r\n+            $.infoPanel(\"reading\");\r\n+\t\t\tpar.find(\".app-quick-book-user-fields\").hide();\r\n+\t\t\tpar.find(\".app_iedit_create_user\").hide();\r\n+            var data = {\r\n+                action: \"app_populate_user\",\r\n+                user_id: sel_user,\r\n+                ajax_nonce: _app_.iedit_nonce\r\n+            };\r\n+            $.post(_app_.ajax_url, data, function (r) {\r\n+                if (r && r.error) {\r\n+                    window.alert(r.error);\r\n+                } else if (r) {\r\n+\t\t\t\t\tpar.find(\".app_iedit_create_user :input\").prop(\"checked\", false);\r\n+                    $.each(r, function (i, v) {\r\n+                        par.find(\".app_iedit_\" + i + \" :input\").val(v);\r\n+                    });\r\n+                } else {\r\n+                    window.alert(_app_.con_error);\r\n+                }\r\n+            }, \"json\");\r\n+        },\r\n+\r\n+        \u002F**\r\n+         * Initiates Multiselect for users and extras\r\n+         *\u002F\r\n+        configureMS: function (id) {\r\n+            var me = this;\r\n+            var $this = $(\"#app_users_\" + id);\r\n+\r\n+            $(\"#app_extras_\" + id).multiselect({\r\n+                selectedList: 3,\r\n+                buttonWidth: \"100%\",\r\n+                classes: \"app_extras app-ms-small\"\r\n+            }).multiselectfilter();\r\n+\r\n+\t\t\tif ( _app_.is.msUsers ) {\r\n+\t\t\t\t$this.multiselect({\r\n+\t\t\t\t\topenEffect: null,\r\n+\t\t\t\t\tcloseEffect: null,\r\n+\t\t\t\t\tmenuHeight: 300,\r\n+\t\t\t\t\tselectedList: 1,\r\n+\t\t\t\t\tbuttonWidth: \"100%\",\r\n+\t\t\t\t\tclasses: \"app_users app-ms-small app_users_admin app-users-quick-book\",\r\n+\t\t\t\t\tclose: function () {\r\n+\t\t\t\t\t\tme.populateUser($this);\r\n+\t\t\t\t\t}\r\n+\t\t\t\t}).multiselectfilter();\r\n+\t\t\t}\r\n+\r\n+\t\t\t$(document).trigger(\"app-configure-ms\", id);\r\n+        },\r\n+\r\n+        \u002F**\r\n+         * Initiate datepicker upon focus\r\n+         *\u002F\r\n+        datePicker: function (e) {\r\n+            var me = this;\r\n+            var $this = $(e.target);\r\n+            if ($this.data(\"focused\") !== \"yes\") {\r\n+                $this.datepicker({\r\n+                    dateFormat: _app_.js_date_format,\r\n+                    firstDay: _app_.start_of_week,\r\n+                    onSelect: function (dateText) {\r\n+                        if ($this.attr(\"name\") === \"start_date\") {\r\n+                            $this.parents(\".inline-edit-col\")\r\n+                            .find(\"input[name='end_date']\")\r\n+                            .datepicker(\"setDate\", dateText);\r\n+                            me.updateEdit($this);\r\n+                        }\r\n+                    },\r\n+                    beforeShowDay: function (date) {\r\n+                        var string = $.datepicker.formatDate(\"yy-mm-dd\", date);\r\n+                        var datelist = $this.parents(\".inline-edit-col\").find(\".blocked-days\").data(\"blocked\");\r\n+                        if (datelist) {\r\n+                            return [$.inArray(string, datelist) === -1];\r\n+                        } else {\r\n+                            return [true];\r\n+                        }\r\n+                    }\r\n+                });\r\n+            }\r\n+            $this.data(\"focused\", \"yes\");\r\n+        },\r\n+\r\n+        \u002F**\r\n+         * Initiates qtip\r\n+         *\u002F\r\n+        configQtip: function (id) {\r\n+            var edit_row = $(\".inline-edit-row\");\r\n+            edit_row.find(\"[title][title!='']\").each(function (ignore, val) {\r\n+                var $this = $(val);\r\n+                var title = $this.attr(\"title\");\r\n+                var ttip = title ? title.replace(\u002F●\u002Fg, \"\u003Cbr \u002F>\").replace(\"\u002F|\u002F\", \"\u003Cbr\u002F>\") : \"\";\r\n+\r\n+                $this.qtip({\r\n+                    content: {\r\n+                        text: ttip\r\n+                    },\r\n+                    hide: _app_.qtipHide,\r\n+                    position: _app_.qtipPos,\r\n+                    style: _app_.qtipYellow\r\n+                });\r\n+            });\r\n+\r\n+            var cacheCl = \"app-payment-cache-\" + id;\r\n+            var cache = $(\"\u003Cdiv class='\" + cacheCl + \"' \u002F>\");\r\n+            var abbrPayment = $(\"#app-payment-ttip-\" + id);\r\n+\r\n+            abbrPayment.qtip({\r\n+                overwrite: true,\r\n+                content: {\r\n+                    text: function (ignore, api) {\r\n+                        if (parseInt($(document).find(\".\" + cacheCl).length) > 0) {\r\n+                            return $(document).find(\".\" + cacheCl).html();\r\n+                        }\r\n+                        api.elements.content.html(_app_.loading);\r\n+                        return $.ajax({\r\n+                            url: _app_.ajax_url,\r\n+                            type: \"POST\",\r\n+                            dataType: \"json\",\r\n+                            data: {\r\n+                                app_id: abbrPayment.parents(\".inline-edit-row\")\r\n+                                .find(\"input[name='app_id']\").val(),\r\n+                                action: \"app_show_payment_in_tooltip\"\r\n+                            }\r\n+                        })\r\n+                        .then(function (res) {\r\n+                            var content = res.result;\r\n+                            if (content) {\r\n+                                cache.html(content).appendTo($(document.body)).hide();\r\n+                            }\r\n+                            return content;\r\n+                        }, function (ignore, status, error) {\r\n+                            api.set(\"content.text\", status + \": \" + error);\r\n+                        });\r\n+                    }\r\n+                },\r\n+                hide: _app_.qtipHide,\r\n+                position: _app_.qtipPos,\r\n+                style: _app_.qtipSmall\r\n+            });\r\n+        }\r\n+    };\r\n+    $.WPB_Quickbook.init();\r\n \r\n });\r\n \r\nOnly in \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Fdev: moment.min.js\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Ffront-scripts.js \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Ffront-scripts.js\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Ffront-scripts.js\t2026-01-06 00:53:38.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Ffront-scripts.js\t2026-03-10 03:48:28.000000000 +0000\n@@ -1100,7 +1100,6 @@\n \t\t\t\t\t}\n \n \t\t\t\t\tif (r.amount){\n-\t\t\t\t\t\t$(\".app-conf-amount\").html(r.amount).show();\n \t\t\t\t\t\tcw.find(\".app-booking-info .amount\").html(r.amount);\n \t\t\t\t\t} else {\n \t\t\t\t\t\tif (!_app_.is.open_method && !r.open_method) {\n@@ -2867,240 +2866,6 @@\n \t };\n \t WPB_Login.init();\n \n-    \u002F**\n-     * Front End Edit\n-     *\u002F\n-\tvar WPB_FEE = {\n-\n-\t\tlocked: false,\n-\n-\t\t\u002F**\n-\t\t * Event listeners\n-\t\t *\u002F\n-\t\tinit: function () {\n-\t\t\tvar me = this;\n-\t\t\tvar appID = 0;\n-\n-\t\t\tvar temp = $(document).find(\".app-template-for-edit\");\n-\t\t\tif (temp && temp.length > 0) {\n-\t\t\t\tappID = temp.data(\"app_id\");\n-\t\t\t\tme.openDialog(appID, false);\n-\t\t\t}\n-\n-\t\t\t$(document).on(\"click\", \".app-list-edit\", function (e) {\n-\t\t\t\te.preventDefault();\n-\t\t\t\tvar $this = $(this);\n-\t\t\t\tif ($this.hasClass(\"app-disabled-button\")) {\n-\t\t\t\t\treturn false;\n-\t\t\t\t}\n-\n-\t\t\t\t$this.addClass(\"app-disabled-button\");\n-\t\t\t\t$this.closest(\"tr\").css(\"opacity\",_app_.opacity);\n-\t\t\t\tappID = $this.data(\"app_id\");\n-\t\t\t\tme.openDialog(appID, $this);\n-\t\t\t});\n-\n-\t\t\t$(document).on( \"change\", \".app-edit-wrapper .app_select_locations, .app-edit-wrapper .app_select_services,\" +\n-\t\t\t\".app-edit-wrapper .app_select_workers, .app-edit-wrapper .app-edit-time, .app-edit-wrapper .app_select_seats\", function () {\n-\t\t\t\tme.update($(this));\n-\t\t\t});\n-\n-\t\t\t$(document).on(\"app-cancelled\", function(){\n-\t\t\t\t$(\".app-list-edit\").closest(\"tr\").css(\"opacity\",\"1\");\n-\t\t\t\t$(\".app-list-edit\").removeClass(\"app-disabled-button\");\n-\t\t\t});\n-\t\t},\n-\n-\t\t\u002F**\n-\t\t * Open dialog with selected app_id\n-\t\t * @param appID integer Booking id\n-\t\t * @param btn\tobject\tClicked edit button\n-\t\t *\u002F\n-\t\topenDialog: function (appID, btn) {\n-\t\t\tvar me = this;\n-\t\t\t$.infoPanel(\"reading\");\n-\t\t\tvar w = window.innerWidth;\n-\t\t\tvar dwidth = 0;\n-\t\t\tif (w > 600) {\n-\t\t\t\tdwidth = 600;\n-\t\t\t} else {\n-\t\t\t\tdwidth= w - 30;\n-\t\t\t}\n-\n-\t\t\tme.locked = true;\n-\t\t\t$(\".app-edit-wrapper\").remove();\n-\t\t\tvar cap = btn ? btn.data(\"cap\") : \"read\";\n-\t\t\tvar edit_data = {\n-\t\t\t\taction: \"open_edit_dialog\",\n-\t\t\t\twpb_ajax: true,\n-\t\t\t\tapp_id: appID,\n-\t\t\t\tpost_id: _app_.post_id,\n-\t\t\t\tauthor_id: parseInt(_app_.author_id),\n-\t\t\t\tedit_nonce: _app_.edit_nonce,\n-\t\t\t\tcap: cap,\n-\t\t\t\tapp_lang: _app_.lang,\n-\t\t\t\toverride: btn ? btn.data(\"override\") : \"\"\n-\t\t\t};\n-\t\t\tvar editWrap = $(\"\u003Cdiv class='app-fee-wrapper'>\u003C\u002Fdiv>\");\n-\n-\t\t\t$.post(_app_.ajax_url, edit_data, function(r) {\n-\t\t\t\t$(document).trigger(\"app-edit-dialog-before-open\");\n-\t\t\t\tme.locked = false;\n-\t\t\t\tif (r.error) {\n-\t\t\t\t\talert(r.error);\n-\t\t\t\t\tif (btn) {\n-\t\t\t\t\t\tbtn.closest(\"tr\").css(\"opacity\",\"1\");\n-\t\t\t\t\t}\n-\t\t\t\t} else if (r.success) {\n-\t\t\t\t\tvar $h = $(r.success);\n-\t\t\t\t\t$h.find(\"fieldset\").css(\"margin\",\"0\").css(\"box-sizing\",\"border-box\").css(\"border\",\"none\");\n-\t\t\t\t\t$h.find(\"legend\").remove();\n-\t\t\t\t\t$h.find(\".ui-icon\").remove();\n-\t\t\t\t\tif (r.show_these) {\n-\t\t\t\t\t\t$.each(r.show_these, function(ignore, value) {\n-\t\t\t\t\t\t\t$h.find(value).show();\n-\t\t\t\t\t\t});\n-\t\t\t\t\t}\n-\n-\t\t\t\t\tme.adjust($h);\n-\t\t\t\t\teditWrap.html($h).dialog({\n-\t\t\t\t\t\tcloseOnEscape: false,\n-\t\t\t\t\t\tdialogClass: \"app-fee\",\n-\t\t\t\t\t\twidth: dwidth,\n-\t\t\t\t\t\ttitle: r.title,\n-\t\t\t\t\t\topen: function(){\n-\t\t\t\t\t\t\t$(\".ui-dialog\").find(\".ui-dialog-titlebar-close\").hide();\n-\t\t\t\t\t\t},\n-\t\t\t\t\t\tposition: {\n-\t\t\t\t\t\t\tmy: \"center top+50\",\n-\t\t\t\t\t\t\tat: \"center top\",\n-\t\t\t\t\t\t\tof: window\n-\t\t\t\t\t\t},\n-\t\t\t\t\t\tdraggable: true,\n-\t\t\t\t\t\tmodal: _app_.is.modal,\n-\t\t\t\t\t\thide: _app_.hideEffect,\n-\t\t\t\t\t\tshow: _app_.showEffect\n-\t\t\t\t\t});\n-\t\t\t\t\teditWrap.find(\".blocked-days\").data(\"blocked\",r.dates);\n-\t\t\t\t\tme.dPicker();\n-\t\t\t\t\t$.styleButtons();\n-\t\t\t\t\t$(document).trigger(\"app-edit-dialog-opened\", r);\n-\t\t\t\t} else {\n-\t\t\t\t\talert(_app_.con_error);\n-\t\t\t\t}\n-\t\t\t}, \"json\");\n-\t\t},\n-\n-\t\tadjust: function($h) {\n-\t\t\t$h = $h || $(document).find(\"div.app-edit-wrapper\");\n-\t\t\tvar w = window.innerWidth;\n-\t\t\tif ( w \u003C 650 ) {\n-\t\t\t\t$h.addClass(\"above-input\");\n-\t\t\t} else {\n-\t\t\t\t$h.removeClass(\"above-input\");\n-\t\t\t}\n-\t\t},\n-\n-\t\tdPicker: function () {\n-\t\t\tif (typeof $.fn.datepicker !== \"function\") {\n-\t\t\t\treturn false;\n-\t\t\t}\n-\t\t\tvar me = this;\n-\t\t\t$.each($(\".app-date-field-entry:not([readonly]), .app-edit-date:not([readonly])\"), function () {\n-\t\t\t\tvar $this = $(this);\n-\t\t\t\tvar datelist = [];\n-\t\t\t\t$this.datepicker({\n-\t\t\t\t\tdateFormat: \"yy-mm-dd\",\n-\t\t\t\t\tmaxDate: $this.data(\"maxdate\") ? $this.data(\"maxdate\") : null,\n-\t\t\t\t\tfirstDay:_app_.start_of_week,\n-\t\t\t\t\tbeforeShowDay: function(date){\n-\t\t\t\t\t\tif ($this.attr(\"readonly\")){\n-\t\t\t\t\t\t\treturn false;\n-\t\t\t\t\t\t}\n-\t\t\t\t\t\tif ($this.hasClass(\"app-date-field-entry\")){\n-\t\t\t\t\t\t\treturn [true];\n-\t\t\t\t\t\t}\n-\t\t\t\t\t\tdatelist = $this.parents(\".app-edit-wrapper\").find(\".blocked-days\").data(\"blocked\");\n-\t\t\t\t\t\tvar string = $.datepicker.formatDate(\"yy-mm-dd\", date);\n-\t\t\t\t\t\treturn [$.inArray(string, datelist)>-1];\n-\t\t\t\t\t},\n-\t\t\t\t\tonSelect:function(){\n-\t\t\t\t\t\tme.update();\n-\t\t\t\t\t}\n-\t\t\t\t});\n-\t\t\t});\n-\t\t},\n-\n-\t\t\u002F**\n-\t\t * Update dialog fields when a selection has been changed\n-\t\t *\u002F\n-\t\tupdate: function (elm) {\n-\t\t\tvar me = this;\n-\t\t\tvar $this = elm || $(\".datepicker\");\n-\t\t\tvar par = $this.parents(\".app-edit-wrapper\");\n-\t\t\tvar locWrap = par.find(\".app-conf-loc\");\n-\t\t\tvar servicesWrap = par.find(\".app-conf-service\");\n-\t\t\tvar workerWrap = par.find(\".app-conf-worker\");\n-\t\t\tvar startWrap = par.find(\".app-conf-start\");\n-\t\t\tvar startDdown = startWrap.find(\".app-edit-date\");\n-\t\t\tvar timeDdown = startWrap.find(\".app-edit-time\");\n-\t\t\tvar priceWrap = par.find(\".app-conf-price\");\n-\t\t\tvar data = readForm(par);\n-\t\t\tvar app_id = par.find(\".app-edit-id\").val();\n-\t\t\tdata.app_id = app_id;\n-\t\t\tdata.edit_nonce = _app_.edit_nonce;\n-\t\t\tdata.app_date = startDdown.val();\n-\t\t\tdata.app_start = timeDdown.val();\n-\t\t\tdata.action = \"update_edit\";\n-\t\t\t$.infoPanel();\n-\n-\t\t\t$.post(_app_.ajax_url, data, function (r) {\n-\t\t\t\tif (r.error) {\n-\t\t\t\t\talert(r.error);\n-\t\t\t\t} else if (r) {\n-\t\t\t\t\tlocWrap.html(r.locs);\n-\t\t\t\t\tservicesWrap.html(r.services);\n-\t\t\t\t\tworkerWrap.html(r.workers);\n-\t\t\t\t\ttimeDdown.html(r.times);\n-\t\t\t\t\tpriceWrap.html(r.price);\n-\t\t\t\t\tpar.find(\".blocked-days\").data(\"blocked\",r.dates);\n-\t\t\t\t\tme.dPicker();\n-\t\t\t\t\tvar dpicker_id = par.find(\".datepicker\").attr(\"id\");\n-\t\t\t\t\tpar.find(\"#\" + dpicker_id).datepicker(\"refresh\");\n-\n-\t\t\t\t\tif (r.pax_options) {\n-\t\t\t\t\t\tvar $el = par.find(\"select.app_select_seats\");\n-\t\t\t\t\t\t$el.empty();\n-\t\t\t\t\t\t$.each(r.pax_options, function(key, selected) {\n-\t\t\t\t\t\t\t$el.append($(\"\u003Coption>\u003C\u002Foption>\").attr(\"value\", key).text(key)\n-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t .attr(\"selected\", !!parseInt(selected) > 0));\n-\t\t\t\t\t\t});\n-\t\t\t\t\t}\n-\n-\t\t\t\t\tif (r.pax_sel) {\n-\t\t\t\t\t\tvar lopno = 0;\n-\t\t\t\t\t\tvar fields = par.find(\".app-lop-field\");\n-\t\t\t\t\t\tvar min = r.pax_pot ? Math.min(r.pax_pot, r.pax_sel) : r.pax_sel;\n-\t\t\t\t\t\t$.each(fields, function(){\n-\t\t\t\t\t\t\tlopno = $(this).data(\"lopno\");\n-\t\t\t\t\t\t\tif (lopno \u003C= min) {\n-\t\t\t\t\t\t\t\t$(this).show();\n-\t\t\t\t\t\t\t} else {\n-\t\t\t\t\t\t\t\t$(this).hide();\n-\t\t\t\t\t\t\t}\n-\t\t\t\t\t\t});\n-\t\t\t\t\t}\n-\t\t\t\t} else {\n-\t\t\t\t\talert(_app_.con_error);\n-\t\t\t\t}\n-\t\t\t}, \"json\");\n-\t\t}\n-\t};\n-\tWPB_FEE.init();\n-\t$(window).on(\"resize\", function() {\n-\t\tWPB_FEE.adjust();\n-\t});\n-\n \t\u002F**\n \t * Resize all dialogs on the page upon window size change\n \t *\u002F\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Flibs.js \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Flibs.js\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Flibs.js\t2026-01-06 00:53:38.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Flibs.js\t2026-03-10 03:48:28.000000000 +0000\n@@ -3,174 +3,6 @@\n !function(a,b,c){!function(a){\"use strict\";\"function\"==typeof define&&define.amd?define([\"jquery\"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)}(function(d){\"use strict\";function e(a,b,c,e){this.id=c,this.target=a,this.tooltip=F,this.elements={target:a},this._id=S+\"-\"+c,this.timers={img:{}},this.options=b,this.plugins={},this.cache={event:{},target:d(),disabled:E,attr:e,onTooltip:E,lastClass:\"\"},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=E}function f(a){return a===F||\"object\"!==d.type(a)}function g(a){return!(d.isFunction(a)||a&&a.attr||a.length||\"object\"===d.type(a)&&(a.jquery||a.then))}function h(a){var b,c,e,h;return f(a)?E:(f(a.metadata)&&(a.metadata={type:a.metadata}),\"content\"in a&&(b=a.content,f(b)||b.jquery||b.done?(c=g(b)?E:b,b=a.content={text:c}):c=b.text,\"ajax\"in b&&(e=b.ajax,h=e&&e.once!==E,delete b.ajax,b.text=function(a,b){var f=c||d(this).attr(b.options.content.attr)||\"Loading...\",g=d.ajax(d.extend({},e,{context:b})).then(e.success,F,e.error).then(function(a){return a&&h&&b.set(\"content.text\",a),a},function(a,c,d){b.destroyed||0===a.status||b.set(\"content.text\",c+\": \"+d)});return h?f:(b.set(\"content.text\",f),g)}),\"title\"in b&&(d.isPlainObject(b.title)&&(b.button=b.title.button,b.title=b.title.text),g(b.title||E)&&(b.title=E))),\"position\"in a&&f(a.position)&&(a.position={my:a.position,at:a.position}),\"show\"in a&&f(a.show)&&(a.show=a.show.jquery?{target:a.show}:a.show===D?{ready:D}:{event:a.show}),\"hide\"in a&&f(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),\"style\"in a&&f(a.style)&&(a.style={classes:a.style}),d.each(R,function(){this.sanitize&&this.sanitize(a)}),a)}function i(a,b){for(var c,d=0,e=a,f=b.split(\".\");e=e[f[d++]];)d\u003Cf.length&&(c=e);return[c||a,f.pop()]}function j(a,b){var c,d,e;for(c in this.checks)if(this.checks.hasOwnProperty(c))for(d in this.checks[c])this.checks[c].hasOwnProperty(d)&&(e=new RegExp(d,\"i\").exec(a))&&(b.push(e),(\"builtin\"===c||this.plugins[c])&&this.checks[c][d].apply(this.plugins[c]||this,b))}function k(a){return V.concat(\"\").join(a?\"-\"+a+\" \":\" \")}function l(a,b){return b>0?setTimeout(d.proxy(a,this),b):void a.call(this)}function m(a){this.tooltip.hasClass(aa)||(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this.timers.show=l.call(this,function(){this.toggle(D,a)},this.options.show.delay))}function n(a){if(!this.tooltip.hasClass(aa)&&!this.destroyed){var b=d(a.relatedTarget),c=b.closest(W)[0]===this.tooltip[0],e=b[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==b[0]&&\"mouse\"===this.options.position.target&&c||this.options.hide.fixed&&\u002Fmouse(out|leave|move)\u002F.test(a.type)&&(c||e))try{a.preventDefault(),a.stopImmediatePropagation()}catch(f){}else this.timers.hide=l.call(this,function(){this.toggle(E,a)},this.options.hide.delay,this)}}function o(a){!this.tooltip.hasClass(aa)&&this.options.hide.inactive&&(clearTimeout(this.timers.inactive),this.timers.inactive=l.call(this,function(){this.hide(a)},this.options.hide.inactive))}function p(a){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(a)}function q(a,c,e){d(b.body).delegate(a,(c.split?c:c.join(\".\"+S+\" \"))+\".\"+S,function(){var a=y.api[d.attr(this,U)];a&&!a.disabled&&e.apply(a,arguments)})}function r(a,c,f){var g,i,j,k,l,m=d(b.body),n=a[0]===b?m:a,o=a.metadata?a.metadata(f.metadata):F,p=\"html5\"===f.metadata.type&&o?o[f.metadata.name]:F,q=a.data(f.metadata.name||\"qtipopts\");try{q=\"string\"==typeof q?d.parseJSON(q):q}catch(r){}if(k=d.extend(D,{},y.defaults,f,\"object\"==typeof q?h(q):F,h(p||o)),i=k.position,k.id=c,\"boolean\"==typeof k.content.text){if(j=a.attr(k.content.attr),k.content.attr===E||!j)return E;k.content.text=j}if(i.container.length||(i.container=m),i.target===E&&(i.target=n),k.show.target===E&&(k.show.target=n),k.show.solo===D&&(k.show.solo=i.container.closest(\"body\")),k.hide.target===E&&(k.hide.target=n),k.position.viewport===D&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new A(i.at,D),i.my=new A(i.my),a.data(S))if(k.overwrite)a.qtip(\"destroy\",!0);else if(k.overwrite===E)return E;return a.attr(T,c),k.suppress&&(l=a.attr(\"title\"))&&a.removeAttr(\"title\").attr(ca,l).attr(\"title\",\"\"),g=new e(a,k,c,!!j),a.data(S,g),g}function s(a){return a.charAt(0).toUpperCase()+a.slice(1)}function t(a,b){var d,e,f=b.charAt(0).toUpperCase()+b.slice(1),g=(b+\" \"+va.join(f+\" \")+f).split(\" \"),h=0;if(ua[b])return a.css(ua[b]);for(;d=g[h++];)if((e=a.css(d))!==c)return ua[b]=d,e}function u(a,b){return Math.ceil(parseFloat(t(a,b)))}function v(a,b){this._ns=\"tip\",this.options=b,this.offset=b.offset,this.size=[b.width,b.height],this.qtip=a,this.init(a)}function w(a,b){this.options=b,this._ns=\"-modal\",this.qtip=a,this.init(a)}function x(a){this._ns=\"ie6\",this.qtip=a,this.init(a)}var y,z,A,B,C,D=!0,E=!1,F=null,G=\"x\",H=\"y\",I=\"width\",J=\"height\",K=\"top\",L=\"left\",M=\"bottom\",N=\"right\",O=\"center\",P=\"flipinvert\",Q=\"shift\",R={},S=\"qtip\",T=\"data-hasqtip\",U=\"data-qtip-id\",V=[\"ui-widget\",\"ui-tooltip\"],W=\".\"+S,X=\"click dblclick mousedown mouseup mousemove mouseleave mouseenter\".split(\" \"),Y=S+\"-fixed\",Z=S+\"-default\",$=S+\"-focus\",_=S+\"-hover\",aa=S+\"-disabled\",ba=\"_replacedByqTip\",ca=\"oldtitle\",da={ie:function(){var a,c;for(a=4,c=b.createElement(\"div\");(c.innerHTML=\"\u003C!--[if gt IE \"+a+\"]>\u003Ci>\u003C\u002Fi>\u003C![endif]-->\")&&c.getElementsByTagName(\"i\")[0];a+=1);return a>4?a:NaN}(),iOS:parseFloat((\"\"+(\u002FCPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile\u002Fi.exec(navigator.userAgent)||[0,\"\"])[1]).replace(\"undefined\",\"3_2\").replace(\"_\",\".\").replace(\"_\",\"\"))||E};z=e.prototype,z._when=function(a){return d.when.apply(d,a)},z.render=function(a){if(this.rendered||this.destroyed)return this;var b=this,c=this.options,e=this.cache,f=this.elements,g=c.content.text,h=c.content.title,i=c.content.button,j=c.position,k=[];return d.attr(this.target[0],\"aria-describedby\",this._id),e.posClass=this._createPosClass((this.position={my:j.my,at:j.at}).my),this.tooltip=f.tooltip=d(\"\u003Cdiv\u002F>\",{id:this._id,\"class\":[S,Z,c.style.classes,e.posClass].join(\" \"),width:c.style.width||\"\",height:c.style.height||\"\",tracking:\"mouse\"===j.target&&j.adjust.mouse,role:\"alert\",\"aria-live\":\"polite\",\"aria-atomic\":E,\"aria-describedby\":this._id+\"-content\",\"aria-hidden\":D}).toggleClass(aa,this.disabled).attr(U,this.id).data(S,this).appendTo(j.container).append(f.content=d(\"\u003Cdiv \u002F>\",{\"class\":S+\"-content\",id:this._id+\"-content\",\"aria-atomic\":D})),this.rendered=-1,this.positioning=D,h&&(this._createTitle(),d.isFunction(h)||k.push(this._updateTitle(h,E))),i&&this._createButton(),d.isFunction(g)||k.push(this._updateContent(g,E)),this.rendered=D,this._setWidget(),d.each(R,function(a){var c;\"render\"===this.initialize&&(c=this(b))&&(b.plugins[a]=c)}),this._unassignEvents(),this._assignEvents(),this._when(k).then(function(){b._trigger(\"render\"),b.positioning=E,b.hiddenDuringWait||!c.show.ready&&!a||b.toggle(D,e.event,E),b.hiddenDuringWait=E}),y.api[this.id]=this,this},z.destroy=function(a){function b(){if(!this.destroyed){this.destroyed=D;var a,b=this.target,c=b.attr(ca);this.rendered&&this.tooltip.stop(1,0).find(\"*\").remove().end().remove(),d.each(this.plugins,function(){this.destroy&&this.destroy()});for(a in this.timers)this.timers.hasOwnProperty(a)&&clearTimeout(this.timers[a]);b.removeData(S).removeAttr(U).removeAttr(T).removeAttr(\"aria-describedby\"),this.options.suppress&&c&&b.attr(\"title\",c).removeAttr(ca),this._unassignEvents(),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=F,delete y.api[this.id]}}return this.destroyed?this.target:(a===D&&\"hide\"!==this.triggering||!this.rendered?b.call(this):(this.tooltip.one(\"tooltiphidden\",d.proxy(b,this)),!this.triggering&&this.hide()),this.target)},B=z.checks={builtin:{\"^id$\":function(a,b,c,e){var f=c===D?y.nextid:c,g=S+\"-\"+f;f!==E&&f.length>0&&!d(\"#\"+g).length?(this._id=g,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+\"-content\",this.elements.title[0].id=this._id+\"-title\")):a[b]=e},\"^prerender\":function(a,b,c){c&&!this.rendered&&this.render(this.options.show.ready)},\"^content.text$\":function(a,b,c){this._updateContent(c)},\"^content.attr$\":function(a,b,c,d){this.options.content.text===this.target.attr(d)&&this._updateContent(this.target.attr(c))},\"^content.title$\":function(a,b,c){return c?(c&&!this.elements.title&&this._createTitle(),void this._updateTitle(c)):this._removeTitle()},\"^content.button$\":function(a,b,c){this._updateButton(c)},\"^content.title.(text|button)$\":function(a,b,c){this.set(\"content.\"+b,c)},\"^position.(my|at)$\":function(a,b,c){\"string\"==typeof c&&(this.position[b]=a[b]=new A(c,\"at\"===b))},\"^position.container$\":function(a,b,c){this.rendered&&this.tooltip.appendTo(c)},\"^show.ready$\":function(a,b,c){c&&(!this.rendered&&this.render(D)||this.toggle(D))},\"^style.classes$\":function(a,b,c,d){this.rendered&&this.tooltip.removeClass(d).addClass(c)},\"^style.(width|height)\":function(a,b,c){this.rendered&&this.tooltip.css(b,c)},\"^style.widget|content.title\":function(){this.rendered&&this._setWidget()},\"^style.def\":function(a,b,c){this.rendered&&this.tooltip.toggleClass(Z,!!c)},\"^events.(render|show|move|hide|focus|blur)$\":function(a,b,c){this.rendered&&this.tooltip[(d.isFunction(c)?\"\":\"un\")+\"bind\"](\"tooltip\"+b,c)},\"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)\":function(){if(this.rendered){var a=this.options.position;this.tooltip.attr(\"tracking\",\"mouse\"===a.target&&a.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},z.get=function(a){if(this.destroyed)return this;var b=i(this.options,a.toLowerCase()),c=b[0][b[1]];return c.precedance?c.string():c};var ea=\u002F^position\\.(my|at|adjust|target|container|viewport)|style|content|show\\.ready\u002Fi,fa=\u002F^prerender|show\\.ready\u002Fi;z.set=function(a,b){if(this.destroyed)return this;var c,e=this.rendered,f=E,g=this.options;return\"string\"==typeof a?(c=a,a={},a[c]=b):a=d.extend({},a),d.each(a,function(b,c){if(e&&fa.test(b))return void delete a[b];var h,j=i(g,b.toLowerCase());h=j[0][j[1]],j[0][j[1]]=c&&c.nodeType?d(c):c,f=ea.test(b)||f,a[b]=[j[0],j[1],c,h]}),h(g),this.positioning=D,d.each(a,d.proxy(j,this)),this.positioning=E,this.rendered&&this.tooltip[0].offsetWidth>0&&f&&this.reposition(\"mouse\"===g.position.target?F:this.cache.event),this},z._update=function(a,b){var c=this,e=this.cache;return this.rendered&&a?(d.isFunction(a)&&(a=a.call(this.elements.target,e.event,this)||\"\"),d.isFunction(a.then)?(e.waiting=D,a.then(function(a){return e.waiting=E,c._update(a,b)},F,function(a){return c._update(a,b)})):a===E||!a&&\"\"!==a?E:(a.jquery&&a.length>0?b.empty().append(a.css({display:\"block\",visibility:\"visible\"})):b.html(a),this._waitForContent(b).then(function(a){c.rendered&&c.tooltip[0].offsetWidth>0&&c.reposition(e.event,!a.length)}))):E},z._waitForContent=function(a){var b=this.cache;return b.waiting=D,(d.fn.imagesLoaded?a.imagesLoaded():(new d.Deferred).resolve([])).done(function(){b.waiting=E}).promise()},z._updateContent=function(a,b){this._update(a,this.elements.content,b)},z._updateTitle=function(a,b){this._update(a,this.elements.title,b)===E&&this._removeTitle(E)},z._createTitle=function(){var a=this.elements,b=this._id+\"-title\";a.titlebar&&this._removeTitle(),a.titlebar=d(\"\u003Cdiv \u002F>\",{\"class\":S+\"-titlebar \"+(this.options.style.widget?k(\"header\"):\"\")}).append(a.title=d(\"\u003Cdiv \u002F>\",{id:b,\"class\":S+\"-title\",\"aria-atomic\":D})).insertBefore(a.content).delegate(\".qtip-close\",\"mousedown keydown mouseup keyup mouseout\",function(a){d(this).toggleClass(\"ui-state-active ui-state-focus\",\"down\"===a.type.substr(-4))}).delegate(\".qtip-close\",\"mouseover mouseout\",function(a){d(this).toggleClass(\"ui-state-hover\",\"mouseover\"===a.type)}),this.options.content.button&&this._createButton()},z._removeTitle=function(a){var b=this.elements;b.title&&(b.titlebar.remove(),b.titlebar=b.title=b.button=F,a!==E&&this.reposition())},z._createPosClass=function(a){return S+\"-pos-\"+(a||this.options.position.my).abbrev()},z.reposition=function(c,e){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=D;var f,g,h,i,j=this.cache,k=this.tooltip,l=this.options.position,m=l.target,n=l.my,o=l.at,p=l.viewport,q=l.container,r=l.adjust,s=r.method.split(\" \"),t=k.outerWidth(E),u=k.outerHeight(E),v=0,w=0,x=k.css(\"position\"),y={left:0,top:0},z=k[0].offsetWidth>0,A=c&&\"scroll\"===c.type,B=d(a),C=q[0].ownerDocument,F=this.mouse;if(d.isArray(m)&&2===m.length)o={x:L,y:K},y={left:m[0],top:m[1]};else if(\"mouse\"===m)o={x:L,y:K},(!r.mouse||this.options.hide.distance)&&j.origin&&j.origin.pageX?c=j.origin:!c||c&&(\"resize\"===c.type||\"scroll\"===c.type)?c=j.event:F&&F.pageX&&(c=F),\"static\"!==x&&(y=q.offset()),C.body.offsetWidth!==(a.innerWidth||C.documentElement.clientWidth)&&(g=d(b.body).offset()),y={left:c.pageX-y.left+(g&&g.left||0),top:c.pageY-y.top+(g&&g.top||0)},r.mouse&&A&&F&&(y.left-=(F.scrollX||0)-B.scrollLeft(),y.top-=(F.scrollY||0)-B.scrollTop());else{if(\"event\"===m?c&&c.target&&\"scroll\"!==c.type&&\"resize\"!==c.type?j.target=d(c.target):c.target||(j.target=this.elements.target):\"event\"!==m&&(j.target=d(m.jquery?m:this.elements.target)),m=j.target,m=d(m).eq(0),0===m.length)return this;m[0]===b||m[0]===a?(v=da.iOS?a.innerWidth:m.width(),w=da.iOS?a.innerHeight:m.height(),m[0]===a&&(y={top:(p||m).scrollTop(),left:(p||m).scrollLeft()})):R.imagemap&&m.is(\"area\")?f=R.imagemap(this,m,o,R.viewport?s:E):R.svg&&m&&m[0].ownerSVGElement?f=R.svg(this,m,o,R.viewport?s:E):(v=m.outerWidth(E),w=m.outerHeight(E),y=m.offset()),f&&(v=f.width,w=f.height,g=f.offset,y=f.position),y=this.reposition.offset(m,y,q),(da.iOS>3.1&&da.iOS\u003C4.1||da.iOS>=4.3&&da.iOS\u003C4.33||!da.iOS&&\"fixed\"===x)&&(y.left-=B.scrollLeft(),y.top-=B.scrollTop()),(!f||f&&f.adjustable!==E)&&(y.left+=o.x===N?v:o.x===O?v\u002F2:0,y.top+=o.y===M?w:o.y===O?w\u002F2:0)}return y.left+=r.x+(n.x===N?-t:n.x===O?-t\u002F2:0),y.top+=r.y+(n.y===M?-u:n.y===O?-u\u002F2:0),R.viewport?(h=y.adjusted=R.viewport(this,y,l,v,w,t,u),g&&h.left&&(y.left+=g.left),g&&h.top&&(y.top+=g.top),h.my&&(this.position.my=h.my)):y.adjusted={left:0,top:0},j.posClass!==(i=this._createPosClass(this.position.my))&&(j.posClass=i,k.removeClass(j.posClass).addClass(i)),this._trigger(\"move\",[y,p.elem||p],c)?(delete y.adjusted,e===E||!z||isNaN(y.left)||isNaN(y.top)||\"mouse\"===m||!d.isFunction(l.effect)?k.css(y):d.isFunction(l.effect)&&(l.effect.call(k,this,d.extend({},y)),k.queue(function(a){d(this).css({opacity:\"\",height:\"\"}),da.ie&&this.style.removeAttribute(\"filter\"),a()})),this.positioning=E,this):this},z.reposition.offset=function(a,c,e){function f(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}if(!e[0])return c;var g,h,i,j,k=d(a[0].ownerDocument),l=!!da.ie&&\"CSS1Compat\"!==b.compatMode,m=e[0];do\"static\"!==(h=d.css(m,\"position\"))&&(\"fixed\"===h?(i=m.getBoundingClientRect(),f(k,-1)):(i=d(m).position(),i.left+=parseFloat(d.css(m,\"borderLeftWidth\"))||0,i.top+=parseFloat(d.css(m,\"borderTopWidth\"))||0),c.left-=i.left+(parseFloat(d.css(m,\"marginLeft\"))||0),c.top-=i.top+(parseFloat(d.css(m,\"marginTop\"))||0),g||\"hidden\"===(j=d.css(m,\"overflow\"))||\"visible\"===j||(g=d(m)));while(m=m.offsetParent);return g&&(g[0]!==k[0]||l)&&f(g,1),c};var ga=(A=z.reposition.Corner=function(a,b){a=(\"\"+a).replace(\u002F([A-Z])\u002F,\" $1\").replace(\u002Fmiddle\u002Fgi,O).toLowerCase(),this.x=(a.match(\u002Fleft|right\u002Fi)||a.match(\u002Fcenter\u002F)||[\"inherit\"])[0].toLowerCase(),this.y=(a.match(\u002Ftop|bottom|center\u002Fi)||[\"inherit\"])[0].toLowerCase(),this.forceY=!!b;var c=a.charAt(0);this.precedance=\"t\"===c||\"b\"===c?H:G}).prototype;ga.invert=function(a,b){this[a]=this[a]===L?N:this[a]===N?L:b||this[a]},ga.string=function(a){var b=this.x,c=this.y,d=b!==c?\"center\"===b||\"center\"!==c&&(this.precedance===H||this.forceY)?[c,b]:[b,c]:[b];return a!==!1?d.join(\" \"):d},ga.abbrev=function(){var a=this.string(!1);return a[0].charAt(0)+(a[1]&&a[1].charAt(0)||\"\")},ga.clone=function(){return new A(this.string(),this.forceY)},z.toggle=function(a,c){var e=this.cache,f=this.options,g=this.tooltip;if(c){if(\u002Fover|enter\u002F.test(c.type)&&e.event&&\u002Fout|leave\u002F.test(e.event.type)&&f.show.target.add(c.target).length===f.show.target.length&&g.has(c.relatedTarget).length)return this;e.event=d.event.fix(c)}if(this.waiting&&!a&&(this.hiddenDuringWait=D),!this.rendered)return a?this.render(1):this;if(this.destroyed||this.disabled)return this;var h,i,j,k=a?\"show\":\"hide\",l=this.options[k],m=this.options.position,n=this.options.content,o=this.tooltip.css(\"width\"),p=this.tooltip.is(\":visible\"),q=a||1===l.target.length,r=!c||l.target.length\u003C2||e.target[0]===c.target;return(typeof a).search(\"boolean|number\")&&(a=!p),h=!g.is(\":animated\")&&p===a&&r,i=h?F:!!this._trigger(k,[90]),this.destroyed?this:(i!==E&&a&&this.focus(c),!i||h?this:(d.attr(g[0],\"aria-hidden\",!a),a?(this.mouse&&(e.origin=d.event.fix(this.mouse)),d.isFunction(n.text)&&this._updateContent(n.text,E),d.isFunction(n.title)&&this._updateTitle(n.title,E),!C&&\"mouse\"===m.target&&m.adjust.mouse&&(d(b).bind(\"mousemove.\"+S,this._storeMouse),C=D),o||g.css(\"width\",g.outerWidth(E)),this.reposition(c,arguments[2]),o||g.css(\"width\",\"\"),l.solo&&(\"string\"==typeof l.solo?d(l.solo):d(W,l.solo)).not(g).not(l.target).qtip(\"hide\",new d.Event(\"tooltipsolo\"))):(clearTimeout(this.timers.show),delete e.origin,C&&!d(W+'[tracking=\"true\"]:visible',l.solo).not(g).length&&(d(b).unbind(\"mousemove.\"+S),C=E),this.blur(c)),j=d.proxy(function(){a?(da.ie&&g[0].style.removeAttribute(\"filter\"),g.css(\"overflow\",\"\"),\"string\"==typeof l.autofocus&&d(this.options.show.autofocus,g).focus(),this.options.show.target.trigger(\"qtip-\"+this.id+\"-inactive\")):g.css({display:\"\",visibility:\"\",opacity:\"\",left:\"\",top:\"\"}),this._trigger(a?\"visible\":\"hidden\")},this),l.effect===E||q===E?(g[k](),j()):d.isFunction(l.effect)?(g.stop(1,1),l.effect.call(g,this),g.queue(\"fx\",function(a){j(),a()})):g.fadeTo(90,a?1:0,j),a&&l.target.trigger(\"qtip-\"+this.id+\"-inactive\"),this))},z.show=function(a){return this.toggle(D,a)},z.hide=function(a){return this.toggle(E,a)},z.focus=function(a){if(!this.rendered||this.destroyed)return this;var b=d(W),c=this.tooltip,e=parseInt(c[0].style.zIndex,10),f=y.zindex+b.length;return c.hasClass($)||this._trigger(\"focus\",[f],a)&&(e!==f&&(b.each(function(){this.style.zIndex>e&&(this.style.zIndex=this.style.zIndex-1)}),b.filter(\".\"+$).qtip(\"blur\",a)),c.addClass($)[0].style.zIndex=f),this},z.blur=function(a){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass($),this._trigger(\"blur\",[this.tooltip.css(\"zIndex\")],a),this)},z.disable=function(a){return this.destroyed?this:(\"toggle\"===a?a=!(this.rendered?this.tooltip.hasClass(aa):this.disabled):\"boolean\"!=typeof a&&(a=D),this.rendered&&this.tooltip.toggleClass(aa,a).attr(\"aria-disabled\",a),this.disabled=!!a,this)},z.enable=function(){return this.disable(E)},z._createButton=function(){var a=this,b=this.elements,c=b.tooltip,e=this.options.content.button,f=\"string\"==typeof e,g=f?e:\"Close tooltip\";b.button&&b.button.remove(),e.jquery?b.button=e:b.button=d(\"\u003Ca \u002F>\",{\"class\":\"qtip-close \"+(this.options.style.widget?\"\":S+\"-icon\"),title:g,\"aria-label\":g}).prepend(d(\"\u003Cspan \u002F>\",{\"class\":\"ui-icon ui-icon-close\",html:\"&times;\"})),b.button.appendTo(b.titlebar||c).attr(\"role\",\"button\").click(function(b){return c.hasClass(aa)||a.hide(b),E})},z._updateButton=function(a){if(!this.rendered)return E;var b=this.elements.button;a?this._createButton():b.remove()},z._setWidget=function(){var a=this.options.style.widget,b=this.elements,c=b.tooltip,d=c.hasClass(aa);c.removeClass(aa),aa=a?\"ui-state-disabled\":\"qtip-disabled\",c.toggleClass(aa,d),c.toggleClass(\"ui-helper-reset \"+k(),a).toggleClass(Z,this.options.style.def&&!a),b.content&&b.content.toggleClass(k(\"content\"),a),b.titlebar&&b.titlebar.toggleClass(k(\"header\"),a),b.button&&b.button.toggleClass(S+\"-icon\",!a)},z._storeMouse=function(a){return(this.mouse=d.event.fix(a)).type=\"mousemove\",this},z._bind=function(a,b,c,e,f){if(a&&c&&b.length){var g=\".\"+this._id+(e?\"-\"+e:\"\");return d(a).bind((b.split?b:b.join(g+\" \"))+g,d.proxy(c,f||this)),this}},z._unbind=function(a,b){return a&&d(a).unbind(\".\"+this._id+(b?\"-\"+b:\"\")),this},z._trigger=function(a,b,c){var e=new d.Event(\"tooltip\"+a);return e.originalEvent=c&&d.extend({},c)||this.cache.event||F,this.triggering=a,this.tooltip.trigger(e,[this].concat(b||[])),this.triggering=E,!e.isDefaultPrevented()},z._bindEvents=function(a,b,c,e,f,g){var h=c.filter(e).add(e.filter(c)),i=[];h.length&&(d.each(b,function(b,c){var e=d.inArray(c,a);e>-1&&i.push(a.splice(e,1)[0])}),i.length&&(this._bind(h,i,function(a){var b=this.rendered?this.tooltip[0].offsetWidth>0:!1;(b?g:f).call(this,a)}),c=c.not(h),e=e.not(h))),this._bind(c,a,f),this._bind(e,b,g)},z._assignInitialEvents=function(a){function b(a){return this.disabled||this.destroyed?E:(this.cache.event=a&&d.event.fix(a),this.cache.target=a&&d(a.target),clearTimeout(this.timers.show),void(this.timers.show=l.call(this,function(){this.render(\"object\"==typeof a||c.show.ready)},c.prerender?0:c.show.delay)))}var c=this.options,e=c.show.target,f=c.hide.target,g=c.show.event?d.trim(\"\"+c.show.event).split(\" \"):[],h=c.hide.event?d.trim(\"\"+c.hide.event).split(\" \"):[];this._bind(this.elements.target,[\"remove\",\"removeqtip\"],function(){this.destroy(!0)},\"destroy\"),\u002Fmouse(over|enter)\u002Fi.test(c.show.event)&&!\u002Fmouse(out|leave)\u002Fi.test(c.hide.event)&&h.push(\"mouseleave\"),this._bind(e,\"mousemove\",function(a){this._storeMouse(a),this.cache.onTarget=D}),this._bindEvents(g,h,e,f,b,function(){return this.timers?void clearTimeout(this.timers.show):E}),(c.show.ready||c.prerender)&&b.call(this,a)},z._assignEvents=function(){var c=this,e=this.options,f=e.position,g=this.tooltip,h=e.show.target,i=e.hide.target,j=f.container,k=f.viewport,l=d(b),q=d(a),r=e.show.event?d.trim(\"\"+e.show.event).split(\" \"):[],s=e.hide.event?d.trim(\"\"+e.hide.event).split(\" \"):[];d.each(e.events,function(a,b){c._bind(g,\"toggle\"===a?[\"tooltipshow\",\"tooltiphide\"]:[\"tooltip\"+a],b,null,g)}),\u002Fmouse(out|leave)\u002Fi.test(e.hide.event)&&\"window\"===e.hide.leave&&this._bind(l,[\"mouseout\",\"blur\"],function(a){\u002Fselect|option\u002F.test(a.target.nodeName)||a.relatedTarget||this.hide(a)}),e.hide.fixed?i=i.add(g.addClass(Y)):\u002Fmouse(over|enter)\u002Fi.test(e.show.event)&&this._bind(i,\"mouseleave\",function(){clearTimeout(this.timers.show)}),(\"\"+e.hide.event).indexOf(\"unfocus\")>-1&&this._bind(j.closest(\"html\"),[\"mousedown\",\"touchstart\"],function(a){var b=d(a.target),c=this.rendered&&!this.tooltip.hasClass(aa)&&this.tooltip[0].offsetWidth>0,e=b.parents(W).filter(this.tooltip[0]).length>0;b[0]===this.target[0]||b[0]===this.tooltip[0]||e||this.target.has(b[0]).length||!c||this.hide(a)}),\"number\"==typeof e.hide.inactive&&(this._bind(h,\"qtip-\"+this.id+\"-inactive\",o,\"inactive\"),this._bind(i.add(g),y.inactiveEvents,o)),this._bindEvents(r,s,h,i,m,n),this._bind(h.add(g),\"mousemove\",function(a){if(\"number\"==typeof e.hide.distance){var b=this.cache.origin||{},c=this.options.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&this.hide(a)}this._storeMouse(a)}),\"mouse\"===f.target&&f.adjust.mouse&&(e.hide.event&&this._bind(h,[\"mouseenter\",\"mouseleave\"],function(a){return this.cache?void(this.cache.onTarget=\"mouseenter\"===a.type):E}),this._bind(l,\"mousemove\",function(a){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(aa)&&this.tooltip[0].offsetWidth>0&&this.reposition(a)})),(f.adjust.resize||k.length)&&this._bind(d.event.special.resize?k:q,\"resize\",p),f.adjust.scroll&&this._bind(q.add(f.container),\"scroll\",p)},z._unassignEvents=function(){var c=this.options,e=c.show.target,f=c.hide.target,g=d.grep([this.elements.target[0],this.rendered&&this.tooltip[0],c.position.container[0],c.position.viewport[0],c.position.container.closest(\"html\")[0],a,b],function(a){return\"object\"==typeof a});e&&e.toArray&&(g=g.concat(e.toArray())),f&&f.toArray&&(g=g.concat(f.toArray())),this._unbind(g)._unbind(g,\"destroy\")._unbind(g,\"inactive\")},d(function(){q(W,[\"mouseenter\",\"mouseleave\"],function(a){var b=\"mouseenter\"===a.type,c=d(a.currentTarget),e=d(a.relatedTarget||a.target),f=this.options;b?(this.focus(a),c.hasClass(Y)&&!c.hasClass(aa)&&clearTimeout(this.timers.hide)):\"mouse\"===f.position.target&&f.position.adjust.mouse&&f.hide.event&&f.show.target&&!e.closest(f.show.target[0]).length&&this.hide(a),c.toggleClass(_,b)}),q(\"[\"+U+\"]\",X,o)}),y=d.fn.qtip=function(a,b,e){var f=(\"\"+a).toLowerCase(),g=F,i=d.makeArray(arguments).slice(1),j=i[i.length-1],k=this[0]?d.data(this[0],S):F;return!arguments.length&&k||\"api\"===f?k:\"string\"==typeof a?(this.each(function(){var a=d.data(this,S);if(!a)return D;if(j&&j.timeStamp&&(a.cache.event=j),!b||\"option\"!==f&&\"options\"!==f)a[f]&&a[f].apply(a,i);else{if(e===c&&!d.isPlainObject(b))return g=a.get(b),E;a.set(b,e)}}),g!==F?g:this):\"object\"!=typeof a&&arguments.length?void 0:(k=h(d.extend(D,{},a)),this.each(function(a){var b,c;return c=d.isArray(k.id)?k.id[a]:k.id,c=!c||c===E||c.length\u003C1||y.api[c]?y.nextid++:c,b=r(d(this),c,k),b===E?D:(y.api[c]=b,d.each(R,function(){\"initialize\"===this.initialize&&this(b)}),void b._assignInitialEvents(j))}))},d.qtip=e,y.api={},d.each({attr:function(a,b){if(this.length){var c=this[0],e=\"title\",f=d.data(c,\"qtip\");if(a===e&&f&&f.options&&\"object\"==typeof f&&\"object\"==typeof f.options&&f.options.suppress)return arguments.length\u003C2?d.attr(c,ca):(f&&f.options.content.attr===e&&f.cache.attr&&f.set(\"content.text\",b),this.attr(ca,b))}return d.fn[\"attr\"+ba].apply(this,arguments)},clone:function(a){var b=d.fn[\"clone\"+ba].apply(this,arguments);return a||b.filter(\"[\"+ca+\"]\").attr(\"title\",function(){return d.attr(this,ca)}).removeAttr(ca),b}},function(a,b){if(!b||d.fn[a+ba])return D;var c=d.fn[a+ba]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d[\"cleanData\"+ba]=d.cleanData,d.cleanData=function(a){for(var b,c=0;(b=d(a[c])).length;c++)if(b.attr(T))try{b.triggerHandler(\"removeqtip\")}catch(e){}d[\"cleanData\"+ba].apply(this,arguments)}),y.version=\"3.0.3\",y.nextid=0,y.inactiveEvents=X,y.zindex=15e3,y.defaults={prerender:E,id:E,overwrite:D,suppress:D,content:{text:D,attr:\"title\",title:E,button:E},position:{my:\"top left\",at:\"bottom right\",target:E,container:E,viewport:E,adjust:{x:0,y:0,mouse:D,scroll:D,resize:D,method:\"flipinvert flipinvert\"},effect:function(a,b){d(this).animate(b,{duration:200,queue:E})}},show:{target:E,event:\"mouseenter\",effect:D,delay:90,solo:E,ready:E,autofocus:E},hide:{target:E,event:\"mouseleave\",effect:D,delay:0,fixed:E,inactive:E,leave:\"window\",distance:E},style:{classes:\"\",widget:E,width:E,height:E,def:D},events:{render:F,move:F,show:F,hide:F,toggle:F,visible:F,hidden:F,focus:F,blur:F}};var ha,ia,ja,ka,la,ma=\"margin\",na=\"border\",oa=\"color\",pa=\"background-color\",qa=\"transparent\",ra=\" !important\",sa=!!b.createElement(\"canvas\").getContext,ta=\u002Frgba?\\(0, 0, 0(, 0)?\\)|transparent|#123456\u002Fi,ua={},va=[\"Webkit\",\"O\",\"Moz\",\"ms\"];sa?(ka=a.devicePixelRatio||1,la=function(){var a=b.createElement(\"canvas\").getContext(\"2d\");return a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||1}(),ja=ka\u002Fla):ia=function(a,b,c){return\"\u003Cqtipvml:\"+a+' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"qtip-vml\" '+(b||\"\")+' style=\"behavior: url(#default#VML); '+(c||\"\")+'\" \u002F>'},d.extend(v.prototype,{init:function(a){var b,c;c=this.element=a.elements.tip=d(\"\u003Cdiv \u002F>\",{\"class\":S+\"-tip\"}).prependTo(a.tooltip),sa?(b=d(\"\u003Ccanvas \u002F>\").appendTo(this.element)[0].getContext(\"2d\"),b.lineJoin=\"miter\",b.miterLimit=1e5,b.save()):(b=ia(\"shape\",'coordorigin=\"0,0\"',\"position:absolute;\"),this.element.html(b+b),a._bind(d(\"*\",c).add(c),[\"click\",\"mousedown\"],function(a){a.stopPropagation()},this._ns)),a._bind(a.tooltip,\"tooltipmove\",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(a){var b=this.qtip.elements.titlebar;return b&&(a.y===K||a.y===O&&this.element.position().top+this.size[1]\u002F2+this.options.offset\u003Cb.outerHeight(D))},_parseCorner:function(a){var b=this.qtip.options.position.my;return a===E||b===E?a=E:a===D?a=new A(b.string()):a.string||(a=new A(a),a.fixed=D),a},_parseWidth:function(a,b,c){var d=this.qtip.elements,e=na+s(b)+\"Width\";return(c?u(c,e):u(d.content,e)||u(this._useTitle(a)&&d.titlebar||d.content,e)||u(d.tooltip,e))||0},_parseRadius:function(a){var b=this.qtip.elements,c=na+s(a.y)+s(a.x)+\"Radius\";return da.ie\u003C9?0:u(this._useTitle(a)&&b.titlebar||b.content,c)||u(b.tooltip,c)||0},_invalidColour:function(a,b,c){var d=a.css(b);return!d||c&&d===a.css(c)||ta.test(d)?E:d},_parseColours:function(a){var b=this.qtip.elements,c=this.element.css(\"cssText\",\"\"),e=na+s(a[a.precedance])+s(oa),f=this._useTitle(a)&&b.titlebar||b.content,g=this._invalidColour,h=[];return h[0]=g(c,pa)||g(f,pa)||g(b.content,pa)||g(b.tooltip,pa)||c.css(pa),h[1]=g(c,e,oa)||g(f,e,oa)||g(b.content,e,oa)||g(b.tooltip,e,oa)||b.tooltip.css(e),d(\"*\",c).add(c).css(\"cssText\",pa+\":\"+qa+ra+\";\"+na+\":0\"+ra+\";\"),h},_calculateSize:function(a){var b,c,d,e=a.precedance===H,f=this.options.width,g=this.options.height,h=\"c\"===a.abbrev(),i=(e?f:g)*(h?.5:1),j=Math.pow,k=Math.round,l=Math.sqrt(j(i,2)+j(g,2)),m=[this.border\u002Fi*l,this.border\u002Fg*l];return m[2]=Math.sqrt(j(m[0],2)-j(this.border,2)),m[3]=Math.sqrt(j(m[1],2)-j(this.border,2)),b=l+m[2]+m[3]+(h?0:m[0]),c=b\u002Fl,d=[k(c*f),k(c*g)],e?d:d.reverse()},_calculateTip:function(a,b,c){c=c||1,b=b||this.size;var d=b[0]*c,e=b[1]*c,f=Math.ceil(d\u002F2),g=Math.ceil(e\u002F2),h={br:[0,0,d,e,d,0],bl:[0,0,d,0,0,e],tr:[0,e,d,0,d,e],tl:[0,0,0,e,d,e],tc:[0,e,f,0,d,e],bc:[0,0,d,0,f,e],rc:[0,0,d,g,0,e],lc:[d,0,d,e,0,g]};return h.lt=h.br,h.rt=h.bl,h.lb=h.tr,h.rb=h.tl,h[a.abbrev()]},_drawCoords:function(a,b){a.beginPath(),a.moveTo(b[0],b[1]),a.lineTo(b[2],b[3]),a.lineTo(b[4],b[5]),a.closePath()},create:function(){var a=this.corner=(sa||da.ie)&&this._parseCorner(this.options.corner);return this.enabled=!!this.corner&&\"c\"!==this.corner.abbrev(),this.enabled&&(this.qtip.cache.corner=a.clone(),this.update()),this.element.toggle(this.enabled),this.corner},update:function(b,c){if(!this.enabled)return this;var e,f,g,h,i,j,k,l,m=this.qtip.elements,n=this.element,o=n.children(),p=this.options,q=this.size,r=p.mimic,s=Math.round;b||(b=this.qtip.cache.corner||this.corner),r===E?r=b:(r=new A(r),r.precedance=b.precedance,\"inherit\"===r.x?r.x=b.x:\"inherit\"===r.y?r.y=b.y:r.x===r.y&&(r[b.precedance]=b[b.precedance])),f=r.precedance,b.precedance===G?this._swapDimensions():this._resetDimensions(),e=this.color=this._parseColours(b),e[1]!==qa?(l=this.border=this._parseWidth(b,b[b.precedance]),p.border&&1>l&&!ta.test(e[1])&&(e[0]=e[1]),this.border=l=p.border!==D?p.border:l):this.border=l=0,k=this.size=this._calculateSize(b),n.css({width:k[0],height:k[1],lineHeight:k[1]+\"px\"}),j=b.precedance===H?[s(r.x===L?l:r.x===N?k[0]-q[0]-l:(k[0]-q[0])\u002F2),s(r.y===K?k[1]-q[1]:0)]:[s(r.x===L?k[0]-q[0]:0),s(r.y===K?l:r.y===M?k[1]-q[1]-l:(k[1]-q[1])\u002F2)],sa?(g=o[0].getContext(\"2d\"),g.restore(),g.save(),g.clearRect(0,0,6e3,6e3),h=this._calculateTip(r,q,ja),i=this._calculateTip(r,this.size,ja),o.attr(I,k[0]*ja).attr(J,k[1]*ja),o.css(I,k[0]).css(J,k[1]),this._drawCoords(g,i),g.fillStyle=e[1],g.fill(),g.translate(j[0]*ja,j[1]*ja),this._drawCoords(g,h),g.fillStyle=e[0],g.fill()):(h=this._calculateTip(r),h=\"m\"+h[0]+\",\"+h[1]+\" l\"+h[2]+\",\"+h[3]+\" \"+h[4]+\",\"+h[5]+\" xe\",j[2]=l&&\u002F^(r|b)\u002Fi.test(b.string())?8===da.ie?2:1:0,o.css({coordsize:k[0]+l+\" \"+k[1]+l,antialias:\"\"+(r.string().indexOf(O)>-1),left:j[0]-j[2]*Number(f===G),top:j[1]-j[2]*Number(f===H),width:k[0]+l,height:k[1]+l}).each(function(a){var b=d(this);b[b.prop?\"prop\":\"attr\"]({coordsize:k[0]+l+\" \"+k[1]+l,path:h,fillcolor:e[0],filled:!!a,stroked:!a}).toggle(!(!l&&!a)),!a&&b.html(ia(\"stroke\",'weight=\"'+2*l+'px\" color=\"'+e[1]+'\" miterlimit=\"1000\" joinstyle=\"miter\"'))})),a.opera&&setTimeout(function(){m.tip.css({display:\"inline-block\",visibility:\"visible\"})},1),c!==E&&this.calculate(b,k)},calculate:function(a,b){if(!this.enabled)return E;var c,e,f=this,g=this.qtip.elements,h=this.element,i=this.options.offset,j={};\r\n return a=a||this.corner,c=a.precedance,b=b||this._calculateSize(a),e=[a.x,a.y],c===G&&e.reverse(),d.each(e,function(d,e){var h,k,l;e===O?(h=c===H?L:K,j[h]=\"50%\",j[ma+\"-\"+h]=-Math.round(b[c===H?0:1]\u002F2)+i):(h=f._parseWidth(a,e,g.tooltip),k=f._parseWidth(a,e,g.content),l=f._parseRadius(a),j[e]=Math.max(-f.border,d?k:i+(l>h?l:-h)))}),j[a[c]]-=b[c===G?0:1],h.css({margin:\"\",top:\"\",bottom:\"\",left:\"\",right:\"\"}).css(j),j},reposition:function(a,b,d){function e(a,b,c,d,e){a===Q&&j.precedance===b&&k[d]&&j[c]!==O?j.precedance=j.precedance===G?H:G:a!==Q&&k[d]&&(j[b]=j[b]===O?k[d]>0?d:e:j[b]===d?e:d)}function f(a,b,e){j[a]===O?p[ma+\"-\"+b]=o[a]=g[ma+\"-\"+b]-k[b]:(h=g[e]!==c?[k[b],-g[b]]:[-k[b],g[b]],(o[a]=Math.max(h[0],h[1]))>h[0]&&(d[b]-=k[b],o[b]=E),p[g[e]!==c?e:b]=o[a])}if(this.enabled){var g,h,i=b.cache,j=this.corner.clone(),k=d.adjusted,l=b.options.position.adjust.method.split(\" \"),m=l[0],n=l[1]||l[0],o={left:E,top:E,x:0,y:0},p={};this.corner.fixed!==D&&(e(m,G,H,L,N),e(n,H,G,K,M),j.string()===i.corner.string()&&i.cornerTop===k.top&&i.cornerLeft===k.left||this.update(j,E)),g=this.calculate(j),g.right!==c&&(g.left=-g.right),g.bottom!==c&&(g.top=-g.bottom),g.user=this.offset,o.left=m===Q&&!!k.left,o.left&&f(G,L,N),o.top=n===Q&&!!k.top,o.top&&f(H,K,M),this.element.css(p).toggle(!(o.x&&o.y||j.x===O&&o.y||j.y===O&&o.x)),d.left-=g.left.charAt?g.user:m!==Q||o.top||!o.left&&!o.top?g.left+this.border:0,d.top-=g.top.charAt?g.user:n!==Q||o.left||!o.left&&!o.top?g.top+this.border:0,i.cornerLeft=k.left,i.cornerTop=k.top,i.corner=j.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find(\"*\").remove().end().remove()}}),ha=R.tip=function(a){return new v(a,a.options.style.tip)},ha.initialize=\"render\",ha.sanitize=function(a){if(a.style&&\"tip\"in a.style){var b=a.style.tip;\"object\"!=typeof b&&(b=a.style.tip={corner:b}),\u002Fstring|boolean\u002Fi.test(typeof b.corner)||(b.corner=D)}},B.tip={\"^position.my|style.tip.(corner|mimic|border)$\":function(){this.create(),this.qtip.reposition()},\"^style.tip.(height|width)$\":function(a){this.size=[a.width,a.height],this.update(),this.qtip.reposition()},\"^content.title|style.(classes|widget)$\":function(){this.update()}},d.extend(D,y.defaults,{style:{tip:{corner:D,mimic:E,width:6,height:6,border:D,offset:0}}});var wa,xa,ya=\"qtip-modal\",za=\".\"+ya;xa=function(){function a(a){if(d.expr[\":\"].focusable)return d.expr[\":\"].focusable;var b,c,e,f=!isNaN(d.attr(a,\"tabindex\")),g=a.nodeName&&a.nodeName.toLowerCase();return\"area\"===g?(b=a.parentNode,c=b.name,a.href&&c&&\"map\"===b.nodeName.toLowerCase()?(e=d(\"img[usemap=#\"+c+\"]\")[0],!!e&&e.is(\":visible\")):!1):\u002Finput|select|textarea|button|object\u002F.test(g)?!a.disabled:\"a\"===g?a.href||f:f}function c(a){j.length\u003C1&&a.length?a.not(\"body\").blur():j.first().focus()}function e(a){if(h.is(\":visible\")){var b,e=d(a.target),g=f.tooltip,i=e.closest(W);b=i.length\u003C1?E:parseInt(i[0].style.zIndex,10)>parseInt(g[0].style.zIndex,10),b||e.closest(W)[0]===g[0]||c(e)}}var f,g,h,i=this,j={};d.extend(i,{init:function(){return h=i.elem=d(\"\u003Cdiv \u002F>\",{id:\"qtip-overlay\",html:\"\u003Cdiv>\u003C\u002Fdiv>\",mousedown:function(){return E}}).hide(),d(b.body).bind(\"focusin\"+za,e),d(b).bind(\"keydown\"+za,function(a){f&&f.options.show.modal.escape&&27===a.keyCode&&f.hide(a)}),h.bind(\"click\"+za,function(a){f&&f.options.show.modal.blur&&f.hide(a)}),i},update:function(b){f=b,j=b.options.show.modal.stealfocus!==E?b.tooltip.find(\"*\").filter(function(){return a(this)}):[]},toggle:function(a,e,j){var k=a.tooltip,l=a.options.show.modal,m=l.effect,n=e?\"show\":\"hide\",o=h.is(\":visible\"),p=d(za).filter(\":visible:not(:animated)\").not(k);return i.update(a),e&&l.stealfocus!==E&&c(d(\":focus\")),h.toggleClass(\"blurs\",l.blur),e&&h.appendTo(b.body),h.is(\":animated\")&&o===e&&g!==E||!e&&p.length?i:(h.stop(D,E),d.isFunction(m)?m.call(h,e):m===E?h[n]():h.fadeTo(parseInt(j,10)||90,e?1:0,function(){e||h.hide()}),e||h.queue(function(a){h.css({left:\"\",top:\"\"}),d(za).length||h.detach(),a()}),g=e,f.destroyed&&(f=F),i)}}),i.init()},xa=new xa,d.extend(w.prototype,{init:function(a){var b=a.tooltip;return this.options.on?(a.elements.overlay=xa.elem,b.addClass(ya).css(\"z-index\",y.modal_zindex+d(za).length),a._bind(b,[\"tooltipshow\",\"tooltiphide\"],function(a,c,e){var f=a.originalEvent;if(a.target===b[0])if(f&&\"tooltiphide\"===a.type&&\u002Fmouse(leave|enter)\u002F.test(f.type)&&d(f.relatedTarget).closest(xa.elem[0]).length)try{a.preventDefault()}catch(g){}else(!f||f&&\"tooltipsolo\"!==f.type)&&this.toggle(a,\"tooltipshow\"===a.type,e)},this._ns,this),a._bind(b,\"tooltipfocus\",function(a,c){if(!a.isDefaultPrevented()&&a.target===b[0]){var e=d(za),f=y.modal_zindex+e.length,g=parseInt(b[0].style.zIndex,10);xa.elem[0].style.zIndex=f-1,e.each(function(){this.style.zIndex>g&&(this.style.zIndex-=1)}),e.filter(\".\"+$).qtip(\"blur\",a.originalEvent),b.addClass($)[0].style.zIndex=f,xa.update(c);try{a.preventDefault()}catch(h){}}},this._ns,this),void a._bind(b,\"tooltiphide\",function(a){a.target===b[0]&&d(za).filter(\":visible\").not(b).last().qtip(\"focus\",a)},this._ns,this)):this},toggle:function(a,b,c){return a&&a.isDefaultPrevented()?this:void xa.toggle(this.qtip,!!b,c)},destroy:function(){this.qtip.tooltip.removeClass(ya),this.qtip._unbind(this.qtip.tooltip,this._ns),xa.toggle(this.qtip,E),delete this.qtip.elements.overlay}}),wa=R.modal=function(a){return new w(a,a.options.show.modal)},wa.sanitize=function(a){a.show&&(\"object\"!=typeof a.show.modal?a.show.modal={on:!!a.show.modal}:\"undefined\"==typeof a.show.modal.on&&(a.show.modal.on=D))},y.modal_zindex=y.zindex-200,wa.initialize=\"render\",B.modal={\"^show.modal.(on|blur)$\":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},d.extend(D,y.defaults,{show:{modal:{on:E,effect:D,blur:D,stealfocus:D,escape:D}}}),R.viewport=function(c,d,e,f,g,h,i){function j(a,b,c,e,f,g,h,i,j){var k=d[f],s=u[a],t=v[a],w=c===Q,x=s===f?j:s===g?-j:-j\u002F2,y=t===f?i:t===g?-i:-i\u002F2,z=q[f]+r[f]-(n?0:m[f]),A=z-k,B=k+j-(h===I?o:p)-z,C=x-(u.precedance===a||s===u[b]?y:0)-(t===O?i\u002F2:0);return w?(C=(s===f?1:-1)*x,d[f]+=A>0?A:B>0?-B:0,d[f]=Math.max(-m[f]+r[f],k-C,Math.min(Math.max(-m[f]+r[f]+(h===I?o:p),k+C),d[f],\"center\"===s?k-x:1e9))):(e*=c===P?2:0,A>0&&(s!==f||B>0)?(d[f]-=C+e,l.invert(a,f)):B>0&&(s!==g||A>0)&&(d[f]-=(s===O?-C:C)+e,l.invert(a,g)),d[f]\u003Cq[f]&&-d[f]>B&&(d[f]=k,l=u.clone())),d[f]-k}var k,l,m,n,o,p,q,r,s=e.target,t=c.elements.tooltip,u=e.my,v=e.at,w=e.adjust,x=w.method.split(\" \"),y=x[0],z=x[1]||x[0],A=e.viewport,B=e.container,C={left:0,top:0};return A.jquery&&s[0]!==a&&s[0]!==b.body&&\"none\"!==w.method?(m=B.offset()||C,n=\"static\"===B.css(\"position\"),k=\"fixed\"===t.css(\"position\"),o=A[0]===a?A.width():A.outerWidth(E),p=A[0]===a?A.height():A.outerHeight(E),q={left:k?0:A.scrollLeft(),top:k?0:A.scrollTop()},r = A[0] !== window && A.offset()||C,\"shift\"===y&&\"shift\"===z||(l=u.clone()),C={left:\"none\"!==y?j(G,H,y,w.x,L,N,I,f,h):0,top:\"none\"!==z?j(H,G,z,w.y,K,M,J,g,i):0,my:l}):C},R.polys={polygon:function(a,b){var c,d,e,f={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:E},g=0,h=[],i=1,j=1,k=0,l=0;for(g=a.length;g--;)c=[parseInt(a[--g],10),parseInt(a[g+1],10)],c[0]>f.position.right&&(f.position.right=c[0]),c[0]\u003Cf.position.left&&(f.position.left=c[0]),c[1]>f.position.bottom&&(f.position.bottom=c[1]),c[1]\u003Cf.position.top&&(f.position.top=c[1]),h.push(c);if(d=f.width=Math.abs(f.position.right-f.position.left),e=f.height=Math.abs(f.position.bottom-f.position.top),\"c\"===b.abbrev())f.position={left:f.position.left+f.width\u002F2,top:f.position.top+f.height\u002F2};else{for(;d>0&&e>0&&i>0&&j>0;)for(d=Math.floor(d\u002F2),e=Math.floor(e\u002F2),b.x===L?i=d:b.x===N?i=f.width-d:i+=Math.floor(d\u002F2),b.y===K?j=e:b.y===M?j=f.height-e:j+=Math.floor(e\u002F2),g=h.length;g--&&!(h.length\u003C2);)k=h[g][0]-f.position.left,l=h[g][1]-f.position.top,(b.x===L&&k>=i||b.x===N&&i>=k||b.x===O&&(i>k||k>f.width-i)||b.y===K&&l>=j||b.y===M&&j>=l||b.y===O&&(j>l||l>f.height-j))&&h.splice(g,1);f.position={left:h[0][0],top:h[0][1]}}return f},rect:function(a,b,c,d){return{width:Math.abs(c-a),height:Math.abs(d-b),position:{left:Math.min(a,c),top:Math.min(b,d)}}},_angles:{tc:1.5,tr:7\u002F4,tl:5\u002F4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(a,b,c,d,e){var f=R.polys._angles[e.abbrev()],g=0===f?0:c*Math.cos(f*Math.PI),h=d*Math.sin(f*Math.PI);return{width:2*c-Math.abs(g),height:2*d-Math.abs(h),position:{left:a+g,top:b+h},adjustable:E}},circle:function(a,b,c,d){return R.polys.ellipse(a,b,c,c,d)}},R.svg=function(a,c,e){for(var f,g,h,i,j,k,l,m,n,o=c[0],p=d(o.ownerSVGElement),q=o.ownerDocument,r=(parseInt(c.css(\"stroke-width\"),10)||0)\u002F2;!o.getBBox;)o=o.parentNode;if(!o.getBBox||!o.parentNode)return E;switch(o.nodeName){case\"ellipse\":case\"circle\":m=R.polys.ellipse(o.cx.baseVal.value,o.cy.baseVal.value,(o.rx||o.r).baseVal.value+r,(o.ry||o.r).baseVal.value+r,e);break;case\"line\":case\"polygon\":case\"polyline\":for(l=o.points||[{x:o.x1.baseVal.value,y:o.y1.baseVal.value},{x:o.x2.baseVal.value,y:o.y2.baseVal.value}],m=[],k=-1,i=l.numberOfItems||l.length;++k\u003Ci;)j=l.getItem?l.getItem(k):l[k],m.push.apply(m,[j.x,j.y]);m=R.polys.polygon(m,e);break;default:m=o.getBBox(),m={width:m.width,height:m.height,position:{left:m.x,top:m.y}}}return n=m.position,p=p[0],p.createSVGPoint&&(g=o.getScreenCTM(),l=p.createSVGPoint(),l.x=n.left,l.y=n.top,h=l.matrixTransform(g),n.left=h.x,n.top=h.y),q!==b&&\"mouse\"!==a.position.target&&(f=d((q.defaultView||q.parentWindow).frameElement).offset(),f&&(n.left+=f.left,n.top+=f.top)),q=d(q),n.left+=q.scrollLeft(),n.top+=q.scrollTop(),m},R.imagemap=function(a,b,c){b.jquery||(b=d(b));var e,f,g,h,i,j=(b.attr(\"shape\")||\"rect\").toLowerCase().replace(\"poly\",\"polygon\"),k=d('img[usemap=\"#'+b.parent(\"map\").attr(\"name\")+'\"]'),l=d.trim(b.attr(\"coords\")),m=l.replace(\u002F,$\u002F,\"\").split(\",\");if(!k.length)return E;if(\"polygon\"===j)h=R.polys.polygon(m,c);else{if(!R.polys[j])return E;for(g=-1,i=m.length,f=[];++g\u003Ci;)f.push(parseInt(m[g],10));h=R.polys[j].apply(this,f.concat(c))}return e=k.offset(),e.left+=Math.ceil((k.outerWidth(E)-k.width())\u002F2),e.top+=Math.ceil((k.outerHeight(E)-k.height())\u002F2),h.position.left+=e.left,h.position.top+=e.top,h};var Aa,Ba='\u003Ciframe class=\"qtip-bgiframe\" frameborder=\"0\" tabindex=\"-1\" src=\"javascript:\\'\\';\"  style=\"display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); -ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\">\u003C\u002Fiframe>';d.extend(x.prototype,{_scroll:function(){var b=this.qtip.elements.overlay;b&&(b[0].style.top=d(a).scrollTop()+\"px\")},init:function(c){var e=c.tooltip;d(\"select, object\").length\u003C1&&(this.bgiframe=c.elements.bgiframe=d(Ba).appendTo(e),c._bind(e,\"tooltipmove\",this.adjustBGIFrame,this._ns,this)),this.redrawContainer=d(\"\u003Cdiv\u002F>\",{id:S+\"-rcontainer\"}).appendTo(b.body),c.elements.overlay&&c.elements.overlay.addClass(\"qtipmodal-ie6fix\")&&(c._bind(a,[\"scroll\",\"resize\"],this._scroll,this._ns,this),c._bind(e,[\"tooltipshow\"],this._scroll,this._ns,this)),this.redraw()},adjustBGIFrame:function(){var a,b,c=this.qtip.tooltip,d={height:c.outerHeight(E),width:c.outerWidth(E)},e=this.qtip.plugins.tip,f=this.qtip.elements.tip;b=parseInt(c.css(\"borderLeftWidth\"),10)||0,b={left:-b,top:-b},e&&f&&(a=\"x\"===e.corner.precedance?[I,L]:[J,K],b[a[1]]-=f[a[0]]()),this.bgiframe.css(b).css(d)},redraw:function(){if(this.qtip.rendered\u003C1||this.drawing)return this;var a,b,c,d,e=this.qtip.tooltip,f=this.qtip.options.style,g=this.qtip.options.position.container;return this.qtip.drawing=1,f.height&&e.css(J,f.height),f.width?e.css(I,f.width):(e.css(I,\"\").appendTo(this.redrawContainer),b=e.width(),1>b%2&&(b+=1),c=e.css(\"maxWidth\")||\"\",d=e.css(\"minWidth\")||\"\",a=(c+d).indexOf(\"%\")>-1?g.width()\u002F100:0,c=(c.indexOf(\"%\")>-1?a:1*parseInt(c,10))||b,d=(d.indexOf(\"%\")>-1?a:1*parseInt(d,10))||0,b=c+d?Math.min(Math.max(b,d),c):b,e.css(I,Math.round(b)).appendTo(g)),this.drawing=0,this},destroy:function(){this.bgiframe&&this.bgiframe.remove(),this.qtip._unbind([a,this.qtip.tooltip],this._ns)}}),Aa=R.ie6=function(a){return 6===da.ie?new x(a):E},Aa.initialize=\"render\",B.ie6={\"^content|style$\":function(){this.redraw()}}})}(window,document);\r\n \r\n-\u002F*!\r\n- DataTables 1.10.13\r\n- ©2008-2016 SpryMedia Ltd - datatables.net\u002Flicense\r\n-*\u002F\r\n-(function(h){\"function\"===typeof define&&define.amd?define([\"jquery\"],function(E){return h(E,window,document)}):\"object\"===typeof exports?module.exports=function(E,H){E||(E=window);H||(H=\"undefined\"!==typeof window?require(\"jquery\"):require(\"jquery\")(E));return h(H,E,E.document)}:h(jQuery,window,document)})(function(h,E,H,k){function Y(a){var b,c,d={};h.each(a,function(e){if((b=e.match(\u002F^([^A-Z]+?)([A-Z])\u002F))&&-1!==\"a aa ai ao as b fn i m o s \".indexOf(b[1]+\" \"))c=e.replace(b[0],b[2].toLowerCase()),\r\n-d[c]=e,\"o\"===b[1]&&Y(a[e])});a._hungarianMap=d}function J(a,b,c){a._hungarianMap||Y(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==k&&(c||b[d]===k))\"o\"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),J(a[d],b[d],c)):b[d]=b[e]})}function Fa(a){var b=m.defaults.oLanguage,c=a.sZeroRecords;!a.sEmptyTable&&(c&&\"No data available in table\"===b.sEmptyTable)&&F(a,a,\"sZeroRecords\",\"sEmptyTable\");!a.sLoadingRecords&&(c&&\"Loading...\"===b.sLoadingRecords)&&F(a,a,\"sZeroRecords\",\"sLoadingRecords\");\r\n-a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&fb(a)}function gb(a){A(a,\"ordering\",\"bSort\");A(a,\"orderMulti\",\"bSortMulti\");A(a,\"orderClasses\",\"bSortClasses\");A(a,\"orderCellsTop\",\"bSortCellsTop\");A(a,\"order\",\"aaSorting\");A(a,\"orderFixed\",\"aaSortingFixed\");A(a,\"paging\",\"bPaginate\");A(a,\"pagingType\",\"sPaginationType\");A(a,\"pageLength\",\"iDisplayLength\");A(a,\"searching\",\"bFilter\");\"boolean\"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?\"100%\":\"\");\"boolean\"===typeof a.scrollX&&(a.scrollX=\r\n-a.scrollX?\"100%\":\"\");if(a=a.aoSearchCols)for(var b=0,c=a.length;b\u003Cc;b++)a[b]&&J(m.models.oSearch,a[b])}function hb(a){A(a,\"orderable\",\"bSortable\");A(a,\"orderData\",\"aDataSort\");A(a,\"orderSequence\",\"asSorting\");A(a,\"orderDataType\",\"sortDataType\");var b=a.aDataSort;b&&!h.isArray(b)&&(a.aDataSort=[b])}function ib(a){if(!m.__browser){var b={};m.__browser=b;var c=h(\"\u003Cdiv\u002F>\").css({position:\"fixed\",top:0,left:-1*h(E).scrollLeft(),height:1,width:1,overflow:\"hidden\"}).append(h(\"\u003Cdiv\u002F>\").css({position:\"absolute\",\r\n-top:1,left:1,width:100,overflow:\"scroll\"}).append(h(\"\u003Cdiv\u002F>\").css({width:\"100%\",height:10}))).appendTo(\"body\"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}h.extend(a.oBrowser,m.__browser);a.oScroll.iBarWidth=m.__browser.barWidth}function jb(a,b,c,d,e,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;d!==\r\n-e;)a.hasOwnProperty(d)&&(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ga(a,b){var c=m.defaults.column,d=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:H.createElement(\"th\"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:\"\",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},m.models.oSearch,c[d]);la(a,d,h(b).data())}function la(a,b,c){var b=a.aoColumns[b],d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=\r\n-e.attr(\"width\")||null;var f=(e.attr(\"style\")||\"\").match(\u002Fwidth:\\s*(\\d+[pxem%]+)\u002F);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(hb(c),J(m.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),h.extend(b,c),F(b,c,\"sWidth\",\"sWidthOrig\"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),F(b,c,\"aDataSort\"));var g=b.mData,j=R(g),i=b.mRender?R(b.mRender):null,c=function(a){return\"string\"===typeof a&&-1!==a.indexOf(\"@\")};\r\n-b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(a,b,c){var d=j(a,b,k,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return S(g)(a,b,c)};\"number\"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray(\"asc\",b.asSorting);c=-1!==h.inArray(\"desc\",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI=\"\"):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=\r\n-d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function Z(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Ha(a);for(var c=0,d=b.length;c\u003Cd;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(\"\"!==b.sY||\"\"!==b.sX)&&ma(a);s(a,null,\"column-sizing\",[a])}function $(a,b){var c=na(a,\"bVisible\");return\"number\"===typeof c[b]?c[b]:null}function aa(a,b){var c=na(a,\"bVisible\"),c=h.inArray(b,\r\n-c);return-1!==c?c:null}function ba(a){var b=0;h.each(a.aoColumns,function(a,d){d.bVisible&&\"none\"!==h(d.nTh).css(\"display\")&&b++});return b}function na(a,b){var c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ia(a){var b=a.aoColumns,c=a.aoData,d=m.ext.type.detect,e,f,g,j,i,h,l,q,r;e=0;for(f=b.length;e\u003Cf;e++)if(l=b[e],r=[],!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){g=0;for(j=d.length;g\u003Cj;g++){i=0;for(h=c.length;i\u003Ch;i++){r[i]===k&&(r[i]=B(a,i,e,\"type\"));\r\n-q=d[g](r[i],a);if(!q&&g!==d.length-1)break;if(\"html\"===q)break}if(q){l.sType=q;break}}l.sType||(l.sType=\"string\")}}function kb(a,b,c,d){var e,f,g,j,i,n,l=a.aoColumns;if(b)for(e=b.length-1;0\u003C=e;e--){n=b[e];var q=n.targets!==k?n.targets:n.aTargets;h.isArray(q)||(q=[q]);f=0;for(g=q.length;f\u003Cg;f++)if(\"number\"===typeof q[f]&&0\u003C=q[f]){for(;l.length\u003C=q[f];)Ga(a);d(q[f],n)}else if(\"number\"===typeof q[f]&&0>q[f])d(l.length+q[f],n);else if(\"string\"===typeof q[f]){j=0;for(i=l.length;j\u003Ci;j++)(\"_all\"==q[f]||h(l[j].nTh).hasClass(q[f]))&&\r\n-d(j,n)}}if(c){e=0;for(a=c.length;e\u003Ca;e++)d(e,c[e])}}function N(a,b,c,d){var e=a.aoData.length,f=h.extend(!0,{},m.models.oRow,{src:c?\"dom\":\"data\",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,j=0,i=g.length;j\u003Ci;j++)g[j].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==k&&(a.aIds[b]=f);(c||!a.oFeatures.bDeferRender)&&Ja(a,e,c,d);return e}function oa(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,e){c=Ka(a,e);return N(a,c.data,e,c.cells)})}function B(a,b,c,d){var e=a.iDraw,\r\n-f=a.aoColumns[c],g=a.aoData[b]._aData,j=f.sDefaultContent,i=f.fnGetData(g,d,{settings:a,row:b,col:c});if(i===k)return a.iDrawError!=e&&null===j&&(K(a,0,\"Requested unknown parameter \"+(\"function\"==typeof f.mData?\"{function}\":\"'\"+f.mData+\"'\")+\" for row \"+b+\", column \"+c,4),a.iDrawError=e),j;if((i===g||null===i)&&null!==j&&d!==k)i=j;else if(\"function\"===typeof i)return i.call(g);return null===i&&\"display\"==d?\"\":i}function lb(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}\r\n-function La(a){return h.map(a.match(\u002F(\\\\.|[^\\.])+\u002Fg)||[\"\"],function(a){return a.replace(\u002F\\\\\\.\u002Fg,\".\")})}function R(a){if(h.isPlainObject(a)){var b={};h.each(a,function(a,c){c&&(b[a]=R(c))});return function(a,c,f,g){var j=b[c]||b._;return j!==k?j(a,c,f,g):a}}if(null===a)return function(a){return a};if(\"function\"===typeof a)return function(b,c,f,g){return a(b,c,f,g)};if(\"string\"===typeof a&&(-1!==a.indexOf(\".\")||-1!==a.indexOf(\"[\")||-1!==a.indexOf(\"(\"))){var c=function(a,b,f){var g,j;if(\"\"!==f){j=La(f);\r\n-for(var i=0,n=j.length;i\u003Cn;i++){f=j[i].match(ca);g=j[i].match(V);if(f){j[i]=j[i].replace(ca,\"\");\"\"!==j[i]&&(a=a[j[i]]);g=[];j.splice(0,i+1);j=j.join(\".\");if(h.isArray(a)){i=0;for(n=a.length;i\u003Cn;i++)g.push(c(a[i],b,j))}a=f[0].substring(1,f[0].length-1);a=\"\"===a?g:g.join(a);break}else if(g){j[i]=j[i].replace(V,\"\");a=a[j[i]]();continue}if(null===a||a[j[i]]===k)return k;a=a[j[i]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}function S(a){if(h.isPlainObject(a))return S(a._);\r\n-if(null===a)return function(){};if(\"function\"===typeof a)return function(b,d,e){a(b,\"set\",d,e)};if(\"string\"===typeof a&&(-1!==a.indexOf(\".\")||-1!==a.indexOf(\"[\")||-1!==a.indexOf(\"(\"))){var b=function(a,d,e){var e=La(e),f;f=e[e.length-1];for(var g,j,i=0,n=e.length-1;i\u003Cn;i++){g=e[i].match(ca);j=e[i].match(V);if(g){e[i]=e[i].replace(ca,\"\");a[e[i]]=[];f=e.slice();f.splice(0,i+1);g=f.join(\".\");if(h.isArray(d)){j=0;for(n=d.length;j\u003Cn;j++)f={},b(f,d[j],g),a[e[i]].push(f)}else a[e[i]]=d;return}j&&(e[i]=e[i].replace(V,\r\n-\"\"),a=a[e[i]](d));if(null===a[e[i]]||a[e[i]]===k)a[e[i]]={};a=a[e[i]]}if(f.match(V))a[f.replace(V,\"\")](d);else a[f.replace(ca,\"\")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ma(a){return D(a.aoData,\"_aData\")}function pa(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function qa(a,b,c){for(var d=-1,e=0,f=a.length;e\u003Cf;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,1)}function da(a,b,c,d){var e=a.aoData[b],f,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);\r\n-c.innerHTML=B(a,b,d,\"display\")};if(\"dom\"===c||(!c||\"auto\"===c)&&\"dom\"===e.src)e._aData=Ka(a,e,d,d===k?k:e._aData).data;else{var j=e.anCells;if(j)if(d!==k)g(j[d],d);else{c=0;for(f=j.length;c\u003Cf;c++)g(j[c],c)}}e._aSortData=null;e._aFilterData=null;g=a.aoColumns;if(d!==k)g[d].sType=null;else{c=0;for(f=g.length;c\u003Cf;c++)g[c].sType=null;Na(a,e)}}function Ka(a,b,c,d){var e=[],f=b.firstChild,g,j,i=0,n,l=a.aoColumns,q=a._rowReadObject,d=d!==k?d:q?{}:[],r=function(a,b){if(\"string\"===typeof a){var c=a.indexOf(\"@\");\r\n--1!==c&&(c=a.substring(c+1),S(a)(d,b.getAttribute(c)))}},m=function(a){if(c===k||c===i)j=l[i],n=h.trim(a.innerHTML),j&&j._bAttrSrc?(S(j.mData._)(d,n),r(j.mData.sort,a),r(j.mData.type,a),r(j.mData.filter,a)):q?(j._setter||(j._setter=S(j.mData)),j._setter(d,n)):d[i]=n;i++};if(f)for(;f;){g=f.nodeName.toUpperCase();if(\"TD\"==g||\"TH\"==g)m(f),e.push(f);f=f.nextSibling}else{e=b.anCells;f=0;for(g=e.length;f\u003Cg;f++)m(e[f])}if(b=b.firstChild?b:b.nTr)(b=b.getAttribute(\"id\"))&&S(a.rowId)(d,b);return{data:d,cells:e}}\r\n-function Ja(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],j,i,n,l,q;if(null===e.nTr){j=c||H.createElement(\"tr\");e.nTr=j;e.anCells=g;j._DT_RowIndex=b;Na(a,e);l=0;for(q=a.aoColumns.length;l\u003Cq;l++){n=a.aoColumns[l];i=c?d[l]:H.createElement(n.sCellType);i._DT_CellIndex={row:b,column:l};g.push(i);if((!c||n.mRender||n.mData!==l)&&(!h.isPlainObject(n.mData)||n.mData._!==l+\".display\"))i.innerHTML=B(a,b,l,\"display\");n.sClass&&(i.className+=\" \"+n.sClass);n.bVisible&&!c?j.appendChild(i):!n.bVisible&&c&&i.parentNode.removeChild(i);\r\n-n.fnCreatedCell&&n.fnCreatedCell.call(a.oInstance,i,B(a,b,l),f,b,l)}s(a,\"aoRowCreatedCallback\",null,[j,f,b])}e.nTr.setAttribute(\"role\",\"row\")}function Na(a,b){var c=b.nTr,d=b._aData;if(c){var e=a.rowIdFn(d);e&&(c.id=e);d.DT_RowClass&&(e=d.DT_RowClass.split(\" \"),b.__rowc=b.__rowc?sa(b.__rowc.concat(e)):e,h(c).removeClass(b.__rowc.join(\" \")).addClass(d.DT_RowClass));d.DT_RowAttr&&h(c).attr(d.DT_RowAttr);d.DT_RowData&&h(c).data(d.DT_RowData)}}function mb(a){var b,c,d,e,f,g=a.nTHead,j=a.nTFoot,i=0===\r\n-h(\"th, td\",g).length,n=a.oClasses,l=a.aoColumns;i&&(e=h(\"\u003Ctr\u002F>\").appendTo(g));b=0;for(c=l.length;b\u003Cc;b++)f=l[b],d=h(f.nTh).addClass(f.sClass),i&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr(\"tabindex\",a.iTabIndex).attr(\"aria-controls\",a.sTableId),Oa(a,f.nTh,b))),f.sTitle!=d[0].innerHTML&&d.html(f.sTitle),Pa(a,\"header\")(a,d,f,n);i&&ea(a.aoHeader,g);h(g).find(\">tr\").attr(\"role\",\"row\");h(g).find(\">tr>th, >tr>td\").addClass(n.sHeaderTH);h(j).find(\">tr>th, >tr>td\").addClass(n.sFooterTH);\r\n-if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b\u003Cc;b++)f=l[b],f.nTf=a[b].cell,f.sClass&&h(f.nTf).addClass(f.sClass)}}function fa(a,b,c){var d,e,f,g=[],j=[],i=a.aoColumns.length,n;if(b){c===k&&(c=!1);d=0;for(e=b.length;d\u003Ce;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=i-1;0\u003C=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);j.push([])}d=0;for(e=g.length;d\u003Ce;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f\u003Cb;f++)if(n=i=1,j[d][f]===k){a.appendChild(g[d][f].cell);\r\n-for(j[d][f]=1;g[d+i]!==k&&g[d][f].cell==g[d+i][f].cell;)j[d+i][f]=1,i++;for(;g[d][f+n]!==k&&g[d][f].cell==g[d][f+n].cell;){for(c=0;c\u003Ci;c++)j[d+c][f+n]=1;n++}h(g[d][f].cell).attr(\"rowspan\",i).attr(\"colspan\",n)}}}}function O(a){var b=s(a,\"aoPreDrawCallback\",\"preDraw\",[a]);if(-1!==h.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,g=a.iInitDisplayStart,j=\"ssp\"==y(a),i=a.aiDisplay;a.bDrawing=!0;g!==k&&-1!==g&&(a._iDisplayStart=j?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=\r\n--1);var g=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!nb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:n;for(j=j?0:g;j\u003Cf;j++){var l=i[j],q=a.aoData[l];null===q.nTr&&Ja(a,l);l=q.nTr;if(0!==e){var r=d[c%e];q._sRowStripe!=r&&(h(l).removeClass(q._sRowStripe).addClass(r),q._sRowStripe=r)}s(a,\"aoRowCallback\",null,[l,q._aData,c,j]);b.push(l);c++}}else c=f.sZeroRecords,1==a.iDraw&&\"ajax\"==y(a)?c=f.sLoadingRecords:\r\n-f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h(\"\u003Ctr\u002F>\",{\"class\":e?d[0]:\"\"}).append(h(\"\u003Ctd \u002F>\",{valign:\"top\",colSpan:ba(a),\"class\":a.oClasses.sRowEmpty}).html(c))[0];s(a,\"aoHeaderCallback\",\"header\",[h(a.nTHead).children(\"tr\")[0],Ma(a),g,n,i]);s(a,\"aoFooterCallback\",\"footer\",[h(a.nTFoot).children(\"tr\")[0],Ma(a),g,n,i]);d=h(a.nTBody);d.children().detach();d.append(h(b));s(a,\"aoDrawCallback\",\"draw\",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function T(a,b){var c=a.oFeatures,d=c.bFilter;\r\n-c.bSort&&ob(a);d?ga(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;O(a);a._drawHold=!1}function pb(a){var b=a.oClasses,c=h(a.nTable),c=h(\"\u003Cdiv\u002F>\").insertBefore(c),d=a.oFeatures,e=h(\"\u003Cdiv\u002F>\",{id:a.sTableId+\"_wrapper\",\"class\":b.sWrapper+(a.nTFoot?\"\":\" \"+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(\"\"),g,j,i,n,l,q,k=0;k\u003Cf.length;k++){g=null;j=f[k];if(\"\u003C\"==j){i=h(\"\u003Cdiv\u002F>\")[0];\r\n-n=f[k+1];if(\"'\"==n||'\"'==n){l=\"\";for(q=2;f[k+q]!=n;)l+=f[k+q],q++;\"H\"==l?l=b.sJUIHeader:\"F\"==l&&(l=b.sJUIFooter);-1!=l.indexOf(\".\")?(n=l.split(\".\"),i.id=n[0].substr(1,n[0].length-1),i.className=n[1]):\"#\"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;k+=q}e.append(i);e=h(i)}else if(\">\"==j)e=e.parent();else if(\"l\"==j&&d.bPaginate&&d.bLengthChange)g=qb(a);else if(\"f\"==j&&d.bFilter)g=rb(a);else if(\"r\"==j&&d.bProcessing)g=sb(a);else if(\"t\"==j)g=tb(a);else if(\"i\"==j&&d.bInfo)g=ub(a);else if(\"p\"==\r\n-j&&d.bPaginate)g=vb(a);else if(0!==m.ext.feature.length){i=m.ext.feature;q=0;for(n=i.length;q\u003Cn;q++)if(j==i[q].cFeature){g=i[q].fnInit(a);break}}g&&(i=a.aanFeatures,i[j]||(i[j]=[]),i[j].push(g),e.append(g))}c.replaceWith(e);a.nHolding=null}function ea(a,b){var c=h(b).children(\"tr\"),d,e,f,g,j,i,n,l,q,k;a.splice(0,a.length);f=0;for(i=c.length;f\u003Ci;f++)a.push([]);f=0;for(i=c.length;f\u003Ci;f++){d=c[f];for(e=d.firstChild;e;){if(\"TD\"==e.nodeName.toUpperCase()||\"TH\"==e.nodeName.toUpperCase()){l=1*e.getAttribute(\"colspan\");\r\n-q=1*e.getAttribute(\"rowspan\");l=!l||0===l||1===l?1:l;q=!q||0===q||1===q?1:q;g=0;for(j=a[f];j[g];)g++;n=g;k=1===l?!0:!1;for(j=0;j\u003Cl;j++)for(g=0;g\u003Cq;g++)a[f+g][n+j]={cell:e,unique:k},a[f+g].nTr=d}e=e.nextSibling}}}function ta(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],ea(c,b)));for(var b=0,e=c.length;b\u003Ce;b++)for(var f=0,g=c[b].length;f\u003Cg;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function ua(a,b,c){s(a,\"aoServerParams\",\"serverParams\",[b]);if(b&&h.isArray(b)){var d={},\r\n-e=\u002F(.*?)\\[\\]$\u002F;h.each(b,function(a,b){var c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,g=a.ajax,j=a.oInstance,i=function(b){s(a,null,\"xhr\",[a,b,a.jqXHR]);c(b)};if(h.isPlainObject(g)&&g.data){f=g.data;var n=h.isFunction(f)?f(b,a):f,b=h.isFunction(f)&&n?n:h.extend(!0,b,n);delete g.data}n={data:b,success:function(b){var c=b.error||b.sError;c&&K(a,0,c);a.json=b;i(b)},dataType:\"json\",cache:!1,type:a.sServerMethod,error:function(b,c){var d=s(a,null,\"xhr\",\r\n-[a,null,a.jqXHR]);-1===h.inArray(!0,d)&&(\"parsererror\"==c?K(a,0,\"Invalid JSON response\",1):4===b.readyState&&K(a,0,\"Ajax error\",7));C(a,!1)}};a.oAjaxData=b;s(a,null,\"preXhr\",[a,b]);a.fnServerData?a.fnServerData.call(j,a.sAjaxSource,h.map(b,function(a,b){return{name:b,value:a}}),i,a):a.sAjaxSource||\"string\"===typeof g?a.jqXHR=h.ajax(h.extend(n,{url:g||a.sAjaxSource})):h.isFunction(g)?a.jqXHR=g.call(j,b,i,a):(a.jqXHR=h.ajax(h.extend(n,g)),g.data=f)}function nb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,\r\n-!0),ua(a,wb(a),function(b){xb(a,b)}),!1):!0}function wb(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,j=[],i,n,l,k=W(a);g=a._iDisplayStart;i=!1!==d.bPaginate?a._iDisplayLength:-1;var r=function(a,b){j.push({name:a,value:b})};r(\"sEcho\",a.iDraw);r(\"iColumns\",c);r(\"sColumns\",D(b,\"sName\").join(\",\"));r(\"iDisplayStart\",g);r(\"iDisplayLength\",i);var ra={draw:a.iDraw,columns:[],order:[],start:g,length:i,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g\u003Cc;g++)n=b[g],\r\n-l=f[g],i=\"function\"==typeof n.mData?\"function\":n.mData,ra.columns.push({data:i,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:l.sSearch,regex:l.bRegex}}),r(\"mDataProp_\"+g,i),d.bFilter&&(r(\"sSearch_\"+g,l.sSearch),r(\"bRegex_\"+g,l.bRegex),r(\"bSearchable_\"+g,n.bSearchable)),d.bSort&&r(\"bSortable_\"+g,n.bSortable);d.bFilter&&(r(\"sSearch\",e.sSearch),r(\"bRegex\",e.bRegex));d.bSort&&(h.each(k,function(a,b){ra.order.push({column:b.col,dir:b.dir});r(\"iSortCol_\"+a,b.col);r(\"sSortDir_\"+\r\n-a,b.dir)}),r(\"iSortingCols\",k.length));b=m.ext.legacy.ajax;return null===b?a.sAjaxSource?j:ra:b?j:ra}function xb(a,b){var c=va(a,b),d=b.sEcho!==k?b.sEcho:b.draw,e=b.iTotalRecords!==k?b.iTotalRecords:b.recordsTotal,f=b.iTotalDisplayRecords!==k?b.iTotalDisplayRecords:b.recordsFiltered;if(d){if(1*d\u003Ca.iDraw)return;a.iDraw=1*d}pa(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(f,10);d=0;for(e=c.length;d\u003Ce;d++)N(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;O(a);a._bInitComplete||\r\n-wa(a,b);a.bAjaxDataGet=!0;C(a,!1)}function va(a,b){var c=h.isPlainObject(a.ajax)&&a.ajax.dataSrc!==k?a.ajax.dataSrc:a.sAjaxDataProp;return\"data\"===c?b.aaData||b[c]:\"\"!==c?R(c)(b):b}function rb(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='\u003Cinput type=\"search\" class=\"'+b.sFilterInput+'\"\u002F>',j=d.sSearch,j=j.match(\u002F_INPUT_\u002F)?j.replace(\"_INPUT_\",g):j+g,b=h(\"\u003Cdiv\u002F>\",{id:!f.f?c+\"_filter\":null,\"class\":b.sFilter}).append(h(\"\u003Clabel\u002F>\").append(j)),f=function(){var b=!this.value?\r\n-\"\":this.value;b!=e.sSearch&&(ga(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,O(a))},g=null!==a.searchDelay?a.searchDelay:\"ssp\"===y(a)?400:0,i=h(\"input\",b).val(e.sSearch).attr(\"placeholder\",d.sSearchPlaceholder).on(\"keyup.DT search.DT input.DT paste.DT cut.DT\",g?Qa(f,g):f).on(\"keypress.DT\",function(a){if(13==a.keyCode)return!1}).attr(\"aria-controls\",c);h(a.nTable).on(\"search.dt.DT\",function(b,c){if(a===c)try{i[0]!==H.activeElement&&i.val(e.sSearch)}catch(d){}});\r\n-return b[0]}function ga(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ia(a);if(\"ssp\"!=y(a)){yb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b\u003Ce.length;b++)zb(a,e[b].sSearch,b,e[b].bEscapeRegex!==k?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);Ab(a)}else f(b);a.bFiltered=!0;s(a,null,\"search\",[a])}function Ab(a){for(var b=\r\n-m.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f\u003Cg;f++){for(var j=[],i=0,n=c.length;i\u003Cn;i++)e=c[i],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,i)&&j.push(e);c.length=0;h.merge(c,j)}}function zb(a,b,c,d,e,f){if(\"\"!==b){for(var g=[],j=a.aiDisplay,d=Ra(b,d,e,f),e=0;e\u003Cj.length;e++)b=a.aoData[j[e]]._aFilterData[c],d.test(b)&&g.push(j[e]);a.aiDisplay=g}}function yb(a,b,c,d,e,f){var d=Ra(b,d,e,f),f=a.oPreviousSearch.sSearch,g=a.aiDisplayMaster,j,e=[];0!==m.ext.search.length&&(c=!0);j=Bb(a);if(0>=b.length)a.aiDisplay=\r\n-g.slice();else{if(j||c||f.length>b.length||0!==b.indexOf(f)||a.bSorted)a.aiDisplay=g.slice();b=a.aiDisplay;for(c=0;c\u003Cb.length;c++)d.test(a.aoData[b[c]]._sFilterRow)&&e.push(b[c]);a.aiDisplay=e}}function Ra(a,b,c,d){a=b?a:Sa(a);c&&(a=\"^(?=.*?\"+h.map(a.match(\u002F\"[^\"]+\"|[^ ]+\u002Fg)||[\"\"],function(a){if('\"'===a.charAt(0))var b=a.match(\u002F^\"(.*)\"$\u002F),a=b?b[1]:a;return a.replace('\"',\"\")}).join(\")(?=.*?\")+\").*$\");return RegExp(a,d?\"i\":\"\")}function Bb(a){var b=a.aoColumns,c,d,e,f,g,j,i,h,l=m.ext.type.search;c=!1;\r\n-d=0;for(f=a.aoData.length;d\u003Cf;d++)if(h=a.aoData[d],!h._aFilterData){j=[];e=0;for(g=b.length;e\u003Cg;e++)c=b[e],c.bSearchable?(i=B(a,d,e,\"filter\"),l[c.sType]&&(i=l[c.sType](i)),null===i&&(i=\"\"),\"string\"!==typeof i&&i.toString&&(i=i.toString())):i=\"\",i.indexOf&&-1!==i.indexOf(\"&\")&&(xa.innerHTML=i,i=$b?xa.textContent:xa.innerText),i.replace&&(i=i.replace(\u002F[\\r\\n]\u002Fg,\"\")),j.push(i);h._aFilterData=j;h._sFilterRow=j.join(\"  \");c=!0}return c}function Cb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,\r\n-caseInsensitive:a.bCaseInsensitive}}function Db(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function ub(a){var b=a.sTableId,c=a.aanFeatures.i,d=h(\"\u003Cdiv\u002F>\",{\"class\":a.oClasses.sInfo,id:!c?b+\"_info\":null});c||(a.aoDrawCallback.push({fn:Eb,sName:\"information\"}),d.attr(\"role\",\"status\").attr(\"aria-live\",\"polite\"),h(a.nTable).attr(\"aria-describedby\",b+\"_info\"));return d[0]}function Eb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+\r\n-1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&(j+=\" \"+c.sInfoFiltered);j+=c.sInfoPostFix;j=Fb(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Fb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(\u002F_START_\u002Fg,c.call(a,d)).replace(\u002F_END_\u002Fg,c.call(a,a.fnDisplayEnd())).replace(\u002F_MAX_\u002Fg,c.call(a,a.fnRecordsTotal())).replace(\u002F_TOTAL_\u002Fg,c.call(a,\r\n-f)).replace(\u002F_PAGE_\u002Fg,c.call(a,g?1:Math.ceil(d\u002Fe))).replace(\u002F_PAGES_\u002Fg,c.call(a,g?1:Math.ceil(f\u002Fe)))}function ha(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;var g=a.bDeferLoading;if(a.bInitialised){pb(a);mb(a);fa(a,a.aoHeader);fa(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Ha(a);b=0;for(c=e.length;b\u003Cc;b++)f=e[b],f.sWidth&&(f.nTh.style.width=v(f.sWidth));s(a,null,\"preInit\",[a]);T(a);e=y(a);if(\"ssp\"!=e||g)\"ajax\"==e?ua(a,[],function(c){var f=va(a,c);for(b=0;b\u003Cf.length;b++)N(a,f[b]);a.iInitDisplayStart=\r\n-d;T(a);C(a,!1);wa(a,c)},a):(C(a,!1),wa(a))}else setTimeout(function(){ha(a)},200)}function wa(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&Z(a);s(a,null,\"plugin-init\",[a,b]);s(a,\"aoInitComplete\",\"init\",[a,b])}function Ta(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Ua(a);s(a,null,\"length\",[a,c])}function qb(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=e?d[0]:d,d=e?d[1]:d,e=h(\"\u003Cselect\u002F>\",{name:c+\"_length\",\"aria-controls\":c,\"class\":b.sLengthSelect}),g=0,j=f.length;g\u003Cj;g++)e[0][g]=\r\n-new Option(d[g],f[g]);var i=h(\"\u003Cdiv>\u003Clabel\u002F>\u003C\u002Fdiv>\").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+\"_length\");i.children().append(a.oLanguage.sLengthMenu.replace(\"_MENU_\",e[0].outerHTML));h(\"select\",i).val(a._iDisplayLength).on(\"change.DT\",function(){Ta(a,h(this).val());O(a)});h(a.nTable).on(\"length.dt.DT\",function(b,c,d){a===c&&h(\"select\",i).val(d)});return i[0]}function vb(a){var b=a.sPaginationType,c=m.ext.pager[b],d=\"function\"===typeof c,e=function(a){O(a)},b=h(\"\u003Cdiv\u002F>\").addClass(a.oClasses.sPaging+\r\n-b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+\"_paginate\",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b\u002Fi),i=l?1:Math.ceil(h\u002Fi),h=c(b,i),k,l=0;for(k=f.p.length;l\u003Ck;l++)Pa(a,\"pageButton\")(a,f.p[l],l,h,b,i)}else c.fnUpdate(a,e)},sName:\"pagination\"}));return b}function Va(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:\"number\"===typeof b?(d=b*e,d>f&&\r\n-(d=0)):\"first\"==b?d=0:\"previous\"==b?(d=0\u003C=e?d-e:0,0>d&&(d=0)):\"next\"==b?d+e\u003Cf&&(d+=e):\"last\"==b?d=Math.floor((f-1)\u002Fe)*e:K(a,0,\"Unknown paging action: \"+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(s(a,null,\"page\",[a]),c&&O(a));return b}function sb(a){return h(\"\u003Cdiv\u002F>\",{id:!a.aanFeatures.r?a.sTableId+\"_processing\":null,\"class\":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css(\"display\",b?\"block\":\"none\");\r\n-s(a,null,\"processing\",[a,b])}function tb(a){var b=h(a.nTable);b.attr(\"role\",\"grid\");var c=a.oScroll;if(\"\"===c.sX&&\"\"===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children(\"caption\"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),n=h(b[0].cloneNode(!1)),l=b.children(\"tfoot\");l.length||(l=null);i=h(\"\u003Cdiv\u002F>\",{\"class\":f.sScrollWrapper}).append(h(\"\u003Cdiv\u002F>\",{\"class\":f.sScrollHead}).css({overflow:\"hidden\",position:\"relative\",border:0,width:d?!d?null:v(d):\"100%\"}).append(h(\"\u003Cdiv\u002F>\",\r\n-{\"class\":f.sScrollHeadInner}).css({\"box-sizing\":\"content-box\",width:c.sXInner||\"100%\"}).append(i.removeAttr(\"id\").css(\"margin-left\",0).append(\"top\"===j?g:null).append(b.children(\"thead\"))))).append(h(\"\u003Cdiv\u002F>\",{\"class\":f.sScrollBody}).css({position:\"relative\",overflow:\"auto\",width:!d?null:v(d)}).append(b));l&&i.append(h(\"\u003Cdiv\u002F>\",{\"class\":f.sScrollFoot}).css({overflow:\"hidden\",border:0,width:d?!d?null:v(d):\"100%\"}).append(h(\"\u003Cdiv\u002F>\",{\"class\":f.sScrollFootInner}).append(n.removeAttr(\"id\").css(\"margin-left\",\r\n-0).append(\"bottom\"===j?g:null).append(b.children(\"tfoot\")))));var b=i.children(),k=b[0],f=b[1],r=l?b[2]:null;if(d)h(f).on(\"scroll.DT\",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(r.scrollLeft=a)});h(f).css(e&&c.bCollapse?\"max-height\":\"height\",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=r;a.aoDrawCallback.push({fn:ma,sName:\"scrolling\"});return i[0]}function ma(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,f=h(a.nScrollHead),g=f[0].style,j=f.children(\"div\"),i=j[0].style,n=j.children(\"table\"),\r\n-j=a.nScrollBody,l=h(j),q=j.style,r=h(a.nScrollFoot).children(\"div\"),m=r.children(\"table\"),p=h(a.nTHead),o=h(a.nTable),u=o[0],s=u.style,t=a.nTFoot?h(a.nTFoot):null,x=a.oBrowser,U=x.bScrollOversize,ac=D(a.aoColumns,\"nTh\"),P,L,Q,w,Wa=[],y=[],z=[],A=[],B,C=function(a){a=a.style;a.paddingTop=\"0\";a.paddingBottom=\"0\";a.borderTopWidth=\"0\";a.borderBottomWidth=\"0\";a.height=0};L=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==L&&a.scrollBarVis!==k)a.scrollBarVis=L,Z(a);else{a.scrollBarVis=L;o.children(\"thead, tfoot\").remove();\r\n-t&&(Q=t.clone().prependTo(o),P=t.find(\"tr\"),Q=Q.find(\"tr\"));w=p.clone().prependTo(o);p=p.find(\"tr\");L=w.find(\"tr\");w.find(\"th, td\").removeAttr(\"tabindex\");c||(q.width=\"100%\",f[0].style.width=\"100%\");h.each(ta(a,w),function(b,c){B=$(a,b);c.style.width=a.aoColumns[B].sWidth});t&&I(function(a){a.style.width=\"\"},Q);f=o.outerWidth();if(\"\"===c){s.width=\"100%\";if(U&&(o.find(\"tbody\").height()>j.offsetHeight||\"scroll\"==l.css(\"overflow-y\")))s.width=v(o.outerWidth()-b);f=o.outerWidth()}else\"\"!==d&&(s.width=\r\n-v(d),f=o.outerWidth());I(C,L);I(function(a){z.push(a.innerHTML);Wa.push(v(h(a).css(\"width\")))},L);I(function(a,b){if(h.inArray(a,ac)!==-1)a.style.width=Wa[b]},p);h(L).height(0);t&&(I(C,Q),I(function(a){A.push(a.innerHTML);y.push(v(h(a).css(\"width\")))},Q),I(function(a,b){a.style.width=y[b]},P),h(Q).height(0));I(function(a,b){a.innerHTML='\u003Cdiv class=\"dataTables_sizing\" style=\"height:0;overflow:hidden;\">'+z[b]+\"\u003C\u002Fdiv>\";a.style.width=Wa[b]},L);t&&I(function(a,b){a.innerHTML='\u003Cdiv class=\"dataTables_sizing\" style=\"height:0;overflow:hidden;\">'+\r\n-A[b]+\"\u003C\u002Fdiv>\";a.style.width=y[b]},Q);if(o.outerWidth()\u003Cf){P=j.scrollHeight>j.offsetHeight||\"scroll\"==l.css(\"overflow-y\")?f+b:f;if(U&&(j.scrollHeight>j.offsetHeight||\"scroll\"==l.css(\"overflow-y\")))s.width=v(P-b);(\"\"===c||\"\"!==d)&&K(a,1,\"Possible column misalignment\",6)}else P=\"100%\";q.width=v(P);g.width=v(P);t&&(a.nScrollFoot.style.width=v(P));!e&&U&&(q.height=v(u.offsetHeight+b));c=o.outerWidth();n[0].style.width=v(c);i.width=v(c);d=o.height()>j.clientHeight||\"scroll\"==l.css(\"overflow-y\");e=\"padding\"+\r\n-(x.bScrollbarLeft?\"Left\":\"Right\");i[e]=d?b+\"px\":\"0px\";t&&(m[0].style.width=v(c),r[0].style.width=v(c),r[0].style[e]=d?b+\"px\":\"0px\");o.children(\"colgroup\").insertBefore(o.children(\"thead\"));l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}}function I(a,b,c){for(var d=0,e=0,f=b.length,g,j;e\u003Cf;){g=b[e].firstChild;for(j=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,j,d):a(g,d),d++),g=g.nextSibling,j=c?j.nextSibling:null;e++}}function Ha(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,\r\n-e=d.sY,f=d.sX,g=d.sXInner,j=c.length,i=na(a,\"bVisible\"),n=h(\"th\",a.nTHead),l=b.getAttribute(\"width\"),k=b.parentNode,r=!1,m,p,o=a.oBrowser,d=o.bScrollOversize;(m=b.style.width)&&-1!==m.indexOf(\"%\")&&(l=m);for(m=0;m\u003Ci.length;m++)p=c[i[m]],null!==p.sWidth&&(p.sWidth=Gb(p.sWidthOrig,k),r=!0);if(d||!r&&!f&&!e&&j==ba(a)&&j==n.length)for(m=0;m\u003Cj;m++)i=$(a,m),null!==i&&(c[i].sWidth=v(n.eq(m).width()));else{j=h(b).clone().css(\"visibility\",\"hidden\").removeAttr(\"id\");j.find(\"tbody tr\").remove();var u=h(\"\u003Ctr\u002F>\").appendTo(j.find(\"tbody\"));\r\n-j.find(\"thead, tfoot\").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find(\"tfoot th, tfoot td\").css(\"width\",\"\");n=ta(a,j.find(\"thead\")[0]);for(m=0;m\u003Ci.length;m++)p=c[i[m]],n[m].style.width=null!==p.sWidthOrig&&\"\"!==p.sWidthOrig?v(p.sWidthOrig):\"\",p.sWidthOrig&&f&&h(n[m]).append(h(\"\u003Cdiv\u002F>\").css({width:p.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(m=0;m\u003Ci.length;m++)r=i[m],p=c[r],h(Hb(a,r)).clone(!1).append(p.sContentPadding).appendTo(u);h(\"[name]\",\r\n-j).removeAttr(\"name\");p=h(\"\u003Cdiv\u002F>\").css(f||e?{position:\"absolute\",top:0,left:0,height:1,right:0,overflow:\"hidden\"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css(\"width\",\"auto\"),j.removeAttr(\"width\"),j.width()\u003Ck.clientWidth&&l&&j.width(k.clientWidth)):e?j.width(k.clientWidth):l&&j.width(l);for(m=e=0;m\u003Ci.length;m++)k=h(n[m]),g=k.outerWidth()-k.width(),k=o.bBounding?Math.ceil(n[m].getBoundingClientRect().width):k.outerWidth(),e+=k,c[i[m]].sWidth=v(k-g);b.style.width=v(e);p.remove()}l&&(b.style.width=\r\n-v(l));if((l||f)&&!a._reszEvt)b=function(){h(E).on(\"resize.DT-\"+a.sInstance,Qa(function(){Z(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0}function Gb(a,b){if(!a)return 0;var c=h(\"\u003Cdiv\u002F>\").css(\"width\",v(a)).appendTo(b||H.body),d=c[0].offsetWidth;c.remove();return d}function Hb(a,b){var c=Ib(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h(\"\u003Ctd\u002F>\").html(B(a,c,b,\"display\"))[0]:d.anCells[b]}function Ib(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f\u003Cg;f++)c=B(a,f,b,\"display\")+\"\",c=c.replace(bc,\r\n-\"\"),c=c.replace(\u002F&nbsp;\u002Fg,\" \"),c.length>d&&(d=c.length,e=f);return e}function v(a){return null===a?\"0px\":\"number\"==typeof a?0>a?\"0px\":a+\"px\":a.match(\u002F\\d$\u002F)?a+\"px\":a}function W(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var n=[];f=function(a){a.length&&!h.isArray(a[0])?n.push(a):h.merge(n,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a\u003Cn.length;a++){i=n[a][0];f=e[i].aDataSort;b=0;for(c=f.length;b\u003Cc;b++)g=f[b],j=e[g].sType||\r\n-\"string\",n[a]._idx===k&&(n[a]._idx=h.inArray(n[a][1],e[g].asSorting)),d.push({src:i,col:g,dir:n[a][1],index:n[a]._idx,type:j,formatter:m.ext.type.order[j+\"-pre\"]})}return d}function ob(a){var b,c,d=[],e=m.ext.type.order,f=a.aoData,g=0,j,i=a.aiDisplayMaster,h;Ia(a);h=W(a);b=0;for(c=h.length;b\u003Cc;b++)j=h[b],j.formatter&&g++,Jb(a,j.col);if(\"ssp\"!=y(a)&&0!==h.length){b=0;for(c=i.length;b\u003Cc;b++)d[i[b]]=b;g===h.length?i.sort(function(a,b){var c,e,g,j,i=h.length,k=f[a]._aSortData,m=f[b]._aSortData;for(g=\r\n-0;g\u003Ci;g++)if(j=h[g],c=k[j.col],e=m[j.col],c=c\u003Ce?-1:c>e?1:0,0!==c)return\"asc\"===j.dir?c:-c;c=d[a];e=d[b];return c\u003Ce?-1:c>e?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,m=f[a]._aSortData,p=f[b]._aSortData;for(j=0;j\u003Ck;j++)if(i=h[j],c=m[i.col],g=p[i.col],i=e[i.type+\"-\"+i.dir]||e[\"string-\"+i.dir],c=i(c,g),0!==c)return c;c=d[a];g=d[b];return c\u003Cg?-1:c>g?1:0})}a.bSorted=!0}function Kb(a){for(var b,c,d=a.aoColumns,e=W(a),a=a.oLanguage.oAria,f=0,g=d.length;f\u003Cg;f++){c=d[f];var j=c.asSorting;b=c.sTitle.replace(\u002F\u003C.*?>\u002Fg,\r\n-\"\");var i=c.nTh;i.removeAttribute(\"aria-sort\");c.bSortable&&(0\u003Ce.length&&e[0].col==f?(i.setAttribute(\"aria-sort\",\"asc\"==e[0].dir?\"ascending\":\"descending\"),c=j[e[0].index+1]||j[0]):c=j[0],b+=\"asc\"===c?a.sSortAscending:a.sSortDescending);i.setAttribute(\"aria-label\",b)}}function Xa(a,b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,g=function(a,b){var c=a._idx;c===k&&(c=h.inArray(a[1],f));return c+1\u003Cf.length?c+1:b?null:0};\"number\"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,\r\n-D(e,\"0\")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);T(a);\"function\"==typeof d&&d(a)}function Oa(a,b,c,d){var e=a.aoColumns[c];Ya(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Xa(a,c,b.shiftKey,d);\"ssp\"!==y(a)&&C(a,!1)},0)):Xa(a,c,b.shiftKey,d))})}\r\n-function ya(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=W(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e\u003Cf;e++)g=b[e].src,h(D(a.aoData,\"anCells\",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e\u003Cf;e++)g=d[e].src,h(D(a.aoData,\"anCells\",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function Jb(a,b){var c=a.aoColumns[b],d=m.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,aa(a,b)));for(var f,g=m.ext.type.order[c.sType+\"-pre\"],j=0,i=a.aoData.length;j\u003Ci;j++)if(c=a.aoData[j],\r\n-c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[j]:B(a,j,b,\"sort\"),c._aSortData[b]=g?g(f):f}function za(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:Cb(a.oPreviousSearch),columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:Cb(a.aoPreSearchCols[d])}})};s(a,\"aoStateSaveParams\",\"stateSaveParams\",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,\r\n-b)}}function Lb(a,b,c){var d,e,f=a.aoColumns,b=function(b){if(b&&b.time){var i=s(a,\"aoStateLoadParams\",\"stateLoadParams\",[a,g]);if(-1===h.inArray(!1,i)&&(i=a.iStateDuration,!(0\u003Ci&&b.time\u003C+new Date-1E3*i)&&!(b.columns&&f.length!==b.columns.length))){a.oLoadedState=h.extend(!0,{},g);b.start!==k&&(a._iDisplayStart=b.start,a.iInitDisplayStart=b.start);b.length!==k&&(a._iDisplayLength=b.length);b.order!==k&&(a.aaSorting=[],h.each(b.order,function(b,c){a.aaSorting.push(c[0]>=f.length?[0,c[1]]:c)}));b.search!==\r\n-k&&h.extend(a.oPreviousSearch,Db(b.search));if(b.columns){d=0;for(e=b.columns.length;d\u003Ce;d++)i=b.columns[d],i.visible!==k&&(f[d].bVisible=i.visible),i.search!==k&&h.extend(a.aoPreSearchCols[d],Db(i.search))}s(a,\"aoStateLoaded\",\"stateLoaded\",[a,g])}}c()};if(a.oFeatures.bStateSave){var g=a.fnStateLoadCallback.call(a.oInstance,a,b);g!==k&&b(g)}else c()}function Aa(a){var b=m.settings,a=h.inArray(a,D(b,\"nTable\"));return-1!==a?b[a]:null}function K(a,b,c,d){c=\"DataTables warning: \"+(a?\"table id=\"+a.sTableId+\r\n-\" - \":\"\")+c;d&&(c+=\". For more information about this error, please see http:\u002F\u002Fdatatables.net\u002Ftn\u002F\"+d);if(b)E.console&&console.log&&console.log(c);else if(b=m.ext,b=b.sErrMode||b.errMode,a&&s(a,null,\"error\",[a,d,c]),\"alert\"==b)alert(c);else{if(\"throw\"==b)throw Error(c);\"function\"==typeof b&&b(a,d,c)}}function F(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?F(a,b,d[0],d[1]):F(a,b,d)}):(d===k&&(d=c),b[c]!==k&&(a[d]=b[c]))}function Mb(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],\r\n-h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&\"data\"!==e&&\"aaData\"!==e&&h.isArray(d)?d.slice():d);return a}function Ya(a,b,c){h(a).on(\"click.DT\",b,function(b){a.blur();c(b)}).on(\"keypress.DT\",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).on(\"selectstart.DT\",function(){return!1})}function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function s(a,b,c,d){var e=[];b&&(e=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&(b=h.Event(c+\r\n-\".dt\"),h(a.nTable).trigger(b,d),e.push(b.result));return e}function Ua(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Pa(a,b){var c=a.renderer,d=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:\"string\"===typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?\"ssp\":a.ajax||a.sAjaxSource?\"ajax\":\"dom\"}function ia(a,b){var c=[],c=Nb.numbers_length,d=Math.floor(c\u002F2);b\u003C=c?c=X(0,b):a\u003C=d?(c=X(0,\r\n-c-2),c.push(\"ellipsis\"),c.push(b-1)):(a>=b-1-d?c=X(b-(c-2),b):(c=X(a-d+2,a+d-1),c.push(\"ellipsis\"),c.push(b-1)),c.splice(0,0,\"ellipsis\"),c.splice(0,0,0));c.DT_el=\"span\";return c}function fb(a){h.each({num:function(b){return Ba(b,a)},\"num-fmt\":function(b){return Ba(b,a,Za)},\"html-num\":function(b){return Ba(b,a,Ca)},\"html-num-fmt\":function(b){return Ba(b,a,Ca,Za)}},function(b,c){x.type.order[b+a+\"-pre\"]=c;b.match(\u002F^html\\-\u002F)&&(x.type.search[b+a]=x.type.search.html)})}function Ob(a){return function(){var b=\r\n-[Aa(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return m.ext.internal[a].apply(this,b)}}var m=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new u(Aa(this[x.iApiIndex])):new u(this)};this.fnAddData=function(a,b){var c=this.api(!0),d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing=\r\n-function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):(\"\"!==d.sX||\"\"!==d.sY)&&ma(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};\r\n-this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():\"\";return b!==k||\"td\"==d||\"th\"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();\r\n-return\"TR\"==c?b.row(a).index():\"TD\"==c||\"TH\"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return Aa(this[x.iApiIndex])};\r\n-this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();(d===k||d)&&h.draw();return 0};this.fnVersionCheck=x.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=x.internal;for(var e in m.ext.internal)e&&(this[e]=Ob(e));this.each(function(){var e={},g=1\u003Cd?Mb(e,a,!0):\r\n-a,j=0,i,e=this.getAttribute(\"id\"),n=!1,l=m.defaults,q=h(this);if(\"table\"!=this.nodeName.toLowerCase())K(null,0,\"Non-table node initialisation (\"+this.nodeName+\")\",2);else{gb(l);hb(l.column);J(l,l,!0);J(l.column,l.column,!0);J(l,h.extend(g,q.data()));var r=m.settings,j=0;for(i=r.length;j\u003Ci;j++){var p=r[j];if(p.nTable==this||p.nTHead.parentNode==this||p.nTFoot&&p.nTFoot.parentNode==this){var u=g.bRetrieve!==k?g.bRetrieve:l.bRetrieve;if(c||u)return p.oInstance;if(g.bDestroy!==k?g.bDestroy:l.bDestroy){p.oInstance.fnDestroy();\r\n-break}else{K(p,0,\"Cannot reinitialise DataTable\",3);return}}if(p.sTableId==this.id){r.splice(j,1);break}}if(null===e||\"\"===e)this.id=e=\"DataTables_Table_\"+m.ext._unique++;var o=h.extend(!0,{},m.models.oSettings,{sDestroyWidth:q[0].style.width,sInstance:e,sTableId:e});o.nTable=this;o.oApi=b.internal;o.oInit=g;r.push(o);o.oInstance=1===b.length?b:q.dataTable();gb(g);g.oLanguage&&Fa(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=h.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);\r\n-g=Mb(h.extend(!0,{},l),g);F(o.oFeatures,g,\"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender\".split(\" \"));F(o,g,[\"asStripeClasses\",\"ajax\",\"fnServerData\",\"fnFormatNumber\",\"sServerMethod\",\"aaSorting\",\"aaSortingFixed\",\"aLengthMenu\",\"sPaginationType\",\"sAjaxSource\",\"sAjaxDataProp\",\"iStateDuration\",\"sDom\",\"bSortCellsTop\",\"iTabIndex\",\"fnStateLoadCallback\",\"fnStateSaveCallback\",\"renderer\",\"searchDelay\",\"rowId\",[\"iCookieDuration\",\"iStateDuration\"],\r\n-[\"oSearch\",\"oPreviousSearch\"],[\"aoSearchCols\",\"aoPreSearchCols\"],[\"iDisplayLength\",\"_iDisplayLength\"],[\"bJQueryUI\",\"bJUI\"]]);F(o.oScroll,g,[[\"sScrollX\",\"sX\"],[\"sScrollXInner\",\"sXInner\"],[\"sScrollY\",\"sY\"],[\"bScrollCollapse\",\"bCollapse\"]]);F(o.oLanguage,g,\"fnInfoCallback\");z(o,\"aoDrawCallback\",g.fnDrawCallback,\"user\");z(o,\"aoServerParams\",g.fnServerParams,\"user\");z(o,\"aoStateSaveParams\",g.fnStateSaveParams,\"user\");z(o,\"aoStateLoadParams\",g.fnStateLoadParams,\"user\");z(o,\"aoStateLoaded\",g.fnStateLoaded,\r\n-\"user\");z(o,\"aoRowCallback\",g.fnRowCallback,\"user\");z(o,\"aoRowCreatedCallback\",g.fnCreatedRow,\"user\");z(o,\"aoHeaderCallback\",g.fnHeaderCallback,\"user\");z(o,\"aoFooterCallback\",g.fnFooterCallback,\"user\");z(o,\"aoInitComplete\",g.fnInitComplete,\"user\");z(o,\"aoPreDrawCallback\",g.fnPreDrawCallback,\"user\");o.rowIdFn=R(g.rowId);ib(o);var t=o.oClasses;g.bJQueryUI?(h.extend(t,m.ext.oJUIClasses,g.oClasses),g.sDom===l.sDom&&\"lfrtip\"===l.sDom&&(o.sDom='\u003C\"H\"lfr>t\u003C\"F\"ip>'),o.renderer)?h.isPlainObject(o.renderer)&&\r\n-!o.renderer.header&&(o.renderer.header=\"jqueryui\"):o.renderer=\"jqueryui\":h.extend(t,m.ext.classes,g.oClasses);q.addClass(t.sTable);o.iInitDisplayStart===k&&(o.iInitDisplayStart=g.iDisplayStart,o._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(o.bDeferLoading=!0,e=h.isArray(g.iDeferLoading),o._iRecordsDisplay=e?g.iDeferLoading[0]:g.iDeferLoading,o._iRecordsTotal=e?g.iDeferLoading[1]:g.iDeferLoading);var v=o.oLanguage;h.extend(!0,v,g.oLanguage);v.sUrl&&(h.ajax({dataType:\"json\",url:v.sUrl,success:function(a){Fa(a);\r\n-J(l.oLanguage,a);h.extend(true,v,a);ha(o)},error:function(){ha(o)}}),n=!0);null===g.asStripeClasses&&(o.asStripeClasses=[t.sStripeOdd,t.sStripeEven]);var e=o.asStripeClasses,x=q.children(\"tbody\").find(\"tr\").eq(0);-1!==h.inArray(!0,h.map(e,function(a){return x.hasClass(a)}))&&(h(\"tbody tr\",this).removeClass(e.join(\" \")),o.asDestroyStripes=e.slice());e=[];r=this.getElementsByTagName(\"thead\");0!==r.length&&(ea(o.aoHeader,r[0]),e=ta(o));if(null===g.aoColumns){r=[];j=0;for(i=e.length;j\u003Ci;j++)r.push(null)}else r=\r\n-g.aoColumns;j=0;for(i=r.length;j\u003Ci;j++)Ga(o,e?e[j]:null);kb(o,g.aoColumnDefs,r,function(a,b){la(o,a,b)});if(x.length){var w=function(a,b){return a.getAttribute(\"data-\"+b)!==null?b:null};h(x[0]).children(\"th, td\").each(function(a,b){var c=o.aoColumns[a];if(c.mData===a){var d=w(b,\"sort\")||w(b,\"order\"),e=w(b,\"filter\")||w(b,\"search\");if(d!==null||e!==null){c.mData={_:a+\".display\",sort:d!==null?a+\".@data-\"+d:k,type:d!==null?a+\".@data-\"+d:k,filter:e!==null?a+\".@data-\"+e:k};la(o,a)}}})}var U=o.oFeatures,\r\n-e=function(){if(g.aaSorting===k){var a=o.aaSorting;j=0;for(i=a.length;j\u003Ci;j++)a[j][1]=o.aoColumns[j].asSorting[0]}ya(o);U.bSort&&z(o,\"aoDrawCallback\",function(){if(o.bSorted){var a=W(o),b={};h.each(a,function(a,c){b[c.src]=c.dir});s(o,null,\"order\",[o,a,b]);Kb(o)}});z(o,\"aoDrawCallback\",function(){(o.bSorted||y(o)===\"ssp\"||U.bDeferRender)&&ya(o)},\"sc\");var a=q.children(\"caption\").each(function(){this._captionSide=h(this).css(\"caption-side\")}),b=q.children(\"thead\");b.length===0&&(b=h(\"\u003Cthead\u002F>\").appendTo(q));\r\n-o.nTHead=b[0];b=q.children(\"tbody\");b.length===0&&(b=h(\"\u003Ctbody\u002F>\").appendTo(q));o.nTBody=b[0];b=q.children(\"tfoot\");if(b.length===0&&a.length>0&&(o.oScroll.sX!==\"\"||o.oScroll.sY!==\"\"))b=h(\"\u003Ctfoot\u002F>\").appendTo(q);if(b.length===0||b.children().length===0)q.addClass(t.sNoFooter);else if(b.length>0){o.nTFoot=b[0];ea(o.aoFooter,o.nTFoot)}if(g.aaData)for(j=0;j\u003Cg.aaData.length;j++)N(o,g.aaData[j]);else(o.bDeferLoading||y(o)==\"dom\")&&oa(o,h(o.nTBody).children(\"tr\"));o.aiDisplay=o.aiDisplayMaster.slice();\r\n-o.bInitialised=true;n===false&&ha(o)};g.bStateSave?(U.bStateSave=!0,z(o,\"aoDrawCallback\",za,\"state_save\"),Lb(o,g,e)):e()}});b=null;return this},x,u,p,t,$a={},Pb=\u002F[\\r\\n]\u002Fg,Ca=\u002F\u003C.*?>\u002Fg,cc=\u002F^\\d{2,4}[\\.\\\u002F\\-]\\d{1,2}[\\.\\\u002F\\-]\\d{1,2}([T ]{1}\\d{1,2}[:\\.]\\d{2}([\\.:]\\d{2})?)?$\u002F,dc=RegExp(\"(\\\\\u002F|\\\\.|\\\\*|\\\\+|\\\\?|\\\\||\\\\(|\\\\)|\\\\[|\\\\]|\\\\{|\\\\}|\\\\\\\\|\\\\$|\\\\^|\\\\-)\",\"g\"),Za=\u002F[',$£€¥%\\u2009\\u202F\\u20BD\\u20a9\\u20BArfk]\u002Fgi,M=function(a){return!a||!0===a||\"-\"===a?!0:!1},Qb=function(a){var b=parseInt(a,10);return!isNaN(b)&&\r\n-isFinite(a)?b:null},Rb=function(a,b){$a[b]||($a[b]=RegExp(Sa(b),\"g\"));return\"string\"===typeof a&&\".\"!==b?a.replace(\u002F\\.\u002Fg,\"\").replace($a[b],\".\"):a},ab=function(a,b,c){var d=\"string\"===typeof a;if(M(a))return!0;b&&d&&(a=Rb(a,b));c&&d&&(a=a.replace(Za,\"\"));return!isNaN(parseFloat(a))&&isFinite(a)},Sb=function(a,b,c){return M(a)?!0:!(M(a)||\"string\"===typeof a)?null:ab(a.replace(Ca,\"\"),b,c)?!0:null},D=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;e\u003Cf;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e\u003C\r\n-f;e++)a[e]&&d.push(a[e][b]);return d},ja=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==k)for(;f\u003Cg;f++)a[b[f]][c]&&e.push(a[b[f]][c][d]);else for(;f\u003Cg;f++)e.push(a[b[f]][c]);return e},X=function(a,b){var c=[],d;b===k?(b=0,d=a):(d=b,b=a);for(var e=b;e\u003Cd;e++)c.push(e);return c},Tb=function(a){for(var b=[],c=0,d=a.length;c\u003Cd;c++)a[c]&&b.push(a[c]);return b},sa=function(a){var b=[],c,d,e=a.length,f,g=0;d=0;a:for(;d\u003Ce;d++){c=a[d];for(f=0;f\u003Cg;f++)if(b[f]===c)continue a;b.push(c);g++}return b};m.util=\r\n-{throttle:function(a,b){var c=b!==k?b:200,d,e;return function(){var b=this,g=+new Date,h=arguments;d&&g\u003Cd+c?(clearTimeout(e),e=setTimeout(function(){d=k;a.apply(b,h)},c)):(d=g,a.apply(b,h))}},escapeRegex:function(a){return a.replace(dc,\"\\\\$1\")}};var A=function(a,b,c){a[b]!==k&&(a[c]=a[b])},ca=\u002F\\[.*?\\]$\u002F,V=\u002F\\(\\)$\u002F,Sa=m.util.escapeRegex,xa=h(\"\u003Cdiv>\")[0],$b=xa.textContent!==k,bc=\u002F\u003C.*?>\u002Fg,Qa=m.util.throttle,Ub=[],w=Array.prototype,ec=function(a){var b,c,d=m.settings,e=h.map(d,function(a){return a.nTable});\r\n-if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&\"table\"===a.nodeName.toLowerCase())return b=h.inArray(a,e),-1!==b?[d[b]]:null;if(a&&\"function\"===typeof a.settings)return a.settings().toArray();\"string\"===typeof a?c=h(a):a instanceof h&&(c=a)}else return[];if(c)return c.map(function(){b=h.inArray(this,e);return-1!==b?d[b]:null}).toArray()};u=function(a,b){if(!(this instanceof u))return new u(a,b);var c=[],d=function(a){(a=ec(a))&&(c=c.concat(a))};if(h.isArray(a))for(var e=0,f=a.length;e\u003Cf;e++)d(a[e]);\r\n-else d(a);this.context=sa(c);b&&h.merge(this,b);this.selector={rows:null,cols:null,opts:null};u.extend(this,this,Ub)};m.Api=u;h.extend(u.prototype,{any:function(){return 0!==this.count()},concat:w.concat,context:[],count:function(){return this.flatten().length},each:function(a){for(var b=0,c=this.length;b\u003Cc;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=this.context;return b.length>a?new u(b[a],this[a]):null},filter:function(a){var b=[];if(w.filter)b=w.filter.call(this,a,this);\r\n-else for(var c=0,d=this.length;c\u003Cd;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new u(this.context,b)},flatten:function(){var a=[];return new u(this.context,a.concat.apply(a,this.toArray()))},join:w.join,indexOf:w.indexOf||function(a,b){for(var c=b||0,d=this.length;c\u003Cd;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,d){var e=[],f,g,h,i,n,l=this.context,m,p,t=this.selector;\"string\"===typeof a&&(d=c,c=b,b=a,a=!1);g=0;for(h=l.length;g\u003Ch;g++){var s=new u(l[g]);if(\"table\"===b)f=\r\n-c.call(s,l[g],g),f!==k&&e.push(f);else if(\"columns\"===b||\"rows\"===b)f=c.call(s,l[g],this[g],g),f!==k&&e.push(f);else if(\"column\"===b||\"column-rows\"===b||\"row\"===b||\"cell\"===b){p=this[g];\"column-rows\"===b&&(m=Da(l[g],t.opts));i=0;for(n=p.length;i\u003Cn;i++)f=p[i],f=\"cell\"===b?c.call(s,l[g],f.row,f.column,g,i):c.call(s,l[g],f,g,i,m),f!==k&&e.push(f)}}return e.length||d?(a=new u(l,a?e.concat.apply([],e):e),b=a.selector,b.rows=t.rows,b.cols=t.cols,b.opts=t.opts,a):this},lastIndexOf:w.lastIndexOf||function(a,\r\n-b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(w.map)b=w.map.call(this,a,this);else for(var c=0,d=this.length;c\u003Cd;c++)b.push(a.call(this,this[c],c));return new u(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:w.pop,push:w.push,reduce:w.reduce||function(a,b){return jb(this,a,b,0,this.length,1)},reduceRight:w.reduceRight||function(a,b){return jb(this,a,b,this.length-1,-1,-1)},reverse:w.reverse,selector:null,shift:w.shift,\r\n-sort:w.sort,splice:w.splice,toArray:function(){return w.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},unique:function(){return new u(this.context,sa(this))},unshift:w.unshift});u.extend=function(a,b,c){if(c.length&&b&&(b instanceof u||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=b.apply(a,arguments);u.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d\u003Ce;d++)f=c[d],b[f.name]=\"function\"===typeof f.val?g(a,f.val,f):h.isPlainObject(f.val)?\r\n-{}:f.val,b[f.name].__dt_wrapper=!0,u.extend(a,b[f.name],f.propExt)}};u.register=p=function(a,b){if(h.isArray(a))for(var c=0,d=a.length;c\u003Cd;c++)u.register(a[c],b);else for(var e=a.split(\".\"),f=Ub,g,j,c=0,d=e.length;c\u003Cd;c++){g=(j=-1!==e[c].indexOf(\"()\"))?e[c].replace(\"()\",\"\"):e[c];var i;a:{i=0;for(var n=f.length;i\u003Cn;i++)if(f[i].name===g){i=f[i];break a}i=null}i||(i={name:g,val:{},methodExt:[],propExt:[]},f.push(i));c===d-1?i.val=b:f=j?i.methodExt:i.propExt}};u.registerPlural=t=function(a,b,c){u.register(a,\r\n-c);u.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof u?a.length?h.isArray(a[0])?new u(a.context,a[0]):a[0]:k:a})};p(\"tables()\",function(a){var b;if(a){b=u;var c=this.context;if(\"number\"===typeof a)a=[c[a]];else var d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var a=h.inArray(this,d);return c[a]}).toArray();b=new b(a)}else b=this;return b});p(\"table()\",function(a){var a=this.tables(a),b=a.context;return b.length?new u(b[0]):a});t(\"tables().nodes()\",\r\n-\"table().node()\",function(){return this.iterator(\"table\",function(a){return a.nTable},1)});t(\"tables().body()\",\"table().body()\",function(){return this.iterator(\"table\",function(a){return a.nTBody},1)});t(\"tables().header()\",\"table().header()\",function(){return this.iterator(\"table\",function(a){return a.nTHead},1)});t(\"tables().footer()\",\"table().footer()\",function(){return this.iterator(\"table\",function(a){return a.nTFoot},1)});t(\"tables().containers()\",\"table().container()\",function(){return this.iterator(\"table\",\r\n-function(a){return a.nTableWrapper},1)});p(\"draw()\",function(a){return this.iterator(\"table\",function(b){\"page\"===a?O(b):(\"string\"===typeof a&&(a=\"full-hold\"===a?!1:!0),T(b,!1===a))})});p(\"page()\",function(a){return a===k?this.page.info().page:this.iterator(\"table\",function(b){Va(b,a)})});p(\"page.info()\",function(){if(0===this.context.length)return k;var a=this.context[0],b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b\u002Fc),\r\n-pages:e?1:Math.ceil(d\u002Fc),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,serverSide:\"ssp\"===y(a)}});p(\"page.len()\",function(a){return a===k?0!==this.context.length?this.context[0]._iDisplayLength:k:this.iterator(\"table\",function(b){Ta(b,a)})});var Vb=function(a,b,c){if(c){var d=new u(a);d.one(\"draw\",function(){c(d.ajax.json())})}if(\"ssp\"==y(a))T(a,b);else{C(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();ua(a,[],function(c){pa(a);for(var c=va(a,c),d=0,e=c.length;d\u003C\r\n-e;d++)N(a,c[d]);T(a,b);C(a,!1)})}};p(\"ajax.json()\",function(){var a=this.context;if(0\u003Ca.length)return a[0].json});p(\"ajax.params()\",function(){var a=this.context;if(0\u003Ca.length)return a[0].oAjaxData});p(\"ajax.reload()\",function(a,b){return this.iterator(\"table\",function(c){Vb(c,!1===b,a)})});p(\"ajax.url()\",function(a){var b=this.context;if(a===k){if(0===b.length)return k;b=b[0];return b.ajax?h.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator(\"table\",function(b){h.isPlainObject(b.ajax)?\r\n-b.ajax.url=a:b.ajax=a})});p(\"ajax.url().load()\",function(a,b){return this.iterator(\"table\",function(c){Vb(c,!1===b,a)})});var bb=function(a,b,c,d,e){var f=[],g,j,i,n,l,m;i=typeof b;if(!b||\"string\"===i||\"function\"===i||b.length===k)b=[b];i=0;for(n=b.length;i\u003Cn;i++){j=b[i]&&b[i].split&&!b[i].match(\u002F[\\[\\(:]\u002F)?b[i].split(\",\"):[b[i]];l=0;for(m=j.length;l\u003Cm;l++)(g=c(\"string\"===typeof j[l]?h.trim(j[l]):j[l]))&&g.length&&(f=f.concat(g))}a=x.selector[a];if(a.length){i=0;for(n=a.length;i\u003Cn;i++)f=a[i](d,e,f)}return sa(f)},\r\n-cb=function(a){a||(a={});a.filter&&a.search===k&&(a.search=a.filter);return h.extend({search:\"none\",order:\"current\",page:\"all\"},a)},db=function(a){for(var b=0,c=a.length;b\u003Cc;b++)if(0\u003Ca[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Da=function(a,b){var c,d,e,f=[],g=a.aiDisplay;c=a.aiDisplayMaster;var j=b.search;d=b.order;e=b.page;if(\"ssp\"==y(a))return\"removed\"===j?[]:X(0,c.length);if(\"current\"==e){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c\u003Cd;c++)f.push(g[c])}else if(\"current\"==\r\n-d||\"applied\"==d)f=\"none\"==j?c.slice():\"applied\"==j?g.slice():h.map(c,function(a){return-1===h.inArray(a,g)?a:null});else if(\"index\"==d||\"original\"==d){c=0;for(d=a.aoData.length;c\u003Cd;c++)\"none\"==j?f.push(c):(e=h.inArray(c,g),(-1===e&&\"removed\"==j||0\u003C=e&&\"applied\"==j)&&f.push(c))}return f};p(\"rows()\",function(a,b){a===k?a=\"\":h.isPlainObject(a)&&(b=a,a=\"\");var b=cb(b),c=this.iterator(\"table\",function(c){var e=b,f;return bb(\"row\",a,function(a){var b=Qb(a);if(b!==null&&!e)return[b];f||(f=Da(c,e));if(b!==\r\n-null&&h.inArray(b,f)!==-1)return[b];if(a===null||a===k||a===\"\")return f;if(typeof a===\"function\")return h.map(f,function(b){var e=c.aoData[b];return a(b,e._aData,e.nTr)?b:null});b=Tb(ja(c.aoData,f,\"nTr\"));if(a.nodeName){if(a._DT_RowIndex!==k)return[a._DT_RowIndex];if(a._DT_CellIndex)return[a._DT_CellIndex.row];b=h(a).closest(\"*[data-dt-row]\");return b.length?[b.data(\"dt-row\")]:[]}if(typeof a===\"string\"&&a.charAt(0)===\"#\"){var i=c.aIds[a.replace(\u002F^#\u002F,\"\")];if(i!==k)return[i.idx]}return h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()},\r\n-c,e)},1);c.selector.rows=a;c.selector.opts=b;return c});p(\"rows().nodes()\",function(){return this.iterator(\"row\",function(a,b){return a.aoData[b].nTr||k},1)});p(\"rows().data()\",function(){return this.iterator(!0,\"rows\",function(a,b){return ja(a.aoData,b,\"_aData\")},1)});t(\"rows().cache()\",\"row().cache()\",function(a){return this.iterator(\"row\",function(b,c){var d=b.aoData[c];return\"search\"===a?d._aFilterData:d._aSortData},1)});t(\"rows().invalidate()\",\"row().invalidate()\",function(a){return this.iterator(\"row\",\r\n-function(b,c){da(b,c,a)})});t(\"rows().indexes()\",\"row().index()\",function(){return this.iterator(\"row\",function(a,b){return b},1)});t(\"rows().ids()\",\"row().id()\",function(a){for(var b=[],c=this.context,d=0,e=c.length;d\u003Ce;d++)for(var f=0,g=this[d].length;f\u003Cg;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?\"#\":\"\")+h)}return new u(c,b)});t(\"rows().remove()\",\"row().remove()\",function(){var a=this;this.iterator(\"row\",function(b,c,d){var e=b.aoData,f=e[c],g,h,i,n,l;e.splice(c,1);\r\n-g=0;for(h=e.length;g\u003Ch;g++)if(i=e[g],l=i.anCells,null!==i.nTr&&(i.nTr._DT_RowIndex=g),null!==l){i=0;for(n=l.length;i\u003Cn;i++)l[i]._DT_CellIndex.row=g}qa(b.aiDisplayMaster,c);qa(b.aiDisplay,c);qa(a[d],c,!1);Ua(b);c=b.rowIdFn(f._aData);c!==k&&delete b.aIds[c]});this.iterator(\"table\",function(a){for(var c=0,d=a.aoData.length;c\u003Cd;c++)a.aoData[c].idx=c});return this});p(\"rows.add()\",function(a){var b=this.iterator(\"table\",function(b){var c,f,g,h=[];f=0;for(g=a.length;f\u003Cg;f++)c=a[f],c.nodeName&&\"TR\"===c.nodeName.toUpperCase()?\r\n-h.push(oa(b,c)[0]):h.push(N(b,c));return h},1),c=this.rows(-1);c.pop();h.merge(c,b);return c});p(\"row()\",function(a,b){return db(this.rows(a,b))});p(\"row().data()\",function(a){var b=this.context;if(a===k)return b.length&&this.length?b[0].aoData[this[0]]._aData:k;b[0].aoData[this[0]]._aData=a;da(b[0],this[0],\"data\");return this});p(\"row().node()\",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});p(\"row.add()\",function(a){a instanceof h&&a.length&&(a=a[0]);\r\n-var b=this.iterator(\"table\",function(b){return a.nodeName&&\"TR\"===a.nodeName.toUpperCase()?oa(b,a)[0]:N(b,a)});return this.row(b[0])});var eb=function(a,b){var c=a.context;if(c.length&&(c=c[0].aoData[b!==k?b:a[0]])&&c._details)c._details.remove(),c._detailsShow=k,c._details=k},Wb=function(a,b){var c=a.context;if(c.length&&a.length){var d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();var e=c[0],f=new u(e),g=e.aoData;f.off(\"draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details\");\r\n-0\u003CD(g,\"_details\").length&&(f.on(\"draw.dt.DT_details\",function(a,b){e===b&&f.rows({page:\"current\"}).eq(0).each(function(a){a=g[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on(\"column-visibility.dt.DT_details\",function(a,b){if(e===b)for(var c,d=ba(b),f=0,h=g.length;f\u003Ch;f++)c=g[f],c._details&&c._details.children(\"td[colspan]\").attr(\"colspan\",d)}),f.on(\"destroy.dt.DT_details\",function(a,b){if(e===b)for(var c=0,d=g.length;c\u003Cd;c++)g[c]._details&&eb(f,c)}))}}};p(\"row().child()\",function(a,b){var c=\r\n-this.context;if(a===k)return c.length&&this.length?c[0].aoData[this[0]]._details:k;if(!0===a)this.child.show();else if(!1===a)eb(this);else if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(h.isArray(a)||a instanceof h)for(var c=0,k=a.length;c\u003Ck;c++)f(a[c],b);else a.nodeName&&\"tr\"===a.nodeName.toLowerCase()?e.push(a):(c=h(\"\u003Ctr>\u003Ctd\u002F>\u003C\u002Ftr>\").addClass(b),h(\"td\",c).addClass(b).html(a)[0].colSpan=ba(d),e.push(c[0]))};f(a,b);c._details&&c._details.detach();c._details=h(e);\r\n-c._detailsShow&&c._details.insertAfter(c.nTr)}return this});p([\"row().child.show()\",\"row().child().show()\"],function(){Wb(this,!0);return this});p([\"row().child.hide()\",\"row().child().hide()\"],function(){Wb(this,!1);return this});p([\"row().child.remove()\",\"row().child().remove()\"],function(){eb(this);return this});p(\"row().child.isShown()\",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var fc=\u002F^([^:]+):(name|visIdx|visible)$\u002F,Xb=function(a,b,\r\n-c,d,e){for(var c=[],d=0,f=e.length;d\u003Cf;d++)c.push(B(a,e[d],b));return c};p(\"columns()\",function(a,b){a===k?a=\"\":h.isPlainObject(a)&&(b=a,a=\"\");var b=cb(b),c=this.iterator(\"table\",function(c){var e=a,f=b,g=c.aoColumns,j=D(g,\"sName\"),i=D(g,\"nTh\");return bb(\"column\",e,function(a){var b=Qb(a);if(a===\"\")return X(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a===\"function\"){var e=Da(c,f);return h.map(g,function(b,f){return a(f,Xb(c,f,0,0,e),i[f])?f:null})}var k=typeof a===\"string\"?a.match(fc):\r\n-\"\";if(k)switch(k[2]){case \"visIdx\":case \"visible\":b=parseInt(k[1],10);if(b\u003C0){var m=h.map(g,function(a,b){return a.bVisible?b:null});return[m[m.length+b]]}return[$(c,b)];case \"name\":return h.map(j,function(a,b){return a===k[1]?b:null});default:return[]}if(a.nodeName&&a._DT_CellIndex)return[a._DT_CellIndex.column];b=h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray();if(b.length||!a.nodeName)return b;b=h(a).closest(\"*[data-dt-column]\");return b.length?[b.data(\"dt-column\")]:[]},c,f)},\r\n-1);c.selector.cols=a;c.selector.opts=b;return c});t(\"columns().header()\",\"column().header()\",function(){return this.iterator(\"column\",function(a,b){return a.aoColumns[b].nTh},1)});t(\"columns().footer()\",\"column().footer()\",function(){return this.iterator(\"column\",function(a,b){return a.aoColumns[b].nTf},1)});t(\"columns().data()\",\"column().data()\",function(){return this.iterator(\"column-rows\",Xb,1)});t(\"columns().dataSrc()\",\"column().dataSrc()\",function(){return this.iterator(\"column\",function(a,b){return a.aoColumns[b].mData},\r\n-1)});t(\"columns().cache()\",\"column().cache()\",function(a){return this.iterator(\"column-rows\",function(b,c,d,e,f){return ja(b.aoData,f,\"search\"===a?\"_aFilterData\":\"_aSortData\",c)},1)});t(\"columns().nodes()\",\"column().nodes()\",function(){return this.iterator(\"column-rows\",function(a,b,c,d,e){return ja(a.aoData,e,\"anCells\",b)},1)});t(\"columns().visible()\",\"column().visible()\",function(a,b){var c=this.iterator(\"column\",function(b,c){if(a===k)return b.aoColumns[c].bVisible;var f=b.aoColumns,g=f[c],j=b.aoData,\r\n-i,n,l;if(a!==k&&g.bVisible!==a){if(a){var m=h.inArray(!0,D(f,\"bVisible\"),c+1);i=0;for(n=j.length;i\u003Cn;i++)l=j[i].nTr,f=j[i].anCells,l&&l.insertBefore(f[c],f[m]||null)}else h(D(b.aoData,\"anCells\",c)).detach();g.bVisible=a;fa(b,b.aoHeader);fa(b,b.aoFooter);za(b)}});a!==k&&(this.iterator(\"column\",function(c,e){s(c,null,\"column-visibility\",[c,e,a,b])}),(b===k||b)&&this.columns.adjust());return c});t(\"columns().indexes()\",\"column().index()\",function(a){return this.iterator(\"column\",function(b,c){return\"visible\"===\r\n-a?aa(b,c):c},1)});p(\"columns.adjust()\",function(){return this.iterator(\"table\",function(a){Z(a)},1)});p(\"column.index()\",function(a,b){if(0!==this.context.length){var c=this.context[0];if(\"fromVisible\"===a||\"toData\"===a)return $(c,b);if(\"fromData\"===a||\"toVisible\"===a)return aa(c,b)}});p(\"column()\",function(a,b){return db(this.columns(a,b))});p(\"cells()\",function(a,b,c){h.isPlainObject(a)&&(a.row===k?(c=a,a=null):(c=b,b=null));h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===k)return this.iterator(\"table\",\r\n-function(b){var d=a,e=cb(c),f=b.aoData,g=Da(b,e),i=Tb(ja(f,g,\"anCells\")),j=h([].concat.apply([],i)),l,n=b.aoColumns.length,m,p,t,u,s,v;return bb(\"cell\",d,function(a){var c=typeof a===\"function\";if(a===null||a===k||c){m=[];p=0;for(t=g.length;p\u003Ct;p++){l=g[p];for(u=0;u\u003Cn;u++){s={row:l,column:u};if(c){v=f[l];a(s,B(b,l,u),v.anCells?v.anCells[u]:null)&&m.push(s)}else m.push(s)}}return m}if(h.isPlainObject(a))return[a];c=j.filter(a).map(function(a,b){return{row:b._DT_CellIndex.row,column:b._DT_CellIndex.column}}).toArray();\r\n-if(c.length||!a.nodeName)return c;v=h(a).closest(\"*[data-dt-row]\");return v.length?[{row:v.data(\"dt-row\"),column:v.data(\"dt-column\")}]:[]},b,e)});var d=this.columns(b,c),e=this.rows(a,c),f,g,j,i,n,l=this.iterator(\"table\",function(a,b){f=[];g=0;for(j=e[b].length;g\u003Cj;g++){i=0;for(n=d[b].length;i\u003Cn;i++)f.push({row:e[b][g],column:d[b][i]})}return f},1);h.extend(l.selector,{cols:b,rows:a,opts:c});return l});t(\"cells().nodes()\",\"cell().node()\",function(){return this.iterator(\"cell\",function(a,b,c){return(a=\r\n-a.aoData[b])&&a.anCells?a.anCells[c]:k},1)});p(\"cells().data()\",function(){return this.iterator(\"cell\",function(a,b,c){return B(a,b,c)},1)});t(\"cells().cache()\",\"cell().cache()\",function(a){a=\"search\"===a?\"_aFilterData\":\"_aSortData\";return this.iterator(\"cell\",function(b,c,d){return b.aoData[c][a][d]},1)});t(\"cells().render()\",\"cell().render()\",function(a){return this.iterator(\"cell\",function(b,c,d){return B(b,c,d,a)},1)});t(\"cells().indexes()\",\"cell().index()\",function(){return this.iterator(\"cell\",\r\n-function(a,b,c){return{row:b,column:c,columnVisible:aa(a,c)}},1)});t(\"cells().invalidate()\",\"cell().invalidate()\",function(a){return this.iterator(\"cell\",function(b,c,d){da(b,c,a,d)})});p(\"cell()\",function(a,b,c){return db(this.cells(a,b,c))});p(\"cell().data()\",function(a){var b=this.context,c=this[0];if(a===k)return b.length&&c.length?B(b[0],c[0].row,c[0].column):k;lb(b[0],c[0].row,c[0].column,a);da(b[0],c[0].row,\"data\",c[0].column);return this});p(\"order()\",function(a,b){var c=this.context;if(a===\r\n-k)return 0!==c.length?c[0].aaSorting:k;\"number\"===typeof a?a=[[a,b]]:a.length&&!h.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));return this.iterator(\"table\",function(b){b.aaSorting=a.slice()})});p(\"order.listener()\",function(a,b,c){return this.iterator(\"table\",function(d){Oa(d,a,b,c)})});p(\"order.fixed()\",function(a){if(!a){var b=this.context,b=b.length?b[0].aaSortingFixed:k;return h.isArray(b)?{pre:b}:b}return this.iterator(\"table\",function(b){b.aaSortingFixed=h.extend(!0,{},a)})});p([\"columns().order()\",\r\n-\"column().order()\"],function(a){var b=this;return this.iterator(\"table\",function(c,d){var e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});p(\"search()\",function(a,b,c,d){var e=this.context;return a===k?0!==e.length?e[0].oPreviousSearch.sSearch:k:this.iterator(\"table\",function(e){e.oFeatures.bFilter&&ga(e,h.extend({},e.oPreviousSearch,{sSearch:a+\"\",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});t(\"columns().search()\",\"column().search()\",function(a,\r\n-b,c,d){return this.iterator(\"column\",function(e,f){var g=e.aoPreSearchCols;if(a===k)return g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+\"\",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ga(e,e.oPreviousSearch,1))})});p(\"state()\",function(){return this.context.length?this.context[0].oSavedState:null});p(\"state.clear()\",function(){return this.iterator(\"table\",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});p(\"state.loaded()\",function(){return this.context.length?\r\n-this.context[0].oLoadedState:null});p(\"state.save()\",function(){return this.iterator(\"table\",function(a){za(a)})});m.versionCheck=m.fnVersionCheck=function(a){for(var b=m.version.split(\".\"),a=a.split(\".\"),c,d,e=0,f=a.length;e\u003Cf;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;if(a instanceof m.Api)return!0;h.each(m.settings,function(a,e){var f=e.nScrollHead?h(\"table\",e.nScrollHead)[0]:null,g=e.nScrollFoot?\r\n-h(\"table\",e.nScrollFoot)[0]:null;if(e.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(m.settings,function(b){if(!a||a&&h(b.nTable).is(\":visible\"))return b.nTable});return b?new u(c):c};m.camelToHungarian=J;p(\"$()\",function(a,b){var c=this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each([\"on\",\"one\",\"off\"],function(a,b){p(b+\"()\",function(){var a=Array.prototype.slice.call(arguments);\r\n-a[0]=h.map(a[0].split(\u002F\\s\u002F),function(a){return!a.match(\u002F\\.dt\\b\u002F)?a+\".dt\":a}).join(\" \");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});p(\"clear()\",function(){return this.iterator(\"table\",function(a){pa(a)})});p(\"settings()\",function(){return new u(this.context,this.context)});p(\"init()\",function(){var a=this.context;return a.length?a[0].oInit:null});p(\"data()\",function(){return this.iterator(\"table\",function(a){return D(a.aoData,\"_aData\")}).flatten()});p(\"destroy()\",function(a){a=a||\r\n-!1;return this.iterator(\"table\",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),p;b.bDestroying=!0;s(b,\"aoDestroyCallback\",\"destroy\",[b]);a||(new u(b)).columns().visible(!0);k.off(\".DT\").find(\":not(tbody *)\").off(\".DT\");h(E).off(\".DT-\"+b.sInstance);e!=g.parentNode&&(i.children(\"thead\").detach(),i.append(g));j&&e!=j.parentNode&&(i.children(\"tfoot\").detach(),i.append(j));\r\n-b.aaSorting=[];b.aaSortingFixed=[];ya(b);h(l).removeClass(b.asStripeClasses.join(\" \"));h(\"th, td\",g).removeClass(d.sSortable+\" \"+d.sSortableAsc+\" \"+d.sSortableDesc+\" \"+d.sSortableNone);b.bJUI&&(h(\"th span.\"+d.sSortIcon+\", td span.\"+d.sSortIcon,g).detach(),h(\"th, td\",g).each(function(){var a=h(\"div.\"+d.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));f.children().detach();f.append(l);g=a?\"remove\":\"detach\";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css(\"width\",\r\n-b.sDestroyWidth).removeClass(d.sTable),(p=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%p])}));c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,1)})});h.each([\"column\",\"row\",\"cell\"],function(a,b){p(b+\"s().every()\",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,m){a.call(e[b](g,\"cell\"===b?h:d,\"cell\"===b?d:k),g,h,i,m)})})});p(\"i18n()\",function(a,b,c){var d=this.context[0],a=R(a)(d.oLanguage);a===k&&(a=b);c!==\r\n-k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:a._);return a.replace(\"%d\",c)});m.version=\"1.10.13\";m.settings=[];m.models={};m.models.oSearch={bCaseInsensitive:!0,sSearch:\"\",bRegex:!1,bSmart:!0};m.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:\"\",src:null,idx:-1};m.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,\r\n-mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:\"std\",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};m.defaults={aaData:null,aaSorting:[[0,\"asc\"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,\r\n-bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(\u002F\\B(?=(\\d{3})+(?!\\d))\u002Fg,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?\r\n-sessionStorage:localStorage).getItem(\"DataTables_\"+a.sInstance+\"_\"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem(\"DataTables_\"+a.sInstance+\"_\"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:\": activate to sort column ascending\",\r\n-sSortDescending:\": activate to sort column descending\"},oPaginate:{sFirst:\"First\",sLast:\"Last\",sNext:\"Next\",sPrevious:\"Previous\"},sEmptyTable:\"No data available in table\",sInfo:\"Showing _START_ to _END_ of _TOTAL_ entries\",sInfoEmpty:\"Showing 0 to 0 of 0 entries\",sInfoFiltered:\"(filtered from _MAX_ total entries)\",sInfoPostFix:\"\",sDecimal:\"\",sThousands:\",\",sLengthMenu:\"Show _MENU_ entries\",sLoadingRecords:\"Loading...\",sProcessing:\"Processing...\",sSearch:\"Search:\",sSearchPlaceholder:\"\",sUrl:\"\",sZeroRecords:\"No matching records found\"},\r\n-oSearch:h.extend({},m.models.oSearch),sAjaxDataProp:\"data\",sAjaxSource:null,sDom:\"lfrtip\",searchDelay:null,sPaginationType:\"simple_numbers\",sScrollX:\"\",sScrollXInner:\"\",sScrollY:\"\",sServerMethod:\"GET\",renderer:null,rowId:\"DT_RowId\"};Y(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,asSorting:[\"asc\",\"desc\"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:\"td\",sClass:\"\",sContentPadding:\"\",sDefaultContent:null,sName:\"\",sSortDataType:\"std\",sTitle:null,\r\n-sType:null,sWidth:null};Y(m.defaults.column);m.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],\r\n-aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:\"\",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,\r\n-searchDelay:null,sPaginationType:\"two_button\",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],\r\n-fnRecordsTotal:function(){return\"ssp\"==y(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return\"ssp\"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,\r\n-aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};m.ext=x={buttons:{},classes:{},builder:\"-source-\",errMode:\"alert\",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:m.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:m.version};h.extend(x,{afnFiltering:x.search,aTypes:x.type.detect,ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,\r\n-oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager});h.extend(m.ext.classes,{sTable:\"dataTable\",sNoFooter:\"no-footer\",sPageButton:\"paginate_button\",sPageButtonActive:\"current\",sPageButtonDisabled:\"disabled\",sStripeOdd:\"odd\",sStripeEven:\"even\",sRowEmpty:\"dataTables_empty\",sWrapper:\"dataTables_wrapper\",sFilter:\"dataTables_filter\",sInfo:\"dataTables_info\",sPaging:\"dataTables_paginate paging_\",sLength:\"dataTables_length\",sProcessing:\"dataTables_processing\",sSortAsc:\"sorting_asc\",sSortDesc:\"sorting_desc\",\r\n-sSortable:\"sorting\",sSortableAsc:\"sorting_asc_disabled\",sSortableDesc:\"sorting_desc_disabled\",sSortableNone:\"sorting_disabled\",sSortColumn:\"sorting_\",sFilterInput:\"\",sLengthSelect:\"\",sScrollWrapper:\"dataTables_scroll\",sScrollHead:\"dataTables_scrollHead\",sScrollHeadInner:\"dataTables_scrollHeadInner\",sScrollBody:\"dataTables_scrollBody\",sScrollFoot:\"dataTables_scrollFoot\",sScrollFootInner:\"dataTables_scrollFootInner\",sHeaderTH:\"\",sFooterTH:\"\",sSortJUIAsc:\"\",sSortJUIDesc:\"\",sSortJUI:\"\",sSortJUIAscAllowed:\"\",\r\n-sSortJUIDescAllowed:\"\",sSortJUIWrapper:\"\",sSortIcon:\"\",sJUIHeader:\"\",sJUIFooter:\"\"});var Ea=\"\",Ea=\"\",G=Ea+\"ui-state-default\",ka=Ea+\"css_right ui-icon ui-icon-\",Yb=Ea+\"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix\";h.extend(m.ext.oJUIClasses,m.ext.classes,{sPageButton:\"fg-button ui-button \"+G,sPageButtonActive:\"ui-state-disabled\",sPageButtonDisabled:\"ui-state-disabled\",sPaging:\"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_\",sSortAsc:G+\" sorting_asc\",\r\n-sSortDesc:G+\" sorting_desc\",sSortable:G+\" sorting\",sSortableAsc:G+\" sorting_asc_disabled\",sSortableDesc:G+\" sorting_desc_disabled\",sSortableNone:G+\" sorting_disabled\",sSortJUIAsc:ka+\"triangle-1-n\",sSortJUIDesc:ka+\"triangle-1-s\",sSortJUI:ka+\"carat-2-n-s\",sSortJUIAscAllowed:ka+\"carat-1-n\",sSortJUIDescAllowed:ka+\"carat-1-s\",sSortJUIWrapper:\"DataTables_sort_wrapper\",sSortIcon:\"DataTables_sort_icon\",sScrollHead:\"dataTables_scrollHead \"+G,sScrollFoot:\"dataTables_scrollFoot \"+G,sHeaderTH:G,sFooterTH:G,sJUIHeader:Yb+\r\n-\" ui-corner-tl ui-corner-tr\",sJUIFooter:Yb+\" ui-corner-bl ui-corner-br\"});var Nb=m.ext.pager;h.extend(Nb,{simple:function(){return[\"previous\",\"next\"]},full:function(){return[\"first\",\"previous\",\"next\",\"last\"]},numbers:function(a,b){return[ia(a,b)]},simple_numbers:function(a,b){return[\"previous\",ia(a,b),\"next\"]},full_numbers:function(a,b){return[\"first\",\"previous\",ia(a,b),\"next\",\"last\"]},first_last_numbers:function(a,b){return[\"first\",ia(a,b),\"last\"]},_numbers:ia,numbers_length:7});h.extend(!0,m.ext.renderer,\r\n-{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},m,l,p=0,r=function(b,d){var k,t,u,s,v=function(b){Va(a,b.data.action,true)};k=0;for(t=d.length;k\u003Ct;k++){s=d[k];if(h.isArray(s)){u=h(\"\u003C\"+(s.DT_el||\"div\")+\"\u002F>\").appendTo(b);r(u,s)}else{m=null;l=\"\";switch(s){case \"ellipsis\":b.append('\u003Cspan class=\"ellipsis\">&#x2026;\u003C\u002Fspan>');break;case \"first\":m=j.sFirst;l=s+(e>0?\"\":\" \"+g.sPageButtonDisabled);break;case \"previous\":m=j.sPrevious;l=s+(e>0?\"\":\" \"+\r\n-g.sPageButtonDisabled);break;case \"next\":m=j.sNext;l=s+(e\u003Cf-1?\"\":\" \"+g.sPageButtonDisabled);break;case \"last\":m=j.sLast;l=s+(e\u003Cf-1?\"\":\" \"+g.sPageButtonDisabled);break;default:m=s+1;l=e===s?g.sPageButtonActive:\"\"}if(m!==null){u=h(\"\u003Ca>\",{\"class\":g.sPageButton+\" \"+l,\"aria-controls\":a.sTableId,\"aria-label\":i[s],\"data-dt-idx\":p,tabindex:a.iTabIndex,id:c===0&&typeof s===\"string\"?a.sTableId+\"_\"+s:null}).html(m).appendTo(b);Ya(u,{action:s},v);p++}}}},t;try{t=h(b).find(H.activeElement).data(\"dt-idx\")}catch(u){}r(h(b).empty(),\r\n-d);t!==k&&h(b).find(\"[data-dt-idx=\"+t+\"]\").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return ab(a,c)?\"num\"+c:null},function(a){if(a&&!(a instanceof Date)&&!cc.test(a))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||M(a)?\"date\":null},function(a,b){var c=b.oLanguage.sDecimal;return ab(a,c,!0)?\"num-fmt\"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Sb(a,c)?\"html-num\"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Sb(a,c,!0)?\"html-num-fmt\"+\r\n-c:null},function(a){return M(a)||\"string\"===typeof a&&-1!==a.indexOf(\"\u003C\")?\"html\":null}]);h.extend(m.ext.type.search,{html:function(a){return M(a)?a:\"string\"===typeof a?a.replace(Pb,\" \").replace(Ca,\"\"):\"\"},string:function(a){return M(a)?a:\"string\"===typeof a?a.replace(Pb,\" \"):a}});var Ba=function(a,b,c,d){if(0!==a&&(!a||\"-\"===a))return-Infinity;b&&(a=Rb(a,b));a.replace&&(c&&(a=a.replace(c,\"\")),d&&(a=a.replace(d,\"\")));return 1*a};h.extend(x.type.order,{\"date-pre\":function(a){return Date.parse(a)||-Infinity},\r\n-\"html-pre\":function(a){return M(a)?\"\":a.replace?a.replace(\u002F\u003C.*?>\u002Fg,\"\").toLowerCase():a+\"\"},\"string-pre\":function(a){return M(a)?\"\":\"string\"===typeof a?a.toLowerCase():!a.toString?\"\":a.toString()},\"string-asc\":function(a,b){return a\u003Cb?-1:a>b?1:0},\"string-desc\":function(a,b){return a\u003Cb?1:a>b?-1:0}});fb(\"\");h.extend(!0,m.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on(\"order.dt.DT\",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+\" \"+d.sSortAsc+\" \"+d.sSortDesc).addClass(h[e]==\r\n-\"asc\"?d.sSortAsc:h[e]==\"desc\"?d.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,d){h(\"\u003Cdiv\u002F>\").addClass(d.sSortJUIWrapper).append(b.contents()).append(h(\"\u003Cspan\u002F>\").addClass(d.sSortIcon+\" \"+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on(\"order.dt.DT\",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+\" \"+d.sSortDesc).addClass(h[e]==\"asc\"?d.sSortAsc:h[e]==\"desc\"?d.sSortDesc:c.sSortingClass);b.find(\"span.\"+d.sSortIcon).removeClass(d.sSortJUIAsc+\" \"+d.sSortJUIDesc+\" \"+d.sSortJUI+\" \"+\r\n-d.sSortJUIAscAllowed+\" \"+d.sSortJUIDescAllowed).addClass(h[e]==\"asc\"?d.sSortJUIAsc:h[e]==\"desc\"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});var Zb=function(a){return\"string\"===typeof a?a.replace(\u002F\u003C\u002Fg,\"&lt;\").replace(\u002F>\u002Fg,\"&gt;\").replace(\u002F\"\u002Fg,\"&quot;\"):a};m.render={number:function(a,b,c,d,e){return{display:function(f){if(\"number\"!==typeof f&&\"string\"!==typeof f)return f;var g=0>f?\"-\":\"\",h=parseFloat(f);if(isNaN(h))return Zb(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):\r\n-\"\";return g+(d||\"\")+h.toString().replace(\u002F\\B(?=(\\d{3})+(?!\\d))\u002Fg,a)+f+(e||\"\")}}},text:function(){return{display:Zb}}};h.extend(m.ext.internal,{_fnExternApiFunc:Ob,_fnBuildAjax:ua,_fnAjaxUpdate:nb,_fnAjaxParameters:wb,_fnAjaxUpdateDraw:xb,_fnAjaxDataSrc:va,_fnAddColumn:Ga,_fnColumnOptions:la,_fnAdjustColumnSizing:Z,_fnVisibleToColumnIndex:$,_fnColumnIndexToVisible:aa,_fnVisbleColumns:ba,_fnGetColumns:na,_fnColumnTypes:Ia,_fnApplyColumnDefs:kb,_fnHungarianMap:Y,_fnCamelToHungarian:J,_fnLanguageCompat:Fa,\r\n-_fnBrowserDetect:ib,_fnAddData:N,_fnAddTr:oa,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==k?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:B,_fnSetCellData:lb,_fnSplitObjNotation:La,_fnGetObjectDataFn:R,_fnSetObjectDataFn:S,_fnGetDataMaster:Ma,_fnClearTable:pa,_fnDeleteIndex:qa,_fnInvalidate:da,_fnGetRowElements:Ka,_fnCreateTr:Ja,_fnBuildHead:mb,_fnDrawHead:fa,_fnDraw:O,_fnReDraw:T,_fnAddOptionsHtml:pb,_fnDetectHeader:ea,\r\n-_fnGetUniqueThs:ta,_fnFeatureHtmlFilter:rb,_fnFilterComplete:ga,_fnFilterCustom:Ab,_fnFilterColumn:zb,_fnFilter:yb,_fnFilterCreateSearch:Ra,_fnEscapeRegex:Sa,_fnFilterData:Bb,_fnFeatureHtmlInfo:ub,_fnUpdateInfo:Eb,_fnInfoMacros:Fb,_fnInitialise:ha,_fnInitComplete:wa,_fnLengthChange:Ta,_fnFeatureHtmlLength:qb,_fnFeatureHtmlPaginate:vb,_fnPageChange:Va,_fnFeatureHtmlProcessing:sb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:tb,_fnScrollDraw:ma,_fnApplyToChildren:I,_fnCalculateColumnWidths:Ha,_fnThrottle:Qa,\r\n-_fnConvertToWidth:Gb,_fnGetWidestNode:Hb,_fnGetMaxLenString:Ib,_fnStringToCss:v,_fnSortFlatten:W,_fnSort:ob,_fnSortAria:Kb,_fnSortListener:Xa,_fnSortAttachListener:Oa,_fnSortingClasses:ya,_fnSortData:Jb,_fnSaveState:za,_fnLoadState:Lb,_fnSettingsFromNode:Aa,_fnLog:K,_fnMap:F,_fnBindAction:Ya,_fnCallbackReg:z,_fnCallbackFire:s,_fnLengthOverflow:Ua,_fnRenderer:Pa,_fnDataSource:y,_fnRowAttributes:Na,_fnCalculateEnd:function(){}});h.fn.dataTable=m;m.$=h;h.fn.dataTableSettings=m.settings;h.fn.dataTableExt=\r\n-m.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};h.each(m,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable});\r\n-\r\n \u002F*! Quickfit *\u002F\r\n !function(a){var b,c,d,e;e=\"quickfit\",d={min:8,max:12,tolerance:.02,truncate:!1,width:null,sampleNumberOfLetters:10,sampleFontSize:12},c=function(){function c(b){this.options=b,this.item=a('\u003Cspan id=\"meassure\">\u003C\u002Fspan>'),this.item.css({position:\"absolute\",left:\"-1000px\",top:\"-1000px\",\"font-size\":this.options.sampleFontSize+\"px\"}),a(\"body\").append(this.item),this.meassures={}}var b=null;return c.instance=function(a){return b||(b=new c(a)),b},c.prototype.getMeassure=function(a){var b;return b=this.meassures[a],b||(b=this.setMeassure(a)),b},c.prototype.setMeassure=function(a){var b,c,d,e,f;for(e=\"\",d=\" \"===a?\"&nbsp;\":a,c=0,f=this.options.sampleNumberOfLetters-1;0\u003C=f?c\u003C=f:c>=f;0\u003C=f?c++:c--)e+=d;return this.item.html(e),b=this.item.width()\u002Fthis.options.sampleNumberOfLetters\u002Fthis.options.sampleFontSize,this.meassures[a]=b,b},c}(),b=function(){function b(b,f){this.$element=b,this.options=a.extend({},d,f),this.$element=a(this.$element),this._defaults=d,this._name=e,this.quickfitHelper=c.instance(this.options)}return b.prototype.fit=function(){var a;return this.options.width||(a=this.$element.width(),this.options.width=a-this.options.tolerance*a),(this.text=this.$element.attr(\"data-quickfit\"))?this.previouslyTruncated=!0:this.text=this.$element.text(),this.calculateFontSize(),this.options.truncate&&this.truncate(),{$element:this.$element,size:this.fontSize}},b.prototype.calculateFontSize=function(){var a,b,c;for(b=0,c=0;c\u003Cthis.text.length;++c)a=this.text.charAt(c),b+=this.quickfitHelper.getMeassure(a);return this.targetFontSize=parseInt(this.options.width\u002Fb),this.fontSize=Math.max(this.options.min,Math.min(this.options.max,this.targetFontSize))},b.prototype.truncate=function(){var a,b,c,d,e;if(this.fontSize>this.targetFontSize){for(d=\"\",e=3*this.quickfitHelper.getMeassure(\".\")*this.fontSize,a=0;e\u003Cthis.options.width&&a\u003Cthis.text.length;)c=this.text[a++],b&&(d+=b),e+=this.fontSize*this.quickfitHelper.getMeassure(c),b=c;return d.length+1===this.text.length?d=this.text:d+=\"...\",this.textWasTruncated=!0,this.$element.attr(\"data-quickfit\",this.text).html(d)}if(this.previouslyTruncated)return this.$element.html(this.text)},b}(),a.fn.quickfit=function(a){for(var c=[],d=this.each(function(){var d=new b(this,a).fit();return c.push(d),d.$element}),e=0;e\u003Cc.length;e++){var f=c[e];f.$element.css({fontSize:f.size+\"px\"})}return d}}(jQuery,window);\r\n \r\n@@ -207,101 +39,8 @@\n return position;};ModuloColumns.prototype._getContainerSize=function(){return{height:Math.max.apply(Math,this.columnHeights)}};}\r\n if('function'===typeof define&&define.amd){define(['isotope\u002Fjs\u002Flayout-mode'],moduloColumnsLayoutModeDefinition)}else{moduloColumnsLayoutModeDefinition((window.Isotope.LayoutMode));}})(window);\r\n \r\n-\u002F\u002F! moment.js\r\n-\u002F\u002F! version : 2.8.4\r\n-\u002F\u002F! authors : Tim Wood, Iskren Chernev, Moment.js contributors\r\n-\u002F\u002F! license : MIT\r\n-\u002F\u002F! momentjs.com\r\n-(function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error(\"Implement me\")}}function c(a,b){return zb.call(a,b)}function d(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function e(a){tb.suppressDeprecationWarnings===!1&&\"undefined\"!=typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+a)}function f(a,b){var c=!0;return m(function(){return c&&(e(a),c=!1),b.apply(this,arguments)},b)}function g(a,b){qc[a]||(e(b),qc[a]=!0)}function h(a,b){return function(c){return p(a.call(this,c),b)}}function i(a,b){return function(c){return this.localeData().ordinal(a.call(this,c),b)}}function j(){}function k(a,b){b!==!1&&F(a),n(this,a),this._d=new Date(+a._d)}function l(a){var b=y(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=tb.localeData(),this._bubble()}function m(a,b){for(var d in b)c(b,d)&&(a[d]=b[d]);return c(b,\"toString\")&&(a.toString=b.toString),c(b,\"valueOf\")&&(a.valueOf=b.valueOf),a}function n(a,b){var c,d,e;if(\"undefined\"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),\"undefined\"!=typeof b._i&&(a._i=b._i),\"undefined\"!=typeof b._f&&(a._f=b._f),\"undefined\"!=typeof b._l&&(a._l=b._l),\"undefined\"!=typeof b._strict&&(a._strict=b._strict),\"undefined\"!=typeof b._tzm&&(a._tzm=b._tzm),\"undefined\"!=typeof b._isUTC&&(a._isUTC=b._isUTC),\"undefined\"!=typeof b._offset&&(a._offset=b._offset),\"undefined\"!=typeof b._pf&&(a._pf=b._pf),\"undefined\"!=typeof b._locale&&(a._locale=b._locale),Ib.length>0)for(c in Ib)d=Ib[c],e=b[d],\"undefined\"!=typeof e&&(a[d]=e);return a}function o(a){return 0>a?Math.ceil(a):Math.floor(a)}function p(a,b,c){for(var d=\"\"+Math.abs(a),e=a>=0;d.length\u003Cb;)d=\"0\"+d;return(e?c?\"+\":\"\":\"-\")+d}function q(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,\"M\").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,\"M\"),c}function r(a,b){var c;return b=K(b,a),a.isBefore(b)?c=q(a,b):(c=q(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function s(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(g(b,\"moment().\"+b+\"(period, number) is deprecated. Please use moment().\"+b+\"(number, period).\"),f=c,c=d,d=f),c=\"string\"==typeof c?+c:c,e=tb.duration(c,d),t(this,e,a),this}}function t(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&nb(a,\"Date\",mb(a,\"Date\")+f*c),g&&lb(a,mb(a,\"Month\")+g*c),d&&tb.updateOffset(a,f||g)}function u(a){return\"[object Array]\"===Object.prototype.toString.call(a)}function v(a){return\"[object Date]\"===Object.prototype.toString.call(a)||a instanceof Date}function w(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&A(a[d])!==A(b[d]))&&g++;return g+f}function x(a){if(a){var b=a.toLowerCase().replace(\u002F(.)s$\u002F,\"$1\");a=jc[a]||kc[b]||b}return a}function y(a){var b,d,e={};for(d in a)c(a,d)&&(b=x(d),b&&(e[b]=a[d]));return e}function z(b){var c,d;if(0===b.indexOf(\"week\"))c=7,d=\"day\";else{if(0!==b.indexOf(\"month\"))return;c=12,d=\"month\"}tb[b]=function(e,f){var g,h,i=tb._locale[b],j=[];if(\"number\"==typeof e&&(f=e,e=a),h=function(a){var b=tb().utc().set(d,a);return i.call(tb._locale,b,e||\"\")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function A(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function B(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function C(a,b,c){return hb(tb([a,11,31+b-c]),b,c).week}function D(a){return E(a)?366:365}function E(a){return a%4===0&&a%100!==0||a%400===0}function F(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[Bb]\u003C0||a._a[Bb]>11?Bb:a._a[Cb]\u003C1||a._a[Cb]>B(a._a[Ab],a._a[Bb])?Cb:a._a[Db]\u003C0||a._a[Db]>24||24===a._a[Db]&&(0!==a._a[Eb]||0!==a._a[Fb]||0!==a._a[Gb])?Db:a._a[Eb]\u003C0||a._a[Eb]>59?Eb:a._a[Fb]\u003C0||a._a[Fb]>59?Fb:a._a[Gb]\u003C0||a._a[Gb]>999?Gb:-1,a._pf._overflowDayOfYear&&(Ab>b||b>Cb)&&(b=Cb),a._pf.overflow=b)}function G(b){return null==b._isValid&&(b._isValid=!isNaN(b._d.getTime())&&b._pf.overflow\u003C0&&!b._pf.empty&&!b._pf.invalidMonth&&!b._pf.nullInput&&!b._pf.invalidFormat&&!b._pf.userInvalidated,b._strict&&(b._isValid=b._isValid&&0===b._pf.charsLeftOver&&0===b._pf.unusedTokens.length&&b._pf.bigHour===a)),b._isValid}function H(a){return a?a.toLowerCase().replace(\"_\",\"-\"):a}function I(a){for(var b,c,d,e,f=0;f\u003Ca.length;){for(e=H(a[f]).split(\"-\"),b=e.length,c=H(a[f+1]),c=c?c.split(\"-\"):null;b>0;){if(d=J(e.slice(0,b).join(\"-\")))return d;if(c&&c.length>=b&&w(e,c,!0)>=b-1)break;b--}f++}return null}function J(a){var b=null;if(!Hb[a]&&Jb)try{b=tb.locale(),require(\".\u002Flocale\u002F\"+a),tb.locale(b)}catch(c){}return Hb[a]}function K(a,b){var c,d;return b._isUTC?(c=b.clone(),d=(tb.isMoment(a)||v(a)?+a:+tb(a))-+c,c._d.setTime(+c._d+d),tb.updateOffset(c,!1),c):tb(a).local()}function L(a){return a.match(\u002F\\[[\\s\\S]\u002F)?a.replace(\u002F^\\[|\\]$\u002Fg,\"\"):a.replace(\u002F\\\\\u002Fg,\"\")}function M(a){var b,c,d=a.match(Nb);for(b=0,c=d.length;c>b;b++)d[b]=pc[d[b]]?pc[d[b]]:L(d[b]);return function(e){var f=\"\";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function N(a,b){return a.isValid()?(b=O(b,a.localeData()),lc[b]||(lc[b]=M(b)),lc[b](a)):a.localeData().invalidDate()}function O(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Ob.lastIndex=0;d>=0&&Ob.test(a);)a=a.replace(Ob,c),Ob.lastIndex=0,d-=1;return a}function P(a,b){var c,d=b._strict;switch(a){case\"Q\":return Zb;case\"DDDD\":return _b;case\"YYYY\":case\"GGGG\":case\"gggg\":return d?ac:Rb;case\"Y\":case\"G\":case\"g\":return cc;case\"YYYYYY\":case\"YYYYY\":case\"GGGGG\":case\"ggggg\":return d?bc:Sb;case\"S\":if(d)return Zb;case\"SS\":if(d)return $b;case\"SSS\":if(d)return _b;case\"DDD\":return Qb;case\"MMM\":case\"MMMM\":case\"dd\":case\"ddd\":case\"dddd\":return Ub;case\"a\":case\"A\":return b._locale._meridiemParse;case\"x\":return Xb;case\"X\":return Yb;case\"Z\":case\"ZZ\":return Vb;case\"T\":return Wb;case\"SSSS\":return Tb;case\"MM\":case\"DD\":case\"YY\":case\"GG\":case\"gg\":case\"HH\":case\"hh\":case\"mm\":case\"ss\":case\"ww\":case\"WW\":return d?$b:Pb;case\"M\":case\"D\":case\"d\":case\"H\":case\"h\":case\"m\":case\"s\":case\"w\":case\"W\":case\"e\":case\"E\":return Pb;case\"Do\":return d?b._locale._ordinalParse:b._locale._ordinalParseLenient;default:return c=new RegExp(Y(X(a.replace(\"\\\\\",\"\")),\"i\"))}}function Q(a){a=a||\"\";var b=a.match(Vb)||[],c=b[b.length-1]||[],d=(c+\"\").match(hc)||[\"-\",0,0],e=+(60*d[1])+A(d[2]);return\"+\"===d[0]?-e:e}function R(a,b,c){var d,e=c._a;switch(a){case\"Q\":null!=b&&(e[Bb]=3*(A(b)-1));break;case\"M\":case\"MM\":null!=b&&(e[Bb]=A(b)-1);break;case\"MMM\":case\"MMMM\":d=c._locale.monthsParse(b,a,c._strict),null!=d?e[Bb]=d:c._pf.invalidMonth=b;break;case\"D\":case\"DD\":null!=b&&(e[Cb]=A(b));break;case\"Do\":null!=b&&(e[Cb]=A(parseInt(b.match(\u002F\\d{1,2}\u002F)[0],10)));break;case\"DDD\":case\"DDDD\":null!=b&&(c._dayOfYear=A(b));break;case\"YY\":e[Ab]=tb.parseTwoDigitYear(b);break;case\"YYYY\":case\"YYYYY\":case\"YYYYYY\":e[Ab]=A(b);break;case\"a\":case\"A\":c._isPm=c._locale.isPM(b);break;case\"h\":case\"hh\":c._pf.bigHour=!0;case\"H\":case\"HH\":e[Db]=A(b);break;case\"m\":case\"mm\":e[Eb]=A(b);break;case\"s\":case\"ss\":e[Fb]=A(b);break;case\"S\":case\"SS\":case\"SSS\":case\"SSSS\":e[Gb]=A(1e3*(\"0.\"+b));break;case\"x\":c._d=new Date(A(b));break;case\"X\":c._d=new Date(1e3*parseFloat(b));break;case\"Z\":case\"ZZ\":c._useUTC=!0,c._tzm=Q(b);break;case\"dd\":case\"ddd\":case\"dddd\":d=c._locale.weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case\"w\":case\"ww\":case\"W\":case\"WW\":case\"d\":case\"e\":case\"E\":a=a.substr(0,1);case\"gggg\":case\"GGGG\":case\"GGGGG\":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=A(b));break;case\"gg\":case\"GG\":c._w=c._w||{},c._w[a]=tb.parseTwoDigitYear(b)}}function S(a){var c,d,e,f,g,h,i;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[Ab],hb(tb(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(g=a._locale._week.dow,h=a._locale._week.doy,d=b(c.gg,a._a[Ab],hb(tb(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=ib(d,e,f,h,g),a._a[Ab]=i.year,a._dayOfYear=i.dayOfYear}function T(a){var c,d,e,f,g=[];if(!a._d){for(e=V(a),a._w&&null==a._a[Cb]&&null==a._a[Bb]&&S(a),a._dayOfYear&&(f=b(a._a[Ab],e[Ab]),a._dayOfYear>D(f)&&(a._pf._overflowDayOfYear=!0),d=db(f,0,a._dayOfYear),a._a[Bb]=d.getUTCMonth(),a._a[Cb]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];24===a._a[Db]&&0===a._a[Eb]&&0===a._a[Fb]&&0===a._a[Gb]&&(a._nextDay=!0,a._a[Db]=0),a._d=(a._useUTC?db:cb).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm),a._nextDay&&(a._a[Db]=24)}}function U(a){var b;a._d||(b=y(a._i),a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],T(a))}function V(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function W(b){if(b._f===tb.ISO_8601)return void $(b);b._a=[],b._pf.empty=!0;var c,d,e,f,g,h=\"\"+b._i,i=h.length,j=0;for(e=O(b._f,b._locale).match(Nb)||[],c=0;c\u003Ce.length;c++)f=e[c],d=(h.match(P(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&b._pf.unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),pc[f]?(d?b._pf.empty=!1:b._pf.unusedTokens.push(f),R(f,d,b)):b._strict&&!d&&b._pf.unusedTokens.push(f);b._pf.charsLeftOver=i-j,h.length>0&&b._pf.unusedInput.push(h),b._pf.bigHour===!0&&b._a[Db]\u003C=12&&(b._pf.bigHour=a),b._isPm&&b._a[Db]\u003C12&&(b._a[Db]+=12),b._isPm===!1&&12===b._a[Db]&&(b._a[Db]=0),T(b),F(b)}function X(a){return a.replace(\u002F\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)\u002Fg,function(a,b,c,d,e){return b||c||d||e})}function Y(a){return a.replace(\u002F[-\\\u002F\\\\^$*+?.()|[\\]{}]\u002Fg,\"\\\\$&\")}function Z(a){var b,c,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0\u002F0));for(f=0;f\u003Ca._f.length;f++)g=0,b=n({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._pf=d(),b._f=a._f[f],W(b),G(b)&&(g+=b._pf.charsLeftOver,g+=10*b._pf.unusedTokens.length,b._pf.score=g,(null==e||e>g)&&(e=g,c=b));m(a,c||b)}function $(a){var b,c,d=a._i,e=dc.exec(d);if(e){for(a._pf.iso=!0,b=0,c=fc.length;c>b;b++)if(fc[b][1].exec(d)){a._f=fc[b][0]+(e[6]||\" \");break}for(b=0,c=gc.length;c>b;b++)if(gc[b][1].exec(d)){a._f+=gc[b][0];break}d.match(Vb)&&(a._f+=\"Z\"),W(a)}else a._isValid=!1}function _(a){$(a),a._isValid===!1&&(delete a._isValid,tb.createFromInputFallback(a))}function ab(a,b){var c,d=[];for(c=0;c\u003Ca.length;++c)d.push(b(a[c],c));return d}function bb(b){var c,d=b._i;d===a?b._d=new Date:v(d)?b._d=new Date(+d):null!==(c=Kb.exec(d))?b._d=new Date(+c[1]):\"string\"==typeof d?_(b):u(d)?(b._a=ab(d.slice(0),function(a){return parseInt(a,10)}),T(b)):\"object\"==typeof d?U(b):\"number\"==typeof d?b._d=new Date(d):tb.createFromInputFallback(b)}function cb(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function db(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function eb(a,b){if(\"string\"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),\"number\"!=typeof a)return null}else a=parseInt(a,10);return a}function fb(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function gb(a,b,c){var d=tb.duration(a).abs(),e=yb(d.as(\"s\")),f=yb(d.as(\"m\")),g=yb(d.as(\"h\")),h=yb(d.as(\"d\")),i=yb(d.as(\"M\")),j=yb(d.as(\"y\")),k=e\u003Cmc.s&&[\"s\",e]||1===f&&[\"m\"]||f\u003Cmc.m&&[\"mm\",f]||1===g&&[\"h\"]||g\u003Cmc.h&&[\"hh\",g]||1===h&&[\"d\"]||h\u003Cmc.d&&[\"dd\",h]||1===i&&[\"M\"]||i\u003Cmc.M&&[\"MM\",i]||1===j&&[\"y\"]||[\"yy\",j];return k[2]=b,k[3]=+a>0,k[4]=c,fb.apply({},k)}function hb(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=tb(a).add(f,\"d\"),{week:Math.ceil(d.dayOfYear()\u002F7),year:d.year()}}function ib(a,b,c,d,e){var f,g,h=db(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:D(a-1)+g}}function jb(b){var c,d=b._i,e=b._f;return b._locale=b._locale||tb.localeData(b._l),null===d||e===a&&\"\"===d?tb.invalid({nullInput:!0}):(\"string\"==typeof d&&(b._i=d=b._locale.preparse(d)),tb.isMoment(d)?new k(d,!0):(e?u(e)?Z(b):W(b):bb(b),c=new k(b),c._nextDay&&(c.add(1,\"d\"),c._nextDay=a),c))}function kb(a,b){var c,d;if(1===b.length&&u(b[0])&&(b=b[0]),!b.length)return tb();for(c=b[0],d=1;d\u003Cb.length;++d)b[d][a](c)&&(c=b[d]);return c}function lb(a,b){var c;return\"string\"==typeof b&&(b=a.localeData().monthsParse(b),\"number\"!=typeof b)?a:(c=Math.min(a.date(),B(a.year(),b)),a._d[\"set\"+(a._isUTC?\"UTC\":\"\")+\"Month\"](b,c),a)}function mb(a,b){return a._d[\"get\"+(a._isUTC?\"UTC\":\"\")+b]()}function nb(a,b,c){return\"Month\"===b?lb(a,c):a._d[\"set\"+(a._isUTC?\"UTC\":\"\")+b](c)}function ob(a,b){return function(c){return null!=c?(nb(this,a,c),tb.updateOffset(this,b),this):mb(this,a)}}function pb(a){return 400*a\u002F146097}function qb(a){return 146097*a\u002F400}function rb(a){tb.duration.fn[a]=function(){return this._data[a]}}function sb(a){\"undefined\"==typeof ender&&(ub=xb.moment,xb.moment=a?f(\"Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.\",tb):tb)}for(var tb,ub,vb,wb=\"2.8.4\",xb=\"undefined\"!=typeof global?global:this,yb=Math.round,zb=Object.prototype.hasOwnProperty,Ab=0,Bb=1,Cb=2,Db=3,Eb=4,Fb=5,Gb=6,Hb={},Ib=[],Jb=\"undefined\"!=typeof module&&module&&module.exports,Kb=\u002F^\\\u002F?Date\\((\\-?\\d+)\u002Fi,Lb=\u002F(\\-)?(?:(\\d*)\\.)?(\\d+)\\:(\\d+)(?:\\:(\\d+)\\.?(\\d{3})?)?\u002F,Mb=\u002F^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$\u002F,Nb=\u002F(\\[[^\\[]*\\])|(\\\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)\u002Fg,Ob=\u002F(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})\u002Fg,Pb=\u002F\\d\\d?\u002F,Qb=\u002F\\d{1,3}\u002F,Rb=\u002F\\d{1,4}\u002F,Sb=\u002F[+\\-]?\\d{1,6}\u002F,Tb=\u002F\\d+\u002F,Ub=\u002F[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\\u002F]+(\\s*?[\\u0600-\\u06FF]+){1,2}\u002Fi,Vb=\u002FZ|[\\+\\-]\\d\\d:?\\d\\d\u002Fgi,Wb=\u002FT\u002Fi,Xb=\u002F[\\+\\-]?\\d+\u002F,Yb=\u002F[\\+\\-]?\\d+(\\.\\d{1,3})?\u002F,Zb=\u002F\\d\u002F,$b=\u002F\\d\\d\u002F,_b=\u002F\\d{3}\u002F,ac=\u002F\\d{4}\u002F,bc=\u002F[+-]?\\d{6}\u002F,cc=\u002F[+-]?\\d+\u002F,dc=\u002F^\\s*(?:[+-]\\d{6}|\\d{4})-(?:(\\d\\d-\\d\\d)|(W\\d\\d$)|(W\\d\\d-\\d)|(\\d\\d\\d))((T| )(\\d\\d(:\\d\\d(:\\d\\d(\\.\\d+)?)?)?)?([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$\u002F,ec=\"YYYY-MM-DDTHH:mm:ssZ\",fc=[[\"YYYYYY-MM-DD\",\u002F[+-]\\d{6}-\\d{2}-\\d{2}\u002F],[\"YYYY-MM-DD\",\u002F\\d{4}-\\d{2}-\\d{2}\u002F],[\"GGGG-[W]WW-E\",\u002F\\d{4}-W\\d{2}-\\d\u002F],[\"GGGG-[W]WW\",\u002F\\d{4}-W\\d{2}\u002F],[\"YYYY-DDD\",\u002F\\d{4}-\\d{3}\u002F]],gc=[[\"HH:mm:ss.SSSS\",\u002F(T| )\\d\\d:\\d\\d:\\d\\d\\.\\d+\u002F],[\"HH:mm:ss\",\u002F(T| )\\d\\d:\\d\\d:\\d\\d\u002F],[\"HH:mm\",\u002F(T| )\\d\\d:\\d\\d\u002F],[\"HH\",\u002F(T| )\\d\\d\u002F]],hc=\u002F([\\+\\-]|\\d\\d)\u002Fgi,ic=(\"Date|Hours|Minutes|Seconds|Milliseconds\".split(\"|\"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),jc={ms:\"millisecond\",s:\"second\",m:\"minute\",h:\"hour\",d:\"day\",D:\"date\",w:\"week\",W:\"isoWeek\",M:\"month\",Q:\"quarter\",y:\"year\",DDD:\"dayOfYear\",e:\"weekday\",E:\"isoWeekday\",gg:\"weekYear\",GG:\"isoWeekYear\"},kc={dayofyear:\"dayOfYear\",isoweekday:\"isoWeekday\",isoweek:\"isoWeek\",weekyear:\"weekYear\",isoweekyear:\"isoWeekYear\"},lc={},mc={s:45,m:45,h:22,d:26,M:11},nc=\"DDD w W M D d\".split(\" \"),oc=\"M D H h m s w W\".split(\" \"),pc={M:function(){return this.month()+1},MMM:function(a){return this.localeData().monthsShort(this,a)},MMMM:function(a){return this.localeData().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.localeData().weekdaysMin(this,a)},ddd:function(a){return this.localeData().weekdaysShort(this,a)},dddd:function(a){return this.localeData().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return p(this.year()%100,2)},YYYY:function(){return p(this.year(),4)},YYYYY:function(){return p(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?\"+\":\"-\";return b+p(Math.abs(a),6)},gg:function(){return p(this.weekYear()%100,2)},gggg:function(){return p(this.weekYear(),4)},ggggg:function(){return p(this.weekYear(),5)},GG:function(){return p(this.isoWeekYear()%100,2)},GGGG:function(){return p(this.isoWeekYear(),4)},GGGGG:function(){return p(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return A(this.milliseconds()\u002F100)},SS:function(){return p(A(this.milliseconds()\u002F10),2)},SSS:function(){return p(this.milliseconds(),3)},SSSS:function(){return p(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b=\"+\";return 0>a&&(a=-a,b=\"-\"),b+p(A(a\u002F60),2)+\":\"+p(A(a)%60,2)},ZZ:function(){var a=-this.zone(),b=\"+\";return 0>a&&(a=-a,b=\"-\"),b+p(A(a\u002F60),2)+p(A(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},qc={},rc=[\"months\",\"monthsShort\",\"weekdays\",\"weekdaysShort\",\"weekdaysMin\"];nc.length;)vb=nc.pop(),pc[vb+\"o\"]=i(pc[vb],vb);for(;oc.length;)vb=oc.pop(),pc[vb+vb]=h(pc[vb],2);pc.DDDD=h(pc.DDD,3),m(j.prototype,{set:function(a){var b,c;for(c in a)b=a[c],\"function\"==typeof b?this[c]=b:this[\"_\"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+\"|\"+\u002F\\d{1,2}\u002F.source)},_months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),months:function(a){return this._months[a.month()]},_monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=tb.utc([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp(\"^\"+this.months(e,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[d]=new RegExp(\"^\"+this.monthsShort(e,\"\").replace(\".\",\"\")+\"$\",\"i\")),c||this._monthsParse[d]||(f=\"^\"+this.months(e,\"\")+\"|^\"+this.monthsShort(e,\"\"),this._monthsParse[d]=new RegExp(f.replace(\".\",\"\"),\"i\")),c&&\"MMMM\"===b&&this._longMonthsParse[d].test(a))return d;if(c&&\"MMM\"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}},_weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=tb([2e3,1]).day(b),d=\"^\"+this.weekdays(c,\"\")+\"|^\"+this.weekdaysShort(c,\"\")+\"|^\"+this.weekdaysMin(c,\"\"),this._weekdaysParse[b]=new RegExp(d.replace(\".\",\"\"),\"i\")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM\u002FDD\u002FYYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY LT\",LLLL:\"dddd, MMMM D, YYYY LT\"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(\u002FMMMM|MM|DD|dddd\u002Fg,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return\"p\"===(a+\"\").toLowerCase().charAt(0)},_meridiemParse:\u002F[ap]\\.?m?\\.?\u002Fi,meridiem:function(a,b,c){return a>11?c?\"pm\":\"PM\":c?\"am\":\"AM\"},_calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},calendar:function(a,b,c){var d=this._calendar[a];return\"function\"==typeof d?d.apply(b,[c]):d},_relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return\"function\"==typeof e?e(a,b,c,d):e.replace(\u002F%d\u002Fi,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?\"future\":\"past\"];return\"function\"==typeof c?c(b):c.replace(\u002F%s\u002Fi,b)},ordinal:function(a){return this._ordinal.replace(\"%d\",a)},_ordinal:\"%d\",_ordinalParse:\u002F\\d{1,2}\u002F,preparse:function(a){return a},postformat:function(a){return a},week:function(a){return hb(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:\"Invalid date\",invalidDate:function(){return this._invalidDate}}),tb=function(b,c,e,f){var g;return\"boolean\"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=c,g._l=e,g._strict=f,g._isUTC=!1,g._pf=d(),jb(g)},tb.suppressDeprecationWarnings=!1,tb.createFromInputFallback=f(\"moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https:\u002F\u002Fgithub.com\u002Fmoment\u002Fmoment\u002Fissues\u002F1407 for more info.\",function(a){a._d=new Date(a._i+(a._useUTC?\" UTC\":\"\"))}),tb.min=function(){var a=[].slice.call(arguments,0);return kb(\"isBefore\",a)},tb.max=function(){var a=[].slice.call(arguments,0);return kb(\"isAfter\",a)},tb.utc=function(b,c,e,f){var g;return\"boolean\"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=c,g._strict=f,g._pf=d(),jb(g).utc()},tb.unix=function(a){return tb(1e3*a)},tb.duration=function(a,b){var d,e,f,g,h=a,i=null;return tb.isDuration(a)?h={ms:a._milliseconds,d:a._days,M:a._months}:\"number\"==typeof a?(h={},b?h[b]=a:h.milliseconds=a):(i=Lb.exec(a))?(d=\"-\"===i[1]?-1:1,h={y:0,d:A(i[Cb])*d,h:A(i[Db])*d,m:A(i[Eb])*d,s:A(i[Fb])*d,ms:A(i[Gb])*d}):(i=Mb.exec(a))?(d=\"-\"===i[1]?-1:1,f=function(a){var b=a&&parseFloat(a.replace(\",\",\".\"));return(isNaN(b)?0:b)*d},h={y:f(i[2]),M:f(i[3]),d:f(i[4]),h:f(i[5]),m:f(i[6]),s:f(i[7]),w:f(i[8])}):\"object\"==typeof h&&(\"from\"in h||\"to\"in h)&&(g=r(tb(h.from),tb(h.to)),h={},h.ms=g.milliseconds,h.M=g.months),e=new l(h),tb.isDuration(a)&&c(a,\"_locale\")&&(e._locale=a._locale),e},tb.version=wb,tb.defaultFormat=ec,tb.ISO_8601=function(){},tb.momentProperties=Ib,tb.updateOffset=function(){},tb.relativeTimeThreshold=function(b,c){return mc[b]===a?!1:c===a?mc[b]:(mc[b]=c,!0)},tb.lang=f(\"moment.lang is deprecated. Use moment.locale instead.\",function(a,b){return tb.locale(a,b)}),tb.locale=function(a,b){var c;return a&&(c=\"undefined\"!=typeof b?tb.defineLocale(a,b):tb.localeData(a),c&&(tb.duration._locale=tb._locale=c)),tb._locale._abbr},tb.defineLocale=function(a,b){return null!==b?(b.abbr=a,Hb[a]||(Hb[a]=new j),Hb[a].set(b),tb.locale(a),Hb[a]):(delete Hb[a],null)},tb.langData=f(\"moment.langData is deprecated. Use moment.localeData instead.\",function(a){return tb.localeData(a)}),tb.localeData=function(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return tb._locale;if(!u(a)){if(b=J(a))return b;a=[a]}return I(a)},tb.isMoment=function(a){return a instanceof k||null!=a&&c(a,\"_isAMomentObject\")},tb.isDuration=function(a){return a instanceof l};for(vb=rc.length-1;vb>=0;--vb)z(rc[vb]);tb.normalizeUnits=function(a){return x(a)},tb.invalid=function(a){var b=tb.utc(0\u002F0);return null!=a?m(b._pf,a):b._pf.userInvalidated=!0,b},tb.parseZone=function(){return tb.apply(null,arguments).parseZone()},tb.parseTwoDigitYear=function(a){return A(a)+(A(a)>68?1900:2e3)},m(tb.fn=k.prototype,{clone:function(){return tb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this\u002F1e3)},toString:function(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=tb(this).utc();return 0\u003Ca.year()&&a.year()\u003C=9999?\"function\"==typeof Date.prototype.toISOString?this.toDate().toISOString():N(a,\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"):N(a,\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return G(this)},isDSTShifted:function(){return this._a?this.isValid()&&w(this._a,(this._isUTC?tb.utc(this._a):tb(this._a)).toArray())>0:!1},parsingFlags:function(){return m({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(a){return this.zone(0,a)},local:function(a){return this._isUTC&&(this.zone(0,a),this._isUTC=!1,a&&this.add(this._dateTzOffset(),\"m\")),this},format:function(a){var b=N(this,a||tb.defaultFormat);return this.localeData().postformat(b)},add:s(1,\"add\"),subtract:s(-1,\"subtract\"),diff:function(a,b,c){var d,e,f,g=K(a,this),h=6e4*(this.zone()-g.zone());return b=x(b),\"year\"===b||\"month\"===b?(d=432e5*(this.daysInMonth()+g.daysInMonth()),e=12*(this.year()-g.year())+(this.month()-g.month()),f=this-tb(this).startOf(\"month\")-(g-tb(g).startOf(\"month\")),f-=6e4*(this.zone()-tb(this).startOf(\"month\").zone()-(g.zone()-tb(g).startOf(\"month\").zone())),e+=f\u002Fd,\"year\"===b&&(e\u002F=12)):(d=this-g,e=\"second\"===b?d\u002F1e3:\"minute\"===b?d\u002F6e4:\"hour\"===b?d\u002F36e5:\"day\"===b?(d-h)\u002F864e5:\"week\"===b?(d-h)\u002F6048e5:d),c?e:o(e)},from:function(a,b){return tb.duration({to:this,from:a}).locale(this.locale()).humanize(!b)},fromNow:function(a){return this.from(tb(),a)},calendar:function(a){var b=a||tb(),c=K(b,this).startOf(\"day\"),d=this.diff(c,\"days\",!0),e=-6>d?\"sameElse\":-1>d?\"lastWeek\":0>d?\"lastDay\":1>d?\"sameDay\":2>d?\"nextDay\":7>d?\"nextWeek\":\"sameElse\";return this.format(this.localeData().calendar(e,this,tb(b)))},isLeapYear:function(){return E(this.year())},isDST:function(){return this.zone()\u003Cthis.clone().month(0).zone()||this.zone()\u003Cthis.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=eb(a,this.localeData()),this.add(a-b,\"d\")):b},month:ob(\"Month\",!0),startOf:function(a){switch(a=x(a)){case\"year\":this.month(0);case\"quarter\":case\"month\":this.date(1);case\"week\":case\"isoWeek\":case\"day\":this.hours(0);case\"hour\":this.minutes(0);case\"minute\":this.seconds(0);case\"second\":this.milliseconds(0)}return\"week\"===a?this.weekday(0):\"isoWeek\"===a&&this.isoWeekday(1),\"quarter\"===a&&this.month(3*Math.floor(this.month()\u002F3)),this},endOf:function(b){return b=x(b),b===a||\"millisecond\"===b?this:this.startOf(b).add(1,\"isoWeek\"===b?\"week\":b).subtract(1,\"ms\")},isAfter:function(a,b){var c;return b=x(\"undefined\"!=typeof b?b:\"millisecond\"),\"millisecond\"===b?(a=tb.isMoment(a)?a:tb(a),+this>+a):(c=tb.isMoment(a)?+a:+tb(a),c\u003C+this.clone().startOf(b))},isBefore:function(a,b){var c;return b=x(\"undefined\"!=typeof b?b:\"millisecond\"),\"millisecond\"===b?(a=tb.isMoment(a)?a:tb(a),+a>+this):(c=tb.isMoment(a)?+a:+tb(a),+this.clone().endOf(b)\u003Cc)},isSame:function(a,b){var c;return b=x(b||\"millisecond\"),\"millisecond\"===b?(a=tb.isMoment(a)?a:tb(a),+this===+a):(c=+tb(a),+this.clone().startOf(b)\u003C=c&&c\u003C=+this.clone().endOf(b))},min:f(\"moment().min is deprecated, use moment.min instead. https:\u002F\u002Fgithub.com\u002Fmoment\u002Fmoment\u002Fissues\u002F1548\",function(a){return a=tb.apply(null,arguments),this>a?this:a}),max:f(\"moment().max is deprecated, use moment.max instead. https:\u002F\u002Fgithub.com\u002Fmoment\u002Fmoment\u002Fissues\u002F1548\",function(a){return a=tb.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c,d=this._offset||0;return null==a?this._isUTC?d:this._dateTzOffset():(\"string\"==typeof a&&(a=Q(a)),Math.abs(a)\u003C16&&(a=60*a),!this._isUTC&&b&&(c=this._dateTzOffset()),this._offset=a,this._isUTC=!0,null!=c&&this.subtract(c,\"m\"),d!==a&&(!b||this._changeInProgress?t(this,tb.duration(d-a,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,tb.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?\"UTC\":\"\"},zoneName:function(){return this._isUTC?\"Coordinated Universal Time\":\"\"},parseZone:function(){return this._tzm?this.zone(this._tzm):\"string\"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?tb(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return B(this.year(),this.month())},dayOfYear:function(a){var b=yb((tb(this).startOf(\"day\")-tb(this).startOf(\"year\"))\u002F864e5)+1;return null==a?b:this.add(a-b,\"d\")},quarter:function(a){return null==a?Math.ceil((this.month()+1)\u002F3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=hb(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,\"y\")},isoWeekYear:function(a){var b=hb(this,1,4).year;return null==a?b:this.add(a-b,\"y\")},week:function(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),\"d\")},isoWeek:function(a){var b=hb(this,1,4).week;return null==a?b:this.add(7*(a-b),\"d\")},weekday:function(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,\"d\")},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return C(this.year(),1,4)},weeksInYear:function(){var a=this.localeData()._week;return C(this.year(),a.dow,a.doy)},get:function(a){return a=x(a),this[a]()},set:function(a,b){return a=x(a),\"function\"==typeof this[a]&&this[a](b),this},locale:function(b){var c;return b===a?this._locale._abbr:(c=tb.localeData(b),null!=c&&(this._locale=c),this)},lang:f(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(b){return b===a?this.localeData():this.locale(b)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()\u002F15)}}),tb.fn.millisecond=tb.fn.milliseconds=ob(\"Milliseconds\",!1),tb.fn.second=tb.fn.seconds=ob(\"Seconds\",!1),tb.fn.minute=tb.fn.minutes=ob(\"Minutes\",!1),tb.fn.hour=tb.fn.hours=ob(\"Hours\",!0),tb.fn.date=ob(\"Date\",!0),tb.fn.dates=f(\"dates accessor is deprecated. Use date instead.\",ob(\"Date\",!0)),tb.fn.year=ob(\"FullYear\",!0),tb.fn.years=f(\"years accessor is deprecated. Use year instead.\",ob(\"FullYear\",!0)),tb.fn.days=tb.fn.day,tb.fn.months=tb.fn.month,tb.fn.weeks=tb.fn.week,tb.fn.isoWeeks=tb.fn.isoWeek,tb.fn.quarters=tb.fn.quarter,tb.fn.toJSON=tb.fn.toISOString,m(tb.duration.fn=l.prototype,{_bubble:function(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;g.milliseconds=d%1e3,a=o(d\u002F1e3),g.seconds=a%60,b=o(a\u002F60),g.minutes=b%60,c=o(b\u002F60),g.hours=c%24,e+=o(c\u002F24),h=o(pb(e)),e-=o(qb(h)),f+=o(e\u002F30),e%=30,h+=o(f\u002F12),f%=12,g.days=e,g.months=f,g.years=h},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return o(this.days()\u002F7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*A(this._months\u002F12)},humanize:function(a){var b=gb(this,!a,this.localeData());return a&&(b=this.localeData().pastFuture(+this,b)),this.localeData().postformat(b)},add:function(a,b){var c=tb.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=tb.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=x(a),this[a.toLowerCase()+\"s\"]()},as:function(a){var b,c;if(a=x(a),\"month\"===a||\"year\"===a)return b=this._days+this._milliseconds\u002F864e5,c=this._months+12*pb(b),\"month\"===a?c:c\u002F12;switch(b=this._days+Math.round(qb(this._months\u002F12)),a){case\"week\":return b\u002F7+this._milliseconds\u002F6048e5;case\"day\":return b+this._milliseconds\u002F864e5;case\"hour\":return 24*b+this._milliseconds\u002F36e5;case\"minute\":return 24*b*60+this._milliseconds\u002F6e4;case\"second\":return 24*b*60*60+this._milliseconds\u002F1e3;\r\n-case\"millisecond\":return Math.floor(24*b*60*60*1e3)+this._milliseconds;default:throw new Error(\"Unknown unit \"+a)}},lang:tb.fn.lang,locale:tb.fn.locale,toIsoString:f(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",function(){return this.toISOString()}),toISOString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()\u002F1e3);return this.asSeconds()?(this.asSeconds()\u003C0?\"-\":\"\")+\"P\"+(a?a+\"Y\":\"\")+(b?b+\"M\":\"\")+(c?c+\"D\":\"\")+(d||e||f?\"T\":\"\")+(d?d+\"H\":\"\")+(e?e+\"M\":\"\")+(f?f+\"S\":\"\"):\"P0D\"},localeData:function(){return this._locale}}),tb.duration.fn.toString=tb.duration.fn.toISOString;for(vb in ic)c(ic,vb)&&rb(vb.toLowerCase());tb.duration.fn.asMilliseconds=function(){return this.as(\"ms\")},tb.duration.fn.asSeconds=function(){return this.as(\"s\")},tb.duration.fn.asMinutes=function(){return this.as(\"m\")},tb.duration.fn.asHours=function(){return this.as(\"h\")},tb.duration.fn.asDays=function(){return this.as(\"d\")},tb.duration.fn.asWeeks=function(){return this.as(\"weeks\")},tb.duration.fn.asMonths=function(){return this.as(\"M\")},tb.duration.fn.asYears=function(){return this.as(\"y\")},tb.locale(\"en\",{ordinalParse:\u002F\\d{1,2}(th|st|nd|rd)\u002F,ordinal:function(a){var b=a%10,c=1===A(a%100\u002F10)?\"th\":1===b?\"st\":2===b?\"nd\":3===b?\"rd\":\"th\";return a+c}}),Jb?module.exports=tb:\"function\"==typeof define&&define.amd?(define(\"moment\",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(xb.moment=ub),tb}),sb(!0)):sb()}).call(this);\r\n-\r\n-\u002F**\r\n- * This plug-in for DataTables represents the ultimate option in extensibility\r\n- * for sorting date \u002F time strings correctly. It uses\r\n- * [Moment.js](http:\u002F\u002Fmomentjs.com) to create automatic type detection and\r\n- * sorting plug-ins for DataTables based on a given format. This way, DataTables\r\n- * will automatically detect your temporal information and sort it correctly.\r\n- *\r\n- * For usage instructions, please see the DataTables blog\r\n- * post that [introduces it](\u002F\u002Fdatatables.net\u002Fblog\u002F2014-12-18).\r\n- *\r\n- * @name Ultimate Date \u002F Time sorting\r\n- * @summary Sort date and time in any format using Moment.js\r\n- * @author [Allan Jardine](\u002F\u002Fdatatables.net)\r\n- * @depends DataTables 1.10+, Moment.js 1.7+\r\n- *\r\n- * @example\r\n- *    $.fn.dataTable.moment( 'HH:mm MMM D, YY' );\r\n- *    $.fn.dataTable.moment( 'dddd, MMMM Do, YYYY' );\r\n- *\r\n- *    $('#example').DataTable();\r\n- *\u002F\r\n-\r\n-(function($) {\r\n-\r\n-$.fn.dataTable.moment = function ( format, locale ) {\r\n-\tvar types = $.fn.dataTable.ext.type;\r\n-\r\n-\t\u002F\u002F Add type detection\r\n-\ttypes.detect.unshift( function ( d ) {\r\n-\t\treturn moment( d, format, locale, true ).isValid() ?\r\n-\t\t\t'moment-'+format :\r\n-\t\t\tnull;\r\n-\t} );\r\n-\r\n-\t\u002F\u002F Add sorting method - use an integer for the sorting\r\n-\ttypes.order[ 'moment-'+format+'-pre' ] = function ( d ) {\r\n-\t\treturn moment( d, format, locale, true ).unix();\r\n-\t};\r\n-};\r\n-\r\n-}(jQuery));\r\n-\r\n-\u002F*!\r\n- Responsive 2.1.0\r\n- 2014-2016 SpryMedia Ltd - datatables.net\u002Flicense\r\n-*\u002F\r\n-(function(c){\"function\"===typeof define&&define.amd?define([\"jquery\",\"datatables.net\"],function(l){return c(l,window,document)}):\"object\"===typeof exports?module.exports=function(l,k){l||(l=window);if(!k||!k.fn.dataTable)k=require(\"datatables.net\")(l,k).$;return c(k,l,l.document)}:c(jQuery,window,document)})(function(c,l,k,p){var m=c.fn.dataTable,j=function(a,b){if(!m.versionCheck||!m.versionCheck(\"1.10.3\"))throw\"DataTables Responsive requires DataTables 1.10.3 or newer\";this.s={dt:new m.Api(a),columns:[],\r\n-current:[]};this.s.dt.settings()[0].responsive||(b&&\"string\"===typeof b.details?b.details={type:b.details}:b&&!1===b.details?b.details={type:!1}:b&&!0===b.details&&(b.details={type:\"inline\"}),this.c=c.extend(!0,{},j.defaults,m.defaults.responsive,b),a.responsive=this,this._constructor())};c.extend(j.prototype,{_constructor:function(){var a=this,b=this.s.dt,d=b.settings()[0],e=c(l).width();b.settings()[0]._responsive=this;c(l).on(\"resize.dtr orientationchange.dtr\",m.util.throttle(function(){var b=\r\n-c(l).width();b!==e&&(a._resize(),e=b)}));d.oApi._fnCallbackReg(d,\"aoRowCreatedCallback\",function(e){-1!==c.inArray(!1,a.s.current)&&c(\"td, th\",e).each(function(e){e=b.column.index(\"toData\",e);!1===a.s.current[e]&&c(this).css(\"display\",\"none\")})});b.on(\"destroy.dtr\",function(){b.off(\".dtr\");c(b.table().body()).off(\".dtr\");c(l).off(\"resize.dtr orientationchange.dtr\");c.each(a.s.current,function(b,e){!1===e&&a._setColumnVis(b,!0)})});this.c.breakpoints.sort(function(a,b){return a.width\u003Cb.width?1:a.width>\r\n-b.width?-1:0});this._classLogic();this._resizeAuto();d=this.c.details;!1!==d.type&&(a._detailsInit(),b.on(\"column-visibility.dtr\",function(){a._classLogic();a._resizeAuto();a._resize()}),b.on(\"draw.dtr\",function(){a._redrawChildren()}),c(b.table().node()).addClass(\"dtr-\"+d.type));b.on(\"column-reorder.dtr\",function(){a._classLogic();a._resizeAuto();a._resize()});b.on(\"column-sizing.dtr\",function(){a._resizeAuto();a._resize()});b.on(\"init.dtr\",function(){a._resizeAuto();a._resize();c.inArray(false,\r\n-a.s.current)&&b.columns.adjust()});this._resize()},_columnsVisiblity:function(a){var b=this.s.dt,d=this.s.columns,e,f,g=d.map(function(a,b){return{columnIdx:b,priority:a.priority}}).sort(function(a,b){return a.priority!==b.priority?a.priority-b.priority:a.columnIdx-b.columnIdx}),h=c.map(d,function(b){return b.auto&&null===b.minWidth?!1:!0===b.auto?\"-\":-1!==c.inArray(a,b.includeIn)}),n=0;e=0;for(f=h.length;e\u003Cf;e++)!0===h[e]&&(n+=d[e].minWidth);e=b.settings()[0].oScroll;e=e.sY||e.sX?e.iBarWidth:0;b=\r\n-b.table().container().offsetWidth-e-n;e=0;for(f=h.length;e\u003Cf;e++)d[e].control&&(b-=d[e].minWidth);n=!1;e=0;for(f=g.length;e\u003Cf;e++){var i=g[e].columnIdx;\"-\"===h[i]&&(!d[i].control&&d[i].minWidth)&&(n||0>b-d[i].minWidth?(n=!0,h[i]=!1):h[i]=!0,b-=d[i].minWidth)}g=!1;e=0;for(f=d.length;e\u003Cf;e++)if(!d[e].control&&!d[e].never&&!h[e]){g=!0;break}e=0;for(f=d.length;e\u003Cf;e++)d[e].control&&(h[e]=g);-1===c.inArray(!0,h)&&(h[0]=!0);return h},_classLogic:function(){var a=this,b=this.c.breakpoints,d=this.s.dt,e=\r\n-d.columns().eq(0).map(function(a){var b=this.column(a),e=b.header().className,a=d.settings()[0].aoColumns[a].responsivePriority;a===p&&(b=c(b.header()).data(\"priority\"),a=b!==p?1*b:1E4);return{className:e,includeIn:[],auto:!1,control:!1,never:e.match(\u002F\\bnever\\b\u002F)?!0:!1,priority:a}}),f=function(a,b){var d=e[a].includeIn;-1===c.inArray(b,d)&&d.push(b)},g=function(c,d,i,g){if(i)if(\"max-\"===i){g=a._find(d).width;d=0;for(i=b.length;d\u003Ci;d++)b[d].width\u003C=g&&f(c,b[d].name)}else if(\"min-\"===i){g=a._find(d).width;\r\n-d=0;for(i=b.length;d\u003Ci;d++)b[d].width>=g&&f(c,b[d].name)}else{if(\"not-\"===i){d=0;for(i=b.length;d\u003Ci;d++)-1===b[d].name.indexOf(g)&&f(c,b[d].name)}}else e[c].includeIn.push(d)};e.each(function(a,e){for(var d=a.className.split(\" \"),f=!1,j=0,l=d.length;j\u003Cl;j++){var k=c.trim(d[j]);if(\"all\"===k){f=!0;a.includeIn=c.map(b,function(a){return a.name});return}if(\"none\"===k||a.never){f=!0;return}if(\"control\"===k){f=!0;a.control=!0;return}c.each(b,function(a,b){var d=b.name.split(\"-\"),c=k.match(RegExp(\"(min\\\\-|max\\\\-|not\\\\-)?(\"+\r\n-d[0]+\")(\\\\-[_a-zA-Z0-9])?\"));c&&(f=!0,c[2]===d[0]&&c[3]===\"-\"+d[1]?g(e,b.name,c[1],c[2]+c[3]):c[2]===d[0]&&!c[3]&&g(e,b.name,c[1],c[2]))})}f||(a.auto=!0)});this.s.columns=e},_detailsDisplay:function(a,b){var d=this,e=this.s.dt,f=this.c.details;if(f&&!1!==f.type){var g=f.display(a,b,function(){return f.renderer(e,a[0],d._detailsObj(a[0]))});(!0===g||!1===g)&&c(e.table().node()).triggerHandler(\"responsive-display.dt\",[e,a,g,b])}},_detailsInit:function(){var a=this,b=this.s.dt,d=this.c.details;\"inline\"===\r\n-d.type&&(d.target=\"td:first-child, th:first-child\");b.on(\"draw.dtr\",function(){a._tabIndexes()});a._tabIndexes();c(b.table().body()).on(\"keyup.dtr\",\"td, th\",function(a){a.keyCode===13&&c(this).data(\"dtr-keyboard\")&&c(this).click()});var e=d.target;c(b.table().body()).on(\"click.dtr mousedown.dtr mouseup.dtr\",\"string\"===typeof e?e:\"td, th\",function(d){if(c(b.table().node()).hasClass(\"collapsed\")&&b.row(c(this).closest(\"tr\")).length){if(typeof e===\"number\"){var g=e\u003C0?b.columns().eq(0).length+e:e;if(b.cell(this).index().column!==\r\n-g)return}g=b.row(c(this).closest(\"tr\"));d.type===\"click\"?a._detailsDisplay(g,false):d.type===\"mousedown\"?c(this).css(\"outline\",\"none\"):d.type===\"mouseup\"&&c(this).blur().css(\"outline\",\"\")}})},_detailsObj:function(a){var b=this,d=this.s.dt;return c.map(this.s.columns,function(e,c){if(!e.never&&!e.control)return{title:d.settings()[0].aoColumns[c].sTitle,data:d.cell(a,c).render(b.c.orthogonal),hidden:d.column(c).visible()&&!b.s.current[c],columnIndex:c,rowIndex:a}})},_find:function(a){for(var b=this.c.breakpoints,\r\n-d=0,c=b.length;d\u003Cc;d++)if(b[d].name===a)return b[d]},_redrawChildren:function(){var a=this,b=this.s.dt;b.rows({page:\"current\"}).iterator(\"row\",function(c,e){b.row(e);a._detailsDisplay(b.row(e),!0)})},_resize:function(){var a=this,b=this.s.dt,d=c(l).width(),e=this.c.breakpoints,f=e[0].name,g=this.s.columns,h,j=this.s.current.slice();for(h=e.length-1;0\u003C=h;h--)if(d\u003C=e[h].width){f=e[h].name;break}var i=this._columnsVisiblity(f);this.s.current=i;e=!1;h=0;for(d=g.length;h\u003Cd;h++)if(!1===i[h]&&!g[h].never&&\r\n-!g[h].control){e=!0;break}c(b.table().node()).toggleClass(\"collapsed\",e);var k=!1;b.columns().eq(0).each(function(b,c){i[c]!==j[c]&&(k=!0,a._setColumnVis(b,i[c]))});k&&(this._redrawChildren(),c(b.table().node()).trigger(\"responsive-resize.dt\",[b,this.s.current]))},_resizeAuto:function(){var a=this.s.dt,b=this.s.columns;if(this.c.auto&&-1!==c.inArray(!0,c.map(b,function(a){return a.auto}))){a.table().node();var d=a.table().node().cloneNode(!1),e=c(a.table().header().cloneNode(!1)).appendTo(d),f=c(a.table().body()).clone(!1,\r\n-!1).empty().appendTo(d),g=a.columns().header().filter(function(b){return a.column(b).visible()}).to$().clone(!1).css(\"display\",\"table-cell\");c(f).append(c(a.rows({page:\"current\"}).nodes()).clone(!1)).find(\"th, td\").css(\"display\",\"\");if(f=a.table().footer()){var f=c(f.cloneNode(!1)).appendTo(d),h=a.columns().footer().filter(function(b){return a.column(b).visible()}).to$().clone(!1).css(\"display\",\"table-cell\");c(\"\u003Ctr\u002F>\").append(h).appendTo(f)}c(\"\u003Ctr\u002F>\").append(g).appendTo(e);\"inline\"===this.c.details.type&&\r\n-c(d).addClass(\"dtr-inline collapsed\");c(d).find(\"[name]\").removeAttr(\"name\");d=c(\"\u003Cdiv\u002F>\").css({width:1,height:1,overflow:\"hidden\"}).append(d);d.insertBefore(a.table().node());g.each(function(c){c=a.column.index(\"fromVisible\",c);b[c].minWidth=this.offsetWidth||0});d.remove()}},_setColumnVis:function(a,b){var d=this.s.dt,e=b?\"\":\"none\";c(d.column(a).header()).css(\"display\",e);c(d.column(a).footer()).css(\"display\",e);d.column(a).nodes().to$().css(\"display\",e)},_tabIndexes:function(){var a=this.s.dt,\r\n-b=a.cells({page:\"current\"}).nodes().to$(),d=a.settings()[0],e=this.c.details.target;b.filter(\"[data-dtr-keyboard]\").removeData(\"[data-dtr-keyboard]\");c(\"number\"===typeof e?\":eq(\"+e+\")\":e,a.rows({page:\"current\"}).nodes()).attr(\"tabIndex\",d.iTabIndex).data(\"dtr-keyboard\",1)}});j.breakpoints=[{name:\"desktop\",width:Infinity},{name:\"tablet-l\",width:1024},{name:\"tablet-p\",width:768},{name:\"mobile-l\",width:480},{name:\"mobile-p\",width:320}];j.display={childRow:function(a,b,d){if(b){if(c(a.node()).hasClass(\"parent\"))return a.child(d(),\r\n-\"child\").show(),!0}else{if(a.child.isShown())return a.child(!1),c(a.node()).removeClass(\"parent\"),!1;a.child(d(),\"child\").show();c(a.node()).addClass(\"parent\");return!0}},childRowImmediate:function(a,b,d){if(!b&&a.child.isShown()||!a.responsive.hasHidden())return a.child(!1),c(a.node()).removeClass(\"parent\"),!1;a.child(d(),\"child\").show();c(a.node()).addClass(\"parent\");return!0},modal:function(a){return function(b,d,e){if(d)c(\"div.dtr-modal-content\").empty().append(e());else{var f=function(){g.remove();\r\n-c(k).off(\"keypress.dtr\")},g=c('\u003Cdiv class=\"dtr-modal\"\u002F>').append(c('\u003Cdiv class=\"dtr-modal-display\"\u002F>').append(c('\u003Cdiv class=\"dtr-modal-content\"\u002F>').append(e())).append(c('\u003Cdiv class=\"dtr-modal-close\">&times;\u003C\u002Fdiv>').click(function(){f()}))).append(c('\u003Cdiv class=\"dtr-modal-background\"\u002F>').click(function(){f()})).appendTo(\"body\");c(k).on(\"keyup.dtr\",function(a){27===a.keyCode&&(a.stopPropagation(),f())})}a&&a.header&&c(\"div.dtr-modal-content\").prepend(\"\u003Ch2>\"+a.header(b)+\"\u003C\u002Fh2>\")}}};j.renderer={listHidden:function(){return function(a,\r\n-b,d){return(a=c.map(d,function(a){return a.hidden?'\u003Cli data-dtr-index=\"'+a.columnIndex+'\" data-dt-row=\"'+a.rowIndex+'\" data-dt-column=\"'+a.columnIndex+'\">\u003Cspan class=\"dtr-title\">'+a.title+'\u003C\u002Fspan> \u003Cspan class=\"dtr-data\">'+a.data+\"\u003C\u002Fspan>\u003C\u002Fli>\":\"\"}).join(\"\"))?c('\u003Cul data-dtr-index=\"'+b+'\"\u002F>').append(a):!1}},tableAll:function(a){a=c.extend({tableClass:\"\"},a);return function(b,d,e){b=c.map(e,function(a){return'\u003Ctr data-dt-row=\"'+a.rowIndex+'\" data-dt-column=\"'+a.columnIndex+'\">\u003Ctd>'+a.title+\":\u003C\u002Ftd> \u003Ctd>\"+\r\n-a.data+\"\u003C\u002Ftd>\u003C\u002Ftr>\"}).join(\"\");return c('\u003Ctable class=\"'+a.tableClass+'\" width=\"100%\"\u002F>').append(b)}}};j.defaults={breakpoints:j.breakpoints,auto:!0,details:{display:j.display.childRow,renderer:j.renderer.listHidden(),target:0,type:\"inline\"},orthogonal:\"display\"};var o=c.fn.dataTable.Api;o.register(\"responsive()\",function(){return this});o.register(\"responsive.index()\",function(a){a=c(a);return{column:a.data(\"dtr-index\"),row:a.parent().data(\"dtr-index\")}});o.register(\"responsive.rebuild()\",function(){return this.iterator(\"table\",\r\n-function(a){a._responsive&&a._responsive._classLogic()})});o.register(\"responsive.recalc()\",function(){return this.iterator(\"table\",function(a){a._responsive&&(a._responsive._resizeAuto(),a._responsive._resize())})});o.register(\"responsive.hasHidden()\",function(){var a=this.context[0];return a._responsive?-1!==c.inArray(!1,a._responsive.s.current):!1});j.version=\"2.1.0\";c.fn.dataTable.Responsive=j;c.fn.DataTable.Responsive=j;c(k).on(\"preInit.dt.dtr\",function(a,b){if(\"dt\"===a.namespace&&(c(b.nTable).hasClass(\"responsive\")||\r\n-c(b.nTable).hasClass(\"dt-responsive\")||b.oInit.responsive||m.defaults.responsive)){var d=b.oInit.responsive;!1!==d&&new j(b,c.isPlainObject(d)?d:{})}});return j});\r\n-\r\n-\u002F*!\r\n- DataTables jQuery UI integration\r\n- ©2011-2014 SpryMedia Ltd - datatables.net\u002Flicense\r\n-*\u002F\r\n-(function(a){\"function\"===typeof define&&define.amd?define([\"jquery\",\"datatables.net\"],function(b){return a(b,window,document)}):\"object\"===typeof exports?module.exports=function(b,d){b||(b=window);if(!d||!d.fn.dataTable)d=require(\"datatables.net\")(b,d).$;return a(d,b,b.document)}:a(jQuery,window,document)})(function(a){var b=a.fn.dataTable;a.extend(!0,b.defaults,{dom:'\u003C\"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-tl ui-corner-tr\"lfr>t\u003C\"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-bl ui-corner-br\"ip>',\r\n-renderer:\"jqueryui\"});a.extend(b.ext.classes,{sWrapper:\"dataTables_wrapper dt-jqueryui\",sPageButton:\"fg-button ui-button ui-state-default\",sPageButtonActive:\"ui-state-disabled\",sPageButtonDisabled:\"ui-state-disabled\",sPaging:\"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_\",sSortAsc:\"ui-state-default sorting_asc\",sSortDesc:\"ui-state-default sorting_desc\",sSortable:\"ui-state-default sorting\",sSortableAsc:\"ui-state-default sorting_asc_disabled\",sSortableDesc:\"ui-state-default sorting_desc_disabled\",\r\n-sSortableNone:\"ui-state-default sorting_disabled\",sSortIcon:\"DataTables_sort_icon\",sScrollHead:\"dataTables_scrollHead ui-state-default\",sScrollFoot:\"dataTables_scrollFoot ui-state-default\",sHeaderTH:\"ui-state-default\",sFooterTH:\"ui-state-default\"});b.ext.renderer.header.jqueryui=function(b,h,e,c){var f=\"css_right ui-icon ui-icon-carat-2-n-s\",g=-1!==a.inArray(\"asc\",e.asSorting),i=-1!==a.inArray(\"desc\",e.asSorting);!e.bSortable||!g&&!i?f=\"\":g&&!i?f=\"css_right ui-icon ui-icon-carat-1-n\":!g&&i&&(f=\"css_right ui-icon ui-icon-carat-1-s\");\r\n-a(\"\u003Cdiv\u002F>\").addClass(\"DataTables_sort_wrapper\").append(h.contents()).append(a(\"\u003Cspan\u002F>\").addClass(c.sSortIcon+\" \"+f)).appendTo(h);a(b.nTable).on(\"order.dt\",function(a,g,i,j){b===g&&(a=e.idx,h.removeClass(c.sSortAsc+\" \"+c.sSortDesc).addClass(\"asc\"==j[a]?c.sSortAsc:\"desc\"==j[a]?c.sSortDesc:e.sSortingClass),h.find(\"span.\"+c.sSortIcon).removeClass(\"css_right ui-icon ui-icon-triangle-1-n css_right ui-icon ui-icon-triangle-1-s css_right ui-icon ui-icon-carat-2-n-s css_right ui-icon ui-icon-carat-1-n css_right ui-icon ui-icon-carat-1-s\").addClass(\"asc\"==\r\n-j[a]?\"css_right ui-icon ui-icon-triangle-1-n\":\"desc\"==j[a]?\"css_right ui-icon ui-icon-triangle-1-s\":f))})};b.TableTools&&a.extend(!0,b.TableTools.classes,{container:\"DTTT_container ui-buttonset ui-buttonset-multi\",buttons:{normal:\"DTTT_button ui-button ui-state-default\"},collection:{container:\"DTTT_collection ui-buttonset ui-buttonset-multi\"}});return b});\r\n-\r\n-\u002F*!\r\n- jQuery UI integration for DataTables' Responsive\r\n- ©2015 SpryMedia Ltd - datatables.net\u002Flicense\r\n-*\u002F\r\n-(function(c){\"function\"===typeof define&&define.amd?define([\"jquery\",\"datatables.net-jqui\",\"datatables.net-responsive\"],function(a){return c(a,window,document)}):\"object\"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require(\"datatables.net-jqui\")(a,b).$;b.fn.dataTable.Responsive||require(\"datatables.net-responsive\")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){var a=c.fn.dataTable,b=a.Responsive.display,f=b.modal;b.modal=function(a){return function(b,\r\n-d,e){c.fn.dialog?d||c(\"\u003Cdiv\u002F>\").append(e()).appendTo(\"body\").dialog(c.extend(!0,{title:a&&a.header?a.header(b):\"\",width:500},a.dialog)):f(b,d,e)}};return a.Responsive});\r\n-\r\n \u002F**\r\n+ * scrollTo\r\n  * Copyright (c) 2007-2015 Ariel Flesler - aflesler ○ gmail • com | http:\u002F\u002Fflesler.blogspot.com\r\n  * Licensed under MIT\r\n  * @author Ariel Flesler\r\nOnly in \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs: locale\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Fschedules.js \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Fschedules.js\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fjs\u002Fschedules.js\t2026-01-06 00:53:38.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fjs\u002Fschedules.js\t2026-03-10 03:48:28.000000000 +0000\n@@ -253,511 +253,6 @@\n \n (function ($) {\n \n-    \u002F**\n-\t * Add\u002Fedit\u002Fsave bookings quickly\n-     *\u002F\n-    var WPB_Quickbook = {\n-\n-        init: function (task, arg, calendar) {\n-            var me = this;\n-\n-\t\t\t\u002F\u002F me.calendar = calendar;\n-\t\t\t\u002F\u002F me.arg = arg;\n-\t\t\tme.wrap = $(document).find(\".app-panel-wrap\");\n-\t\t\tme.panel = $(document).find(\".app-panel\");\n-\n-            var table = $(\"div.app-manage\");\n-\n-            table.on(\"click\", \".save\", function (e) {\n-\t\t\t\te.preventDefault();\n-                me.save(e);\n-            });\n-\n-            table.on(\"change\", \"select.app_extras,.app-admin-lsw,select[name='start_time'],select[name='status'],select.app_duration,.app-special-select\", function (e) {\n-                me.updateEdit($(e.target));\n-            });\n-\n-\t\t\tvar cursorTimer;\n-            table.on(\"keyup\", \"input[name='app_seats'],.app-special-text\", function (e) {\n-\t\t\t\tclearTimeout(cursorTimer);\n-\t\t\t\tcursorTimer = setTimeout(function () {\n-\t\t\t\t\tme.updateEdit($(e.target));\n-\t\t\t\t}, 500);\n-            });\n-\n-            table.on(\"focus\", \".datepicker\", function (e) {\n-\t\t\t\tif ( !$(this).prop( \"readonly\" ) ) {\n-\t\t\t\t\tme.datePicker(e);\n-\t\t\t\t}\n-            });\n-\n-\t\t\t\u002F* Cancel *\u002F\n-            table.on(\"click\", \".cancel\", function (e) {\n-                me.wrap.removeClass(\"open\");\n-            });\n-\n-            \u002F* Redraw multiselect *\u002F\n-            $(window).resize(function () {\n-                $.each($(\".app_users,.app_extras\"), function (ignore, val) {\n-                    $this = $(val);\n-                    if ($this.data().hasOwnProperty(\"echMultiselect\")) {\n-                        $this.multiselect(\"refresh\");\n-                    }\n-                });\n-            });\n-\n-        },\n-\n-        \u002F**\n-         * Read all field values of a row (par)\n-         * @param par   object  Possibly a row in the table under which fields will be read\n-         *\u002F\n-        readData: function (par) {\n-            var table = par.parents(\"div.app-manage\");\n-\n-            var app_user_data = {};\n-            $.each(_app_.user_fields, function (ignore, v) {\n-                app_user_data[v] = par.find(\"input[name='\" + v + \"']\").val();\n-            });\n-\n-            var postData = {\n-\t\t\t\twpb_ajax: true,\n-\t\t\t\tadmin_edit: true,\n-\t\t\t\tuser: par.find(\"select[name='user'] option:selected\").val(),\n-\t\t\t\tcreate_user: par.find(\"input[name='create_user']\").is(\":checked\") ? 1 : 0,\n-\t\t\t\tcreate_user_check: par.find(\"input[name='create_user_check']\").val(),\n-\t\t\t\tname: par.find(\"input[name='cname']\").val(),\n-\t\t\t\tapp_user_data: JSON.stringify(app_user_data),\n-\t\t\t\tlocation: par.find(\"select[name='location'] option:selected\").val() || 0,\n-\t\t\t\tservice: par.find(\"select[name='service'] option:selected\").val(),\n-\t\t\t\tworker: par.find(\".app_select_workers\").val() || 0,\n-\t\t\t\tstart_date: par.find(\"input[name='start_date']\").val(),\n-\t\t\t\tstart_time: par.find(\"select[name='start_time'] option:selected\").val(),\n-\t\t\t\tend_date: par.find(\"input[name='end_date']\").val(),\n-\t\t\t\tend_time: par.find(\"select[name='end_time'] option:selected\").val(),\n-\t\t\t\tstatus: par.find(\"select[name='status'] option:selected\").val(),\n-\t\t\t\tapp_id: par.find(\"input[name='app_id']\").val(),\n-\t\t\t\tapp_seats: par.find(\".app_seats\").val(),\n-\t\t\t\tapp_duration: par.find(\"select[name='app_duration'] option:selected\").val(),\n-\t\t\t\tsend_email: par.find(\"input[name='send_email']\").is(\":checked\") ? 1 : 0,\n-\t\t\t\tonly_own: table.data(\"only_own\"),\n-\t\t\t\tajax_nonce: _app_.iedit_nonce,\n-\t\t\t\tis_account_page: _app_.is.account_page ? 1 : 0,\n-\t\t\t\tis_store_page: _app_.is.store_page ? 1 : 0\n-            };\n-\n-\t\t\t\u002F* Add special values to post data *\u002F\n-\t\t\tvar postSpecialData = {};\n-\n-\t\t\tpar.find(\"input[class*=app-special-text], select[class*=app-special-select]\").each( function(){\n-\t\t\t\tvar sp_name = $(this).attr(\"name\");\n-\t\t\t\tvar sp_value = $(this).attr(\"type\") === \"checkbox\" ? ((this).checked ? 1 : 0) : $(this).val();\n-\t\t\t\tpostSpecialData[sp_name] = sp_value;\n-\t\t\t});\n-\n-\t\t\t$.extend(postData, postSpecialData);\n-\t\t\t\n-            var udfs = {};\n-            $.each(_app_.udf_ids, function (ignore, v) {\n-                var field = par.find(\".app-udf-field-entry-\" + v);\n-                if (parseInt(field.length) > 0) {\n-                    if (field.hasClass(\"app-udf-checkbox\")) {\n-                        udfs[\"udf_\" + v] = field.is(\":checked\") ? 1 : 0;\n-                    } else {\n-                        udfs[\"udf_\" + v] = field.val();\n-                    }\n-                }\n-            });\n-            postData = $.extend(postData, {\n-\t\t\t\t\t\tudf_data: JSON.stringify(udfs)\n-                    });\t\t\t\n-\n-            return postData;\n-        },\n-\n-        \u002F**\n-         * Edit a booking\n-         *\u002F\n-        upsert: function (task, arg, calendar) {\n-            var me = this;\n-\t\t\tvar resource_id = typeof arg.resource === \"undefined\" ? 0 : arg.resource.id;\n-\t\t\tme.calendar = calendar;\n-\n-\t\t\tvar data = {\n-                wpb_ajax: true,\n-\t\t\t\taction: \"app_quick_book_upsert\",\n-\t\t\t\tapp_id: task == \"edit\" ? arg.event.id : 0,\n-\t\t\t\tworker: task == \"add\" ? resource_id : 0,\n-\t\t\t\tupdated: task == \"add\" && resource_id ? \"worker\" : \"\",\n-\t\t\t\tapp_timestamp: task == \"add\" ? arg.startStr : 0,\n-                ajax_nonce: _app_.iedit_nonce,\n-\t\t\t\tis_account_page: _app_.is.account_page ? 1 : 0,\n-\t\t\t\tis_store_page: _app_.is.store_page ? 1 : 0\n-            };\n-\n-\t\t\tme.panel.empty();\n-\t\t\tme.wrap.addClass(\"open\");\n-\n-            $.post(_app_.ajax_url, data, function (r) {\n-                if (r && r.error) {\n-                    window.alert(r.error);\n-                } else if (r) {\n-                    var iedit_row = r.result;\n-                    var insertedRow = $(iedit_row).appendTo(me.panel);\n-                    insertedRow.find(\".inline-edit-col .blocked-days\")\n-                                .val(r.blocked_days).data(\"blocked\", r.blocked_days);\n-                    var dpicker_id = insertedRow.find(\".datepicker\").attr(\"id\");\n-                    $(\"#\" + dpicker_id).datepicker(\"refresh\");\n-                    if (parseInt(r.locked) > 0) {\n-                        insertedRow.data(\"locked\", true);\n-                    }\n-                    me.configureMS(r.id);\n-                    me.configQtip(r.id);\n-                } else {\n-                    window.alert(_app_.con_error);\n-                }\n-            }, \"json\");\n-        },\n-\n-        \u002F**\n-         * Updates fields during edit if lsw or date\u002Ftime fields changed\n-         *\u002F\n-        updateEdit: function (obj) {\n-            var me = this;\n-            var par = obj.parents(\".inline-edit-row\");\n-\t\t\tvar table = par.parents(\"div.app-manage\");\n-\t\t\tvar only_own = table.data(\"only_own\");\n-\n-            if (obj.hasClass(\"app_seats\") && !obj.val()) {\n-                return false;\n-            }\n-\n-            $.infoPanel();\n-\n-            if ($.inArray(parseInt(obj.val()), _app_.daily_services) === -1) {\n-                $(\".app-is-daily\").text(\"\");\n-                par.find(\".app-admin-time,input[name='end_date']\")\n-                .css(\"text-decoration\", \"none\")\n-                .attr(\"disabled\", false);\n-            } else {\n-                \u002F\u002F Daily\n-                $(\".app-is-daily\").text(_app_.daily_text);\n-                par.find(\".app-admin-time,input[name='end_date']\")\n-                .css(\"text-decoration\", \"line-through\")\n-                .attr(\"disabled\", true);\n-            }\n-\n-            par.find(\".app-admin-lsw\").attr(\"disabled\", \"disabled\");\n-            var locSel = par.find(\"select[name='location']\");\n-            var serviceSel = par.find(\"select[name='service']\");\n-            var workerSel = par.find(\".app_select_workers\");\n-            var startTimeSel = par.find(\"select[name='start_time']\");\n-            var endTimeSel = par.find(\"select[name='end_time']\");\n-\n-\t\t\tvar durationLabel = par.find(\".app_iedit_duration\");\n-\t\t\tvar durationSel = durationLabel.find(\".input-text-wrap\");\n-\t\t\tvar repeatUnitLabel = par.find(\".app_iedit_repeat_unit\");\n-\t\t\tvar repeatUnitSel = repeatUnitLabel.find(\".input-text-wrap\");\n-\t\t\tvar repeatNumberLabel = par.find(\".app_iedit_repeat_count\");\n-\t\t\tvar repeatNumberSel = repeatNumberLabel.find(\".input-text-wrap\");\n-\n-            var postData = me.readData(par);\n-            postData.action = \"app_quick_book_update\";\n-\t\t\tif (parseInt(par.find(\".is_event\").val()) > 0 ) {\n-\t\t\t\tpostData.is_event = true;\n-\t\t\t}\n-\t\t\t\u002F\u002F if (obj.hasClass(\"app_select_workers\") && obj.val()) {\n-\t\t\t\t\u002F\u002F postData.updated = \"worker\";\n-\t\t\t\u002F\u002F }\n-\n-            $.post(_app_.ajax_url, postData, function (r) {\n-\n-                par.find(\".app-admin-lsw\").attr(\"disabled\", false);\n-\n-                if (r && r.error) {\n-                    window.alert(r.error);\n-                } else if (r) {\n-\t\t\t\t\tvar notice = r.notice || \"\";\n-\t\t\t\t\tpar.find(\".app-admin-notice\").empty().html(notice);\n-\t\t\t\t\tif (r.event_start) {\n-\t\t\t\t\t\tpar.find(\"[name='event_start']\").replaceWith(r.event_start);\n-\t\t\t\t\t}\n-\t\t\t\t\tif (r.event_end) {\n-\t\t\t\t\t\tpar.find(\"[name='event_end']\").replaceWith(r.event_end);\n-\t\t\t\t\t}\n-                    if (r.end_date) {\n-                        var end_date_fld = par.find(\"input[name='end_date']\");\n-                        end_date_fld.attr(\"readonly\", false);\n-                        end_date_fld.val(r.end_date);\n-                        end_date_fld.attr(\"readonly\", true);\n-                    }\n-                    if (r.start_time_sel) {\n-                        startTimeSel.replaceWith(r.start_time_sel);\n-                    }\n-                    if (r.end_time_sel) {\n-                        endTimeSel.replaceWith(r.end_time_sel);\n-                    }\n-                    if (r.locations_sel) {\n-                        locSel.replaceWith(r.locations_sel);\n-                    }\n-                    if (r.services_sel) {\n-                        serviceSel.replaceWith(r.services_sel);\n-                    }\n-\t\t\t\t\tif (r.durations_sel) {\n-                        durationSel.html(r.durations_sel);\n-\t\t\t\t\t\tdurationLabel.show();\n-                    } else {\n-\t\t\t\t\t\tdurationLabel.hide();\n-\t\t\t\t\t}\n-\t\t\t\t\tif (r.repeat_unit_sel) {\n-\t\t\t\t\t\trepeatUnitSel.html(r.repeat_unit_sel);\n-\t\t\t\t\t\trepeatUnitLabel.show();\n-                    } else {\n-\t\t\t\t\t\trepeatUnitLabel.hide();\n-\t\t\t\t\t}\n-\t\t\t\t\tif (r.repeat_count_sel) {\n-\t\t\t\t\t\trepeatNumberSel.html(r.repeat_count_sel);\n-\t\t\t\t\t\trepeatNumberLabel.show();\n-                    } else {\n-\t\t\t\t\t\trepeatNumberLabel.hide();\n-\t\t\t\t\t}\n-                    if (r.workers_sel) {\n-\t\t\t\t\t\tworkerSel.siblings(\".worker-name\").remove();\n-                        workerSel.replaceWith(r.workers_sel);\n-                    }\n-\n-                    par.find(\".blocked-days\").val(r.blocked_days).data(\"blocked\", r.blocked_days);\n-                    var dpicker_id = par.find(\".datepicker\").attr(\"id\");\n-                    $(\"#\" + dpicker_id).datepicker(\"refresh\");\n-\n-                } else {\n-                    window.alert(_app_.con_error);\n-                }\n-            }, \"json\");\n-        },\n-\n-        \u002F**\n-         * Save a booking\n-         *\u002F\n-        save: function (e) {\n-            var me = this;\n-            var $this = $(e.target);\n-            var sPar = $this.parents(\".inline-edit-row\");\n-            $this.attr(\"disabled\", true);\n-            $.infoPanel(\"saving\");\n-            sPar.find(\".waiting\").show();\n-\n-            var postData = me.readData(sPar);\n-            postData.action = \"app_quick_book_save\";\n-\t\t\tif (parseInt(sPar.find(\".is_event\").val()) > 0 ) {\n-\t\t\t\tpostData.is_event = true;\n-\t\t\t}\n-\n-            $.post(_app_.ajax_url, postData, function (r) {\n-                $this.attr(\"disabled\", false);\n-                sPar.find(\".waiting\").hide();\n-\n-                if (!r) {\n-                    window.alert(_app_.con_error);\n-                    return false;\n-                }\n-                var emailMsg = r.emailMsg ? \" \" + r.emailMsg : \"\";\n-                if (r.error) {\n-                    sPar.find(\".error\")\n-                    .html(\"\u003Cspan class='app-error'>\" + r.error + emailMsg + \"\u003C\u002Fspan>\")\n-                    .show().delay(10000).fadeOut(\"slow\");\n-                } else if (r.no_change) {\n-                    sPar.find(\".error\")\n-                    .html(\"\u003Cspan class='app-b'>\" + r.no_change + emailMsg + \"\u003C\u002Fspan>\")\n-                    .show().delay(10000).fadeOut(\"slow\");\n-                } else if (r.result) {\n-\t\t\t\t\tsPar.find(\".error\")\n-\t\t\t\t\t.html(\"\u003Cspan class='app-success'>\" + r.result + emailMsg + \"\u003C\u002Fspan>\")\n-\t\t\t\t\t.show().delay(10000).fadeOut(\"slow\");\n-\n-\t\t\t\t\tr.target = $this;\n-\t\t\t\t\t$(document).trigger(\"app-admin-booking-saved\", r);\n-\n-\t\t\t\t\tsetTimeout(function () {\n-\t\t\t\t\t\tme.wrap.removeClass(\"open\");\n-\t\t\t\t\t}, 3000);\n-\n-\t\t\t\t\tif ( r.event ) {\n-\t\t\t\t\t\tif (r.inserted) {\n-\t\t\t\t\t\t\tme.calendar.addEvent( r.event );\n-\t\t\t\t\t\t} else {\n-\t\t\t\t\t\t\tme.calendar.updateEvent( r.event );\n-\t\t\t\t\t\t}\n-\t\t\t\t\t}\n-                } else if (emailMsg) {\n-                    sPar.find(\".error\")\n-                    .html(\"\u003Cspan class='app-success'>\" + emailMsg + \"\u003C\u002Fspan>\")\n-                    .show().delay(10000).fadeOut(\"slow\");\n-\t\t\t\t}\n-            }, \"json\");\n-        },\n-\n-        \u002F**\n-         * Populate userdata upon user selection\n-         *\u002F\n-        populateUser: function (me) {\n-            var sel_user = parseInt(me.val());\n-            var par = me.parents(\".inline-edit-col\");\n-            if (sel_user === 0) {\n-                \u002F\u002F Clear fields for unregistered user\n-                $.each(_app_.user_fields, function (ignore, v) {\n-                    par.find(\".app_iedit_\" + v + \" input\").val(\"\");\n-                });\n-\t\t\t\tpar.find(\".app-quick-book-user-fields\").show();\n-\t\t\t\tpar.find(\".app_iedit_create_user\").show();\n-                return false;\n-            }\n-            $.infoPanel(\"reading\");\n-\t\t\tpar.find(\".app-quick-book-user-fields\").hide();\n-\t\t\tpar.find(\".app_iedit_create_user\").hide();\n-            var data = {\n-                action: \"app_populate_user\",\n-                user_id: sel_user,\n-                ajax_nonce: _app_.iedit_nonce\n-            };\n-            $.post(_app_.ajax_url, data, function (r) {\n-                if (r && r.error) {\n-                    window.alert(r.error);\n-                } else if (r) {\n-\t\t\t\t\tpar.find(\".app_iedit_create_user :input\").prop(\"checked\", false);\n-                    $.each(r, function (i, v) {\n-                        par.find(\".app_iedit_\" + i + \" :input\").val(v);\n-                    });\n-                } else {\n-                    window.alert(_app_.con_error);\n-                }\n-            }, \"json\");\n-        },\n-\n-        \u002F**\n-         * Initiates Multiselect for users and extras\n-         *\u002F\n-        configureMS: function (id) {\n-            var me = this;\n-            var $this = $(\"#app_users_\" + id);\n-\n-            $(\"#app_extras_\" + id).multiselect({\n-                selectedList: 3,\n-                buttonWidth: \"100%\",\n-                classes: \"app_extras app-ms-small\"\n-            }).multiselectfilter();\n-\n-\t\t\tif ( _app_.is.msUsers ) {\n-\t\t\t\t$this.multiselect({\n-\t\t\t\t\topenEffect: null,\n-\t\t\t\t\tcloseEffect: null,\n-\t\t\t\t\tmenuHeight: 300,\n-\t\t\t\t\tselectedList: 1,\n-\t\t\t\t\tbuttonWidth: \"100%\",\n-\t\t\t\t\tclasses: \"app_users app-ms-small app_users_admin app-users-quick-book\",\n-\t\t\t\t\tclose: function () {\n-\t\t\t\t\t\tme.populateUser($this);\n-\t\t\t\t\t}\n-\t\t\t\t}).multiselectfilter();\n-\t\t\t}\n-\n-\t\t\t$(document).trigger(\"app-configure-ms\", id);\n-        },\n-\n-        \u002F**\n-         * Initiate datepicker upon focus\n-         *\u002F\n-        datePicker: function (e) {\n-            var me = this;\n-            var $this = $(e.target);\n-            if ($this.data(\"focused\") !== \"yes\") {\n-                $this.datepicker({\n-                    dateFormat: _app_.js_date_format,\n-                    firstDay: _app_.start_of_week,\n-                    onSelect: function (dateText) {\n-                        if ($this.attr(\"name\") === \"start_date\") {\n-                            $this.parents(\".inline-edit-col\")\n-                            .find(\"input[name='end_date']\")\n-                            .datepicker(\"setDate\", dateText);\n-                            me.updateEdit($this);\n-                        }\n-                    },\n-                    beforeShowDay: function (date) {\n-                        var string = $.datepicker.formatDate(\"yy-mm-dd\", date);\n-                        var datelist = $this.parents(\".inline-edit-col\").find(\".blocked-days\").data(\"blocked\");\n-                        if (datelist) {\n-                            return [$.inArray(string, datelist) === -1];\n-                        } else {\n-                            return [true];\n-                        }\n-                    }\n-                });\n-            }\n-            $this.data(\"focused\", \"yes\");\n-        },\n-\n-        \u002F**\n-         * Initiates qtip\n-         *\u002F\n-        configQtip: function (id) {\n-            var edit_row = $(\".inline-edit-row\");\n-            edit_row.find(\"[title][title!='']\").each(function (ignore, val) {\n-                var $this = $(val);\n-                var title = $this.attr(\"title\");\n-                var ttip = title ? title.replace(\u002F●\u002Fg, \"\u003Cbr \u002F>\").replace(\"\u002F|\u002F\", \"\u003Cbr\u002F>\") : \"\";\n-\n-                $this.qtip({\n-                    content: {\n-                        text: ttip\n-                    },\n-                    hide: _app_.qtipHide,\n-                    position: _app_.qtipPos,\n-                    style: _app_.qtipYellow\n-                });\n-            });\n-\n-            var cacheCl = \"app-payment-cache-\" + id;\n-            var cache = $(\"\u003Cdiv class='\" + cacheCl + \"' \u002F>\");\n-            var abbrPayment = $(\"#app-payment-ttip-\" + id);\n-\n-            abbrPayment.qtip({\n-                overwrite: true,\n-                content: {\n-                    text: function (ignore, api) {\n-                        if (parseInt($(document).find(\".\" + cacheCl).length) > 0) {\n-                            return $(document).find(\".\" + cacheCl).html();\n-                        }\n-                        api.elements.content.html(_app_.loading);\n-                        return $.ajax({\n-                            url: _app_.ajax_url,\n-                            type: \"POST\",\n-                            dataType: \"json\",\n-                            data: {\n-                                app_id: abbrPayment.parents(\".inline-edit-row\")\n-                                .find(\"input[name='app_id']\").val(),\n-                                action: \"app_show_payment_in_tooltip\"\n-                            }\n-                        })\n-                        .then(function (res) {\n-                            var content = res.result;\n-                            if (content) {\n-                                cache.html(content).appendTo($(document.body)).hide();\n-                            }\n-                            return content;\n-                        }, function (ignore, status, error) {\n-                            api.set(\"content.text\", status + \": \" + error);\n-                        });\n-                    }\n-                },\n-                hide: _app_.qtipHide,\n-                position: _app_.qtipPos,\n-                style: _app_.qtipSmall\n-            });\n-        }\n-    };\n-    WPB_Quickbook.init();\n-\n-\n     let calendar;\n \n     let Calendar = function ($container, options) {\n@@ -826,7 +321,7 @@\n                 }\n                 arg.jsEvent.stopPropagation();\n \n-\t\t\t\tWPB_Quickbook.upsert( 'edit', arg, calendar );\n+\t\t\t\t$.WPB_Quickbook.upsert( 'edit', arg, calendar );\n \t\t\t},\n             eventContent: function (arg) {\n \n@@ -875,6 +370,8 @@\n             },\n \t\t\teventSources: [{\n \t\t\t\tevents: function(arg) {\n+\t\t\t\t\t$.infoPanel( 'loading' );\n+\t\t\t\t\t\n \t\t\t\t\treturn $.ajax({\n \t\t\t\t\t\turl: _app_.ajax_url,\n \t\t\t\t\t\ttype: \"POST\",\n@@ -888,6 +385,7 @@\n \t\t\t\t\t\t\tworker_ids: $container.data(\"worker_ids\"),\n \t\t\t\t\t\t\tlocation_ids: $container.data(\"location_ids\"),\n \t\t\t\t\t\t\tservice_ids: $container.data(\"service_ids\"),\n+\t\t\t\t\t\t\tview: $.getCookie('app_schedule_view'),\n \t\t\t\t\t\t\tis_account_page: _app_.is.account_page ? 1 : 0,\n \t\t\t\t\t\t\tis_store_page: _app_.is.store_page ? 1 : 0\n \t\t\t\t\t\t}\n@@ -950,13 +448,13 @@\n \t\t\tselectMinDistance: -1,\n             select: function (arg) {\n \n-\t\t\t\tif ( !_app_.is.editable ) {\n+\t\t\t\tif ( !_app_.is.editable || _app_.is.client ) {\n \t\t\t\t\treturn;\n \t\t\t\t}\n \n \t\t\t\targ.jsEvent.stopPropagation();\n \n-                WPB_Quickbook.upsert( 'add', arg, calendar );\n+                $.WPB_Quickbook.upsert( 'add', arg, calendar );\n             },\n             slotDuration: _app_.slot_duration,\n             slotMinTime: _app_.wh_starts,\n@@ -1056,24 +554,26 @@\n     \u002F**\n      * Init\n      *\u002F\n-    $.WPB_Schedule = new AppSchedule($calendar, {\n-        calendar: {\n-\t\t\theight: '100%',\n-            headerToolbar: headerToolbar,\n-\t\t\tresources: workers,\n-            view: lastView,\n-\t\t\tdate: $.getCookie('app_schedule_date') || newDate\n-        },\n-        viewChanged: function (view) {\n-            $.setCookie('app_schedule_view', view.type);\n-\t\t\tif ( view.type == 'resourceTimelineDay' ) {\n-\t\t\t\t$.WPB_Schedule.ec.refetchEvents();\n+\t if ( $calendar.length ) {\n+\t\t$.WPB_Schedule = new AppSchedule($calendar, {\n+\t\t\tcalendar: {\n+\t\t\t\theight: '100%',\n+\t\t\t\theaderToolbar: headerToolbar,\n+\t\t\t\tresources: workers,\n+\t\t\t\tview: lastView,\n+\t\t\t\tdate: $.getCookie('app_schedule_date') || newDate\n+\t\t\t},\n+\t\t\tviewChanged: function (view) {\n+\t\t\t\t$.setCookie('app_schedule_view', view.type);\n+\t\t\t\tif ( view.type == 'resourceTimelineDay' ) {\n+\t\t\t\t\t$.WPB_Schedule.ec.refetchEvents();\n+\t\t\t\t}\n \t\t\t}\n-        }\n-    });\n-\t\n+\t\t});\n+\t }\n+\n \tfunction drawConnections(task) {\n-\t\tsetTimeout(function(){ \n+\t\tsetTimeout(function(){\n \t\t\tvar conns = $(\".app-js-schedules\").data(\"conns\");\n \t\t\t$.each( conns, function(i, v) {\n \t\t\t\t\u002F\u002F $().connections({ from: \".app-\" + v, to: \".conn-\" + v });\n@@ -1081,11 +581,11 @@\n \t\t\t});\n \t\t}, 10);\n \t}\n-\t\n+\n \t$(document).on(\"app-ec-loaded\", function() {\n \t\t\u002F\u002F drawConnections();\n-\t});\t\n-\t\n+\t});\n+\n \t$(window).on(\"resize\", function() {\n \t\t\u002F\u002F drawConnections(\"update\");\n \t});\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Flanguages\u002Fwp-base.pot \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Flanguages\u002Fwp-base.pot\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Flanguages\u002Fwp-base.pot\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Flanguages\u002Fwp-base.pot\t2026-03-10 03:42:22.000000000 +0000\n@@ -2,7 +2,7 @@\n msgid \"\"\n msgstr \"\"\n \"Project-Id-Version: WP BASE Booking of Appointments, Services and Events\\n\"\n-\"POT-Creation-Date: 2026-01-04 09:03+0700\\n\"\n+\"POT-Creation-Date: 2026-03-09 15:48+0700\\n\"\n \"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n \"Last-Translator: \\n\"\n \"Language-Team: \\n\"\n@@ -72,8 +72,9 @@\n msgstr \"\"\n \n #: includes\u002Faddons.php:653\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:775\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Funconfirmed.php:738\n-#: includes\u002Fcustom-texts.php:808 includes\u002Fschedules.php:1131\n+#: includes\u002Fcustom-texts.php:817 includes\u002Fschedules.php:1343\n msgid \"Apply\"\n msgstr \"\"\n \n@@ -83,7 +84,7 @@\n \n #: includes\u002Faddons.php:661 includes\u002Faddons\u002Flocations\u002Flocations-list.php:1025\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1128\n-#: includes\u002Fadmin\u002Fhelp.php:680 includes\u002Fadmin\u002Fservices-list.php:1556\n+#: includes\u002Fadmin\u002Fhelp.php:680 includes\u002Fadmin\u002Fservices-list.php:1557\n #: includes\u002Fadmin\u002Ftinymce.php:275\n msgid \"Description\"\n msgstr \"\"\n@@ -117,16 +118,16 @@\n msgstr \"\"\n \n #: includes\u002Faddons.php:783\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:624\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1162\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:631\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1229\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:430\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:890\n-#: includes\u002Fadmin\u002Fbookings.php:1737 includes\u002Fcustom-texts.php:1111\n-#: includes\u002Fcustom-texts.php:1313 includes\u002Fschedules.php:464\n+#: includes\u002Fadmin\u002Fbookings.php:1737 includes\u002Fcustom-texts.php:1118\n+#: includes\u002Fcustom-texts.php:1318 includes\u002Fschedules.php:479\n msgid \"Status\"\n msgstr \"\"\n \n-#: includes\u002Faddons.php:784 includes\u002Fcustom-texts.php:782\n+#: includes\u002Faddons.php:784 includes\u002Fcustom-texts.php:783\n msgid \"Action\"\n msgstr \"\"\n \n@@ -240,7 +241,7 @@\n \n #: includes\u002Faddons\u002F2checkout\u002F2checkout.php:306\n #: includes\u002Faddons\u002Fauthorizenet-aim\u002Fauthorizenet-aim.php:373\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1548\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1552\n #: includes\u002Faddons\u002Fstripe\u002Fstripe.php:450\n msgid \"Mode\"\n msgstr \"\"\n@@ -293,7 +294,7 @@\n msgid \"Check \\\"mode\\\" parameter of Book in Flex View shortcode\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fadvanced-features.php:250 includes\u002Ffront-listing.php:264\n+#: includes\u002Faddons\u002Fadvanced-features.php:250 includes\u002Ffront-listing.php:345\n #: includes\u002Ffront.php:1147\n #, php-format\n msgid \"Hard limit activated. Execution time: %s secs.\"\n@@ -525,7 +526,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fadvanced-features\u002Ftrial-services.php:54\n-#: includes\u002Fconstant-data.php:642\n+#: includes\u002Fconstant-data.php:660\n msgid \"Trial Services\"\n msgstr \"\"\n \n@@ -561,8 +562,9 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fadvanced-features\u002Fwidgets-pro-child.php:195\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:302\n-#: includes\u002Fcustom-texts.php:919 includes\u002Fschedules.php:1008\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:309\n+#: includes\u002Fadmin\u002Fservice-rte.php:196 includes\u002Fcustom-texts.php:927\n+#: includes\u002Ffunctions.listing.php:809\n msgid \"Close\"\n msgstr \"\"\n \n@@ -580,7 +582,7 @@\n \n #: includes\u002Faddons\u002Fadvanced-features\u002Fwidgets-pro-child.php:441\n #: includes\u002Faddons\u002Fpaypal-standard\u002Fpaypal-standard.php:509\n-#: includes\u002Fcustom-texts.php:1346 includes\u002Fwidget-helper.php:145\n+#: includes\u002Fcustom-texts.php:1352 includes\u002Fwidget-helper.php:145\n msgid \"Unknown\"\n msgstr \"\"\n \n@@ -601,7 +603,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fadvanced-features\u002Fwidgets-pro-child.php:512\n-#: includes\u002Fadmin\u002Fglobal-settings.php:741 includes\u002Ffunctions.internal.php:1663\n+#: includes\u002Fadmin\u002Fglobal-settings.php:875 includes\u002Ffunctions.internal.php:1663\n #: includes\u002Fnotices.php:258\n msgid \"Click to toggle details\"\n msgstr \"\"\n@@ -664,7 +666,7 @@\n \n #: includes\u002Faddons\u002Fauthorizenet-aim\u002Fauthorizenet-aim.php:287\n #: includes\u002Faddons\u002Fgoogle-calendar.php:2670\n-#: includes\u002Faddons\u002Fgoogle-calendar.php:2720 includes\u002Fcustom-texts.php:1325\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:2720 includes\u002Fcustom-texts.php:1330\n msgid \"Test\"\n msgstr \"\"\n \n@@ -730,9 +732,9 @@\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:664\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:666\n #: includes\u002Fadmin\u002Fsetup.php:227 includes\u002Fadmin\u002Fsetup.php:906\n-#: includes\u002Fadmin\u002Fsetup.php:917 includes\u002Fconstant-data.php:626\n-#: includes\u002Fconstant-data.php:628 includes\u002Fconstant-data.php:631\n-#: includes\u002Ffunctions.internal.php:2934\n+#: includes\u002Fadmin\u002Fsetup.php:917 includes\u002Fconstant-data.php:644\n+#: includes\u002Fconstant-data.php:646 includes\u002Fconstant-data.php:649\n+#: includes\u002Ffunctions.internal.php:2969\n msgid \"here\"\n msgstr \"\"\n \n@@ -743,11 +745,11 @@\n #: includes\u002Faddons\u002Fauthorizenet-aim\u002Fauthorizenet-aim.php:391\n #: includes\u002Faddons\u002Fauthorizenet-aim\u002Fauthorizenet-aim.php:438\n #: includes\u002Faddons\u002Fauthorizenet-aim\u002Fauthorizenet-aim.php:459\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1564\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1591\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1733\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1749\n-#: includes\u002Faddons\u002Fgroup-bookings.php:1452\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1568\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1595\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1737\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1753\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1469\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:226\n #: includes\u002Faddons\u002Fpaypal-standard\u002Fpaypal-standard.php:224\n #: includes\u002Faddons\u002Fservice-providers\u002Fworker-settings.php:199\n@@ -756,15 +758,15 @@\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1377\n #: includes\u002Faddons\u002Fstripe\u002Fstripe.php:480\n #: includes\u002Faddons\u002Fvariable-durations\u002Fselectable-durations.php:536\n-#: includes\u002Fadmin\u002Fglobal-settings.php:736\n-#: includes\u002Fadmin\u002Fglobal-settings.php:756\n+#: includes\u002Fadmin\u002Fglobal-settings.php:870\n+#: includes\u002Fadmin\u002Fglobal-settings.php:890\n #: includes\u002Fadmin\u002Fmonetary-settings.php:193\n-#: includes\u002Fadmin\u002Fservices-list.php:920 includes\u002Fadmin\u002Fservices-list.php:921\n-#: includes\u002Fadmin\u002Fservices-list.php:933 includes\u002Fadmin\u002Fservices-list.php:1251\n-#: includes\u002Fadmin\u002Fservices-list.php:1825 includes\u002Fadmin\u002Fservices-list.php:1826\n-#: includes\u002Fadmin\u002Fservices-list.php:1842 includes\u002Fadmin\u002Fsetup.php:771\n+#: includes\u002Fadmin\u002Fservices-list.php:921 includes\u002Fadmin\u002Fservices-list.php:922\n+#: includes\u002Fadmin\u002Fservices-list.php:934 includes\u002Fadmin\u002Fservices-list.php:1252\n+#: includes\u002Fadmin\u002Fservices-list.php:1834 includes\u002Fadmin\u002Fservices-list.php:1835\n+#: includes\u002Fadmin\u002Fservices-list.php:1851 includes\u002Fadmin\u002Fsetup.php:771\n #: includes\u002Fadmin\u002Fsetup.php:903 includes\u002Fadmin\u002Fsetup.php:914\n-#: includes\u002Fcustom-texts.php:1159 includes\u002Ffunctions.internal.php:1705\n+#: includes\u002Fcustom-texts.php:1165 includes\u002Ffunctions.internal.php:1705\n #: includes\u002Flogin-register.php:204 includes\u002Fpayment-gateway-pay-later.php:76\n msgid \"No\"\n msgstr \"\"\n@@ -772,24 +774,24 @@\n #: includes\u002Faddons\u002Fauthorizenet-aim\u002Fauthorizenet-aim.php:392\n #: includes\u002Faddons\u002Fauthorizenet-aim\u002Fauthorizenet-aim.php:437\n #: includes\u002Faddons\u002Fauthorizenet-aim\u002Fauthorizenet-aim.php:458\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1565\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1592\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1750\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1569\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1596\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1754\n #: includes\u002Faddons\u002Fpaypal-standard\u002Fpaypal-standard.php:225\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:772\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1213\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1377\n #: includes\u002Faddons\u002Fstripe\u002Fstripe.php:481\n #: includes\u002Faddons\u002Fvariable-durations\u002Fselectable-durations.php:537\n-#: includes\u002Fadmin\u002Fglobal-settings.php:737\n-#: includes\u002Fadmin\u002Fglobal-settings.php:761\n+#: includes\u002Fadmin\u002Fglobal-settings.php:871\n+#: includes\u002Fadmin\u002Fglobal-settings.php:895\n #: includes\u002Fadmin\u002Fmonetary-settings.php:191\n-#: includes\u002Fadmin\u002Fservices-list.php:920 includes\u002Fadmin\u002Fservices-list.php:921\n-#: includes\u002Fadmin\u002Fservices-list.php:933 includes\u002Fadmin\u002Fservices-list.php:1250\n-#: includes\u002Fadmin\u002Fservices-list.php:1825 includes\u002Fadmin\u002Fservices-list.php:1826\n-#: includes\u002Fadmin\u002Fservices-list.php:1842 includes\u002Fadmin\u002Fsetup.php:772\n+#: includes\u002Fadmin\u002Fservices-list.php:921 includes\u002Fadmin\u002Fservices-list.php:922\n+#: includes\u002Fadmin\u002Fservices-list.php:934 includes\u002Fadmin\u002Fservices-list.php:1251\n+#: includes\u002Fadmin\u002Fservices-list.php:1834 includes\u002Fadmin\u002Fservices-list.php:1835\n+#: includes\u002Fadmin\u002Fservices-list.php:1851 includes\u002Fadmin\u002Fsetup.php:772\n #: includes\u002Fadmin\u002Fsetup.php:904 includes\u002Fadmin\u002Fsetup.php:915\n-#: includes\u002Fcustom-texts.php:1372 includes\u002Ffunctions.internal.php:1706\n+#: includes\u002Fcustom-texts.php:1378 includes\u002Ffunctions.internal.php:1706\n #: includes\u002Flogin-register.php:205 includes\u002Fpayment-gateway-pay-later.php:77\n msgid \"Yes\"\n msgstr \"\"\n@@ -917,82 +919,82 @@\n msgid \"BuddyPress may have been deactivated.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1278 includes\u002Fuser.php:1643\n+#: includes\u002Faddons\u002Fbuddypress.php:1290 includes\u002Fuser.php:1656\n msgid \"Save Profile Settings\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1411\n+#: includes\u002Faddons\u002Fbuddypress.php:1423\n msgid \"New booking made by client\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1412\n+#: includes\u002Faddons\u002Fbuddypress.php:1424\n msgid \"New booking made by provider\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1413\n+#: includes\u002Faddons\u002Fbuddypress.php:1425\n msgid \"New booking made by admin\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1414\n+#: includes\u002Faddons\u002Fbuddypress.php:1426\n msgid \"Booking confirmed\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1415\n+#: includes\u002Faddons\u002Fbuddypress.php:1427\n msgid \"Booking paid\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1416\n+#: includes\u002Faddons\u002Fbuddypress.php:1428\n msgid \"Booking rescheduled by client\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1417\n+#: includes\u002Faddons\u002Fbuddypress.php:1429\n msgid \"Booking rescheduled by provider\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1418\n+#: includes\u002Faddons\u002Fbuddypress.php:1430\n msgid \"Booking rescheduled by admin\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1419\n+#: includes\u002Faddons\u002Fbuddypress.php:1431\n msgid \"Booking cancelled by client\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1420\n+#: includes\u002Faddons\u002Fbuddypress.php:1432\n msgid \"Booking cancelled by provider\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1421\n+#: includes\u002Faddons\u002Fbuddypress.php:1433\n msgid \"Booking cancelled by admin\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1422\n+#: includes\u002Faddons\u002Fbuddypress.php:1434\n msgid \"Service provider changed\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1423\n+#: includes\u002Faddons\u002Fbuddypress.php:1435\n msgid \"Booking started\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1424\n+#: includes\u002Faddons\u002Fbuddypress.php:1436\n msgid \"Booking completed\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1836 includes\u002Faddons\u002Fgoogle-calendar.php:1879\n+#: includes\u002Faddons\u002Fbuddypress.php:1848 includes\u002Faddons\u002Fgoogle-calendar.php:1879\n #: includes\u002Faddons\u002Fgoogle-calendar.php:2016\n #: includes\u002Faddons\u002Fgoogle-calendar.php:2644\n-#: includes\u002Fadmin\u002Fglobal-settings.php:473\n+#: includes\u002Fadmin\u002Fglobal-settings.php:558\n msgid \"Not selected\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:1836\n+#: includes\u002Faddons\u002Fbuddypress.php:1848\n msgid \"No groups defined\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:2144 includes\u002Faddons\u002Fcoupons.php:462\n+#: includes\u002Faddons\u002Fbuddypress.php:2156 includes\u002Faddons\u002Fcoupons.php:462\n #: includes\u002Faddons\u002Fcustom-pricing.php:343\n #: includes\u002Faddons\u002Fevent-bookings\u002Fevent-admin.php:715\n #: includes\u002Faddons\u002Fextras.php:684 includes\u002Faddons\u002Fgoogle-calendar.php:2156\n-#: includes\u002Faddons\u002Flocations.php:925\n+#: includes\u002Faddons\u002Flocations.php:904\n #: includes\u002Faddons\u002Flocations\u002Flocation-settings.php:69\n #: includes\u002Faddons\u002Fmulti-language.php:2249 includes\u002Faddons\u002Fmulti-vendor.php:132\n #: includes\u002Faddons\u002Freminder-follow-up-emails.php:458\n@@ -1000,53 +1002,52 @@\n #: includes\u002Faddons\u002Fservice-providers\u002Fworker-settings.php:68\n #: includes\u002Faddons\u002Fwoocommerce\u002Fwc-admin.php:178\n #: includes\u002Fadmin\u002Fbase-admin.php:92 includes\u002Fadmin\u002Ftoolbar.php:137\n-#: includes\u002Fcustom-texts.php:866 includes\u002Ffreeons\u002Fedd.php:1477\n+#: includes\u002Fcustom-texts.php:875 includes\u002Ffreeons\u002Fedd.php:1477\n #: includes\u002Ffreeons\u002Fexport-import.php:1363\n #: includes\u002Ffreeons\u002Ffront-end-booking-management.php:386\n-#: includes\u002Ffreeons\u002Ffront-end-edit.php:804\n #: includes\u002Ffreeons\u002Fshopping-cart.php:71 includes\u002Fgateways.php:258\n msgid \"Settings\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:2153\n+#: includes\u002Faddons\u002Fbuddypress.php:2165\n msgid \"BuddyPress\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:2179\n+#: includes\u002Faddons\u002Fbuddypress.php:2191\n msgid \"Service Provider Selects\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:2214\n+#: includes\u002Faddons\u002Fbuddypress.php:2226\n msgid \"\"\n \"No member types defined. If automatic assignment is required, it should be \"\n \"done using \\\"WP BASE Provider\\\" custom role.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:2241\n+#: includes\u002Faddons\u002Fbuddypress.php:2253\n msgid \"Other Settings\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:2243\n+#: includes\u002Faddons\u002Fbuddypress.php:2255\n #, php-format\n msgid \"\"\n \"Provider capabilities are set at %s. These capabilities will affect which \"\n \"tabs are available at the profile page of the user.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:2243\n+#: includes\u002Faddons\u002Fbuddypress.php:2255\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:674\n #: includes\u002Faddons\u002Fservice-providers\u002Fworker-settings.php:60\n msgid \"Provider Settings\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:2245\n+#: includes\u002Faddons\u002Fbuddypress.php:2257\n #, php-format\n msgid \"\"\n \"You can enable payment with WooCommerce at %s. Otherwise payments will be \"\n \"done with WP BASE payment gateways.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fbuddypress.php:2245\n+#: includes\u002Faddons\u002Fbuddypress.php:2257\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:46\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:142\n msgid \"Marketplace Settings\"\n@@ -1074,10 +1075,10 @@\n #: includes\u002Faddons\u002Fseasonal-working-hours.php:251\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:237\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:724\n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1388 includes\u002Fadmin\u002Fclients.php:178\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1403 includes\u002Fadmin\u002Fclients.php:178\n #: includes\u002Fadmin\u002Fclients.php:249 includes\u002Fadmin\u002Fclients.php:619\n-#: includes\u002Fadmin\u002Fservices-list.php:201 includes\u002Fadmin\u002Fservices-list.php:872\n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:381\n+#: includes\u002Fadmin\u002Fservices-list.php:202 includes\u002Fadmin\u002Fservices-list.php:873\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:374\n msgid \"ID\"\n msgstr \"\"\n \n@@ -1106,7 +1107,7 @@\n msgid \"Max Uses\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcoupons.php:587 includes\u002Faddons\u002Fcredits\u002Fuser.php:291\n+#: includes\u002Faddons\u002Fcoupons.php:587 includes\u002Faddons\u002Fcredits\u002Fuser.php:263\n msgid \"Used\"\n msgstr \"\"\n \n@@ -1167,7 +1168,7 @@\n msgid \"All must match\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcoupons.php:692 includes\u002Faddons\u002Fcredits\u002Fcredits.php:1843\n+#: includes\u002Faddons\u002Fcoupons.php:692 includes\u002Faddons\u002Fcredits\u002Fcredits.php:1847\n #: includes\u002Faddons\u002Fcustom-pricing.php:526 includes\u002Faddons\u002Fextras.php:961\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fflexible-price.php:448\n msgid \"Everyone\"\n@@ -1268,48 +1269,48 @@\n msgid \"This product is for tracking WP BASE credit sales. Do not delete.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1231\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1232\n #, php-format\n msgid \"Order #%d\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1235\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1239\n #, php-format\n msgid \"\"\n \"Credits in WooCommerce order #%d for %s credits for user #%d cannot be saved\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1262\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1266\n #, php-format\n msgid \"Payment with %s credits for user# %d cannot be saved\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1295\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1299\n #, php-format\n msgid \"Credit sale - %s credits\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1466\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1472\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1470\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1476\n #, php-format\n msgid \"Refunded due to cancellation of booking #%d\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1509\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1513\n #, php-format\n msgid \"Bundle%d\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1509\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1513\n #, php-format\n msgid \"Plan%d\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1534 includes\u002Faddons\u002Fcredits\u002Fuser.php:53\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1538 includes\u002Faddons\u002Fcredits\u002Fuser.php:53\n msgid \"Digital Wallet\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1536\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1540\n #, php-format\n msgid \"\"\n \"Accept payments using internal credit\u002Fpoints system. Also allows selling \"\n@@ -1317,33 +1318,33 @@\n \"user on %s page by editing the client record.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1536 includes\u002Fadmin\u002Fclients.php:116\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1540 includes\u002Fadmin\u002Fclients.php:116\n #: includes\u002Fadmin\u002Fclients.php:306 includes\u002Fadmin\u002Ftoolbar.php:128\n-#: includes\u002Fcustom-texts.php:916\n+#: includes\u002Fcustom-texts.php:924\n msgid \"Clients\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1539 includes\u002Fgateways.php:211\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1543 includes\u002Fgateways.php:211\n msgid \"Public Name\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1543 includes\u002Fgateways.php:215\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1547 includes\u002Fgateways.php:215\n msgid \"\"\n \"Enter a public name for this payment method that is displayed to users - No \"\n \"HTML\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1551\n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1638\n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:368 includes\u002Fcustom-texts.php:949\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1555\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1642\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:340 includes\u002Fcustom-texts.php:956\n msgid \"Credits\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1552\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1556\n msgid \"Service Packages\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1554\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1558\n msgid \"\"\n \"In \u003Cb>Credits mode\u003C\u002Fb>, clients buy credits that they can use to book \"\n \"services. Credits can be considered as internal digital coins. Credits \"\n@@ -1351,7 +1352,7 @@\n \"promote selling higher amounts and it is optional.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1556\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1560\n msgid \"\"\n \"In \u003Cb>Service Packages mode\u003C\u002Fb>, clients buy service sessions regardless of \"\n \"service price. For example 5 sessions of English Class, 10 sessions of \"\n@@ -1360,11 +1361,11 @@\n \"will be regarded as free.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1561\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1565\n msgid \"Sell Credits\u002FPackages with WooCommerce\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1567\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1571\n msgid \"\"\n \"If selected as Yes, Credits\u002FPackages will be sold with WooCoommerce \"\n \"checkout. WooCommerce plugin is required, WooCommerce Integration addon is \"\n@@ -1372,11 +1373,11 @@\n \"REGULAR page (not on a product page).\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1572\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1576\n msgid \"WooCommerce Product Name\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1575\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1579\n msgid \"\"\n \"If credits\u002Fpackages are sold with a plan and with WooCommerce, this template \"\n \"will be used to replace product name in WC Cart and Checkout. NAME, CREDIT, \"\n@@ -1385,32 +1386,32 @@\n \"respectively.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1580\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1584\n msgid \"WooCommerce Product Details\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1583\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1587\n msgid \"\"\n \"Same as Product name, but this will be displayed under the product name \"\n \"field.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1588\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1592\n msgid \"Unique Payment Method\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1594\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1598\n msgid \"\"\n \"If selected as Yes, Digital Wallet will be the only payment method to book \"\n \"for services. Other active payment methods will only be used to sell credits \"\n \"and packages.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1599\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1603\n msgid \"Conversion (Buying) Rate\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1602\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1606\n msgid \"\"\n \"Your credit buying rate from the client. For example, if you enter 100 here, \"\n \"a $1 service will require 100 credits to book. For Service Packages mode, \"\n@@ -1418,11 +1419,11 @@\n \"One package session is required for one booking per person.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1607\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1611\n msgid \"Selling Rate\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1610\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1614\n msgid \"\"\n \"Your credit selling rate to the client when you do not use plans. For \"\n \"example, if you enter 80 here, client needs to pay $1 to buy 80 credits. For \"\n@@ -1430,25 +1431,25 @@\n \"\u003Ccode>[app_sell_credit]\u003C\u002Fcode> shortcode\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1615\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1619\n msgid \"Plans\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1617\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1621\n msgid \"\"\n \"In \u003Cb>Credits mode\u003C\u002Fb>, plans are optional and allow you to define tiers, \"\n \"i.e. price based on purchased quantity, instead of a fixed rate. For example \"\n \"5 credits $125, 10 credits $230.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1618\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1622\n msgid \"\"\n \"In \u003Cb>Service Packages mode\u003C\u002Fb>, having plans is mandatory. For example 10 \"\n \"sessions of English and German classes $250, 10 sessions of French classes \"\n \"is $300.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1619\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1623\n msgid \"\"\n \"Also in Service Packages mode you can combine 2 or more plans to form a \"\n \"\u003Cb>bundle\u003C\u002Fb> in order to offer special prices to your clients. For example \"\n@@ -1456,54 +1457,54 @@\n \"instead of $550.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1623\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1627\n msgid \"Add New Plan\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1628\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1632\n msgid \"Make Bundle from Existing Plans\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1637 includes\u002Faddons\u002Fextras.php:822\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1641 includes\u002Faddons\u002Fextras.php:822\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:835\n-#: includes\u002Fadmin\u002Fservices-list.php:1165 includes\u002Fadmin\u002Ftransactions.php:466\n-#: includes\u002Fcustom-texts.php:1151 includes\u002Fcustom-texts.php:1485\n+#: includes\u002Fadmin\u002Fservices-list.php:1166 includes\u002Fadmin\u002Ftransactions.php:466\n+#: includes\u002Fcustom-texts.php:1158 includes\u002Fcustom-texts.php:1490\n msgid \"Name\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1638\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1642\n #: includes\u002Faddons\u002Fevent-bookings\u002Fevent-admin.php:336\n-#: includes\u002Faddons\u002Fevent-bookings\u002Fgeodir.php:245 includes\u002Fcustom-texts.php:1305\n+#: includes\u002Faddons\u002Fevent-bookings\u002Fgeodir.php:245 includes\u002Fcustom-texts.php:1311\n msgid \"Sessions\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1640\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1644\n msgid \"Expires\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1642\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1646\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:869\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:876\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fflexible-price.php:419\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1047\n-#: includes\u002Fadmin\u002Fservices-list.php:1213\n+#: includes\u002Fadmin\u002Fservices-list.php:1214\n #, php-format\n msgid \"Price (%s)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1643\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1647\n msgid \"Services in the Plan or Plans in the Bundle\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1643\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1647\n msgid \"For Services\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1644\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1648\n msgid \"For Users\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1651\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1655\n msgid \"\"\n \"Enter details of your plans here. For example Basic, 5, 125; Popular, 10, \"\n \"230. Name, Credits\u002FSessions and Price fields are mandatory. You can select \"\n@@ -1512,11 +1513,11 @@\n \"mode.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1657\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1661\n msgid \"Plan Label (For simple plans)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1661\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1665\n msgid \"\"\n \"For non-bundle plans only. In the plan selection menu which is created with \"\n \"\u003Ccode>[app_sell_credit]\u003C\u002Fcode> shortcode, items will be displayed according \"\n@@ -1525,11 +1526,11 @@\n \"\u003Ccode>Basic Plan: $125 → 5 Credits\u003C\u002Fcode>\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1666\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1670\n msgid \"Credit Balance Note\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1670\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1674\n msgid \"\"\n \"Template to be used to display client balance at checkout and user account \"\n \"for Credits mode. For example, \u003Ccode>You have BALANCE credits worth of \"\n@@ -1537,21 +1538,21 @@\n \"formatted real values.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1675\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1679\n msgid \"Bundle of Plans Label\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1679\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1683\n msgid \"\"\n \"For plans consisting of other plans (bundles) only. Same as above, but only \"\n \"NAME, PRICE and PLAN placeholders can be used.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1685\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1689\n msgid \"Package Balance Note\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1689\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1693\n msgid \"\"\n \"Template to be used to display client balance at checkout and user account \"\n \"for Service Packages mode. For example, \u003Ccode>You can book BALANCE sessions \"\n@@ -1559,40 +1560,40 @@\n \"will be replaced by their formatted real values.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1694\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1698\n msgid \"Auto Wallet Selection Label\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1698\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1702\n msgid \"\"\n \"When client has more than one wallet, they can select which one to use at \"\n \"checkout or leave it to the system to pick a suitable one. This setting is \"\n \"the text for auto selection option.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1703 includes\u002Fgateways.php:234\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1707 includes\u002Fgateways.php:234\n msgid \"Client Instructions\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1707 includes\u002Fgateways.php:238\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1711 includes\u002Fgateways.php:238\n msgid \"\"\n \"These are the instructions to display in the tooltip of gateway image on \"\n \"confirmation form - HTML allowed\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1712\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1716\n msgid \"Confirmation Title\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1716\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1720\n msgid \"Confirmation dialog title after successful credit\u002Fpackage purchase.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1721\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1725\n msgid \"Confirmation Text\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1725\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1729\n msgid \"\"\n \"Confirmation dialog content after successful credit\u002Fpackage purchase. \"\n \"CLIENT, PURCHASED, PAID, BALANCE, PLAN, SERVICE placeholders will be \"\n@@ -1600,84 +1601,83 @@\n \"name of the selected plan and services that the plan is for, respectively.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1730\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1734\n msgid \"Refund upon Cancellation\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1734\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1738\n msgid \"Yes, if cancelled by admin\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1735\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1739\n msgid \"Yes, if cancelled by admin or provider\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1736\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1740\n msgid \"Yes, if cancelled by provider\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1737\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1741\n msgid \"Yes, if cancelled by provider or client\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1738\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1742\n msgid \"Yes, if cancelled by client\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1739\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1743\n msgid \"Yes, when cancelled by anyone\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1741\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1745\n msgid \"\"\n \"Whether credits\u002Fpackages will be refunded upon cancellation depending on who \"\n \"cancelled the booking.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1746\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1750\n msgid \"Pay for Waiting List Claims\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1752\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1756\n msgid \"\"\n \"If selected as Yes, waiting list claims will be paid from client's digital \"\n \"wallet. If their balance is not sufficient, claim will be rejected.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1799\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1803\n msgid \"This plan is a bundle\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1803\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1807\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1074\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Funconfirmed.php:735\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Funconfirmed.php:828\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:1005\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:257\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:274\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1169\n-#: includes\u002Fadmin\u002Fservices-list.php:1605 includes\u002Fadmin\u002Fsetup.php:114\n+#: includes\u002Fadmin\u002Fservices-list.php:1608 includes\u002Fadmin\u002Fsetup.php:114\n msgid \"Delete\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1825\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1829\n msgid \"Plans: \"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1825\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1829\n #: includes\u002Faddons\u002Fevent-bookings\u002Ffunctions.event.php:236\n #: includes\u002Faddons\u002Fextras.php:936 includes\u002Faddons\u002Fgoogle-calendar.php:2117\n-#: includes\u002Faddons\u002Fgoogle-calendar.php:3243 includes\u002Faddons\u002Flocations.php:253\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:3243 includes\u002Faddons\u002Flocations.php:251\n #: includes\u002Faddons\u002Flocations\u002Flocation-settings.php:114\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:191\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:225\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:401\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:402\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:405\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:203\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:237\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:408\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:409\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:412\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:261\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:286\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:307\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:323\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:359\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:407\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:522\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:1083\n@@ -1687,24 +1687,24 @@\n #: includes\u002Faddons\u002Fservice-providers\u002Fworker-settings.php:151\n #: includes\u002Faddons\u002Fwoocommerce\u002Ffunctions.wc.php:88\n #: includes\u002Fadmin\u002Fclients.php:937 includes\u002Fadmin\u002Fdisplay-advanced.php:184\n-#: includes\u002Fadmin\u002Fdisplay-advanced.php:198 includes\u002Fcustom-texts.php:1165\n+#: includes\u002Fadmin\u002Fdisplay-advanced.php:198 includes\u002Fcustom-texts.php:1171\n #: includes\u002Ffreeons\u002Fedd.php:1526 includes\u002Ffunctions.internal.php:1386\n-#: includes\u002Ffunctions.internal.php:1453 includes\u002Fuser.php:698\n+#: includes\u002Ffunctions.internal.php:1453 includes\u002Fuser.php:706\n msgid \"None\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1835\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1839\n msgid \"Services: \"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1835\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:406\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:597\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:618\n+#: includes\u002Faddons\u002Fcredits\u002Fcredits.php:1839\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:413\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:604\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:625\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:402\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:423\n #: includes\u002Faddons\u002Fwoocommerce\u002Fcoupons.php:87 includes\u002Fadmin\u002Fbookings.php:666\n-#: includes\u002Fcustom-texts.php:798\n+#: includes\u002Fcustom-texts.php:807\n msgid \"All\"\n msgstr \"\"\n \n@@ -1713,7 +1713,7 @@\n msgid \"Credit History for %1$s · Total: %2$d credits\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:140 includes\u002Faddons\u002Fcredits\u002Fuser.php:682\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:140 includes\u002Faddons\u002Fcredits\u002Fuser.php:654\n #, php-format\n msgid \"Expiring at %s\"\n msgstr \"\"\n@@ -1723,13 +1723,13 @@\n msgid \"Service Package history for %1$s · Total: %2$d sessions\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:178 includes\u002Faddons\u002Fcredits\u002Fuser.php:241\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:178 includes\u002Faddons\u002Fcredits\u002Fuser.php:227\n msgid \"Delete Record\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fcredits\u002Fuser.php:194\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:652\n-#: includes\u002Ffront-listing.php:192\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:828\n+#: includes\u002Ffront-listing.php:261\n msgid \"Print All\"\n msgstr \"\"\n \n@@ -1738,122 +1738,122 @@\n msgid \"Current credits: %s\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:287\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:259\n msgid \"Purchased\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:289\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:261\n msgid \"Deposited\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:293\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:265\n msgid \"Refunded\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:295 includes\u002Fclass.booking.php:1204\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:267 includes\u002Fclass.booking.php:1204\n msgid \"Expired\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:357 includes\u002Fcustom-texts.php:862\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:329 includes\u002Fcustom-texts.php:871\n msgid \"Packages\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:360\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:332\n msgid \"Opens a dialog box to add package sessions\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:361\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:333\n msgid \"Add Package\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:371\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:343\n msgid \"Opens a dialog box to add credits\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:372\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:344\n msgid \"Add Credit\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:375\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:347\n msgid \"Recalculate after delete\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:377\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:349\n msgid \"\"\n \"After deleting a record, recalculates credits by adding\u002Fsubtracting deleted \"\n \"amount\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:450\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:422\n msgid \"Add Package Session to USER\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:450\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:422\n msgid \"Add Credit to USER\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:588\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:560\n msgid \"Plan\u002FWallet\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:599\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:571\n msgid \"Sessions to add\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:599\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:571\n msgid \"Credits to add\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:604\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:576\n #: includes\u002Faddons\u002Fseasonal-working-hours.php:254\n-#: includes\u002Fadmin\u002Fbookings.php:711 includes\u002Fcustom-texts.php:1169\n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:383\n+#: includes\u002Fadmin\u002Fbookings.php:711 includes\u002Fcustom-texts.php:1175\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:376\n #: includes\u002Ffreeons\u002Fmanual-payments\u002Fmanual-payments.php:111\n msgid \"Note\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:613\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:585\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:889\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:336\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1176\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:343\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1243\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:913\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1073\n #: includes\u002Fadmin\u002Fbookings.php:1760 includes\u002Fadmin\u002Fclients.php:850\n-#: includes\u002Fadmin\u002Fservices-list.php:1299 includes\u002Fadmin\u002Ftinymce.php:298\n-#: includes\u002Fcustom-texts.php:873 includes\u002Fcustom-texts.php:876\n+#: includes\u002Fadmin\u002Fservices-list.php:1300 includes\u002Fadmin\u002Ftinymce.php:298\n+#: includes\u002Fcustom-texts.php:882 includes\u002Fcustom-texts.php:885\n #: includes\u002Ffreeons\u002Fmanual-payments\u002Fmanual-payments.php:120\n-#: includes\u002Fschedules.php:538\n+#: includes\u002Ffunctions.listing.php:249 includes\u002Fschedules.php:553\n msgid \"Cancel\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:614\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:586\n #: includes\u002Ffreeons\u002Fmanual-payments\u002Fmanual-payments.php:122\n msgid \"Add\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:629 includes\u002Faddons\u002Fcredits\u002Fuser.php:701\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:601 includes\u002Faddons\u002Fcredits\u002Fuser.php:673\n msgid \"User ID not sent\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:633\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:605\n msgid \"Please enter a valid credit amount. Credits must be integer\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:639\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:611\n msgid \"No plan ID submitted. Refresh the page and try again\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:655\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:627\n #, php-format\n msgid \"User #%1$d %2$s: %3$s\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:657\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:629\n #, php-format\n msgid \"User #%1$d %2$s deposited\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fcredits\u002Fuser.php:705\n+#: includes\u002Faddons\u002Fcredits\u002Fuser.php:677\n msgid \"Credit record ID not sent\"\n msgstr \"\"\n \n@@ -1997,7 +1997,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fevent-bookings\u002Fevent-admin.php:247\n-#: includes\u002Fadmin\u002Fservices-list.php:1515 includes\u002Fconstant-data.php:453\n+#: includes\u002Fadmin\u002Fservices-list.php:1516 includes\u002Fconstant-data.php:464\n msgid \"Background Color\"\n msgstr \"\"\n \n@@ -2006,18 +2006,18 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fevent-bookings\u002Fevent-admin.php:259\n-#: includes\u002Faddons\u002Fgroup-bookings.php:116\n+#: includes\u002Faddons\u002Fgroup-bookings.php:121\n msgid \"Group Bookings\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fevent-bookings\u002Fevent-admin.php:262\n-#: includes\u002Faddons\u002Fgroup-bookings.php:1421\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1438\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fflexible-price.php:362\n #: includes\u002Faddons\u002Frecurring-appointments.php:1221\n #: includes\u002Faddons\u002Fservice-bundles.php:1167\n #: includes\u002Faddons\u002Fvariable-durations\u002Fselectable-durations.php:517\n #: includes\u002Faddons\u002Fvariable-durations\u002Ftime-variant-durations.php:300\n-#: includes\u002Faddons\u002Fwaiting-list.php:940 includes\u002Fconstant-data.php:355\n+#: includes\u002Faddons\u002Fwaiting-list.php:940 includes\u002Fconstant-data.php:366\n #: includes\u002Ffreeons\u002Flimited-availability.php:228\n msgid \"Enable\"\n msgstr \"\"\n@@ -2058,7 +2058,8 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fevent-bookings\u002Fevent-admin.php:292\n-#: includes\u002Fcustom-texts.php:1053 includes\u002Fschedules.php:393\n+#: includes\u002Fcustom-texts.php:1059 includes\u002Ffunctions.listing.php:155\n+#: includes\u002Fschedules.php:408\n msgid \"Location\"\n msgstr \"\"\n \n@@ -2087,7 +2088,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fevent-bookings\u002Fevent-admin.php:325\n-#: includes\u002Fconstant-data.php:670 includes\u002Fcustom-texts.php:991\n+#: includes\u002Fconstant-data.php:688 includes\u002Fcustom-texts.php:999\n msgid \"Enable Zoom\"\n msgstr \"\"\n \n@@ -2229,7 +2230,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fevent-bookings\u002Fevent-admin.php:538\n-#: includes\u002Fcustom-texts.php:889 includes\u002Fcustom-texts.php:1275\n+#: includes\u002Fcustom-texts.php:898 includes\u002Fcustom-texts.php:1281\n #: includes\u002Fgateways.php:407 includes\u002Fgateways.php:522\n msgid \"Security Code\"\n msgstr \"\"\n@@ -2264,8 +2265,9 @@\n #: includes\u002Faddons\u002Fevent-bookings\u002Ffunctions.event.php:196\n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:554\n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:692\n-#: includes\u002Fadmin\u002Fbookings.php:1683 includes\u002Fcustom-texts.php:1310\n-#: includes\u002Fcustom-texts.php:1380 includes\u002Fschedules.php:425\n+#: includes\u002Fadmin\u002Fbookings.php:1683 includes\u002Fcustom-texts.php:1316\n+#: includes\u002Fcustom-texts.php:1385 includes\u002Ffunctions.listing.php:187\n+#: includes\u002Fschedules.php:440\n msgid \"Start\"\n msgstr \"\"\n \n@@ -2274,13 +2276,13 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fevent-bookings\u002Ffunctions.event.php:206\n-#: includes\u002Fadmin\u002Fbookings.php:1705 includes\u002Fcustom-texts.php:981\n-#: includes\u002Fschedules.php:450\n+#: includes\u002Fadmin\u002Fbookings.php:1705 includes\u002Fcustom-texts.php:989\n+#: includes\u002Ffunctions.listing.php:212 includes\u002Fschedules.php:465\n msgid \"End\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fevent-bookings\u002Ffunctions.event.php:213\n-#: includes\u002Fcustom-texts.php:1287 includes\u002Fcustom-texts.php:1288\n+#: includes\u002Fcustom-texts.php:1293 includes\u002Fcustom-texts.php:1294\n msgid \"Repeat\"\n msgstr \"\"\n \n@@ -2356,11 +2358,11 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fextras.php:909 includes\u002Faddons\u002Fservice-bundles.php:1285\n-#: includes\u002Fcustom-texts.php:1291\n+#: includes\u002Fcustom-texts.php:1297\n msgid \"Select Service\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fextras.php:1091 includes\u002Fcustom-texts.php:1005\n+#: includes\u002Faddons\u002Fextras.php:1091 includes\u002Fcustom-texts.php:1013\n msgid \"Extra\"\n msgstr \"\"\n \n@@ -2415,16 +2417,16 @@\n msgid \"Cannot connect to calendar\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:337 includes\u002Fconstant-data.php:458\n-#: includes\u002Fconstant-data.php:464 includes\u002Fconstant-data.php:471\n-#: includes\u002Fconstant-data.php:474\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:337 includes\u002Fconstant-data.php:469\n+#: includes\u002Fconstant-data.php:475 includes\u002Fconstant-data.php:482\n+#: includes\u002Fconstant-data.php:485\n #, php-format\n msgid \"%s Appointment\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fgoogle-calendar.php:467\n #: includes\u002Faddons\u002Fgoogle-calendar.php:1925\n-#: includes\u002Faddons\u002Fgoogle-calendar.php:2128 includes\u002Fcustom-texts.php:842\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:2128 includes\u002Fcustom-texts.php:851\n msgid \"Google Calendar\"\n msgstr \"\"\n \n@@ -2433,70 +2435,70 @@\n msgid \"Error getting list of GCal calendars: %s\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:935\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:933\n msgid \"Blue\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:936\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:934\n msgid \"Green\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:937\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:935\n msgid \"Purple\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:938\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:936\n msgid \"Red\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:939\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:937\n msgid \"Yellow\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:940\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:938\n msgid \"Orange\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:941\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:939\n msgid \"Turquoise\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:942\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:940\n msgid \"Gray\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:943\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:941\n msgid \"Bold Blue\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:944\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:942\n msgid \"Bold Green\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:945\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:943\n msgid \"Bold Red\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:957\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:955\n #: includes\u002Faddons\u002Fmulti-language.php:2191\n-#: includes\u002Fadmin\u002Fdisplay-settings.php:238 includes\u002Fcustom-texts.php:957\n+#: includes\u002Fadmin\u002Fdisplay-settings.php:238 includes\u002Fcustom-texts.php:964\n msgid \"Default\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:965\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:963\n msgid \"GCal Event Color\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:967\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:965\n msgid \"Google Calendar event background color\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:1191\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:1189\n #, php-format\n msgid \"Test failed because connection could not be established. Code: %s\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:1251\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:1249\n #, php-format\n msgid \"GCal insert went wrong for Booking #%1$s. Error: %2$s\"\n msgstr \"\"\n@@ -2538,8 +2540,8 @@\n msgid \"GCal ID\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:2115 includes\u002Fcustom-texts.php:1017\n-#: includes\u002Fcustom-texts.php:1018\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:2115 includes\u002Fcustom-texts.php:1024\n+#: includes\u002Fcustom-texts.php:1025\n msgid \"Google Meet\"\n msgstr \"\"\n \n@@ -2550,7 +2552,11 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fgoogle-calendar.php:2117\n-msgid \"Join Hangouts\"\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:593\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:693\n+#: includes\u002Fcustom-texts.php:792 includes\u002Fcustom-texts.php:1026\n+#: includes\u002Fcustom-texts.php:1383\n+msgid \"Join\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fgoogle-calendar.php:2180\n@@ -2639,7 +2645,8 @@\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstore-settings.php:191\n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:760\n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:778\n-#: includes\u002Fadmin\u002Fglobal-settings.php:542\n+#: includes\u002Fadmin\u002Fglobal-settings.php:645\n+#: includes\u002Fadmin\u002Fglobal-settings.php:660\n msgid \"Select statuses\"\n msgstr \"\"\n \n@@ -2690,7 +2697,7 @@\n #: includes\u002Faddons\u002Fgoogle-calendar.php:2480\n #: includes\u002Faddons\u002Fgoogle-calendar.php:2599\n #: includes\u002Faddons\u002Fgoogle-calendar.php:2693\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:158\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:170\n msgid \"Website\"\n msgstr \"\"\n \n@@ -2807,7 +2814,7 @@\n \"this page.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgoogle-calendar.php:2755 includes\u002Fassets.php:367\n+#: includes\u002Faddons\u002Fgoogle-calendar.php:2755 includes\u002Fassets.php:337\n msgid \"\"\n \"This action will clear internal authorization token and you will need to \"\n \"authorize again. Use it if configuration could not be proceeded as described.\"\n@@ -3068,202 +3075,203 @@\n msgid \"WP BASE \u003C-> GCal\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:388\n+#: includes\u002Faddons\u002Fgroup-bookings.php:393\n #, php-format\n msgid \"This booking is for %d clients\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1355\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1372\n msgid \"Participant name\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1356\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1373\n msgid \"Participant email\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1391\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1408\n msgid \"Group bookings enabled for this service\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1423\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1440\n msgid \"Check to enable seats\u002Fpax\u002Fguests selection on the front end\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1426\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1443\n msgid \"Minimum Selectable\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1428\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1445\n msgid \"\"\n \"Minimum number of selectable seats. If left empty, minimum value will be 1. \"\n \"If minimum and maximum selectables are equal, pax selection element will be \"\n \"hidden.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1431\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1448\n msgid \"Maximum Selectable\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1433\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1450\n #, php-format\n msgid \"\"\n \"Maximum number of selectable seats. If left empty, capacity of the service \"\n \"(%d) will be taken.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1436\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1453\n msgid \"Slot Closed from Pax\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1438\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1455\n #, php-format\n msgid \"\"\n \"Number of booked seats after which slot will be regarded full. If left \"\n \"empty, maximum number of selectable seats (%d) will be taken.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1445\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1462\n msgid \"Participant Fields\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1453\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1470\n msgid \"Yes, optional\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1454\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1471\n msgid \"Yes, required\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1456\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1473\n #, php-format\n msgid \"\"\n \"Whether to allow client provide a list of %s of participants on the \"\n \"confirmation form.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1464\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1481\n msgid \"Email to Participants\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1467\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1484\n msgid \"Email Types\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1469\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1486\n msgid \"\"\n \"Participants whose emails are provided may receive copy of the email sent to \"\n \"the owner of the booking. This setting determines which emails they will \"\n \"receive.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1472\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1489\n msgid \"Method of Copy\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1474\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1491\n msgid \"Cc\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1475\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1492\n msgid \"Bcc\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1477\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1494\n msgid \"\"\n \"Copy email can be sent as cc (carbon copy) or bcc (blind carbon copy). In \"\n \"the latter case, recipients cannot see each other's email address.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1499\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1516\n msgid \"Person Types\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1503\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1520\n msgid \"Add Person Type\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1533\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1550\n #, php-format\n msgid \"Person Type #%d\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1533\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1550\n msgid \"Delete Type\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1536 includes\u002Fconstant-data.php:636\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1553 includes\u002Fconstant-data.php:654\n msgid \"Label\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1540\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1557\n msgid \"Label to be displayed on the front end, e.g. Adult, Children\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1543 includes\u002Fadmin\u002Fbookings.php:1581\n-#: includes\u002Fcustom-texts.php:999 includes\u002Fcustom-texts.php:1235\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1560 includes\u002Fadmin\u002Fbookings.php:1581\n+#: includes\u002Fcustom-texts.php:1007 includes\u002Fcustom-texts.php:1240\n msgid \"Price\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1545\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1562\n msgid \"Price per person for this type\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1548\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1565\n #: includes\u002Fadmin\u002Fdisplay-settings.php:208\n msgid \"Minimum\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1550\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1567\n msgid \"\"\n \"Minimum value that can be selected on the front end for this type. If left \"\n \"empty, zero is assumed except if all types are zero, the first type will be \"\n \"assumed 1.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1553\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1570\n #: includes\u002Faddons\u002Frecurring-appointments.php:1256\n msgid \"Maximum\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1555\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1572\n msgid \"\"\n \"Maximum value that can be selected on the front end for this type. If left \"\n \"empty, service capacity will be taken as maximum.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1558\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1575\n msgid \"Pax Value\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1560\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1577\n msgid \"\"\n \"Number of pax each of this type corresponds to. Normally 1, but for a \"\n \"\\\"Couples\\\" person type, you should enter 2.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1576\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1593\n msgid \"Select email types\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1710\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1731\n msgid \"GROUP\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fgroup-bookings.php:1733 includes\u002Fcustom-texts.php:1203\n-#: includes\u002Fcustom-texts.php:1269 includes\u002Ffreeons\u002Ftest-bookings.php:568\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1754\n+#: includes\u002Faddons\u002Fgroup-bookings.php:1816 includes\u002Fcustom-texts.php:1209\n+#: includes\u002Fcustom-texts.php:1275 includes\u002Ffreeons\u002Ftest-bookings.php:568\n msgid \"Pax\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Flocations.php:112 includes\u002Faddons\u002Flocations.php:905\n+#: includes\u002Faddons\u002Flocations.php:110 includes\u002Faddons\u002Flocations.php:884\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:94\n-#: includes\u002Fadmin\u002Fservices-list.php:1186 includes\u002Fconstant-data.php:446\n-#: includes\u002Fcustom-texts.php:1054 includes\u002Ffunctions.internal.php:1620\n+#: includes\u002Fadmin\u002Fservices-list.php:1187 includes\u002Fconstant-data.php:457\n+#: includes\u002Fcustom-texts.php:1060 includes\u002Ffunctions.internal.php:1620\n msgid \"Locations\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Flocations.php:974\n+#: includes\u002Faddons\u002Flocations.php:953\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:168\n-#: includes\u002Faddons\u002Fsms.php:499 includes\u002Fadmin\u002Fglobal-settings.php:808\n+#: includes\u002Faddons\u002Fsms.php:499 includes\u002Fadmin\u002Fglobal-settings.php:942\n #: includes\u002Ffunctions.internal.php:2307 includes\u002Ffunctions.internal.php:2325\n msgid \"General\"\n msgstr \"\"\n@@ -3283,23 +3291,23 @@\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:185\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:230\n #: includes\u002Fadmin\u002Fbookings.php:165 includes\u002Fadmin\u002Fclients.php:171\n-#: includes\u002Fadmin\u002Fservices-list.php:194 includes\u002Fadmin\u002Ftransactions.php:118\n+#: includes\u002Fadmin\u002Fservices-list.php:195 includes\u002Fadmin\u002Ftransactions.php:118\n msgid \"Columns\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:272\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:317\n #: includes\u002Fadmin\u002Fbookings.php:363 includes\u002Fadmin\u002Fclients.php:293\n-#: includes\u002Fadmin\u002Fservices-list.php:339 includes\u002Fadmin\u002Ftransactions.php:442\n-#: includes\u002Fschedules.php:1020\n+#: includes\u002Fadmin\u002Fservices-list.php:340 includes\u002Fadmin\u002Ftransactions.php:442\n+#: includes\u002Fschedules.php:1232\n msgid \"Open toolbar\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:278\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:323\n #: includes\u002Fadmin\u002Fbookings.php:369 includes\u002Fadmin\u002Fclients.php:299\n-#: includes\u002Fadmin\u002Fservices-list.php:345 includes\u002Fadmin\u002Ftransactions.php:448\n-#: includes\u002Fschedules.php:1026\n+#: includes\u002Fadmin\u002Fservices-list.php:346 includes\u002Fadmin\u002Ftransactions.php:448\n+#: includes\u002Fschedules.php:1238\n msgid \"Close toolbar\"\n msgstr \"\"\n \n@@ -3319,16 +3327,16 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:425\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:739\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:746\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:514\n #: includes\u002Fadmin\u002Fbookings.php:843 includes\u002Fadmin\u002Fdashboard.php:1064\n-#: includes\u002Fadmin\u002Fservices-list.php:633 includes\u002Fadmin\u002Ftransactions.php:603\n+#: includes\u002Fadmin\u002Fservices-list.php:634 includes\u002Fadmin\u002Ftransactions.php:605\n msgid \"Filter\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:439\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:528\n-#: includes\u002Fadmin\u002Fbookings.php:412 includes\u002Fadmin\u002Fservices-list.php:647\n+#: includes\u002Fadmin\u002Fbookings.php:412 includes\u002Fadmin\u002Fservices-list.php:648\n #: includes\u002Fadmin\u002Ftransactions.php:492\n msgid \"Clear Filters\"\n msgstr \"\"\n@@ -3354,17 +3362,17 @@\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:464\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:554\n #: includes\u002Fadmin\u002Fbookings.php:709 includes\u002Fadmin\u002Fclients.php:463\n-#: includes\u002Fcustom-texts.php:783 includes\u002Fcustom-texts.php:1056\n+#: includes\u002Fcustom-texts.php:784 includes\u002Fcustom-texts.php:1062\n msgid \"Address\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:467\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:665\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:672\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:469\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:560\n #: includes\u002Fadmin\u002Fbookings.php:716 includes\u002Fadmin\u002Fclients.php:469\n-#: includes\u002Fadmin\u002Fservices-list.php:536 includes\u002Fadmin\u002Ftransactions.php:477\n-#: includes\u002Fcustom-texts.php:1268\n+#: includes\u002Fadmin\u002Fservices-list.php:537 includes\u002Fadmin\u002Ftransactions.php:477\n+#: includes\u002Fcustom-texts.php:1274\n msgid \"Search\"\n msgstr \"\"\n \n@@ -3378,11 +3386,10 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:487\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:762\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:498\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:580\n #: includes\u002Fadmin\u002Fbookings.php:896 includes\u002Fadmin\u002Fclients.php:491\n-#: includes\u002Fadmin\u002Fservices-list.php:695\n+#: includes\u002Fadmin\u002Fservices-list.php:696\n msgid \"Change\"\n msgstr \"\"\n \n@@ -3392,10 +3399,10 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:587\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:928\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:968\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:611\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:686\n-#: includes\u002Fadmin\u002Fclients.php:581 includes\u002Fadmin\u002Fservices-list.php:833\n+#: includes\u002Fadmin\u002Fclients.php:581 includes\u002Fadmin\u002Fservices-list.php:834\n msgid \"No matching records have been found.\"\n msgstr \"\"\n \n@@ -3403,11 +3410,11 @@\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:724\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1369\n #: includes\u002Faddons\u002Fservice-providers.php:686\n-#: includes\u002Faddons\u002Fservice-providers.php:893\n+#: includes\u002Faddons\u002Fservice-providers.php:895\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:826\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1622\n #: includes\u002Fadmin\u002Fbookings.php:1256 includes\u002Fadmin\u002Fbookings.php:2340\n-#: includes\u002Fadmin\u002Fservices-list.php:1007 includes\u002Fadmin\u002Fservices-list.php:2020\n+#: includes\u002Fadmin\u002Fservices-list.php:1008 includes\u002Fadmin\u002Fservices-list.php:2029\n #, php-format\n msgid \"%s is editing\"\n msgstr \"\"\n@@ -3425,25 +3432,25 @@\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1007\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:714\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:806\n-#: includes\u002Fadmin\u002Fservices-list.php:1050 includes\u002Fadmin\u002Fservices-list.php:1069\n-#: includes\u002Fadmin\u002Fservices-list.php:1088 includes\u002Fadmin\u002Fservices-list.php:1533\n+#: includes\u002Fadmin\u002Fservices-list.php:1051 includes\u002Fadmin\u002Fservices-list.php:1070\n+#: includes\u002Fadmin\u002Fservices-list.php:1089 includes\u002Fadmin\u002Fservices-list.php:1534\n #, php-format\n msgid \" and %d more\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:836\n #: includes\u002Faddons\u002Fseasonal-working-hours.php:436\n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1461 includes\u002Fadmin\u002Fhelp.php:398\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1476 includes\u002Fadmin\u002Fhelp.php:398\n #: includes\u002Fadmin\u002Fhelp.php:404 includes\u002Fadmin\u002Fhelp.php:410\n-#: includes\u002Fadmin\u002Fhelp.php:416 includes\u002Fadmin\u002Fservices-list.php:1166\n-#: includes\u002Fcustom-texts.php:1254\n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:455\n+#: includes\u002Fadmin\u002Fhelp.php:416 includes\u002Fadmin\u002Fservices-list.php:1167\n+#: includes\u002Fcustom-texts.php:1260\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:448\n msgid \"Required\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:849\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:859\n-#: includes\u002Fcustom-texts.php:1075\n+#: includes\u002Fcustom-texts.php:1081\n msgid \"Manager\"\n msgstr \"\"\n \n@@ -3452,13 +3459,13 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:853\n-#: includes\u002Fadmin\u002Fservices-list.php:1176\n+#: includes\u002Fadmin\u002Fservices-list.php:1177\n msgid \"You\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:863\n-#: includes\u002Faddons\u002Fwaiting-list.php:945 includes\u002Fadmin\u002Fservices-list.php:1192\n-#: includes\u002Fcustom-texts.php:882 includes\u002Fcustom-texts.php:987\n+#: includes\u002Faddons\u002Fwaiting-list.php:945 includes\u002Fadmin\u002Fservices-list.php:1193\n+#: includes\u002Fcustom-texts.php:891 includes\u002Fcustom-texts.php:995\n msgid \"Capacity\"\n msgstr \"\"\n \n@@ -3476,8 +3483,8 @@\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:875\n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1055\n-#: includes\u002Fadmin\u002Fservices-list.php:1240 includes\u002Fadmin\u002Fservices-list.php:1586\n-#: includes\u002Fcustom-texts.php:962\n+#: includes\u002Fadmin\u002Fservices-list.php:1241 includes\u002Fadmin\u002Fservices-list.php:1589\n+#: includes\u002Fcustom-texts.php:969\n msgid \"Connected Post\"\n msgstr \"\"\n \n@@ -3489,12 +3496,13 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:892\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1179\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1246\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:916\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1076\n #: includes\u002Fadmin\u002Fbookings.php:1775 includes\u002Fadmin\u002Fclients.php:853\n-#: includes\u002Fadmin\u002Fservices-list.php:1307 includes\u002Fassets.php:360\n-#: includes\u002Fcustom-texts.php:1347 includes\u002Fschedules.php:553\n+#: includes\u002Fadmin\u002Fservices-list.php:1308 includes\u002Fassets.php:330\n+#: includes\u002Fcustom-texts.php:1353 includes\u002Ffunctions.listing.php:264\n+#: includes\u002Fschedules.php:568\n msgid \"Update\"\n msgstr \"\"\n \n@@ -3507,20 +3515,20 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:970\n-#: includes\u002Fadmin\u002Fservices-list.php:1501\n+#: includes\u002Fadmin\u002Fservices-list.php:1502\n msgid \"You are not the owner or admin. Changes will not be saved.\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:970\n-#: includes\u002Fadmin\u002Fservices-list.php:1501\n+#: includes\u002Fadmin\u002Fservices-list.php:1502\n msgid \"(Read Only)\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:994\n #: includes\u002Faddons\u002Fseasonal-working-hours.php:553\n-#: includes\u002Fadmin\u002Fservices-list.php:91 includes\u002Fconstant-data.php:618\n-#: includes\u002Fcustom-texts.php:865 includes\u002Fcustom-texts.php:1298\n-#: includes\u002Fcustom-texts.php:1301 includes\u002Ffunctions.internal.php:1629\n+#: includes\u002Fadmin\u002Fservices-list.php:92 includes\u002Fconstant-data.php:636\n+#: includes\u002Fcustom-texts.php:874 includes\u002Fcustom-texts.php:1304\n+#: includes\u002Fcustom-texts.php:1307 includes\u002Ffunctions.internal.php:1629\n #: includes\u002Fholidays.php:220 includes\u002Fnotices.php:399 includes\u002Fwh.php:1305\n msgid \"Services\"\n msgstr \"\"\n@@ -3535,7 +3543,7 @@\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:672\n #: includes\u002Faddons\u002Fseasonal-working-hours.php:530\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:330\n-#: includes\u002Fadmin\u002Fservices-list.php:1541 includes\u002Ffunctions.internal.php:1637\n+#: includes\u002Fadmin\u002Fservices-list.php:1542 includes\u002Ffunctions.internal.php:1637\n #: includes\u002Fholidays.php:199 includes\u002Fwh.php:1283\n msgid \"Service Providers\"\n msgstr \"\"\n@@ -3557,19 +3565,19 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1053\n-#: includes\u002Fadmin\u002Fservices-list.php:910 includes\u002Fadmin\u002Fservices-list.php:1584\n-#: includes\u002Fadmin\u002Fservices-list.php:1824\n+#: includes\u002Fadmin\u002Fservices-list.php:911 includes\u002Fadmin\u002Fservices-list.php:1587\n+#: includes\u002Fadmin\u002Fservices-list.php:1833\n #, php-format\n msgid \"Created at: %s\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1071\n-#: includes\u002Fadmin\u002Fservices-list.php:1602\n+#: includes\u002Fadmin\u002Fservices-list.php:1605\n msgid \"Main Image\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1073\n-#: includes\u002Fadmin\u002Fservices-list.php:1604 includes\u002Fadmin\u002Fsetup.php:113\n+#: includes\u002Fadmin\u002Fservices-list.php:1607 includes\u002Fadmin\u002Fsetup.php:113\n msgid \"Upload disabled\"\n msgstr \"\"\n \n@@ -3580,7 +3588,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1105\n-#: includes\u002Fadmin\u002Fservices-list.php:1636\n+#: includes\u002Fadmin\u002Fservices-list.php:1639\n #, php-format\n msgid \"Created by: %s\"\n msgstr \"\"\n@@ -3591,8 +3599,8 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1225\n-#: includes\u002Fadmin\u002Fbookings.php:2204 includes\u002Fadmin\u002Fservices-list.php:1848\n-#: includes\u002Fschedules.php:783\n+#: includes\u002Fadmin\u002Fbookings.php:2204 includes\u002Fadmin\u002Fservices-list.php:1857\n+#: includes\u002Ffunctions.listing.php:502 includes\u002Fschedules.php:808\n msgid \"Record could not be saved!\"\n msgstr \"\"\n \n@@ -3601,20 +3609,21 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1229\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1275\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1350\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:1206\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1374\n #: includes\u002Fadmin\u002Fbookings.php:2208 includes\u002Fadmin\u002Fclients.php:999\n-#: includes\u002Fadmin\u002Fservices-list.php:1852\n+#: includes\u002Fadmin\u002Fservices-list.php:1861\n msgid \"Changes saved.\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Flocations\u002Flocations-list.php:1231\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1288\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1363\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:1230\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1402\n #: includes\u002Fadmin\u002Fbookings.php:2210 includes\u002Fadmin\u002Fclients.php:1017\n-#: includes\u002Fadmin\u002Fservices-list.php:1854 includes\u002Fschedules.php:789\n+#: includes\u002Fadmin\u002Fservices-list.php:1863 includes\u002Ffunctions.listing.php:508\n+#: includes\u002Fschedules.php:814\n msgid \"You did not make any changes...\"\n msgstr \"\"\n \n@@ -3627,11 +3636,11 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-language.php:2108\n-#: includes\u002Faddons\u002Fmulti-language.php:2153 includes\u002Fcustom-texts.php:1283\n+#: includes\u002Faddons\u002Fmulti-language.php:2153 includes\u002Fcustom-texts.php:1289\n msgid \"Select Language\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-language.php:2109 includes\u002Fconstant-data.php:402\n+#: includes\u002Faddons\u002Fmulti-language.php:2109 includes\u002Fconstant-data.php:413\n msgid \"Default Language\"\n msgstr \"\"\n \n@@ -3640,7 +3649,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-language.php:2188\n-#: includes\u002Faddons\u002Fmulti-language.php:2461 includes\u002Fcustom-texts.php:1045\n+#: includes\u002Faddons\u002Fmulti-language.php:2461 includes\u002Fcustom-texts.php:1052\n msgid \"Language\"\n msgstr \"\"\n \n@@ -3695,16 +3704,16 @@\n #: includes\u002Faddons\u002Fmulti-vendor.php:133 includes\u002Faddons\u002Fmulti-vendor.php:142\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:103\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:284\n-#: includes\u002Fcustom-texts.php:1354\n+#: includes\u002Fcustom-texts.php:1360\n msgid \"Vendors\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor.php:134\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:127\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:73\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:82\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:228\n-#: includes\u002Fcustom-texts.php:839\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:139\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:78\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:87\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:235\n+#: includes\u002Fcustom-texts.php:848\n msgid \"Commissions\"\n msgstr \"\"\n \n@@ -3735,40 +3744,40 @@\n \"Booking calendar hidden due to \\\"Hide Non-Vendor Booking Calendars\\\" setting\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:142\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:154\n msgid \"Do not use secondary commission\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:143\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:155\n msgid \"First Time Customer\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:144\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:156\n msgid \"Repeat Customer\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:157\n-#: includes\u002Fcustom-texts.php:1353\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:169\n+#: includes\u002Fcustom-texts.php:1359\n msgid \"Vendor\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:176\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:188\n msgid \"Commission by Vendor Roles\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:199\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:211\n msgid \"Rates\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:206\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:218\n msgid \"Commission (%)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:207\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:219\n msgid \"Role of the Vendor\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:232\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:244\n msgid \"\"\n \"Enter distinct commissions that will be applied to certain vendor user \"\n \"roles. Selecting multiple roles for a particular rate is allowed. If vendor \"\n@@ -3777,26 +3786,26 @@\n \"commissions for those vendors.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:234\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:246\n msgid \"\"\n \"A table where you can define which vendor role will receive how much \"\n \"commission will be revealed here after you select and save number of \"\n \"commission rates.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:244\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:256\n msgid \"Maximum commission\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:245\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:257\n msgid \"Minimum commission\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:259\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:271\n msgid \"Client Approval\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:267\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:279\n msgid \"\"\n \"Enabling Client Approval adds a new status \\\"Approved\\\" to the bookings. \"\n \"Using this status you can give time to your clients approve or dispute for \"\n@@ -3806,338 +3815,454 @@\n \"template.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:268\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:280\n msgid \"You can use Approved status to filter bookings for commission payouts.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:269\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:281\n msgid \"\"\n \"This will also add another status \\\"Standby\\\". You can take disputed \"\n \"bookings into this status. Bookings in standby do not reserve any slot or do \"\n \"not change their status.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:287\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:298\n+msgid \"Pay Commissions with Stripe Connect\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:306\n+msgid \"\"\n+\"You can pay vendor commissions using Stripe by the help of Stripe Connect. \"\n+\"Using the connection button on the Settings tab of their Account page, \"\n+\"vendors should register their business to Stripe and connect to your Stripe \"\n+\"account.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:317\n+msgid \"Pay Only Manually\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:318\n+msgid \"When booking is completed\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:319\n+msgid \"When client approves the booking\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:328\n+#: includes\u002Fadmin\u002Fbookings.php:706 includes\u002Fadmin\u002Fclients.php:460\n+#: includes\u002Fconstant-data.php:467\n+msgid \"Client ID\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:331\n+msgid \"\"\n+\"Stripe Client ID should be taken from \u003Cb>Settings > Connect > Onboarding \"\n+\"Options > OAuth\u003C\u002Fb> page of your Stripe account.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:336\n+msgid \"Publishable Key\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:339\n+msgid \"\"\n+\"Stripe Publishable Key and Secret Key should be taken from \u003Cb>Settings > \"\n+\"Developers > API Keys\u003C\u002Fb> page of your Stripe account.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:344\n+msgid \"Secret Key\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:348\n+msgid \"See Publishable Key\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:353\n+msgid \"Redirect\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:356\n+#, php-format\n+msgid \"\"\n+\"Add this URL to \u003Cb>Redirect\u003C\u002Fb> field on \u003Cb>Settings > Connect > Onboarding \"\n+\"Options > OAuth\u003C\u002Fb> page of your Stripe account: \u003Ccode>%s\u003C\u002Fcode>\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:358\n+#, php-format\n+msgid \"\"\n+\"Create an Account page using \u003Ccode>[app_account]\u003C\u002Fcode> shortcode. This is \"\n+\"required for Stripe Connect. If you already have such a page, set it %s.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:358\n+msgid \"in this setting here\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommission-settings.php:372\n msgid \"Save Vendor Settings\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:184\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:981\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1129\n-#: includes\u002Fcustom-texts.php:1109\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:189\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1188\n+#: includes\u002Fcustom-texts.php:1116\n msgid \"Commission ID\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:186\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:657\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:984\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1135\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:191\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:664\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1024\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1194\n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:818\n #: includes\u002Fadmin\u002Fbookings.php:703 includes\u002Fadmin\u002Ftransactions.php:468\n-#: includes\u002Fcustom-texts.php:807\n+#: includes\u002Fcustom-texts.php:816\n msgid \"Booking ID\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:188\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:988\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:193\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1028\n #: includes\u002Fadmin\u002Fbookings.php:664\n msgid \"Booking Status\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:190\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:658\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1141\n-#: includes\u002Fadmin\u002Ftransactions.php:469 includes\u002Fcustom-texts.php:1214\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:195\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:665\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1200\n+#: includes\u002Fadmin\u002Ftransactions.php:469 includes\u002Fcustom-texts.php:1220\n msgid \"Payment ID\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:192\n-#: includes\u002Fcustom-texts.php:1110\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:197\n+#: includes\u002Fcustom-texts.php:1117\n msgid \"Rate\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:194\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:994\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:199\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1034\n msgid \"Provider\u002FOwner\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:229\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:201\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1040\n+#: includes\u002Faddons\u002Fstripe\u002Fstripe.php:287\n+msgid \"Stripe\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:236\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:285\n #: includes\u002Faddons\u002Fseasonal-working-hours.php:707\n msgid \"Add New\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:256\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:263\n #: includes\u002Ffunctions.internal.php:2323\n msgid \"Reset\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:301\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:308\n msgid \"Generate Payout File\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:307\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:314\n #: includes\u002Ffreeons\u002Fexport-import.php:1408\n msgid \"Choose start date\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:308\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:315\n #: includes\u002Ffreeons\u002Fexport-import.php:1409\n msgid \"Choose end date\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:309\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:316\n #, php-format\n msgid \"Min. payment (%s)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:311\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:318\n msgid \"For Completed bookings\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:318\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:325\n #, php-format\n msgid \"For %s bookings\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:320\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:327\n msgid \"For bookings of any status\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:325\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:332\n msgid \"Generate File\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:327\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:334\n msgid \"\"\n \"This will generate a payout file for review. All three limit values are \"\n \"optional. Normally commissions are paid only for completed bookings, however \"\n \"you can select any booking status.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:335\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:342\n msgid \"Mark as Paid\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:338\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:345\n msgid \"This will mark all unpaid commissions in the generated file as paid.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:342\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:349\n msgid \"Done\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:401\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:408\n msgid \"Start:\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:402\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:409\n msgid \"End:\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:403\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:410\n msgid \"Minimum:\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:406\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:413\n msgid \"Booking status:\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:408\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:415\n #, php-format\n msgid \"No unpaid commissions found for criteria:%s\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:456\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:463\n #, php-format\n-msgid \"%1$d commissions with IDs %2$s have been changed as paid by user: %3$s.\"\n+msgid \"\"\n+\"%1$d commission records with IDs %2$s have been changed as paid by user: \"\n+\"%3$s.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:462\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:469\n #, php-format\n msgid \"%d records have been changed as paid.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:464\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:471\n msgid \"No records have been changed\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:654\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:661\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:550\n msgid \"Provider Name\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:655\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:662\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:551\n msgid \"Provider ID\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:656\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:663\n msgid \"Provider email\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:657\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:664\n #: includes\u002Fadmin\u002Fbookings.php:703 includes\u002Fadmin\u002Ftransactions.php:468\n msgid \"Multiple IDs separated with comma or space is possible\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:659\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:666\n #: includes\u002Fadmin\u002Ftransactions.php:470\n msgid \"Amount =\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:660\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:667\n #: includes\u002Fadmin\u002Ftransactions.php:471\n msgid \"Amount &gt;\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:661\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:668\n #: includes\u002Fadmin\u002Ftransactions.php:472\n msgid \"Amount &lt;\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:698\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:705\n msgid \"Filter by payment month\u002Fweek\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:712\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:719\n msgid \"Filter by service provider\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:714\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:721\n #: includes\u002Fadmin\u002Fbookings.php:828 includes\u002Fadmin\u002Fdashboard.php:1045\n msgid \"Unassigned\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:729\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:736\n msgid \"Filter by booking status\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:752\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:483\n-#: includes\u002Fadmin\u002Fbookings.php:883 includes\u002Fadmin\u002Fclients.php:483\n-#: includes\u002Fadmin\u002Fservices-list.php:685\n-msgid \"Bulk status change\"\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:760\n+msgid \"Bulk Actions\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:761\n+msgid \"Change Status\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:766\n+msgid \"Pay Commission\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:777\n-#: includes\u002Fadmin\u002Fbookings.php:912 includes\u002Fadmin\u002Fservices-list.php:662\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:767\n+msgid \"Pay\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:790\n+#: includes\u002Fadmin\u002Fbookings.php:912 includes\u002Fadmin\u002Fservices-list.php:663\n #: includes\u002Fadmin\u002Ftransactions.php:504\n msgid \"Sort by\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:778\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:791\n msgid \"Payment date (Earliest first)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:779\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:792\n msgid \"Payment date (Latest first)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:780\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:793\n msgid \"ID (Lowest first)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:781\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:794\n msgid \"ID (Highest first)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:787\n-#: includes\u002Fadmin\u002Fbookings.php:925 includes\u002Fadmin\u002Fservices-list.php:671\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:800\n+#: includes\u002Fadmin\u002Fbookings.php:925 includes\u002Fadmin\u002Fservices-list.php:672\n #: includes\u002Fadmin\u002Ftransactions.php:513\n msgid \"Sort\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:814\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:833\n+#, php-format\n+msgid \"%1$d commission records with IDs %2$s deleted by user: %3$s\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:838\n+#: includes\u002Fadmin\u002Fservices-list.php:758\n+#, php-format\n+msgid \"%d records have been deleted\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:853\n #, php-format\n-msgid \"%1$d Commissions with IDs %2$s changed to %3$s by user: %4$s\"\n+msgid \"%1$d commission records with IDs %2$s changed to %3$s by user: %4$s\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:820\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:859\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:544\n-#: includes\u002Fadmin\u002Fservices-list.php:761\n+#: includes\u002Fadmin\u002Fservices-list.php:762\n #, php-format\n msgid \"%d records have been changed\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:856\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:896\n #, php-format\n msgid \"Commission(s) with id(s): %1$s deleted by user %2$s\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:941\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:981\n #: includes\u002Fadmin\u002Fbookings.php:1034 includes\u002Ffreeons\u002Ftest-bookings.php:538\n msgid \"Permanently Delete Selected Records\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:941\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:981\n #: includes\u002Fadmin\u002Fbookings.php:1034 includes\u002Ffreeons\u002Ftest-bookings.php:538\n msgid \"Clicking this button permanently deletes selected records\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:991\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1145\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1021\n+msgid \"Comm. ID\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1031\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1204\n msgid \"Rate (%)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:997\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1149\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1037\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1208\n #, php-format\n msgid \"Amount (%s)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1063\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1107\n msgid \"Click to edit commission\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1064\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1108\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:735\n #: includes\u002Fadmin\u002Fbookings.php:1299 includes\u002Fadmin\u002Fclients.php:689\n-#: includes\u002Fadmin\u002Ftransactions.php:857 includes\u002Fassets.php:357\n-#: includes\u002Fcustom-texts.php:971 includes\u002Fcustom-texts.php:973\n+#: includes\u002Fadmin\u002Ftransactions.php:859 includes\u002Fassets.php:327\n+#: includes\u002Fcustom-texts.php:978 includes\u002Fcustom-texts.php:980\n #: sample\u002Fsample-appointments-page.php:26\n msgid \"Edit\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1131\n-#: includes\u002Fcustom-texts.php:944\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1190\n+#: includes\u002Fcustom-texts.php:951\n msgid \"Created\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1139\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1198\n #: includes\u002Faddons\u002Fsms.php:550 includes\u002Faddons\u002Fsms.php:583\n #: includes\u002Faddons\u002Fsms.php:674 includes\u002Faddons\u002Fsms.php:706\n-#: includes\u002Fadmin\u002Fbookings.php:1505 includes\u002Fcustom-texts.php:1241\n-#: includes\u002Fcustom-texts.php:1368 includes\u002Ffreeons\u002Ftest-bookings.php:598\n-#: includes\u002Fschedules.php:415\n+#: includes\u002Fadmin\u002Fbookings.php:1505 includes\u002Fcustom-texts.php:1246\n+#: includes\u002Fcustom-texts.php:1374 includes\u002Ffreeons\u002Ftest-bookings.php:598\n+#: includes\u002Ffunctions.listing.php:177 includes\u002Fschedules.php:430\n msgid \"Provider\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1157\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:378\n-#: includes\u002Fcustom-texts.php:1195 includes\u002Fcustom-texts.php:1336\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1216\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:376\n+#: includes\u002Fcustom-texts.php:1201 includes\u002Fcustom-texts.php:1342\n msgid \"Paid\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1179\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1220\n+#: includes\u002Ffreeons\u002Fmanual-payments\u002Fmanual-payments.php:108\n+msgid \"Transaction ID\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1224\n+msgid \"Transaction Reference\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1246\n msgid \"Add Commission\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1240\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1307\n msgid \"Provider does not exist!\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1303\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1378\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:1250\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:1350\n-#: includes\u002Fadmin\u002Fbookings.php:2215 includes\u002Fschedules.php:794\n+#: includes\u002Fadmin\u002Fbookings.php:2215 includes\u002Fschedules.php:819\n msgid \"Email has been sent.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1305\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fcommissions-list.php:1380\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:1252\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:1352\n-#: includes\u002Fadmin\u002Fbookings.php:2217 includes\u002Fschedules.php:798\n+#: includes\u002Fadmin\u002Fbookings.php:2217 includes\u002Fschedules.php:823\n msgid \"Email could NOT be sent!\"\n msgstr \"\"\n \n@@ -4240,7 +4365,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:175\n-#: includes\u002Fadmin\u002Fglobal-settings.php:707 includes\u002Fcustom-texts.php:813\n+#: includes\u002Fadmin\u002Fglobal-settings.php:841 includes\u002Fcustom-texts.php:822\n #: includes\u002Flogin-register.php:206 includes\u002Fwidgets.php:297\n msgid \"Auto\"\n msgstr \"\"\n@@ -4259,7 +4384,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:187\n-#: includes\u002Fadmin\u002Fservices-list.php:1548 includes\u002Fcustom-texts.php:1369\n+#: includes\u002Fadmin\u002Fservices-list.php:1549 includes\u002Fcustom-texts.php:1375\n msgid \"Provider Free\"\n msgstr \"\"\n \n@@ -4270,10 +4395,10 @@\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:557\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:636\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:694\n-#: includes\u002Fadmin\u002Fglobal-settings.php:493\n-#: includes\u002Fadmin\u002Fglobal-settings.php:561\n-#: includes\u002Fadmin\u002Fglobal-settings.php:620\n-#: includes\u002Fadmin\u002Fglobal-settings.php:647 includes\u002Fwh.php:1386\n+#: includes\u002Fadmin\u002Fglobal-settings.php:578\n+#: includes\u002Fadmin\u002Fglobal-settings.php:683\n+#: includes\u002Fadmin\u002Fglobal-settings.php:754\n+#: includes\u002Fadmin\u002Fglobal-settings.php:781 includes\u002Fwh.php:1386\n #: includes\u002Fwh.php:1417\n msgid \"Save Everything\"\n msgstr \"\"\n@@ -4334,36 +4459,41 @@\n msgid \"Affiliates Manager (WPAM)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:360\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:359\n msgid \"BuddyPress\u002FBuddyBoss\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:361\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:360\n msgid \"GeoDirectory\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:362\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:361\n msgid \"Listeo\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:363\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:362\n msgid \"Listing Pro\"\n msgstr \"\"\n \n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:363\n+#: includes\u002Fadmin\u002Ftinymce.php:229\n+msgid \"Other\"\n+msgstr \"\"\n+\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:385\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:881\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:988\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1053\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1149\n-#: includes\u002Fcustom-texts.php:821 includes\u002Fcustom-texts.php:1105\n+#: includes\u002Fcustom-texts.php:830 includes\u002Fcustom-texts.php:1112\n msgid \"Bio Page\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:398\n #, php-format\n msgid \"\"\n-\"When BuddyPress integration is active, below Bio Page settings have no \"\n-\"effect. Instead see %s.\"\n+\"When BuddyPress integration is active and the only active listing \"\n+\"integration plugin, below Bio Page settings have no effect. Instead see %s.\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:398\n@@ -4371,7 +4501,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:513\n-#: includes\u002Fcustom-texts.php:1314\n+#: includes\u002Fcustom-texts.php:1319\n msgid \"Store Page\"\n msgstr \"\"\n \n@@ -4396,12 +4526,12 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:581\n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:672\n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:686\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:1002\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:1016\n #: includes\u002Faddons\u002Fonline-meetings\u002Fjitsi\u002Fjitsi.php:784\n #: includes\u002Faddons\u002Fonline-meetings\u002Fjitsi\u002Fjitsi.php:798\n #: includes\u002Faddons\u002Fpaypal-standard\u002Fpaypal-standard.php:234\n-#: includes\u002Fadmin\u002Fglobal-settings.php:412\n+#: includes\u002Fadmin\u002Fglobal-settings.php:460\n #: includes\u002Fpayment-gateway-pay-later.php:89\n msgid \"Home page\"\n msgstr \"\"\n@@ -4557,33 +4687,37 @@\n \"where \u003Ccode>[app_account]\u003C\u002Fcode> resides.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:848\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:851\n msgid \"Validation\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:849\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:852\n msgid \"Vendor Pending\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:850\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:853\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fapproved.php:57\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fapproved.php:387\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:31\n-#: includes\u002Fcustom-texts.php:810\n+#: includes\u002Fcustom-texts.php:819\n msgid \"Approved\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:851\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:854\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:32\n msgid \"Declined\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:859\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:855\n+msgid \"Commission Paid\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:863\n #, php-format\n msgid \"Settings for application %s email\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:940\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendor-settings.php:944\n #: includes\u002Ffunctions.internal.php:1463\n msgid \"Custom Posts\"\n msgstr \"\"\n@@ -4609,7 +4743,7 @@\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:462\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:552\n #: includes\u002Fadmin\u002Fbookings.php:707 includes\u002Fadmin\u002Fclients.php:461\n-#: includes\u002Fcustom-texts.php:891 includes\u002Fcustom-texts.php:977\n+#: includes\u002Fcustom-texts.php:900 includes\u002Fcustom-texts.php:986\n #: includes\u002Ffunctions.internal.php:2319\n msgid \"Email\"\n msgstr \"\"\n@@ -4617,17 +4751,23 @@\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:463\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:553\n #: includes\u002Fadmin\u002Fbookings.php:708 includes\u002Fadmin\u002Fclients.php:462\n-#: includes\u002Fcustom-texts.php:897 includes\u002Fcustom-texts.php:1222\n+#: includes\u002Fcustom-texts.php:906 includes\u002Fcustom-texts.php:1228\n msgid \"Phone\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:465\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:555\n #: includes\u002Fadmin\u002Fbookings.php:710 includes\u002Fadmin\u002Fclients.php:464\n-#: includes\u002Fcustom-texts.php:887 includes\u002Fcustom-texts.php:907\n+#: includes\u002Fcustom-texts.php:896 includes\u002Fcustom-texts.php:916\n msgid \"City\"\n msgstr \"\"\n \n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:483\n+#: includes\u002Fadmin\u002Fbookings.php:883 includes\u002Fadmin\u002Fclients.php:483\n+#: includes\u002Fadmin\u002Fservices-list.php:686\n+msgid \"Bulk status change\"\n+msgstr \"\"\n+\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:489\n #: includes\u002Fadmin\u002Fclients.php:484\n msgid \"Remove\"\n@@ -4664,12 +4804,12 @@\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:887\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1059\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1714\n-#: includes\u002Fcustom-texts.php:1303\n+#: includes\u002Fcustom-texts.php:1309\n msgid \"Services Provided\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fadmin\u002Fvendors-list.php:893\n-#: includes\u002Fcustom-texts.php:1207\n+#: includes\u002Fcustom-texts.php:1213\n msgid \"PayPal Email\"\n msgstr \"\"\n \n@@ -4801,7 +4941,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fclass.signup.php:554\n-#: includes\u002Fcustom-texts.php:1114\n+#: includes\u002Fcustom-texts.php:1121\n msgid \"Activation email could not be sent.\"\n msgstr \"\"\n \n@@ -4813,9 +4953,66 @@\n msgid \"You must select a store for new store client\"\n msgstr \"\"\n \n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:485\n+#, php-format\n+msgid \"Commission could not be paid. Check %s for details.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:485\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:668\n+#: includes\u002Fconstant-data.php:510 includes\u002Fconstant-data.php:511\n+#: includes\u002Fconstant-data.php:512 includes\u002Fconstant-data.php:585\n+msgid \"log file\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:517\n+#, php-format\n+msgid \"Payout for booking #%d\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:549\n+#, php-format\n+msgid \"\"\n+\"Commission of %1$s with ID %2$d could not be paid to vendor #%3$s. Reason: \"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:636\n+#, php-format\n+msgid \"Total %s has been transferred.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:651\n+#, php-format\n+msgid \"%1$s commission paid to vendor %2$s. Notification email sent to %3$s\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:654\n+#, php-format\n+msgid \"\"\n+\"%1$s commission paid to vendor %2$s. However, notification email could not \"\n+\"be sent to %3$s\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:664\n+#, php-format\n+msgid \"%d notification email sent.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:668\n+#, php-format\n+msgid \"\"\n+\"However there was %1$d notification email sending error. Check %2$s for \"\n+\"details.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fcommissions.php:671\n+#, php-format\n+msgid \"%d commissions paid. \"\n+msgstr \"\"\n+\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fdashboard.php:82\n #: includes\u002Fadmin\u002Fdashboard.php:59 includes\u002Fadmin\u002Ftoolbar.php:126\n-#: includes\u002Fcustom-texts.php:841\n+#: includes\u002Fcustom-texts.php:850\n msgid \"Dashboard\"\n msgstr \"\"\n \n@@ -4889,73 +5086,20 @@\n msgid \"To Pax\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:121\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:120\n msgid \"You don't have any stores\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:122\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:121\n #: includes\u002Fadmin\u002Ftoolbar.php:226\n msgid \"Store Management\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:270\n-msgid \"\"\n-\"Creates a store management page to control bookings, clients, services, \"\n-\"providers related to the store. Only store manager can view this page. Store \"\n-\"managers act like admin for their stores.\"\n-msgstr \"\"\n-\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:272\n-#: includes\u002Fconstant-data.php:1565\n-msgid \"\"\n-\"Text that will be displayed to the users who are logged in or you don't \"\n-\"require a login. Default: \\\"\\\"\"\n-msgstr \"\"\n-\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:273\n-#: includes\u002Fconstant-data.php:1566\n-msgid \"\"\n-\"Text that will be displayed to the users who are not logged in and you \"\n-\"require a login. LOGIN_PAGE and REGISTRATION_PAGE placeholders will be \"\n-\"replaced with your website's login and registration links respectively. \"\n-\"Default: \\\"You need to login to make an appointment. Click here to login: \"\n-\"LOGIN_PAGE OR click here to register: REGISTRATION_PAGE\\\"\"\n-msgstr \"\"\n-\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:274\n-msgid \"\"\n-\"Title tag above the tabs. Enter 0 for no title. Default: Store Management \"\n-\"(No title)\"\n-msgstr \"\"\n-\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:275\n-msgid \"\"\n-\"Name of the tabs to be excluded. Multiple entries separated with commas can \"\n-\"be set. Allowed values: dashboard, manage, schedules, clients, stores, \"\n-\"store_settings, services, working_hours, holidays, seasonal, payments, \"\n-\"commissions, gcal. Default: empty\"\n-msgstr \"\"\n-\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:276\n-#: includes\u002Fconstant-data.php:1596\n-msgid \"\"\n-\"Requires Front End Management addon. Status of bookings to be displayed in \"\n-\"Manage Bookings tab. See status attribute of Front End Management \"\n-\"(app_manage) shortcode\"\n-msgstr \"\"\n-\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffront-store.php:277\n-#: includes\u002Fconstant-data.php:1597\n-msgid \"\"\n-\"Requires both Front End Management and Export\u002FImport addons. Whether add \"\n-\"Export CSV options in Manage Bookings tab. Set 0 to disable.\"\n-msgstr \"\"\n-\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:30\n #: includes\u002Faddons\u002Fsms.php:588 includes\u002Fadmin\u002Fbookings.php:1795\n-#: includes\u002Fadmin\u002Fdashboard.php:667 includes\u002Fadmin\u002Fglobal-settings.php:757\n-#: includes\u002Fadmin\u002Fglobal-settings.php:865 includes\u002Fcustom-texts.php:1137\n-#: includes\u002Fcustom-texts.php:1218\n+#: includes\u002Fadmin\u002Fdashboard.php:667 includes\u002Fadmin\u002Fglobal-settings.php:891\n+#: includes\u002Fadmin\u002Fglobal-settings.php:999 includes\u002Fcustom-texts.php:1144\n+#: includes\u002Fcustom-texts.php:1224\n msgid \"Pending\"\n msgstr \"\"\n \n@@ -4963,28 +5107,24 @@\n msgid \"Suspended\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:136\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:134\n #, php-format\n msgid \"Sending %s email to %s was success\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:139\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:137\n #, php-format\n msgid \"Sending %s email to %s failed\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:379\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:377\n msgid \"Unpaid\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:380\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:378\n msgid \"On hold\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Ffunctions.multi-vendor.php:527\n-msgid \"No services to list\"\n-msgstr \"\"\n-\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Finstall.php:25\n msgid \"WP BASE Vendor\"\n msgstr \"\"\n@@ -5045,7 +5185,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:68\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:121\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:124\n msgid \"Not a vendor\"\n msgstr \"\"\n \n@@ -5053,13 +5193,22 @@\n msgid \"Check \\\"key\\\" attribute in app_vendor_meta shortcode\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:137\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:103\n+#: includes\u002Ffunctions.front.php:1281\n+msgid \"My Services\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:130\n+msgid \"No services to list\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:152\n msgid \"\"\n \"Displays vendor information on their bio page, posts loop, BP Book Me page \"\n \"or BP Members Directory.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:139\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:154\n msgid \"\"\n \"Vendor information to be displayed. Allowed values: display_name, \"\n \"first_name, last_name, email, image_html, start_date, page_permalink (url), \"\n@@ -5067,48 +5216,58 @@\n \"Default: \\\"\\\"\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:140\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:155\n msgid \"\"\n \"Parameter for certain variables. For image_html, image size in px. For \"\n \"page_link it is the link text, e.g \\\"Book Me\\\"; if left empty name of the \"\n \"vendor.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:142\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:157\n msgid \"\"\n \"\u003Ccode>[app_vendor_meta key=\\\"page_link\\\" par=\\\"Book Me\\\"]\u003C\u002Fcode> creates a \"\n \"link with text \\\"Book Me\\\" to vendor's bio page.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:147\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:162\n msgid \"\"\n \"Displays list of services provided by vendor with clickable links on their \"\n \"bio page, posts loop, BP Book Me page or BP Members Directory.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:149\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:164\n msgid \"\"\n-\"HTML element for the list. Set \\\"ul\\\" for unordered list, \\\"ol\\\" for ordered \"\n-\"list, leave empty for comma separated list (no HTML). Default: Comma \"\n-\"separated\"\n+\"HTML element for the list. Set \\\"grid\\\" for CSS grid view, \\\"ul\\\" for \"\n+\"unordered list, \\\"ol\\\" for ordered list, \\\"none\\\" for comma separated text \"\n+\"(no HTML). Default: \\\"grid\\\"\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:150\n-msgid \"Optional title. Only for ul and ol elements. Default: empty\"\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:165\n+msgid \"\"\n+\"Title. Not diplayed for comma separated text. Enter 0 to disable. Default: \"\n+\"\\\"My Services\\\"\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:151\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:166\n msgid \"Limit for number of services to display. Default: No limit\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:152\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:167\n msgid \"\"\n \"\\\"target\\\" hyperlink attribute for service page links. Set \\\"_blank\\\" to \"\n \"open the link in a new browser tab. Default: empty (link opened in the same \"\n \"tab)\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:154\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:168\n+msgid \"\"\n+\"Only when elm is \\\"grid\\\". Number of columns of grid element for desktop \"\n+\"devices (Width > 1024px). For devices with smaller screens, displayed \"\n+\"columns will be automatically reduced based on screen size. Allowed values: \"\n+\"1, 2, 3, 4. Default: 3\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:170\n msgid \"\"\n \"\u003Ccode>[app_vendor_services elm=\\\"ul\\\" title=\\\"My Services\\\" limit=\\\"5\\\" \"\n \"target=\\\"_blank\\\"]\u003C\u002Fcode> creates an unordered list of services provided by \"\n@@ -5116,6 +5275,60 @@\n \"link opens the post in a new browser tab.\"\n msgstr \"\"\n \n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:176\n+msgid \"\"\n+\"Only when Multi Store mode is selected. Creates a store management page to \"\n+\"control bookings, clients, services, providers related to the store. Only \"\n+\"store manager can view this page. Store managers act like admin for their \"\n+\"stores.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:178\n+#: includes\u002Fconstant-data.php:1585\n+msgid \"\"\n+\"Text that will be displayed to the users who are logged in or you don't \"\n+\"require a login. Default: \\\"\\\"\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:179\n+#: includes\u002Fconstant-data.php:1586\n+msgid \"\"\n+\"Text that will be displayed to the users who are not logged in and you \"\n+\"require a login. LOGIN_PAGE and REGISTRATION_PAGE placeholders will be \"\n+\"replaced with your website's login and registration links respectively. \"\n+\"Default: \\\"You need to login to make an appointment. Click here to login: \"\n+\"LOGIN_PAGE OR click here to register: REGISTRATION_PAGE\\\"\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:180\n+msgid \"\"\n+\"Title tag above the tabs. Enter 0 for no title. Default: Store Management \"\n+\"(No title)\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:181\n+msgid \"\"\n+\"Name of the tabs to be excluded. Multiple entries separated with commas can \"\n+\"be set. Allowed values: dashboard, manage, schedules, clients, stores, \"\n+\"services, workers, working_hours, holidays, seasonal, payments, commissions, \"\n+\"gcal, store_settings. Default: empty\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:182\n+#: includes\u002Fconstant-data.php:1616\n+msgid \"\"\n+\"Requires Front End Management addon. Status of bookings to be displayed in \"\n+\"Manage Bookings tab. See status attribute of Front End Management \"\n+\"(app_manage) shortcode\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fshortcodes.php:183\n+#: includes\u002Fconstant-data.php:1617\n+msgid \"\"\n+\"Requires both Front End Management and Export\u002FImport addons. Whether add \"\n+\"Export CSV options in Manage Bookings tab. Set 0 to disable.\"\n+msgstr \"\"\n+\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstore-settings.php:83\n msgid \"All of your stores will be using these settings.\"\n msgstr \"\"\n@@ -5170,28 +5383,593 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstore-settings.php:165\n-#: includes\u002Fadmin\u002Fglobal-settings.php:498 includes\u002Fadmin\u002Ftoolbar.php:129\n-#: includes\u002Fcustom-texts.php:864 includes\u002Fnotices.php:335\n-#: includes\u002Fschedules.php:103 includes\u002Fschedules.php:1033\n+#: includes\u002Fadmin\u002Fglobal-settings.php:583 includes\u002Fadmin\u002Ftoolbar.php:129\n+#: includes\u002Fcustom-texts.php:873 includes\u002Fnotices.php:335\n+#: includes\u002Fschedules.php:151 includes\u002Fschedules.php:1245\n msgid \"Schedules\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:340\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:287\n+#, php-format\n+msgid \"Could not retrieve platform data: %s\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:349\n+#, php-format\n+msgid \"Could not retrieve country spec: %s\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:419\n+msgid \"Albania\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:420\n+msgid \"Algeria\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:421\n+msgid \"Angola\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:422\n+msgid \"Antigua and Barbuda\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:423\n+msgid \"Argentina\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:424\n+msgid \"Armenia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:425\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:554\n+msgid \"Australia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:426\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:555\n+msgid \"Austria\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:427\n+msgid \"Azerbaijan\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:428\n+msgid \"Bahamas\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:429\n+msgid \"Bahrain\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:430\n+msgid \"Bangladesh\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:431\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:556\n+msgid \"Belgium\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:432\n+msgid \"Benin\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:433\n+msgid \"Bhutan\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:434\n+msgid \"Bolivia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:435\n+msgid \"Bosnia and Herzegovina\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:436\n+msgid \"Botswana\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:437\n+msgid \"Brunei\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:438\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:557\n+msgid \"Bulgaria\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:439\n+msgid \"Cambodia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:440\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:558\n+msgid \"Canada\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:441\n+msgid \"Chile\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:442\n+msgid \"Colombia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:443\n+msgid \"Costa Rica\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:444\n+msgid \"Ivory Coast\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:445\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:559\n+msgid \"Croatia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:446\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:560\n+msgid \"Cyprus\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:447\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:561\n+msgid \"Czech Republic\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:448\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:562\n+msgid \"Denmark\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:449\n+msgid \"Dominican Republic\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:450\n+msgid \"Ecuador\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:451\n+msgid \"Egypt\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:452\n+msgid \"El Salvador\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:453\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:563\n+msgid \"Estonia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:454\n+msgid \"Ethiopia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:455\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:564\n+msgid \"Finland\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:456\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:565\n+msgid \"France\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:457\n+msgid \"Gabon\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:458\n+msgid \"Gambia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:459\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:566\n+msgid \"Germany\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:460\n+msgid \"Ghana\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:461\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:568\n+msgid \"Greece\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:462\n+msgid \"Guatemala\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:463\n+msgid \"Guyana\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:464\n+msgid \"Hong Kong\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:465\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:570\n+msgid \"Hungary\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:466\n+msgid \"Iceland\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:467\n+msgid \"India\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:468\n+msgid \"Indonesia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:469\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:571\n+msgid \"Ireland\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:470\n+msgid \"Israel\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:471\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:572\n+msgid \"Italy\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:472\n+msgid \"Jamaica\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:473\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:573\n+msgid \"Japan\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:474\n+msgid \"Jordan\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:475\n+msgid \"Kazakhstan\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:476\n+msgid \"Kenya\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:477\n+msgid \"Kuwait\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:478\n+msgid \"Laos\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:479\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:574\n+msgid \"Latvia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:480\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:575\n+msgid \"Liechtenstein\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:481\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:576\n+msgid \"Lithuania\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:482\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:577\n+msgid \"Luxembourg\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:483\n+msgid \"Macao\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:484\n+msgid \"Madagascar\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:485\n+msgid \"Malaysia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:486\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:578\n+msgid \"Malta\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:487\n+msgid \"Mauritius\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:488\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:579\n+msgid \"Mexico\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:489\n+msgid \"Moldova\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:490\n+msgid \"Monaco\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:491\n+msgid \"Mongolia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:492\n+msgid \"Morocco\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:493\n+msgid \"Mozambique\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:494\n+msgid \"Namibia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:495\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:580\n+msgid \"Netherlands\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:496\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:581\n+msgid \"New Zealand\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:497\n+msgid \"Niger\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:498\n+msgid \"Nigeria\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:499\n+msgid \"North Macedonia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:500\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:582\n+msgid \"Norway\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:501\n+msgid \"Oman\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:502\n+msgid \"Pakistan\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:503\n+msgid \"Panama\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:504\n+msgid \"Paraguay\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:505\n+msgid \"Peru\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:506\n+msgid \"Philippines\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:507\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:583\n+msgid \"Poland\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:508\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:584\n+msgid \"Portugal\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:509\n+msgid \"Qatar\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:510\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:585\n+msgid \"Romania\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:511\n+msgid \"Rwanda\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:512\n+msgid \"San Marino\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:513\n+msgid \"Saudi Arabia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:514\n+msgid \"Senegal\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:515\n+msgid \"Serbia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:516\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:586\n+msgid \"Singapore\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:517\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:587\n+msgid \"Slovakia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:518\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:588\n+msgid \"Slovenia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:519\n+msgid \"South Africa\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:520\n+msgid \"South Korea\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:521\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:589\n+msgid \"Spain\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:522\n+msgid \"Sri Lanka\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:523\n+msgid \"Saint Lucia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:524\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:590\n+msgid \"Sweden\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:525\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:591\n+msgid \"Switzerland\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:526\n+msgid \"Taiwan\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:527\n+msgid \"Tanzania\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:528\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:592\n+msgid \"Thailand\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:529\n+msgid \"Trinidad and Tobago\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:530\n+msgid \"Tunisia\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:531\n+msgid \"Turkey\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:532\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:593\n+msgid \"United Arab Emirates\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:533\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:594\n+msgid \"United Kingdom\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:534\n+msgid \"Uruguay\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:535\n+msgid \"Uzbekistan\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:536\n+msgid \"Vietnam\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:567\n+msgid \"Gibraltar\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:569\n+msgid \"Hong Kong SAR China\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fstripe-connect-client.php:595\n+msgid \"United States\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:357\n msgid \"For display purposes only.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:343\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:398\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:360\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:415\n #, php-format\n msgid \"Min: %s\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:346\n-#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:401\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:363\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:418\n #, php-format\n msgid \"Max: %s\"\n msgstr \"\"\n \n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:564\n+msgid \"You are connected with stripe.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:566\n+msgid \"Disconnect Stripe Account\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:569\n+msgid \"You are not connected with stripe.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:574\n+msgid \"Connect with Stripe\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:580\n+msgid \"Stripe Connect\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:592\n+msgid \"\"\n+\"With Stripe Connect your business will be connected to Stripe account of the \"\n+\"website and you will be able to receive payouts via Stripe.\"\n+msgstr \"\"\n+\n+#: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fuser.php:640\n+msgid \"\"\n+\"Please select your country, as this will be used to configure your Stripe \"\n+\"payment settings.\"\n+msgstr \"\"\n+\n #: includes\u002Faddons\u002Fmulti-vendor\u002Fincludes\u002Fworkers-by-store.php:236\n msgid \"Select the store provider will be assigned to.\"\n msgstr \"\"\n@@ -5280,46 +6058,38 @@\n \"Jitsi.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:617\n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:666\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:948\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:996\n #: includes\u002Faddons\u002Fonline-meetings\u002Fjitsi\u002Fjitsi.php:725\n #: includes\u002Faddons\u002Fonline-meetings\u002Fjitsi\u002Fjitsi.php:778\n msgid \"Meeting Room\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:618\n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:680\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:949\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:1010\n #: includes\u002Faddons\u002Fonline-meetings\u002Fjitsi\u002Fjitsi.php:726\n #: includes\u002Faddons\u002Fonline-meetings\u002Fjitsi\u002Fjitsi.php:792\n msgid \"Waiting Room\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:656\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:986\n msgid \"Online Meetings - Agora\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:675\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:1005\n #: includes\u002Faddons\u002Fonline-meetings\u002Fjitsi\u002Fjitsi.php:787\n msgid \"\"\n \"Meeting Room Page where \u003Ccode>[app_meeting_room]\u003C\u002Fcode> resides. This page \"\n \"is required for meetings to take place.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:689\n+#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:1019\n #: includes\u002Faddons\u002Fonline-meetings\u002Fjitsi\u002Fjitsi.php:801\n msgid \"\"\n \"Waiting Room Page where \u003Ccode>[app_waiting_room]\u003C\u002Fcode> resides. This page \"\n \"is required for early clients to wait until meeting time.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:708\n-msgid \"Grid\"\n-msgstr \"\"\n-\n-#: includes\u002Faddons\u002Fonline-meetings\u002Fagora\u002Fagora.php:709\n-msgid \"Pinned\"\n-msgstr \"\"\n-\n #: includes\u002Faddons\u002Fonline-meetings\u002Ffunctions.om.php:123\n #, php-format\n msgid \"Online as of %s\"\n@@ -5425,7 +6195,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:542\n-#: includes\u002Fcustom-texts.php:1377\n+#: includes\u002Fcustom-texts.php:1382\n msgid \"Zoom ID\"\n msgstr \"\"\n \n@@ -5439,12 +6209,12 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:565\n-#: includes\u002Fconstant-data.php:671\n+#: includes\u002Fconstant-data.php:689\n msgid \"Zoom Host\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:574\n-#: includes\u002Fconstant-data.php:676\n+#: includes\u002Fconstant-data.php:694\n msgid \"Zoom Password\"\n msgstr \"\"\n \n@@ -5456,12 +6226,6 @@\n msgid \"Zoom Join URL\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:593\n-#: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:693\n-#: includes\u002Fcustom-texts.php:1019 includes\u002Fcustom-texts.php:1378\n-msgid \"Join\"\n-msgstr \"\"\n-\n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:748\n msgid \"Online Meetings - Zoom\"\n msgstr \"\"\n@@ -5491,7 +6255,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fonline-meetings\u002Fzoom\u002Fzoom.php:909\n-#: includes\u002Fconstant-data.php:478 includes\u002Fcustom-texts.php:1376\n+#: includes\u002Fconstant-data.php:489 includes\u002Fcustom-texts.php:1381\n msgid \"Zoom\"\n msgstr \"\"\n \n@@ -5815,7 +6579,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Freminder-follow-up-emails.php:552\n-#: includes\u002Fconstant-data.php:714\n+#: includes\u002Fconstant-data.php:734\n msgid \"Due Payment Reminder\"\n msgstr \"\"\n \n@@ -5843,19 +6607,19 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fseasonal-working-hours.php:252\n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1389\n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:382\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1404\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:375\n msgid \"Name*\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fseasonal-working-hours.php:253\n-#: includes\u002Fadmin\u002Fbookings.php:1321 includes\u002Fadmin\u002Fservices-list.php:1172\n-#: includes\u002Fadmin\u002Fservices-list.php:1182 includes\u002Fcustom-texts.php:1192\n+#: includes\u002Fadmin\u002Fbookings.php:1321 includes\u002Fadmin\u002Fservices-list.php:1173\n+#: includes\u002Fadmin\u002Fservices-list.php:1183 includes\u002Fcustom-texts.php:1198\n msgid \"Owner\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fseasonal-working-hours.php:255\n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:384\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:377\n msgid \"Used by\"\n msgstr \"\"\n \n@@ -5907,7 +6671,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fseasonal-working-hours.php:718\n-#: includes\u002Fadmin\u002Fservices-list.php:1365 includes\u002Fadmin\u002Fservices-list.php:1389\n+#: includes\u002Fadmin\u002Fservices-list.php:1366 includes\u002Fadmin\u002Fservices-list.php:1390\n msgid \"None defined\"\n msgstr \"\"\n \n@@ -6014,8 +6778,8 @@\n \n #: includes\u002Faddons\u002Fservice-bundles.php:1176\n #: includes\u002Faddons\u002Fservice-bundles.php:1264\n-#: includes\u002Fadmin\u002Fglobal-settings.php:379 includes\u002Fadmin\u002Fsetup.php:760\n-#: includes\u002Fcustom-texts.php:956\n+#: includes\u002Fadmin\u002Fglobal-settings.php:427 includes\u002Fadmin\u002Fsetup.php:760\n+#: includes\u002Fcustom-texts.php:963\n msgid \"Day\"\n msgstr \"\"\n \n@@ -6066,8 +6830,9 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fservice-bundles.php:1255 includes\u002Fadmin\u002Fbookings.php:1490\n-#: includes\u002Fcustom-texts.php:1297 includes\u002Fcustom-texts.php:1300\n-#: includes\u002Ffreeons\u002Ftest-bookings.php:577 includes\u002Fschedules.php:400\n+#: includes\u002Fcustom-texts.php:1303 includes\u002Fcustom-texts.php:1306\n+#: includes\u002Ffreeons\u002Ftest-bookings.php:577 includes\u002Ffunctions.listing.php:162\n+#: includes\u002Fschedules.php:415\n msgid \"Service\"\n msgstr \"\"\n \n@@ -6111,7 +6876,7 @@\n \n #: includes\u002Faddons\u002Fservice-providers.php:95\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:98\n-#: includes\u002Fcustom-texts.php:1242\n+#: includes\u002Fcustom-texts.php:1247\n msgid \"Providers\"\n msgstr \"\"\n \n@@ -6158,19 +6923,19 @@\n \n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:488\n #: includes\u002Fadmin\u002Fbookings.php:788 includes\u002Fadmin\u002Fdashboard.php:996\n-#: includes\u002Fadmin\u002Fservices-list.php:578 includes\u002Fadmin\u002Ftransactions.php:582\n+#: includes\u002Fadmin\u002Fservices-list.php:579 includes\u002Fadmin\u002Ftransactions.php:582\n msgid \"Filter by store\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:488\n #: includes\u002Fadmin\u002Fbookings.php:788 includes\u002Fadmin\u002Fdashboard.php:996\n-#: includes\u002Fadmin\u002Fservices-list.php:578 includes\u002Fadmin\u002Ftransactions.php:582\n+#: includes\u002Fadmin\u002Fservices-list.php:579 includes\u002Fadmin\u002Ftransactions.php:582\n msgid \"Filter by location\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:556\n-#: includes\u002Fadmin\u002Fclients.php:465 includes\u002Fcustom-texts.php:899\n-#: includes\u002Fcustom-texts.php:1374\n+#: includes\u002Fadmin\u002Fclients.php:465 includes\u002Fcustom-texts.php:908\n+#: includes\u002Fcustom-texts.php:1380\n msgid \"Postcode\"\n msgstr \"\"\n \n@@ -6190,7 +6955,7 @@\n \n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:726\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1042\n-#: includes\u002Fcustom-texts.php:968\n+#: includes\u002Fcustom-texts.php:975\n msgid \"Dummy\"\n msgstr \"\"\n \n@@ -6234,8 +6999,8 @@\n #: includes\u002Faddons\u002Fservice-providers\u002Fworkers-list.php:1151\n #: includes\u002Fadmin\u002Fbookings.php:111 includes\u002Fadmin\u002Fbookings.php:112\n #: includes\u002Fadmin\u002Fclients.php:923 includes\u002Fadmin\u002Fdashboard.php:627\n-#: includes\u002Fadmin\u002Ftoolbar.php:127 includes\u002Fcustom-texts.php:867\n-#: includes\u002Fcustom-texts.php:1160\n+#: includes\u002Fadmin\u002Ftoolbar.php:127 includes\u002Fcustom-texts.php:876\n+#: includes\u002Fcustom-texts.php:1166\n msgid \"Bookings\"\n msgstr \"\"\n \n@@ -6330,7 +7095,7 @@\n msgid \"Send a Test SMS\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fsms.php:522 includes\u002Fadmin\u002Fglobal-settings.php:821\n+#: includes\u002Faddons\u002Fsms.php:522 includes\u002Fadmin\u002Fglobal-settings.php:955\n msgid \"Send Now\"\n msgstr \"\"\n \n@@ -6345,14 +7110,14 @@\n #: includes\u002Faddons\u002Fsms.php:550 includes\u002Faddons\u002Fsms.php:583\n #: includes\u002Faddons\u002Fsms.php:674 includes\u002Faddons\u002Fsms.php:706\n #: includes\u002Fadmin\u002Fbookings.php:1887 includes\u002Fadmin\u002Fbookings.php:1902\n-#: includes\u002Fadmin\u002Fclients.php:622 includes\u002Fcustom-texts.php:915\n-#: includes\u002Ffreeons\u002Ftest-bookings.php:560 includes\u002Fschedules.php:468\n+#: includes\u002Fadmin\u002Fclients.php:622 includes\u002Fcustom-texts.php:923\n+#: includes\u002Ffreeons\u002Ftest-bookings.php:560 includes\u002Fschedules.php:483\n msgid \"Client\"\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fsms.php:550 includes\u002Faddons\u002Fsms.php:583\n #: includes\u002Faddons\u002Fsms.php:674 includes\u002Faddons\u002Fsms.php:706\n-#: includes\u002Fadmin\u002Fservices-list.php:561 includes\u002Fcustom-texts.php:787\n+#: includes\u002Fadmin\u002Fservices-list.php:562 includes\u002Fcustom-texts.php:787\n msgid \"Admin\"\n msgstr \"\"\n \n@@ -6360,7 +7125,7 @@\n msgid \"SMS messages sent when status is Confirmed or Paid\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fsms.php:555 includes\u002Fadmin\u002Fglobal-settings.php:837\n+#: includes\u002Faddons\u002Fsms.php:555 includes\u002Fadmin\u002Fglobal-settings.php:971\n msgid \"Confirmation\"\n msgstr \"\"\n \n@@ -6393,8 +7158,8 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fsms.php:679 includes\u002Fadmin\u002Fbookings.php:1801\n-#: includes\u002Fadmin\u002Fdashboard.php:683 includes\u002Fadmin\u002Fglobal-settings.php:896\n-#: includes\u002Fcustom-texts.php:922\n+#: includes\u002Fadmin\u002Fdashboard.php:683 includes\u002Fadmin\u002Fglobal-settings.php:1030\n+#: includes\u002Fcustom-texts.php:930\n msgid \"Completed\"\n msgstr \"\"\n \n@@ -6404,7 +7169,7 @@\n \"Removed.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fsms.php:711 includes\u002Fadmin\u002Fglobal-settings.php:924\n+#: includes\u002Faddons\u002Fsms.php:711 includes\u002Fadmin\u002Fglobal-settings.php:1058\n msgid \"Cancellation\"\n msgstr \"\"\n \n@@ -6432,10 +7197,6 @@\n msgid \"%1$sPaid with %2$s card. Cardholder name: %3$s.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fstripe\u002Fstripe.php:287\n-msgid \"Stripe\"\n-msgstr \"\"\n-\n #: includes\u002Faddons\u002Fstripe\u002Fstripe.php:289\n msgid \"\"\n \"Accept Visa, MasterCard, American Express, Discover, JCB, and Diners Club \"\n@@ -7077,7 +7838,7 @@\n msgid \"Checkbox\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:132 includes\u002Fcustom-texts.php:952\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:132 includes\u002Fcustom-texts.php:959\n msgid \"Date\"\n msgstr \"\"\n \n@@ -7094,52 +7855,52 @@\n msgid \"Test: \"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:851 includes\u002Fcustom-texts.php:1134\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:851 includes\u002Fcustom-texts.php:1141\n #, php-format\n msgid \"%s is a required field\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1238\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1253\n msgid \"UDFs\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1374\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1389\n msgid \"Add New UDF\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1390\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1405\n msgid \"Type\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1391\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1406\n msgid \"Front End?\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1392\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1407\n msgid \"Required?\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1393\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1408\n msgid \"Editable?\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1395\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1410\n msgid \"Register?\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1397\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1412\n msgid \"Options\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1408\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1423\n msgid \"No UDFs defined\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1419\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1434\n msgid \"Save UDFs\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fuser-defined-fields.php:1421\n+#: includes\u002Faddons\u002Fuser-defined-fields.php:1436\n msgid \"\u003Ci>Tip: To delete a UDF, just clear its name and save.\u003C\u002Fi>\"\n msgstr \"\"\n \n@@ -7282,8 +8043,8 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fvariable-durations\u002Ftime-variant-durations.php:350\n-#: includes\u002Fadmin\u002Fservices-list.php:1198 includes\u002Fcustom-texts.php:969\n-#: includes\u002Fcustom-texts.php:1282\n+#: includes\u002Fadmin\u002Fservices-list.php:1199 includes\u002Fcustom-texts.php:976\n+#: includes\u002Fcustom-texts.php:1288\n msgid \"Duration\"\n msgstr \"\"\n \n@@ -7312,7 +8073,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fwaiting-list.php:99 includes\u002Faddons\u002Fwaiting-list.php:729\n-#: includes\u002Faddons\u002Fwaiting-list.php:905 includes\u002Fcustom-texts.php:1355\n+#: includes\u002Faddons\u002Fwaiting-list.php:905 includes\u002Fcustom-texts.php:1361\n msgid \"Waiting List\"\n msgstr \"\"\n \n@@ -7406,14 +8167,14 @@\n msgid \"Paid in total %1$s in WooCommerce order %2$s\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fwoocommerce.php:1360\n+#: includes\u002Faddons\u002Fwoocommerce.php:1362\n #, php-format\n msgid \"\"\n \"WooCommerce cancellation for booking with ID %1$d of client %2$s could not \"\n \"be processed.\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fwoocommerce.php:1369\n+#: includes\u002Faddons\u002Fwoocommerce.php:1371\n #, php-format\n msgid \"Client %1$s cancelled their booking with ID %2$d in WooCommerce.\"\n msgstr \"\"\n@@ -7504,7 +8265,7 @@\n msgstr \"\"\n \n #: includes\u002Faddons\u002Fwoocommerce\u002Fdeposits.php:126\n-#: includes\u002Fadmin\u002Fbookings.php:1588 includes\u002Fcustom-texts.php:960\n+#: includes\u002Fadmin\u002Fbookings.php:1588 includes\u002Fcustom-texts.php:967\n msgid \"Deposit\"\n msgstr \"\"\n \n@@ -7576,7 +8337,7 @@\n msgid \"Business Settings\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fwoocommerce\u002Fwc-admin.php:334 includes\u002Fcustom-texts.php:825\n+#: includes\u002Faddons\u002Fwoocommerce\u002Fwc-admin.php:334 includes\u002Fcustom-texts.php:834\n #: includes\u002Ffreeons\u002Fedd.php:1301\n msgid \"Booking\"\n msgstr \"\"\n@@ -7585,7 +8346,7 @@\n msgid \"WooCommerce Order ID\"\n msgstr \"\"\n \n-#: includes\u002Faddons\u002Fwoocommerce\u002Fwc-admin.php:418 includes\u002Fcustom-texts.php:1367\n+#: includes\u002Faddons\u002Fwoocommerce\u002Fwc-admin.php:418 includes\u002Fcustom-texts.php:1373\n #: includes\u002Ffreeons\u002Fedd.php:1387\n msgid \"Order ID\"\n msgstr \"\"\n@@ -7741,7 +8502,7 @@\n msgstr \"\"\n \n #: includes\u002Fadmin\u002Fbase-admin.php:660 includes\u002Fadmin\u002Fglobal-settings.php:42\n-#: includes\u002Fadmin\u002Fglobal-settings.php:335 includes\u002Ffunctions.internal.php:2326\n+#: includes\u002Fadmin\u002Fglobal-settings.php:383 includes\u002Ffunctions.internal.php:2326\n msgid \"Global Settings\"\n msgstr \"\"\n \n@@ -7824,11 +8585,6 @@\n msgid \"Client Name\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:706 includes\u002Fadmin\u002Fclients.php:460\n-#: includes\u002Fconstant-data.php:456\n-msgid \"Client ID\"\n-msgstr \"\"\n-\n #: includes\u002Fadmin\u002Fbookings.php:712 includes\u002Fadmin\u002Fbookings.php:1728\n msgid \"Admin Note\"\n msgstr \"\"\n@@ -7854,7 +8610,7 @@\n msgstr \"\"\n \n #: includes\u002Fadmin\u002Fbookings.php:826 includes\u002Fadmin\u002Fdashboard.php:1042\n-#: includes\u002Fadmin\u002Fservices-list.php:605\n+#: includes\u002Fadmin\u002Fservices-list.php:606\n msgid \"Filter by provider\"\n msgstr \"\"\n \n@@ -7901,7 +8657,7 @@\n msgid \"Click to edit booking\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1297 includes\u002Fcustom-texts.php:963\n+#: includes\u002Fadmin\u002Fbookings.php:1297 includes\u002Fcustom-texts.php:970\n msgid \"Details\"\n msgstr \"\"\n \n@@ -7913,12 +8669,12 @@\n msgid \"CLIENT\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1415 includes\u002Fcustom-texts.php:1293\n+#: includes\u002Fadmin\u002Fbookings.php:1415 includes\u002Fcustom-texts.php:1299\n msgid \"User\"\n msgstr \"\"\n \n #: includes\u002Fadmin\u002Fbookings.php:1418 includes\u002Ffront.php:364\n-#: includes\u002Fschedules.php:471\n+#: includes\u002Fschedules.php:486\n msgid \"Not registered user\"\n msgstr \"\"\n \n@@ -7946,7 +8702,8 @@\n msgid \"LOCATION - SERVICE - PROVIDER\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1490 includes\u002Fschedules.php:400\n+#: includes\u002Fadmin\u002Fbookings.php:1490 includes\u002Ffunctions.listing.php:162\n+#: includes\u002Fschedules.php:415\n msgid \"Event\"\n msgstr \"\"\n \n@@ -7955,7 +8712,7 @@\n msgid \"PRICING - PAYMENT (%s)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1564 includes\u002Fcustom-texts.php:1078\n+#: includes\u002Fadmin\u002Fbookings.php:1564 includes\u002Fcustom-texts.php:1084\n msgid \"Method\"\n msgstr \"\"\n \n@@ -7986,7 +8743,7 @@\n msgid \"Payment\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1622 includes\u002Fcustom-texts.php:820\n+#: includes\u002Fadmin\u002Fbookings.php:1622 includes\u002Fcustom-texts.php:829\n msgid \"Balance\"\n msgstr \"\"\n \n@@ -7995,7 +8752,7 @@\n msgid \"BOOKING (%d)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1640 includes\u002Fschedules.php:386\n+#: includes\u002Fadmin\u002Fbookings.php:1640 includes\u002Fschedules.php:401\n msgid \"NEW BOOKING\"\n msgstr \"\"\n \n@@ -8008,7 +8765,7 @@\n msgid \"starting at \u003Cb>%s\u003C\u002Fb>\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1665 includes\u002Fcustom-texts.php:945\n+#: includes\u002Fadmin\u002Fbookings.php:1665 includes\u002Fcustom-texts.php:952\n msgid \"Created by\"\n msgstr \"\"\n \n@@ -8036,16 +8793,18 @@\n msgid \"ACTIONS\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1770 includes\u002Fschedules.php:546\n+#: includes\u002Fadmin\u002Fbookings.php:1770 includes\u002Ffunctions.listing.php:257\n+#: includes\u002Fschedules.php:561\n msgid \"Reserved bookings cannot be edited here. Edit them in your GCal.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1773 includes\u002Fschedules.php:549\n+#: includes\u002Fadmin\u002Fbookings.php:1773 includes\u002Ffunctions.listing.php:260\n+#: includes\u002Fschedules.php:564\n msgid \"Click to save or update\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1775 includes\u002Fcustom-texts.php:1263\n-#: includes\u002Fschedules.php:553\n+#: includes\u002Fadmin\u002Fbookings.php:1775 includes\u002Fcustom-texts.php:1269\n+#: includes\u002Ffunctions.listing.php:264 includes\u002Fschedules.php:568\n msgid \"Save\"\n msgstr \"\"\n \n@@ -8057,8 +8816,8 @@\n msgid \"Send email:\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:1789 includes\u002Fadmin\u002Fglobal-settings.php:762\n-#: includes\u002Fcustom-texts.php:931\n+#: includes\u002Fadmin\u002Fbookings.php:1789 includes\u002Fadmin\u002Fglobal-settings.php:896\n+#: includes\u002Fcustom-texts.php:939\n msgid \"Confirmed\"\n msgstr \"\"\n \n@@ -8067,12 +8826,12 @@\n msgstr \"\"\n \n #: includes\u002Fadmin\u002Fbookings.php:1842 includes\u002Ffront-ajax.php:1250\n-#: includes\u002Ffront-listing.php:324\n+#: includes\u002Ffront-listing.php:465\n msgid \"Unexpected error\"\n msgstr \"\"\n \n #: includes\u002Fadmin\u002Fbookings.php:1887 includes\u002Fadmin\u002Fbookings.php:1902\n-#: includes\u002Fadmin\u002Fbookings.php:1952 includes\u002Fcustom-texts.php:1013\n+#: includes\u002Fadmin\u002Fbookings.php:1952 includes\u002Fcustom-texts.php:1020\n msgid \"GCal\"\n msgstr \"\"\n \n@@ -8085,30 +8844,33 @@\n msgid \"%s by %s\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:2034 includes\u002Fadmin\u002Ffunctions-admin.php:647\n-#: includes\u002Fschedules.php:639\n+#: includes\u002Fadmin\u002Fbookings.php:2034 includes\u002Fadmin\u002Ffunctions-admin.php:653\n+#: includes\u002Fschedules.php:662\n msgid \"Service does not exist!\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:2048 includes\u002Fschedules.php:653\n+#: includes\u002Fadmin\u002Fbookings.php:2048 includes\u002Ffunctions.listing.php:369\n+#: includes\u002Fschedules.php:676\n msgid \"You are not owner of this service\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:2052 includes\u002Fschedules.php:657\n+#: includes\u002Fadmin\u002Fbookings.php:2052 includes\u002Ffunctions.listing.php:373\n+#: includes\u002Fschedules.php:680\n msgid \"You are not allowed to edit other provider's booking\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:2061 includes\u002Fadmin\u002Fservices-list.php:1666\n-#: includes\u002Fschedules.php:667\n+#: includes\u002Fadmin\u002Fbookings.php:2061 includes\u002Fadmin\u002Fservices-list.php:1669\n+#: includes\u002Ffunctions.listing.php:384 includes\u002Fschedules.php:690\n #, php-format\n msgid \"Record has been taken over by %s. It could not be saved.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:2072 includes\u002Fschedules.php:678\n+#: includes\u002Fadmin\u002Fbookings.php:2072 includes\u002Fschedules.php:701\n msgid \"A valid email is required to create a new user\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:2118 includes\u002Fschedules.php:720\n+#: includes\u002Fadmin\u002Fbookings.php:2118 includes\u002Ffunctions.listing.php:419\n+#: includes\u002Fschedules.php:743\n msgid \"Booking start time cannot be later than end time!\"\n msgstr \"\"\n \n@@ -8116,12 +8878,12 @@\n msgid \"New booking successfully saved.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fbookings.php:2295 includes\u002Fadmin\u002Ftransactions.php:776\n+#: includes\u002Fadmin\u002Fbookings.php:2295 includes\u002Fadmin\u002Ftransactions.php:778\n msgid \"None yet\"\n msgstr \"\"\n \n #: includes\u002Fadmin\u002Fclients.php:255 includes\u002Fadmin\u002Fclients.php:629\n-#: includes\u002Fadmin\u002Fdashboard.php:628 includes\u002Fcustom-texts.php:1257\n+#: includes\u002Fadmin\u002Fdashboard.php:628 includes\u002Fcustom-texts.php:1263\n msgid \"Revenue\"\n msgstr \"\"\n \n@@ -8238,7 +9000,7 @@\n msgid \"Yesterday\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fdashboard.php:902 includes\u002Fcustom-texts.php:1333\n+#: includes\u002Fadmin\u002Fdashboard.php:902 includes\u002Fcustom-texts.php:1338\n msgid \"Today\"\n msgstr \"\"\n \n@@ -8254,7 +9016,7 @@\n msgid \"This Week\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fdashboard.php:906 includes\u002Fcustom-texts.php:1157\n+#: includes\u002Fadmin\u002Fdashboard.php:906 includes\u002Fcustom-texts.php:1163\n msgid \"Next Week\"\n msgstr \"\"\n \n@@ -8270,7 +9032,7 @@\n msgid \"This Month\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fdashboard.php:910 includes\u002Fcustom-texts.php:1155\n+#: includes\u002Fadmin\u002Fdashboard.php:910 includes\u002Fcustom-texts.php:1161\n msgid \"Next Month\"\n msgstr \"\"\n \n@@ -8443,158 +9205,167 @@\n \"only.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ffunctions-admin.php:520\n+#: includes\u002Fadmin\u002Ffunctions-admin.php:526\n #, php-format\n msgid \"Status changed from %1$s to %2$s by %3$s for booking ID:%4$d\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ffunctions-admin.php:530\n+#: includes\u002Fadmin\u002Ffunctions-admin.php:536\n #, php-format\n msgid \"\"\n \"Start time of the booking changed from %1$s to %2$s by %3$s for booking ID:\"\n \"%4$d\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ffunctions-admin.php:645\n+#: includes\u002Fadmin\u002Ffunctions-admin.php:651\n msgid \"\"\n \"This booking is created by Google Calendar. Edit it in your Google Calendar \"\n \"account\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ffunctions-admin.php:649\n+#: includes\u002Fadmin\u002Ffunctions-admin.php:655\n msgid \"Booking start time is later than end time\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ffunctions-admin.php:651\n+#: includes\u002Fadmin\u002Ffunctions-admin.php:657\n msgid \"\"\n \"Selected date is a past date. Only Removed, Completed and Test statuses are \"\n \"allowed\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ffunctions-admin.php:655\n+#: includes\u002Fadmin\u002Ffunctions-admin.php:661\n msgid \"Changes are not saved in DEMO mode\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:211\n+#: includes\u002Fadmin\u002Fglobal-settings.php:214\n+msgid \"Schedules cache cleared\"\n+msgstr \"\"\n+\n+#: includes\u002Fadmin\u002Fglobal-settings.php:247\n msgid \"This is a test email of WP BASE\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:270 includes\u002Ffunctions.internal.php:2933\n+#: includes\u002Fadmin\u002Fglobal-settings.php:318 includes\u002Ffunctions.internal.php:2968\n msgid \"Book a Service\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:270 includes\u002Fadmin\u002Fsetup.php:237\n-#: includes\u002Fadmin\u002Fsetup.php:360 includes\u002Ffunctions.internal.php:2933\n+#: includes\u002Fadmin\u002Fglobal-settings.php:318 includes\u002Fadmin\u002Fsetup.php:237\n+#: includes\u002Fadmin\u002Fsetup.php:360 includes\u002Ffunctions.internal.php:2968\n msgid \"Make an Appointment\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:363\n+#: includes\u002Fadmin\u002Fglobal-settings.php:411\n msgid \"Time Settings\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:380 includes\u002Fadmin\u002Fsetup.php:761\n+#: includes\u002Fadmin\u002Fglobal-settings.php:428 includes\u002Fadmin\u002Fsetup.php:761\n msgid \"Month\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:394\n-#: includes\u002Fadmin\u002Fglobal-settings.php:431\n+#: includes\u002Fadmin\u002Fglobal-settings.php:442\n+#: includes\u002Fadmin\u002Fglobal-settings.php:474\n+#: includes\u002Fadmin\u002Fglobal-settings.php:516\n msgid \"Save All Basic Settings\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:399\n+#: includes\u002Fadmin\u002Fglobal-settings.php:447\n msgid \"Booking & Cancelling\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:415 includes\u002Fwidgets.php:288\n+#: includes\u002Fadmin\u002Fglobal-settings.php:463 includes\u002Fwidgets.php:288\n msgid \"There are no pages!\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:435\n-#: includes\u002Fadmin\u002Fglobal-settings.php:651\n+#: includes\u002Fadmin\u002Fglobal-settings.php:481\n+msgid \"Editing & Rescheduling\"\n+msgstr \"\"\n+\n+#: includes\u002Fadmin\u002Fglobal-settings.php:520\n+#: includes\u002Fadmin\u002Fglobal-settings.php:785\n msgid \"Link for export\u002Fimport of settings\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:435\n-#: includes\u002Fadmin\u002Fglobal-settings.php:651\n+#: includes\u002Fadmin\u002Fglobal-settings.php:520\n+#: includes\u002Fadmin\u002Fglobal-settings.php:785\n msgid \"Export\u002FImport Settings\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:458\n+#: includes\u002Fadmin\u002Fglobal-settings.php:543\n msgid \"Misc. Booking Settings\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:566\n+#: includes\u002Fadmin\u002Fglobal-settings.php:688\n msgid \"Setup\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:625\n+#: includes\u002Fadmin\u002Fglobal-settings.php:759\n msgid \"Admin Preferences\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:702\n+#: includes\u002Fadmin\u002Fglobal-settings.php:836\n msgid \"Not possible to calculate. 60 mins is in effect.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:717\n+#: includes\u002Fadmin\u002Fglobal-settings.php:851\n msgid \"Calculated value: \"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:739\n+#: includes\u002Fadmin\u002Fglobal-settings.php:873\n msgid \"\"\n \"To display the table summarizing effect of different settings please click \"\n \"the \\\"i\\\" icon:\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:747\n+#: includes\u002Fadmin\u002Fglobal-settings.php:881\n msgid \"Setting of Auto Confirm\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:748\n+#: includes\u002Fadmin\u002Fglobal-settings.php:882\n msgid \"Resulting Status When...\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:752\n+#: includes\u002Fadmin\u002Fglobal-settings.php:886\n msgid \"Payment Required = NO OR Price = 0\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:753\n+#: includes\u002Fadmin\u002Fglobal-settings.php:887\n msgid \"Payment Required = YES AND Price > 0\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:758\n-#: includes\u002Fadmin\u002Fglobal-settings.php:763\n+#: includes\u002Fadmin\u002Fglobal-settings.php:892\n+#: includes\u002Fadmin\u002Fglobal-settings.php:897\n msgid \"Pending&rarr;{Payment}&rarr;Paid\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:782\n+#: includes\u002Fadmin\u002Fglobal-settings.php:916\n msgid \"Location &gt; Service &gt; Provider\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:783\n+#: includes\u002Fadmin\u002Fglobal-settings.php:917\n msgid \"Location &gt; Provider &gt; Service\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:784\n+#: includes\u002Fadmin\u002Fglobal-settings.php:918\n msgid \"Service &gt; Location &gt; Provider\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:785\n+#: includes\u002Fadmin\u002Fglobal-settings.php:919\n msgid \"Service &gt; Provider &gt; Location\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:786\n+#: includes\u002Fadmin\u002Fglobal-settings.php:920\n msgid \"Provider &gt; Location &gt; Service\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:787\n+#: includes\u002Fadmin\u002Fglobal-settings.php:921\n msgid \"Provider &gt; Service &gt; Location\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:819\n+#: includes\u002Fadmin\u002Fglobal-settings.php:953\n msgid \"Send a Test email\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:823\n+#: includes\u002Fadmin\u002Fglobal-settings.php:957\n msgid \"\"\n \"Clicking this button will IMMEDIATELY try to send a test email to the admin \"\n \"email(s) above using confirmation message template below. Most email \"\n@@ -8603,37 +9374,37 @@\n \"This may help to figure out if you have such a problem in the first place.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:836\n+#: includes\u002Fadmin\u002Fglobal-settings.php:970\n msgid \"Emails sent when status is confirmed.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:864\n+#: includes\u002Fadmin\u002Fglobal-settings.php:998\n msgid \"Settings for email messages when appointment status is Pending.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:895\n+#: includes\u002Fadmin\u002Fglobal-settings.php:1029\n msgid \"\"\n \"Settings for email messages when appointment has just completed or its \"\n \"status is Completed.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:923\n+#: includes\u002Fadmin\u002Fglobal-settings.php:1057\n msgid \"\"\n \"Settings for email messages when appointment is cancelled or its status is \"\n \"Removed.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:954\n+#: includes\u002Fadmin\u002Fglobal-settings.php:1088\n msgid \"Save Email Settings\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:989\n+#: includes\u002Fadmin\u002Fglobal-settings.php:1123\n msgid \"\"\n \"Some business models may need advanced settings. Here you can adjust them. \"\n \"These settings are enabled by Addons.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fglobal-settings.php:1004\n+#: includes\u002Fadmin\u002Fglobal-settings.php:1138\n msgid \"Save Addon Settings\"\n msgstr \"\"\n \n@@ -8924,8 +9695,8 @@\n msgstr \"\"\n \n #: includes\u002Fadmin\u002Fhelp.php:564 includes\u002Fadmin\u002Ftinymce.php:244\n-#: includes\u002Fconstant-data.php:381 includes\u002Fconstant-data.php:1555\n-#: includes\u002Ffunctions.internal.php:2969\n+#: includes\u002Fconstant-data.php:392 includes\u002Fconstant-data.php:1575\n+#: includes\u002Ffunctions.internal.php:3004\n msgid \"demo website\"\n msgstr \"\"\n \n@@ -9204,253 +9975,264 @@\n msgid \"No Payment Addon Found\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:352\n+#: includes\u002Fadmin\u002Fservice-rte.php:52\n+msgid \"Content\"\n+msgstr \"\"\n+\n+#: includes\u002Fadmin\u002Fservice-rte.php:56\n+msgid \"View\u002FEdit Content\"\n+msgstr \"\"\n+\n+#: includes\u002Fadmin\u002Fservice-rte.php:57\n+msgid \"HTML tags not displayed. To view in full, click View\u002FEdit.\"\n+msgstr \"\"\n+\n+#: includes\u002Fadmin\u002Fservice-rte.php:206\n+msgid \"Submit and Close\"\n+msgstr \"\"\n+\n+#: includes\u002Fadmin\u002Fservices-list.php:353\n #, php-format\n msgid \"%s Services\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:355 includes\u002Fadmin\u002Fservices-list.php:1308\n+#: includes\u002Fadmin\u002Fservices-list.php:356 includes\u002Fadmin\u002Fservices-list.php:1309\n msgid \"Add New Service\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:531 includes\u002Fadmin\u002Fsetup.php:837\n+#: includes\u002Fadmin\u002Fservices-list.php:532 includes\u002Fadmin\u002Fsetup.php:837\n msgid \"Service Name\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:532 includes\u002Fcustom-texts.php:1299\n+#: includes\u002Fadmin\u002Fservices-list.php:533 includes\u002Fcustom-texts.php:1305\n msgid \"Service ID\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:559\n+#: includes\u002Fadmin\u002Fservices-list.php:560\n msgid \"Filter by owner\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:591\n+#: includes\u002Fadmin\u002Fservices-list.php:592\n msgid \"Filter by category\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:620\n+#: includes\u002Fadmin\u002Fservices-list.php:621\n msgid \"Filter by duration\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:663\n+#: includes\u002Fadmin\u002Fservices-list.php:664\n msgid \"Default order\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:664\n+#: includes\u002Fadmin\u002Fservices-list.php:665\n msgid \"Reverse order\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:665\n+#: includes\u002Fadmin\u002Fservices-list.php:666\n msgid \"ID (1 &rarr; 99)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:666\n+#: includes\u002Fadmin\u002Fservices-list.php:667\n msgid \"ID (99 &rarr; 1)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:667\n+#: includes\u002Fadmin\u002Fservices-list.php:668\n msgid \"Name (A &rarr; Z)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:668\n+#: includes\u002Fadmin\u002Fservices-list.php:669\n msgid \"Name (Z &rarr; A)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:686\n+#: includes\u002Fadmin\u002Fservices-list.php:687\n msgid \"Set as Internal (private)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:687\n+#: includes\u002Fadmin\u002Fservices-list.php:688\n msgid \"Set as public\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:688\n+#: includes\u002Fadmin\u002Fservices-list.php:689\n msgid \"Delete permanently\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:719\n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:513\n+#: includes\u002Fadmin\u002Fservices-list.php:720\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:506\n msgid \"Deletion is turned off by admin.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:757\n-#, php-format\n-msgid \"%d records have been deleted\"\n-msgstr \"\"\n-\n-#: includes\u002Fadmin\u002Fservices-list.php:1028\n+#: includes\u002Fadmin\u002Fservices-list.php:1029\n msgid \"Click to edit service\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1172\n+#: includes\u002Fadmin\u002Fservices-list.php:1173\n msgid \"Owner can edit the service. Only admin can change owners.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1178\n+#: includes\u002Fadmin\u002Fservices-list.php:1179\n msgid \"Another service provider\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1186 includes\u002Fcustom-texts.php:1316\n+#: includes\u002Fadmin\u002Fservices-list.php:1187 includes\u002Fcustom-texts.php:1321\n msgid \"Stores\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1189\n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:71\n+#: includes\u002Fadmin\u002Fservices-list.php:1190\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:70\n #: includes\u002Ffreeons\u002Fextended-service-features.php:307\n msgid \"Categories\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1194\n+#: includes\u002Fadmin\u002Fservices-list.php:1195\n msgid \"\"\n \"You can enter a value to increase number of time slots that can booked for \"\n \"any given time. If not set, or set lower than providers of the service, \"\n \"capacity is determined by the number of providers giving this service.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1201 includes\u002Fcustom-texts.php:1194\n+#: includes\u002Fadmin\u002Fservices-list.php:1202 includes\u002Fcustom-texts.php:1200\n msgid \"Padding Before\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1203\n+#: includes\u002Fadmin\u002Fservices-list.php:1204\n msgid \"Time needed to pass before another booking can be made for the service.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1207 includes\u002Fcustom-texts.php:1193\n+#: includes\u002Fadmin\u002Fservices-list.php:1208 includes\u002Fcustom-texts.php:1199\n msgid \"Padding After\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1209\n+#: includes\u002Fadmin\u002Fservices-list.php:1210\n msgid \"Time needed to pass after another booking can be made for the service.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1215\n+#: includes\u002Fadmin\u002Fservices-list.php:1216\n msgid \"Price for the service per time slot per person.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1219\n+#: includes\u002Fadmin\u002Fservices-list.php:1220\n #, php-format\n msgid \"Security Deposit (%s)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1222\n+#: includes\u002Fadmin\u002Fservices-list.php:1223\n msgid \"\"\n \"Refundable security deposit. Not to be confused with advance payment\u002Fdown \"\n \"payment which is deducted from the price.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1227\n+#: includes\u002Fadmin\u002Fservices-list.php:1228\n #, php-format\n msgid \"Fee (%s)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1230\n+#: includes\u002Fadmin\u002Fservices-list.php:1231\n msgid \"booking\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1231 includes\u002Fcustom-texts.php:1023\n+#: includes\u002Fadmin\u002Fservices-list.php:1232 includes\u002Fcustom-texts.php:1030\n msgid \"hour\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1232 includes\u002Fcustom-texts.php:954\n+#: includes\u002Fadmin\u002Fservices-list.php:1233 includes\u002Fcustom-texts.php:961\n msgid \"day\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1233 includes\u002Fcustom-texts.php:1361\n+#: includes\u002Fadmin\u002Fservices-list.php:1234 includes\u002Fcustom-texts.php:1367\n msgid \"week\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1234 includes\u002Fcustom-texts.php:1088\n+#: includes\u002Fadmin\u002Fservices-list.php:1235 includes\u002Fcustom-texts.php:1095\n msgid \"month\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1236\n+#: includes\u002Fadmin\u002Fservices-list.php:1237\n msgid \"\"\n \"Fee and unit for basis to calculate fee. For example, $10\u002Fhour setting will \"\n \"result in $5 fee for a booking of 30 minutes.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1242\n+#: includes\u002Fadmin\u002Fservices-list.php:1243\n msgid \"\"\n \"If selected, booking views on this post will be fixed with this service. \"\n \"Also description and feature image will be taken from the post.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1248 includes\u002Fcustom-texts.php:1077\n+#: includes\u002Fadmin\u002Fservices-list.php:1249 includes\u002Fcustom-texts.php:1083\n msgid \"Online Meeting\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1253\n+#: includes\u002Fadmin\u002Fservices-list.php:1254\n msgid \"\"\n \"Booking for this service will create an online meeting session in the active \"\n \"meeting platform (Google Meet, Zoom, Jitsi, Agora).\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1307\n+#: includes\u002Fadmin\u002Fservices-list.php:1308\n msgid \"Cannot Update\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1408 includes\u002Fadmin\u002Fsetup.php:91\n+#: includes\u002Fadmin\u002Fservices-list.php:1409 includes\u002Fadmin\u002Fsetup.php:91\n #: includes\u002Ffunctions.internal.php:1506\n msgid \"All day\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1497\n+#: includes\u002Fadmin\u002Fservices-list.php:1498\n msgid \"NEW SERVICE\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1517\n+#: includes\u002Fadmin\u002Fservices-list.php:1518\n msgid \"\"\n \"Background color in Schedules. Text color will be auto picked based on this \"\n \"color.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1520 includes\u002Fcustom-texts.php:1028\n+#: includes\u002Fadmin\u002Fservices-list.php:1521 includes\u002Fcustom-texts.php:1035\n msgid \"Internal\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1523\n+#: includes\u002Fadmin\u002Fservices-list.php:1524\n msgid \"\"\n \"Similar to WordPress private posts. Internal services will not be displayed \"\n \"in service selection menu element on the front end.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1543\n+#: includes\u002Fadmin\u002Fservices-list.php:1544\n msgid \"\"\n \"Readonly value showing providers giving this service. To edit, use Providers \"\n \"page instead.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1551\n+#: includes\u002Fadmin\u002Fservices-list.php:1552\n msgid \"\"\n \"Makes service independent of provider availability, e.g. for events, room \"\n \"and rental bookings.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1560\n+#: includes\u002Fadmin\u002Fservices-list.php:1561\n msgid \"Optional description text for the service.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1618\n+#: includes\u002Fadmin\u002Fservices-list.php:1621\n msgid \"\"\n \"Optional Main Image for the service which will be used in service selection \"\n \"slider.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1679\n+#: includes\u002Fadmin\u002Fservices-list.php:1682\n msgid \"Service must be assigned to a store\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1683\n+#: includes\u002Fadmin\u002Fservices-list.php:1686\n msgid \"You must select a store that you are assigned\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1745\n+#: includes\u002Fadmin\u002Fservices-list.php:1748\n #, php-format\n msgid \"Service %d\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fservices-list.php:1850\n+#: includes\u002Fadmin\u002Fservices-list.php:1859\n msgid \"New service successfully saved.\"\n msgstr \"\"\n \n@@ -9500,7 +10282,7 @@\n msgstr \"\"\n \n #: includes\u002Fadmin\u002Fsetup.php:700 includes\u002Fadmin\u002Fsetup.php:795\n-#: includes\u002Fadmin\u002Fsetup.php:1002 includes\u002Fcustom-texts.php:870\n+#: includes\u002Fadmin\u002Fsetup.php:1002 includes\u002Fcustom-texts.php:879\n #: includes\u002Fwh.php:76\n msgid \"Working Hours\"\n msgstr \"\"\n@@ -9525,8 +10307,8 @@\n msgid \"Adjust Basic Settings\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fsetup.php:736 includes\u002Fconstant-data.php:506\n-#: includes\u002Fconstant-data.php:645\n+#: includes\u002Fadmin\u002Fsetup.php:736 includes\u002Fconstant-data.php:517\n+#: includes\u002Fconstant-data.php:663\n msgid \"Time Base\"\n msgstr \"\"\n \n@@ -9545,7 +10327,7 @@\n msgid \"How many hours in advance can clients make a booking?\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fsetup.php:756 includes\u002Fconstant-data.php:339\n+#: includes\u002Fadmin\u002Fsetup.php:756 includes\u002Fconstant-data.php:350\n msgid \"Booking Upper Limit\"\n msgstr \"\"\n \n@@ -9553,7 +10335,7 @@\n msgid \"How far in advance clients can make a booking?\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fsetup.php:768 includes\u002Fconstant-data.php:358\n+#: includes\u002Fadmin\u002Fsetup.php:768 includes\u002Fconstant-data.php:369\n msgid \"Auto Confirm\"\n msgstr \"\"\n \n@@ -9565,7 +10347,7 @@\n msgid \"Set Working Hours\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fsetup.php:785 includes\u002Fconstant-data.php:382\n+#: includes\u002Fadmin\u002Fsetup.php:785 includes\u002Fconstant-data.php:393\n msgid \"Table Start\"\n msgstr \"\"\n \n@@ -9579,7 +10361,7 @@\n \"depends on Time Base set at the first step\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fsetup.php:804 includes\u002Fconstant-data.php:382\n+#: includes\u002Fadmin\u002Fsetup.php:804 includes\u002Fconstant-data.php:393\n msgid \"Table End\"\n msgstr \"\"\n \n@@ -9674,7 +10456,7 @@\n \"You can see a comparison of the two cases on our demo website %s.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Fsetup.php:922 includes\u002Fconstant-data.php:381\n+#: includes\u002Fadmin\u002Fsetup.php:922 includes\u002Fconstant-data.php:392\n msgid \"Calendar Design\"\n msgstr \"\"\n \n@@ -9834,10 +10616,6 @@\n msgid \"Most Used\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ftinymce.php:229\n-msgid \"Other\"\n-msgstr \"\"\n-\n #: includes\u002Fadmin\u002Ftinymce.php:240\n msgid \"\"\n \"From the above pulldown menu, select shortcode you want to use, fill in the \"\n@@ -9880,7 +10658,7 @@\n msgstr \"\"\n \n #: includes\u002Fadmin\u002Ftoolbar.php:130 includes\u002Fadmin\u002Ftransactions.php:60\n-#: includes\u002Fadmin\u002Ftransactions.php:61 includes\u002Fcustom-texts.php:863\n+#: includes\u002Fadmin\u002Ftransactions.php:61 includes\u002Fcustom-texts.php:872\n msgid \"Payment History\"\n msgstr \"\"\n \n@@ -9896,7 +10674,7 @@\n msgid \"Global\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ftoolbar.php:166 includes\u002Fuser.php:1021\n+#: includes\u002Fadmin\u002Ftoolbar.php:166 includes\u002Fuser.php:1023\n msgid \"Your Bookings\"\n msgstr \"\"\n \n@@ -9912,7 +10690,7 @@\n msgid \"List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ftoolbar.php:228 includes\u002Fcustom-texts.php:846\n+#: includes\u002Fadmin\u002Ftoolbar.php:228 includes\u002Fcustom-texts.php:855\n #: includes\u002Ffreeons\u002Ffront-end-booking-management.php:204\n #: includes\u002Ffreeons\u002Ffront-end-booking-management.php:209\n msgid \"Manage Bookings\"\n@@ -9939,86 +10717,90 @@\n msgid \"Payment date (31\u002F12 &rarr; 01\u002F01)\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ftransactions.php:795\n+#: includes\u002Fadmin\u002Ftransactions.php:797\n msgid \"No payments have been found.\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ftransactions.php:820 includes\u002Fadmin\u002Ftransactions.php:849\n+#: includes\u002Fadmin\u002Ftransactions.php:822 includes\u002Fadmin\u002Ftransactions.php:851\n msgid \"Click to edit manual payment\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ftransactions.php:827 includes\u002Fadmin\u002Ftransactions.php:860\n+#: includes\u002Fadmin\u002Ftransactions.php:829 includes\u002Fadmin\u002Ftransactions.php:862\n msgid \"Payments coming from payment processors cannot be edited\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ftransactions.php:852\n+#: includes\u002Fadmin\u002Ftransactions.php:854\n msgid \"Manual Payments gateway is not active\"\n msgstr \"\"\n \n-#: includes\u002Fadmin\u002Ftransactions.php:860\n+#: includes\u002Fadmin\u002Ftransactions.php:862\n msgid \"Cannot be edited\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:272 includes\u002Fcustom-texts.php:950\n+#: includes\u002Fassets.php:241 includes\u002Fcustom-texts.php:957\n msgid \"Daily\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:347\n+#: includes\u002Fassets.php:316\n msgid \"Are you sure to clear the log file?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:348\n+#: includes\u002Fassets.php:317\n msgid \"You are about to delete at least one record. Are you sure to do this?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:349\n+#: includes\u002Fassets.php:318\n+msgid \"Do you want to pay commission to the selected records?\"\n+msgstr \"\"\n+\n+#: includes\u002Fassets.php:319\n msgid \"\"\n \"WARNING!! This action will clear all existing database records (bookings, \"\n \"transactions, locations, services, service providers, working hours). Are \"\n \"you sure to do this?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:350\n+#: includes\u002Fassets.php:320\n msgid \"Are you REALLY SURE TO DELETE the database records?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:351\n+#: includes\u002Fassets.php:321\n msgid \"\"\n \"This action will restore all WP BASE settings to the defaults. Database \"\n \"records (bookings, transactions, locations, services, service providers, \"\n \"working hours) will not be changed. Are you sure to do this?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:352\n+#: includes\u002Fassets.php:322\n msgid \"\"\n \"Creating of test appointments may take several minutes. Do you want to \"\n \"continue?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:353\n+#: includes\u002Fassets.php:323\n msgid \"\"\n \"You are about to change status of an approved vendor as pending or declined. \"\n \"This action will suspend the vendor.\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:355\n+#: includes\u002Fassets.php:325\n msgid \"Booking #\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:356\n+#: includes\u002Fassets.php:326\n msgid \"You did not save the changes you have made. Are you sure?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:358\n+#: includes\u002Fassets.php:328\n #: includes\u002Ffreeons\u002Fmanual-payments\u002Fmanual-payments.php:80\n msgid \"Add Manual Payment\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:359\n+#: includes\u002Fassets.php:329\n msgid \"Record #\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:361\n+#: includes\u002Fassets.php:331\n msgid \"\"\n \"WP BASE SERVICE TABLE records will be cleared! Existing WP BASE SERVICE \"\n \"PROVIDER TABLE records will be replaced with Appointments+ values. Non-\"\n@@ -10026,7 +10808,7 @@\n \"sure to do this?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:362\n+#: includes\u002Fassets.php:332\n msgid \"\"\n \"WARNING!! This action will clear all existing database records (booked \"\n \"appointments, transactions, locations, services, service providers, working \"\n@@ -10034,15 +10816,15 @@\n \"this?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:363\n+#: includes\u002Fassets.php:333\n msgid \"Please select at least one column\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:364\n+#: includes\u002Fassets.php:334\n msgid \"First select file to be imported\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:365\n+#: includes\u002Fassets.php:335\n msgid \"\"\n \"This action will replace all existing settings with those inside the \"\n \"imported file. Database records (bookings, transactions, locations, \"\n@@ -10050,7 +10832,7 @@\n \"sure to do this?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:366\n+#: includes\u002Fassets.php:336\n msgid \"\"\n \"WP BASE requires your one time consent to access to your calendar account in \"\n \"order to read and write events offline (even when you are not available). \"\n@@ -10059,19 +10841,19 @@\n \"this page.\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:371\n+#: includes\u002Fassets.php:341\n msgid \"Less\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:372\n+#: includes\u002Fassets.php:342\n msgid \"Log file cleared...\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:374\n+#: includes\u002Fassets.php:344\n msgid \"More\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:378\n+#: includes\u002Fassets.php:348\n msgid \"\"\n \"As an attachment to your message, your current settings and plugin related \"\n \"database tables, plus data of the posts and users who are related to the \"\n@@ -10080,35 +10862,35 @@\n \"proceed.\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:379\n+#: includes\u002Fassets.php:349\n msgid \"\"\n \"This record is currently being edited by another user. If you take over, his \"\n \"work may be lost. Are you sure to take over?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:380\n+#: includes\u002Fassets.php:350\n msgid \"\"\n \"You have selected a timezone other than server timezone. Are you sure to \"\n \"save working hours using this timezone?\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:383\n+#: includes\u002Fassets.php:353\n msgid \"Copied - Click to release\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:384 includes\u002Fwh.php:1012\n+#: includes\u002Fassets.php:354 includes\u002Fwh.php:1012\n msgid \"Copy to clipboard\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:385\n+#: includes\u002Fassets.php:355\n msgid \"Paste data of WHOSE\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:386\n+#: includes\u002Fassets.php:356\n msgid \"Undo\"\n msgstr \"\"\n \n-#: includes\u002Fassets.php:387\n+#: includes\u002Fassets.php:357\n msgid \"copied table\"\n msgstr \"\"\n \n@@ -10197,7 +10979,7 @@\n \"Provider with user ID #%s is not correct. Check if the user is a provider.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:258\n+#: includes\u002Fconstant-data.php:269\n msgid \"\"\n \"We collect information about you during the checkout process on our website. \"\n \"This information may include, but is not limited to, your name, email \"\n@@ -10222,7 +11004,7 @@\n \"will be used to populate the checkout for future orders.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:272\n+#: includes\u002Fconstant-data.php:283\n msgid \"\"\n \"Client Name: CLIENT\\n\"\n \"Client email: EMAIL\\n\"\n@@ -10231,37 +11013,48 @@\n \"Service Provider Name: WORKER\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:280\n+#: includes\u002Fconstant-data.php:291\n msgid \"\"\n \"Service Name: SERVICE\\n\"\n \"Service Provider Name: WORKER\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:305\n+#: includes\u002Fconstant-data.php:316\n+msgid \"Account Page\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:316\n+msgid \"\"\n+\"The page where \u003Ccode>[app_account]\u003C\u002Fcode> resides. Normally WP BASE \"\n+\"automatically locates this page and sets this setting, however in some cases \"\n+\"you may need to set it yourself.\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:317\n msgid \"Additional css Rules (Front end)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:305\n+#: includes\u002Fconstant-data.php:317\n msgid \"\"\n \"You can add css rules to customize styling. These will be added to the front \"\n \"end appointment page(s) only.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:306\n+#: includes\u002Fconstant-data.php:318\n msgid \"Additional css Rules (Admin side)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:306\n+#: includes\u002Fconstant-data.php:318\n msgid \"\"\n \"You can add css rules to customize styling. These will be added to the admin \"\n \"side only, e.g. to user profile page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:307\n+#: includes\u002Fconstant-data.php:319\n msgid \"Additional Time Base (minutes)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:307\n+#: includes\u002Fconstant-data.php:319\n msgid \"\"\n \"If selectable time bases do not fit your business, you can add a new one, \"\n \"e.g. 90. Note: 1) After you save this additional time base, you must select \"\n@@ -10270,119 +11063,111 @@\n \"allowed and it will be rounded to 25.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:308\n+#: includes\u002Fconstant-data.php:320\n msgid \"Add Security Deposit to Total Amount\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:308\n+#: includes\u002Fconstant-data.php:320\n msgid \"\"\n \"By default (setting No), security deposits are not collected using payment \"\n \"gateways due to difficulties in refunding. If you select Yes, deposit will \"\n \"be added to the amount that the client will pay through the payment gateway.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:309\n+#: includes\u002Fconstant-data.php:321\n msgid \"Adjust Font Color\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:309\n+#: includes\u002Fconstant-data.php:321\n msgid \"\"\n \"Automatically set calendar font color as white or black according to \"\n \"selected background color.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:310\n+#: includes\u002Fconstant-data.php:322\n msgid \"Collapse Record after Successful Update\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:310\n+#: includes\u002Fconstant-data.php:322\n msgid \"\"\n \"If this option is selected as Yes, successfully updated record will be \"\n \"automatically collapsed in admin bookings page. If selected as No, clicking \"\n \"Cancel button is required for the same process.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:311\n+#: includes\u002Fconstant-data.php:323\n msgid \"Admin email(s)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:311\n+#: includes\u002Fconstant-data.php:323\n msgid \"\"\n \"You can enter a special admin email here. Multiple emails separated with \"\n \"comma is possible. If left empty, WordPress admin email setting will be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:312\n+#: includes\u002Fconstant-data.php:324\n msgid \"Admin phone\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:312\n+#: includes\u002Fconstant-data.php:324\n msgid \"Enter admin phone that will receive notification messages.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:313\n+#: includes\u002Fconstant-data.php:325\n msgid \"Admin Theme\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:313\n+#: includes\u002Fconstant-data.php:325\n msgid \"\"\n \"jQuery UI theme that will be used in calendar, table, datepicker, dialog, \"\n \"multi select, tooltip and button elements on the Admin side.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:314\n+#: includes\u002Fconstant-data.php:326\n msgid \"Add WP BASE links to Admin Toolbar\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:314\n+#: includes\u002Fconstant-data.php:326\n msgid \"\"\n \"If this option is selected as Yes, WP BASE menu items and pages with WP BASE \"\n \"shortcodes can be selected from admin toolbar.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:315\n+#: includes\u002Fconstant-data.php:327\n msgid \"App ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:315\n+#: includes\u002Fconstant-data.php:327\n #, php-format\n msgid \"Get this value from your %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:315 includes\u002Fconstant-data.php:316\n+#: includes\u002Fconstant-data.php:327 includes\u002Fconstant-data.php:328\n msgid \"Agora account\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:316\n+#: includes\u002Fconstant-data.php:328\n msgid \"App Certificate\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:316\n+#: includes\u002Fconstant-data.php:328\n #, php-format\n msgid \"Primary certificate from your %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:317\n+#: includes\u002Fconstant-data.php:329\n msgid \"Enable Agora\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:317\n+#: includes\u002Fconstant-data.php:329\n msgid \"Enables integration with Agora Online Meetings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:318\n-msgid \"Layout\"\n-msgstr \"\"\n-\n-#: includes\u002Fconstant-data.php:318\n-msgid \"Layout of the participant screens\"\n-msgstr \"\"\n-\n-#: includes\u002Fconstant-data.php:319\n+#: includes\u002Fconstant-data.php:330\n msgid \"Agora Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:319 includes\u002Fconstant-data.php:494\n+#: includes\u002Fconstant-data.php:330 includes\u002Fconstant-data.php:505\n #, php-format\n msgid \"\"\n \"Meeting subject (title). \u003Cabbr title=\\\"%s\\\">Booking placeholders\u003C\u002Fabbr> can \"\n@@ -10390,11 +11175,11 @@\n \"their real values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:320\n+#: includes\u002Fconstant-data.php:331\n msgid \"Allow Client Cancel Own Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:320\n+#: includes\u002Fconstant-data.php:331\n msgid \"\"\n \"Whether to allow clients cancel their bookings using the link in \"\n \"confirmation and reminder emails or using Booking List table or for logged \"\n@@ -10402,67 +11187,63 @@\n \"will also need to add CANCEL placeholder to the email message content.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:321\n+#: includes\u002Fconstant-data.php:332\n msgid \"Allow Clients Select Own Timezone\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:321\n+#: includes\u002Fconstant-data.php:332\n msgid \"\"\n \"If selected as \\\"Yes\\\", clients can manually select their timezone in their \"\n \"profile page. This setting overrides automatic dedection.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:322\n+#: includes\u002Fconstant-data.php:333\n msgid \"Allow Client Confirm Bookings by Email\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:322\n+#: includes\u002Fconstant-data.php:333\n msgid \"\"\n \"Whether to allow clients confirm their bookings using the link in any email \"\n \"they receive. This link is added by using CONFIRM placeholder in email \"\n \"bodies.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:323\n+#: includes\u002Fconstant-data.php:334\n msgid \"Allow Client Edit Own Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:323\n+#: includes\u002Fconstant-data.php:334\n msgid \"\"\n-\"Whether you let client edit own appointments on the front end. Client can \"\n-\"activate editing popup form by one of the following methods: 1) Clicking \"\n-\"Edit button in WordPress user page, 2) Clicking Edit button in List Of \"\n-\"Bookings, 4) Clicking Edit button in Bookings tab of Account page, 4) \"\n-\"Clicking the link in emails. This link is created by inserting EDIT \"\n-\"placeholder to the email body.\"\n+\"Whether you let client edit own bookings on List of Bookings or Schedules \"\n+\"tab of Account page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:324\n+#: includes\u002Fconstant-data.php:335\n msgid \"Allow Late Booking\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:324\n+#: includes\u002Fconstant-data.php:335\n msgid \"\"\n \"Setting this as Yes will allow booking of a time slot when current time is \"\n \"within selected time slot, i.e. appointment start time has passed, but it \"\n \"has not ended yet.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:325\n+#: includes\u002Fconstant-data.php:336\n msgid \"Allow Registration at Checkout\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:325\n+#: includes\u002Fconstant-data.php:336\n msgid \"\"\n \"Whether add registration fields at checkout. \\\"Auto\\\" follows WordPress \"\n \"\\\"Anyone can register\\\" setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:326\n+#: includes\u002Fconstant-data.php:337\n msgid \"Set Own Seasonal Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:326\n+#: includes\u002Fconstant-data.php:337\n msgid \"\"\n \"Requires Seasonal Working Hours Addon. Whether you let service providers to \"\n \"set their annual schedules using their navigation tab in BuddyPress \"\n@@ -10470,33 +11251,33 @@\n \"are also allowed to add new custom schedules, but not to delete them.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:327\n+#: includes\u002Fconstant-data.php:338\n msgid \"Cancel Own Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:327\n+#: includes\u002Fconstant-data.php:338\n msgid \"\"\n \"Whether to allow providers cancel their appointments using Booking List \"\n \"table or using check boxes in their profile pages. Cancellation lead time is \"\n \"still valid.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:328\n+#: includes\u002Fconstant-data.php:339\n msgid \"Confirm Own Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:328\n+#: includes\u002Fconstant-data.php:339\n msgid \"\"\n \"Whether you let service providers to confirm pending appointments assigned \"\n \"to them using their navigation tab in BuddyPress (Requires BuddyPress addon) \"\n \"or their profile page in regular WordPress.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:329\n+#: includes\u002Fconstant-data.php:340\n msgid \"Create\u002FView\u002FEdit Services\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:329\n+#: includes\u002Fconstant-data.php:340\n msgid \"\"\n \"Whether allow providers create and edit own services, view other's services \"\n \"on their account pages. Provider will be automatically assigned to services \"\n@@ -10504,11 +11285,11 @@\n \"services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:330\n+#: includes\u002Fconstant-data.php:341\n msgid \"Delete Own Services\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:330\n+#: includes\u002Fconstant-data.php:341\n msgid \"\"\n \"If you select yes, providers can delete any service created by themselves \"\n \"using their profile pages. If you select No, deletion by service provider is \"\n@@ -10517,63 +11298,63 @@\n \"appointments).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:331\n+#: includes\u002Fconstant-data.php:342\n msgid \"Select Services to Work for\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:331\n+#: includes\u002Fconstant-data.php:342\n msgid \"\"\n \"If you select yes, providers can select which services they are working for \"\n \"using their profile pages. In any case, they have to pick at least one \"\n \"service.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:332\n+#: includes\u002Fconstant-data.php:343\n msgid \"Edit Own Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:332\n+#: includes\u002Fconstant-data.php:343\n msgid \"\"\n \"Whether you let service providers to manage own bookings. With the last \"\n \"option, they can also edit bookings on the admin side, provided that they \"\n \"are allowed admin access.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:333\n+#: includes\u002Fconstant-data.php:344\n msgid \"Register Users\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:333\n+#: includes\u002Fconstant-data.php:344\n msgid \"\"\n \"Whether you let service providers to register users at Schedules or Manage \"\n \"Bookings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:334\n+#: includes\u002Fconstant-data.php:345\n msgid \"Allow Service Providers Select Own Timezone\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:334\n+#: includes\u002Fconstant-data.php:345\n msgid \"\"\n \"If selected as \\\"Yes\\\", service providers can manually select their timezone \"\n \"in their profile page. This setting overrides automatic dedection.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:335\n+#: includes\u002Fconstant-data.php:346\n msgid \"View Payments\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:335\n+#: includes\u002Fconstant-data.php:346\n msgid \"\"\n \"Whether you let service providers view payments for bookings that they were \"\n \"booked for.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:336\n+#: includes\u002Fconstant-data.php:347\n msgid \"Set Own Working Hours\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:336\n+#: includes\u002Fconstant-data.php:347\n msgid \"\"\n \"Whether you let service providers to set their working hours and holidays \"\n \"using their navigation tab in BuddyPress (Requires BuddyPress addon) or \"\n@@ -10581,11 +11362,11 @@\n \"of self created services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:337\n+#: includes\u002Fconstant-data.php:348\n msgid \"Apply Only One Coupon per Booking\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:337\n+#: includes\u002Fconstant-data.php:348\n msgid \"\"\n \"Valid only when Shopping Cart is active. By default (setting \\\"No\\\"), coupon \"\n \"discounts are applied to each applicable booking in the shopping cart. If \"\n@@ -10594,25 +11375,25 @@\n \"applying maximum net discount will be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:338\n+#: includes\u002Fconstant-data.php:349\n msgid \"Apply Coupons also to Extras\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:338\n+#: includes\u002Fconstant-data.php:349\n msgid \"If selected as yes, coupon discounts will also be applied to extras.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:339\n+#: includes\u002Fconstant-data.php:350\n msgid \"\"\n \"Maximum number of days or months from current day that a client can make a \"\n \"booking.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:341\n+#: includes\u002Fconstant-data.php:352\n msgid \"Booking Lower Limit - Lead Time (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:341\n+#: includes\u002Fconstant-data.php:352\n msgid \"\"\n \"This setting will block time slots to prevent them be booked too close to \"\n \"the appointment time. For example, if you need 2 days to evaluate and accept \"\n@@ -10620,11 +11401,11 @@\n \"can be made if start time has not passed)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:343\n+#: includes\u002Fconstant-data.php:354\n msgid \"Max Number of Time Slots\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:343\n+#: includes\u002Fconstant-data.php:354\n msgid \"\"\n \"Only valid with Shopping Cart, Recurring Appointments, Service Bundles and \"\n \"WooCommerce addons. Maximum number of selectable time slots for a single \"\n@@ -10632,26 +11413,26 @@\n \"exceeding this limit. Enter 0 for no limitation.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:344\n+#: includes\u002Fconstant-data.php:355\n msgid \"Min Number of Time Slots\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:344\n+#: includes\u002Fconstant-data.php:355\n msgid \"\"\n \"Only valid with Shopping Cart, Recurring Appointments, Service Bundles and \"\n \"WooCommerce addons. Minimum accepted number of time slots for a single \"\n \"checkout. Different than maximum limit, check is commenced at checkout stage.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:355\n+#: includes\u002Fconstant-data.php:366\n msgid \"Whether to enable terms and conditions checkbox on confirmation form.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:357\n+#: includes\u002Fconstant-data.php:368\n msgid \"Assignment Method of Provider\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:357\n+#: includes\u002Fconstant-data.php:368\n msgid \"\"\n \"How service provider is assigned to the service if not selected by client. \"\n \"If selected as First Available or Random, first available or a random \"\n@@ -10660,7 +11441,7 @@\n \"provider among those giving that service will be picked).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:358\n+#: includes\u002Fconstant-data.php:369\n #, php-format\n msgid \"\"\n \"Setting this as Yes will automatically confirm all booking submissions if \"\n@@ -10670,15 +11451,15 @@\n \"determine booking status.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:358\n+#: includes\u002Fconstant-data.php:369\n msgid \"Payment required at booking instance\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:359\n+#: includes\u002Fconstant-data.php:370\n msgid \"Auto Delete Expired Appointments\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:359\n+#: includes\u002Fconstant-data.php:370\n msgid \"\"\n \"As default (setting as \\\"No\\\"), expired appointments (those did not realise \"\n \"because of cancellation or no confirmation) are marked as \\\"removed\\\" and \"\n@@ -10686,22 +11467,22 @@\n \"as Yes, such appointments will be automatically deleted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:360\n+#: includes\u002Fconstant-data.php:371\n msgid \"Auto Delete Lead Time (Hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:360\n+#: includes\u002Fconstant-data.php:371\n msgid \"\"\n \"Waiting time for expired appointments to be permanently deleted after their \"\n \"expiration. If you set 0, they will be directly deleted before they are \"\n \"marked as removed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:361\n+#: includes\u002Fconstant-data.php:372\n msgid \"Auto Register Client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:361\n+#: includes\u002Fconstant-data.php:372\n msgid \"\"\n \"When registration fields at checkout are not provided, whether register \"\n \"client as WP user upon submission of booking. Only effective if client \"\n@@ -10709,155 +11490,155 @@\n \"case client is asked to login first).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:362\n+#: includes\u002Fconstant-data.php:373\n msgid \"Notify User about Auto Register\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:362\n+#: includes\u002Fconstant-data.php:373\n msgid \"\"\n \"Whether auto registered client will get an email informing their login \"\n \"credentials. Admin will always get a notification.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:363\n+#: includes\u002Fconstant-data.php:374\n msgid \"Auto Register Auto Login\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:363\n+#: includes\u002Fconstant-data.php:374\n msgid \"\"\n \"Whether auto registered client will be automatically logged in. This is \"\n \"always assumed \\\"Yes\\\" with WooCommerce integration.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:364\n+#: includes\u002Fconstant-data.php:375\n msgid \"Country Business Based in\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:365\n+#: includes\u002Fconstant-data.php:376\n msgid \"Post Types for Bio Pages\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:365\n+#: includes\u002Fconstant-data.php:376\n msgid \"\"\n \"Post types that can be used for service provider bio pages. Default: \\\"page\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:366\n+#: includes\u002Fconstant-data.php:377\n msgid \"Also Assign Existing Members\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:366\n+#: includes\u002Fconstant-data.php:377\n msgid \"\"\n \"Whether existing members who are in the selected member type will be \"\n \"assigned as service provider when these settings saved.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:367\n+#: includes\u002Fconstant-data.php:378\n msgid \"Book Me Tab Content\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:367\n+#: includes\u002Fconstant-data.php:378\n msgid \"\"\n \"Add shortcodes and other text that will make the content of the book me tab. \"\n \"During booking, service provider whose profile is being displayed will be \"\n \"automatically selected (Client cannot select another provider).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:368\n+#: includes\u002Fconstant-data.php:379\n msgid \"Book Us Tab Content\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:368\n+#: includes\u002Fconstant-data.php:379\n msgid \"\"\n \"Add shortcodes and other text that will make the content of the book us tab. \"\n \"Only services of the group assigned to the related location is selectable \"\n \"from this booking calendar. Tip: You can use \u003Ccode>[app_book]\u003C\u002Fcode>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:369\n+#: includes\u002Fconstant-data.php:380\n msgid \"Provider can Edit Book Me Content\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:369\n+#: includes\u002Fconstant-data.php:380\n msgid \"\"\n \"Whether provider can edit book me content with WP editor in their profile \"\n \"settings tab.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:370\n+#: includes\u002Fconstant-data.php:381\n msgid \"Book Me Page Slug\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:370\n+#: includes\u002Fconstant-data.php:381\n msgid \"\"\n \"WP slug used to create Book Me url. Lowercase alphanumeric characters, \"\n \"dashes, and underscores are allowed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:371\n+#: includes\u002Fconstant-data.php:382\n msgid \"Book Us Page Slug\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:371\n+#: includes\u002Fconstant-data.php:382\n msgid \"\"\n \"WP slug used to create Book Us url. Lowercase alphanumeric characters, \"\n \"dashes, and underscores are allowed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:372\n+#: includes\u002Fconstant-data.php:383\n msgid \"Integrate Locations with BuddyPress Groups\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:372\n+#: includes\u002Fconstant-data.php:383\n msgid \"\"\n \"Requires Locations addon. When you select this option, each group can be \"\n \"related to a WP BASE location. Locations should be defined separately.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:373\n+#: includes\u002Fconstant-data.php:384\n msgid \"Member Types to Assign as Provider\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:373\n+#: includes\u002Fconstant-data.php:384\n msgid \"\"\n \"Members of selected types will be automatically assigned as service provider \"\n \"when they register, login or activate their accounts\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:374\n+#: includes\u002Fconstant-data.php:385\n msgid \"Also Notify Client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:374\n+#: includes\u002Fconstant-data.php:385\n msgid \"\"\n \"Whether client of the booking will also be notified about selected events.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:375\n+#: includes\u002Fconstant-data.php:386\n msgid \"Events to be Notified\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:375\n+#: includes\u002Fconstant-data.php:386\n msgid \"\"\n \"When these booking related events happen, provider will be notified by \"\n \"BuddyPress notification system. Clear all to disable booking notifications.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:376\n+#: includes\u002Fconstant-data.php:387\n msgid \"Bookings Tab Slug\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:376\n+#: includes\u002Fconstant-data.php:387\n msgid \"\"\n \"WP slug used to create bookings control and settings tab url. Lowercase \"\n \"alphanumeric characters, dashes, and underscores are allowed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:377\n+#: includes\u002Fconstant-data.php:388\n msgid \"Create a Book Me Tab in User Profile\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:377\n+#: includes\u002Fconstant-data.php:388\n msgid \"\"\n \"Whether a functional make a booking page will be added to profile tab of \"\n \"service providers. If \\\"Service Provider Selects\\\" is selected, provider can \"\n@@ -10866,37 +11647,37 @@\n \"displayed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:378\n+#: includes\u002Fconstant-data.php:389\n msgid \"Create a Book Us Tab in Group Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:378\n+#: includes\u002Fconstant-data.php:389\n msgid \"\"\n \"Whether a functional make a booking tab will be added to group page. Only \"\n \"services of the group are bookable from this booking calendar.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:379\n+#: includes\u002Fconstant-data.php:390\n msgid \"Show Dashboard\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:379\n+#: includes\u002Fconstant-data.php:390\n msgid \"Whether provider can view dashboard in their profile page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:381\n+#: includes\u002Fconstant-data.php:392\n #, php-format\n msgid \"\"\n \"With selection \\\"compact\\\", next\u002Fprevious links are shown on top of the \"\n \"calendar. For samples see our %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:382 includes\u002Fconstant-data.php:667\n-#: includes\u002Fconstant-data.php:668\n+#: includes\u002Fconstant-data.php:393 includes\u002Fconstant-data.php:685\n+#: includes\u002Fconstant-data.php:686\n msgid \"Calendar Time Slot Display\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:382\n+#: includes\u002Fconstant-data.php:393\n #, php-format\n msgid \"\"\n \"Only in Monthly and Weekly Calendar views, determines which time slots are \"\n@@ -10907,86 +11688,86 @@\n \"another time zone, full range is displayed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:382\n+#: includes\u002Fconstant-data.php:393\n msgid \"Click to access Working Hours page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:383 includes\u002Fconstant-data.php:393\n-#: includes\u002Fconstant-data.php:394 includes\u002Fconstant-data.php:407\n-#: includes\u002Fconstant-data.php:439 includes\u002Fconstant-data.php:555\n-#: includes\u002Fconstant-data.php:566\n+#: includes\u002Fconstant-data.php:394 includes\u002Fconstant-data.php:404\n+#: includes\u002Fconstant-data.php:405 includes\u002Fconstant-data.php:418\n+#: includes\u002Fconstant-data.php:450 includes\u002Fconstant-data.php:568\n+#: includes\u002Fconstant-data.php:579\n msgid \"Create and Attach pdf File\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:383 includes\u002Fconstant-data.php:393\n-#: includes\u002Fconstant-data.php:394 includes\u002Fconstant-data.php:407\n-#: includes\u002Fconstant-data.php:439 includes\u002Fconstant-data.php:555\n-#: includes\u002Fconstant-data.php:566\n+#: includes\u002Fconstant-data.php:394 includes\u002Fconstant-data.php:404\n+#: includes\u002Fconstant-data.php:405 includes\u002Fconstant-data.php:418\n+#: includes\u002Fconstant-data.php:450 includes\u002Fconstant-data.php:568\n+#: includes\u002Fconstant-data.php:579\n msgid \"\"\n \"Whether to attach a pdf file that will be created from the below fields. If \"\n \"attachment field is empty, file will not be attached (empty file will not be \"\n \"sent).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:384\n+#: includes\u002Fconstant-data.php:395\n msgid \"Cancellation Limit (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:384\n+#: includes\u002Fconstant-data.php:395\n msgid \"\"\n \"Number of hours upto which client can cancel the appointment relative to the \"\n \"appointment start time. For example, entering 24 will disable cancellations \"\n \"one day before the appointment is due.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:385\n+#: includes\u002Fconstant-data.php:396\n msgid \"Booking Cancelled Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:385\n+#: includes\u002Fconstant-data.php:396\n msgid \"\"\n \"In case they are cancelling using the email link, the page that the clients \"\n \"will be redirected after cancellation.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:386\n+#: includes\u002Fconstant-data.php:397\n msgid \"Cancel Return Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:386\n+#: includes\u002Fconstant-data.php:397\n msgid \"\"\n \"The page that client will be returned when he clicks the cancel link on \"\n \"Paypal website.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:387\n+#: includes\u002Fconstant-data.php:398\n msgid \"Calendar Caption Color\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:387 includes\u002Fconstant-data.php:388\n+#: includes\u002Fconstant-data.php:398 includes\u002Fconstant-data.php:399\n msgid \"Only effective when calendar design is \\\"compact\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:388\n+#: includes\u002Fconstant-data.php:399\n msgid \"Calendar Caption Font Color\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:389\n+#: includes\u002Fconstant-data.php:400\n msgid \"Pending Approval bookings auto removal time (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:389\n+#: includes\u002Fconstant-data.php:400\n msgid \"\"\n \"Pending bookings that require manual approval will be automatically removed \"\n \"and time slot will be freed when this period of time has passed counting \"\n \"from booking submission. Enter 0 to disable. Default: 24.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:390\n+#: includes\u002Fconstant-data.php:401\n msgid \"Pending Payment bookings auto removal time (minutes)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:390\n+#: includes\u002Fconstant-data.php:401\n msgid \"\"\n \"Same as above, but applies to bookings that has a payment method other than \"\n \"Manual Payments. If left empty or set to 0, the above \\\"Pending Approval \"\n@@ -10994,11 +11775,11 @@\n \"0, then auto removal of pending bookings will be disabled. Default: 15\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:391\n+#: includes\u002Fconstant-data.php:402\n msgid \"Client Selects Provider\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:391\n+#: includes\u002Fconstant-data.php:402\n msgid \"\"\n \"Whether service provider pulldown menu is displayed so that client can pick \"\n \"a service provider giving the service. If \\\"forced to pick one\\\", \\\"No \"\n@@ -11007,32 +11788,32 @@\n \"\\\"Assignment Method of Service Provider\\\" setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:392\n+#: includes\u002Fconstant-data.php:403\n msgid \"Time Slot Colors\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:392\n+#: includes\u002Fconstant-data.php:403\n msgid \"\"\n \"There are suggested color sets here which will match with the theme, but you \"\n \"can select any other set too or you can enter your custom colors using color \"\n \"picker, settings of which are visible after you select \\\"Custom\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:395\n+#: includes\u002Fconstant-data.php:406\n msgid \"Hidden Fields on Booking Info\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:395\n+#: includes\u002Fconstant-data.php:406\n msgid \"\"\n \"Selected fields will not be displayed on checkout. Fields with empty values \"\n \"may not be displayed as well.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:396\n+#: includes\u002Fconstant-data.php:407\n msgid \"Maximum Allowed Checkout Time (minutes)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:396\n+#: includes\u002Fconstant-data.php:407\n msgid \"\"\n \"Only valid with Shopping Cart, Recurring Appointments, Service Bundles and \"\n \"WooCommerce addons that use WP BASE Cart. This is the countdown time which \"\n@@ -11040,54 +11821,54 @@\n \"disable. Default: 12\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:397\n+#: includes\u002Fconstant-data.php:408\n msgid \"Website Currency - Symbol\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:398\n+#: includes\u002Fconstant-data.php:409\n msgid \"Show Decimal in Prices\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:399\n+#: includes\u002Fconstant-data.php:410\n msgid \"Currency Symbol Position\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:400\n+#: includes\u002Fconstant-data.php:411\n msgid \"Debug Mode\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:400\n+#: includes\u002Fconstant-data.php:411\n msgid \"\"\n \"Displays information about configuration errors and time slots (why they are \"\n \"not available) in tooltips and on the page. These texts are only visible to \"\n \"admins.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:401\n+#: includes\u002Fconstant-data.php:412\n msgid \"Decimal Separator\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:402\n+#: includes\u002Fconstant-data.php:413\n msgid \"\"\n \"This is the default language of your website. In paranthesis WordPress \"\n \"locale codes are given.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:403\n+#: includes\u002Fconstant-data.php:414\n msgid \"Business Rep.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:403\n+#: includes\u002Fconstant-data.php:414\n msgid \"\"\n \"If no providers defined, bookings will be assigned to this user. Also his \"\n \"working hours will be used as template for new providers and services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:404\n+#: includes\u002Fconstant-data.php:415\n msgid \"Cumulative Security Deposit\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:404\n+#: includes\u002Fconstant-data.php:415\n msgid \"\"\n \"Only valid with Shopping Cart addon. By default (setting \\\"No\\\") deposit is \"\n \"calculated as maximum among all selected services in the cart, e.g. $30 from \"\n@@ -11095,31 +11876,31 @@\n \"total amount will be asked from the client; in this example, $60.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:405\n+#: includes\u002Fconstant-data.php:416\n msgid \"Post Types for Service Connected Posts\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:405\n+#: includes\u002Fconstant-data.php:416\n msgid \"\"\n \"Post types that can be used to relate service to a post. Default: \\\"page\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:406\n+#: includes\u002Fconstant-data.php:417\n msgid \"Disable Tooltips in Booking Calendars\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:406\n+#: includes\u002Fconstant-data.php:417\n msgid \"\"\n \"Selecting \\\"No\\\" will disable tooltips like \\\"Click to pick date\\\", etc. \"\n \"Note: In Debug mode, tooltips are displayed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:408\n+#: includes\u002Fconstant-data.php:419\n #, php-format\n msgid \"Due Payment Reminder Sending Limit of Balance (%s)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:408\n+#: includes\u002Fconstant-data.php:419\n msgid \"\"\n \"Due payment reminder is only sent if balance is negative and absolute value \"\n \"of balance for the appointment is greater than this amount. For example, if \"\n@@ -11128,30 +11909,30 @@\n \"case of any negative balance.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:409 includes\u002Fconstant-data.php:713\n-msgid \"Due Payment Reminder email Message\"\n+#: includes\u002Fconstant-data.php:420 includes\u002Fconstant-data.php:733\n+msgid \"Due Payment Reminder Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:410\n+#: includes\u002Fconstant-data.php:421\n msgid \"Booking Statuses Due Payment emails Applied to\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:410\n+#: includes\u002Fconstant-data.php:421\n msgid \"\"\n \"Only clients having appointments with selected status(es) will receive due \"\n \"payment reminder email. If none selected, due payment emails will not be \"\n \"sent at all.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:411 includes\u002Fconstant-data.php:714\n-msgid \"Due Payment Reminder email Subject\"\n+#: includes\u002Fconstant-data.php:422 includes\u002Fconstant-data.php:734\n+msgid \"Due Payment Reminder Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:412\n+#: includes\u002Fconstant-data.php:423\n msgid \"Due Payment Reminder email Sending Time (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:412\n+#: includes\u002Fconstant-data.php:423\n msgid \"\"\n \"Defines the time in hours that reminder email will be sent after the \"\n \"appointment has been booked (creation time). Note that this is different \"\n@@ -11160,11 +11941,11 @@\n \"separated with a comma, e.g. 48,72.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:413\n+#: includes\u002Fconstant-data.php:424\n msgid \"Assign Dummy Providers to\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:413\n+#: includes\u002Fconstant-data.php:424\n msgid \"\"\n \"You can define \\\"Dummy\\\" service providers to enrich your service provider \"\n \"alternatives and variate your working schedules. Their availability and \"\n@@ -11172,21 +11953,21 @@\n \"they are supposed to receive will be forwarded to the user you select here.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:414\n+#: includes\u002Fconstant-data.php:425\n msgid \"Service Duration Display Format\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:414\n+#: includes\u002Fconstant-data.php:425\n msgid \"\"\n \"With this setting, you can select display format of durations on the front \"\n \"end (minutes, hours, hours+minutes).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:415\n+#: includes\u002Fconstant-data.php:426\n msgid \"Direct Checkout after Confirming Form\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:415\n+#: includes\u002Fconstant-data.php:426\n msgid \"\"\n \"By default (setting \\\"No\\\"), after client confirms the form, booking is \"\n \"added to WC cart and client stays on booking page so that they can add more \"\n@@ -11194,82 +11975,82 @@\n \"\\\"Yes\\\". Then they will be redirected to WC checkout page after confirm.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:416 includes\u002Fconstant-data.php:661\n+#: includes\u002Fconstant-data.php:427 includes\u002Fconstant-data.php:679\n msgid \"Enable Integration\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:416\n+#: includes\u002Fconstant-data.php:427\n #, php-format\n msgid \"\"\n \"Enables integration with EDD e-commerce plugin. That is, WP BASE services \"\n \"can be sold as EDD products. Also see %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:416\n+#: includes\u002Fconstant-data.php:427\n msgid \"EDD demo website\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:417\n+#: includes\u002Fconstant-data.php:428\n msgid \"Booking Info\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:417\n+#: includes\u002Fconstant-data.php:428\n #, php-format\n msgid \"\"\n \"Short information about the booking, for example date, time, provider. All \"\n \"\u003Cabbr title=\\\"%s\\\">booking placeholders\u003C\u002Fabbr> can be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:418 includes\u002Fcustom-texts.php:830\n+#: includes\u002Fconstant-data.php:429 includes\u002Fcustom-texts.php:839\n msgid \"Booking Details\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:418\n+#: includes\u002Fconstant-data.php:429\n #, php-format\n msgid \"\"\n \"Details of booking that will be added below product name. All \u003Cabbr \"\n \"title=\\\"%s\\\">booking placeholders\u003C\u002Fabbr> can be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:419\n+#: includes\u002Fconstant-data.php:430\n msgid \"Booking Title\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:419\n+#: includes\u002Fconstant-data.php:430\n #, php-format\n msgid \"\"\n \"Defines how the selected booking will be displayed in the cart and receipt. \"\n \"All \u003Cabbr title=\\\"%s\\\">booking placeholders\u003C\u002Fabbr> can be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:420\n+#: includes\u002Fconstant-data.php:431\n msgid \"Editable Booking Fields\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:420\n+#: includes\u002Fconstant-data.php:431\n #, php-format\n msgid \"\"\n \"Select which booking fields can be edited. Note: UDF fields can be limited \"\n \"using \\\"Editable\\\" column on %s page. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:420\n+#: includes\u002Fconstant-data.php:431\n msgid \"UDF settings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:421\n+#: includes\u002Fconstant-data.php:432\n msgid \"Allow Price Display and Change\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:421\n+#: includes\u002Fconstant-data.php:432\n msgid \"Whether change in selections will affect price.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:422\n+#: includes\u002Fconstant-data.php:433\n msgid \"Editing Lower Limit (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:422\n+#: includes\u002Fconstant-data.php:433\n msgid \"\"\n \"Number of hours from appointment start time until which client can edit \"\n \"their appointment. For example, entering 24 will disable editing one day \"\n@@ -11278,32 +12059,32 @@\n \"editing capability with \\\"cap\\\" attribute are not limited with this setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:423\n+#: includes\u002Fconstant-data.php:434\n msgid \"Editing Upper Limit (days)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:423\n+#: includes\u002Fconstant-data.php:434\n msgid \"\"\n \"Only bookings whose start date is earlier than this setting can be edited. \"\n \"If left empty, global Upper Limit will be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:424\n+#: includes\u002Fconstant-data.php:435\n msgid \"Enable Timezones\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:424\n+#: includes\u002Fconstant-data.php:435\n msgid \"\"\n \"If selected as \\\"Yes\\\", timezone of the client is taken into account during \"\n \"display of booking UI's, list of bookings and emails. Admin side and \"\n \"database records are not affected.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:425\n+#: includes\u002Fconstant-data.php:436\n msgid \"Show End Date Based on Venue Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:425\n+#: includes\u002Fconstant-data.php:436\n msgid \"\"\n \"For bookings that last one day and longer, whether display end date \"\n \"according to venue bookings. By default (Setting \\\"No\\\"), end date is \"\n@@ -11315,142 +12096,142 @@\n \"displayed on the front end.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:426\n+#: includes\u002Fconstant-data.php:437\n msgid \"Price to Apply upon Multiple Rule Match\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:426\n+#: includes\u002Fconstant-data.php:437\n msgid \"\"\n \"If there are several matching rules, price returned can be selected among \"\n \"minimum, maximum or average of the non-zero prices calculated by matching \"\n \"rules.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:427\n+#: includes\u002Fconstant-data.php:438\n msgid \"Add Caption on Thumbnails\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:427\n+#: includes\u002Fconstant-data.php:438\n msgid \"\"\n \"Whether to add a caption of event date and location on product thumbnails.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:428 includes\u002Fconstant-data.php:508\n+#: includes\u002Fconstant-data.php:439 includes\u002Fconstant-data.php:519\n msgid \"Supported Post Types\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:428\n+#: includes\u002Fconstant-data.php:439\n msgid \"\"\n \"Select post types Event Bookings will be used for. Setting metabox will be \"\n \"added to post edit pages of the selected post types.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:429\n+#: includes\u002Fconstant-data.php:440\n msgid \"Event Calendar Small Tooltips\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:429\n+#: includes\u002Fconstant-data.php:440\n msgid \"Whether to use small tooltips in the event calendar.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:430\n+#: includes\u002Fconstant-data.php:441\n msgid \"Event Calendar Items Inline\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:430\n+#: includes\u002Fconstant-data.php:441\n msgid \"\"\n \"Whether show item details in event calendar inline (with their thumbnail \"\n \"images) or as simple lines (details displayed on mouse hover).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:431\n+#: includes\u002Fconstant-data.php:442\n msgid \"Extras Multiplied with Pax\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:431\n+#: includes\u002Fconstant-data.php:442\n msgid \"\"\n \"Only effective when Group Bookings addon is active. Selected extras are \"\n \"multiplied by selected number of guests and price adjusted accordingly.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:432\n+#: includes\u002Fconstant-data.php:443\n msgid \"Selection Required\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:432\n+#: includes\u002Fconstant-data.php:443\n msgid \"\"\n \"Whether client will be forced to pick an option in order to finalize booking \"\n \"submission.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:433\n+#: includes\u002Fconstant-data.php:444\n msgid \"Facebook App ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:433\n+#: includes\u002Fconstant-data.php:444\n #, php-format\n msgid \"\"\n \"Enter your App ID number here. If you don't have a Facebook App yet, you \"\n \"will need to create one \u003Ca href='%s' target='_blank'>here\u003C\u002Fa>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:434\n+#: includes\u002Fconstant-data.php:445\n msgid \"My website already uses Facebook\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:434\n+#: includes\u002Fconstant-data.php:445\n msgid \"\"\n \"By default, Facebook script will be loaded by the plugin. If you are already \"\n \"running Facebook scripts, to prevent any conflict, check this option.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:435\n+#: includes\u002Fconstant-data.php:446\n msgid \"Fee (%)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:435\n+#: includes\u002Fconstant-data.php:446\n msgid \"\"\n \"Fee in percent that will be added to the total amount in case this method is \"\n \"picked\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:436\n+#: includes\u002Fconstant-data.php:447\n msgid \"Fee (fixed)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:436\n+#: includes\u002Fconstant-data.php:447\n msgid \"\"\n \"Similar to percentage fee, but a fixed amount will be added to the total \"\n \"amount in case this method is picked. If both fields are filled BOTH fees \"\n \"will be applied: First percentage, then fixed amount.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:437\n+#: includes\u002Fconstant-data.php:448\n msgid \"Additional css Rules\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:437\n+#: includes\u002Fconstant-data.php:448\n msgid \"\"\n \"You can add css rules to customize styling of Front End Booking Management \"\n \"table. These will be added to the front end appointment management page only.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:438\n+#: includes\u002Fconstant-data.php:449\n msgid \"Prepayment (fixed)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:438\n+#: includes\u002Fconstant-data.php:449\n msgid \"\"\n \"Similar to percent prepayment, but a fixed amount will be asked from the \"\n \"client per appointment. If both fields are filled, only the fixed down \"\n \"payment will be taken into account.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:440\n+#: includes\u002Fconstant-data.php:451\n msgid \"Follow-up email Sending Time (days)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:440\n+#: includes\u002Fconstant-data.php:451\n msgid \"\"\n \"Defines how many days after no client activity an email will be sent, \"\n \"counting from their latest finalised booking end time (in completed or \"\n@@ -11458,31 +12239,31 @@\n \"enter desired delay days separated with a comma, e.g. 30,60.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:442\n+#: includes\u002Fconstant-data.php:453\n msgid \"From email\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:442\n+#: includes\u002Fconstant-data.php:453\n msgid \"\"\n \"Email address that will be used in \\\"from\\\" field of outgoing emails. If \"\n \"left empty, no-reply@yourdomain will be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:443\n+#: includes\u002Fconstant-data.php:454\n msgid \"From name\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:443\n+#: includes\u002Fconstant-data.php:454\n msgid \"\"\n \"Name that will be used in \\\"from name\\\" field of outgoing emails. If left \"\n \"empty, blog name will be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:444\n+#: includes\u002Fconstant-data.php:455\n msgid \"Allow Clients for Google Calendar API Integration\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:444\n+#: includes\u002Fconstant-data.php:455\n msgid \"\"\n \"Whether you let registered clients (WordPress members) to integrate with \"\n \"their own Google Calendar account using their profile page. They will just \"\n@@ -11491,11 +12272,11 @@\n \"user roles that can use GCal integration.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:445\n+#: includes\u002Fconstant-data.php:456\n msgid \"Allow Clients to Send Copies of their Bookings to Additional Calendars \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:445\n+#: includes\u002Fconstant-data.php:456\n msgid \"\"\n \"Whether clients can add calendars of other people (e.g. family members) to \"\n \"send a copy of each of their bookings as read-only. For clients, number of \"\n@@ -11503,11 +12284,11 @@\n \"profile page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:446\n+#: includes\u002Fconstant-data.php:457\n msgid \"Each Location has its Own Calendar\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:446\n+#: includes\u002Fconstant-data.php:457\n #, php-format\n msgid \"\"\n \"Whether each location has its own calendar in GCal account of the website. \"\n@@ -11515,22 +12296,22 @@\n \"selecting as Yes, you can set calendar for each location on %s page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:447\n+#: includes\u002Fconstant-data.php:458\n msgid \"Allow Service Providers for Google Calendar API Integration\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:447\n+#: includes\u002Fconstant-data.php:458\n msgid \"\"\n \"Whether you let your service providers to integrate with their own Google \"\n \"Calendar account using their profile page. They will just need to give \"\n \"authorization and select calendar in their profile pages.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:448\n+#: includes\u002Fconstant-data.php:459\n msgid \"Allow Service Providers for Event Summary and Description\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:448\n+#: includes\u002Fconstant-data.php:459\n msgid \"\"\n \"Whether you let your service providers to enter own event summary and \"\n \"descriptions using their profile page. If you select \\\"No\\\" (not allowed) \"\n@@ -11538,26 +12319,26 @@\n \"description for them. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:449\n+#: includes\u002Fconstant-data.php:460\n msgid \"Google API Key\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:449\n+#: includes\u002Fconstant-data.php:460\n #, php-format\n msgid \"\"\n \"Enter your Google API Key which can be taken from %s and common for all \"\n \"Google platforms or follow the instructions.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:449 includes\u002Fconstant-data.php:475\n+#: includes\u002Fconstant-data.php:460 includes\u002Fconstant-data.php:486\n msgid \"Google Cloud Platform Console\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:450 includes\u002Fconstant-data.php:462\n+#: includes\u002Fconstant-data.php:461 includes\u002Fconstant-data.php:473\n msgid \"Integration Mode\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:450\n+#: includes\u002Fconstant-data.php:461\n msgid \"\"\n \"Selects method of communication of WP BASE with GCal. WP BASE &rarr; GCal \"\n \"setting sends\u002Fexports bookings to your selected Google calendar, but events \"\n@@ -11570,11 +12351,11 @@\n \"too.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:451\n+#: includes\u002Fconstant-data.php:462\n msgid \"Bookings will be sent to Google Calendar for\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:451\n+#: includes\u002Fconstant-data.php:462\n msgid \"\"\n \"If you select \\\"All bookings\\\", any booking made from this website will be \"\n \"sent to the selected calendar. If you select \\\"Unassigned bookings\\\", only \"\n@@ -11584,11 +12365,11 @@\n \"for that service or existing ones are unavailable.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:452\n+#: includes\u002Fconstant-data.php:463\n msgid \"Additional Calendars to Receive Copies of your Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:452\n+#: includes\u002Fconstant-data.php:463\n msgid \"\"\n \"You can add calendars of other people (e.g. co-workers) to send a copy of \"\n \"each booking as read-only (they will have new bookings and updates as events \"\n@@ -11599,28 +12380,28 @@\n \"format). You can add multiple calendars\u002Femails separated by comma. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:453\n+#: includes\u002Fconstant-data.php:464\n msgid \"\"\n \"Background color of Google Calendar events in Schedules. Text color will be \"\n \"automatically adjusted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:454\n+#: includes\u002Fconstant-data.php:465\n msgid \"Google Calendar Button Settings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:454\n+#: includes\u002Fconstant-data.php:465\n msgid \"\"\n \"Whether to let client access his Google Calendar account using Google \"\n \"Calendar button. Button is inserted in List of Bookings shortcode and user \"\n \"page\u002Ftab if applicable.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:455\n+#: includes\u002Fconstant-data.php:466\n msgid \"Event Description for Clients\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:455\n+#: includes\u002Fconstant-data.php:466\n #, php-format\n msgid \"\"\n \"Same as \\\"Event Summary for Client\\\" setting. For the above two fields, \"\n@@ -11628,45 +12409,45 @@\n \"GCal, these placeholders will be replaced by their real values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:456\n+#: includes\u002Fconstant-data.php:467\n msgid \"To get your Google Client ID follow instructions\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:457\n+#: includes\u002Fconstant-data.php:468\n msgid \"Client Secret\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:457\n+#: includes\u002Fconstant-data.php:468\n msgid \"To get your Google Client Secret follow instructions\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:458\n+#: includes\u002Fconstant-data.php:469\n msgid \"Event Summary for Clients\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:458\n+#: includes\u002Fconstant-data.php:469\n msgid \"\"\n \"Clients are not allowed to enter their event summary and description \"\n \"settings. The values you enter here will be used as their Event summary and \"\n \"description templates.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:459\n+#: includes\u002Fconstant-data.php:470\n msgid \"Enable Google Meet\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:459\n+#: includes\u002Fconstant-data.php:470\n msgid \"\"\n \"Whether a Google Meet will be created for each GCal event where provider and \"\n \"client are participants. You can use GOOGLE_MEET placeholder to add video \"\n \"conference link to the emails.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:460 includes\u002Fconstant-data.php:463\n+#: includes\u002Fconstant-data.php:471 includes\u002Fconstant-data.php:474\n msgid \"Event Description\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:460\n+#: includes\u002Fconstant-data.php:471\n #, php-format\n msgid \"\"\n \"Each booking exported to GCal creates a calendar \\\"event\\\". This template \"\n@@ -11676,11 +12457,11 @@\n \"values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:461\n+#: includes\u002Fconstant-data.php:472\n msgid \"Google Calendar Location\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:461\n+#: includes\u002Fconstant-data.php:472\n msgid \"\"\n \"Enter the address or text that will be used as location field in Google \"\n \"Calendar. If you are using Locations addon and entered a location address \"\n@@ -11688,7 +12469,7 @@\n \"address field empty, then your website description is sent.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:462\n+#: includes\u002Fconstant-data.php:473\n msgid \"\"\n \"Selects method of communication of WP BASE with GCal for locations. WP BASE \"\n \"&rarr; GCal setting sends\u002Fexports bookings to your selected Google calendar, \"\n@@ -11701,7 +12482,7 @@\n \"too.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:463\n+#: includes\u002Fconstant-data.php:474\n #, php-format\n msgid \"\"\n \"Each booking exported to GCal creates a calendar \\\"event\\\". This template \"\n@@ -11711,31 +12492,31 @@\n \"replaced by their real values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:464 includes\u002Fconstant-data.php:471\n+#: includes\u002Fconstant-data.php:475 includes\u002Fconstant-data.php:482\n msgid \"Event Summary (Name)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:464\n+#: includes\u002Fconstant-data.php:475\n msgid \"\"\n \"This template defines name of the event (also known as event summary) for \"\n \"the location.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:465\n+#: includes\u002Fconstant-data.php:476\n msgid \"User Roles Allowed for GCal Integration and Additional Calendars\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:465\n+#: includes\u002Fconstant-data.php:476\n msgid \"\"\n \"If above permission settings are set as \\\"Only allowed user roles\\\", then \"\n \"you can select those role(s) here. Multiple selections are allowed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:466\n+#: includes\u002Fconstant-data.php:477\n msgid \"Enable Push Notifications\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:466\n+#: includes\u002Fconstant-data.php:477\n #, php-format\n msgid \"\"\n \"Enabling Push Notifications allows any change in Google Calendar events to \"\n@@ -11743,15 +12524,15 @@\n \"must verify your domain in Google Admin console to use this feature. %s\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:466\n+#: includes\u002Fconstant-data.php:477\n msgid \"Click for help\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:467\n+#: includes\u002Fconstant-data.php:478\n msgid \"Calendar to be used\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:467\n+#: includes\u002Fconstant-data.php:478\n msgid \"\"\n \"Select the Google calendar in which your bookings will be saved. Your email \"\n \"address represents your primary calendar. If you added a calendar after \"\n@@ -11759,11 +12540,11 @@\n \"make it visible here.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:468\n+#: includes\u002Fconstant-data.php:479\n msgid \"Service Name (Internal only)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:468\n+#: includes\u002Fconstant-data.php:479\n msgid \"\"\n \"Imported Google Calendar events are saved as WP BASE bookings, so that they \"\n \"can reserve working hours of the providers. A virtual, uneditable, \"\n@@ -11771,11 +12552,11 @@\n \"change the name of this service.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:469\n+#: includes\u002Fconstant-data.php:480\n msgid \"Statuses to Delete Events\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:469\n+#: includes\u002Fconstant-data.php:480\n msgid \"\"\n \"Booking statuses for which corresponding event will be deleted from Google \"\n \"Calendar. If you want to keep even your past events, uncheck all. Note: If \"\n@@ -11784,11 +12565,11 @@\n \"new provider.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:470\n+#: includes\u002Fconstant-data.php:481\n msgid \"Statuses to Create Events\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:470\n+#: includes\u002Fconstant-data.php:481\n msgid \"\"\n \"Booking statuses for which a corresponding event will be created\u002Fupdated in \"\n \"Google Calendar. If none selected, no events will be created. Tip: If you \"\n@@ -11796,17 +12577,17 @@\n \"uncheck all.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:471\n+#: includes\u002Fconstant-data.php:482\n msgid \"\"\n \"Each booking exported to GCal creates a calendar \\\"event\\\". This template \"\n \"defines name of the event (also known as event summary).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:472\n+#: includes\u002Fconstant-data.php:483\n msgid \"Use wpautop in Event Descriptions\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:472\n+#: includes\u002Fconstant-data.php:483\n msgid \"\"\n \"WordPress uses autoP function to format content easily and quickly by \"\n \"replacing double line breaks with paragraphs. In event descriptions, such a \"\n@@ -11814,11 +12595,11 @@\n \"event descriptions.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:473\n+#: includes\u002Fconstant-data.php:484\n msgid \"Event Description for Providers\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:473\n+#: includes\u002Fconstant-data.php:484\n #, php-format\n msgid \"\"\n \"Same as \\\"Event Summary for Providers\\\" setting. For the above two fields, \"\n@@ -11826,51 +12607,51 @@\n \"GCal, these placeholders will be replaced by their real values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:474\n+#: includes\u002Fconstant-data.php:485\n msgid \"Event Summary for Providers\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:474\n+#: includes\u002Fconstant-data.php:485\n msgid \"\"\n \"If you do not allow providers to enter their event summary and description, \"\n \"values you enter here will be used as their Event summary and description \"\n \"templates.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:475\n+#: includes\u002Fconstant-data.php:486\n msgid \"Google Maps API key\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:475\n+#: includes\u002Fconstant-data.php:486\n #, php-format\n msgid \"Enter API key. API key can be taken from your %s account\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:476\n+#: includes\u002Fconstant-data.php:487\n msgid \"Map Height (px)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:476\n+#: includes\u002Fconstant-data.php:487\n msgid \"Map height in pixels\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:477\n+#: includes\u002Fconstant-data.php:488\n msgid \"Map Width (px)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:477\n+#: includes\u002Fconstant-data.php:488\n msgid \"Map width in pixels\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:478\n+#: includes\u002Fconstant-data.php:489\n msgid \"Higher means closer (1-21)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:479 includes\u002Fconstant-data.php:627\n+#: includes\u002Fconstant-data.php:490 includes\u002Fconstant-data.php:645\n msgid \"Google Client ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:479\n+#: includes\u002Fconstant-data.php:490\n #, php-format\n msgid \"\"\n \"Enter your Google Client ID here (OAuth 2.0 client ID). If you don't have \"\n@@ -11878,38 +12659,38 @@\n \"target=\\\"_blank\\\">here\u003C\u002Fa>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:481\n+#: includes\u002Fconstant-data.php:492\n msgid \"Hide Busy Status\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:481\n+#: includes\u002Fconstant-data.php:492\n msgid \"\"\n \"If you select \\\"Yes\\\", busy slots will be shown as unavailable instead of \"\n \"having a separate color.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:482\n+#: includes\u002Fconstant-data.php:493\n msgid \"Effect When Closing Dialogs\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:482\n+#: includes\u002Fconstant-data.php:493\n #, php-format\n msgid \"jQuery UI %s when closing a jQuery UI dialog.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:482 includes\u002Fconstant-data.php:614\n+#: includes\u002Fconstant-data.php:493 includes\u002Fconstant-data.php:632\n msgid \"effect\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:484\n+#: includes\u002Fconstant-data.php:495\n msgid \"Booking #APP_ID on DATE_TIME for SERVICE\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:484\n+#: includes\u002Fconstant-data.php:495\n msgid \"Item Description\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:484\n+#: includes\u002Fconstant-data.php:495\n #, php-format\n msgid \"\"\n \"Description of item shown in your account. \u003Cabbr title=\\\"%s\\\">Email \"\n@@ -11917,153 +12698,148 @@\n \"DATE_TIME\u003C\u002Fcode>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:485\n+#: includes\u002Fconstant-data.php:496\n msgid \"Payment for SERVICE\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:485\n+#: includes\u002Fconstant-data.php:496\n msgid \"Item Name\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:485\n+#: includes\u002Fconstant-data.php:496\n #, php-format\n msgid \"\"\n \"Name of item shown in your account. \u003Cabbr title=\\\"%s\\\">Email placeholders\u003C\u002F\"\n \"abbr> can be used. For example, \u003Ccode>Payment for SERVICE\u003C\u002Fcode>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:486\n+#: includes\u002Fconstant-data.php:497\n msgid \"JaaS Api  ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:486 includes\u002Fconstant-data.php:487\n+#: includes\u002Fconstant-data.php:497 includes\u002Fconstant-data.php:498\n #, php-format\n msgid \"Only required for JaaS. Get this value from your %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:486 includes\u002Fconstant-data.php:487\n-#: includes\u002Fconstant-data.php:488 includes\u002Fconstant-data.php:489\n+#: includes\u002Fconstant-data.php:497 includes\u002Fconstant-data.php:498\n+#: includes\u002Fconstant-data.php:499 includes\u002Fconstant-data.php:500\n msgid \"JaaS account\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:487\n+#: includes\u002Fconstant-data.php:498\n msgid \"JaaS Api Key\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:488\n+#: includes\u002Fconstant-data.php:499\n msgid \"JaaS Public Key\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:488 includes\u002Fconstant-data.php:489\n+#: includes\u002Fconstant-data.php:499 includes\u002Fconstant-data.php:500\n #, php-format\n msgid \"\"\n \"Only required for JaaS. Get this value from your %s. Copy the contents of \"\n \"the file and paste here\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:489\n+#: includes\u002Fconstant-data.php:500\n msgid \"JaaS Private Key\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:490\n+#: includes\u002Fconstant-data.php:501\n msgid \"Enable Jitsi\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:490\n+#: includes\u002Fconstant-data.php:501\n msgid \"Enables integration with Jitsi Online Meetings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:491\n+#: includes\u002Fconstant-data.php:502\n msgid \"Jitsi Domain\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:491\n+#: includes\u002Fconstant-data.php:502\n msgid \"Domain of Jitsi server. This is only required for custom service type.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:492\n+#: includes\u002Fconstant-data.php:503\n msgid \"Jitsi Privileged Users\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:492\n+#: includes\u002Fconstant-data.php:503\n msgid \"Users having these WordPress roles can live stream and record videos.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:493\n+#: includes\u002Fconstant-data.php:504\n msgid \"Jitsi Service Type\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:493\n+#: includes\u002Fconstant-data.php:504\n msgid \"\"\n \"Jitsi Meet is the open source meeting service, but limited to 5 minutes for \"\n \"demo purposes. JaaS is a commercial service with Jitsi as a Service \"\n \"(formerly \\\"8X8\\\"). \\\"Custom\\\" is for installing Jitsi on your own server.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:494\n+#: includes\u002Fconstant-data.php:505\n msgid \"Jitsi Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:495\n+#: includes\u002Fconstant-data.php:506\n msgid \"Late Booking Permission Time (mins)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:495\n+#: includes\u002Fconstant-data.php:506\n msgid \"\"\n \"If late booking is allowed, defines number of minutes that booking can still \"\n \"be made counting from start of the time slot. Leaving empty means booking is \"\n \"accepted until the last minute before time slot ends.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:496\n+#: includes\u002Fconstant-data.php:507\n msgid \"Post Type for Location Connected Posts\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:496\n+#: includes\u002Fconstant-data.php:507\n msgid \"\"\n \"Post type that will be used to relate location to a post. Default: \\\"page\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:497\n+#: includes\u002Fconstant-data.php:508\n msgid \"Separate Working Hour Schedule for every Location\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:497\n+#: includes\u002Fconstant-data.php:508\n msgid \"\"\n \"Not to be used in Multi Store Marketplace. If you set this setting as Yes, \"\n \"every service and provider can have separate working hour schedule for each \"\n \"location.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:498\n+#: includes\u002Fconstant-data.php:509\n msgid \"Login Required\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:498\n+#: includes\u002Fconstant-data.php:509\n msgid \"Whether you require the client to login the website to make a booking.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:499\n+#: includes\u002Fconstant-data.php:510\n msgid \"Log Sent email Records\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:499\n+#: includes\u002Fconstant-data.php:510\n #, php-format\n msgid \"\"\n \"Whether to log confirmation and reminder email records in the %s (Not the \"\n \"content of the emails).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:499 includes\u002Fconstant-data.php:500\n-#: includes\u002Fconstant-data.php:501 includes\u002Fconstant-data.php:572\n-msgid \"log file\"\n-msgstr \"\"\n-\n-#: includes\u002Fconstant-data.php:500\n+#: includes\u002Fconstant-data.php:511\n msgid \"Log Setting Changes\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:500\n+#: includes\u002Fconstant-data.php:511\n #, php-format\n msgid \"\"\n \"Whether any change in global settings will be recorded in the %s. If \"\n@@ -12071,54 +12847,54 @@\n \"values are also saved.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:501\n+#: includes\u002Fconstant-data.php:512\n msgid \"Log Sent SMS Records\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:501\n+#: includes\u002Fconstant-data.php:512\n #, php-format\n msgid \"\"\n \"Whether to log confirmation and reminder SMS records in the %s (Not the \"\n \"content of the messages).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:502\n+#: includes\u002Fconstant-data.php:513\n msgid \"Location\u002FService\u002FProvider Hierarchy\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:502\n+#: includes\u002Fconstant-data.php:513\n msgid \"\"\n \"Determines the hierarchy among Location, Service and Provider when Locations \"\n \"and\u002For Service Providers are active. Less priority variables will follow \"\n \"higher ones.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:503\n+#: includes\u002Fconstant-data.php:514\n msgid \"Privileged User Roles\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:503\n+#: includes\u002Fconstant-data.php:514\n msgid \"\"\n \"Selected role(s) will not be asked advance payment, depending on the above \"\n \"selection.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:504\n+#: includes\u002Fconstant-data.php:515\n msgid \"Discount for Privileged User Roles (%)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:504\n+#: includes\u002Fconstant-data.php:515\n msgid \"\"\n \"Selected role(s) will get a discount given in percent, e.g. 20. Leave this \"\n \"field empty for no discount. Tip: If you enter 100, service will be free of \"\n \"charge for these members.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:505\n+#: includes\u002Fconstant-data.php:516\n msgid \"Don't ask Prepayment from Privileged User Roles\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:505\n+#: includes\u002Fconstant-data.php:516\n msgid \"\"\n \"Below selected role(s) will not be asked for a down payment. This does not \"\n \"necessarily mean that service will be free of charge for them. Such member \"\n@@ -12128,39 +12904,39 @@\n \"Pricing addon.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:506\n+#: includes\u002Fconstant-data.php:517\n msgid \"\"\n \"Time selection precision for all settings. For example, if you have a 15 \"\n \"minute service or if you work from 9:15, select 15. \\\"Auto\\\" setting will \"\n \"try to find the optimum value. Default: 1 hour\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:507\n+#: includes\u002Fconstant-data.php:518\n msgid \"Use Effect for Select Element\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:507\n+#: includes\u002Fconstant-data.php:518\n #, php-format\n msgid \"\"\n \"Experimental. Use with caution. For location, service, provider and other \"\n \"front end HTML select elements, use %s effect\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:507\n+#: includes\u002Fconstant-data.php:518\n msgid \"blind\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:508\n+#: includes\u002Fconstant-data.php:519\n msgid \"\"\n \"Select post types Multi Language will be used for. Setting metabox will be \"\n \"added to post edit pages of the selected post types.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:509\n+#: includes\u002Fconstant-data.php:520\n msgid \"Multitasking Business Rep.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:509\n+#: includes\u002Fconstant-data.php:520\n msgid \"\"\n \"Only effective when no providers are defined. By default (Setting \\\"No\\\") \"\n \"business representative can serve only one service at a time. If you select \"\n@@ -12169,22 +12945,22 @@\n \"itself.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:510\n+#: includes\u002Fconstant-data.php:521\n msgid \"Affiliate Plugin Integration\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:510\n+#: includes\u002Fconstant-data.php:521\n msgid \"\"\n \"When user becomes vendor, they also become affiliate of the selected \"\n \"marketing program and receive commissions over other vendors' bookings \"\n \"according to the rules of the affiliate program.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:511\n+#: includes\u002Fconstant-data.php:522\n msgid \"Allow Vendors Without Services\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:511\n+#: includes\u002Fconstant-data.php:522\n msgid \"\"\n \"By default (setting \\\"No\\\"), vendors must have at least one service. \"\n \"Therefore even if they did not select any service, the first service is \"\n@@ -12192,11 +12968,11 @@\n \"any assigned service during registration and editing their accounts.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:512\n+#: includes\u002Fconstant-data.php:523\n msgid \"Vendor can Set Own Price\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:512\n+#: includes\u002Fconstant-data.php:523\n msgid \"\"\n \"If selected as \\\"No\\\" (default), booking price is determined by service + \"\n \"provider prices entered by admin. If \\\"Yes, fixed per booking\\\" is selected, \"\n@@ -12207,11 +12983,11 @@\n \"provider price for each service on their profile settings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:515\n+#: includes\u002Fconstant-data.php:526\n msgid \"Auto Approve Vendor\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:515\n+#: includes\u002Fconstant-data.php:526\n msgid \"\"\n \"If selected as \\\"No\\\" admin needs to approve vendor submissions manually. If \"\n \"selected as \\\"Yes\\\" approval is automatic. If selected as \\\"Auto\\\" and bio \"\n@@ -12219,21 +12995,21 @@\n \"should be approved manually.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:516\n+#: includes\u002Fconstant-data.php:527\n msgid \"Add Become a Vendor Button\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:516\n+#: includes\u002Fconstant-data.php:527\n msgid \"\"\n \"Whether to add a button on Profile Page of logged in user by which they can \"\n \"apply to become a vendor.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:517\n+#: includes\u002Fconstant-data.php:528\n msgid \"Use Better Messages on\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:517\n+#: includes\u002Fconstant-data.php:528\n #, php-format\n msgid \"\"\n \"Private Messaging of %s can be used on 1) bio, service description, waiting \"\n@@ -12243,26 +13019,26 @@\n \"in Better Messages settings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:517\n+#: includes\u002Fconstant-data.php:528\n msgid \"Better Messages plugin\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:518\n+#: includes\u002Fconstant-data.php:529\n msgid \"Allow Vendor Edit Own Bio Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:518\n+#: includes\u002Fconstant-data.php:529\n msgid \"\"\n \"Whether vendor can edit bio page. If selected as \\\"No\\\", bio page will use \"\n \"Default Page Title and Content settings. If selected as \\\"Yes\\\" vendor can \"\n \"edit Title and Content in their account page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:519 includes\u002Fconstant-data.php:544\n+#: includes\u002Fconstant-data.php:530 includes\u002Fconstant-data.php:558\n msgid \"Default Page Content\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:519\n+#: includes\u002Fconstant-data.php:530\n msgid \"\"\n \"Content of the bio page, typically including \u003Ccode>[app_book]\u003C\u002Fcode> \"\n \"shortcode in order to let clients book their services. Only vendor and their \"\n@@ -12271,194 +13047,222 @@\n \"account page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:520 includes\u002Fconstant-data.php:545\n+#: includes\u002Fconstant-data.php:531 includes\u002Fconstant-data.php:559\n msgid \"Default Page Title\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:520\n+#: includes\u002Fconstant-data.php:531\n msgid \"\"\n \"Title of the bio page. If vendors are allowed to edit their bio page, they \"\n \"can overwrite this value by the setting in their account page. Placeholder \"\n \"VENDOR_NAME will be replaced by the display name of the vendor. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:521\n+#: includes\u002Fconstant-data.php:532\n msgid \"Post Type of the Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:521\n+#: includes\u002Fconstant-data.php:532\n msgid \"\"\n \"Bio page post type. Multiple selection is allowed. Clear all if you do not \"\n \"want to relate bio page to any CPT, e.g. a Multi Store Marketplace or a pure \"\n \"provider free website.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:522\n+#: includes\u002Fconstant-data.php:533\n msgid \"Auto Approval Time (days)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:522\n+#: includes\u002Fconstant-data.php:533\n msgid \"\"\n \"After this time, even if client did not approve, completed bookings will be \"\n \"automatically approved. Leaving empty means 3 days.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:523\n+#: includes\u002Fconstant-data.php:534\n msgid \"Commission to Apply upon Multiple Role Match\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:523\n+#: includes\u002Fconstant-data.php:534\n msgid \"\"\n \"If vendor has several matching roles, commission rate to be applied can be \"\n \"selected among minimum or maximum of the commissions of matching roles.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:524\n+#: includes\u002Fconstant-data.php:535\n msgid \"Number of Commission Rates\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:524\n+#: includes\u002Fconstant-data.php:535\n msgid \"\"\n \"You can define commission percentage based on WordPress user role of the \"\n \"vendor, e.g. to give better commission to certain membership levels. If you \"\n \"will use them, select number of commission rates.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:525\n+#: includes\u002Fconstant-data.php:536\n+msgid \"Commission Payment Method\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:536\n+msgid \"\"\n+\"Commissions can be paid to vendors automatically when booking is completed \"\n+\"or booking is approved by the client or manually at any desired time. Note: \"\n+\"When automatic payment is selected, you can also pay manually on Commissions \"\n+\"page.\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:537\n msgid \"Commission Rate (%)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:525\n+#: includes\u002Fconstant-data.php:537\n msgid \"Percentage of the booking revenue that will be received by the vendor.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:526\n+#: includes\u002Fconstant-data.php:538\n+msgid \"Enable Approved Status\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:538\n+msgid \"Whether to use Approved status.\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:539\n+msgid \"Enable Stripe Connect\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:539\n+msgid \"Whether to use Stripe Connect to pay commissions to vendors.\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:540\n msgid \"Fees Covered By\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:526\n+#: includes\u002Fconstant-data.php:540\n msgid \"\"\n \"Who will cover the transaction fees. If covered by vendor, fees are deducted \"\n \"from client payment and vendor's earning will be lower.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:527\n+#: includes\u002Fconstant-data.php:541\n msgid \"Give Commission for Own Sales\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:527\n+#: includes\u002Fconstant-data.php:541\n msgid \"Whether to give commission if client is the vendor themselves.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:528\n+#: includes\u002Fconstant-data.php:542\n msgid \"Hide Non-Vendor Booking Calendars\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:528\n+#: includes\u002Fconstant-data.php:542\n msgid \"\"\n \"Whether to hide booking calendars on pages of non-vendors. Setting this to \"\n \"\\\"Yes\\\" will mean: For the above bio page CPTs, booking is only allowed on \"\n \"approved vendor bio pages.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:529\n+#: includes\u002Fconstant-data.php:543\n msgid \"Services Provided Description\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:529\n+#: includes\u002Fconstant-data.php:543\n msgid \"\"\n \"Description of Services Provided field that will be displayed on Add Listing \"\n \"form.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:530\n+#: includes\u002Fconstant-data.php:544\n msgid \"Listing Integration\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:530\n+#: includes\u002Fconstant-data.php:544\n msgid \"\"\n \"Select the listing\u002Fdirectory theme or plugin that you want to integrate from \"\n \"the list.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:531\n+#: includes\u002Fconstant-data.php:545\n msgid \"Terms (Category) of the Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:531\n+#: includes\u002Fconstant-data.php:545\n msgid \"\"\n \"Enter slug or ID of the term\u002Fcategory that vendor pages will belong to. \"\n \"Multiple categories separated with comma is possible.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:532\n+#: includes\u002Fconstant-data.php:546\n msgid \"Geodirectory Category\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:532\n+#: includes\u002Fconstant-data.php:546\n msgid \"\"\n \"Select category of the GeoDirectory listing post when listing is added \"\n \"manually.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:533\n+#: includes\u002Fconstant-data.php:547\n msgid \"GD Pricing Manager Packages\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:533\n+#: includes\u002Fconstant-data.php:547\n msgid \"\"\n \"Geodirectory Pricing Manager Package IDs that will create vendors. Enter \"\n \"multiple package IDs separated with comma. Clear to create vendors for all \"\n \"packages.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:534\n+#: includes\u002Fconstant-data.php:548\n msgid \"Listeo Category\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:534\n+#: includes\u002Fconstant-data.php:548\n msgid \"\"\n \"Select category of the Listeo listing post when listing is added manually.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:535\n+#: includes\u002Fconstant-data.php:549\n msgid \"Create Post for Pending Vendors\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:535\n+#: includes\u002Fconstant-data.php:549\n msgid \"\"\n \"If selected \\\"Yes\\\", pending submissions will create new listing post. \"\n \"Otherwise, post will be automatically created only when admin approves \"\n \"application.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:536\n+#: includes\u002Fconstant-data.php:550\n #, php-format\n msgid \"Minimum Price (%s)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:536\n+#: includes\u002Fconstant-data.php:550\n msgid \"\"\n \"If vendor can set own price, minimum amount they can enter. Leave empty for \"\n \"no limitation.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:537\n+#: includes\u002Fconstant-data.php:551\n #, php-format\n msgid \"Maximum Price (%s)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:537\n+#: includes\u002Fconstant-data.php:551\n msgid \"\"\n \"If vendor can set own price, maximum amount they can enter. Leave empty for \"\n \"no limitation.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:538\n+#: includes\u002Fconstant-data.php:552\n msgid \"Membership Plugin Integration\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:538\n+#: includes\u002Fconstant-data.php:552\n msgid \"\"\n \"Select the membership plugin you want to integrate from the list. Vendors \"\n \"assigned by a membership plugin gets status of approved or pending depending \"\n@@ -12466,11 +13270,11 @@\n \"Provided setting in the Registration setting box.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:539\n+#: includes\u002Fconstant-data.php:553\n msgid \"Multi Store\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:539\n+#: includes\u002Fconstant-data.php:553\n msgid \"\"\n \"In Multi Store Marketplace a location is allocated to each vendor as \"\n \"\u003Cb>store\u003C\u002Fb> and vendor is assigned as \u003Cb>store manager\u003C\u002Fb>. In their \"\n@@ -12479,21 +13283,21 @@\n \"code> shortcode.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:540\n+#: includes\u002Fconstant-data.php:554\n msgid \"Remove Availability Filter\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:540\n+#: includes\u002Fconstant-data.php:554\n msgid \"\"\n \"Availability filter which is connected to the search function of the listing \"\n \"can be removed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:541\n+#: includes\u002Fconstant-data.php:555\n msgid \"Remove Provider When Vendor Removed\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:541\n+#: includes\u002Fconstant-data.php:555\n msgid \"\"\n \"All vendors are service providers. However not all providers are necessarily \"\n \"vendors. This setting determines whether user will also be unassigned being \"\n@@ -12502,70 +13306,62 @@\n \"removed if they have no past or future bookings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:542\n+#: includes\u002Fconstant-data.php:556\n msgid \"Secondary Commission Usage Condition\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:542\n+#: includes\u002Fconstant-data.php:556\n msgid \"\"\n \"Condition that makes secondary commission rate to be used instead of the \"\n \"main rate.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:543\n+#: includes\u002Fconstant-data.php:557\n msgid \"Secondary Commission Rate (%)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:543\n+#: includes\u002Fconstant-data.php:557\n msgid \"Rate that will be used when usage condition is met.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:544\n+#: includes\u002Fconstant-data.php:558\n msgid \"\"\n \"Content of the store page, typically including \u003Ccode>[app_book]\u003C\u002Fcode> \"\n \"shortcode in order to let clients book their services. Only services of this \"\n \"store are selectable from this shortcode.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:545\n+#: includes\u002Fconstant-data.php:559\n msgid \"\"\n \"Title of the store page. Placeholders COMPANY_NAME and VENDOR_NAME will be \"\n \"replaced by vendor data.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:546\n+#: includes\u002Fconstant-data.php:560\n msgid \"Post Type for Store Pages\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:546\n+#: includes\u002Fconstant-data.php:560\n msgid \"\"\n \"Post type that will be used for stores. A CPT is recommended, e.g. Place\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:547\n-msgid \"Enable Approved Status\"\n-msgstr \"\"\n-\n-#: includes\u002Fconstant-data.php:547\n-msgid \"Whether to use Approved status.\"\n-msgstr \"\"\n-\n-#: includes\u002Fconstant-data.php:548\n+#: includes\u002Fconstant-data.php:561\n msgid \"Account Page (only for UM)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:548\n+#: includes\u002Fconstant-data.php:561\n msgid \"\"\n \"UM Account Page may have a Bookings item to redirect to WP BASE Account \"\n \"page. The page which includes \u003Ccode>[app_account]\u003C\u002Fcode> should be selected \"\n \"here.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:549\n+#: includes\u002Fconstant-data.php:562\n msgid \"Use WooCommerce Cart for Payment\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:549\n+#: includes\u002Fconstant-data.php:562\n #, php-format\n msgid \"\"\n \"When you enable WooCommerce cart, payments will be handled with WooCommerce \"\n@@ -12574,26 +13370,26 @@\n \"activated. Also see %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:549\n+#: includes\u002Fconstant-data.php:562\n msgid \"WooCommerce settings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:550\n+#: includes\u002Fconstant-data.php:563\n msgid \"User Profile Plugin Integration\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:550\n+#: includes\u002Fconstant-data.php:563\n msgid \"\"\n \"Select the user profile plugin you want to integrate from the list. With \"\n \"this integration, vendor can be directly booked from profile page of the \"\n \"user profile plugin.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:551\n+#: includes\u002Fconstant-data.php:564\n msgid \"Allow Setting Services as Provider Free\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:551\n+#: includes\u002Fconstant-data.php:564\n msgid \"\"\n \"Provider Free services are independent from service provider availability, \"\n \"e.g. events, room bookings, rentals. If you set this setting as \\\"Yes\\\", \"\n@@ -12602,19 +13398,19 @@\n \"taking part.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:552\n+#: includes\u002Fconstant-data.php:565\n msgid \"Default Value for Provider Free Services\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:552\n+#: includes\u002Fconstant-data.php:565\n msgid \"When no selection is made, default dependence value of the service.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:554\n+#: includes\u002Fconstant-data.php:567\n msgid \"Payment Required\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:554\n+#: includes\u002Fconstant-data.php:567\n #, php-format\n msgid \"\"\n \"If selected as Yes, payment is collected with one of the payment methods in \"\n@@ -12622,30 +13418,30 @@\n \"booking. Also see %s setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:554 includes\u002Ffunctions.internal.php:2307\n+#: includes\u002Fconstant-data.php:567 includes\u002Ffunctions.internal.php:2307\n msgid \"Payment Methods\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:554\n+#: includes\u002Fconstant-data.php:567\n msgid \"Auto confirm\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:556\n+#: includes\u002Fconstant-data.php:569\n msgid \"Prepayment (%)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:556\n+#: includes\u002Fconstant-data.php:569\n msgid \"\"\n \"You may want to ask a certain percentage of the service price as prepayment \"\n \"(Also called down payment or advance payment - not to be confused with \"\n \"security deposit), e.g. 25. Leave this field empty to ask for full price.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:557\n+#: includes\u002Fconstant-data.php:570\n msgid \"Template for Person Types\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:557\n+#: includes\u002Fconstant-data.php:570\n msgid \"\"\n \"Valid only when Group Bookings addon is activated. Template that will be \"\n \"used for Group Bookings person types in the confirmation form, dialogs and \"\n@@ -12655,67 +13451,67 @@\n \"which will be using this template as a block. Default: \\\"LABEL · PRICE: PAX\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:558\n+#: includes\u002Fconstant-data.php:571\n msgid \"Default Dialing Code\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:558\n+#: includes\u002Fconstant-data.php:571\n msgid \"\"\n \"This code will be prepended to the phone numbers starting with 0 and without \"\n \"+ or 00.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:560\n+#: includes\u002Fconstant-data.php:573\n msgid \"Remember Client's Latest Service Selection\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:560\n+#: includes\u002Fconstant-data.php:573\n msgid \"\"\n \"Whether automatically select last booked service by the client, if possible.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:561\n+#: includes\u002Fconstant-data.php:574\n msgid \"Remember Client's Latest Provider Selection\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:561\n+#: includes\u002Fconstant-data.php:574\n msgid \"\"\n \"Whether automatically select last booked provider by the client, if possible.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:562\n+#: includes\u002Fconstant-data.php:575\n msgid \"Random Provider\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:562\n+#: includes\u002Fconstant-data.php:575\n msgid \"Whether pick providers randomly\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:563\n+#: includes\u002Fconstant-data.php:576\n msgid \"Number of Booking Records per Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:563\n+#: includes\u002Fconstant-data.php:576\n msgid \"\"\n \"Number of records to be displayed on admin bookings and transactions pages, \"\n \"i.e. number of bookings and transactions per page. If left empty: 20.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:564\n+#: includes\u002Fconstant-data.php:577\n msgid \"Number of Business Records per Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:564\n+#: includes\u002Fconstant-data.php:577\n msgid \"\"\n \"Number of records to be displayed on business settings page, i.e. number of \"\n \"locations, services and service providers per page. If left empty: 10.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:565\n+#: includes\u002Fconstant-data.php:578\n msgid \"Return (Thank You) Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:565\n+#: includes\u002Fconstant-data.php:578\n msgid \"\"\n \"ID or url of the post\u002Fpage that client will be returned after successful \"\n \"submission or payment of the booking. If left empty, page will be refreshed \"\n@@ -12726,11 +13522,11 @@\n \"they made booking from.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:567\n+#: includes\u002Fconstant-data.php:580\n msgid \"Reminder email Gap between Child Bookings (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:567\n+#: includes\u002Fconstant-data.php:580\n #, php-format\n msgid \"\"\n \"Time within which reminder emails for %s will not be sent, preventing email \"\n@@ -12739,15 +13535,15 @@\n \"or 12 hours later.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:567\n+#: includes\u002Fconstant-data.php:580\n msgid \"child bookings\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:568\n+#: includes\u002Fconstant-data.php:581\n msgid \"Reminder email Sending Time for the Client (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:568\n+#: includes\u002Fconstant-data.php:581\n msgid \"\"\n \"Defines how many hours  before the appointment start time reminder email \"\n \"will be sent to the client. Multiple reminders are possible. To do so, enter \"\n@@ -12757,11 +13553,11 @@\n \"not be sent, 24-hours-before reminder will be.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:569\n+#: includes\u002Fconstant-data.php:582\n msgid \"Reminder SMS Sending Time for the Client (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:569\n+#: includes\u002Fconstant-data.php:582\n msgid \"\"\n \"Defines how many hours  before the appointment will take place reminder SMS \"\n \"will be sent to the client. Multiple reminders are possible. To do so, enter \"\n@@ -12771,42 +13567,80 @@\n \"not be sent, 24-hours-before reminder will be.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:570\n+#: includes\u002Fconstant-data.php:583\n msgid \"Reminder SMS Sending Time for the Provider (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:570\n+#: includes\u002Fconstant-data.php:583\n msgid \"\"\n \"Same as Reminder SMS Sending Time for the Client, but defines the time for \"\n \"service provider.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:571\n+#: includes\u002Fconstant-data.php:584\n msgid \"Reminder email Sending Time for the Provider (hours)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:571\n+#: includes\u002Fconstant-data.php:584\n msgid \"\"\n \"Same as Reminder email Sending Time for the Client, but defines the time for \"\n \"service provider.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:572\n+#: includes\u002Fconstant-data.php:585\n msgid \"Reverse Log\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:572\n+#: includes\u002Fconstant-data.php:585\n #, php-format\n msgid \"\"\n \"Select \\\"Yes\\\" to reverse the display order of records in %s, from newest to \"\n \"oldest.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:573\n+#: includes\u002Fconstant-data.php:586\n+msgid \"Allowed Booking Statuses (Client)\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:586\n+msgid \"\"\n+\"Clients can select only these booking statuses to be displayed in their \"\n+\"schedules\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:587\n+msgid \"Allowed Booking Statuses (Provider)\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:587\n+msgid \"\"\n+\"Service providers can select only these booking statuses to be displayed in \"\n+\"their schedules\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:588\n+msgid \"Clear Schedules Cache\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:588\n+msgid \"\"\n+\"To Clear the cache, set \\\"Yes\\\". After save and cache cleared, this setting \"\n+\"will automatically turn back to \\\"No\\\".\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:589\n+msgid \"Clients can Use Schedules\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:589\n+msgid \"Whether allow clients use Schedules\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:590\n msgid \"Template for Schedule (Admin)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:573\n+#: includes\u002Fconstant-data.php:590\n #, php-format\n msgid \"\"\n \"Bookings in %1$s will be displayed to admin according to this template. \"\n@@ -12814,194 +13648,205 @@\n \"real values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:573 includes\u002Fconstant-data.php:574\n+#: includes\u002Fconstant-data.php:590 includes\u002Fconstant-data.php:591\n+#: includes\u002Fconstant-data.php:592\n msgid \"Booking Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:574\n-msgid \"Template for Schedule (Provider)\"\n+#: includes\u002Fconstant-data.php:591\n+msgid \"Template for Schedule (Client)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:574\n+#: includes\u002Fconstant-data.php:591\n #, php-format\n msgid \"\"\n-\"Bookings in %1$s will be displayed to service provider according to this \"\n-\"template. \u003Cabbr title=\\\"%2$s\\\">Booking placeholders\u003C\u002Fabbr> will be replaced \"\n-\"by their real values.\"\n+\"Bookings in %1$s will be displayed to the client according to this template. \"\n+\"\u003Cabbr title=\\\"%2$s\\\">Booking placeholders\u003C\u002Fabbr> will be replaced by their \"\n+\"real values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:575\n-msgid \"Allowed Booking Statuses (Provider)\"\n+#: includes\u002Fconstant-data.php:592\n+msgid \"Template for Schedule (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:575\n+#: includes\u002Fconstant-data.php:592\n+#, php-format\n msgid \"\"\n-\"Service providers can select only these booking statuses to be displayed in \"\n-\"their schedules\"\n+\"Bookings in %1$s will be displayed to service provider according to this \"\n+\"template. \u003Cabbr title=\\\"%2$s\\\">Booking placeholders\u003C\u002Fabbr> will be replaced \"\n+\"by their real values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:576\n+#: includes\u002Fconstant-data.php:593\n msgid \"Show Profile Images\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:576\n+#: includes\u002Fconstant-data.php:593\n msgid \"Whether show service provider profile images in the Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:577\n+#: includes\u002Fconstant-data.php:594\n msgid \"Send Approved email\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:577\n+#: includes\u002Fconstant-data.php:594\n msgid \"\"\n \"Whether to send an email after vendor application automatically approved. \"\n \"Note: Admin can always send manual email on Vendors page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:578\n+#: includes\u002Fconstant-data.php:595\n msgid \"Send Cancellation email (Single)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:578\n+#: includes\u002Fconstant-data.php:595\n msgid \"\"\n \"Whether to send an email after cancellation of the booking. Note: Admin and \"\n \"service provider will also get a copy as separate emails.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:579\n+#: includes\u002Fconstant-data.php:596\n msgid \"Send Cancellation email (Bulk)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:579\n+#: includes\u002Fconstant-data.php:596\n msgid \"\"\n \"Same as above but whether to send emails to clients when \\\"bulk\\\" status \"\n \"change of removed is applied to bookings on admin side.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:580\n+#: includes\u002Fconstant-data.php:597\n msgid \"Send Cancellation SMS\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:580 includes\u002Fconstant-data.php:581\n-#: includes\u002Fconstant-data.php:583\n+#: includes\u002Fconstant-data.php:597 includes\u002Fconstant-data.php:598\n+#: includes\u002Fconstant-data.php:600\n msgid \"Whether to send an SMS after cancellation of the appointment.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:581\n+#: includes\u002Fconstant-data.php:598\n msgid \"Send Cancellation SMS (Admin)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:582\n+#: includes\u002Fconstant-data.php:599\n msgid \"Send Cancellation SMS (Bulk)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:582\n+#: includes\u002Fconstant-data.php:599\n msgid \"\"\n \"Same as above but whether to send SMS messages to clients when \\\"bulk\\\" \"\n \"status change of removed is applied to bookings on admin side.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:583\n+#: includes\u002Fconstant-data.php:600\n msgid \"Send Cancellation SMS (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:584\n+#: includes\u002Fconstant-data.php:601\n+msgid \"Send Commission Paid email\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:601\n+msgid \"Whether to send an email after a commission is paid to the vendor.\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:602\n msgid \"Send Completed email (Single)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:584\n+#: includes\u002Fconstant-data.php:602\n msgid \"Whether to send an email after an appointment has been completed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:585\n+#: includes\u002Fconstant-data.php:603\n msgid \"Send Completed email (Bulk)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:585\n+#: includes\u002Fconstant-data.php:603\n msgid \"\"\n \"Send email to the client(s) when \\\"bulk\\\" status change of completed is \"\n \"applied to bookings on admin side. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:586\n+#: includes\u002Fconstant-data.php:604\n msgid \"Send Completed SMS\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:586 includes\u002Fconstant-data.php:587\n-#: includes\u002Fconstant-data.php:589\n+#: includes\u002Fconstant-data.php:604 includes\u002Fconstant-data.php:605\n+#: includes\u002Fconstant-data.php:607\n msgid \"Whether to send an SMS after an appointment has been completed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:587\n+#: includes\u002Fconstant-data.php:605\n msgid \"Send Completed SMS (Admin)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:588\n+#: includes\u002Fconstant-data.php:606\n msgid \"Send Completed SMS (Bulk)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:588\n+#: includes\u002Fconstant-data.php:606\n msgid \"\"\n \"Send SMS to the client(s) when \\\"bulk\\\" status change of completed is \"\n \"applied to bookings on admin side. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:589\n+#: includes\u002Fconstant-data.php:607\n msgid \"Send Completed SMS (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:590\n-msgid \"Send Confirmation email (Single)\"\n+#: includes\u002Fconstant-data.php:608\n+msgid \"Send Confirmation Email (Single)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:590\n+#: includes\u002Fconstant-data.php:608\n msgid \"\"\n \"Whether to send an email after confirmation of the booking. Note: Admin and \"\n \"service provider will also get a copy as separate emails.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:591\n-msgid \"Send Confirmation email (Bulk)\"\n+#: includes\u002Fconstant-data.php:609\n+msgid \"Send Confirmation Email (Bulk)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:591\n+#: includes\u002Fconstant-data.php:609\n msgid \"\"\n-\"Send Confirmation email to the client(s) when \\\"bulk\\\" status change of \"\n+\"Send Confirmation Email to the client(s) when \\\"bulk\\\" status change of \"\n \"confirmed or paid is applied to bookings on admin side. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:592\n+#: includes\u002Fconstant-data.php:610\n msgid \"Send Confirmation SMS\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:592 includes\u002Fconstant-data.php:593\n-#: includes\u002Fconstant-data.php:595\n+#: includes\u002Fconstant-data.php:610 includes\u002Fconstant-data.php:611\n+#: includes\u002Fconstant-data.php:613\n msgid \"Whether to send an SMS after confirmation of the booking.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:593\n+#: includes\u002Fconstant-data.php:611\n msgid \"Send Confirmation SMS (Admin)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:594\n+#: includes\u002Fconstant-data.php:612\n msgid \"Send Confirmation SMS (Bulk)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:594\n+#: includes\u002Fconstant-data.php:612\n msgid \"\"\n \"Send Confirmation SMS to the client(s) when \\\"bulk\\\" status change of \"\n \"confirmed or paid is applied to bookings on admin side. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:595\n+#: includes\u002Fconstant-data.php:613\n msgid \"Send Confirmation SMS (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:596\n+#: includes\u002Fconstant-data.php:614\n msgid \"Send Due Payment Reminder email to the Client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:596\n+#: includes\u002Fconstant-data.php:614\n msgid \"\"\n \"Whether to send due payment reminder email(s) to the clients in intervals \"\n \"selected below. This email is only sent for the selected booking statuses \"\n@@ -13009,19 +13854,19 @@\n \"negative and its absolute value is greater than the amount selected below.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:597\n+#: includes\u002Fconstant-data.php:615\n msgid \"Send Follow-up email to the Client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:597\n+#: includes\u002Fconstant-data.php:615\n msgid \"Whether to send follow-up email(s) to the client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:598\n-msgid \"Send Pending email to Admin\"\n+#: includes\u002Fconstant-data.php:616\n+msgid \"Send Pending Email to Admin\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:598\n+#: includes\u002Fconstant-data.php:616\n msgid \"\"\n \"You may want to receive a notification email whenever a new appointment is \"\n \"made from front end in pending status. This email is only sent if your \"\n@@ -13030,124 +13875,124 @@\n \"Confirm Own Appointments\\\" is set as Yes.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:599\n-msgid \"Send Pending email to the Client (Single)\"\n+#: includes\u002Fconstant-data.php:617\n+msgid \"Send Pending Email to the Client (Single)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:599\n+#: includes\u002Fconstant-data.php:617\n msgid \"\"\n \"Whether to send an email after a booking has been made in pending status.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:600\n-msgid \"Send Pending email to the Client (Bulk)\"\n+#: includes\u002Fconstant-data.php:618\n+msgid \"Send Pending Email to the Client (Bulk)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:600\n+#: includes\u002Fconstant-data.php:618\n msgid \"\"\n \"Send email to the client(s) when \\\"bulk\\\" status change of pending is \"\n \"applied to bookings on admin side. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:601\n+#: includes\u002Fconstant-data.php:619\n msgid \"Send Pending SMS\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:601 includes\u002Fconstant-data.php:602\n-#: includes\u002Fconstant-data.php:604\n+#: includes\u002Fconstant-data.php:619 includes\u002Fconstant-data.php:620\n+#: includes\u002Fconstant-data.php:622\n msgid \"Whether to send an SMS after a booking has been made in pending status.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:602\n+#: includes\u002Fconstant-data.php:620\n msgid \"Send Pending SMS (Admin)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:603\n+#: includes\u002Fconstant-data.php:621\n msgid \"Send Pending SMS (Bulk)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:603\n+#: includes\u002Fconstant-data.php:621\n msgid \"\"\n \"Send SMS to the client(s) when \\\"bulk\\\" status change of pending is applied \"\n \"to bookings on admin side. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:604\n+#: includes\u002Fconstant-data.php:622\n msgid \"Send Pending SMS (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:605\n+#: includes\u002Fconstant-data.php:623\n msgid \"Send Reminder email to the Client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:605\n+#: includes\u002Fconstant-data.php:623\n msgid \"Whether to send reminder email(s) to the client before the appointment.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:606\n+#: includes\u002Fconstant-data.php:624\n msgid \"Send Reminder SMS to the Client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:606\n+#: includes\u002Fconstant-data.php:624\n msgid \"\"\n \"Whether to send reminder SMS message(s) to the client before the appointment.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:607\n+#: includes\u002Fconstant-data.php:625\n msgid \"Send Reminder SMS to the Provider\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:607\n+#: includes\u002Fconstant-data.php:625\n msgid \"\"\n \"Whether to send reminder SMS message(s) to the service provider before the \"\n \"appointment.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:608\n+#: includes\u002Fconstant-data.php:626\n msgid \"Send Reminder email to the Provider\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:608\n+#: includes\u002Fconstant-data.php:626\n msgid \"\"\n \"Whether to send reminder email(s) to the service provider before the \"\n \"appointment.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:609\n+#: includes\u002Fconstant-data.php:627\n msgid \"Send Submission email to the Client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:609\n+#: includes\u002Fconstant-data.php:627\n msgid \"\"\n \"Whether to send an email to the client informing that their submission has \"\n \"been received and added to the waiting list.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:610\n+#: includes\u002Fconstant-data.php:628\n msgid \"Send Notification email to the Client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:610\n+#: includes\u002Fconstant-data.php:628\n msgid \"\"\n \"Whether to send an email to the client informing that there is an opening in \"\n \"the submissions for waiting list.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:611\n+#: includes\u002Fconstant-data.php:629\n msgid \"Send Vendor Pending email\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:611\n+#: includes\u002Fconstant-data.php:629\n msgid \"\"\n \"Whether to send an email after vendor application is accepted in pending \"\n \"status. Note: Admin can always send manual email on Vendors page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:613\n+#: includes\u002Fconstant-data.php:631\n msgid \"Service Working Hours Cover Service Providers\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:613\n+#: includes\u002Fconstant-data.php:631\n msgid \"\"\n \"Only valid if Service Providers addon is active. If set as \\\"Yes\\\", when \"\n \"working hours of a service provider are changed, working hours of related \"\n@@ -13158,51 +14003,51 @@\n \"setting changes.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:614\n+#: includes\u002Fconstant-data.php:632\n msgid \"Effect When Opening Dialogs\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:614\n+#: includes\u002Fconstant-data.php:632\n #, php-format\n msgid \"jQuery UI %s when opening a jQuery UI dialog.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:615\n+#: includes\u002Fconstant-data.php:633\n msgid \"Show Legend\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:615\n+#: includes\u002Fconstant-data.php:633\n msgid \"\"\n \"Whether to display description fields above the pagination (next\u002Fprevious \"\n \"dates buttons) area. Only effective when calendar design is \\\"legacy\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:616\n+#: includes\u002Fconstant-data.php:634\n msgid \"Website Languages\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:616\n+#: includes\u002Fconstant-data.php:634\n msgid \"\"\n \"Select all languages except the default language that will be used in the \"\n \"website. In paranthesis WordPress locale codes are given.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:617\n+#: includes\u002Fconstant-data.php:635\n msgid \"Skip Dummy\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:617\n+#: includes\u002Fconstant-data.php:635\n msgid \"\"\n \"Whether dummy providers will be skipped at front end provider selection \"\n \"menu. This selection does not prevent dummy to be assigned to a service \"\n \"automatically.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:618\n+#: includes\u002Fconstant-data.php:636\n msgid \"Use Slider with Featured Images (non mobile)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:618\n+#: includes\u002Fconstant-data.php:636\n #, php-format\n msgid \"\"\n \"When user connected with a non mobile device, whether to use slider to \"\n@@ -13210,115 +14055,115 @@\n \"be used. Note: To set service slider image and description, use %s page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:619\n+#: includes\u002Fconstant-data.php:637\n msgid \"Use Slider with Featured Images (mobile)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:619\n+#: includes\u002Fconstant-data.php:637\n msgid \"\"\n \"When user connected with a mobile device, whether to use slider to select \"\n \"services (or providers) from. Otherwise same as the above setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:620\n+#: includes\u002Fconstant-data.php:638\n msgid \"Number of Slides (non mobile)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:620\n+#: includes\u002Fconstant-data.php:638\n msgid \"Number of slides to be displayed for non mobile devices.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:621\n+#: includes\u002Fconstant-data.php:639\n msgid \"Number of Slides (mobile)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:621\n+#: includes\u002Fconstant-data.php:639\n msgid \"\"\n \"Number of slides to be displayed for mobile devices. If slider container \"\n \"width is less than 600px, also this setting will be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:622\n+#: includes\u002Fconstant-data.php:640\n msgid \"Slider margin (px)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:622\n+#: includes\u002Fconstant-data.php:640\n msgid \"Margin between slides in pixel.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:623\n+#: includes\u002Fconstant-data.php:641\n msgid \"Fixed slide width (px)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:623\n+#: includes\u002Fconstant-data.php:641\n msgid \"\"\n \"Fixed slide width in pixel. This is only effective if number of slides is \"\n \"set az zero. Otherwise width will be automatically adjusted based on width \"\n \"of the wrapper.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:624\n+#: includes\u002Fconstant-data.php:642\n msgid \"SMS Service\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:624\n+#: includes\u002Fconstant-data.php:642\n msgid \"Service company that will be used to send SMS\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:625\n+#: includes\u002Fconstant-data.php:643\n msgid \"Facebook API ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:626\n+#: includes\u002Fconstant-data.php:644\n msgid \"Facebook API Secret\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:626\n+#: includes\u002Fconstant-data.php:644\n #, php-format\n msgid \"Facebook API Secret. Receive your credentials %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:628\n+#: includes\u002Fconstant-data.php:646\n msgid \"Google Client Secret\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:628\n+#: includes\u002Fconstant-data.php:646\n #, php-format\n msgid \"Google Client Secret. Receive your credentials %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:629\n+#: includes\u002Fconstant-data.php:647\n msgid \"Login Platforms\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:629\n+#: includes\u002Fconstant-data.php:647\n msgid \"\"\n \"Select Social Media platforms that will be provided to your clients at \"\n \"checkout for registering and logging in to your website.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:630\n+#: includes\u002Fconstant-data.php:648\n msgid \"WordPress Client ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:630\n+#: includes\u002Fconstant-data.php:648\n msgid \"wordpress.com Client ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:631\n+#: includes\u002Fconstant-data.php:649\n msgid \"WordPress Client Secret\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:631\n+#: includes\u002Fconstant-data.php:649\n #, php-format\n msgid \"wordpress.com Client Secret. Receive your credentials %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:632\n+#: includes\u002Fconstant-data.php:650\n msgid \"Minimum Time to Pass for New Appointment (secs)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:632\n+#: includes\u002Fconstant-data.php:650\n msgid \"\"\n \"You can limit appointment application frequency to prevent spammers who can \"\n \"block your appointments. This is only applied to pending appointments. Enter \"\n@@ -13326,19 +14171,19 @@\n \"client before a payment or manual confirmation, enter a huge number here.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:633\n+#: includes\u002Fconstant-data.php:651\n msgid \"Spinner\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:633\n+#: includes\u002Fconstant-data.php:651\n msgid \"Spinner displayed in the info panel during ajax calls.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:634\n+#: includes\u002Fconstant-data.php:652\n msgid \"Strict Check for Manual Entries\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:634\n+#: includes\u002Fconstant-data.php:652\n msgid \"\"\n \"If this option is selected as Yes, manual booking entries will be checked \"\n \"against availability of the service and service provider and they will be \"\n@@ -13346,17 +14191,17 @@\n \"unrestricted access over manual booking entries.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:635\n+#: includes\u002Fconstant-data.php:653\n msgid \"Tax (%)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:635\n+#: includes\u002Fconstant-data.php:653\n msgid \"\"\n \"Tax, e.g. VAT, in percent. WP BASE assumes that your prices already include \"\n \"tax. This setting will only be used to calculate \\\"price without tax\\\" value.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:636\n+#: includes\u002Fconstant-data.php:654\n #, php-format\n msgid \"\"\n \"This is the text beside terms and conditions checkbox. On the front end, \"\n@@ -13365,15 +14210,15 @@\n \"\u003Ccode>I accept %s.\u003C\u002Fcode>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:636\n+#: includes\u002Fconstant-data.php:654\n msgid \"Terms and Conditions\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:637\n+#: includes\u002Fconstant-data.php:655\n msgid \"Timezone Info Note\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:637\n+#: includes\u002Fconstant-data.php:655\n msgid \"\"\n \"Note informing about effective user timezone which will be displayed under \"\n \"calendars and list of bookings table. TZ_SHORT and TZ_LONG placeholders will \"\n@@ -13381,37 +14226,37 @@\n \"respectively. Default: \\\"All times are set to TZ_SHORT (TZ_LONG)\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:638\n+#: includes\u002Fconstant-data.php:656\n msgid \"Use Trial Services\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:638\n+#: includes\u002Fconstant-data.php:656\n msgid \"\"\n \"Whether to use trial services which are services offered to users in limited \"\n \"numbers. They can be free or having special prices.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:639\n+#: includes\u002Fconstant-data.php:657\n msgid \"Make Free\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:639\n+#: includes\u002Fconstant-data.php:657\n msgid \"Make all trial services free of charge regardless of any other setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:640\n+#: includes\u002Fconstant-data.php:658\n msgid \"Number of Usage\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:640\n+#: includes\u002Fconstant-data.php:658\n msgid \"In total how many times a client can use trial service sessions.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:641\n+#: includes\u002Fconstant-data.php:659\n msgid \"Once from each Provider\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:641\n+#: includes\u002Fconstant-data.php:659\n msgid \"\"\n \"Whether trial services can be taken only once from any provider. If number \"\n \"of usage is greater than one, setting this as Yes will not allow to choose \"\n@@ -13419,17 +14264,17 @@\n \"(upcoming) bookings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:642\n+#: includes\u002Fconstant-data.php:660\n msgid \"\"\n \"Services which will be offered to the client only limited number of times. \"\n \"They can be free or have a special price.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:643 includes\u002Fcustom-texts.php:1292\n+#: includes\u002Fconstant-data.php:661 includes\u002Fcustom-texts.php:1298\n msgid \"Theme\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:643\n+#: includes\u002Fconstant-data.php:661\n #, php-format\n msgid \"\"\n \"jQuery UI theme that will be used in calendar, table, datepicker, dialog, \"\n@@ -13438,15 +14283,15 @@\n \"there).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:644\n+#: includes\u002Fconstant-data.php:662\n msgid \"Thousands Separator\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:645\n+#: includes\u002Fconstant-data.php:663\n msgid \"Use Time Base in Time Slot Calculus\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:645\n+#: includes\u002Fconstant-data.php:663\n #, php-format\n msgid \"\"\n \"By default (setting as \\\"No\\\") time slots will be generated based on service \"\n@@ -13456,11 +14301,11 @@\n \"have time slots of 8:00, 8:30, 9:00, 9:30, etc in this case.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:646\n+#: includes\u002Fconstant-data.php:664\n msgid \"Twilio Account ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:646\n+#: includes\u002Fconstant-data.php:664\n #, php-format\n msgid \"\"\n \"Get your Account ID\u002FAuth Token pair after you login %s and enter here. If \"\n@@ -13468,24 +14313,24 @@\n \"simulated. You can check the results in log file or in your Twilio account.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:646 includes\u002Fconstant-data.php:647\n+#: includes\u002Fconstant-data.php:664 includes\u002Fconstant-data.php:665\n msgid \"your Twilio account\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:647\n+#: includes\u002Fconstant-data.php:665\n msgid \"Twilio Auth Token\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:647\n+#: includes\u002Fconstant-data.php:665\n #, php-format\n msgid \"Get token from %s\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:648\n+#: includes\u002Fconstant-data.php:666\n msgid \"Twilio \\\"From\\\" phone\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:648\n+#: includes\u002Fconstant-data.php:666\n #, php-format\n msgid \"\"\n \"A Twilio phone number (in E.164 format) or alphanumeric sender ID enabled \"\n@@ -13493,34 +14338,34 @@\n \"credentials, use this number: +15005550006\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:648\n+#: includes\u002Fconstant-data.php:666\n msgid \"click here\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:649\n+#: includes\u002Fconstant-data.php:667\n msgid \"Twitter Consumer Key\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:649\n+#: includes\u002Fconstant-data.php:667\n #, php-format\n msgid \"\"\n \"Enter your Twitter App ID number here. If you don't have a Twitter App yet, \"\n \"you will need to create one \u003Ca href=\\\"%s\\\" target=\\\"_blank\\\">here\u003C\u002Fa>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:650\n+#: includes\u002Fconstant-data.php:668\n msgid \"Twitter Consumer Secret\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:650\n+#: includes\u002Fconstant-data.php:668\n msgid \"Enter your Twitter App ID Secret here.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:651\n+#: includes\u002Fconstant-data.php:669\n msgid \"Globally Enable Shopping Cart\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:651\n+#: includes\u002Fconstant-data.php:669\n msgid \"\"\n \"Enables shopping cart selection for every applicable shortcode. Tip: If you \"\n \"want to use cart on a particular page, and not on other booking pages, you \"\n@@ -13528,50 +14373,50 @@\n \"use_cart=\\\"yes\\\"]\u003C\u002Fcode> on the desired page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:652\n+#: includes\u002Fconstant-data.php:670\n msgid \"Use Events\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:652\n+#: includes\u002Fconstant-data.php:670\n msgid \"\"\n \"Whether use Event Bookings in the store in addition to Service Bookings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:653\n+#: includes\u002Fconstant-data.php:671\n msgid \"Use Flex Steps\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:653\n+#: includes\u002Fconstant-data.php:671\n msgid \"\"\n \"With Flex Steps, clients make bookings by following steps. These steps are \"\n \"dynamically added and removed depending on the selected service.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:654\n+#: includes\u002Fconstant-data.php:672\n msgid \"Use HTML in emails\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:654\n+#: includes\u002Fconstant-data.php:672\n msgid \"\"\n \"Selecting this as Yes will allow HTML codes, e.g. images, colors, fonts, \"\n \"etc. to be used in emails.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:655\n+#: includes\u002Fconstant-data.php:673\n msgid \"Use Sidebar Widgets\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:655\n+#: includes\u002Fconstant-data.php:673\n msgid \"\"\n \"Enable WP BASE legacy sidebar widgets. In order to configure them, you will \"\n \"also need to install \\\"Classic Widgets\\\" plugin.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:656\n+#: includes\u002Fconstant-data.php:674\n msgid \"Add Coundown to Cart & Checkout\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:656\n+#: includes\u002Fconstant-data.php:674\n #, php-format\n msgid \"\"\n \"Advanced Features addon is required. Setting this as Yes will automatically \"\n@@ -13581,19 +14426,19 @@\n \"go to cart page on our %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:656\n+#: includes\u002Fconstant-data.php:674\n msgid \"Maximum Allowed Checkout Time\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:656 includes\u002Fconstant-data.php:661\n+#: includes\u002Fconstant-data.php:674 includes\u002Fconstant-data.php:679\n msgid \"WooCommerce demo website\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:657\n+#: includes\u002Fconstant-data.php:675\n msgid \"Add WP BASE Payments to WC Orders\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:657\n+#: includes\u002Fconstant-data.php:675\n msgid \"\"\n \"Add WP BASE Payments related to a WooCommerce order consisting of WP BASE \"\n \"bookings. This may be required if you ask only deposit during order process \"\n@@ -13601,93 +14446,93 @@\n \"Manual Payments addon.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:658\n+#: includes\u002Fconstant-data.php:676\n msgid \"Enable Deposits\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:658\n+#: includes\u002Fconstant-data.php:676\n msgid \"\"\n \"Enabling this option will result in showing deposited amount and due amount \"\n \"at order records. This is intended to be used with WC Deposits extension.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:659\n+#: includes\u002Fconstant-data.php:677\n msgid \"Create Order with Manual Booking\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:659\n+#: includes\u002Fconstant-data.php:677\n msgid \"\"\n \"Automatically create WooCommerce order when a booking is added on admin \"\n \"side. Customer will also be created. If there is not enough user data \"\n \"available, current admin user will be set as customer.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:660\n+#: includes\u002Fconstant-data.php:678\n msgid \"Description Tab Heading\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:660\n+#: includes\u002Fconstant-data.php:678\n msgid \"\"\n \"Renames description tab for booking product pages. Leave empty if you do not \"\n \"want a change.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:661\n+#: includes\u002Fconstant-data.php:679\n #, php-format\n msgid \"\"\n \"Enables integration with WooCommerce e-commerce plugin. That is, WP BASE \"\n \"services can be sold as WooCommerce products. Also see %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:662\n+#: includes\u002Fconstant-data.php:680\n msgid \"Modify Coupons\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:662\n+#: includes\u002Fconstant-data.php:680\n msgid \"\"\n \"Enabling this option will allow adding validity rules to WooCommerce regular \"\n \"coupons. Coupons can be set to be only valid for certain services, booking \"\n \"dates and times.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:663\n+#: includes\u002Fconstant-data.php:681\n msgid \"Details in emails and Order Form\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:663\n+#: includes\u002Fconstant-data.php:681\n #, php-format\n msgid \"\"\n \"Details of booking that will be added below product name in emails and order \"\n \"form. All \u003Cabbr title=\\\"%s\\\">booking placeholders\u003C\u002Fabbr> can be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:664\n+#: includes\u002Fconstant-data.php:682\n msgid \"Name in Cart\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:664\n+#: includes\u002Fconstant-data.php:682\n #, php-format\n msgid \"\"\n \"Defines how the selected booking will be displayed in the cart. All \u003Cabbr \"\n \"title=\\\"%s\\\">booking placeholders\u003C\u002Fabbr> can be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:665\n+#: includes\u002Fconstant-data.php:683\n msgid \"Name in emails and Order Form\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:665\n+#: includes\u002Fconstant-data.php:683\n #, php-format\n msgid \"\"\n \"Defines how the selected booking will be displayed in emails and order form. \"\n \"All \u003Cabbr title=\\\"%s\\\">booking placeholders\u003C\u002Fabbr> can be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:666 includes\u002Ffreeons\u002Fedd.php:1621\n+#: includes\u002Fconstant-data.php:684 includes\u002Ffreeons\u002Fedd.php:1621\n msgid \"Price Display\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:666\n+#: includes\u002Fconstant-data.php:684\n msgid \"\"\n \"Controls how WooCommerce displays prices for products related to services. \"\n \"\\\"Hide\\\" hides all the time. \\\"Show\\\" always shows the WooCommerce price. \"\n@@ -13698,7 +14543,7 @@\n \"to the product by \\\"Connected Post\\\" setting of the service.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:667\n+#: includes\u002Fconstant-data.php:685\n #, php-format\n msgid \"\"\n \"Start time of Working Hour setting tables and some views in Schedules. This \"\n@@ -13706,11 +14551,11 @@\n \"it also limits available time slots when %s is set as \\\"Fixed\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:667 includes\u002Fconstant-data.php:668\n+#: includes\u002Fconstant-data.php:685 includes\u002Fconstant-data.php:686\n msgid \"Click to access Display Settings page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:668\n+#: includes\u002Fconstant-data.php:686\n #, php-format\n msgid \"\"\n \"End time of Working Hour setting tables and some views in Schedules. This \"\n@@ -13718,11 +14563,11 @@\n \"it also limits available time slots when %s is set as \\\"Fixed\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:669\n+#: includes\u002Fconstant-data.php:687\n msgid \"Zoom Agenda\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:669\n+#: includes\u002Fconstant-data.php:687\n #, php-format\n msgid \"\"\n \"Meeting agenda (description). For Zoom Topic and Zoom Agenda fields, \u003Cabbr \"\n@@ -13730,78 +14575,78 @@\n \"creation, these placeholders will be replaced by their real values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:670\n+#: includes\u002Fconstant-data.php:688\n msgid \"Enables integration with Zoom Online Meetings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:671\n+#: includes\u002Fconstant-data.php:689\n msgid \"\"\n \"A Zoom account may have one or more users. Select which user will be used as \"\n \"host. List of users to be selected as host is updated after API connection \"\n \"is performed with Test Connection button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:672\n+#: includes\u002Fconstant-data.php:690\n msgid \"Join Before Host\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:672\n+#: includes\u002Fconstant-data.php:690\n msgid \"Whether Zoom meeting participants allowed to join before host joins.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:673\n+#: includes\u002Fconstant-data.php:691\n msgid \"Oauth Account ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:673\n+#: includes\u002Fconstant-data.php:691\n msgid \"Enter Zoom Server-to-Server OAuth Account ID.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:674\n+#: includes\u002Fconstant-data.php:692\n msgid \"Oauth Client ID\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:674\n+#: includes\u002Fconstant-data.php:692\n msgid \"Enter Zoom Server-to-Server OAuth Client ID.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:675\n+#: includes\u002Fconstant-data.php:693\n msgid \"Oauth Client Secret\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:675\n+#: includes\u002Fconstant-data.php:693\n msgid \"Enter Zoom Server-to-Server OAuth Client Secret.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:676\n+#: includes\u002Fconstant-data.php:694\n msgid \"Basis for creation of Zoom meeting password.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:677\n+#: includes\u002Fconstant-data.php:695\n msgid \"Statuses to Delete Meeting\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:677\n+#: includes\u002Fconstant-data.php:695\n msgid \"\"\n \"Select booking statuses for which the corresponding meeting will be deleted \"\n \"in Zoom. If none selected, no meeting will be deleted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:678\n+#: includes\u002Fconstant-data.php:696\n msgid \"Statuses to Create Meeting\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:678\n+#: includes\u002Fconstant-data.php:696\n msgid \"\"\n \"Select booking statuses for which the corresponding meeting will be created\u002F\"\n \"updated in Zoom. Cannot be empty.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:679\n+#: includes\u002Fconstant-data.php:697\n msgid \"Zoom Topic\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:679\n+#: includes\u002Fconstant-data.php:697\n #, php-format\n msgid \"\"\n \"Meeting topic (title). For Zoom Topic and Zoom Agenda fields, \u003Cabbr \"\n@@ -13809,155 +14654,179 @@\n \"creation, these placeholders will be replaced by their real values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:680\n+#: includes\u002Fconstant-data.php:698\n msgid \"Provider Zoom Account Type\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:680\n+#: includes\u002Fconstant-data.php:698\n msgid \"\"\n \"Select \\\"None\\\" if you don't have providers. If selected as \\\"Individual\\\" \"\n \"each provider should create own Zoom account and enter their credentials in \"\n \"their profiles.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:684\n+#: includes\u002Fconstant-data.php:702\n msgid \"Your application to SITE_NAME approved!\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:684\n-msgid \"Approved email Subject\"\n+#: includes\u002Fconstant-data.php:702\n+msgid \"Approved Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:684\n+#: includes\u002Fconstant-data.php:702\n msgid \"\"\n \"Subject of email which is sent to the applicant informing that their \"\n \"application has been approved\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:685\n-msgid \"Approved email Message\"\n+#: includes\u002Fconstant-data.php:703\n+msgid \"Approved Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:685\n+#: includes\u002Fconstant-data.php:703\n msgid \"\"\n \"CLIENT, HOME_URL, SITE_NAME, PAGE_LINK (Link to vendor bio page) \"\n \"placeholders can be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:686\n+#: includes\u002Fconstant-data.php:704\n msgid \"Cancellation email Attachment Text\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:686 includes\u002Fconstant-data.php:693\n-#: includes\u002Fconstant-data.php:700 includes\u002Fconstant-data.php:711\n-#: includes\u002Fconstant-data.php:715 includes\u002Fconstant-data.php:719\n-#: includes\u002Fconstant-data.php:728\n+#: includes\u002Fconstant-data.php:704 includes\u002Fconstant-data.php:713\n+#: includes\u002Fconstant-data.php:720 includes\u002Fconstant-data.php:731\n+#: includes\u002Fconstant-data.php:735 includes\u002Fconstant-data.php:739\n+#: includes\u002Fconstant-data.php:748\n msgid \"\"\n \"Contents of PDF file. HTML allowed and will be formatted with related css \"\n \"rules.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:687 includes\u002Fconstant-data.php:694\n-#: includes\u002Fconstant-data.php:701 includes\u002Fconstant-data.php:712\n-#: includes\u002Fconstant-data.php:716 includes\u002Fconstant-data.php:720\n-#: includes\u002Fconstant-data.php:729\n+#: includes\u002Fconstant-data.php:705 includes\u002Fconstant-data.php:714\n+#: includes\u002Fconstant-data.php:721 includes\u002Fconstant-data.php:732\n+#: includes\u002Fconstant-data.php:736 includes\u002Fconstant-data.php:740\n+#: includes\u002Fconstant-data.php:749\n msgid \"css Codes for Attachment pdf File\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:687 includes\u002Fconstant-data.php:694\n-#: includes\u002Fconstant-data.php:701 includes\u002Fconstant-data.php:712\n-#: includes\u002Fconstant-data.php:716 includes\u002Fconstant-data.php:720\n-#: includes\u002Fconstant-data.php:729\n+#: includes\u002Fconstant-data.php:705 includes\u002Fconstant-data.php:714\n+#: includes\u002Fconstant-data.php:721 includes\u002Fconstant-data.php:732\n+#: includes\u002Fconstant-data.php:736 includes\u002Fconstant-data.php:740\n+#: includes\u002Fconstant-data.php:749\n msgid \"\"\n \"Important: Only css for block elements (p, div, table, td, tr, etc) are \"\n \"allowed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:688\n-msgid \"Cancellation email Message\"\n+#: includes\u002Fconstant-data.php:706\n+msgid \"Cancellation Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:689\n+#: includes\u002Fconstant-data.php:707\n msgid \"Cancellation SMS Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:690\n+#: includes\u002Fconstant-data.php:708\n msgid \"Cancellation SMS Message (Admin)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:691\n+#: includes\u002Fconstant-data.php:709\n msgid \"Cancellation SMS Message (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:692\n+#: includes\u002Fconstant-data.php:710\n msgid \"Your appointment has been cancelled\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:692\n+#: includes\u002Fconstant-data.php:710\n msgid \"Cancellation Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:693\n+#: includes\u002Fconstant-data.php:711 includes\u002Ffunctions.internal.php:2887\n+msgid \"Good news! You received a payment from SITE_NAME\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:711\n+msgid \"Commission Paid Email Subject\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:711\n+msgid \"\"\n+\"Subject of email which informs vendor that a commission payment has been made\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:712\n+msgid \"Commission Paid Email Message\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:712\n+msgid \"\"\n+\"This email template is used when a payment is sent to vendor. VENDOR, \"\n+\"HOME_URL, SITE_NAME, PAGE_LINK (Link to vendor bio page), AMOUNT \"\n+\"placeholders can be used which will be replaced with their real values..\"\n+msgstr \"\"\n+\n+#: includes\u002Fconstant-data.php:713\n msgid \"Completed email Attachment Text\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:695\n-msgid \"Completed email Message\"\n+#: includes\u002Fconstant-data.php:715\n+msgid \"Completed Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:696\n+#: includes\u002Fconstant-data.php:716\n msgid \"Completed SMS Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:697\n+#: includes\u002Fconstant-data.php:717\n msgid \"Completed SMS Message (Admin)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:698\n+#: includes\u002Fconstant-data.php:718\n msgid \"Completed SMS Message (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:699\n+#: includes\u002Fconstant-data.php:719\n msgid \"Your appointment has been completed\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:699\n-msgid \"Completed email Subject\"\n+#: includes\u002Fconstant-data.php:719\n+msgid \"Completed Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:700\n+#: includes\u002Fconstant-data.php:720\n msgid \"Confirmation email Attachment Text\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:702\n-msgid \"Confirmation email Message\"\n+#: includes\u002Fconstant-data.php:722\n+msgid \"Confirmation Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:703\n+#: includes\u002Fconstant-data.php:723\n msgid \"Confirmation SMS Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:704\n+#: includes\u002Fconstant-data.php:724\n msgid \"Confirmation SMS Message (Admin)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:705\n+#: includes\u002Fconstant-data.php:725\n msgid \"Confirmation SMS Message (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:706\n+#: includes\u002Fconstant-data.php:726\n msgid \"Confirmation of your appointment\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:706\n+#: includes\u002Fconstant-data.php:726\n msgid \"Confirmation Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:707\n+#: includes\u002Fconstant-data.php:727\n msgid \"Confirmation Message Dialog Content\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:707\n+#: includes\u002Fconstant-data.php:727\n #, php-format\n msgid \"\"\n \"This will be displayed to the client in a dialog pop-up after confirmed or \"\n@@ -13966,91 +14835,91 @@\n \"(see appointment_received in Custom Texts).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:708\n+#: includes\u002Fconstant-data.php:728\n msgid \"Confirmation Message Dialog Title\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:708\n+#: includes\u002Fconstant-data.php:728\n msgid \"\"\n \"Title of the confirmation pop-up which will be displayed to the client after \"\n \"confirmed or paid bookings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:709\n+#: includes\u002Fconstant-data.php:729\n msgid \"Your application declined\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:709\n-msgid \"Declined email Subject\"\n+#: includes\u002Fconstant-data.php:729\n+msgid \"Declined Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:709\n+#: includes\u002Fconstant-data.php:729\n msgid \"\"\n \"Subject of email which is sent to the applicant informing that their \"\n \"application has been declined\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:710\n-msgid \"Declined email Message\"\n+#: includes\u002Fconstant-data.php:730\n+msgid \"Declined Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:710\n+#: includes\u002Fconstant-data.php:730\n msgid \"CLIENT, HOME_URL, SITE_NAME placeholders can be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:711\n+#: includes\u002Fconstant-data.php:731\n msgid \"Due Payment Reminder email Attachment Text\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:715\n+#: includes\u002Fconstant-data.php:735\n msgid \"Follow up email Attachment Text\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:717\n-msgid \"Follow-up email Message\"\n+#: includes\u002Fconstant-data.php:737\n+msgid \"Follow-up Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:718\n+#: includes\u002Fconstant-data.php:738\n msgid \"Warmest greetings from SITE_NAME\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:718\n-msgid \"Follow-up email Subject\"\n+#: includes\u002Fconstant-data.php:738\n+msgid \"Follow-up Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:719\n+#: includes\u002Fconstant-data.php:739\n msgid \"Pending email Attachment Text\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:721\n-msgid \"Pending email Message\"\n+#: includes\u002Fconstant-data.php:741\n+msgid \"Pending Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:722\n+#: includes\u002Fconstant-data.php:742\n msgid \"Pending SMS Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:723\n+#: includes\u002Fconstant-data.php:743\n msgid \"Pending SMS Message (Admin)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:724\n+#: includes\u002Fconstant-data.php:744\n msgid \"Pending SMS Message (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:725\n+#: includes\u002Fconstant-data.php:745\n msgid \"We have received your booking\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:725\n-msgid \"Pending email Subject\"\n+#: includes\u002Fconstant-data.php:745\n+msgid \"Pending Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:726\n+#: includes\u002Fconstant-data.php:746\n msgid \"Pending Message Dialog Content\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:726\n+#: includes\u002Fconstant-data.php:746\n #, php-format\n msgid \"\"\n \"This will be displayed to the client in a dialog pop-up after pending \"\n@@ -14059,200 +14928,200 @@\n \"appointment_received in Custom Texts).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:727\n+#: includes\u002Fconstant-data.php:747\n msgid \"Pending Message Dialog Title\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:727\n+#: includes\u002Fconstant-data.php:747\n msgid \"\"\n \"Title of the pending pop-up which will be displayed to the client when an \"\n \"appointment submission is received in pending status.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:728\n+#: includes\u002Fconstant-data.php:748\n msgid \"Reminder email Attachment Text\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:730\n-msgid \"Reminder email Message\"\n+#: includes\u002Fconstant-data.php:750\n+msgid \"Reminder Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:731\n+#: includes\u002Fconstant-data.php:751\n msgid \"Reminder SMS Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:732\n+#: includes\u002Fconstant-data.php:752\n msgid \"Reminder SMS Message (Provider)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:733\n+#: includes\u002Fconstant-data.php:753\n msgid \"Reminder for your appointment on DATE_TIME\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:733\n-msgid \"Reminder email Subject\"\n+#: includes\u002Fconstant-data.php:753\n+msgid \"Reminder Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:734\n+#: includes\u002Fconstant-data.php:754\n msgid \"Dialog Content\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:734\n+#: includes\u002Fconstant-data.php:754\n msgid \"\"\n \"Terms & Conditions text. SITE_NAME and HOME_URL placeholders will be \"\n \"replaced by their actual values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:735\n+#: includes\u002Fconstant-data.php:755\n msgid \"Dialog Title\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:735\n+#: includes\u002Fconstant-data.php:755\n msgid \"Title of the pop-up which displays terms and conditions.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:736\n+#: includes\u002Fconstant-data.php:756\n msgid \"Activation for SITE_NAME\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:736\n-msgid \"Validation email Subject\"\n+#: includes\u002Fconstant-data.php:756\n+msgid \"Validation Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:736\n+#: includes\u002Fconstant-data.php:756\n msgid \"\"\n \"Subject of email which is sent to vendor in order to validate their email \"\n \"address and activate their account\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:737\n-msgid \"Validation email Message\"\n+#: includes\u002Fconstant-data.php:757\n+msgid \"Validation Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:737\n+#: includes\u002Fconstant-data.php:757\n msgid \"\"\n \"Must include ACTIVATE placeholder which will be replaced with activation \"\n \"link. CLIENT, HOME_URL, SITE_NAME placeholders can also be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:738\n+#: includes\u002Fconstant-data.php:758\n msgid \"Your application to SITE_NAME has been received\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:738\n-msgid \"Vendor Pending email Subject\"\n+#: includes\u002Fconstant-data.php:758\n+msgid \"Vendor Pending Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:738\n+#: includes\u002Fconstant-data.php:758\n msgid \"\"\n \"Subject of email which informs vendor that application has been received and \"\n \"in pending status\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:739\n-msgid \"Vendor Pending email Message\"\n+#: includes\u002Fconstant-data.php:759\n+msgid \"Vendor Pending Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:739\n+#: includes\u002Fconstant-data.php:759\n msgid \"\"\n \"This email template is used when user application is in pending status. \"\n \"CLIENT, HOME_URL, SITE_NAME, PAGE_LINK (Link to vendor bio page) \"\n \"placeholders can be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:740\n-msgid \"Submission Received email Message\"\n+#: includes\u002Fconstant-data.php:760\n+msgid \"Submission Received Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:740\n+#: includes\u002Fconstant-data.php:760\n msgid \"\"\n \"Body of email which informs client that their submission has been added to \"\n \"the waiting list.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:741\n-msgid \"Notification email Message\"\n+#: includes\u002Fconstant-data.php:761\n+msgid \"Notification Email Message\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:741\n+#: includes\u002Fconstant-data.php:761\n msgid \"\"\n \"Body of email which informs client that there is an opening for the \"\n \"requested time slot. CLAIM should be included in the message so that client \"\n \"can confirm their request is still valid.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:742\n+#: includes\u002Fconstant-data.php:762\n msgid \"Urgent action required for SITE_NAME\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:742\n-msgid \"Notification email Subject\"\n+#: includes\u002Fconstant-data.php:762\n+msgid \"Notification Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:742\n+#: includes\u002Fconstant-data.php:762\n msgid \"\"\n \"Subject of email which informs client that there is an opening for the \"\n \"requested time slot.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:743\n+#: includes\u002Fconstant-data.php:763\n msgid \"Your Booking has been added to SITE_NAME waiting list\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:743\n-msgid \"Submission Received email Subject\"\n+#: includes\u002Fconstant-data.php:763\n+msgid \"Submission Received Email Subject\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:743\n+#: includes\u002Fconstant-data.php:763\n msgid \"\"\n \"Subject of email which informs client that their submission has been added \"\n \"to the waiting list.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:764\n+#: includes\u002Fconstant-data.php:784\n msgid \"Undefined\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:817\n+#: includes\u002Fconstant-data.php:837\n msgid \"\"\n \"With \u003Cb>Limited Availability\u003C\u002Fb> you can define at what dates your service \"\n \"will be publicly bookable, for example to use services as events or rental \"\n \"bookings like Airbnb.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:818\n+#: includes\u002Fconstant-data.php:838\n msgid \"\"\n \"To do so, just pick the desired dates on the provided calendar and click \"\n \"\u003Cb>Enable\u003C\u002Fb>.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:819\n+#: includes\u002Fconstant-data.php:839\n msgid \"\"\n \"You can select\u002Fdeselect multiple days by \\\"Days Picked per Click\\\" setting. \"\n \"If you set 7, for example, clicking a date will select that date plus 6 more \"\n \"consecutive days.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:820\n+#: includes\u002Fconstant-data.php:840\n msgid \"\"\n \"Limited Availability overrides holidays of the service, provided that it is \"\n \"enabled.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:821\n+#: includes\u002Fconstant-data.php:841\n msgid \"\"\n \"For services lasting one day and longer, Limited Availability overrides \"\n \"working hours of the service as well. It means, you don't need to set \"\n \"service working hours for such services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:832\n+#: includes\u002Fconstant-data.php:852\n msgid \"\"\n \"\u003Ci>Here you can optionally add locations. After you define locations, you \"\n \"can select services to be given in these locations in Services tab.\u003C\u002Fi>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:833\n+#: includes\u002Fconstant-data.php:853\n msgid \"\"\n \"Locations are to be used when you have different business rules depending on \"\n \"the selection where service is being given, e.g. extras offered, special \"\n@@ -14260,33 +15129,33 @@\n \"services selection menu, prefer \\\"Categories\\\" instead.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:834\n+#: includes\u002Fconstant-data.php:854\n msgid \"\"\n \"As you click \\\"Add New Location\\\" button a new empty row will be inserted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:835\n+#: includes\u002Fconstant-data.php:855\n msgid \"\"\n \"New inserted record(s) will not be saved unless you fill in the name field \"\n \"and click \\\"Save Locations\\\" button (Save button is only visible if there is \"\n \"at least one record added).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:836 includes\u002Fconstant-data.php:860\n+#: includes\u002Fconstant-data.php:856 includes\u002Fconstant-data.php:880\n msgid \"\"\n \"\u003Cb>ID field:\u003C\u002Fb> is automatically given by the system and it is unique. You \"\n \"can use this ID in shortcodes or in some addon (for example Advanced \"\n \"Pricing) settings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:837\n+#: includes\u002Fconstant-data.php:857\n msgid \"\"\n \"\u003Cb>Name field:\u003C\u002Fb> You can use anything as the location name here. This will \"\n \"be displayed to the client on the front end in locations pulldown menu, in \"\n \"list of bookings, in emails, etc.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:838\n+#: includes\u002Fconstant-data.php:858\n msgid \"\"\n \"\u003Cb>Address field:\u003C\u002Fb> You can use this as reminder for yourself or location \"\n \"address for your clients as LOCATION_ADDRESS placeholder in email massages \"\n@@ -14294,13 +15163,13 @@\n \"over location on confirmation form will display map of the address.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:839\n+#: includes\u002Fconstant-data.php:859\n msgid \"\"\n \"\u003Cb>Location Manager field:\u003C\u002Fb> is optional user who receives a copy of all \"\n \"outgoing emails.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:840\n+#: includes\u002Fconstant-data.php:860\n msgid \"\"\n \"\u003Cb>Capacity field:\u003C\u002Fb> is optional and it can be used to limit total number \"\n \"of clients that can be served per time slot when resources are shared and \"\n@@ -14316,13 +15185,13 @@\n \"are for Ladies', set service capacities as 3 and 2, respectively.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:841\n+#: includes\u002Fconstant-data.php:861\n msgid \"\"\n \"\u003Cb>Add. Price field:\u003C\u002Fb> is optional additional price that will be added to \"\n \"the service price if this location is selected by the client.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:842\n+#: includes\u002Fconstant-data.php:862\n msgid \"\"\n \"\u003Cb>Connected Post:\u003C\u002Fb> is an optional page describing the location. The \"\n \"content of this page will be read from the database and it will be displayed \"\n@@ -14332,21 +15201,21 @@\n \"settings (Advanced Features addon is required). \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:843\n+#: includes\u002Fconstant-data.php:863\n msgid \"\"\n \"You can add as many records (locations) as you wish and they will only be \"\n \"saved after you hit Save Locations button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:844\n+#: includes\u002Fconstant-data.php:864\n msgid \"You can use location setting to group\u002Fcategorize your services too.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:845 includes\u002Fconstant-data.php:1254\n+#: includes\u002Fconstant-data.php:865 includes\u002Fconstant-data.php:1274\n msgid \"To delete a record empty Name field and Save.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:846\n+#: includes\u002Fconstant-data.php:866\n msgid \"\"\n \"Custom Sorting: In selection menus items are displayed according to the \"\n \"order here, by default (Other display orders can be set in the related \"\n@@ -14355,24 +15224,24 @@\n \"move it to the new position and then click Save.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:857\n+#: includes\u002Fconstant-data.php:877\n msgid \"\"\n \"\u003Ci>Here you should define your services. \u003Cb>There must be at least one \"\n \"service defined.\u003C\u002Fb>\u003C\u002Fi>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:858\n+#: includes\u002Fconstant-data.php:878\n msgid \"\"\n \"As you click \\\"Add New Service\\\" button a new empty row will be inserted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:859\n+#: includes\u002Fconstant-data.php:879\n msgid \"\"\n \"New inserted record(s) will not be saved unless you fill in the name field \"\n \"and click \\\"Save Services\\\" button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:861\n+#: includes\u002Fconstant-data.php:881\n msgid \"\"\n \"\u003Cb>Int (Internal) field:\u003C\u002Fb> Requires Extended Service Features Addon. \"\n \"Services marked as internal are not displayed in services pulldown menu. You \"\n@@ -14384,14 +15253,14 @@\n \"service for desired shortcodes, and thus for desired pages.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:862\n+#: includes\u002Fconstant-data.php:882\n msgid \"\"\n \"\u003Cb>Name field:\u003C\u002Fb> You can use anything as the service name here. This will \"\n \"be displayed to the client on the front end in Services pulldown menu, in \"\n \"list of bookings, in emails, etc.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:863\n+#: includes\u002Fconstant-data.php:883\n msgid \"\"\n \"\u003Cb>Locations field:\u003C\u002Fb> Requires Locations Addon and only valid if there is \"\n \"at least one location defined. Locations where service will be given. More \"\n@@ -14399,7 +15268,7 @@\n \"should be assigned to at least one location to be selectable.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:864\n+#: includes\u002Fconstant-data.php:884\n msgid \"\"\n \"\u003Cb>Categories field:\u003C\u002Fb> Requires Extended Service Features Addon. It can be \"\n \"used to group your services for display convenience, e.g. on front end \"\n@@ -14411,7 +15280,7 @@\n \"service on the front end.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:865\n+#: includes\u002Fconstant-data.php:885\n #, php-format\n msgid \"\"\n \"\u003Cb>Capacity field:\u003C\u002Fb> is an optional field to change (increase or decrease) \"\n@@ -14431,7 +15300,7 @@\n \"but they are available on admin side as usual.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:866\n+#: includes\u002Fconstant-data.php:886\n #, php-format\n msgid \"\"\n \"\u003Cb>Notes about Capacity setting:\u003C\u002Fb> You can increase capacity field when \"\n@@ -14449,14 +15318,14 @@\n \"A 4th booking will not be allowed, even when one SP seems to be free.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:867\n+#: includes\u002Fconstant-data.php:887\n #, php-format\n msgid \"\"\n \"\u003Cb>Duration field:\u003C\u002Fb> is the number of minutes that this service lasts. It \"\n \"can only be selected in increments of %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:868\n+#: includes\u002Fconstant-data.php:888\n msgid \"\"\n \"\u003Cb>Padding before field:\u003C\u002Fb> Requires Extended Service Features Addon. It is \"\n \"the period of the break in minutes that will be added before any appointment \"\n@@ -14466,7 +15335,7 @@\n \"Time Base.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:869\n+#: includes\u002Fconstant-data.php:889\n msgid \"\"\n \"\u003Cb>Padding after field:\u003C\u002Fb> Requires Extended Service Features Addon. It is \"\n \"the period of the break in minutes that will be added after any appointment. \"\n@@ -14476,7 +15345,7 @@\n \"increments of Time Base.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:870\n+#: includes\u002Fconstant-data.php:890\n #, php-format\n msgid \"\"\n \"\u003Cb>Notes about Padding settings:\u003C\u002Fb> 1) Paddings are applied to appointments \"\n@@ -14490,7 +15359,7 @@\n \"services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:871\n+#: includes\u002Fconstant-data.php:891\n #, php-format\n msgid \"\"\n \"\u003Cb>Price field:\u003C\u002Fb> is the price of the service. You can leave empty for \"\n@@ -14499,7 +15368,7 @@\n \"business location. You can set this requirement by %s setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:872\n+#: includes\u002Fconstant-data.php:892\n #, php-format\n msgid \"\"\n \"\u003Cb>Security Deposit field:\u003C\u002Fb> Requires Extended Service Features Addon. It \"\n@@ -14511,7 +15380,7 @@\n \"Manual Payments, making balance even.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:873\n+#: includes\u002Fconstant-data.php:893\n #, php-format\n msgid \"\"\n \"\u003Cb>Connected Post:\u003C\u002Fb> is an optional page describing the service. The \"\n@@ -14523,27 +15392,27 @@\n \"Features addon is required). \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:874\n+#: includes\u002Fconstant-data.php:894\n msgid \"\"\n \"You can add as many records (services) as you wish and they will only be \"\n \"saved after you hit Save Services button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:875\n+#: includes\u002Fconstant-data.php:895\n msgid \"\"\n \"Some service related addons add a \\\"More\\\" link just after ID. When you \"\n \"click that link, you can view and set additional settings required by these \"\n \"addons.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:876\n+#: includes\u002Fconstant-data.php:896\n msgid \"\"\n \"To delete a record empty Name field and Save. Note: If you are a service \"\n \"provider, deletion of self created services may be restricted. If you see a \"\n \"warning message, contact to admin,\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:877\n+#: includes\u002Fconstant-data.php:897\n #, php-format\n msgid \"\"\n \"\u003Cb>Custom Sorting:\u003C\u002Fb> In front end selection menus, items are displayed \"\n@@ -14562,33 +15431,33 @@\n \"cases ask admin to sort your services for you.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:888\n+#: includes\u002Fconstant-data.php:908\n msgid \"\"\n \"\u003Ci>Here you can optionally select your service providers, i.e. workers, and \"\n \"assign them to certain services.\u003C\u002Fi>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:889\n+#: includes\u002Fconstant-data.php:909\n msgid \"\"\n \"As you click \\\"Add New Service Provider\\\" button a new empty row will be \"\n \"inserted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:890\n+#: includes\u002Fconstant-data.php:910\n msgid \"\"\n \"New inserted record(s) will not be saved unless you assign at least one \"\n \"service and click \\\"Save Service Providers\\\" button (Save button is only \"\n \"visible if there is at least one record added).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:891\n+#: includes\u002Fconstant-data.php:911\n msgid \"\"\n \"\u003Cb>ID field:\u003C\u002Fb> is automatically filled by the system and it is WordPress \"\n \"user ID of the service provider. You can use this ID in shortcodes or in \"\n \"some addon (for example Advanced Pricing) settings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:892\n+#: includes\u002Fconstant-data.php:912\n #, php-format\n msgid \"\"\n \"\u003Cb>Service Provider field:\u003C\u002Fb> Select your service provider from the \"\n@@ -14596,25 +15465,25 @@\n \"provider must be a registered user of the website. To add a new user %s. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:892 includes\u002Ffunctions.internal.php:2983\n-#: includes\u002Ffunctions.internal.php:2986\n+#: includes\u002Fconstant-data.php:912 includes\u002Ffunctions.internal.php:3018\n+#: includes\u002Ffunctions.internal.php:3021\n msgid \"Click here\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:893\n+#: includes\u002Fconstant-data.php:913\n msgid \"\"\n \"\u003Cb>Display Name field:\u003C\u002Fb> You can use anything as the service provider name \"\n \"here. This will be displayed to the client on the front end in Services \"\n \"Providers pulldown menu, in emails, etc.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:894\n+#: includes\u002Fconstant-data.php:914\n msgid \"\"\n \"\u003Cb>Services Provided field:\u003C\u002Fb> use this to assign your service provider to \"\n \"a single or multiple services. You must select at least one service.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:895\n+#: includes\u002Fconstant-data.php:915\n msgid \"\"\n \"\u003Cb>Dummy field:\u003C\u002Fb> Check the checkbox if this is a \\\"dummy\\\" service \"\n \"provider. A dummy behaves exactly like a normal user, i.e. it has its own \"\n@@ -14622,14 +15491,14 @@\n \"receive are forwarded to the selected user in the Advanced tab.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:896\n+#: includes\u002Fconstant-data.php:916\n msgid \"\"\n \"\u003Cb>Add. Price field:\u003C\u002Fb> is the optional additional price of the service \"\n \"provider which will be added to the service price if client picks up this \"\n \"service provider.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:897\n+#: includes\u002Fconstant-data.php:917\n msgid \"\"\n \"\u003Cb>Bio Page field:\u003C\u002Fb> is an optional page selection describing this service \"\n \"provider. The content of this page will be read from the database and it \"\n@@ -14639,19 +15508,19 @@\n \"Advanced settings. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:898\n+#: includes\u002Fconstant-data.php:918\n msgid \"\"\n \"You can add as many records (service providers) as you wish and they will \"\n \"only be saved after you hit Save Service Providers button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:899\n+#: includes\u002Fconstant-data.php:919\n msgid \"\"\n \"To delete a record, i.e. unassign a user as service provider, deselect all \"\n \"Services Provided checkboxes and Save. This does not delete the user.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:900\n+#: includes\u002Fconstant-data.php:920\n #, php-format\n msgid \"\"\n \"Custom Sorting: In front end selection menus, items are displayed according \"\n@@ -14664,20 +15533,20 @@\n \"page value.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:912\n+#: includes\u002Fconstant-data.php:932\n msgid \"\"\n \"Here you can define working hours for your services and service providers on \"\n \"days of the week basis. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:913\n+#: includes\u002Fconstant-data.php:933\n msgid \"\"\n \"WP BASE provides a table for each service and provider using which you can \"\n \"easily set working hours. You just need to set working time slots. Not \"\n \"selected slots will mean \\\"break times\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:914\n+#: includes\u002Fconstant-data.php:934\n msgid \"\"\n \"When you add new services and service providers, their working hours will be \"\n \"set to the default schedule (Business Representative). Then you can edit \"\n@@ -14687,62 +15556,62 @@\n \"certain name.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:915\n+#: includes\u002Fconstant-data.php:935\n msgid \"\"\n \"You can open more than one table by checking the check boxes beside the \"\n \"service\u002Fprovider name in the pulldown menu, e.g. to set more than one table \"\n \"at once and\u002For to copy\u002Fpaste working hours  as explained below.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:916\n+#: includes\u002Fconstant-data.php:936\n msgid \"\"\n \"To set a working interval, click the appropriate cell to make it green. \"\n \"Continue with other cells until the desired working schedule is produced.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:917\n+#: includes\u002Fconstant-data.php:937\n msgid \"It is possible to select\u002Fdeselect multiple cells:\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:918\n+#: includes\u002Fconstant-data.php:938\n msgid \"\"\n \"\u003Cb>To select\u002Fdeselect a column (a week day):\u003C\u002Fb> Click on the column header \"\n \"(week day name, e.g. Wednesday)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:919\n+#: includes\u002Fconstant-data.php:939\n msgid \"\"\n \"\u003Cb>To select\u002Fdeselect a row (a time interval for every week day):\u003C\u002Fb> Click \"\n \"the row header (time of the day, e.g. 1:00pm)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:920\n+#: includes\u002Fconstant-data.php:940\n msgid \"\"\n \"\u003Cb>To select\u002Fdeselect all cells of the table (complete week):\u003C\u002Fb> Click the \"\n \"upper left cell\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:921\n+#: includes\u002Fconstant-data.php:941\n msgid \"\"\n \"It is also possible to \u003Cb>copy\u003C\u002Fb> cell settings of an entire table (source) \"\n \"to another one (target) or more than one, e.g. copy Service Provider A's \"\n \"working hours to Service Provider B and C:\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:922\n+#: includes\u002Fconstant-data.php:942\n msgid \"\"\n \"Open all source and target working hour tables at the same time using the \"\n \"selection puldown menu and checking all desired source and target tables.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:923\n+#: includes\u002Fconstant-data.php:943\n msgid \"\"\n \"Click the \\\"Copy to clickboard\\\" button under the source table. Text of \"\n \"button will change from \\\"Copy to clickboard\\\" to \\\"Copied (click to release)\"\n \"\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:924\n+#: includes\u002Fconstant-data.php:944\n msgid \"\"\n \"Click the \\\"Paste data of...\\\" button under the target table. You will see \"\n \"that source table values are copied to the target table. Text of button will \"\n@@ -14750,26 +15619,26 @@\n \"to \u003Cb>undo\u003C\u002Fb> the paste operation.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:925\n+#: includes\u002Fconstant-data.php:945\n msgid \"Repeat the above step for all desired target tables.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:926\n+#: includes\u002Fconstant-data.php:946\n msgid \"\"\n \"If you have other copy operations from other source tables, click the button \"\n \"under source table: Button text will change from \\\"Copied (click to release)\"\n \"\\\" to \\\"Copy to clickboard\\\". Repeat the above steps as much as desired.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:927\n+#: includes\u002Fconstant-data.php:947\n msgid \"Click \\\"Save Working Hours\\\" button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:928\n+#: includes\u002Fconstant-data.php:948\n msgid \"\u003Cb>NOTES:\u003C\u002Fb>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:929\n+#: includes\u002Fconstant-data.php:949\n msgid \"\"\n \"Please note that front end calendars generated by WP BASE are affected by \"\n \"the settings here: i) Start time of the calendars are determined by start \"\n@@ -14781,7 +15650,7 @@\n \"of 12pm-2pm instead).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:930\n+#: includes\u002Fconstant-data.php:950\n msgid \"\"\n \"Rows of working hours tables are incremented by time base. Also a shift from \"\n \"exact hour of the day is possible within time base value. For example, \"\n@@ -14789,7 +15658,7 @@\n \"minutes.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:931\n+#: includes\u002Fconstant-data.php:951\n msgid \"\"\n \"On the front end, \u003Cb>service working hours\u003C\u002Fb> are used when there is no \"\n \"provider selected or not defined at all. When the capacity of the service is \"\n@@ -14798,32 +15667,32 @@\n \"their working hours will be used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:942\n+#: includes\u002Fconstant-data.php:962\n msgid \"\"\n \"Here you can define custom weekly schedules and use them to prepare seasonal \"\n \"working schedules for your providers and even services. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:943\n+#: includes\u002Fconstant-data.php:963\n msgid \"\"\n \"A custom schedule is a weekly working hours table which will be used in a \"\n \"week or weeks of the year instead of regular working hours as you select.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:944\n+#: includes\u002Fconstant-data.php:964\n msgid \"\"\n \"As an example model, a business using shift work can be given. Businesses \"\n \"having seasonal working hour changes can also get use of this feature.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:945\n+#: includes\u002Fconstant-data.php:965\n msgid \"\"\n \"To add a new schedule, under pulldown menu of the desired week, select \\\"Add \"\n \"New\\\". In the opening popup set name and working hours and click Save. \"\n \"Please refer to Working Hours tab for details of setting working hours.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:946\n+#: includes\u002Fconstant-data.php:966\n msgid \"\"\n \"Using the pulldown menus, select which weekly schedule to use for each week \"\n \"of the year: Regular (which means no custom schedule will be applied - \"\n@@ -14831,37 +15700,37 @@\n \"created.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:947\n+#: includes\u002Fconstant-data.php:967\n msgid \"\"\n \"To edit an existing schedule, simply click on the cells of the schedule and \"\n \"click Save Custom Schedules on the page. You can also edit existing \"\n \"schedules on Working Hours page where you can use copy\u002Fpaste feature.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:948\n+#: includes\u002Fconstant-data.php:968\n msgid \"\"\n \"To delete an existing schedule, click \\\"Custom Schedules List\\\" tab, clear \"\n \"the name of the schedule to be deleted and then click \\\"Save Custom \"\n \"Schedules\\\" button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:949\n+#: includes\u002Fconstant-data.php:969\n msgid \"You can use the same schedule on different weeks repeatedly.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:950\n+#: includes\u002Fconstant-data.php:970\n msgid \"\"\n \"Please note that \u003Cb>every service and service provider may have their own \"\n \"custom schedules\u003C\u002Fb>. So, do not forget to change \\\"List For\\\" setting to \"\n \"set for a certain name.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:951\n+#: includes\u002Fconstant-data.php:971\n msgid \"\"\n \"In addition to the current year, you can also set schedule for the next year.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:962\n+#: includes\u002Fconstant-data.php:982\n msgid \"\"\n \"\u003Cb>Upcoming (Paid or Confirmed):\u003C\u002Fb> a) Paid: Paid and confirmed via Paypal \"\n \"or another payment gateway. Please note that \\\"paid\\\" does not mean all paid \"\n@@ -14877,7 +15746,7 @@\n \"Pay button in client emails or List of Bookings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:963\n+#: includes\u002Fconstant-data.php:983\n msgid \"\"\n \"\u003Cb>Pending:\u003C\u002Fb> Client applied for the appointment, but not yet paid or \"\n \"appointment has not yet manually confirmed. Such an appointment will still \"\n@@ -14888,7 +15757,7 @@\n \"admin gets a notification email at the instant of booking, if set so.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:964\n+#: includes\u002Fconstant-data.php:984\n msgid \"\"\n \"\u003Cb>Reserved by GCal:\u003C\u002Fb> If you import appointments from Google Calender \"\n \"using Google Calendar API, that is, synchronize your calendar with WP BASE, \"\n@@ -14897,7 +15766,7 @@\n \"Calendar instead. They will be automatically updated in WP BASE too.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:965\n+#: includes\u002Fconstant-data.php:985\n msgid \"\"\n \"\u003Cb>In Progress:\u003C\u002Fb> Appointment has started, not yet finished and thus \"\n \"happening at the moment. This status will be automatically changed to \"\n@@ -14905,38 +15774,38 @@\n \"appointment to In Progress manually.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:966\n+#: includes\u002Fconstant-data.php:986\n msgid \"\"\n \"\u003Cb>Completed:\u003C\u002Fb> Appointment end time has passed (finished) when it was in \"\n \"confirmed or paid status. Such appointments do not reserve any booking \"\n \"capacity.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:967\n+#: includes\u002Fconstant-data.php:987\n msgid \"\"\n \"\u003Cb>Removed:\u003C\u002Fb> Appointment was not paid for or was not confirmed manually \"\n \"in the allowed time. Such appointments do not reserve any booking capacity. \"\n \"Permanent deletion of an appointment record can only be done in this status.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:968\n+#: includes\u002Fconstant-data.php:988\n msgid \"\"\n \"Please note that future (Confirmed, paid, pending, reserved) and current \"\n \"appointments (In Progress) reserve booking capacity, but past ones \"\n \"(Completed, removed) do not.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:969\n+#: includes\u002Fconstant-data.php:989\n msgid \"Addons, for example Test Appointments Addon, can add new statuses.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:980\n+#: includes\u002Fconstant-data.php:1000\n msgid \"\"\n \"WP BASE provides several email templates which can include booking specific \"\n \"details.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:981\n+#: includes\u002Fconstant-data.php:1001\n msgid \"\"\n \"For all the email subject and message contents and also in some other \"\n \"templates (e.g. Manual Payment instructions), you can use the following \"\n@@ -14963,7 +15832,7 @@\n \"added.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:982\n+#: includes\u002Fconstant-data.php:1002\n msgid \"\"\n \"CANCEL and CONFIRM placeholders will be replaced with a link to allow cancel \"\n \"or confirm, respectively. Links are created only if cancellation and \"\n@@ -14971,46 +15840,46 @@\n \"were logged in, they will be prompted to login again if not already.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:983\n+#: includes\u002Fconstant-data.php:1003\n msgid \"\"\n \"List of Bookings shortcode \u003Ccode>[app_list]\u003C\u002Fcode> can be used in emails, \"\n \"e.g. to send a list of upcoming appointments and booking history.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:984\n+#: includes\u002Fconstant-data.php:1004\n msgid \"\"\n \"If BuddyPress Addon is active, BP_BOOK_ME_URL, BP_BOOKINGS_URL and \"\n \"BP_CLIENT_BOOKINGS_URL will be replaced with Book Me tab URL, Bookings tab \"\n \"URL of the booking provider and Bookings tab URL of the client, respectively.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:985\n+#: includes\u002Fconstant-data.php:1005\n msgid \"\"\n \"If Coupons Addon is active, COUPON_ID, COUPON_CODE, COUPON_DISCOUNT will be \"\n \"replaced by ID, code and net applied amount of the coupon which was used \"\n \"during booking, respectively.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:986\n+#: includes\u002Fconstant-data.php:1006\n msgid \"\"\n \"If Extended Service Features & Categories Addon is active, CATEGORY \"\n \"placeholder will be replaced by the selected category, if there is one.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:987\n+#: includes\u002Fconstant-data.php:1007\n msgid \"\"\n \"If Extras Addon is active, EXTRA placeholder will be replaced by the name of \"\n \"the extra(s) that client have chosen.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:988\n+#: includes\u002Fconstant-data.php:1008\n msgid \"\"\n \"If Front End Edit Addon is active and editing is allowed, EDIT placeholder \"\n \"will be replaced with a link that redirects client to the website and opens \"\n \"edit dialog. If client is not logged in, they will be prompted to do so.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:989\n+#: includes\u002Fconstant-data.php:1009\n msgid \"\"\n \"If Google Calendar Addon is active, GCAL_BUTTON will be replaced with a \"\n \"clickable GCal button which client can use to add the appointment to their \"\n@@ -15018,7 +15887,7 @@\n \"replaced with Google Hangouts URL.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:990\n+#: includes\u002Fconstant-data.php:1010\n msgid \"\"\n \"If Group Bookings Addon is active, PAX placeholder will be replaced by \"\n \"number of guests, PARTICIPANTS will be replaced by a list of submitted \"\n@@ -15026,14 +15895,14 @@\n \"details defined in \\\"Template for Person Types\\\" setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:991\n+#: includes\u002Fconstant-data.php:1011\n msgid \"\"\n \"If Marketplace Addon is active, VENDOR_NAME will be replaced by display name \"\n \"of the vendor. VENDOR_TITLE will be replaced by the title of the vendor page \"\n \"and VENDOR_LINK will be replaced by a clickable link to vendor bio page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:992\n+#: includes\u002Fconstant-data.php:1012\n msgid \"\"\n \"If Online Meetings Addon is active and Zoom is enabled, ZOOM_ID, ZOOM_HOST, \"\n \"ZOOM_PASSWORD, ZOOM_TOPIC, ZOOM_AGENDA placeholders will be replaced by \"\n@@ -15041,25 +15910,25 @@\n \"replaced by a clickable link to join the meeting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:993\n+#: includes\u002Fconstant-data.php:1013\n msgid \"\"\n \"If Online Meetings Addon is active and Jitsi\u002FAgora is enabled, JITSI_MEETING \"\n \"or AGORA_MEETING placeholder will be replaced by waiting room url.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:994\n+#: includes\u002Fconstant-data.php:1014\n msgid \"\"\n \"If Waiting List Addon is active, CLAIM placeholder will be replaced with a \"\n \"link that redirects client to the website to claim booking in waiting list.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:995\n+#: includes\u002Fconstant-data.php:1015\n msgid \"\"\n \"If WooCommerce Integration Addon is active, ORDER_ID placeholder will be \"\n \"replaced with WooCommerce order ID related to the booking, if there is one.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:996\n+#: includes\u002Fconstant-data.php:1016\n msgid \"\"\n \"LOCATION_MAP and MAP_LINK can be used and replaced with Google static map \"\n \"and link to map.google.com for the location provided that all of these \"\n@@ -15068,13 +15937,13 @@\n \"these conditions are not met, placeholder will be cleared from the email.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:997\n+#: includes\u002Fconstant-data.php:1017\n msgid \"\"\n \"MAKE_PAYMENT placeholder will be replaced with a clickable link which takes \"\n \"user to the website to make payment for \\\"Pay Later\\\" method.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:998\n+#: includes\u002Fconstant-data.php:1018\n msgid \"\"\n \"If Timezones Addon is active, DATE_TIME and END_DATE_TIME values will be \"\n \"calculated with timezone of the client saved during booking. If you want to \"\n@@ -15084,25 +15953,25 @@\n \"used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:999\n+#: includes\u002Fconstant-data.php:1019\n msgid \"\"\n \"Use User Defined Fields (UDFs) like this: UDF_n where n is the ID of the \"\n \"UDF, e.g. UDF_1, UDF_2, etc.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1016\n+#: includes\u002Fconstant-data.php:1036\n msgid \"\"\n \"You can export and and then import recorded data for backup or analysis \"\n \"purposes or for copying to another website.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1017\n+#: includes\u002Fconstant-data.php:1037\n msgid \"\"\n \"\u003Cb>Export Bookings in CSV format\u003C\u002Fb> is suitable for further analysing and \"\n \"creating statistics of your bookings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1018\n+#: includes\u002Fconstant-data.php:1038\n msgid \"\"\n \"To export all booking records, check the checkboxes to select columns you \"\n \"want to include (Your selection of checked columns will be saved for later \"\n@@ -15111,7 +15980,7 @@\n \"this file with Excel or OpenOffice Calc and analyse records in detail.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1019\n+#: includes\u002Fconstant-data.php:1039\n msgid \"\"\n \"You can also export a partial or filtered result set using DataTables \"\n \"TableTools buttons on top of the bookings table. To do so, filter the \"\n@@ -15121,13 +15990,13 @@\n \"Bookings table, export records to your PC.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1020\n+#: includes\u002Fconstant-data.php:1040\n msgid \"\"\n \"Importing with CSV format is not supported. Instead use SQL export\u002Fimport \"\n \"explained below.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1021\n+#: includes\u002Fconstant-data.php:1041\n msgid \"\"\n \"\u003Cb>Export and Import Global Settings\u003C\u002Fb> is suitable for backing up your \"\n \"settings or copying them to another website. WP BASE stores global settings \"\n@@ -15135,13 +16004,13 @@\n \"this file.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1022\n+#: includes\u002Fconstant-data.php:1042\n msgid \"\"\n \"To export Global Settings, click the Export Settings button. A file with \"\n \"json format will be downloaded to your PC.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1023\n+#: includes\u002Fconstant-data.php:1043\n msgid \"\"\n \"To import Global Settings to the same or another website, select \\\"Include \"\n \"email and SMS Templates\\\" and \\\"Include Custom Texts\\\" checkboxes as \"\n@@ -15154,7 +16023,7 @@\n \"ensure that json file is the correct one.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1024\n+#: includes\u002Fconstant-data.php:1044\n msgid \"\"\n \"\u003Cb>Export and Import Database Tables\u003C\u002Fb> is again suitable for backing up \"\n \"your appointment records or copying them to another website. This export not \"\n@@ -15163,7 +16032,7 @@\n \"providers, etc.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1025\n+#: includes\u002Fconstant-data.php:1045\n msgid \"\"\n \"To export database tables, click Export Database Tables button. An SQL file \"\n \"(source) will be saved on your PC including these tables and records: 1) All \"\n@@ -15176,7 +16045,7 @@\n \"users\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1026\n+#: includes\u002Fconstant-data.php:1046\n msgid \"\"\n \"\u003Cb>To Import Database Tables\u003C\u002Fb> to the same or another website (target), \"\n \"click the related Choose File button, point the previously exported SQL \"\n@@ -15186,35 +16055,35 @@\n \"operations will be commenced:\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1027\n+#: includes\u002Fconstant-data.php:1047\n msgid \"\"\n \"WP BASE tables on the target website will be truncated (all records erased) \"\n \"and new (source) records will be added. WordPress user and post tables are \"\n \"not erased and new records may be added:\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1028\n+#: includes\u002Fconstant-data.php:1048\n msgid \"\"\n \"Users in the source records will be checked to match by their email. If a \"\n \"matching user email is found on the target website, user will not be \"\n \"inserted, and new added records will be adjusted with their existing user ID.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1029\n+#: includes\u002Fconstant-data.php:1049\n msgid \"\"\n \"If user is not found on the target website, they will be created. Their ID \"\n \"will be kept the same, if possible. If this is not possible, new added \"\n \"records will be adjusted with this new user ID.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1030\n+#: includes\u002Fconstant-data.php:1050\n msgid \"\"\n \"If user record is successfully created or a matching user is found to be \"\n \"already existing, source user metas will be checked for existence on the \"\n \"target. They will be updated or created as required.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1031\n+#: includes\u002Fconstant-data.php:1051\n msgid \"\"\n \"Posts\u002Fpages in the source records will be checked to match by the content. \"\n \"If the same content is found on the target, post will not be inserted, and \"\n@@ -15222,28 +16091,28 @@\n \"records.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1032\n+#: includes\u002Fconstant-data.php:1052\n msgid \"\"\n \"If post content is not found, new post will be created. Its ID will be kept \"\n \"the same, if possible. If not, new added records will be adjusted with this \"\n \"new post ID.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1033\n+#: includes\u002Fconstant-data.php:1053\n msgid \"\"\n \"If post is successfully created or a matching post is found to be existing, \"\n \"source post metas will be checked for existence on the target. They will be \"\n \"updated or created as required.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1034\n+#: includes\u002Fconstant-data.php:1054\n msgid \"\"\n \"After these operations you should see a message indication the result: \"\n \"Failure, success or partial success. In every case you can check the log \"\n \"file for the details of the result.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1035\n+#: includes\u002Fconstant-data.php:1055\n msgid \"\"\n \"DB prefix of source and target can be different. Export\u002FImport between \"\n \"multisite installation and solo installation is also allowed. Please note \"\n@@ -15252,7 +16121,7 @@\n \"transferred\u002Fcreated.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1036\n+#: includes\u002Fconstant-data.php:1056\n msgid \"\"\n \"Do NOT use another tool (e.g. phpmyadmin) to import records using the \"\n \"exported file. WP BASE is performing numerous actions to adjust the source \"\n@@ -15260,7 +16129,7 @@\n \"results.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1037\n+#: includes\u002Fconstant-data.php:1057\n msgid \"\"\n \"Limitations: 1) Target and source websites should be using the same WP BASE \"\n \"database version. Otherwise import may partly or fully fail. You can check \"\n@@ -15269,21 +16138,21 @@\n \"using Appearance > Widgets page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1048\n+#: includes\u002Fconstant-data.php:1068\n msgid \"\"\n \"Appointments Plus (A+) is an appointment booking plugin originally developed \"\n \"by the WP BASE author for WPMU DEV. You can only import data from A+, there \"\n \"is no export option.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1049\n+#: includes\u002Fconstant-data.php:1069\n msgid \"\"\n \"Importing from A+ copies A+ appointments, transactions, services and service \"\n \"providers records to WP BASE database tables installed on the same website. \"\n \"A+ tables will remain untouched.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1050\n+#: includes\u002Fconstant-data.php:1070\n #, php-format\n msgid \"\"\n \"Please note that this import is mainly intended for a newly installed WP \"\n@@ -15292,47 +16161,47 @@\n \"(Select both Export Settings and Export Database Tables).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1050\n+#: includes\u002Fconstant-data.php:1070\n msgid \"export\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1051\n+#: includes\u002Fconstant-data.php:1071\n msgid \"\"\n \"Import is only possible if both plugins are installed on the same website. \"\n \"A+ does not need to be activated and actually its being deactivated is \"\n \"preferable.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1052\n+#: includes\u002Fconstant-data.php:1072\n msgid \"\"\n \"Since working hours system of the two plugins are completely different, \"\n \"working hours cannot be imported and they should be created manually.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1053\n+#: includes\u002Fconstant-data.php:1073\n msgid \"\"\n \"WP BASE Services table will be cleared before import. This process will \"\n \"maintain Appointments+ Service IDs to be used as they are.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1054\n+#: includes\u002Fconstant-data.php:1074\n msgid \"\"\n \"If WP BASE Service Providers table is not empty, existing records will be \"\n \"replaced with Appointments+ values.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1055\n+#: includes\u002Fconstant-data.php:1075\n #, php-format\n msgid \"\"\n \"The other WP BASE table records will be added without resetting the existing \"\n \"data. If this is not your intention, you may want to %s WP BASE tables first.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1055\n+#: includes\u002Fconstant-data.php:1075\n msgid \"reset\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1056\n+#: includes\u002Fconstant-data.php:1076\n #, php-format\n msgid \"\"\n \"A+ accepts non WP users as clients (as well as WP BASE), and it is possible \"\n@@ -15341,34 +16210,34 @@\n \"want to set %2$s if you want clients to receive their login credentials.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1057\n+#: includes\u002Fconstant-data.php:1077\n msgid \"\"\n \"If Auto Register Client is selected, after user registration process admin \"\n \"will not get an email, but they can check created users list in the log file.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1058\n+#: includes\u002Fconstant-data.php:1078\n msgid \"\"\n \"Existing A+ settings will also be imported. Since WP BASE has much more \"\n \"features than A+, missing settings will be completed from current values. \"\n \"You may also want to reset settings to their default values before importing.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1059\n+#: includes\u002Fconstant-data.php:1079\n msgid \"\"\n \"To start the import, simply click the related button and confirm the \"\n \"javascript message. The actual import process may take a few minutes \"\n \"depending on the size of your records.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1060\n+#: includes\u002Fconstant-data.php:1080\n msgid \"\"\n \"After the import process, you should see a message indicating the result: \"\n \"Failure, success or partial success. In every case you can check the log \"\n \"file for the details of the result.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1061\n+#: includes\u002Fconstant-data.php:1081\n msgid \"\"\n \"To import A+ from a website (source) to a WP BASE installed on another \"\n \"website (target), you can use this method: Install WP BASE and Export\u002FImport \"\n@@ -15378,11 +16247,11 @@\n \"imports and vice versa are allowed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1062\n+#: includes\u002Fconstant-data.php:1082\n msgid \"Import will also work for Appointments Lite, the free version of A+.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1073\n+#: includes\u002Fconstant-data.php:1093\n msgid \"\"\n \"\u003Ci>Addons extend the functionality of WP BASE. Most addons add setting \"\n \"fields to Settings page. By default, all addons are automatically activated. \"\n@@ -15392,7 +16261,7 @@\n \"unused ones.\u003C\u002Fi>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1084\n+#: includes\u002Fconstant-data.php:1104\n #, php-format\n msgid \"\"\n \"\u003Ci>With unlimited services, unrestricted bookings, email sending feature, WP \"\n@@ -15402,11 +16271,11 @@\n \"example usage on our %s.\u003C\u002Fi> \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1084\n+#: includes\u002Fconstant-data.php:1104\n msgid \"Addon Demo Website\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1095\n+#: includes\u002Fconstant-data.php:1115\n msgid \"\"\n \"\u003Ci>Coupons (a.k.a discount codes, promo codes) are alphanumerical character \"\n \"sets which allow clients get discounts when they enter the correct code in \"\n@@ -15414,19 +16283,19 @@\n \"when applicable.\u003C\u002Fi>\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1096\n+#: includes\u002Fconstant-data.php:1116\n msgid \"\"\n \"As you click \\\"Add New Coupon\\\" button a new empty row will be inserted on \"\n \"top of the existing coupons. Coupons are listed in reverse order, thus most \"\n \"recent ones are on top.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1097 includes\u002Fconstant-data.php:1127\n-#: includes\u002Fconstant-data.php:1188\n+#: includes\u002Fconstant-data.php:1117 includes\u002Fconstant-data.php:1147\n+#: includes\u002Fconstant-data.php:1208\n msgid \"\u003Cb>ID field:\u003C\u002Fb> is automatically given by the system and it is unique.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1098\n+#: includes\u002Fconstant-data.php:1118\n msgid \"\"\n \"\u003Cb>Code field:\u003C\u002Fb> is set of characters your client supposed to enter to \"\n \"gain a discount. Letters are case insensitive. Only alphanumeric characters \"\n@@ -15438,7 +16307,7 @@\n \"(logged in) client having WordPress user ID 5.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1099\n+#: includes\u002Fconstant-data.php:1119\n msgid \"\"\n \"\u003Cb>Discount (%) and Discount (Currency) fields:\u003C\u002Fb> define the discount that \"\n \"will be applied to the sales price. Discount (%), applies a discount over \"\n@@ -15448,32 +16317,32 @@\n \"percentage field will make the service(s) free of charge.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1100\n+#: includes\u002Fconstant-data.php:1120\n msgid \"\"\n \"\u003Cb>Max uses field:\u003C\u002Fb> defines how many times this coupon can be used. If \"\n \"left empty there is no usage limit.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1101\n+#: includes\u002Fconstant-data.php:1121\n msgid \"\"\n \"\u003Cb>Used field:\u003C\u002Fb> is read-only and displays how many times this coupon was \"\n \"used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1102\n+#: includes\u002Fconstant-data.php:1122\n msgid \"\"\n \"\u003Cb>Valid from field:\u003C\u002Fb> defines the date (including the date) coupon can be \"\n \"used starting from. If left empty, coupon can be used immediately.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1103\n+#: includes\u002Fconstant-data.php:1123\n msgid \"\"\n \"\u003Cb>Valid until field:\u003C\u002Fb> defines expiry date of the coupon. Including that \"\n \"date and onwards, coupon cannot be used. If left empty, coupon can be used \"\n \"indefinitely (or until max uses limit).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1104\n+#: includes\u002Fconstant-data.php:1124\n msgid \"\"\n \"\u003Cb>Applies to field:\u003C\u002Fb> defines for which services and\u002For providers this \"\n \"coupon will be applied. Multiple selection is possible. This means, \"\n@@ -15482,7 +16351,7 @@\n \"coupon will be valid for all bookings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1105\n+#: includes\u002Fconstant-data.php:1125\n msgid \"\"\n \"\u003Cb>With match field:\u003C\u002Fb> defines how multiple selections of \\\"applies to\\\" \"\n \"setting will be handled. \\\"Any match\\\" will result in the coupon to be \"\n@@ -15499,7 +16368,7 @@\n \"and settings except \\\"applies to\\\" is \\\"Sample Service, SP B\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1106\n+#: includes\u002Fconstant-data.php:1126\n msgid \"\"\n \"\u003Cb>For users field:\u003C\u002Fb> defines to whom this coupon will be applied. That \"\n \"is, only clients having selected WP user role can use the coupon, allowing \"\n@@ -15509,38 +16378,38 @@\n \"users, select all roles.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1107\n+#: includes\u002Fconstant-data.php:1127\n msgid \"\"\n \"You can add as many records (coupons) as you wish and they will only be \"\n \"saved after you hit Save Coupons button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1108\n+#: includes\u002Fconstant-data.php:1128\n msgid \"\"\n \"New inserted record(s) will not be saved unless you fill in the code field \"\n \"and click \\\"Save Coupons\\\" button (Save button is only visible if there is \"\n \"at least one record added).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1109\n+#: includes\u002Fconstant-data.php:1129\n msgid \"To delete a record empty Code field and Save.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1110\n+#: includes\u002Fconstant-data.php:1130\n msgid \"\"\n \"A coupon becomes inactive if a) No discount is defined, b) it is used \\\"max \"\n \"uses\\\" times, c) \\\"Valid from\\\" date has not yet arrived, d) \\\"Valid until\\\" \"\n \"date has arrived. Inactive coupons are shown faded.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1111\n+#: includes\u002Fconstant-data.php:1131\n msgid \"\"\n \"Coupon entry field in the confirmation form is displayed only if there is at \"\n \"least one active coupon applicable to the selected service or provider and \"\n \"user role of the client.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1112\n+#: includes\u002Fconstant-data.php:1132\n msgid \"\"\n \"It is possible to have more than one coupon with the same code with \"\n \"different discount and different \\\"applies to\\\" setting, e.g. to apply \"\n@@ -15548,17 +16417,17 @@\n \"coupon with the highest net discount will be applied.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1113\n+#: includes\u002Fconstant-data.php:1133\n msgid \"Coupons addon runs after Custom Pricing rules.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1114\n+#: includes\u002Fconstant-data.php:1134\n msgid \"\"\n \"When client enters correct coupon code, total price on the confirmation form \"\n \"will be updated on the fly.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1125\n+#: includes\u002Fconstant-data.php:1145\n msgid \"\"\n \"With \u003Cb>Custom Pricing\u003C\u002Fb>, you can add as many records as you wish to apply \"\n \"discount or override regular price of the service depending on selected \"\n@@ -15566,14 +16435,14 @@\n \"the client. Each Custom Pricing record is called a \u003Cb>rule\u003C\u002Fb>.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1126\n+#: includes\u002Fconstant-data.php:1146\n msgid \"\"\n \"As you click \\\"Add New Rule\\\" button a new empty row will be inserted on top \"\n \"of the existing rules. Rules are listed in reverse order, thus most recent \"\n \"ones are on top.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1128\n+#: includes\u002Fconstant-data.php:1148\n msgid \"\"\n \"\u003Cb>Discount (%) and Price (Currency) fields:\u003C\u002Fb> determine the net price \"\n \"that will be applied to the sales price. Discount (%), applies a discount \"\n@@ -15585,7 +16454,7 @@\n \"allowed which means surcharge of the regular price.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1129\n+#: includes\u002Fconstant-data.php:1149\n msgid \"\"\n \"\u003Cb>Applies to field:\u003C\u002Fb> defines for which services and\u002For providers this \"\n \"rule will be applied. Multiple selection is possible. This means, depending \"\n@@ -15594,7 +16463,7 @@\n \"valid for all booking submissions.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1130\n+#: includes\u002Fconstant-data.php:1150\n msgid \"\"\n \"\u003Cb>With match field:\u003C\u002Fb> defines how multiple selections of \\\"applies to\\\" \"\n \"setting will be handled. \\\"Any match\\\" will result in the rule to be \"\n@@ -15611,7 +16480,7 @@\n \"\\\"applies to\\\" is \\\"Sample Service, SP B\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1131\n+#: includes\u002Fconstant-data.php:1151\n msgid \"\"\n \"\u003Cb>For users field:\u003C\u002Fb> defines to whom this rule will be applied. That is, \"\n \"clients having selected WP user role will be subject to the rule. You can \"\n@@ -15620,7 +16489,7 @@\n \"in users, but not for non logged in users, select all roles.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1132\n+#: includes\u002Fconstant-data.php:1152\n msgid \"\"\n \"\u003Cb>From, To Pax fields:\u003C\u002Fb> require Group Bookings addon. They define range \"\n \"of seat\u002Fpax selection for which the rule will be applied. Either of the \"\n@@ -15628,7 +16497,7 @@\n \"empty To Pax field is taken as maximum possible value.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1133 includes\u002Fconstant-data.php:1156\n+#: includes\u002Fconstant-data.php:1153 includes\u002Fconstant-data.php:1176\n msgid \"\"\n \"\u003Cb>Valid for field:\u003C\u002Fb> defines the recurrence of this rule. \\\"Fixed range\\\" \"\n \"will make the rule applied to bookings whose starting time is between From \"\n@@ -15640,7 +16509,7 @@\n \"time fields will be hidden.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1134 includes\u002Fconstant-data.php:1157\n+#: includes\u002Fconstant-data.php:1154 includes\u002Fconstant-data.php:1177\n msgid \"\"\n \"\u003Cb>From, To Date\u002Ftime fields:\u003C\u002Fb> define time range for which rule will be \"\n \"applied. Selection values are included in the range, e.g. 10:00 start and \"\n@@ -15652,25 +16521,25 @@\n \"appointment submission is made for, NOT time of the submission.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1135 includes\u002Fconstant-data.php:1159\n+#: includes\u002Fconstant-data.php:1155 includes\u002Fconstant-data.php:1179\n msgid \"\"\n \"You can add as many records (rules) as you wish and they will only be saved \"\n \"after you hit Save Changes button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1136\n+#: includes\u002Fconstant-data.php:1156\n msgid \"\"\n \"New inserted record(s) will not be saved unless you fill in the price or \"\n \"discount field and click \\\"Save Changes\\\" button on the page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1137\n+#: includes\u002Fconstant-data.php:1157\n msgid \"\"\n \"Either a discount or price value is required to save a rule. As a result, to \"\n \"\u003Cb>delete a record\u003C\u002Fb> empty discount and price fields and Save.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1138\n+#: includes\u002Fconstant-data.php:1158\n msgid \"\"\n \"A rule becomes inactive if selected dates are impossible to apply, for \"\n \"example From value is later than To value (Equal From and To values do not \"\n@@ -15678,20 +16547,20 @@\n \"shown faded and they do not have any effect on the price.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1139\n+#: includes\u002Fconstant-data.php:1159\n msgid \"\"\n \"If there are more than one rule matching to the booking submission, price \"\n \"will be determined by \\\"Price to be applied if more than one rule match\\\" \"\n \"setting (Default: rule leading to lowest net price).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1140 includes\u002Fconstant-data.php:1163\n+#: includes\u002Fconstant-data.php:1160 includes\u002Fconstant-data.php:1183\n msgid \"\"\n \"If no rules match to the booking submission, regular price of the service \"\n \"will be valid.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1151\n+#: includes\u002Fconstant-data.php:1171\n msgid \"\"\n \"With \u003Cb>Flexible Price\u003C\u002Fb>, you can add as many records as you wish to \"\n \"override regular price of the service depending on selected date, day and \"\n@@ -15699,26 +16568,26 @@\n \"record is called a \u003Cb>rule\u003C\u002Fb>.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1152\n+#: includes\u002Fconstant-data.php:1172\n msgid \"\"\n \"As you click \\\"Add New Rule\\\" button a new empty row will be inserted to the \"\n \"existing rules.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1153\n+#: includes\u002Fconstant-data.php:1173\n msgid \"\"\n \"Tick the \\\"Enable\\\" check box for price rules to be applied. If disabled, \"\n \"you can still create and edit rules, but they will NOT be taken into account \"\n \"when calculating service price. \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1154\n+#: includes\u002Fconstant-data.php:1174\n msgid \"\"\n \"\u003Cb>Price field:\u003C\u002Fb> determine the net price that will be applied to the \"\n \"sales price when the rule conditions are met\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1155\n+#: includes\u002Fconstant-data.php:1175\n msgid \"\"\n \"\u003Cb>For User Roles field:\u003C\u002Fb> defines to whom this rule will be applied. That \"\n \"is, clients having selected WP user role will be subject to the rule. You \"\n@@ -15727,7 +16596,7 @@\n \"in users, but not for non logged in users, select all roles.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1158\n+#: includes\u002Fconstant-data.php:1178\n msgid \"\"\n \"\u003Cb>From, To Pax fields:\u003C\u002Fb> require Group Bookings addon activated and \"\n \"enabled for the service. They define range of seat\u002Fpax selection (including \"\n@@ -15736,39 +16605,39 @@\n \"Pax field is taken as maximum possible value.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1160\n+#: includes\u002Fconstant-data.php:1180\n msgid \"\"\n \"New inserted record(s) will not be saved unless you fill in the price field \"\n \"and click \\\"Save Changes\\\" button on the page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1161\n+#: includes\u002Fconstant-data.php:1181\n msgid \"\"\n \"To delete a rule, click the trash icon and then Save. Rules will be \"\n \"renumbered.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1162\n+#: includes\u002Fconstant-data.php:1182\n msgid \"\"\n \"If there are more than one rule matching to the booking submission, price \"\n \"will be determined by \\\"Price on Multi Match\\\" setting (Default: rule \"\n \"leading to lowest net price).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1164\n+#: includes\u002Fconstant-data.php:1184\n msgid \"\"\n \"Flexible Price, is service specific subset of Custom Pricing. If you are \"\n \"already using Custom Pricing, you do not need to use Flexible Price feature.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1175\n+#: includes\u002Fconstant-data.php:1195\n msgid \"\"\n \"Extras can be additional equipment, material, facility or another service \"\n \"(called \\\"extra service\\\") in addition to the currently selected one which \"\n \"shall be offered to the client as an option on the confirmation form.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1176\n+#: includes\u002Fconstant-data.php:1196\n msgid \"\"\n \"Each row entered here is a different extra record which may be displayed as \"\n \"a pulldown menu selection option on the confirmation form depending on \"\n@@ -15777,14 +16646,14 @@\n \"the record.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1177\n+#: includes\u002Fconstant-data.php:1197\n msgid \"\"\n \"Only extras which comply the requirements will be presented to the client on \"\n \"the front end. Therefore number of selectable options in the selection menu \"\n \"may vary for each booking.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1178\n+#: includes\u002Fconstant-data.php:1198\n msgid \"\"\n \"Using settings of the records, you can control the options to offer to the \"\n \"client, from the most simplest case (directly displaying all of the options \"\n@@ -15793,13 +16662,13 @@\n \"times).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1179\n+#: includes\u002Fconstant-data.php:1199\n msgid \"\"\n \"When client picks up an option from the pulldown menu, total price will be \"\n \"updated on the fly.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1180\n+#: includes\u002Fconstant-data.php:1200\n msgid \"\"\n \"When client submits the booking using this selection, it will be saved in \"\n \"the database, therefore you can review and make necessary arrangements based \"\n@@ -15807,7 +16676,7 @@\n \"separate column on Bookings page using \\\"Screen Options\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1181\n+#: includes\u002Fconstant-data.php:1201\n msgid \"\"\n \"If you want to offer a product or unlisted service as an extra, use \\\"Add \"\n \"New Item as Extra\\\" button, if you want to offer an existing WP BASE service \"\n@@ -15815,7 +16684,7 @@\n \"is allowed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1182\n+#: includes\u002Fconstant-data.php:1202\n msgid \"\"\n \"Availability of extra services is checked against selected time slot, and \"\n \"unavailable services are not offered to the client. Please note that \"\n@@ -15825,7 +16694,7 @@\n \"this as overbooking.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1183\n+#: includes\u002Fconstant-data.php:1203\n msgid \"\"\n \"Extra service should be different than the selected service. Tip: You can \"\n \"use Group Bookings addon if you want to allow booking for more than one \"\n@@ -15833,11 +16702,11 @@\n \"with more than one providers.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1184\n+#: includes\u002Fconstant-data.php:1204\n msgid \"Extra service cannot be a service package.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1185\n+#: includes\u002Fconstant-data.php:1205\n msgid \"\"\n \"Duration of extra service is not added to the main service, but recorded as \"\n \"a separate booking starting from selected appointment time. For example, if \"\n@@ -15846,24 +16715,24 @@\n \"main service.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1186\n+#: includes\u002Fconstant-data.php:1206\n msgid \"\"\n \"Upon successful submission, each extra service will create an appointment \"\n \"connected to (child of) the main appointment.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1187\n+#: includes\u002Fconstant-data.php:1207\n msgid \"As you click \\\"Add...\\\" button a new empty row will be inserted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1189\n+#: includes\u002Fconstant-data.php:1209\n msgid \"\"\n \"\u003Cb>Name field:\u003C\u002Fb> is the display name of the option which will be used in \"\n \"the pulldown menu on the confirmation form. Name field is always required to \"\n \"save a record.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1190\n+#: includes\u002Fconstant-data.php:1210\n msgid \"\"\n \"\u003Cb>+Price field:\u003C\u002Fb> is the \u003Cb>additional price\u003C\u002Fb> that will be added to \"\n \"the regular price in case this extra is selected. It can be empty (zero \"\n@@ -15871,7 +16740,7 @@\n \"leads to less cost for you.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1191\n+#: includes\u002Fconstant-data.php:1211\n msgid \"\"\n \"\u003Cb>Connected Post:\u003C\u002Fb> is an optional page that may be used to explain scope \"\n \"of supply of the extra. If this page has a WP post excerpt it will be used. \"\n@@ -15883,7 +16752,7 @@\n \"Advanced &rarr; Admin settings (Advanced Features addon is required). \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1192\n+#: includes\u002Fconstant-data.php:1212\n msgid \"\"\n \"\u003Cb>Applies to field:\u003C\u002Fb> defines for which services and\u002For provider \"\n \"selection(s) this option will be displayed. Multiple selection is possible. \"\n@@ -15892,7 +16761,7 @@\n \"option will always be available.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1193\n+#: includes\u002Fconstant-data.php:1213\n msgid \"\"\n \"\u003Cb>With match field:\u003C\u002Fb> defines how multiple selections of \\\"applies to\\\" \"\n \"setting will be handled. \\\"Any match\\\" will result in the option to be \"\n@@ -15909,7 +16778,7 @@\n \"settings except \\\"applies to\\\" is \\\"Sample Service, SP B\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1194\n+#: includes\u002Fconstant-data.php:1214\n msgid \"\"\n \"\u003Cb>For users field:\u003C\u002Fb> defines to whom this option will be displayed. That \"\n \"is, clients having selected WP user role will be eligible to view and select \"\n@@ -15920,7 +16789,7 @@\n \"offer role specific options to your members.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1195\n+#: includes\u002Fconstant-data.php:1215\n msgid \"\"\n \"\u003Cb>Valid for field:\u003C\u002Fb> defines what type of date selections will make this \"\n \"option visible. \\\"Fixed range\\\" will make the option visible for \"\n@@ -15932,7 +16801,7 @@\n \"setting will make date limitation void and date\u002Ftime fields will be hidden.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1196\n+#: includes\u002Fconstant-data.php:1216\n msgid \"\"\n \"\u003Cb>From, To fields:\u003C\u002Fb> define time range of the appointment for which \"\n \"option is visible. Selected values are included in the range, e.g. 10:00 \"\n@@ -15944,24 +16813,24 @@\n \"the appointment submission is made for, NOT time of the submission.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1197\n+#: includes\u002Fconstant-data.php:1217\n msgid \"\"\n \"You can add as many records (extras) as you wish and they will only be saved \"\n \"after you hit Save Records button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1198\n+#: includes\u002Fconstant-data.php:1218\n msgid \"\"\n \"New inserted record(s) will not be saved unless you fill in the \\\"Name\\\" \"\n \"field and click \\\"Save Extras\\\" button (Save button is only visible if there \"\n \"is at least one record added).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1199\n+#: includes\u002Fconstant-data.php:1219\n msgid \"To delete a record empty \\\"Name\\\" field and Save.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1200\n+#: includes\u002Fconstant-data.php:1220\n msgid \"\"\n \"A record becomes inactive if selected dates are impossible to apply, for \"\n \"example From value is later than To value (Equal From and To values do not \"\n@@ -15969,73 +16838,73 @@\n \"shown faded and they are not visible as option on the front end in any case.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1201\n+#: includes\u002Fconstant-data.php:1221\n msgid \"\"\n \"If no records match to the booking submission, select extras pulldown menu \"\n \"will not be displayed to the client.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1202\n+#: includes\u002Fconstant-data.php:1222\n msgid \"\"\n \"Sorting: Extras are displayed in the order as displayed in the list. To \"\n \"change the sort order, select the row with your mouse and move the complete \"\n \"row to the new position (drag and drop) and then click Save.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1213\n+#: includes\u002Fconstant-data.php:1233\n #, php-format\n msgid \"\"\n \"Group Bookings addon allows your clients book for more than one person\u002Fseat \"\n \"(also called %s) for the service for any time slot.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1213\n+#: includes\u002Fconstant-data.php:1233\n msgid \"pax\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1214\n+#: includes\u002Fconstant-data.php:1234\n msgid \"\"\n \"In order to work, capacity of the service should be greater than 1, set \"\n \"either by number of service providers or by manual capacity setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1215\n+#: includes\u002Fconstant-data.php:1235\n msgid \"To activate Group Bookings for a service, click \u003Cb>Enable\u003C\u002Fb> checkbox.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1216\n+#: includes\u002Fconstant-data.php:1236\n msgid \"\"\n \"When minimum value is entered, client cannot apply for less than this \"\n \"number. If left empty, minimum selection will be taken as 1.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1217\n+#: includes\u002Fconstant-data.php:1237\n msgid \"\"\n \"When maximum value is entered, client cannot apply for greater than this \"\n \"number. If left empty or set higher than capacity of the service, maximum \"\n \"selection will be set to capacity value.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1218\n+#: includes\u002Fconstant-data.php:1238\n msgid \"\"\n \"\\\"Slot closed from pax\\\" defines number of booked pax\u002Fseats after which slot \"\n \"will be regarded as busy. If you want to serve a single group, set this \"\n \"field equal to minimum selectable.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1219\n+#: includes\u002Fconstant-data.php:1239\n msgid \"\"\n \"While entering minimum and maximum selection values are optional, they can \"\n \"be set to the same number, e.g. to sell a fixed number of seats.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1220\n+#: includes\u002Fconstant-data.php:1240\n msgid \"\"\n \"You can select to ask participants' details on the confirmation form by \"\n \"\u003Cb>participant fields\u003C\u002Fb> settings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1221\n+#: includes\u002Fconstant-data.php:1241\n msgid \"\"\n \"Name, email, phone and address of the participants may be selected to be \"\n \"filled separately. \\\"No\\\" means that field will not be displayed. \"\n@@ -16044,7 +16913,7 @@\n \"submitted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1222\n+#: includes\u002Fconstant-data.php:1242\n msgid \"\"\n \"If enabled for the current service, \u003Ccode>[app_book]\u003C\u002Fcode> will \"\n \"automatically add a selection dropdown menu after service selection menu. A \"\n@@ -16052,33 +16921,33 @@\n \"this menu in case of modular shortcodes.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1223\n+#: includes\u002Fconstant-data.php:1243\n msgid \"\"\n \"When group bookings is enabled for a service, a \\\"G\\\" will be seen on top-\"\n \"right of service ID in the List of Services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1224\n+#: includes\u002Fconstant-data.php:1244\n msgid \"\"\n \"When client makes a new pax selection, Booking Views will be automatically \"\n \"updated and free slots will be displayed based on the new pax selection and \"\n \"actual available space. Price will be calculated as regular price times pax.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1225\n+#: includes\u002Fconstant-data.php:1245\n msgid \"\"\n \"When client checks out, a single booking will be created with the submitted \"\n \"pax. This value can be manually changed on admin Bookings page, if required.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1226\n+#: includes\u002Fconstant-data.php:1246\n msgid \"\"\n \"Group Bookings can be used in combination with any other addon. For example \"\n \"when used in combination with Shopping Cart, client can select pax for each \"\n \"item separately.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1227\n+#: includes\u002Fconstant-data.php:1247\n msgid \"\"\n \"\u003Cb>Person Types\u003C\u002Fb> are optional. When you don't define any person types on \"\n \"the front end client selects \\\"number of guests\\\". When you define person \"\n@@ -16086,37 +16955,37 @@\n \"number for each person type.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1228\n+#: includes\u002Fconstant-data.php:1248\n msgid \"\"\n \"Total pax is calculated from submitted person type selection times \u003Cb>pax \"\n \"value\u003C\u002Fb>. For example, for a \\\"Couples\\\" person type you can set pax value \"\n \"as 2.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1229\n+#: includes\u002Fconstant-data.php:1249\n msgid \"\"\n \"Pax value can be zero for person types that do not take space, but to be \"\n \"charged to the client, for example \\\"infants\\\" or \\\"pets\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1230\n+#: includes\u002Fconstant-data.php:1250\n #, php-format\n msgid \"\"\n \"Format of person types displayed in confirmation form, dialogs and emails \"\n \"can be set at %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1241\n+#: includes\u002Fconstant-data.php:1261\n msgid \"\"\n \"You can optionally add as many User Defined Fields (UDF) as you wish. Then \"\n \"these UDFs can be used in the confirmation form.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1242\n+#: includes\u002Fconstant-data.php:1262\n msgid \"As you click \\\"Add New UDF\\\" button a new empty row will be inserted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1243\n+#: includes\u002Fconstant-data.php:1263\n msgid \"\"\n \"\u003Cb>ID field:\u003C\u002Fb> is automatically given by the system and it is unique. You \"\n \"can use this ID in other settings to evaluate submitted values. For example, \"\n@@ -16124,14 +16993,14 @@\n \"with ID=1 submitted by the client.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1244\n+#: includes\u002Fconstant-data.php:1264\n msgid \"\"\n \"\u003Cb>Name field:\u003C\u002Fb> You can use anything as the UDF name here, but it is \"\n \"recommended to be unique if you plan to call it in your customization codes \"\n \"using the name, instead of ID.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1245\n+#: includes\u002Fconstant-data.php:1265\n msgid \"\"\n \"\u003Cb>Type field:\u003C\u002Fb> Select type of the form field. In addition to standard \"\n \"HTML fields (text, text area, pulldown menu, checkbox) the following \"\n@@ -16143,7 +17012,7 @@\n \"This field is not displayed at the front end in desktop devices.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1246\n+#: includes\u002Fconstant-data.php:1266\n msgid \"\"\n \"\u003Cb>Front End field:\u003C\u002Fb> UDFs marked as Front End will be displayed in the \"\n \"confirmation form. Note: If a UDF is specifically selected in an attribute \"\n@@ -16151,26 +17020,26 @@\n \"visible regardless of this setting.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1247\n+#: includes\u002Fconstant-data.php:1267\n msgid \"\"\n \"\u003Cb>Required field:\u003C\u002Fb> Check the checkbox if you want to set filling of the \"\n \"field as mandatory. If a field is set as required and it is visible, client \"\n \"will get a warning message if he submits the field empty.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1248\n+#: includes\u002Fconstant-data.php:1268\n msgid \"\"\n \"\u003Cb>Editable field:\u003C\u002Fb> Check the checkbox if you want to allow users edit \"\n \"this field value in their profile pages or in Front End Edit popup.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1249\n+#: includes\u002Fconstant-data.php:1269\n msgid \"\"\n \"\u003Cb>Register (Registration) field:\u003C\u002Fb> Requires Marketplace addon. Check the \"\n \"checkbox if you want this field to be included in vendor registration form.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1250\n+#: includes\u002Fconstant-data.php:1270\n msgid \"\"\n \"\u003Cb>Options field:\u003C\u002Fb> 1) For text, textarea and phone fields, this is the \"\n \"placeholder value. 2) For pulldown menu, values separated by commas will be \"\n@@ -16188,26 +17057,26 @@\n \"empty html is outputted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1251\n+#: includes\u002Fconstant-data.php:1271\n msgid \"\"\n \"You can add as many records (fields) as you wish and they will only be saved \"\n \"after you hit Save UDF button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1252\n+#: includes\u002Fconstant-data.php:1272\n msgid \"\"\n \"New inserted field(s) will not be saved unless you fill in the name field \"\n \"and click \\\"Save UDFs\\\" button (Save button is only visible if there is at \"\n \"least one record added).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1253\n+#: includes\u002Fconstant-data.php:1273\n msgid \"\"\n \"The inserted field will be visible in appointments records and you can edit \"\n \"submitted values for each appointment there.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1255\n+#: includes\u002Fconstant-data.php:1275\n msgid \"\"\n \"\u003Cb>Sorting:\u003C\u002Fb> On front end items are displayed according to the order \"\n \"here, as default. To make a custom sorting, select the row with your mouse \"\n@@ -16218,13 +17087,13 @@\n \"fields on the form in the order as they are written: name, udf_3 and udf_1.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1266\n+#: includes\u002Fconstant-data.php:1286\n msgid \"\"\n \"Selectable Durations allow your clients pick desired duration of service on \"\n \"the front end by a pull down menu.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1267\n+#: includes\u002Fconstant-data.php:1287\n #, php-format\n msgid \"\"\n \"This menu is automatically displayed by \u003Ccode>[app_book]\u003C\u002Fcode>. If you are \"\n@@ -16234,11 +17103,11 @@\n \"shortcodes see %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1267\n+#: includes\u002Fconstant-data.php:1287\n msgid \"related help page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1268\n+#: includes\u002Fconstant-data.php:1288\n #, php-format\n msgid \"\"\n \"You can limit which durations are selectable on the front end using the \"\n@@ -16249,7 +17118,7 @@\n \"base.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1269\n+#: includes\u002Fconstant-data.php:1289\n msgid \"\"\n \"To activate the selectable durations feature for a particular service, check \"\n \"the \\\"Enable\\\" checkbox and select at least 2 durations. It is allowed, but \"\n@@ -16258,14 +17127,14 @@\n \"this value may be confusing.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1270\n+#: includes\u002Fconstant-data.php:1290\n msgid \"\"\n \"If you want service price to be fixed at regular price regardless of \"\n \"selected duration, select \\\"Calculate price from\\\" field as \\\"Unit price\\\" \"\n \"and leave \\\"Unit price\\\" field as empty.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1271\n+#: includes\u002Fconstant-data.php:1291\n msgid \"\"\n \"If you want to apply service price based on duration selection, you have two \"\n \"options with \\\"Calculate price from\\\" setting: a) \\\"Unit price\\\" selection \"\n@@ -16274,37 +17143,37 @@\n \"each individual duration.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1272\n+#: includes\u002Fconstant-data.php:1292\n msgid \"\"\n \"If you set a unit price, regular price of the service will also be matched \"\n \"to this value. For example, for a 30 minutes service if you enter $100 as \"\n \"unit price, regular price will be automatically set to $50.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1273\n+#: includes\u002Fconstant-data.php:1293\n msgid \"Unit price is also effective for Time Variant durations.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1274\n+#: includes\u002Fconstant-data.php:1294\n msgid \"\"\n \"If both Selectable Durations and Time Variant Durations are enabled, for \"\n \"overlapping time slots the latter one has priority.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1275\n+#: includes\u002Fconstant-data.php:1295\n msgid \"\"\n \"Selectable Durations and Recurring Appointments can be used in combination. \"\n \"For example, client can select 1, 2 or 4 hours of a service recurring every \"\n \"week for 1 to 8 weeks.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1276 includes\u002Fconstant-data.php:1413\n+#: includes\u002Fconstant-data.php:1296 includes\u002Fconstant-data.php:1433\n msgid \"\"\n \"Selectable duration is not possible for bundles. If Service Bundles is \"\n \"active, durations cannot be selected on the front end.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1287\n+#: includes\u002Fconstant-data.php:1307\n msgid \"\"\n \"Time and SP Variant Durations allow you preset different service durations \"\n \"for different week days and times. For example you can set a service to last \"\n@@ -16312,27 +17181,27 @@\n \"afternoons.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1288\n+#: includes\u002Fconstant-data.php:1308\n msgid \"\"\n \"It is also possible to set different durations for different service \"\n \"providers, for example if a particular service provider is slower than the \"\n \"others.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1289\n+#: includes\u002Fconstant-data.php:1309\n msgid \"\"\n \"The regular duration of the service is overridden if a row of settings \"\n \"(called a \\\"rule\\\") matches with the selected service provider and date\u002Ftime.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1290\n+#: includes\u002Fconstant-data.php:1310\n msgid \"\"\n \"To activate the selectable durations feature for a particular service, check \"\n \"the \\\"Enable\\\" checkbox and add at least one rule by clicking \\\"Add Rule\\\" \"\n \"button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1291\n+#: includes\u002Fconstant-data.php:1311\n msgid \"\"\n \"In the inserted new row, select the desired new duration, service provider, \"\n \"week day and time for which rule will be effective. Selected from\u002Fto values \"\n@@ -16341,26 +17210,26 @@\n \"of the slot.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1292\n+#: includes\u002Fconstant-data.php:1312\n msgid \"\"\n \"If you have the same rule for multiple days of the week, simply add a rule \"\n \"for each day.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1293\n+#: includes\u002Fconstant-data.php:1313\n msgid \"\"\n \"In case there are more than one matching rules, you can select the rule to \"\n \"be applied: First match, last match, min duration, max duration and regular \"\n \"duration.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1294\n+#: includes\u002Fconstant-data.php:1314\n msgid \"\"\n \"You can custom sort the rules by selecting the rule row with mouse and move \"\n \"it to the selected position.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1295\n+#: includes\u002Fconstant-data.php:1315\n msgid \"\"\n \"If you want to apply service price based on duration of the service, fill in \"\n \"the Unit Price field in Selectable Durations part. If you leave this field \"\n@@ -16368,13 +17237,13 @@\n \"selected duration.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1296\n+#: includes\u002Fconstant-data.php:1316\n msgid \"\"\n \"If both Selectable Durations and Time Variant Durations are enabled, the \"\n \"latter one has priority provided that at least a rule matches.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1297 includes\u002Fconstant-data.php:1316\n+#: includes\u002Fconstant-data.php:1317 includes\u002Fconstant-data.php:1336\n msgid \"\"\n \"Time & SP Variant Durations and Recurring Appointments can be used in \"\n \"combination. For example if a 2 hours training is set to be 4 hours at the \"\n@@ -16383,7 +17252,7 @@\n \"from unit price.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1298\n+#: includes\u002Fconstant-data.php:1318\n msgid \"\"\n \"Time & SP Variant Durations selection is not meaningful for a package, \"\n \"because the duration of a package is determined by its jobs. You can use \"\n@@ -16396,21 +17265,21 @@\n \"minutes, not 120.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1309\n+#: includes\u002Fconstant-data.php:1329\n msgid \"\"\n \"Recurring Appointments addon allows your clients pick number of repeats of \"\n \"service on the front end by two pull down menus (Number of repeats and \"\n \"recurrence frequency).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1310\n+#: includes\u002Fconstant-data.php:1330\n msgid \"\"\n \"You can select which recurrence frequencies (called repeat units), are \"\n \"available to the client on the front end e.g. daily, weekly, monthly. To do \"\n \"so, select desired repeat units by checking \u003Cb>Allow\u003C\u002Fb> checkbox.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1311\n+#: includes\u002Fconstant-data.php:1331\n #, php-format\n msgid \"\"\n \"You can also select maximum number of repeats for each repeat unit by \"\n@@ -16420,7 +17289,7 @@\n \"8.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1312\n+#: includes\u002Fconstant-data.php:1332\n msgid \"\"\n \"There are 4 monthly modes each having different behaviour. \u003Cu>Choose only \"\n \"one of them\u003C\u002Fu>. When client attempts to pick 31st of January (2025) for 4 \"\n@@ -16438,14 +17307,14 @@\n \"the other way around.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1313\n+#: includes\u002Fconstant-data.php:1333\n msgid \"\"\n \"To activate recurring feature of a service, \u003Cb>Enabled\u003C\u002Fb> checkbox should \"\n \"be checked and at least one repeat unit should be marked as \\\"Allow\\\". Max \"\n \"fields can be left empty.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1314\n+#: includes\u002Fconstant-data.php:1334\n msgid \"\"\n \"One of the cool features of the addon is customizing front end selection \"\n \"menu using \u003Cb>View of the menu\u003C\u002Fb> field. REPEAT_UNIT and REPEAT \"\n@@ -16459,20 +17328,20 @@\n \"there is only one allowed repeat unit.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1315\n+#: includes\u002Fconstant-data.php:1335\n msgid \"\"\n \"When a service is enabled and correctly configured as recurring, a \\\"R\\\" \"\n \"will be seen on top-right of service ID in the List of Services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1317\n+#: includes\u002Fconstant-data.php:1337\n msgid \"\"\n \"Recurring Appointments and Selectable Durations can be used in combination. \"\n \"For example, client can select 1, 2 or 4 hours of a service recurring every \"\n \"week for 1 to 8 weeks (numbers are arbitrary).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1318\n+#: includes\u002Fconstant-data.php:1338\n msgid \"\"\n \"Recurring Appointments and Service Bundles can be used in combination. For \"\n \"an example see Service Bundles addon. Please note that both addons require \"\n@@ -16486,28 +17355,28 @@\n \"consider using \\\"Book Now Single Button\\\" instead of calendar view.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1319\n+#: includes\u002Fconstant-data.php:1339\n msgid \"\"\n \"You may consider using Shopping Cart in combination with Recurring \"\n \"Appointments. Then your client can remove unsuitable time slots on the \"\n \"confirmation form and add preferred ones.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1330\n+#: includes\u002Fconstant-data.php:1350\n msgid \"\"\n \"Extended Service Features addon extends existing functionality and adds new \"\n \"ones to services. As a part of it, in Limits area you can \\\"fine tune\\\" \"\n \"settings for various limits per service.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1331\n+#: includes\u002Fconstant-data.php:1351\n msgid \"\"\n \"Limits for booking, cancelling and editing are already available globally, \"\n \"which means there is only one setting for each limit which is valid for all \"\n \"services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1332\n+#: includes\u002Fconstant-data.php:1352\n msgid \"\"\n \"Settings here, however, allow to define every one of them individually and \"\n \"more precisely (in minutes instead of hours) for each service. If you leave \"\n@@ -16516,13 +17385,13 @@\n \"setting with zero for that service.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1333\n+#: includes\u002Fconstant-data.php:1353\n msgid \"\"\n \"These settings also allow you to set different limits for weekday (Monday to \"\n \"Friday), weekends (Saturday and Sunday) and for definable special days.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1334\n+#: includes\u002Fconstant-data.php:1354\n msgid \"\"\n \"For Lower Limit, Editing Limit and Cancellation Limit, the day here \"\n \"corresponds to the day that that appointment starts. In case of Upper Limit, \"\n@@ -16532,7 +17401,7 @@\n \"to close booking *on* (not *for*) certain dates.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1335\n+#: includes\u002Fconstant-data.php:1355\n msgid \"\"\n \"Special Days can be defined in its tab by clicking \\\"Special Days\\\" link in \"\n \"the settings or by directly clicking the tab. Simply select your special \"\n@@ -16540,52 +17409,52 @@\n \"following years.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1336\n+#: includes\u002Fconstant-data.php:1356\n msgid \"\"\n \"Special Days are used in common with Quotas addon. Special days defined here \"\n \"are valid for both addons.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1337\n+#: includes\u002Fconstant-data.php:1357\n msgid \"\"\n \"\u003Cb>Lower limit\u003C\u002Fb> (also called lead time) is the minimum time between start \"\n \"of the appointment and submission time to book for it.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1338\n+#: includes\u002Fconstant-data.php:1358\n msgid \"\"\n \"\u003Cb>Upper limit\u003C\u002Fb> is the number of days that a client can apply for an \"\n \"appointment in advance, counted from submission date.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1339\n+#: includes\u002Fconstant-data.php:1359\n msgid \"\"\n \"\u003Cb>Editing limit\u003C\u002Fb> is used in conjunction with Front End Edit addon and it \"\n \"is the minimum time between start of the appointment and start and finish \"\n \"editing.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1340\n+#: includes\u002Fconstant-data.php:1360\n msgid \"\"\n \"\u003Cb>Cancellation limit\u003C\u002Fb> is the minimum time between start of the \"\n \"appointment and attempt to cancel a booking.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1351\n+#: includes\u002Fconstant-data.php:1371\n msgid \"\"\n \"\u003Cb>Service Properties\u003C\u002Fb> tab displays service creation data, owner (author) \"\n \"and allows admin to set service description and image to be displayed in \"\n \"Service Selection Slider or Service Selection Menu tooltips.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1352\n+#: includes\u002Fconstant-data.php:1372\n msgid \"\"\n \"\u003Cb>Owner\u003C\u002Fb> determines the provider who can edit and delete the service. \"\n \"When provider creates a service, he\u002Fshe is automatically added here. Then \"\n \"admin can change\u002Fremove the provider or add new ones.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1354\n+#: includes\u002Fconstant-data.php:1374\n msgid \"\"\n \"\u003Cb>Description and Featured Image\u003C\u002Fb> are used when no Connected Post is \"\n \"defined. If there is a Connected Post, then description is taken from post \"\n@@ -16594,12 +17463,12 @@\n \"specifically selected for.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1355\n+#: includes\u002Fconstant-data.php:1375\n #, php-format\n msgid \"Admin can hide this tab by setting %s as No, so providers cannot edit.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1366\n+#: includes\u002Fconstant-data.php:1386\n msgid \"\"\n \"Quotas addon allows you to limit number of bookings of logged-in clients for \"\n \"each service for certain time intervals, namely for weekdays (Monday to \"\n@@ -16608,7 +17477,7 @@\n \"bookings of the clients in those intervals.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1367\n+#: includes\u002Fconstant-data.php:1387\n msgid \"\"\n \"To activate Quotas, simply enter quotas (number of bookings limit) in the \"\n \"related fields of the service which are visible when you click the \\\"More\\\" \"\n@@ -16616,7 +17485,7 @@\n \"limitation for that interval.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1368\n+#: includes\u002Fconstant-data.php:1388\n msgid \"\"\n \"While checking if quotas are full or not, previous bookings are queried for \"\n \"appointment start times, but not for the submission date\u002Ftimes. Quotas addon \"\n@@ -16624,7 +17493,7 @@\n \"appointments.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1369\n+#: includes\u002Fconstant-data.php:1389\n msgid \"\"\n \"Each interval is evaluated separately and none of the quotas must be reached \"\n \"or exceeded to make that time interval available to the client. For example, \"\n@@ -16636,7 +17505,7 @@\n \"also be blocked although there is no special quota setting for weekends).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1370\n+#: includes\u002Fconstant-data.php:1390\n msgid \"\"\n \"Special Days can be defined in its tab by clicking the \\\"Special Days\\\" link \"\n \"in the settings or by directly clicking the tab. Simply select your special \"\n@@ -16646,13 +17515,13 @@\n \"client books for 14th of February, he can still book for 31st of December.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1371\n+#: includes\u002Fconstant-data.php:1391\n msgid \"\"\n \"Special Days are used in common with Extended Service Features addon. \"\n \"Special days defined here are applied to both addons.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1372\n+#: includes\u002Fconstant-data.php:1392\n msgid \"\"\n \"Except for Total Upcoming case, booking statuses used in quota evaluation \"\n \"are \\\"upcoming\\\" (pending, paid, confirmed), \\\"running now\\\" and \"\n@@ -16665,7 +17534,7 @@\n \"way, and so on.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1373\n+#: includes\u002Fconstant-data.php:1393\n msgid \"\"\n \"Total Upcoming setting defines the limit for total number of upcoming \"\n \"(pending, paid, confirmed), in other words, open bookings. This can be \"\n@@ -16673,27 +17542,27 @@\n \"time, say 1 year.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1374\n+#: includes\u002Fconstant-data.php:1394\n msgid \"\"\n \"To modify booking statuses used in quotas and thus changing the above \"\n \"explained bahaviour, two different filter hooks are also provided.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1375\n+#: includes\u002Fconstant-data.php:1395\n #, php-format\n msgid \"\"\n \"Note that quotas only work for logged in clients. Therefore you may want to \"\n \"set logging in mandatory by adjusting %s as Yes.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1376\n+#: includes\u002Fconstant-data.php:1396\n msgid \"\"\n \"As the main idea of quotas is managing limited resources, in this case which \"\n \"is services and service providers whose working hours are saved based on \"\n \"server timezone, client timezone is not taken into account.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1387\n+#: includes\u002Fconstant-data.php:1407\n msgid \"\"\n \"Service Bundles (formerly Packages) Addon allows you to combine \u003Cb>two or \"\n \"more services\u003C\u002Fb> (each of them is called a \u003Cb>job\u003C\u002Fb>) and sell them as if \"\n@@ -16701,14 +17570,14 @@\n \"cut and manicure services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1388\n+#: includes\u002Fconstant-data.php:1408\n msgid \"\"\n \"Jobs can start at the same time, can be back-to-back or separated with \"\n \"preselected time in minutes or days. To do so, a \u003Cb>delay\u003C\u002Fb> setting is \"\n \"provided for each job that will be used to wait for the next job to start.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1389\n+#: includes\u002Fconstant-data.php:1409\n msgid \"\"\n \"\u003Cb>Delay\u003C\u002Fb> value is calculated from starting of the current job. Therefore \"\n \"in a package \\\"hair cut - 60 minutes delay - manicure\\\" where both services \"\n@@ -16716,21 +17585,21 @@\n \"back.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1390\n+#: includes\u002Fconstant-data.php:1410\n msgid \"\"\n \"Entering zero delay means current and next job will be served at the same \"\n \"time. Hair cut - no delay - manicure will result in two services being \"\n \"booked for the same time slot.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1391\n+#: includes\u002Fconstant-data.php:1411\n #, php-format\n msgid \"\"\n \"If in minutes, delay time should be multiple of the %s. If it is not set so, \"\n \"it will be automatically rounded during save.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1392\n+#: includes\u002Fconstant-data.php:1412\n msgid \"\"\n \"You may want to use \u003Cb>internal\u003C\u002Fb> services in bundles. An internal service \"\n \"is a service which cannot be directly booked on the front end. For example, \"\n@@ -16739,7 +17608,7 @@\n \"be set as internal.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1393\n+#: includes\u002Fconstant-data.php:1413\n msgid \"\"\n \"\u003Cb>Delay\u003C\u002Fb> setting in bundles allows micro-managing working hours. In hair \"\n \"dying example in between dying and dye processing there is a one hour \"\n@@ -16748,7 +17617,7 @@\n \"minutes gap, service provider is available for another client.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1394\n+#: includes\u002Fconstant-data.php:1414\n msgid \"\"\n \"Some or all of the jobs can be the same service. For example for a training \"\n \"course (T) and 1 day delay (1DD), you can define such a package (TP\u002F1W): \"\n@@ -16757,14 +17626,14 @@\n \"booking for only Mondays is possible.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1395\n+#: includes\u002Fconstant-data.php:1415\n msgid \"\"\n \"Other bundles can be selected as jobs. For example we can create a 2 weeks \"\n \"training course from the above example: TP\u002F2W = TP\u002F1W-7DD-TP\u002F1W. This may be \"\n \"further used for a 4 weeks package: TP\u002F4W = TP\u002F2W-14DD-TP\u002F2W\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1396\n+#: includes\u002Fconstant-data.php:1416\n msgid \"\"\n \"Service Bundles as jobs have a default maximum nesting depth of 2. This \"\n \"means Package 1 may include Package 2 as a job including Package 3 as a job, \"\n@@ -16773,7 +17642,7 @@\n \"cannot include 1 or 2. Obviously, a package cannot include itself as a job.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1397\n+#: includes\u002Fconstant-data.php:1417\n msgid \"\"\n \"\u003Cb>Sequence\u003C\u002Fb> is the order of the jobs. In the first example, WP BASE will \"\n \"search for availability of first hair cut and then manicure, but we may \"\n@@ -16781,7 +17650,7 @@\n \"as a second sequence: Manicure - 60 minutes delay - hair cut.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1398\n+#: includes\u002Fconstant-data.php:1418\n msgid \"\"\n \"For each possible and desired combination of the order of jobs, you need to \"\n \"define a sequence. In theory you can add as many sequences as you wish, \"\n@@ -16790,13 +17659,13 @@\n \"jobs are served at the same time.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1399\n+#: includes\u002Fconstant-data.php:1419\n msgid \"\"\n \"In hair dying example we would not want another sequence, because dye \"\n \"processing cannot be earlier than dying.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1400\n+#: includes\u002Fconstant-data.php:1420\n msgid \"\"\n \"The order of sequences may be important. During creating free time slots on \"\n \"the front end, WP BASE will start checking availability of the first \"\n@@ -16806,27 +17675,27 @@\n \"below.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1401\n+#: includes\u002Fconstant-data.php:1421\n msgid \"\"\n \"First of all create your services that will make the package (which will be \"\n \"jobs of the package), because only saved services can be selected when \"\n \"configuring a package.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1402\n+#: includes\u002Fconstant-data.php:1422\n msgid \"\"\n \"Then you should add a sequence: A package must have at least one sequence. \"\n \"To create a sequence, click \\\"Add Sequence\\\" button. A new row with \\\"Add \"\n \"Job\\\" button will be inserted.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1403\n+#: includes\u002Fconstant-data.php:1423\n msgid \"\"\n \"Click \\\"Add Job\\\" button to add a new job to the sequence. Select the \"\n \"service and desired delay for the job.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1404\n+#: includes\u002Fconstant-data.php:1424\n msgid \"\"\n \"Continue adding jobs and setting them as much as required. At least two jobs \"\n \"are required per sequence. Tip: Recently added job copies adjustments of the \"\n@@ -16835,47 +17704,47 @@\n \"the package quite easy.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1405\n+#: includes\u002Fconstant-data.php:1425\n msgid \"Continue adding sequences and jobs for them as long as required.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1406\n+#: includes\u002Fconstant-data.php:1426\n msgid \"You can set bundles for other services in the same manner in parallel.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1407\n+#: includes\u002Fconstant-data.php:1427\n msgid \"To activate the service bundles feature, check the \\\"Enable\\\" checkbox.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1408\n+#: includes\u002Fconstant-data.php:1428\n msgid \"Click \\\"Save Services\\\" button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1409\n+#: includes\u002Fconstant-data.php:1429\n msgid \"\"\n \"To make a custom sorting (moving a sequence to an upper or lower position), \"\n \"select the sequence row with your mouse and move it to the new position.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1410\n+#: includes\u002Fconstant-data.php:1430\n msgid \"\"\n \"You can delete a job by selecting \\\"Delete job\\\" selection (or leave as \"\n \"\\\"Select Service\\\" before save) and saving services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1411\n+#: includes\u002Fconstant-data.php:1431\n msgid \"\"\n \"A sequence is automatically cleared when there are no jobs or one job left, \"\n \"because at least 2 jobs are required to make a package.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1412\n+#: includes\u002Fconstant-data.php:1432\n msgid \"\"\n \"When a service is enabled and correctly configured as a package, a \\\"P\\\" \"\n \"will be seen on top-right of service ID in the List of Services.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1414\n+#: includes\u002Fconstant-data.php:1434\n msgid \"\"\n \"Time & SP Variant Durations selection is not meaningful for a package, \"\n \"because the duration of a package is determined by its jobs. You can use \"\n@@ -16883,7 +17752,7 @@\n \"package, however.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1415\n+#: includes\u002Fconstant-data.php:1435\n msgid \"\"\n \"Service Bundles and Recurring Appointments can be used in combination. For \"\n \"the 5 days training package example, you can let the client pick week as \"\n@@ -16891,11 +17760,11 @@\n \"Regular price will be number of repeats multiplied by package price.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1416\n+#: includes\u002Fconstant-data.php:1436\n msgid \"Service Bundles cannot be edited using Front End Edit.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1417\n+#: includes\u002Fconstant-data.php:1437\n msgid \"\"\n \"Other application examples: Service Bundles is a powerful tool that can be \"\n \"used in various applications for which other similar plugins will fail to \"\n@@ -16907,7 +17776,7 @@\n \"there is only 2 workers available, but assign 3 if possible.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1418\n+#: includes\u002Fconstant-data.php:1438\n msgid \"\"\n \"Another real life example: Sometimes dentists call another expert dentist \"\n \"for delicate operations. Service Bundles addon can manage such an \"\n@@ -16920,7 +17789,7 @@\n \"he wishes.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1419\n+#: includes\u002Fconstant-data.php:1439\n msgid \"\"\n \"Services longer than 24 hours: You can combine jobs of the same service to \"\n \"create a package lasting more than 24 hours. For example, by adding 3 jobs \"\n@@ -16929,13 +17798,13 @@\n \"from a single 36 hours service, depending on the Booking View used.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1420\n+#: includes\u002Fconstant-data.php:1440\n msgid \"\"\n \"Service Bundles do not have their own working hours, holidays, capacity and \"\n \"padding settings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1421\n+#: includes\u002Fconstant-data.php:1441\n msgid \"\"\n \"While real duration of a package comes from its jobs and delays, you can \"\n \"still set \u003Cb>duration\u003C\u002Fb> for a package which determines its availability \"\n@@ -16944,51 +17813,51 @@\n \"can set 12 hours.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1432\n+#: includes\u002Fconstant-data.php:1452\n msgid \"\"\n \"Waiting List allows you to define an additional capacity for your services \"\n \"for which clients can apply when desired time slot is fully booked.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1433\n+#: includes\u002Fconstant-data.php:1453\n msgid \"\"\n \"To activate the waiting list feature for a particular service, check the \"\n \"\\\"Enable\\\" checkbox and enter a capacity greater than zero.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1434\n+#: includes\u002Fconstant-data.php:1454\n msgid \"\"\n \"When client selects a time slot with waiting list and checkouts, it will be \"\n \"saved as a regular booking except its status being \\\"waiting\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1435\n+#: includes\u002Fconstant-data.php:1455\n msgid \"\"\n \"When there is an opening in the selected slot, clients in the waiting list \"\n \"will get a notification email.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1436\n+#: includes\u002Fconstant-data.php:1456\n msgid \"\"\n \"If they choose to respond the link in this email and selected time slot is \"\n \"still free their booking will be automatically confirmed. It is possible to \"\n \"pay from digital wallet using Digital Wallet addon.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1447\n+#: includes\u002Fconstant-data.php:1467\n msgid \"\"\n \"With \u003Cb>WooCommerce Integration\u003C\u002Fb> Addon, you can sell your services as \"\n \"WooCommerce (WC) products with other WP BASE services or WC physical\u002Fdigital \"\n \"products using cart and payment gateways provided by WC.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1448 includes\u002Fconstant-data.php:1465\n+#: includes\u002Fconstant-data.php:1468 includes\u002Fconstant-data.php:1485\n msgid \"\"\n \"To do so, first set \\\"Enable Integration\\\" as Yes and create a product page \"\n \"by clicking the \\\"Create a Booking Page\\\" button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1449\n+#: includes\u002Fconstant-data.php:1469\n msgid \"\"\n \"WP BASE adds \u003Ccode>[app_book]\u003C\u002Fcode> shortcode to the page and makes \"\n \"required product settings. Your services will be regarded as WC products and \"\n@@ -16996,7 +17865,7 @@\n \"selections as on a regular Make a Booking page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1450\n+#: includes\u002Fconstant-data.php:1470\n msgid \"\"\n \"Instead of selling all services on a single product page, if you want to \"\n \"sell a single service on an existing product page, add \u003Ccode>[app_book]\u003C\u002F\"\n@@ -17005,7 +17874,7 @@\n \"related service. Repeat this for all product\u002Fservice pairs.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1451\n+#: includes\u002Fconstant-data.php:1471\n msgid \"\"\n \"If you want to sell a group of services on an existing product page, collect \"\n \"them in a category or categories (e.g. 1, 3 ), add \u003Ccode>[app_book \"\n@@ -17014,19 +17883,19 @@\n \"this example, not WooCommerce product category.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1452\n+#: includes\u002Fconstant-data.php:1472\n msgid \"\"\n \"WP BASE will set the product as \\\"variable\\\" and make necessary adjustments \"\n \"automatically on the product settings.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1453\n+#: includes\u002Fconstant-data.php:1473\n msgid \"\"\n \"If a booking with \\\"In Cart\\\" status expire, client will see \\\"session \"\n \"expired\\\" message of WC and will not be allowed to proceed for payment.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1464\n+#: includes\u002Fconstant-data.php:1484\n msgid \"\"\n \"With \u003Cb>Easy Digital Downloads Integration\u003C\u002Fb> Addon, you can sell your \"\n \"services as Easy Digital Downloads (EDD) products with other WP BASE \"\n@@ -17034,14 +17903,14 @@\n \"provided by EDD.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1466\n+#: includes\u002Fconstant-data.php:1486\n msgid \"\"\n \"That is it! Now your services will be regarded as EDD products and your \"\n \"clients can add them to their shopping carts, making exactly the same \"\n \"selections as on a regular Make a Booking page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1467\n+#: includes\u002Fconstant-data.php:1487\n #, php-format\n msgid \"\"\n \"You can have as many such EDD booking pages as you wish and then select them \"\n@@ -17049,130 +17918,130 @@\n \"service=1]\u003C\u002Fcode> and on that page only Service 1 will be sold.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1467\n+#: includes\u002Fconstant-data.php:1487\n msgid \"Downloads Page\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1468\n+#: includes\u002Fconstant-data.php:1488\n msgid \"\"\n \"You can delete an EDD page without affecting existing bookings, except for \"\n \"those who are already in EDD cart.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1469\n+#: includes\u002Fconstant-data.php:1489\n msgid \"\"\n \"If a booking with \\\"In Cart\\\" status expire, client will see \\\"session \"\n \"expired\\\" message of EDD and will not be allowed to proceed for payment.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1480\n+#: includes\u002Fconstant-data.php:1500\n msgid \"\"\n \"You can integrate your Zoom account with the booking system, so that a Zoom \"\n \"audio\u002Fvideo meeting will be created at the time of the booking.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1481\n+#: includes\u002Fconstant-data.php:1501\n msgid \"\"\n \"[Only for admin] You can insert meeting variables into emails using these \"\n \"placeholders: ZOOM_ID, ZOOM_HOST, ZOOM_PASSWORD, ZOOM_JOIN, ZOOM_TOPIC, \"\n \"ZOOM_AGENDA.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1482\n+#: includes\u002Fconstant-data.php:1502\n msgid \"\"\n \"[Only for admin] In order to start using Zoom meeting, set \u003Cb>Enable \"\n \"Integration\u003C\u002Fb> as \\\"Yes\\\".\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1483\n+#: includes\u002Fconstant-data.php:1503\n msgid \"\"\n \"[Only for admin] Select \\\"Zoom Account Type\\\" setting depending on whether \"\n \"you have providers and whether they will use own accounts.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1484\n+#: includes\u002Fconstant-data.php:1504\n #, php-format\n msgid \"Create an account in %s if you don't have already.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1484\n+#: includes\u002Fconstant-data.php:1504\n msgid \"Zoom Website\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1485\n+#: includes\u002Fconstant-data.php:1505\n #, php-format\n msgid \"After you log in to your Zoom account visit %s.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1485\n+#: includes\u002Fconstant-data.php:1505\n msgid \"Zoom App Marketplace\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1486\n+#: includes\u002Fconstant-data.php:1506\n msgid \"Click \u003Cb>Create\u003C\u002Fb> button under \u003Cb>Server-to-Server OAuth\u003C\u002Fb> box.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1487\n+#: includes\u002Fconstant-data.php:1507\n msgid \"\"\n \"Give any name to App Name in the opening window, e.g. WP BASE. Fill in the \"\n \"required fields in the proceeding form.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1488\n+#: includes\u002Fconstant-data.php:1508\n msgid \"Click \u003Cb>API Credentials\u003C\u002Fb> link.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1489\n+#: includes\u002Fconstant-data.php:1509\n msgid \"\"\n \"Copy \u003Cb>Account ID\u003C\u002Fb>, \u003Cb>Client ID\u003C\u002Fb> and \u003Cb>Client Secret\u003C\u002Fb> values to \"\n \"the related fields on this page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1490\n+#: includes\u002Fconstant-data.php:1510\n msgid \"Fill in the fields on \u003Cb>Information\u003C\u002Fb> area.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1491\n+#: includes\u002Fconstant-data.php:1511\n msgid \"\"\n \"In \u003Cb>Scopes\u003C\u002Fb> area, select all options under \u003Cb>Meeting\u003C\u002Fb> and \u003Cb>User\u003C\u002F\"\n \"b>.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1492\n+#: includes\u002Fconstant-data.php:1512\n msgid \"Complete configuration on Zoom website in \u003Cb>Activation\u003C\u002Fb> area.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1493\n+#: includes\u002Fconstant-data.php:1513\n msgid \"Click \u003Cb>Save Settings\u003C\u002Fb> on WP BASE side.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1494\n+#: includes\u002Fconstant-data.php:1514\n msgid \"Click \u003Cb>Test Connection\u003C\u002Fb> button.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1495\n+#: includes\u002Fconstant-data.php:1515\n msgid \"If you receive an error message, double check API credentials.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1496\n+#: includes\u002Fconstant-data.php:1516\n msgid \"\"\n \"When you receive success message, select \u003Cb>Zoom Host\u003C\u002Fb> from the pulldown \"\n \"menu. Depending on your Zoom account type, there can be one or more users in \"\n \"the list.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1497\n+#: includes\u002Fconstant-data.php:1517\n msgid \"\"\n \"After clicking \u003Cb>Save Settings\u003C\u002Fb> button, Zoom Integration is complete.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1498\n+#: includes\u002Fconstant-data.php:1518\n msgid \"\"\n \"Clients can join to a meeting using \u003Cb>Join\u003C\u002Fb> button on their account \"\n \"page, or link in emails which will be created with ZOOM_JOIN placeholder.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1499\n+#: includes\u002Fconstant-data.php:1519\n msgid \"\"\n \"Providers can start a meeting using \u003Cb>Start\u003C\u002Fb> button on their account \"\n \"page, in Bookings tab. Admin can also start a meeting from admin side \"\n@@ -17182,26 +18051,26 @@\n \"by Zoom, for security reasons.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1510\n+#: includes\u002Fconstant-data.php:1530\n msgid \"\"\n \"You can integrate your Agora account with WP BASE, so that an Agora video \"\n \"meeting will be created at the time of the booking.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1521\n+#: includes\u002Fconstant-data.php:1541\n msgid \"\"\n \"You can integrate your Jitsi account with WP BASE, so that a Jitsi audio\u002F\"\n \"video meeting will be created at the time of the booking.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1534\n+#: includes\u002Fconstant-data.php:1554\n msgid \"\"\n \"Creates a complete booking interface with service and date\u002Ftime selection \"\n \"and confirmation, login forms and previous\u002Fnext buttons. This shortcode is \"\n \"by itself sufficent to create a functional booking page.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1536\n+#: includes\u002Fconstant-data.php:1556\n msgid \"\"\n \"Calendar or Table title for non-mobile devices. Placeholders \\\"START_END\\\",\"\n \"\\\"START\\\", \\\"END\\\", \\\"LOCATION\\\", \\\"WORKER\\\", \\\"SERVICE\\\" will be \"\n@@ -17209,49 +18078,49 @@\n \"value depends on the view type.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1537\n+#: includes\u002Fconstant-data.php:1557\n msgid \"Calendar or Table title for mobile devices. See \\\"title\\\" for details.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1538\n+#: includes\u002Fconstant-data.php:1558\n msgid \"\"\n \"Only with Locations Addon. Text above the location selection dropdown menu. \"\n \"Enter 0 for no title. Default: \\\"Location\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1539\n+#: includes\u002Fconstant-data.php:1559\n msgid \"\"\n \"Text above the service selection dropdown menu. Enter 0 for no title. \"\n \"Default: \\\"Service\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1540\n+#: includes\u002Fconstant-data.php:1560\n msgid \"\"\n \"Only with Service Providers Addon. Text above the provider selection \"\n \"dropdown menu. Enter 0 for no title. Default: \\\"Specialist\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1541\n+#: includes\u002Fconstant-data.php:1561\n msgid \"\"\n \"Only with Variable Durations Addon. Text above the duration selection \"\n \"dropdown menu. Enter 0 for no title. Default: \\\"Select duration\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1542\n+#: includes\u002Fconstant-data.php:1562\n msgid \"\"\n \"Only with Locations Addon. You can enter Location ID or name if you want \"\n \"location preselected and fixed. Note: Location name query is case \"\n \"insensitive. Default: \\\"0\\\" (Location is selected by dropdown).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1543\n+#: includes\u002Fconstant-data.php:1563\n msgid \"\"\n \"You can optionally enter service ID or name if you want service preselected \"\n \"and fixed. Note: Service name query is case insensitive. Multiple service \"\n \"selection is not allowed. Default: \\\"0\\\" (Service is selected by dropdown).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1544\n+#: includes\u002Fconstant-data.php:1564\n msgid \"\"\n \"Only with Extended Service Features & Categories Addon. You can enter \"\n \"category ID if you want to limit services selectable from a particular \"\n@@ -17260,14 +18129,14 @@\n \"selectable).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1545\n+#: includes\u002Fconstant-data.php:1565\n msgid \"\"\n \"Only with Service Providers Addon. You can enter provider ID if you want \"\n \"service provider preselected and fixed. Default: \\\"0\\\" (Service provider is \"\n \"selected by dropdown).\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1546\n+#: includes\u002Fconstant-data.php:1566\n msgid \"\"\n \"Defines in which order menu items (e.g services) are displayed. Possible \"\n \"values: ID, name, sort_order. Optionally DESC (descending) can be used, e.g. \"\n@@ -17275,7 +18144,7 @@\n \"see on the admin side)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1547\n+#: includes\u002Fconstant-data.php:1567\n msgid \"\"\n \"Type of Booking View when client is connected with a non-mobile device: flex \"\n \"(with Advanced Features Addon only), table, weekly, monthly. \\\"flex\\\" \"\n@@ -17284,7 +18153,7 @@\n \"respectively. Default: \\\"monthly\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1548\n+#: includes\u002Fconstant-data.php:1568\n msgid \"\"\n \"Type of Booking View when client is connected with a mobile device: flex \"\n \"(with Advanced Features Addon only), table, weekly, monthly. \\\"flex\\\" \"\n@@ -17294,7 +18163,7 @@\n \"Mode 6 (if Advanced Features activated)\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1549\n+#: includes\u002Fconstant-data.php:1569\n msgid \"\"\n \"Design of the booking view. Selectable values: auto, compact, legacy. When \"\n \"\\\"compact\\\" is selected, next\u002Fprevious button placed on top of the calendar \"\n@@ -17302,20 +18171,20 @@\n \"Default: \\\"auto\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1550\n+#: includes\u002Fconstant-data.php:1570\n msgid \"\"\n \"Whether to use Flex Steps. Selectable values: auto, 0, 1. \\\"auto\\\" takes the \"\n \"value from Display Settings. 0 disables, 1 enables flex steps. Default: \"\n \"\\\"auto\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1551\n+#: includes\u002Fconstant-data.php:1571\n msgid \"\"\n \"Use slider for service selection. Selectable values: auto, 1, 0. When \"\n \"\\\"auto\\\" is selected Global setting will be used. Default: \\\"auto\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1552\n+#: includes\u002Fconstant-data.php:1572\n msgid \"\"\n \"Only if design is \\\"compact\\\". Caption of the calendar. Placeholders \"\n \"\\\"START_END\\\",\\\"START\\\", \\\"END\\\", \\\"LOCATION\\\", \\\"WORKER\\\", \\\"SERVICE\\\" will \"\n@@ -17323,7 +18192,7 @@\n \"type, typically \\\"START\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1553\n+#: includes\u002Fconstant-data.php:1573\n msgid \"\"\n \"Only if type is \\\"table\\\". Columns to be displayed. The sequence of the \"\n \"columns in the parameter also defines order of the columns. Permitted values \"\n@@ -17333,7 +18202,7 @@\n \"time, use server_date_time. Default: \\\"date,day,time,button\\\" (short)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1554\n+#: includes\u002Fconstant-data.php:1574\n msgid \"\"\n \"Only if type is \\\"table\\\". Columns to be displayed when user is connected \"\n \"with a mobile device. The sequence of the columns in the parameter also \"\n@@ -17341,7 +18210,7 @@\n \"Default: \\\"date_time,button\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1555\n+#: includes\u002Fconstant-data.php:1575\n #, php-format\n msgid \"\"\n \"Only if type is \\\"flex\\\". Flex View supports different display modes from 1 \"\n@@ -17349,13 +18218,13 @@\n \"Default: \\\"1\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1556\n+#: includes\u002Fconstant-data.php:1576\n msgid \"\"\n \"Only if type is \\\"flex\\\". Flex View mode when client is connected with a \"\n \"mobile device. For description see \\\"mode\\\" parameter. Default: \\\"6\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1557\n+#: includes\u002Fconstant-data.php:1577\n msgid \"\"\n \"Only if type is \\\"weekly\\\" or \\\"monthly\\\". Controls what type of time slots \"\n \"will be displayed. Selectable values:\\\"with_break\\\", \\\"minimum\\\", \\\"auto\\\". \"\n@@ -17365,7 +18234,7 @@\n \"setting. Default: \\\"auto\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1558\n+#: includes\u002Fconstant-data.php:1578\n msgid \"\"\n \"Fields that will be displayed on the form. Permits filtering (e.g. when you \"\n \"have more than one appointment page with different confirmation user field \"\n@@ -17376,7 +18245,7 @@\n \"(Default user field and UDF setting and order will be used)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1559\n+#: includes\u002Fconstant-data.php:1579\n msgid \"\"\n \"Date range of the time slots which will be displayed. For weekly and monthly \"\n \"calendars, only numeric part is taken into account. Permissible values: a \"\n@@ -17387,40 +18256,40 @@\n \"rest) \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1560\n+#: includes\u002Fconstant-data.php:1580\n msgid \"\"\n \"Only if type is \\\"flex\\\". Set as \\\"1\\\" if Flex View will display from first \"\n \"day of the week, including past days in the week. Set \\\"0\\\" to start from \"\n \"current day. Default: \\\"1\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1561\n+#: includes\u002Fconstant-data.php:1581\n msgid \"\"\n \"Normally time slots start from current day. If you want to force it to start \"\n \"from a certain date, enter that date here. Most date formats are supported, \"\n \"but YYYY-MM-DD is recommended. Default: \\\"0\\\" (Current day) \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1562\n+#: includes\u002Fconstant-data.php:1582\n msgid \"\"\n \"Number of months (Monthly Calendar), weeks (Weekly Calendar) or days (Table \"\n \"View or Flex View) to add to the current date or selected date. Default: \"\n \"\\\"0\\\" (Current day) \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1563\n+#: includes\u002Fconstant-data.php:1583\n msgid \"\"\n \"Setting 1 reverses positions of Booking Info and Client Info boxes at the \"\n \"form. Default: \\\"0\\\" (Not reversed)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1564\n+#: includes\u002Fconstant-data.php:1584\n msgid \"\"\n \"Only if design is \\\"legacy\\\". Displays a datepicker to jump to the selected \"\n \"date within allowed limits. Set 1 to enable, 0 to disable.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1570\n+#: includes\u002Fconstant-data.php:1590\n msgid \"\"\n \"Creates an input field (powered with jQuery datepicker) using which starting \"\n \"point of the calendars on the same page will be changed. Start week day of \"\n@@ -17431,19 +18300,19 @@\n \"setting select_date in pagination shortcode.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1572\n+#: includes\u002Fconstant-data.php:1592\n msgid \"\"\n \"Text above the select menu. Enter 0 for no title. Default: \\\"Please select a \"\n \"date\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1573\n+#: includes\u002Fconstant-data.php:1593\n msgid \"\"\n \"Selected date during first load. Most date formats are supported, but YYYY-\"\n \"MM-DD is recommended. Default: \\\"0\\\" (current date, i.e. today)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1577\n+#: includes\u002Fconstant-data.php:1597\n msgid \"\"\n \"Creates a dropdown menu of all users with which you can make a booking on \"\n \"behalf of any website member using the make an appointment page. Tip: To \"\n@@ -17452,35 +18321,35 @@\n \"the confirmation form.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1579\n+#: includes\u002Fconstant-data.php:1599\n msgid \"\"\n \"Text above the select menu. Enter 0 for no title. Default: \\\"Select a user\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1580\n+#: includes\u002Fconstant-data.php:1600\n msgid \"\"\n \"A css class name for the menu wrapper. Default is empty. Tip: Apply \"\n \"\\\"app_2column\\\" for a side by side layout of 2 adjacent shortcodes.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1581\n+#: includes\u002Fconstant-data.php:1601\n msgid \"\"\n \"Enter \\\"0\\\" to omit avatar display in the tooltip. Note: To display the \"\n \"avatar \\\"Show avatar\\\" should have been selected in Wordpress Settings > \"\n \"Discussion > Avatars. Default: \\\"1\\\" (avatar is displayed)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1582\n+#: includes\u002Fconstant-data.php:1602\n msgid \"Size of the avatar in pixels. Maximum is 512. Default: \\\"96\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1583\n+#: includes\u002Fconstant-data.php:1603\n msgid \"\"\n \"Sort order of the users. Possible values: ID, login, email, nicename, \"\n \"display_name. Default: \\\"display_name\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1584\n+#: includes\u002Fconstant-data.php:1604\n msgid \"\"\n \"WordPress user capability to view. Users who have this capability can view \"\n \"and use the dropdown generated by the shortcode. Multiple capabilities \"\n@@ -17488,31 +18357,31 @@\n \"view. Default: \\\"manage_options\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1585\n+#: includes\u002Fconstant-data.php:1605\n msgid \"\"\n \"WordPress user role to be listed. Only users having this role will be \"\n \"displayed. Multiple roles separated by commas are allowed. If left empty, \"\n \"all users are displayed. Default: \\\"\\\" (all user roles)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1586\n+#: includes\u002Fconstant-data.php:1606\n msgid \"\"\n \"Width of the button which replaces select element. Numeric value is regarded \"\n \"as pixels. Percentage is also accepted. Default: \\\"300\\\" (px)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1590\n+#: includes\u002Fconstant-data.php:1610\n msgid \"\"\n \"Creates an account page to list bookings and adjust settings. Service \"\n \"providers can also view their schedules, set working hours, services, define \"\n \"new services, if allowed.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1592\n+#: includes\u002Fconstant-data.php:1612\n msgid \"Title tag above the tabs. Enter 0 for no title. Default: 0 (No title)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1593\n+#: includes\u002Fconstant-data.php:1613\n msgid \"\"\n \"Name of the tabs to be excluded. Multiple entries separated with commas can \"\n \"be set. Allowed values: dashboard, bookings, manage, schedules, \"\n@@ -17520,25 +18389,25 @@\n \"payments, credits, commissions, gcal. Default: empty\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1594\n+#: includes\u002Fconstant-data.php:1614\n msgid \"\"\n \"Columns to be displayed in List of Bookings tab. See columns attribute of \"\n \"List of Bookings (app_list) shortcode\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1595\n+#: includes\u002Fconstant-data.php:1615\n msgid \"\"\n \"Status of bookings that will be shown in List of Bookings tab. See status \"\n \"attribute of List of Bookings (app_list) shortcode\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1601\n+#: includes\u002Fconstant-data.php:1621\n msgid \"\"\n \"Inserts a sortable table which displays bookings of all or current or \"\n \"selected user. This shortcode can also be used in emails.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1603\n+#: includes\u002Fconstant-data.php:1623\n msgid \"\"\n \"Title text. Enter 0 for no title. Placeholder USER_NAME will be replaced by \"\n \"the name of user whose appointments are being displayed. Default: \\\"All \"\n@@ -17546,7 +18415,7 @@\n \"the rest of \\\"what\\\" setting)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1604\n+#: includes\u002Fconstant-data.php:1624\n msgid \"\"\n \"Columns of the table. Most of these are also the variables of the booking. \"\n \"The sequence of the columns in the parameter also defines display order of \"\n@@ -17565,13 +18434,13 @@\n \"status, cancel, edit, pdf, gcal\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1605\n+#: includes\u002Fconstant-data.php:1625\n msgid \"\"\n \"Columns of the table when the user is connected with a mobile device. For \"\n \"description see \\\"columns\\\" parameter.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1606\n+#: includes\u002Fconstant-data.php:1626\n msgid \"\"\n \"What to be displayed in the list. Permitted values: client (shows bookings \"\n \"of the client taking the services), provider (shows bookings of the service \"\n@@ -17581,7 +18450,7 @@\n \"\\\"client\\\" for client\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1607\n+#: includes\u002Fconstant-data.php:1627\n msgid \"\"\n \"Enter the ID of the user whose list will be displayed to the admin. If \"\n \"omitted, a) If $_GET[\\\"app_user_id\\\"] is set in the url, that user will be \"\n@@ -17591,21 +18460,21 @@\n \"\\\"0\\\" (current user)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1608\n+#: includes\u002Fconstant-data.php:1628\n msgid \"\"\n \"An optional comma delimited list of service IDs to be included. If you want \"\n \"to filter the list for particular services, you can use this parameter. \"\n \"Default: \\\"\\\" (All services are included)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1609\n+#: includes\u002Fconstant-data.php:1629\n msgid \"\"\n \"Which status(es) will be included. Possible values: all, paid, confirmed, \"\n \"completed, pending, removed, reserved, running (In Progress) or combinations \"\n \"of them separated with comma. Default: \\\"paid,confirmed,pending,running\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1610\n+#: includes\u002Fconstant-data.php:1630\n msgid \"\"\n \"Sort order of the appointments on the first page load. Possible values: ID, \"\n \"start, end. Optionally DESC (descending) can be used, e.g. \\\"start DESC\\\" \"\n@@ -17614,14 +18483,14 @@\n \"end.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1611\n+#: includes\u002Fconstant-data.php:1631\n msgid \"\"\n \"Limit of characters of client name. If number of characters of client name \"\n \"is greater than this number plus 3, then client name will be abbreviated \"\n \"with abbr tag. Full name will be displayed in its tooltip. Default: \\\"22\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1612\n+#: includes\u002Fconstant-data.php:1632\n msgid \"\"\n \"Start date of the appointments to be displayed. Most date formats are \"\n \"supported, but YYYY-MM-DD is recommended. You can also use PHP strtotime \"\n@@ -17629,7 +18498,7 @@\n \"month\\\". Default: \\\"0\\\" (No start limit) \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1613\n+#: includes\u002Fconstant-data.php:1633\n msgid \"\"\n \"End date of the appointments to be displayed. Most date formats are \"\n \"supported, but YYYY-MM-DD is recommended. You can also use PHP strtotime \"\n@@ -17637,21 +18506,21 @@\n \"Default: \\\"0\\\" (No end limit) \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1614\n+#: includes\u002Fconstant-data.php:1634\n msgid \"Requires Front End Edit Addon. Text for edit button. Default: \\\"Edit\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1615\n+#: includes\u002Fconstant-data.php:1635\n msgid \"Text for cancel button. Default: \\\"Cancel\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1616\n+#: includes\u002Fconstant-data.php:1636\n msgid \"\"\n \"Enter 0 to generate a table even if there are no appointments in the list. \"\n \"Default: \\\"1\\\" (A table will not be generated if there are no bookings)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1617\n+#: includes\u002Fconstant-data.php:1637\n msgid \"\"\n \"Optional id attribute for the table. If you do not provide an id, plugin \"\n \"will automatically assign an id in \\\"app_datatable_n\\\" form where n is the \"\n@@ -17659,7 +18528,7 @@\n \"by WP BASE) \"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1618\n+#: includes\u002Fconstant-data.php:1638\n msgid \"\"\n \"WordPress user capability. Users who have this capability can view and use \"\n \"other users' bookings. Multiple capabilities separated by commas are \"\n@@ -17667,7 +18536,7 @@\n \"\\\"manage_options\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1619\n+#: includes\u002Fconstant-data.php:1639\n msgid \"\"\n \"Whether to override cancel and edit capability of admin for other users' \"\n \"bookings. Possible values: 0 (Do not allow cancel and edit), auto: Follow \"\n@@ -17675,7 +18544,7 @@\n \"of global settings). Default: \\\"auto\\\" (Global settings will be used)\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1623\n+#: includes\u002Fconstant-data.php:1643\n msgid \"\"\n \"Inserts a dropdown menu of selectable themes, so that you, as admin, can \"\n \"change and see different theme results on the front end. Note: This \"\n@@ -17683,11 +18552,11 @@\n \"session and user. It does not change the setting for selected theme.\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1625\n+#: includes\u002Fconstant-data.php:1645\n msgid \"Text above the menu. Enter 0 for no title. Default: \\\"jQuery UI Theme\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fconstant-data.php:1626\n+#: includes\u002Fconstant-data.php:1646\n msgid \"\"\n \"WordPress user capability. Users who have this capability can view the theme \"\n \"selection pulldown menu. Multiple capabilities separated by commas are \"\n@@ -17695,233 +18564,233 @@\n \"\\\"manage_options\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:2332\n+#: includes\u002Fcore.php:2336\n msgid \"Click to access to the related booking\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:2514\n+#: includes\u002Fcore.php:2518\n #, php-format\n msgid \"User %1$s changed %2$d setting:\"\n msgid_plural \"User %1$s changed %2$d settings:\"\n msgstr[0] \"\"\n msgstr[1] \"\"\n \n-#: includes\u002Fcore.php:2827\n+#: includes\u002Fcore.php:2831\n #, php-format\n msgid \"Test %s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:2937\n+#: includes\u002Fcore.php:2940\n #, php-format\n msgid \"No valid email is defined for booking #%s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:2986\n+#: includes\u002Fcore.php:2989\n #, php-format\n msgid \"%1$s message resent to %2$s for booking #%3$s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:2996\n+#: includes\u002Fcore.php:2999\n #, php-format\n msgid \"%1$s message sent to %2$s for booking #%3$s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3028\n+#: includes\u002Fcore.php:3031\n #, php-format\n msgid \"Booking edited (#%d)\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3031\n+#: includes\u002Fcore.php:3034\n #, php-format\n msgid \"A booking has been edited on %s.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3033\n+#: includes\u002Fcore.php:3036\n #, php-format\n msgid \"\"\n \"The edited booking has an ID %1$s and you can access it by clicking this \"\n \"link: %2$s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3035\n+#: includes\u002Fcore.php:3038\n msgid \"\"\n \"Below please find a copy of the message that has been sent to your client \"\n \"after editing:\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3038\n+#: includes\u002Fcore.php:3041\n #, php-format\n msgid \"Booking completed (#%d)\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3041\n+#: includes\u002Fcore.php:3044\n #, php-format\n msgid \"A booking has been completed on %s.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3043\n+#: includes\u002Fcore.php:3046\n #, php-format\n msgid \"\"\n \"The completed booking has an ID %1$s and you can access it by clicking this \"\n \"link: %2$s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3045\n+#: includes\u002Fcore.php:3048\n msgid \"\"\n \"Below please find a copy of the message that has been sent to your client \"\n \"after completion:\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3048\n+#: includes\u002Fcore.php:3051\n #, php-format\n msgid \"Booking cancelled (#%d)\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3051\n+#: includes\u002Fcore.php:3054\n #, php-format\n msgid \"A booking has been cancelled on %s.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3053\n+#: includes\u002Fcore.php:3056\n #, php-format\n msgid \"\"\n \"The cancelled booking has an ID %s and you can access it by clicking this \"\n \"link: %s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3055\n+#: includes\u002Fcore.php:3058\n msgid \"\"\n \"Below please find a copy of the message that has been sent to your client \"\n \"after cancellation:\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3058\n+#: includes\u002Fcore.php:3061\n #, php-format\n msgid \"New pending booking (#%d)\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3061\n+#: includes\u002Fcore.php:3064\n #, php-format\n msgid \"A new pending booking has been made on %s.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3063 includes\u002Fcore.php:3073\n+#: includes\u002Fcore.php:3066 includes\u002Fcore.php:3076\n #, php-format\n msgid \"\"\n \"The new booking has an ID %1$s and you can access it by clicking this link: \"\n \"%2$s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3065 includes\u002Fcore.php:3075\n+#: includes\u002Fcore.php:3068 includes\u002Fcore.php:3078\n msgid \"\"\n \"Below please find a copy of the message that has been sent to your client as \"\n \"confirmation:\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3068\n+#: includes\u002Fcore.php:3071\n #, php-format\n msgid \"New confirmed booking (#%d)\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3071\n+#: includes\u002Fcore.php:3074\n #, php-format\n msgid \"A confirmed booking has been made on %s.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3096\n+#: includes\u002Fcore.php:3099\n #, php-format\n msgid \"Message sending to %s for booking #%s has failed.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3158\n+#: includes\u002Fcore.php:3161\n #, php-format\n msgid \"A booking has been cancelled (#%d)\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3159\n+#: includes\u002Fcore.php:3162\n #, php-format\n msgid \"Booking with ID %s has been cancelled by the client.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3161\n+#: includes\u002Fcore.php:3164\n #, php-format\n msgid \"You can access it by clicking this link: %s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3163\n+#: includes\u002Fcore.php:3166\n #, php-format\n msgid \"A booking requires your approval (#%d)\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3164\n+#: includes\u002Fcore.php:3167\n #, php-format\n msgid \"New booking has an ID %s.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3166\n+#: includes\u002Fcore.php:3169\n #, php-format\n msgid \"You can approve or edit it by clicking this link: %s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3182 includes\u002Fcore.php:3218\n+#: includes\u002Fcore.php:3185 includes\u002Fcore.php:3221\n #, php-format\n msgid \"Notification message sent to %1$s for booking #%2$s\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3185 includes\u002Fcore.php:3223\n+#: includes\u002Fcore.php:3188 includes\u002Fcore.php:3226\n #, php-format\n msgid \"Notification message sending to %1$s for booking #%2$s has failed\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3196\n+#: includes\u002Fcore.php:3199\n #, php-format\n msgid \"Cancelled booking has an ID of %1$d and it was scheduled for %2$s.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3202\n+#: includes\u002Fcore.php:3205\n #, php-format\n msgid \"\"\n \"New booking has an ID %s for %s and you can confirm it using your profile \"\n \"page.\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3252\n+#: includes\u002Fcore.php:3255\n msgid \"(Link removed in admin\u002Fprovider copy...)\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3256\n+#: includes\u002Fcore.php:3259\n msgid \"(PayPal button removed in admin\u002Fprovider copy...)\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3431\n+#: includes\u002Fcore.php:3434\n msgid \"Test Client\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3432\n+#: includes\u002Fcore.php:3435\n msgid \"Test Client First Name\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3433\n+#: includes\u002Fcore.php:3436\n msgid \"Test Client Last Name\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3437\n+#: includes\u002Fcore.php:3440\n msgid \"Test Address\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3438\n+#: includes\u002Fcore.php:3441\n msgid \"Test City\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3439\n+#: includes\u002Fcore.php:3442\n msgid \"Test Zip\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3440\n+#: includes\u002Fcore.php:3443\n msgid \"This is a test booking created by WP BASE\"\n msgstr \"\"\n \n-#: includes\u002Fcore.php:3441\n+#: includes\u002Fcore.php:3444\n msgid \"This is admin note\"\n msgstr \"\"\n \n@@ -18020,859 +18889,892 @@\n msgstr \"\"\n \n #: includes\u002Fcustom-texts.php:147\n-msgid \"Placeholder for Address field in the confirmation form\"\n-msgstr \"\"\n-\n-#: includes\u002Fcustom-texts.php:148\n msgid \"Button text to add a product to shopping cart of WooCommerce or EDD\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:149\n+#: includes\u002Fcustom-texts.php:148\n #, php-format\n msgid \"\"\n \"Message displayed when an item is added to WooCommerce or EDD shopping cart. \"\n \"%s will be replaced with item name.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:150\n+#: includes\u002Fcustom-texts.php:149\n msgid \"Label for admin user\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:151\n+#: includes\u002Fcustom-texts.php:150\n msgid \"Column header of Agora for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:152 includes\u002Fcustom-texts.php:397\n+#: includes\u002Fcustom-texts.php:151 includes\u002Fcustom-texts.php:402\n msgid \"\"\n \"Javascript message displayed to the host when he\u002Fshe is trying to start a \"\n \"meeting which has been already started\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:153 includes\u002Fcustom-texts.php:398\n+#: includes\u002Fcustom-texts.php:152 includes\u002Fcustom-texts.php:403\n msgid \"\"\n \"Javascript message displayed to the participant when he\u002Fshe is called to the \"\n \"meeting by the host.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:154 includes\u002Fcustom-texts.php:399\n+#: includes\u002Fcustom-texts.php:153\n+msgid \"\"\n+\"Message displayed above video streaming area during connection to Agora \"\n+\"servers\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:154\n+msgid \"Text for Join button\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:155\n+msgid \"Tooltip text for Leave Call icon\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:156 includes\u002Fcustom-texts.php:404\n msgid \"Default text displayed to the meeting host at the Meeting Room.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:155 includes\u002Fcustom-texts.php:400\n+#: includes\u002Fcustom-texts.php:157 includes\u002Fcustom-texts.php:405\n msgid \"Default text about general meeting rules.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:156 includes\u002Fcustom-texts.php:401\n+#: includes\u002Fcustom-texts.php:158 includes\u002Fcustom-texts.php:406\n msgid \"\"\n \"Text displayed to participant when meeting has started. Keep MEETING_LINK \"\n \"placeholder which will be replaced by the link to the Meeting Room page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:157 includes\u002Fcustom-texts.php:402\n+#: includes\u002Fcustom-texts.php:159\n+msgid \"\"\n+\"Javascript error message displayed when no camera and\u002For mic found or not \"\n+\"permitted to use\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:160\n+msgid \"\"\n+\"Javascript error message displayed when no other camera found to switch to\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:161 includes\u002Fcustom-texts.php:407\n msgid \"Text displayed when user has no future or current meetings.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:158 includes\u002Fcustom-texts.php:403\n+#: includes\u002Fcustom-texts.php:162 includes\u002Fcustom-texts.php:408\n msgid \"Label for Start Meeting link\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:159 includes\u002Fcustom-texts.php:404\n+#: includes\u002Fcustom-texts.php:163\n+msgid \"Tooltip text for Switch Camera icon\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:164\n+msgid \"Tooltip text for Toggle Microphone icon\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:165\n+msgid \"Tooltip text for Toggle Camera icon\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:166\n+msgid \"Javascript error message diisplayed when camera switch action failed\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:167 includes\u002Fcustom-texts.php:409\n msgid \"Default text for client about how meeting will start.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:160 includes\u002Fcustom-texts.php:405\n+#: includes\u002Fcustom-texts.php:168 includes\u002Fcustom-texts.php:410\n msgid \"Default text for host about how meeting will start.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:161\n+#: includes\u002Fcustom-texts.php:169\n msgid \"Selection in provider dropdown when no particular provider is selected\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:162\n+#: includes\u002Fcustom-texts.php:170\n msgid \"Title for All Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:163\n+#: includes\u002Fcustom-texts.php:171\n msgid \"Label for bookings lasting more than one day in Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:164\n+#: includes\u002Fcustom-texts.php:172\n msgid \"Label for All Services in service selections\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:165\n+#: includes\u002Fcustom-texts.php:173\n msgid \"\"\n \"Javascript message displayed when selected time slot is no more available, \"\n \"e.g. because of another simultaneous booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:166\n+#: includes\u002Fcustom-texts.php:174\n msgid \"Label for amount\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:167\n+#: includes\u002Fcustom-texts.php:175\n #, php-format\n msgid \"\"\n \"Placeholder for participant address field. %d will be replaced by the order \"\n \"in the list.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:168\n+#: includes\u002Fcustom-texts.php:176\n msgid \"Javascript message displayed after a successful editing\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:169\n+#: includes\u002Fcustom-texts.php:177\n msgid \"\"\n \"Javascript message displayed after a successful booking and no confirmation\u002F\"\n \"pending dialog text exists\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:170\n+#: includes\u002Fcustom-texts.php:178\n msgid \"Column header for appointment ID for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:171\n+#: includes\u002Fcustom-texts.php:179\n msgid \"Text for Apply button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:172\n+#: includes\u002Fcustom-texts.php:180\n msgid \"Text for Approve button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:173\n+#: includes\u002Fcustom-texts.php:181\n msgid \"Javascript text asking confirm approve\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:174\n+#: includes\u002Fcustom-texts.php:182\n msgid \"Text for Approved status\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:175\n+#: includes\u002Fcustom-texts.php:183\n msgid \"Text for option Auto\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:176\n+#: includes\u002Fcustom-texts.php:184\n msgid \"\"\n \"Javascript message displayed after user is auto assigned as a Service \"\n \"Provider\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:177\n+#: includes\u002Fcustom-texts.php:185\n msgid \"\"\n \"Message displayed when login is required to be assigned as a service provider\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:178\n+#: includes\u002Fcustom-texts.php:186\n msgid \"\"\n \"Text displayed to client for service provider when no particular provider is \"\n \"selected\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:179\n+#: includes\u002Fcustom-texts.php:187\n msgid \"Legend label for free slot\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:180\n+#: includes\u002Fcustom-texts.php:188\n msgid \"Label to confirm if chnages will be applied to child bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:181\n+#: includes\u002Fcustom-texts.php:189\n msgid \"Synonym for profile photo\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:182\n+#: includes\u002Fcustom-texts.php:190\n msgid \"Label for Back button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:183\n+#: includes\u002Fcustom-texts.php:191\n msgid \"Column header of Balance for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:184\n+#: includes\u002Fcustom-texts.php:192\n msgid \"Column header for Bio Page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:185\n+#: includes\u002Fcustom-texts.php:193\n msgid \"Text for bookings recurring every other week\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:186\n+#: includes\u002Fcustom-texts.php:194\n msgid \"\"\n \"Javascript message displayed when client applies with a blacklisted email \"\n \"address\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:187\n+#: includes\u002Fcustom-texts.php:195\n msgid \"Spinner panel message while booking is being saved\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:188\n+#: includes\u002Fcustom-texts.php:196\n msgid \"Javascript text informing booking approved\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:189\n+#: includes\u002Fcustom-texts.php:197\n msgid \"Booking label used in carts\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:190\n+#: includes\u002Fcustom-texts.php:198\n msgid \"\"\n \"Book Now shortcode button text displayed when booking is not possible, i.e. \"\n \"fully booked or allowed booking time has passed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:191\n+#: includes\u002Fcustom-texts.php:199\n msgid \"\"\n \"Book Now shortcode button text displayed when booking is possible. LOCATION, \"\n \"SERVICE, WORKER, START will be replaced by their real values\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:192\n+#: includes\u002Fcustom-texts.php:200\n msgid \"\"\n \"Book in Table View button text. LOCATION, SERVICE, WORKER, START will be \"\n \"replaced by their real values\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:193\n+#: includes\u002Fcustom-texts.php:201\n msgid \"Confirmation form legend text\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:194\n+#: includes\u002Fcustom-texts.php:202\n msgid \"Account page 3 Months Schedule tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:195\n+#: includes\u002Fcustom-texts.php:203\n msgid \"Account page 4 Weeks Schedule tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:196\n+#: includes\u002Fcustom-texts.php:204\n msgid \"Account or BuddyPress user profile page Seasonal Schedules tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:197\n+#: includes\u002Fcustom-texts.php:205\n msgid \"\"\n \"Account or BuddyPress or Multi Vendor user profile page bookings tab title \"\n \"for client\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:198\n+#: includes\u002Fcustom-texts.php:206\n msgid \"BuddyPress user profile page bookings tab title for provider as client\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:199\n+#: includes\u002Fcustom-texts.php:207\n msgid \"\"\n \"BuddyPress user profile page bookings tab title for provider as provider\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:200\n+#: includes\u002Fcustom-texts.php:208\n msgid \"BuddyPress or Multi Vendor user profile page Book Me tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:201\n+#: includes\u002Fcustom-texts.php:209\n msgid \"BuddyPress group page Book Us tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:202\n+#: includes\u002Fcustom-texts.php:210\n msgid \"Account or BuddyPress user profile page Commissions tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:203\n+#: includes\u002Fcustom-texts.php:211\n msgid \"Account or BuddyPress user profile page Credits tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:204\n+#: includes\u002Fcustom-texts.php:212\n msgid \"Account or BuddyPress user profile page Dashboard tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:205\n+#: includes\u002Fcustom-texts.php:213\n msgid \"Account or BuddyPress user profile page Google Calendar tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:206\n+#: includes\u002Fcustom-texts.php:214\n msgid \"BuddyPress Social Group label\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:207\n+#: includes\u002Fcustom-texts.php:215\n msgid \"Account or BuddyPress user profile page Holidays tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:208\n+#: includes\u002Fcustom-texts.php:216\n msgid \"Account or BuddyPress user page Bookings longer than 24 hours tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:209\n+#: includes\u002Fcustom-texts.php:217\n msgid \"Account or BuddyPress user profile\u002Fgroup page Manage Bookings tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:210\n+#: includes\u002Fcustom-texts.php:218\n msgid \"Account or BuddyPress user page Monthly Schedule tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:211\n+#: includes\u002Fcustom-texts.php:219\n msgid \"\"\n \"BuddyPress notification when the client cancels a booking. You can use the \"\n \"booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:212\n+#: includes\u002Fcustom-texts.php:220\n msgid \"\"\n \"BuddyPress notification when admin cancels a booking. You can use the \"\n \"booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:213\n+#: includes\u002Fcustom-texts.php:221\n msgid \"\"\n \"BuddyPress notification when provider cancels a booking. You can use the \"\n \"booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:214\n+#: includes\u002Fcustom-texts.php:222\n msgid \"\"\n \"BuddyPress notification when the client changes start time of a booking. You \"\n \"can use the booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:215\n+#: includes\u002Fcustom-texts.php:223\n msgid \"\"\n \"BuddyPress notification when admin changes start time of a booking. You can \"\n \"use the booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:216\n+#: includes\u002Fcustom-texts.php:224\n msgid \"\"\n \"BuddyPress notification when provider changes start time of a booking. You \"\n \"can use the booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:217\n+#: includes\u002Fcustom-texts.php:225\n msgid \"\"\n \"BuddyPress notification when status of booking has been changed to \"\n \"\\\"completed\\\". You can use the booking placeholders which are listed on \"\n \"Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:218\n+#: includes\u002Fcustom-texts.php:226\n msgid \"\"\n \"BuddyPress notification when status of booking has been changed to \"\n \"\\\"confirmed\\\". You can use the booking placeholders which are listed on \"\n \"Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:219\n+#: includes\u002Fcustom-texts.php:227\n msgid \"\"\n \"BuddyPress notification when status of booking has been changed to \\\"paid\\\". \"\n \"You can use the booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:220\n+#: includes\u002Fcustom-texts.php:228\n msgid \"\"\n \"BuddyPress notification when a booking has started. You can use the booking \"\n \"placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:221\n+#: includes\u002Fcustom-texts.php:229\n msgid \"\"\n \"BuddyPress notification when a new booking has been made by client. You can \"\n \"use the booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:222\n+#: includes\u002Fcustom-texts.php:230\n msgid \"\"\n \"BuddyPress notification when a new booking has been made by admin. You can \"\n \"use the booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:223\n+#: includes\u002Fcustom-texts.php:231\n msgid \"\"\n \"BuddyPress notification when a new booking has been made by provider. You \"\n \"can use the booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:224\n+#: includes\u002Fcustom-texts.php:232\n msgid \"\"\n \"BuddyPress notification when service provider of a booking has been changed. \"\n \"You can use the booking placeholders which are listed on Emails page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:225\n+#: includes\u002Fcustom-texts.php:233\n msgid \"Account or BuddyPress user profile page Packages tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:226\n+#: includes\u002Fcustom-texts.php:234\n msgid \"Account or BuddyPress user profile page Payment History tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:227\n+#: includes\u002Fcustom-texts.php:235\n msgid \"Account or BuddyPress user profile page Schedules tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:228\n+#: includes\u002Fcustom-texts.php:236\n msgid \"Account or BuddyPress user profile page Services tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:229\n+#: includes\u002Fcustom-texts.php:237\n msgid \"Account or BuddyPress user profile page Settings tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:230\n+#: includes\u002Fcustom-texts.php:238\n msgid \"BuddyPress user profile page main tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:231\n+#: includes\u002Fcustom-texts.php:239\n msgid \"\"\n \"BuddyPress WP BASE checkbox title to select whether to add a Book Me tab\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:232\n+#: includes\u002Fcustom-texts.php:240\n msgid \"Account or BuddyPress user page Weekly Schedule tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:233\n+#: includes\u002Fcustom-texts.php:241\n msgid \"Account or BuddyPress user page Working Hours tab title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:234\n+#: includes\u002Fcustom-texts.php:242\n msgid \"Legend label for busy slot\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:235\n+#: includes\u002Fcustom-texts.php:243\n msgid \"\"\n \"Spinner panel message while price is being recalculated after a form field \"\n \"change\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:236\n+#: includes\u002Fcustom-texts.php:244\n msgid \"Column header of Cancel for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:237\n+#: includes\u002Fcustom-texts.php:245\n msgid \"\"\n \"Javascript text that is displayed after an appointment has been cancelled\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:238\n+#: includes\u002Fcustom-texts.php:246\n msgid \"Javascript text that is displayed before cancelling an appointment\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:239\n+#: includes\u002Fcustom-texts.php:247\n msgid \"Cancel button text in List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:240\n+#: includes\u002Fcustom-texts.php:248\n msgid \"\"\n \"Button text on confirmation form to clear cart contents and refresh page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:241\n+#: includes\u002Fcustom-texts.php:249\n msgid \"Text to quit cancellation of current process\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:242\n+#: includes\u002Fcustom-texts.php:250\n msgid \"\"\n \"Text displayed to confirm cancellation of current process (checkout, edit, \"\n \"etc)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:243\n+#: includes\u002Fcustom-texts.php:251\n msgid \"Text to confirm cancellation of current process\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:244\n+#: includes\u002Fcustom-texts.php:252\n msgid \"\"\n \"Javascript message displayed when client attempts to cancel an appointment, \"\n \"but cancellation is turned off\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:245\n+#: includes\u002Fcustom-texts.php:253\n msgid \"Column header of Capacity for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:246\n+#: includes\u002Fcustom-texts.php:254\n msgid \"Text for status in Cart\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:247\n+#: includes\u002Fcustom-texts.php:255\n msgid \"Column header of Category for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:248\n+#: includes\u002Fcustom-texts.php:256\n msgid \"Address Line 1 title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:249\n+#: includes\u002Fcustom-texts.php:257\n msgid \"Address Line 2 title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:250\n+#: includes\u002Fcustom-texts.php:258\n msgid \"City title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:251\n+#: includes\u002Fcustom-texts.php:259\n msgid \"Country title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:252\n+#: includes\u002Fcustom-texts.php:260\n msgid \"Security Code title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:253\n+#: includes\u002Fcustom-texts.php:261\n msgid \"Error message when credit card is declined by payment gateway.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:254\n+#: includes\u002Fcustom-texts.php:262\n msgid \"Email title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:255\n+#: includes\u002Fcustom-texts.php:263\n msgid \"\"\n \"Error message coming from payment gateway other than declined. If you want \"\n \"to show details, keep ERROR_DETAIL placeholder which will be replaced by \"\n \"details of error.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:256\n+#: includes\u002Fcustom-texts.php:264\n msgid \"Expiration Date title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:257\n+#: includes\u002Fcustom-texts.php:265\n msgid \"Title above credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:258\n+#: includes\u002Fcustom-texts.php:266\n msgid \"Full Name title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:259\n+#: includes\u002Fcustom-texts.php:267\n msgid \"Credit Card Number title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:260\n+#: includes\u002Fcustom-texts.php:268\n msgid \"Phone title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:261\n+#: includes\u002Fcustom-texts.php:269\n msgid \"State\u002FProvince\u002FRegion title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:262\n+#: includes\u002Fcustom-texts.php:270\n msgid \"Postcode title on credit card form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:263\n+#: includes\u002Fcustom-texts.php:271\n msgid \"Label for Check All\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:264\n+#: includes\u002Fcustom-texts.php:272\n msgid \"Text for Checkin in Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:265\n+#: includes\u002Fcustom-texts.php:273\n msgid \"Text for Checkout in Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:266\n+#: includes\u002Fcustom-texts.php:274\n msgid \"Spinner panel message while processing checkout\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:267\n+#: includes\u002Fcustom-texts.php:275\n msgid \"Button text for checkout (finalise booking)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:268\n+#: includes\u002Fcustom-texts.php:276\n msgid \"Tooltip text for checkout button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:269\n+#: includes\u002Fcustom-texts.php:277\n msgid \"Label to select an image for service or avatar\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:270\n+#: includes\u002Fcustom-texts.php:278\n msgid \"Title for City field in the confirmation form and user page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:271\n-msgid \"Placeholder for City field in the confirmation form\"\n-msgstr \"\"\n-\n-#: includes\u002Fcustom-texts.php:272\n+#: includes\u002Fcustom-texts.php:279\n msgid \"Clear signature button text\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:273\n+#: includes\u002Fcustom-texts.php:280\n msgid \"Label for Clear All\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:274\n+#: includes\u002Fcustom-texts.php:281\n msgid \"Hint text to book as Waiting List\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:275\n+#: includes\u002Fcustom-texts.php:282\n msgid \"Hint text to add a booking in calendar\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:276\n+#: includes\u002Fcustom-texts.php:283\n msgid \"Hint text to remove an appointment from confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:277\n+#: includes\u002Fcustom-texts.php:284\n msgid \"Hint text to add select a date in monthly calendar\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:278\n+#: includes\u002Fcustom-texts.php:285\n msgid \"Column header of Client for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:279\n+#: includes\u002Fcustom-texts.php:286\n msgid \"Tab Header of Clients for Store management\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:280\n+#: includes\u002Fcustom-texts.php:287\n msgid \"Label for Client Information line in Flex Steps\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:281\n+#: includes\u002Fcustom-texts.php:288\n msgid \"Label for Client IP at booking instant\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:282\n+#: includes\u002Fcustom-texts.php:289\n msgid \"Close button text\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:283\n+#: includes\u002Fcustom-texts.php:290\n msgid \"Label for Background Color\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:284\n+#: includes\u002Fcustom-texts.php:291\n msgid \"Label for Company Name in forms\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:285\n+#: includes\u002Fcustom-texts.php:292\n msgid \"Text for status completed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:286\n+#: includes\u002Fcustom-texts.php:293\n msgid \"Column header of Confirm for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:287\n+#: includes\u002Fcustom-texts.php:294\n msgid \"Confirm button text in List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:288\n+#: includes\u002Fcustom-texts.php:295\n msgid \"Javascript message displayed before cancelling a booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:289\n+#: includes\u002Fcustom-texts.php:296\n msgid \"Javascript message displayed before confirming a booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:290\n+#: includes\u002Fcustom-texts.php:297\n msgid \"Javascript message displayed before deleting a booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:291\n+#: includes\u002Fcustom-texts.php:298\n msgid \"\"\n \"Javascript message displayed when client attempts to confirm an appointment, \"\n \"but confirmation is turned off\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:292\n+#: includes\u002Fcustom-texts.php:299\n msgid \"Javascript message displayed before ending a video call\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:293\n+#: includes\u002Fcustom-texts.php:300\n msgid \"Title for confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:294\n+#: includes\u002Fcustom-texts.php:301\n msgid \"Text for status confirmed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:295\n+#: includes\u002Fcustom-texts.php:302\n msgid \"Javascript message displayed after a booking has been confirmed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:296\n+#: includes\u002Fcustom-texts.php:303\n msgid \"Title of countdown on confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:297\n+#: includes\u002Fcustom-texts.php:304\n msgid \"Javascript text that is displayed when ajax request fails\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:298\n+#: includes\u002Fcustom-texts.php:305\n msgid \"\"\n \"Message displayed to user to contact admin, e.g. when their account suspended\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:299\n+#: includes\u002Fcustom-texts.php:306\n msgid \"\"\n \"Button text for continue (finalise selections and display confirmation form)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:300\n+#: includes\u002Fcustom-texts.php:307\n msgid \"Title of Next Appointment Countdown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:301\n+#: includes\u002Fcustom-texts.php:308\n msgid \"Title for Country field in the confirmation form and user page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:302\n+#: includes\u002Fcustom-texts.php:309\n msgid \"Placeholder for Country field in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:303\n+#: includes\u002Fcustom-texts.php:310\n msgid \"Title for Coupon in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:304\n+#: includes\u002Fcustom-texts.php:311\n msgid \"Text displayed when submitted discount code is not valid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:305\n+#: includes\u002Fcustom-texts.php:312\n msgid \"Text displayed when submitted discount code is valid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:306\n+#: includes\u002Fcustom-texts.php:313\n msgid \"Description of coupon field in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:307\n+#: includes\u002Fcustom-texts.php:314\n msgid \"Column header of Creation Date for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:308\n+#: includes\u002Fcustom-texts.php:315\n msgid \"Column header of Creation by field for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:309\n+#: includes\u002Fcustom-texts.php:316\n msgid \"Singular text for Credit\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:310\n+#: includes\u002Fcustom-texts.php:317\n msgid \"Title for Credit Card field on the payment form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:311\n+#: includes\u002Fcustom-texts.php:318\n msgid \"Label for sales of Credits\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:312\n+#: includes\u002Fcustom-texts.php:319\n msgid \"Plural text for Credit\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:313\n+#: includes\u002Fcustom-texts.php:320\n msgid \"Text for bookings recurring every day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:314\n+#: includes\u002Fcustom-texts.php:321\n msgid \"Title for vendor account dashboard\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:315\n+#: includes\u002Fcustom-texts.php:322\n msgid \"Column header of Date in editing form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:316\n+#: includes\u002Fcustom-texts.php:323\n msgid \"Column header of starting time of booking for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:317\n+#: includes\u002Fcustom-texts.php:324\n msgid \"Singular text for day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:318\n+#: includes\u002Fcustom-texts.php:325\n msgid \"Plural text for day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:319\n+#: includes\u002Fcustom-texts.php:326\n msgid \"Column header of Week Day in editing form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:320\n+#: includes\u002Fcustom-texts.php:327\n msgid \"Indicates default value will be used\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:321\n+#: includes\u002Fcustom-texts.php:328\n msgid \"Label for Delete Permanently\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:322\n+#: includes\u002Fcustom-texts.php:329\n msgid \"Javascript message after one or more records deleted.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:323\n+#: includes\u002Fcustom-texts.php:330\n msgid \"Column header of Deposit for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:324\n+#: includes\u002Fcustom-texts.php:331\n msgid \"\"\n \"Label for Deposit Paid - This replaces Total in WooCommerce if payment is \"\n \"partial\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:325\n+#: includes\u002Fcustom-texts.php:332\n msgid \"Column header of Connected Post for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:326\n+#: includes\u002Fcustom-texts.php:333\n msgid \"\"\n \"Title for items in the cart: Title for list of selected slots in the \"\n \"confirmation form when more than one time slot is selected\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:327\n+#: includes\u002Fcustom-texts.php:334\n msgid \"Title for Display Name field in the confirmation form and user page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:328\n+#: includes\u002Fcustom-texts.php:335\n msgid \"Spinner panel message when ajax jobs finished\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:329\n+#: includes\u002Fcustom-texts.php:336\n msgid \"Column header of Prepayment for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:330\n+#: includes\u002Fcustom-texts.php:337\n msgid \"\"\n \"Label for Due Payment which is the amount to be paid after deposit is reduced\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:331\n+#: includes\u002Fcustom-texts.php:338\n msgid \"Label for Dummy\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:332\n+#: includes\u002Fcustom-texts.php:339\n msgid \"Column header of Duration for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:333\n+#: includes\u002Fcustom-texts.php:340\n msgid \"Column header for EDD Payment ID\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:334\n+#: includes\u002Fcustom-texts.php:341\n msgid \"Column header of Edit for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:335\n+#: includes\u002Fcustom-texts.php:342\n msgid \"Javascript text that is displayed before editing an appointment\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:336\n+#: includes\u002Fcustom-texts.php:343\n msgid \"Edit button text in List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:337\n+#: includes\u002Fcustom-texts.php:344\n msgid \"\"\n \"Javascript message displayed when client attempts to edit an appointment, \"\n \"but editing is turned off\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:338\n+#: includes\u002Fcustom-texts.php:345\n msgid \"Javascript message displayed after changes on booking have been saved\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:339\n+#: includes\u002Fcustom-texts.php:346\n #, php-format\n msgid \"\"\n \"Javascript message displayed when client attempts to edit an appointment \"\n@@ -18880,1754 +19782,1732 @@\n \"which will be replaced by the latest time client can pick.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:340\n+#: includes\u002Fcustom-texts.php:347\n msgid \"Title for email field in the confirmation form and user page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:341\n-msgid \"Placeholder for email field in the confirmation form\"\n-msgstr \"\"\n-\n-#: includes\u002Fcustom-texts.php:342\n+#: includes\u002Fcustom-texts.php:348\n msgid \"\"\n \"Javascript message displayed when logged in client attempts to make a \"\n \"booking with email of another registered user\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:343\n+#: includes\u002Fcustom-texts.php:349\n msgid \"Label for Empty Cart button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:344\n+#: includes\u002Fcustom-texts.php:350\n msgid \"Label for end time in confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:345\n+#: includes\u002Fcustom-texts.php:351\n msgid \"Column header of end time of booking for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:346\n+#: includes\u002Fcustom-texts.php:352\n msgid \"Text for bookings recurring every other day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:347\n+#: includes\u002Fcustom-texts.php:353\n msgid \"Text for bookings recurring every other day except Sunday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:348\n+#: includes\u002Fcustom-texts.php:354\n msgid \"Javascript message displayed after a General\u002Funknown error\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:349\n+#: includes\u002Fcustom-texts.php:355\n msgid \"Title for general\u002Funknown error message display\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:350\n+#: includes\u002Fcustom-texts.php:356\n msgid \"Label for Event Capacity\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:351\n+#: includes\u002Fcustom-texts.php:357\n msgid \"Description for Event Capacity field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:352\n+#: includes\u002Fcustom-texts.php:358\n msgid \"Label for Closed from Pax\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:353\n+#: includes\u002Fcustom-texts.php:359\n msgid \"Description for Closed from Pax field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:354\n+#: includes\u002Fcustom-texts.php:360\n msgid \"Label for Group Bookings Enable\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:355\n+#: includes\u002Fcustom-texts.php:361\n msgid \"Description for Group Bookings Enable field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:356\n+#: includes\u002Fcustom-texts.php:362\n msgid \"Label for Maximum Pax\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:357\n+#: includes\u002Fcustom-texts.php:363\n msgid \"Description for Maximum Pax field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:358\n+#: includes\u002Fcustom-texts.php:364\n msgid \"Label for Minimum Pax\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:359\n+#: includes\u002Fcustom-texts.php:365\n msgid \"Description for Minimum Pax field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:360\n+#: includes\u002Fcustom-texts.php:366\n msgid \"Label for Event Price\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:361\n+#: includes\u002Fcustom-texts.php:367\n msgid \"Description for Event Price field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:362\n+#: includes\u002Fcustom-texts.php:368\n msgid \"Title for Event Bookings list\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:363\n+#: includes\u002Fcustom-texts.php:369\n msgid \"Text for more title\u002Flink for excerpts\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:364\n+#: includes\u002Fcustom-texts.php:370\n msgid \"Error message when credit card has expired\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:365\n+#: includes\u002Fcustom-texts.php:371\n msgid \"Button text for export bookings in CSV file format\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:366\n+#: includes\u002Fcustom-texts.php:372\n msgid \"\"\n \"Title for Extra in confirmation form, bookings page table and list of \"\n \"bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:367\n+#: includes\u002Fcustom-texts.php:373\n msgid \"Label for Fee\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:368\n+#: includes\u002Fcustom-texts.php:374\n msgid \"Title for Full Name field in the forms\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:369\n+#: includes\u002Fcustom-texts.php:375\n msgid \"Title for First Name field in the confirmation form and user page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:370\n-msgid \"Placeholder for First Name field in the confirmation form\"\n-msgstr \"\"\n-\n-#: includes\u002Fcustom-texts.php:371\n+#: includes\u002Fcustom-texts.php:376\n msgid \"Friday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:372\n+#: includes\u002Fcustom-texts.php:377\n msgid \"Initial letter of Friday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:373\n+#: includes\u002Fcustom-texts.php:378\n msgid \"Short form of Friday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:374\n+#: includes\u002Fcustom-texts.php:379\n msgid \"Title for GCal column in List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:375\n+#: includes\u002Fcustom-texts.php:380\n msgid \"Tooltip title for Google Calendar button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:376\n+#: includes\u002Fcustom-texts.php:381\n msgid \"Title for GDPR UDF Group\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:377\n+#: includes\u002Fcustom-texts.php:382\n msgid \"Title for GDPR userdata Group\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:378\n+#: includes\u002Fcustom-texts.php:383\n msgid \"Column header of Google Meet for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:379\n+#: includes\u002Fcustom-texts.php:384\n msgid \"Label for Google Meet column header\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:380\n+#: includes\u002Fcustom-texts.php:385\n msgid \"Text for Google Meet Join button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:381\n+#: includes\u002Fcustom-texts.php:386\n msgid \"Label for Google Meet URL\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:382\n+#: includes\u002Fcustom-texts.php:387\n msgid \"Text for status Temporary\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:383\n+#: includes\u002Fcustom-texts.php:388\n msgid \"Text for Host\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:384\n+#: includes\u002Fcustom-texts.php:389\n msgid \"Singular text for hour\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:385\n+#: includes\u002Fcustom-texts.php:390\n msgid \"Plural text for hour\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:386\n+#: includes\u002Fcustom-texts.php:391\n msgid \"Short form of hour\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:387\n+#: includes\u002Fcustom-texts.php:392\n msgid \"Column header of Featured Image for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:388\n+#: includes\u002Fcustom-texts.php:393\n msgid \"\"\n \"Localization of pagination under tables. Keep _PAGE_ and _PAGES_ which is \"\n \"the current page no and total number of pages, respectively.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:389\n+#: includes\u002Fcustom-texts.php:394\n msgid \"Column header of Internal for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:390\n+#: includes\u002Fcustom-texts.php:395\n msgid \"\"\n \"Javascript message displayed when a mandatory field of a booking record is \"\n \"missing.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:391\n+#: includes\u002Fcustom-texts.php:396\n msgid \"Error message when credit cardholder is invalid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:392\n+#: includes\u002Fcustom-texts.php:397\n msgid \"\"\n \"Error message when Credit Card Number field is empty or card number is \"\n \"invalid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:393\n+#: includes\u002Fcustom-texts.php:398\n msgid \"Error message when security code is empty or invalid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:394\n+#: includes\u002Fcustom-texts.php:399\n msgid \"Error message displayed when submitted email is not valid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:395\n+#: includes\u002Fcustom-texts.php:400\n msgid \"\"\n \"Error message when expiration month and\u002For year field is empty or invalid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:396\n+#: includes\u002Fcustom-texts.php:401\n msgid \"Column header of Jitsi for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:406\n+#: includes\u002Fcustom-texts.php:411\n msgid \"Label for Client Language\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:407\n+#: includes\u002Fcustom-texts.php:412\n msgid \"Title for Duration of the selected service(s) in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:408\n+#: includes\u002Fcustom-texts.php:413\n msgid \"Title for Last Name field in the confirmation form and user page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:409\n-msgid \"Placeholder for Last Name field in the confirmation form\"\n-msgstr \"\"\n-\n-#: includes\u002Fcustom-texts.php:410\n+#: includes\u002Fcustom-texts.php:414\n msgid \"\"\n \"Localization for pulldown menu that selects the number of records to be \"\n \"displayed in the tables. Keep _MENU_ which stands for the pulldown menu \"\n \"itself.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:411\n+#: includes\u002Fcustom-texts.php:415\n #, php-format\n msgid \"\"\n \"Javascript message displayed when selected number of appointments exceeds \"\n \"permitted number. Keep %d which will be replaced by actual limit\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:412\n+#: includes\u002Fcustom-texts.php:416\n msgid \"Text for List Button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:413\n+#: includes\u002Fcustom-texts.php:417\n msgid \"Text message displayed while a data is being read\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:414\n+#: includes\u002Fcustom-texts.php:418\n msgid \"Column header of Location for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:415\n+#: includes\u002Fcustom-texts.php:419\n msgid \"Label for Locations\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:416\n+#: includes\u002Fcustom-texts.php:420\n msgid \"Label for Locations on admin side when Multi Store is enabled\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:417\n+#: includes\u002Fcustom-texts.php:421\n msgid \"Column header of Location Address for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:418\n+#: includes\u002Fcustom-texts.php:422\n msgid \"Title for Location in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:419\n+#: includes\u002Fcustom-texts.php:423\n msgid \"Plural of the Location title in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:420\n+#: includes\u002Fcustom-texts.php:424\n msgid \"Column header of Location Note for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:421\n+#: includes\u002Fcustom-texts.php:425\n msgid \"Message displayed to client after a successful login\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:422\n+#: includes\u002Fcustom-texts.php:426\n msgid \"Text displayed below calendar title when client is logged in\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:423\n+#: includes\u002Fcustom-texts.php:427\n msgid \"Spinner panel message while login is being prepared\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:424\n+#: includes\u002Fcustom-texts.php:428\n msgid \"Text for the login link\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:425\n+#: includes\u002Fcustom-texts.php:429\n msgid \"Form header asking client to login\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:426\n+#: includes\u002Fcustom-texts.php:430\n msgid \"Message displayed when login is required to cancel a booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:427\n+#: includes\u002Fcustom-texts.php:431\n msgid \"Message displayed when login is required to confirm a booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:428\n+#: includes\u002Fcustom-texts.php:432\n msgid \"Message displayed when login is required to edit a booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:429\n+#: includes\u002Fcustom-texts.php:433\n msgid \"Text beside the login link\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:430\n+#: includes\u002Fcustom-texts.php:434\n msgid \"\"\n \"Message displayed to client when they submitted an existing email and not \"\n \"logged in yet\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:431\n+#: includes\u002Fcustom-texts.php:435\n msgid \"Tooltip text to login with Facebook account\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:432\n+#: includes\u002Fcustom-texts.php:436\n msgid \"Tooltip text to login with Google+ account\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:433\n+#: includes\u002Fcustom-texts.php:437\n msgid \"Tooltip text to login with website credentials\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:434\n+#: includes\u002Fcustom-texts.php:438\n msgid \"Tooltip text to login with WordPress.com account\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:435\n+#: includes\u002Fcustom-texts.php:439\n msgid \"\"\n \"Note in +24h Bookings calendar. REST placeholder will be replaced with \"\n \"number of bookings which could not be shown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:436\n+#: includes\u002Fcustom-texts.php:440\n msgid \"Title for Make Payment\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:437\n+#: includes\u002Fcustom-texts.php:441\n msgid \"Title for Location, Store or Group Manager\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:438\n+#: includes\u002Fcustom-texts.php:442\n msgid \"\"\n \"Message displayed when a record may have edited by another user and current \"\n \"value may not be valid any more.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:439\n+#: includes\u002Fcustom-texts.php:443\n msgid \"Column header of Online Meeting for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:440\n+#: includes\u002Fcustom-texts.php:444\n msgid \"Title for payment method\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:441\n+#: includes\u002Fcustom-texts.php:445\n msgid \"Singular text for minute\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:442\n+#: includes\u002Fcustom-texts.php:446\n msgid \"Plural text for minute\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:443\n+#: includes\u002Fcustom-texts.php:447\n msgid \"Short form of minute\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:444\n+#: includes\u002Fcustom-texts.php:448\n msgid \"\"\n \"Javascript message displayed when selection of an extra is required, but \"\n \"client did not pick one\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:445\n+#: includes\u002Fcustom-texts.php:449\n msgid \"Javascript message displayed when a required field is left empty\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:446\n+#: includes\u002Fcustom-texts.php:450\n msgid \"\"\n \"Javascript message displayed when a terms and conditions checkbox are not \"\n \"checked by the client\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:447\n+#: includes\u002Fcustom-texts.php:451\n msgid \"Monday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:448\n+#: includes\u002Fcustom-texts.php:452\n msgid \"Initial letter of Monday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:449\n+#: includes\u002Fcustom-texts.php:453\n msgid \"Short form of Monday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:450\n+#: includes\u002Fcustom-texts.php:454\n msgid \"Singular text for month\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:451\n+#: includes\u002Fcustom-texts.php:455\n msgid \"Text for bookings recurring every month\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:452\n+#: includes\u002Fcustom-texts.php:456\n msgid \"\"\n \"Title of the monthly calendar. LOCATION, SERVICE, WORKER, START will be \"\n \"replaced by their real values\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:453\n+#: includes\u002Fcustom-texts.php:457\n msgid \"Plural text for month\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:454\n+#: includes\u002Fcustom-texts.php:458\n msgid \"Title for participant email\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:455\n+#: includes\u002Fcustom-texts.php:459\n #, php-format\n msgid \"\"\n \"Placeholder for participant email field. %d will be replaced by the order in \"\n \"the list.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:456\n+#: includes\u002Fcustom-texts.php:460\n msgid \"Registration successful message\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:457\n+#: includes\u002Fcustom-texts.php:461\n msgid \"Label for Afternoon in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:458\n+#: includes\u002Fcustom-texts.php:462\n msgid \"\"\n \"Message displayed when an already active user attempts to activate \"\n \"themselves again\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:459\n+#: includes\u002Fcustom-texts.php:463\n #, php-format\n msgid \"\"\n \"Message displayed when a user applies to become a vendor, but he\u002Fshe already \"\n \"has past records. Keep %s which will be replaced with date of application.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:460\n+#: includes\u002Fcustom-texts.php:464\n msgid \"\"\n \"Warning message displayed when provider of a store attempts to apply to be a \"\n \"vendor.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:461\n+#: includes\u002Fcustom-texts.php:465\n msgid \"Message displayed when a vendor applies to become a vendor again\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:462\n+#: includes\u002Fcustom-texts.php:466\n msgid \"Text of the button on Profile Settings to apply to become a member\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:463\n+#: includes\u002Fcustom-texts.php:467\n msgid \"Text of the button to apply to become a vendor\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:464\n+#: includes\u002Fcustom-texts.php:468\n msgid \"Description text explaining Become a Vendor button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:465\n+#: includes\u002Fcustom-texts.php:469\n msgid \"\"\n \"Javascript message asking confirmation after clicking Become a Vendor button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:466\n+#: includes\u002Fcustom-texts.php:470\n msgid \"Label for Bio field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:467\n+#: includes\u002Fcustom-texts.php:471\n msgid \"Label for Bio summary field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:468\n+#: includes\u002Fcustom-texts.php:472\n msgid \"Label for Bio Page field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:469\n+#: includes\u002Fcustom-texts.php:473\n msgid \"Label for commission amount\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:470\n+#: includes\u002Fcustom-texts.php:474\n msgid \"Label for commission ID\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:471\n+#: includes\u002Fcustom-texts.php:475\n msgid \"Label for commission rate\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:472\n+#: includes\u002Fcustom-texts.php:476\n msgid \"Label for commission status\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:473\n+#: includes\u002Fcustom-texts.php:477\n msgid \"Error message displayed when user could not be created\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:474\n+#: includes\u002Fcustom-texts.php:478\n msgid \"Title for Days of the week in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:475\n+#: includes\u002Fcustom-texts.php:479\n msgid \"\"\n \"Message displayed to the user whose vendor application has been declined\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:476\n+#: includes\u002Fcustom-texts.php:480\n msgid \"Error message displayed when activation email sending failed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:477\n+#: includes\u002Fcustom-texts.php:481\n msgid \"Error message displayed when submitted email is banned\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:478\n+#: includes\u002Fcustom-texts.php:482\n msgid \"Error message displayed when submitted email is already in use\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:479\n+#: includes\u002Fcustom-texts.php:483\n msgid \"\"\n \"Error message displayed when submitted email is empty or not in valid format\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:480\n+#: includes\u002Fcustom-texts.php:484\n msgid \"Label for Evening in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:481\n+#: includes\u002Fcustom-texts.php:485\n msgid \"\"\n \"Error message displayed when an invalid or already used activation key is \"\n \"used.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:482\n+#: includes\u002Fcustom-texts.php:486\n msgid \"\"\n \"Text displayed instead of Become a Vendor button when user is already a \"\n \"vendor\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:483\n+#: includes\u002Fcustom-texts.php:487\n msgid \"Label for Late afternoon in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:484\n+#: includes\u002Fcustom-texts.php:488\n msgid \"Label for Late Evening in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:485\n+#: includes\u002Fcustom-texts.php:489\n msgid \"Label for Late morning in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:486\n+#: includes\u002Fcustom-texts.php:490\n msgid \"Label for Late Night in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:487\n+#: includes\u002Fcustom-texts.php:491\n msgid \"Account activation complete message. Displayed if vendor is approved\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:488\n+#: includes\u002Fcustom-texts.php:492\n msgid \"Label for Morning in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:489\n+#: includes\u002Fcustom-texts.php:493\n msgid \"Label for Night in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:490\n+#: includes\u002Fcustom-texts.php:494\n msgid \"Error message displayed when Privacy Policy check box is not checked\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:491\n+#: includes\u002Fcustom-texts.php:495\n msgid \"Label for Override Prices setting in vendor profile\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:492\n+#: includes\u002Fcustom-texts.php:496\n msgid \"Description for Override Prices setting in vendor profile.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:493\n+#: includes\u002Fcustom-texts.php:497\n msgid \"\"\n \"Message displayed to the user when his page cannot be accessed, possibly due \"\n \"to suspension of the user.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:494\n+#: includes\u002Fcustom-texts.php:498\n msgid \"Error message displayed when password field is empty\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:495\n+#: includes\u002Fcustom-texts.php:499\n msgid \"Error message displayed when submitted password values do not match\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:496\n+#: includes\u002Fcustom-texts.php:500\n #, php-format\n msgid \"\"\n \"Error message displayed when a required form field was not filled. Keep %s \"\n \"which will be replaced by the name of the field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:497\n+#: includes\u002Fcustom-texts.php:501\n msgid \"Description displayed to user when vendor status is pending\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:498\n+#: includes\u002Fcustom-texts.php:502\n msgid \"Label for Tagline Text in user profile\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:499\n+#: includes\u002Fcustom-texts.php:503\n msgid \"Label for Tags in user profile\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:500\n+#: includes\u002Fcustom-texts.php:504\n msgid \"Title for Time of the day in availability filter\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:501\n+#: includes\u002Fcustom-texts.php:505\n msgid \"Label for Page Title in user profile\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:502\n+#: includes\u002Fcustom-texts.php:506\n msgid \"Button text for Upload Photo\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:503\n+#: includes\u002Fcustom-texts.php:507\n msgid \"Error message displayed when an empty username is submitted\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:504\n+#: includes\u002Fcustom-texts.php:508\n msgid \"Error message displayed when an already existing username is submitted\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:505\n+#: includes\u002Fcustom-texts.php:509\n msgid \"Error message displayed when an illegal username is submitted\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:506\n+#: includes\u002Fcustom-texts.php:510\n msgid \"\"\n \"Error message displayed when a username having invalid characters is \"\n \"submitted\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:507\n+#: includes\u002Fcustom-texts.php:511\n msgid \"Error message displayed when an all numeric username is submitted\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:508\n+#: includes\u002Fcustom-texts.php:512\n msgid \"\"\n \"Error message displayed when a username shorter than 4 characters is \"\n \"submitted\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:509\n+#: includes\u002Fcustom-texts.php:513\n msgid \"\"\n \"Error message displayed when a username having underscore character is \"\n \"submitted\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:510\n+#: includes\u002Fcustom-texts.php:514\n msgid \"Sign Up button text\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:511\n+#: includes\u002Fcustom-texts.php:515\n msgid \"Label for Video in user profile\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:512\n+#: includes\u002Fcustom-texts.php:516\n msgid \"\"\n \"Account activation complete message. Displayed when vendor application \"\n \"awaits admin approval\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:513\n+#: includes\u002Fcustom-texts.php:517\n msgid \"Title for Name field in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:514\n-msgid \"Placeholder for Name field in the confirmation form\"\n-msgstr \"\"\n-\n-#: includes\u002Fcustom-texts.php:515\n+#: includes\u002Fcustom-texts.php:518\n msgid \"Pagination button text for Next\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:516\n+#: includes\u002Fcustom-texts.php:519\n msgid \"\"\n \"Note added to details field on confirmation form to notify a booking ending \"\n \"next day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:517\n+#: includes\u002Fcustom-texts.php:520\n msgid \"Pagination button text for Next Month\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:518\n+#: includes\u002Fcustom-texts.php:521\n msgid \"Pagination button text for Next Months\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:519\n+#: includes\u002Fcustom-texts.php:522\n msgid \"Pagination button text for Next Week\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:520\n+#: includes\u002Fcustom-texts.php:523\n msgid \"Pagination button text for Next Weeks\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:521\n+#: includes\u002Fcustom-texts.php:524\n msgid \"Translation for No, e.g. to show a check box is not checked\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:522\n+#: includes\u002Fcustom-texts.php:525\n msgid \"Title for number of bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:523\n+#: includes\u002Fcustom-texts.php:526\n msgid \"\"\n \"Title for number of cancelled jobs of a package in confirmation form, \"\n \"bookings page table and list of bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:524\n+#: includes\u002Fcustom-texts.php:527\n msgid \"\"\n \"Title for number of completed jobs of a package in confirmation form, \"\n \"bookings page table and list of bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:525\n+#: includes\u002Fcustom-texts.php:528\n msgid \"\"\n \"Title for number of remaining jobs of a package in confirmation form, \"\n \"bookings page table and list of bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:526\n+#: includes\u002Fcustom-texts.php:529\n msgid \"\"\n \"Title for number of total jobs of a package in confirmation form, bookings \"\n \"page table and list of bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:527\n+#: includes\u002Fcustom-texts.php:530\n msgid \"Text for \\\"None\\\" selection, e.g. number of guests\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:528\n+#: includes\u002Fcustom-texts.php:531\n #, php-format\n msgid \"\"\n \"Placeholder for participant name field. %d will be replaced by the order in \"\n \"the list.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:529\n+#: includes\u002Fcustom-texts.php:532\n msgid \"Message displayed after a purchase attempt with insufficient credits\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:530\n+#: includes\u002Fcustom-texts.php:533\n msgid \"Title for participant name\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:531\n+#: includes\u002Fcustom-texts.php:534\n msgid \"Text for status No Show\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:532\n+#: includes\u002Fcustom-texts.php:535\n msgid \"Title for Note field in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:533\n+#: includes\u002Fcustom-texts.php:536\n msgid \"Javascript message displayed when client did not make any changes\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:534\n+#: includes\u002Fcustom-texts.php:537\n msgid \"Dialog title for notice type messages\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:535\n+#: includes\u002Fcustom-texts.php:538\n msgid \"\"\n \"Javascript text displayed when client attempts to edit date\u002Ftime of a \"\n \"booking and time slot has been booked\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:536\n+#: includes\u002Fcustom-texts.php:539\n msgid \"\"\n \"Text displayed when a service, provider, etc variable does not have a \"\n \"displayable name. Possibly because of a record being deleted\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:537\n+#: includes\u002Fcustom-texts.php:540\n msgid \"\"\n \"Javascript message displayed when client attempts to take seats more than \"\n \"the capacity. This may happen when different services with different \"\n \"capacities are to be booked\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:538\n+#: includes\u002Fcustom-texts.php:541\n msgid \"\"\n \"Message displayed when client attempts to make booking with insufficient \"\n \"Digital Wallet balance\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:539\n+#: includes\u002Fcustom-texts.php:542\n msgid \"\"\n \"Text displayed below calendar title when login is required and client is not \"\n \"logged in. LOGIN_PAGE will be replaced by the login url\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:540\n+#: includes\u002Fcustom-texts.php:543\n msgid \"\"\n \"Javascript text displayed when user does not match to the owner of the \"\n \"booking.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:541\n+#: includes\u002Fcustom-texts.php:544\n msgid \"\"\n \"Javascript text displayed when requested action or selection is not possible\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:542\n+#: includes\u002Fcustom-texts.php:545\n msgid \"\"\n \"Javascript text displayed when client attempts to book a service which is \"\n \"not published (expired or not open yet)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:543\n+#: includes\u002Fcustom-texts.php:546\n msgid \"\"\n \"Javascript text displayed when client attempts to edit date\u002Ftime of a \"\n \"booking and provider is not working\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:544\n+#: includes\u002Fcustom-texts.php:547\n msgid \"\"\n \"Text for List of Bookings when there are no appointments to be displayed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:545\n+#: includes\u002Fcustom-texts.php:548\n msgid \"\"\n \"HTML text displayed when there are no free time slots in the table or block\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:546\n+#: includes\u002Fcustom-texts.php:549\n msgid \"\"\n \"Selection in dropdowns when there is no preference, (e.g. when client does \"\n \"not particularly select a provider)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:547\n+#: includes\u002Fcustom-texts.php:550\n msgid \"Text for Recurring Appointments pulldown menu to select no repeat\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:548\n+#: includes\u002Fcustom-texts.php:551\n msgid \"Message displayed when there are no matching services\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:549\n+#: includes\u002Fcustom-texts.php:552\n msgid \"Message displayed when there are no matching results\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:550\n+#: includes\u002Fcustom-texts.php:553\n msgid \"Legend label for not available, e.g. break, holiday, slot\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:551\n+#: includes\u002Fcustom-texts.php:554\n msgid \"Automatically added to optional UDF labels\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:552\n+#: includes\u002Fcustom-texts.php:555\n msgid \"Title for Order in list of bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:553\n+#: includes\u002Fcustom-texts.php:556\n msgid \"\"\n \"Text displayed to admin for service provider when no particular provider is \"\n \"selected\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:554\n+#: includes\u002Fcustom-texts.php:557\n msgid \"Column header of Owner for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:555\n+#: includes\u002Fcustom-texts.php:558\n msgid \"Column header of Padding After for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:556\n+#: includes\u002Fcustom-texts.php:559\n msgid \"Column header of Padding Before for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:557\n+#: includes\u002Fcustom-texts.php:560\n msgid \"Text for status paid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:558\n+#: includes\u002Fcustom-texts.php:561\n msgid \"Javascript message informing that balance is not negative\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:559\n+#: includes\u002Fcustom-texts.php:562\n msgid \"Header for List of Participants of Group Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:560\n+#: includes\u002Fcustom-texts.php:563\n #, php-format\n msgid \"\"\n \"Title for each participant of Group Bookings. %d will be replaced by the \"\n \"order in the list.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:561\n+#: includes\u002Fcustom-texts.php:564\n msgid \"Legend label for partly busy slot\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:562\n+#: includes\u002Fcustom-texts.php:565\n msgid \"Label for Password field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:563\n+#: includes\u002Fcustom-texts.php:566\n msgid \"Label for Repeat Password field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:564\n+#: includes\u002Fcustom-texts.php:567\n msgid \"\"\n \"Javascript text displayed when client attempts to edit a booking with past \"\n \"date\u002Ftime\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:565\n+#: includes\u002Fcustom-texts.php:568\n msgid \"Used for each guest\u002Fseat booked in Group Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:566\n+#: includes\u002Fcustom-texts.php:569\n msgid \"\"\n \"Message displayed when payment is required, but no payment method is \"\n \"selected or not available\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:567\n+#: includes\u002Fcustom-texts.php:570\n msgid \"Title for Payment ID in Payment History\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:568\n+#: includes\u002Fcustom-texts.php:571\n msgid \"Column header of Pay for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:569\n+#: includes\u002Fcustom-texts.php:572\n msgid \"Column header of PayPal for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:570\n+#: includes\u002Fcustom-texts.php:573\n msgid \"Label for PayPal Email\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:571\n+#: includes\u002Fcustom-texts.php:574\n msgid \"Description text under PayPal Email setting field on user profile\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:572\n+#: includes\u002Fcustom-texts.php:575\n msgid \"\"\n \"JavaScript message displayed when an incorrect non-empty Paypal email is \"\n \"entered\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:573\n+#: includes\u002Fcustom-texts.php:576\n msgid \"Button text to confirm PayPal Express payment final stage.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:574\n+#: includes\u002Fcustom-texts.php:577\n msgid \"\"\n \"Text that will be displayed in final confirmation stage with Paypal Express \"\n \"Checkout. AMOUNT placeholder will be reapleced with the amount to be paid, \"\n \"and EMAIL is PayPal account email of the client.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:575\n+#: includes\u002Fcustom-texts.php:578\n msgid \"\"\n \"Button text for credit card data submit. AMOUNT placeholder will be replaced \"\n \"with formatted payable amount, including currency sign.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:576\n+#: includes\u002Fcustom-texts.php:579\n msgid \"\"\n \"Text beside Payment field in the confirmation form when more than one \"\n \"payment option\u002Fgateway is active\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:577\n+#: includes\u002Fcustom-texts.php:580\n msgid \"Column header of Pdf download for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:578\n+#: includes\u002Fcustom-texts.php:581\n msgid \"Title text of confirmation attachment for my appointments table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:579\n+#: includes\u002Fcustom-texts.php:582\n msgid \"\"\n \"Button text to download a confirmation attachment for my appointments table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:580\n+#: includes\u002Fcustom-texts.php:583\n msgid \"Pdf Download button text in List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:581\n+#: includes\u002Fcustom-texts.php:584\n msgid \"Tooltip text that explains function of pdf download button.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:582\n+#: includes\u002Fcustom-texts.php:585\n msgid \"Tooltip title for Pdf Download button\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:583\n+#: includes\u002Fcustom-texts.php:586\n msgid \"Text for status pending\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:584\n+#: includes\u002Fcustom-texts.php:587\n msgid \"\"\n \"Text for status pending and an automatic payment is not expected, e.g. \"\n \"payment is not required, price is zero, or manual payment is selected\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:585\n+#: includes\u002Fcustom-texts.php:588\n msgid \"\"\n \"Text for status pending and an automatic payment via a gateway is expected\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:586\n+#: includes\u002Fcustom-texts.php:589\n msgid \"Label for Person Types\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:587\n+#: includes\u002Fcustom-texts.php:590\n msgid \"Title for Phone field in the confirmation form and user page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:588\n-msgid \"Placeholder for Phone field in the confirmation form\"\n-msgstr \"\"\n-\n-#: includes\u002Fcustom-texts.php:589\n+#: includes\u002Fcustom-texts.php:591\n msgid \"Message displayed while submitting a form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:590\n+#: includes\u002Fcustom-texts.php:592\n msgid \"\"\n \"Private Message button text. RECIPIENT placeholder will be replaced by the \"\n \"display name of the other party\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:591\n+#: includes\u002Fcustom-texts.php:593\n #, php-format\n msgid \"\"\n \"Placeholder for participant phone field. %d will be replaced by the order in \"\n \"the list.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:592\n+#: includes\u002Fcustom-texts.php:594\n msgid \"Title text for language selection dropdown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:593\n+#: includes\u002Fcustom-texts.php:595\n msgid \"Spinner panel message while booking views are being prepared\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:594\n+#: includes\u002Fcustom-texts.php:596\n msgid \"Spinner panel message while time table is being prepared\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:595\n+#: includes\u002Fcustom-texts.php:597\n msgid \"Pagination button text for Previous\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:596\n+#: includes\u002Fcustom-texts.php:598\n msgid \"Pagination button text for Previous Month\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:597\n+#: includes\u002Fcustom-texts.php:599\n msgid \"Pagination button text for Previous Months\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:598\n+#: includes\u002Fcustom-texts.php:600\n msgid \"Pagination button text for Previous Week\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:599\n+#: includes\u002Fcustom-texts.php:601\n msgid \"Pagination button text for Previous Weeks\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:600\n+#: includes\u002Fcustom-texts.php:602\n msgid \"Title for Price in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:601\n+#: includes\u002Fcustom-texts.php:603\n msgid \"\"\n \"Javascript message in case there is a mismatch of calculated price and price \"\n \"previously displayed to the client and new price is higher.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:602\n+#: includes\u002Fcustom-texts.php:604\n msgid \"\"\n \"Javascript message in case there is a mismatch of calculated price and price \"\n \"previously displayed to the client and new price is lower.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:603\n+#: includes\u002Fcustom-texts.php:605\n msgid \"Column Header for Private Message\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:604\n+#: includes\u002Fcustom-texts.php:606\n msgid \"Javascript message displayed when client is asked to confirm to proceed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:605\n+#: includes\u002Fcustom-texts.php:607\n msgid \"Processing text when connecting to payment gateway\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:606\n+#: includes\u002Fcustom-texts.php:608\n msgid \"Column header of Provider for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:607\n+#: includes\u002Fcustom-texts.php:609\n msgid \"Tab Header of Providers for Store Management\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:608\n+#: includes\u002Fcustom-texts.php:610\n msgid \"Title for Service Provider in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:609\n+#: includes\u002Fcustom-texts.php:611\n msgid \"Plural of the Service Provider title in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:610\n+#: includes\u002Fcustom-texts.php:612\n msgid \"\"\n \"Javascript text displayed when client attempts to book a service which is \"\n \"out of quota\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:611\n+#: includes\u002Fcustom-texts.php:613\n msgid \"Spinner panel message while ajax data read is in progress\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:612\n+#: includes\u002Fcustom-texts.php:614\n msgid \"\"\n \"Javascript message displayed before client is redirected to the login page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:613\n+#: includes\u002Fcustom-texts.php:615\n msgid \"Title for Payment Reference\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:614\n+#: includes\u002Fcustom-texts.php:616\n msgid \"Spinner panel message while page is being refreshed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:615\n+#: includes\u002Fcustom-texts.php:617\n msgid \"Placeholder value in login Register field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:616\n+#: includes\u002Fcustom-texts.php:618\n msgid \"Text beside Remember Me field in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:617\n+#: includes\u002Fcustom-texts.php:619\n msgid \"Text for status removed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:618\n+#: includes\u002Fcustom-texts.php:620\n msgid \"\"\n \"Text in tooltip when an appointment has been removed from confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:619\n+#: includes\u002Fcustom-texts.php:621\n msgid \"\"\n \"Note added under confirmation form when there is at least one required field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:620\n+#: includes\u002Fcustom-texts.php:622\n msgid \"Text for status reserved by Google Calendar\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:621\n+#: includes\u002Fcustom-texts.php:623\n msgid \"Button text for Resource in Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:622\n+#: includes\u002Fcustom-texts.php:624\n msgid \"Label for Revenue\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:623\n+#: includes\u002Fcustom-texts.php:625\n msgid \"Jitsi meeting room ID\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:624\n+#: includes\u002Fcustom-texts.php:626\n msgid \"Text for status happening now\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:625\n+#: includes\u002Fcustom-texts.php:627\n msgid \"Saturday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:626\n+#: includes\u002Fcustom-texts.php:628\n msgid \"Initial letter of Saturday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:627\n+#: includes\u002Fcustom-texts.php:629\n msgid \"Short form of Saturday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:628\n+#: includes\u002Fcustom-texts.php:630\n msgid \"Label for Save\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:629\n+#: includes\u002Fcustom-texts.php:631\n msgid \"Javascript message after settings saved.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:630\n+#: includes\u002Fcustom-texts.php:632\n msgid \"Button text for save (finalise edit)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:631\n+#: includes\u002Fcustom-texts.php:633\n msgid \"\"\n \"Javascript message displayed when appointment could not be saved possibly \"\n \"because of a server error\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:632\n+#: includes\u002Fcustom-texts.php:634\n msgid \"Spinner panel message while data is being saved\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:633\n+#: includes\u002Fcustom-texts.php:635\n msgid \"Placeholder value in table Search field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:634\n+#: includes\u002Fcustom-texts.php:636\n msgid \"Title for number of seats in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:635\n+#: includes\u002Fcustom-texts.php:637\n msgid \"Column header of available capacity\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:636\n+#: includes\u002Fcustom-texts.php:638\n msgid \"Column header of total capacity\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:637\n+#: includes\u002Fcustom-texts.php:639\n msgid \"Column header of total and available capacity separated with \\\"\u002F\\\"\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:638\n+#: includes\u002Fcustom-texts.php:640\n msgid \"Singular text for second\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:639\n+#: includes\u002Fcustom-texts.php:641\n msgid \"Plural text for seconds\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:640\n+#: includes\u002Fcustom-texts.php:642\n msgid \"Label for Security Code\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:641\n+#: includes\u002Fcustom-texts.php:643\n msgid \"General short select text\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:642\n+#: includes\u002Fcustom-texts.php:644\n msgid \"General select text\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:643\n+#: includes\u002Fcustom-texts.php:645\n msgid \"Text displayed to show a slot has been selected\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:644\n+#: includes\u002Fcustom-texts.php:646\n msgid \"\"\n \"Text for select button of locations\u002Fservices\u002Fservice providers dropdowns\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:645\n+#: includes\u002Fcustom-texts.php:647\n msgid \"Text displayed above credit selection dropdown in Sell Credits\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:646\n+#: includes\u002Fcustom-texts.php:648\n msgid \"Text displayed above date selection field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:647\n+#: includes\u002Fcustom-texts.php:649\n msgid \"Text displayed above duration selection dropdown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:648\n+#: includes\u002Fcustom-texts.php:650\n msgid \"Text displayed above language selection dropdown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:649\n+#: includes\u002Fcustom-texts.php:651\n msgid \"Javascript message displayed when selected limit exceeded\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:650\n+#: includes\u002Fcustom-texts.php:652\n msgid \"Text displayed above locations dropdown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:651\n+#: includes\u002Fcustom-texts.php:653\n msgid \"Text displayed above service providers dropdown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:652\n+#: includes\u002Fcustom-texts.php:654\n msgid \"\"\n \"Text displayed above number of repeats and repeat unit selection dropdowns\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:653\n+#: includes\u002Fcustom-texts.php:655\n msgid \"Label for repeat number\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:654\n+#: includes\u002Fcustom-texts.php:656\n msgid \"Label for repeat unit\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:655\n+#: includes\u002Fcustom-texts.php:657\n msgid \"Text displayed above pax\u002Fseats selection dropdown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:656\n+#: includes\u002Fcustom-texts.php:658\n msgid \"Text displayed above services dropdown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:657\n+#: includes\u002Fcustom-texts.php:659\n msgid \"Title of Theme selection pulldown menu\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:658\n+#: includes\u002Fcustom-texts.php:660\n msgid \"Text displayed above users dropdown\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:659\n+#: includes\u002Fcustom-texts.php:661\n msgid \"Column header of Server Date\u002Ftime for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:660\n+#: includes\u002Fcustom-texts.php:662\n msgid \"Column header of Server Day for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:661\n+#: includes\u002Fcustom-texts.php:663\n msgid \"Text for Server Timezone\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:662\n+#: includes\u002Fcustom-texts.php:664\n msgid \"Column header of Service for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:663\n+#: includes\u002Fcustom-texts.php:665\n msgid \"Title for Services Given on account page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:664\n+#: includes\u002Fcustom-texts.php:666\n msgid \"Title for Service ID\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:665\n+#: includes\u002Fcustom-texts.php:667\n msgid \"Title for Service in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:666\n+#: includes\u002Fcustom-texts.php:668\n msgid \"Plural of the Service title in the confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:667\n+#: includes\u002Fcustom-texts.php:669\n msgid \"Title for Services Provided\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:668\n+#: includes\u002Fcustom-texts.php:670\n msgid \"\"\n \"Message displayed when no service is selected, but selection of at least one \"\n \"is required\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:669\n+#: includes\u002Fcustom-texts.php:671\n msgid \"Singular text for Digital Wallet package quantity\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:670\n+#: includes\u002Fcustom-texts.php:672\n msgid \"Plural text for Digital Wallet package quantity\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:671\n+#: includes\u002Fcustom-texts.php:673\n msgid \"Label for Showing: in select elements\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:672\n+#: includes\u002Fcustom-texts.php:674\n msgid \"Column Header for Sort Order in Services List\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:673\n+#: includes\u002Fcustom-texts.php:675\n msgid \"Javascript message displayed after a too frequent booking attempt\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:674\n+#: includes\u002Fcustom-texts.php:676\n msgid \"Text for status stand by\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:675\n+#: includes\u002Fcustom-texts.php:677\n msgid \"Label for start time in confirmation form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:676\n+#: includes\u002Fcustom-texts.php:678\n msgid \"Title for State field in the confirmation form and user page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:677\n-msgid \"Placeholder for State field in the confirmation form\"\n-msgstr \"\"\n-\n-#: includes\u002Fcustom-texts.php:678\n+#: includes\u002Fcustom-texts.php:679\n msgid \"Column header of Status for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:679\n+#: includes\u002Fcustom-texts.php:680\n msgid \"Label for Store\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:680\n+#: includes\u002Fcustom-texts.php:681\n msgid \"Label for Stores\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:681\n+#: includes\u002Fcustom-texts.php:682\n msgid \"Label for Store Page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:682\n+#: includes\u002Fcustom-texts.php:683\n msgid \"Label for Store Settings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:683\n+#: includes\u002Fcustom-texts.php:684\n msgid \"Button text for confirming an appointment\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:684\n+#: includes\u002Fcustom-texts.php:685\n msgid \"Title for Summary block in Flex Steps\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:685\n+#: includes\u002Fcustom-texts.php:686\n msgid \"Sunday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:686\n+#: includes\u002Fcustom-texts.php:687\n msgid \"Initial letter of Sunday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:687\n+#: includes\u002Fcustom-texts.php:688\n msgid \"Short form of Sunday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:688\n+#: includes\u002Fcustom-texts.php:689\n msgid \"Label for Tax\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:689\n+#: includes\u002Fcustom-texts.php:690\n msgid \"\"\n \"To be announced: Exact time or link of the booking is not determined yet.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:690\n+#: includes\u002Fcustom-texts.php:691\n msgid \"Text for status test\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:691\n+#: includes\u002Fcustom-texts.php:692\n msgid \"Thursday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:692\n+#: includes\u002Fcustom-texts.php:693\n msgid \"Initial letter of Thursday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:693\n+#: includes\u002Fcustom-texts.php:694\n msgid \"Short form of Thursday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:694\n+#: includes\u002Fcustom-texts.php:695\n msgid \"Column header of Time in editing form\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:695\n+#: includes\u002Fcustom-texts.php:696\n msgid \"Button text for provider bookings in Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:696\n+#: includes\u002Fcustom-texts.php:697\n msgid \"Label for Time Zone\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:697\n+#: includes\u002Fcustom-texts.php:698\n msgid \"Title of Time Zone selection pulldown menu\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:698\n+#: includes\u002Fcustom-texts.php:699\n msgid \"Button text for Today in Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:699\n+#: includes\u002Fcustom-texts.php:700\n msgid \"\"\n-\"Javascript message displayed when client attempts to cancel\u002Fedit\u002Fadd an \"\n-\"appointment, but it is too late\"\n+\"Javascript message or tooltip text displayed when it is early to edit a \"\n+\"booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:700\n+#: includes\u002Fcustom-texts.php:701\n+msgid \"\"\n+\"Javascript message or tooltip text displayed when client attempts to cancel\u002F\"\n+\"edit\u002Fadd a booking, but it is too late\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:702\n #, php-format\n msgid \"\"\n \"Javascript message displayed when selected number of appointments is less \"\n \"than the permitted number. Keep %d which will be replaced by actual limit\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:701\n+#: includes\u002Fcustom-texts.php:703\n msgid \"Column header of Total Paid amount for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:702\n+#: includes\u002Fcustom-texts.php:704\n msgid \"\"\n \"Javascript error message when client attempts to select a time slot which \"\n \"would exceed trial limit. Keep LIMIT placeholder which will be replaced by \"\n \"set limit value.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:703\n+#: includes\u002Fcustom-texts.php:705\n msgid \"\"\n \"Javascript error message when client attempts to select a time slot which \"\n \"would result in selecting same provider second time.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:704\n+#: includes\u002Fcustom-texts.php:706\n msgid \"Tooltip text displayed for price discounted by coupon\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:705\n+#: includes\u002Fcustom-texts.php:707\n msgid \"Tooltip text displayed for price discounted by coupon or custom pricing\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:706\n+#: includes\u002Fcustom-texts.php:708\n msgid \"\"\n \"Tooltip text displayed for regular price when there is a discounted price\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:707\n+#: includes\u002Fcustom-texts.php:709\n msgid \"Tuesday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:708\n+#: includes\u002Fcustom-texts.php:710\n msgid \"Initial letter of Tuesday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:709\n+#: includes\u002Fcustom-texts.php:711\n msgid \"Short form of Tuesday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:710\n+#: includes\u002Fcustom-texts.php:712\n msgid \"Message displayed after an unauthorised access\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:711\n+#: includes\u002Fcustom-texts.php:713\n msgid \"\"\n \"Text displayed when details of a setting is unknown. Possibly because the \"\n \"addon which made the setting has been disabled.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:712\n+#: includes\u002Fcustom-texts.php:714\n msgid \"Update Button text\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:713\n+#: includes\u002Fcustom-texts.php:715\n msgid \"Javascript message after one or more records updated\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:714\n+#: includes\u002Fcustom-texts.php:716\n msgid \"Spinner panel message while an update is in progress\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:715\n+#: includes\u002Fcustom-texts.php:717\n msgid \"Placeholder value in login Username or Email field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:716\n+#: includes\u002Fcustom-texts.php:718\n msgid \"Placeholder value in login Username field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:717\n+#: includes\u002Fcustom-texts.php:719\n msgid \"\"\n \"Text for selection of using server timezone instead of dedected client local \"\n \"timezone\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:718\n+#: includes\u002Fcustom-texts.php:720\n msgid \"Singular text for vendor\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:719\n+#: includes\u002Fcustom-texts.php:721\n msgid \"Plural text for vendor\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:720\n+#: includes\u002Fcustom-texts.php:722\n msgid \"Text for status in Waiting List\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:721\n+#: includes\u002Fcustom-texts.php:723\n msgid \"\"\n \"Confirmation form submit button text when booking will be added to Waiting \"\n \"List\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:722\n+#: includes\u002Fcustom-texts.php:724\n msgid \"\"\n \"Javascript message displayed when client claims an opening but slot is no \"\n \"more available.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:723\n+#: includes\u002Fcustom-texts.php:725\n msgid \"Wednesday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:724\n+#: includes\u002Fcustom-texts.php:726\n msgid \"Initial letter of Wednesday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:725\n+#: includes\u002Fcustom-texts.php:727\n msgid \"Short form of Wednesday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:726\n+#: includes\u002Fcustom-texts.php:728\n msgid \"Singular text for week\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:727\n+#: includes\u002Fcustom-texts.php:729\n msgid \"Text for bookings recurring every weekday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:728\n+#: includes\u002Fcustom-texts.php:730\n msgid \"Text for bookings recurring every weekend\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:729\n+#: includes\u002Fcustom-texts.php:731\n msgid \"Text for bookings recurring every week\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:730\n+#: includes\u002Fcustom-texts.php:732\n msgid \"\"\n \"Title above the weekly calendar. LOCATION, SERVICE, WORKER, START, END will \"\n \"be replaced by their real values\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:731\n+#: includes\u002Fcustom-texts.php:733\n msgid \"Plural text for week\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:732\n+#: includes\u002Fcustom-texts.php:734\n msgid \"Label for WooCommerce Order ID\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:733\n+#: includes\u002Fcustom-texts.php:735\n msgid \"Column header of Provider\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:734\n+#: includes\u002Fcustom-texts.php:736\n msgid \"Column header of Provider Free for Services table\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:735\n+#: includes\u002Fcustom-texts.php:737\n #, php-format\n msgid \"\"\n \"Javascript message displayed when submitted field is not acceptable. Keep %s \"\n \"which will be replaced by field name\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:736\n+#: includes\u002Fcustom-texts.php:738\n msgid \"Text for year\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:737\n+#: includes\u002Fcustom-texts.php:739\n msgid \"Translation for Yes, e.g. to show a check box is checked\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:738\n+#: includes\u002Fcustom-texts.php:740\n msgid \"\"\n \"Label for Your Rate field in user profile. The same for hourly and fixed \"\n \"rates.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:739\n+#: includes\u002Fcustom-texts.php:741\n msgid \"Title for Postcode field in the confirmation form and user page\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:740\n-msgid \"Placeholder for Postcode field in the confirmation form\"\n-msgstr \"\"\n-\n-#: includes\u002Fcustom-texts.php:741\n+#: includes\u002Fcustom-texts.php:742\n msgid \"Column header of Zoom for List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:742\n+#: includes\u002Fcustom-texts.php:743\n msgid \"Meeting ID label in List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:743\n+#: includes\u002Fcustom-texts.php:744\n msgid \"Button label for Join to Meeting\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:744\n+#: includes\u002Fcustom-texts.php:745\n msgid \"Meeting Password label in List of Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:745\n+#: includes\u002Fcustom-texts.php:746\n msgid \"Button label for Start Meeting\"\n msgstr \"\"\n \n@@ -20644,46 +21524,78 @@\n msgid \"Agora\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:789 includes\u002Fcustom-texts.php:1036\n+#: includes\u002Fcustom-texts.php:789 includes\u002Fcustom-texts.php:1043\n msgid \"This meeting has already started.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:790 includes\u002Fcustom-texts.php:1037\n+#: includes\u002Fcustom-texts.php:790 includes\u002Fcustom-texts.php:1044\n msgid \"\"\n \"Meeting has been started by the host and you are being called. Please \"\n \"confirm to join the meeting.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:791 includes\u002Fcustom-texts.php:1038\n+#: includes\u002Fcustom-texts.php:791\n+msgid \"Connecting...\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:793\n+msgid \"Leave Call\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:794 includes\u002Fcustom-texts.php:1045\n msgid \"&nbsp;\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:792 includes\u002Fcustom-texts.php:1039\n+#: includes\u002Fcustom-texts.php:795 includes\u002Fcustom-texts.php:1046\n msgid \"\"\n \"You can start by clicking START_MEETING link immediately. If you do so, \"\n-\"participant will be able to attend to the meeting even before meeting time \"\n-\"arrives.\"\n+\"participant will be able to attend to the meeting even before the scheduled \"\n+\"meeting time.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:793 includes\u002Fcustom-texts.php:1040\n+#: includes\u002Fcustom-texts.php:796 includes\u002Fcustom-texts.php:1047\n msgid \"Meeting already started. Please click MEETING_ROOM to join.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:794 includes\u002Fcustom-texts.php:1041\n+#: includes\u002Fcustom-texts.php:797\n+msgid \"Could not access microphone and\u002For camera. Please check permissions\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:798\n+msgid \"Could not find another camera to switch to\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:799 includes\u002Fcustom-texts.php:1048\n msgid \"You don't have any upcoming or running meetings.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:795 includes\u002Fcustom-texts.php:1042\n+#: includes\u002Fcustom-texts.php:800 includes\u002Fcustom-texts.php:1049\n msgid \"Start Meeting\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:796 includes\u002Fcustom-texts.php:1043\n+#: includes\u002Fcustom-texts.php:801\n+msgid \"Switch Camera\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:802\n+msgid \"Toggle Microphone\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:803\n+msgid \"Toggle Camera\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:804\n+msgid \"Failed to switch camera\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:805 includes\u002Fcustom-texts.php:1050\n msgid \"\"\n \"When countdown expires, you will be redirected to the Meeting Room. Please \"\n \"keep this page open until then.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:797 includes\u002Fcustom-texts.php:1044\n+#: includes\u002Fcustom-texts.php:806 includes\u002Fcustom-texts.php:1051\n msgid \"\"\n \"You are the host of this meeting. You can click MEETING_ROOM to go to the \"\n \"Meeting Room, or wait here. If you prefer to stay, when countdown expires, \"\n@@ -20691,878 +21603,890 @@\n \"then.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:799\n+#: includes\u002Fcustom-texts.php:808\n msgid \"All Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:800 includes\u002Fwh.php:1041\n+#: includes\u002Fcustom-texts.php:809 includes\u002Fwh.php:1041\n msgid \"All Day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:801\n+#: includes\u002Fcustom-texts.php:810\n msgid \"all services\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:802\n+#: includes\u002Fcustom-texts.php:811\n msgid \"\"\n \"We are sorry, but this time slot is no longer available. Please refresh the \"\n \"page and try another time slot. Thank you.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:803\n+#: includes\u002Fcustom-texts.php:812\n msgid \"Total\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:804\n+#: includes\u002Fcustom-texts.php:813\n #, php-format\n msgid \"Address of the %d. guest\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:805\n+#: includes\u002Fcustom-texts.php:814\n msgid \"Your booking has been successfully changed.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:806\n+#: includes\u002Fcustom-texts.php:815\n msgid \"We have received your submission. Thanks!\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:809\n+#: includes\u002Fcustom-texts.php:818\n msgid \"Approve\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:811\n+#: includes\u002Fcustom-texts.php:820\n msgid \"Are you sure to approve selected booking?\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:812\n+#: includes\u002Fcustom-texts.php:821\n msgid \"Change children\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:814\n+#: includes\u002Fcustom-texts.php:823\n msgid \"\"\n \"Congratulations! You are a service provider of SITE_NAME now. Using this \"\n \"page you can set your profile, arrange working hours and define services you \"\n \"want to give.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:815\n+#: includes\u002Fcustom-texts.php:824\n msgid \"Please login to be assigned as a service provider\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:816\n+#: includes\u002Fcustom-texts.php:825\n msgid \"A specialist\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:817\n+#: includes\u002Fcustom-texts.php:826\n msgid \"Available\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:818\n+#: includes\u002Fcustom-texts.php:827\n msgid \"Profile Picture\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:819\n+#: includes\u002Fcustom-texts.php:828\n msgid \"Back\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:822\n+#: includes\u002Fcustom-texts.php:831\n msgid \"Every other week\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:823\n+#: includes\u002Fcustom-texts.php:832\n msgid \"\"\n \"We are sorry, but the provided email cannot be accepted. Please contact \"\n \"website admin for details.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:824\n+#: includes\u002Fcustom-texts.php:833\n msgid \"Processing booking...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:826\n+#: includes\u002Fcustom-texts.php:835\n msgid \"Selected booking approved\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:827\n+#: includes\u002Fcustom-texts.php:836\n msgid \"Booking closed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:828\n+#: includes\u002Fcustom-texts.php:837\n msgid \"Book Now for START\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:829\n+#: includes\u002Fcustom-texts.php:838\n msgid \"Book Now\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:831\n+#: includes\u002Fcustom-texts.php:840\n msgid \"3 Months Schedule\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:832\n+#: includes\u002Fcustom-texts.php:841\n msgid \"4 Weeks Schedule\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:833\n+#: includes\u002Fcustom-texts.php:842\n msgid \"Seasonal Schedules\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:834\n+#: includes\u002Fcustom-texts.php:843\n msgid \"My Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:835\n+#: includes\u002Fcustom-texts.php:844\n msgid \"My Bookings as Client\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:836\n+#: includes\u002Fcustom-texts.php:845\n msgid \"As Provider\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:837\n+#: includes\u002Fcustom-texts.php:846\n msgid \"Book Me\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:838\n+#: includes\u002Fcustom-texts.php:847\n msgid \"Book Us\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:840\n+#: includes\u002Fcustom-texts.php:849\n msgid \"Credit History\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:843\n+#: includes\u002Fcustom-texts.php:852\n msgid \"Group\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:844 includes\u002Fholidays.php:54\n+#: includes\u002Fcustom-texts.php:853 includes\u002Fholidays.php:54\n msgid \"Holidays\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:845\n+#: includes\u002Fcustom-texts.php:854\n msgid \"+24h Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:847\n+#: includes\u002Fcustom-texts.php:856\n msgid \"Monthly Schedule\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:848\n+#: includes\u002Fcustom-texts.php:857\n msgid \"\"\n \"SERVICE booking #APP_ID supposed to start at DATE_TIME has been cancelled by \"\n \"the client CLIENT\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:849\n+#: includes\u002Fcustom-texts.php:858\n msgid \"\"\n \"SERVICE booking #APP_ID supposed to start at DATE_TIME has been cancelled by \"\n \"admin\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:850\n+#: includes\u002Fcustom-texts.php:859\n msgid \"\"\n \"SERVICE booking #APP_ID supposed to start at DATE_TIME has been cancelled by \"\n \"provider WORKER\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:851\n+#: includes\u002Fcustom-texts.php:860\n msgid \"SERVICE booking #APP_ID started at DATE_TIME has been completed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:852\n+#: includes\u002Fcustom-texts.php:861\n msgid \"SERVICE booking #APP_ID for DATE_TIME has been confirmed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:853\n+#: includes\u002Fcustom-texts.php:862\n msgid \"SERVICE booking #APP_ID for DATE_TIME has been paid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:854\n+#: includes\u002Fcustom-texts.php:863\n msgid \"Client CLIENT has rescheduled SERVICE booking #APP_ID to DATE_TIME\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:855\n+#: includes\u002Fcustom-texts.php:864\n msgid \"Admin has rescheduled SERVICE booking #APP_ID to DATE_TIME\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:856\n+#: includes\u002Fcustom-texts.php:865\n msgid \"Provider WORKER has rescheduled SERVICE booking #APP_ID to DATE_TIME\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:857\n+#: includes\u002Fcustom-texts.php:866\n msgid \"SERVICE booking #APP_ID started. Estimated finish time: END_DATE_TIME\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:858\n+#: includes\u002Fcustom-texts.php:867\n msgid \"\"\n \"CLIENT made a SERVICE booking #APP_ID for DATE_TIME. It will be served by \"\n \"WORKER\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:859\n+#: includes\u002Fcustom-texts.php:868\n msgid \"Admin created a new SERVICE booking #APP_ID scheduled for DATE_TIME\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:860\n+#: includes\u002Fcustom-texts.php:869\n msgid \"\"\n \"WORKER created a new SERVICE booking #APP_ID for client CLIENT for DATE_TIME\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:861\n+#: includes\u002Fcustom-texts.php:870\n msgid \"\"\n \"WORKER has been assigned as service provider for SERVICE booking #APP_ID \"\n \"scheduled for DATE_TIME\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:868\n+#: includes\u002Fcustom-texts.php:877\n msgid \"Add a Book Me tab\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:869\n+#: includes\u002Fcustom-texts.php:878\n msgid \"Weekly Schedule\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:871\n+#: includes\u002Fcustom-texts.php:880\n msgid \"Busy\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:872\n+#: includes\u002Fcustom-texts.php:881\n msgid \"Calculating\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:874\n+#: includes\u002Fcustom-texts.php:883\n msgid \"Selected booking cancelled.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:875\n+#: includes\u002Fcustom-texts.php:884\n msgid \"Are you sure to cancel the selected booking?\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:877 includes\u002Fcustom-texts.php:909\n+#: includes\u002Fcustom-texts.php:886 includes\u002Fcustom-texts.php:917\n msgid \"Clear\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:878\n+#: includes\u002Fcustom-texts.php:887\n msgid \"No, I want to continue\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:879\n+#: includes\u002Fcustom-texts.php:888\n msgid \"Are you sure to cancel current process?\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:880\n+#: includes\u002Fcustom-texts.php:889\n msgid \"Yes, I want to cancel\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:881\n+#: includes\u002Fcustom-texts.php:890\n msgid \"Cancellation of appointments is disabled. Please contact website admin.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:883\n+#: includes\u002Fcustom-texts.php:892\n msgid \"In Cart\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:884\n+#: includes\u002Fcustom-texts.php:893\n msgid \"Category\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:885\n+#: includes\u002Fcustom-texts.php:894\n msgid \"Address Line 1\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:886\n+#: includes\u002Fcustom-texts.php:895\n msgid \"Address Line 2\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:888 includes\u002Fcustom-texts.php:938\n+#: includes\u002Fcustom-texts.php:897 includes\u002Fcustom-texts.php:946\n msgid \"Country\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:890\n+#: includes\u002Fcustom-texts.php:899\n msgid \"\"\n \"We are sorry, but your bank did not approve your credit card. Please try \"\n \"with another card.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:892\n+#: includes\u002Fcustom-texts.php:901\n msgid \"There was a problem with your submission. ERROR_DETAIL\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:893\n+#: includes\u002Fcustom-texts.php:902\n msgid \"Expiration Date\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:894\n+#: includes\u002Fcustom-texts.php:903\n msgid \"Please enter your credit card details below and confirm\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:895\n+#: includes\u002Fcustom-texts.php:904\n msgid \"Name on the Card\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:896\n+#: includes\u002Fcustom-texts.php:905\n msgid \"Credit Card Number\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:898\n+#: includes\u002Fcustom-texts.php:907\n msgid \"State\u002FProvince\u002FRegion\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:900\n+#: includes\u002Fcustom-texts.php:909\n msgid \"Check All\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:901\n+#: includes\u002Fcustom-texts.php:910\n msgid \"IN\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:902\n+#: includes\u002Fcustom-texts.php:911\n msgid \"OUT\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:903\n+#: includes\u002Fcustom-texts.php:912\n msgid \"Processing checkout...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:904\n+#: includes\u002Fcustom-texts.php:913\n msgid \"Checkout\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:905\n+#: includes\u002Fcustom-texts.php:914\n msgid \"Choose Image\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:906\n+#: includes\u002Fcustom-texts.php:915\n msgid \"Click to submit\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:910\n+#: includes\u002Fcustom-texts.php:918\n msgid \"Clear All\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:911\n+#: includes\u002Fcustom-texts.php:919\n msgid \"Click to add to Waiting List\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:912\n+#: includes\u002Fcustom-texts.php:920\n msgid \"Click to add a booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:913\n+#: includes\u002Fcustom-texts.php:921\n msgid \"Click to remove\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:914\n+#: includes\u002Fcustom-texts.php:922\n msgid \"Click to pick date\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:917\n+#: includes\u002Fcustom-texts.php:925\n msgid \"Client Information\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:918\n+#: includes\u002Fcustom-texts.php:926\n msgid \"IP\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:920\n+#: includes\u002Fcustom-texts.php:928\n msgid \"Color\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:921\n+#: includes\u002Fcustom-texts.php:929\n msgid \"Company Name\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:923 includes\u002Fcustom-texts.php:924\n+#: includes\u002Fcustom-texts.php:931 includes\u002Fcustom-texts.php:932\n msgid \"Confirm\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:925\n+#: includes\u002Fcustom-texts.php:933\n msgid \"Are you sure to cancel selected appointment?\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:926\n+#: includes\u002Fcustom-texts.php:934\n msgid \"Are you sure to confirm selected appointment?\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:927\n+#: includes\u002Fcustom-texts.php:935\n msgid \"Are you sure to delete selected record(s)?\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:928\n+#: includes\u002Fcustom-texts.php:936\n msgid \"This action is disabled. Please contact website admin.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:929\n+#: includes\u002Fcustom-texts.php:937\n msgid \"Are you sure to end the call?\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:930\n+#: includes\u002Fcustom-texts.php:938\n msgid \"Please fill in the form and confirm:\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:932\n+#: includes\u002Fcustom-texts.php:940\n msgid \"Selected booking confirmed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:933\n+#: includes\u002Fcustom-texts.php:941\n msgid \"We are holding your selection for\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:934\n+#: includes\u002Fcustom-texts.php:942\n msgid \"A connection error occurred\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:935\n+#: includes\u002Fcustom-texts.php:943\n msgid \"There is a problem with your account. Please contact website admin\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:936\n+#: includes\u002Fcustom-texts.php:944\n msgid \"Add Another Slot\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:937\n+#: includes\u002Fcustom-texts.php:945\n msgid \"Your next appointment\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:940\n+#: includes\u002Fcustom-texts.php:947\n msgid \"Discount Code\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:941\n+#: includes\u002Fcustom-texts.php:948\n msgid \"Code is invalid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:942\n+#: includes\u002Fcustom-texts.php:949\n msgid \"Code is valid\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:943\n+#: includes\u002Fcustom-texts.php:950\n msgid \"Use discount coupon here\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:946\n+#: includes\u002Fcustom-texts.php:953\n msgid \"Credit\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:947\n+#: includes\u002Fcustom-texts.php:954\n msgid \"Credit Card\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:948\n+#: includes\u002Fcustom-texts.php:955\n msgid \"Credit Sales\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:951\n+#: includes\u002Fcustom-texts.php:958\n msgid \"Booking System Dashboard\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:953\n+#: includes\u002Fcustom-texts.php:960\n msgid \"Starts\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:955\n+#: includes\u002Fcustom-texts.php:962\n #: includes\u002Ffreeons\u002Fextended-service-features.php:413\n msgid \"days\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:958\n+#: includes\u002Fcustom-texts.php:965\n msgid \"Delete Permanently\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:959 includes\u002Fnotices.php:538\n+#: includes\u002Fcustom-texts.php:966 includes\u002Fnotices.php:538\n msgid \"Selected record(s) deleted.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:961\n+#: includes\u002Fcustom-texts.php:968\n msgid \"Deposit Paid:\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:964\n+#: includes\u002Fcustom-texts.php:971\n msgid \"Display Name\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:965\n+#: includes\u002Fcustom-texts.php:972\n msgid \"Done...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:966\n+#: includes\u002Fcustom-texts.php:973\n msgid \"Total Amount\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:967\n+#: includes\u002Fcustom-texts.php:974\n msgid \"Due Payment\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:970\n+#: includes\u002Fcustom-texts.php:977\n msgid \"EDD\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:972\n-msgid \"You are about to edit an existing appointment. Click OK to continue.\"\n+#: includes\u002Fcustom-texts.php:979\n+msgid \"You are about to edit an existing booking. Click OK to continue.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:974\n+#: includes\u002Fcustom-texts.php:981\n msgid \"Editing of bookings is disabled. Please contact website admin.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:975\n+#: includes\u002Fcustom-texts.php:982\n+msgid \"% parameter of the booking cannot be edited.\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:983\n msgid \"Booking successfully changed.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:976\n+#: includes\u002Fcustom-texts.php:984\n+msgid \"Bookings in this stage cannot be edited.\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:985\n #, php-format\n msgid \"\"\n \"New time of the booking is too close. Please select a time later than %s.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:979\n+#: includes\u002Fcustom-texts.php:987\n msgid \"Submitted email does not belong to you\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:980\n+#: includes\u002Fcustom-texts.php:988\n msgid \"Empty Cart\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:982\n+#: includes\u002Fcustom-texts.php:990\n msgid \"Ends\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:983\n+#: includes\u002Fcustom-texts.php:991\n msgid \"Every other day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:984\n+#: includes\u002Fcustom-texts.php:992\n msgid \"EOD except Sunday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:985\n+#: includes\u002Fcustom-texts.php:993\n msgid \"\"\n \"Something went wrong. Please try again, if applicable, after refreshing the \"\n \"page. If problem persists, contact website admin.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:986 includes\u002Flib\u002Fplugin-updater.php:522\n+#: includes\u002Fcustom-texts.php:994 includes\u002Flib\u002Fplugin-updater.php:522\n msgid \"Error\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:988\n+#: includes\u002Fcustom-texts.php:996\n msgid \"Total event capacity. Leave empty for no limit\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:989\n+#: includes\u002Fcustom-texts.php:997\n msgid \"Closed from Pax\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:990\n+#: includes\u002Fcustom-texts.php:998\n msgid \"\"\n \"When group bookings is enabled, event will be regarded full when this number \"\n \"is reached\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:992\n+#: includes\u002Fcustom-texts.php:1000\n msgid \"Tick if a Zoom meeting will be automatically created\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:993\n+#: includes\u002Fcustom-texts.php:1001\n msgid \"Enable Group Bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:994\n+#: includes\u002Fcustom-texts.php:1002\n msgid \"Tick if more than one pax can be sold per booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:995\n+#: includes\u002Fcustom-texts.php:1003\n msgid \"Maximum Pax\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:996\n+#: includes\u002Fcustom-texts.php:1004\n msgid \"\"\n \"When group bookings is enabled, maximum pax that can be selected per booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:997\n+#: includes\u002Fcustom-texts.php:1005\n msgid \"Minimum Pax\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:998\n+#: includes\u002Fcustom-texts.php:1006\n msgid \"\"\n \"When group bookings is enabled, minimum pax that can be selected per booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1000\n+#: includes\u002Fcustom-texts.php:1008\n msgid \"Unit price. Leave empty if event is free\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1001\n+#: includes\u002Fcustom-texts.php:1009\n msgid \"Book now for EVENT - START_END\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1002\n+#: includes\u002Fcustom-texts.php:1010\n msgid \"More information \u003Cspan class=\\\"meta-nav\\\">&rarr;\u003C\u002Fspan>\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1003\n+#: includes\u002Fcustom-texts.php:1011\n msgid \"Card is no longer valid or has expired\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1004\n+#: includes\u002Fcustom-texts.php:1012\n msgid \"Export bookings as CSV file\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1006\n+#: includes\u002Fcustom-texts.php:1014\n msgid \"Fee\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1007\n+#: includes\u002Fcustom-texts.php:1015\n msgid \"Full Name\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1008\n+#: includes\u002Fcustom-texts.php:1016\n msgid \"First Name\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1014\n+#: includes\u002Fcustom-texts.php:1021\n msgid \"Click to submit this appointment to your Google Calendar account\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1015\n+#: includes\u002Fcustom-texts.php:1022\n msgid \"Additional User Info for Booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1016\n+#: includes\u002Fcustom-texts.php:1023\n msgid \"User Info for Booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1020\n+#: includes\u002Fcustom-texts.php:1027\n msgid \"Meet URL\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1021\n+#: includes\u002Fcustom-texts.php:1028\n msgid \"Temporary\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1022\n+#: includes\u002Fcustom-texts.php:1029\n msgid \"Host\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1024\n+#: includes\u002Fcustom-texts.php:1031\n msgid \"hours\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1025\n+#: includes\u002Fcustom-texts.php:1032\n msgid \"h\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1026\n+#: includes\u002Fcustom-texts.php:1033\n msgid \"Image\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1027\n+#: includes\u002Fcustom-texts.php:1034\n msgid \"Showing page _PAGE_ of _PAGES_\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1029\n+#: includes\u002Fcustom-texts.php:1036\n msgid \"\"\n \"There is something wrong about this booking or this action. Please contact \"\n \"website admin.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1030\n+#: includes\u002Fcustom-texts.php:1037\n msgid \"Invalid cardholder\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1031\n+#: includes\u002Fcustom-texts.php:1038\n msgid \"Please enter a valid Credit Card Number.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1032\n+#: includes\u002Fcustom-texts.php:1039\n msgid \"Please enter a valid Card Security Code\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1033\n+#: includes\u002Fcustom-texts.php:1040\n msgid \"Please enter a valid email\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1034\n+#: includes\u002Fcustom-texts.php:1041\n msgid \"Please choose a valid Expiration Date.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1035\n+#: includes\u002Fcustom-texts.php:1042\n msgid \"Jitsi\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1046\n+#: includes\u002Fcustom-texts.php:1053\n msgid \"Lasts\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1047\n+#: includes\u002Fcustom-texts.php:1054\n msgid \"Last Name\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1049\n+#: includes\u002Fcustom-texts.php:1055\n msgid \"Display _MENU_ records\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1050\n+#: includes\u002Fcustom-texts.php:1056\n #, php-format\n msgid \"Number of time slot limit (%d) has been reached.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1051\n+#: includes\u002Fcustom-texts.php:1057\n msgid \"List\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1052\n+#: includes\u002Fcustom-texts.php:1058\n msgid \"Loading...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1055\n+#: includes\u002Fcustom-texts.php:1061\n msgid \"Locations\u002FStores\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1057\n+#: includes\u002Fcustom-texts.php:1063\n msgid \"Location name\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1058\n+#: includes\u002Fcustom-texts.php:1064\n msgid \"Location names\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1059\n+#: includes\u002Fcustom-texts.php:1065\n msgid \"Location Note\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1060\n+#: includes\u002Fcustom-texts.php:1066\n msgid \"You are now logged in\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1061\n+#: includes\u002Fcustom-texts.php:1067\n msgid \"Click a free day to apply for an appointment.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1062\n+#: includes\u002Fcustom-texts.php:1068\n msgid \"Preparing login...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1063\n+#: includes\u002Fcustom-texts.php:1069\n msgid \"Login\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1064\n-msgid \"Please login in order to cancel the appointment\"\n+#: includes\u002Fcustom-texts.php:1070\n+msgid \"Please login in order to cancel the booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1065\n+#: includes\u002Fcustom-texts.php:1071\n msgid \"Please login in order to confirm the booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1066\n+#: includes\u002Fcustom-texts.php:1072\n msgid \"Please login in order to edit the booking\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1067\n+#: includes\u002Fcustom-texts.php:1073\n msgid \"Click here to login:\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1068\n+#: includes\u002Fcustom-texts.php:1074\n msgid \"\"\n \"It looks like you have previously registered to our website. Please login to \"\n \"proceed.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1069\n+#: includes\u002Fcustom-texts.php:1075\n msgid \"Please Login to Continue\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1070\n+#: includes\u002Fcustom-texts.php:1076\n msgid \"Login with Facebook\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1071\n+#: includes\u002Fcustom-texts.php:1077\n msgid \"Login with Google\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1072\n+#: includes\u002Fcustom-texts.php:1078\n msgid \"Login with WordPress\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1073\n+#: includes\u002Fcustom-texts.php:1079\n msgid \"+REST More\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1074 includes\u002Fcustom-texts.php:1205\n+#: includes\u002Fcustom-texts.php:1080 includes\u002Fcustom-texts.php:1211\n msgid \"Make Payment\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1076\n+#: includes\u002Fcustom-texts.php:1082\n msgid \"\"\n \"This record may have been edited by another user and current value may not \"\n \"be valid any more.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1079\n+#: includes\u002Fcustom-texts.php:1085\n msgid \"minute\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1080\n+#: includes\u002Fcustom-texts.php:1086\n #: includes\u002Ffreeons\u002Fextended-service-features.php:417\n msgid \"minutes\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1081\n+#: includes\u002Fcustom-texts.php:1087\n msgid \"min\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1082\n+#: includes\u002Fcustom-texts.php:1088\n msgid \"Please select at least one option from the list\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1083\n+#: includes\u002Fcustom-texts.php:1089\n msgid \"Please fill in the required field\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1084\n+#: includes\u002Fcustom-texts.php:1090\n+msgid \"Missing booking ID or service\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:1091\n msgid \"Please accept Terms and Conditions\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1089\n+#: includes\u002Fcustom-texts.php:1096\n msgid \"Monthly\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1090\n+#: includes\u002Fcustom-texts.php:1097\n msgid \"SERVICE - START\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1091\n+#: includes\u002Fcustom-texts.php:1098\n #: includes\u002Ffreeons\u002Fextended-service-features.php:411\n msgid \"months\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1092\n+#: includes\u002Fcustom-texts.php:1099\n msgid \"Guest emails\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1093\n+#: includes\u002Fcustom-texts.php:1100\n #, php-format\n msgid \"email of the %d. guest\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1094\n+#: includes\u002Fcustom-texts.php:1101\n msgid \"\"\n \"You have successfully created your account! To begin using this site you \"\n \"will need to activate your account via the email we have just sent to your \"\n \"address.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1095\n+#: includes\u002Fcustom-texts.php:1102\n msgid \"Afternoon\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1096\n+#: includes\u002Fcustom-texts.php:1103\n msgid \"The user is already active.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1097\n+#: includes\u002Fcustom-texts.php:1104\n #, php-format\n msgid \"\"\n \"We have already received your application at %s. Please give us some time to \"\n@@ -21570,837 +22494,845 @@\n \"message.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1098\n+#: includes\u002Fcustom-texts.php:1105\n msgid \"\"\n \"You are already assigned to a store. If you need assistance please contact \"\n \"admin.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1099\n+#: includes\u002Fcustom-texts.php:1106\n msgid \"\"\n \"You are already a registered vendor. You don't need to apply again. If you \"\n \"need assistance please contact admin.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1100\n+#: includes\u002Fcustom-texts.php:1107\n msgid \"Apply Now\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1101\n+#: includes\u002Fcustom-texts.php:1108\n msgid \"Become a Vendor\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1102\n+#: includes\u002Fcustom-texts.php:1109\n msgid \"By clicking this button, you can apply to be a vendor on our website.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1103\n+#: includes\u002Fcustom-texts.php:1110\n msgid \"Do you want to apply to become a vendor?\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1104\n+#: includes\u002Fcustom-texts.php:1111\n msgid \"About You\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1106\n+#: includes\u002Fcustom-texts.php:1113\n msgid \"About You (Summary)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1107\n+#: includes\u002Fcustom-texts.php:1114\n msgid \"Could not create user\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1108\n+#: includes\u002Fcustom-texts.php:1115\n msgid \"Commission\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1112\n+#: includes\u002Fcustom-texts.php:1119\n msgid \"Days of the week\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1113\n+#: includes\u002Fcustom-texts.php:1120\n msgid \"Please contact admin for assistance\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1115\n+#: includes\u002Fcustom-texts.php:1122\n msgid \"Sorry, that email address is not allowed!\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1116\n+#: includes\u002Fcustom-texts.php:1123\n msgid \"Sorry, that email address is already used!\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1117\n+#: includes\u002Fcustom-texts.php:1124\n msgid \"Please check your email address.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1118\n+#: includes\u002Fcustom-texts.php:1125\n msgid \"Evening\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1119\n+#: includes\u002Fcustom-texts.php:1126\n msgid \"\"\n \"Invalid activation key. If you used activation key before, please wait for \"\n \"our response email.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1120\n+#: includes\u002Fcustom-texts.php:1127\n msgid \"You are already a vendor\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1121\n+#: includes\u002Fcustom-texts.php:1128\n msgid \"Late afternoon\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1122\n+#: includes\u002Fcustom-texts.php:1129\n msgid \"Late Evening\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1123\n+#: includes\u002Fcustom-texts.php:1130\n msgid \"Late morning\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1124\n+#: includes\u002Fcustom-texts.php:1131\n msgid \"Late Night\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1125\n+#: includes\u002Fcustom-texts.php:1132\n msgid \"\"\n \"You have successfully created your account! Please log in using the username \"\n \"and password you have just created. Click here to LOGIN_PAGE\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1126\n+#: includes\u002Fcustom-texts.php:1133\n msgid \"Morning\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1127\n+#: includes\u002Fcustom-texts.php:1134\n msgid \"Night\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1128\n+#: includes\u002Fcustom-texts.php:1135\n msgid \"You must indicate that you have read and agreed to the Privacy Policy.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1129\n+#: includes\u002Fcustom-texts.php:1136\n msgid \"Override Prices\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1130\n+#: includes\u002Fcustom-texts.php:1137\n msgid \"\"\n \"You can override prices of each service here. If you leave a price field \"\n \"empty, its regular price will be used. If you set a price as zero, it will \"\n \"be free.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1131\n+#: includes\u002Fcustom-texts.php:1138\n msgid \"Your personal page could not be found. Please contact admin.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1132\n+#: includes\u002Fcustom-texts.php:1139\n msgid \"Please make sure you enter your password twice\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1133\n+#: includes\u002Fcustom-texts.php:1140\n msgid \"The passwords you entered do not match\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1135\n+#: includes\u002Fcustom-texts.php:1142\n msgid \"Tags\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1136\n+#: includes\u002Fcustom-texts.php:1143\n msgid \"Complete Sign Up\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1138\n+#: includes\u002Fcustom-texts.php:1145\n msgid \"Tagline\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1139\n+#: includes\u002Fcustom-texts.php:1146\n msgid \"Time of the day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1140\n+#: includes\u002Fcustom-texts.php:1147\n msgid \"Title\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1141\n+#: includes\u002Fcustom-texts.php:1148\n msgid \"Upload Photo\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1142\n+#: includes\u002Fcustom-texts.php:1149\n msgid \"Please enter a username\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1143\n+#: includes\u002Fcustom-texts.php:1150\n msgid \"Sorry, that username already exists!\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1144\n+#: includes\u002Fcustom-texts.php:1151\n msgid \"That username is not allowed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1145\n+#: includes\u002Fcustom-texts.php:1152\n msgid \"Usernames can contain only letters, numbers, ., -, and @\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1146\n+#: includes\u002Fcustom-texts.php:1153\n msgid \"Sorry, usernames must have letters too!\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1147\n+#: includes\u002Fcustom-texts.php:1154\n msgid \"Username must be at least 4 characters\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1148\n+#: includes\u002Fcustom-texts.php:1155\n msgid \"Sorry, usernames may not contain the character \\\"_\\\"!\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1149\n+#: includes\u002Fcustom-texts.php:1156\n msgid \"Video\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1150\n+#: includes\u002Fcustom-texts.php:1157\n msgid \"\"\n \"Please wait until you receive an email from us about the result of your \"\n \"vendor application.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1153\n+#: includes\u002Fcustom-texts.php:1159\n msgid \"Next\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1154\n+#: includes\u002Fcustom-texts.php:1160\n msgid \"Ends next day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1156\n+#: includes\u002Fcustom-texts.php:1162\n msgid \"Next Months\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1158\n+#: includes\u002Fcustom-texts.php:1164\n msgid \"Next Weeks\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1161\n+#: includes\u002Fcustom-texts.php:1167\n msgid \"Cancelled Jobs\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1162\n+#: includes\u002Fcustom-texts.php:1168\n msgid \"Completed Jobs\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1163\n+#: includes\u002Fcustom-texts.php:1169\n msgid \"Remaining Jobs\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1164\n+#: includes\u002Fcustom-texts.php:1170\n msgid \"Total Jobs\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1166\n+#: includes\u002Fcustom-texts.php:1172\n msgid \"Guest names\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1167\n+#: includes\u002Fcustom-texts.php:1173\n #, php-format\n msgid \"Name of the %d. guest\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1168\n+#: includes\u002Fcustom-texts.php:1174\n msgid \"No Show\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1170\n+#: includes\u002Fcustom-texts.php:1176\n msgid \"You did not make any changes.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1171\n+#: includes\u002Fcustom-texts.php:1177\n msgid \"Notice\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1172\n+#: includes\u002Fcustom-texts.php:1178\n msgid \"This time slot has been already booked. Please pick another time.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1173\n+#: includes\u002Fcustom-texts.php:1179\n msgid \"Not defined\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1174\n+#: includes\u002Fcustom-texts.php:1180\n msgid \"\"\n \"We are sorry, but we do not have enough capacity to fulfil the request at \"\n \"the moment. Please refresh the page and try other time slots. Thank you.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1175\n+#: includes\u002Fcustom-texts.php:1181\n msgid \"Not enough credits\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1176\n+#: includes\u002Fcustom-texts.php:1182\n msgid \"You don't have enough service package left\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1177\n+#: includes\u002Fcustom-texts.php:1183\n msgid \"\"\n \"You need to login for this action. Click here to login: LOGIN_PAGE OR click \"\n \"here to register: REGISTRATION_PAGE\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1178\n+#: includes\u002Fcustom-texts.php:1184\n msgid \"\"\n \"Action failed, because our records could not confirm that this booking was \"\n \"made by you in the first place.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1179\n+#: includes\u002Fcustom-texts.php:1185\n msgid \"Action or selection is not possible.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1180\n+#: includes\u002Fcustom-texts.php:1186\n msgid \"Booking is not possible at the moment.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1181\n+#: includes\u002Fcustom-texts.php:1187\n msgid \"\"\n \"Sorry, service or provider is not available for the selected date\u002Ftime. \"\n \"Please pick another time.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1182\n+#: includes\u002Fcustom-texts.php:1188\n msgid \"No bookings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1183 includes\u002Fcustom-texts.php:1188\n+#: includes\u002Fcustom-texts.php:1189 includes\u002Fcustom-texts.php:1194\n #: includes\u002Fdebug.php:245\n msgid \"Not available\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1184\n+#: includes\u002Fcustom-texts.php:1190\n msgid \"No preference\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1185\n+#: includes\u002Fcustom-texts.php:1191\n msgid \"No repeat\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1186\n+#: includes\u002Fcustom-texts.php:1192\n msgid \"No services\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1187\n+#: includes\u002Fcustom-texts.php:1193\n msgid \"No result\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1189\n+#: includes\u002Fcustom-texts.php:1195\n msgid \"(optional)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1190\n+#: includes\u002Fcustom-texts.php:1196\n msgid \"Order No\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1191\n+#: includes\u002Fcustom-texts.php:1197\n msgid \"Staff\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1196\n+#: includes\u002Fcustom-texts.php:1202\n msgid \"All paid up.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1197\n+#: includes\u002Fcustom-texts.php:1203\n msgid \"Participants\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1198\n+#: includes\u002Fcustom-texts.php:1204\n #, php-format\n msgid \"%d. Guest - %s\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1199\n+#: includes\u002Fcustom-texts.php:1205\n msgid \"Partly Busy\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1200 includes\u002Fcustom-texts.php:1379\n+#: includes\u002Fcustom-texts.php:1206 includes\u002Fcustom-texts.php:1384\n msgid \"Password\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1201\n+#: includes\u002Fcustom-texts.php:1207\n msgid \"Repeat Password\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1202\n+#: includes\u002Fcustom-texts.php:1208\n msgid \"You cannot select a past date\u002Ftime.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1204\n+#: includes\u002Fcustom-texts.php:1210\n msgid \"Payment method selection required\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1206\n+#: includes\u002Fcustom-texts.php:1212\n msgid \"PayPal\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1208\n+#: includes\u002Fcustom-texts.php:1214\n msgid \"Email of PayPal account where commission payments will be sent\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1209\n+#: includes\u002Fcustom-texts.php:1215\n msgid \"Please enter a valid PayPal Email or leave it empty\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1210\n+#: includes\u002Fcustom-texts.php:1216\n msgid \"Confirm Payment\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1211\n+#: includes\u002Fcustom-texts.php:1217\n msgid \"\"\n \"Please confirm payment of \u003Cstrong>AMOUNT\u003C\u002Fstrong> for this booking that will \"\n \"be collected from your \u003Cstrong>EMAIL\u003C\u002Fstrong> PayPal account.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1212\n+#: includes\u002Fcustom-texts.php:1218\n msgid \"Pay AMOUNT\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1213\n+#: includes\u002Fcustom-texts.php:1219\n msgid \"Payment Method\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1215\n+#: includes\u002Fcustom-texts.php:1221\n msgid \"Pdf\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1216\n+#: includes\u002Fcustom-texts.php:1222\n msgid \"Download\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1217\n+#: includes\u002Fcustom-texts.php:1223\n msgid \"Confirmation in pdf form will be downloaded to your PC.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1219\n+#: includes\u002Fcustom-texts.php:1225\n msgid \"Pending Approval\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1220\n+#: includes\u002Fcustom-texts.php:1226\n msgid \"Pending Payment\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1221\n+#: includes\u002Fcustom-texts.php:1227\n msgid \"Pax Details\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1224\n+#: includes\u002Fcustom-texts.php:1229\n msgid \"Please Wait...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1225\n+#: includes\u002Fcustom-texts.php:1230\n msgid \"PM to RECIPIENT\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1226\n+#: includes\u002Fcustom-texts.php:1231\n #, php-format\n msgid \"Phone of the %d. guest\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1227\n+#: includes\u002Fcustom-texts.php:1232\n msgid \"Preferred Language\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1228\n+#: includes\u002Fcustom-texts.php:1233\n msgid \"Preparing form...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1229\n+#: includes\u002Fcustom-texts.php:1234\n msgid \"Checking...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1230\n+#: includes\u002Fcustom-texts.php:1235\n msgid \"Previous\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1231\n+#: includes\u002Fcustom-texts.php:1236\n msgid \"Previous Month\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1232\n+#: includes\u002Fcustom-texts.php:1237\n msgid \"Previous Months\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1233\n+#: includes\u002Fcustom-texts.php:1238\n msgid \"Previous Week\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1234\n+#: includes\u002Fcustom-texts.php:1239\n msgid \"Previous Weeks\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1236\n+#: includes\u002Fcustom-texts.php:1241\n msgid \"We are sorry, but this price is no more valid.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1237\n+#: includes\u002Fcustom-texts.php:1242\n msgid \"\"\n \"We are glad to inform you that we can offer even a better price now. Please \"\n \"review the new price and confirm again.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1238\n+#: includes\u002Fcustom-texts.php:1243\n msgid \"PM\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1239\n+#: includes\u002Fcustom-texts.php:1244\n msgid \"Click OK to proceed.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1240\n+#: includes\u002Fcustom-texts.php:1245\n msgid \"Processing...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1243\n+#: includes\u002Fcustom-texts.php:1248\n msgid \"Specialist\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1244\n+#: includes\u002Fcustom-texts.php:1249\n msgid \"Specialists\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1245\n+#: includes\u002Fcustom-texts.php:1250\n msgid \"\"\n \"Sorry, but you have reached the booking quota. No additional bookings are \"\n \"allowed.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1246\n+#: includes\u002Fcustom-texts.php:1251\n+msgid \"Read More »\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:1252\n msgid \"Reading data...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1247\n+#: includes\u002Fcustom-texts.php:1253\n msgid \"\"\n \"Login required for this action. Now you will be redirected to login page.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1248\n+#: includes\u002Fcustom-texts.php:1254\n msgid \"Reference\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1249\n+#: includes\u002Fcustom-texts.php:1255\n msgid \"Refreshing\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1250 includes\u002Fschedules.php:493\n+#: includes\u002Fcustom-texts.php:1256 includes\u002Fschedules.php:508\n msgid \"Register\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1251\n+#: includes\u002Fcustom-texts.php:1257\n msgid \"Remember me\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1252\n+#: includes\u002Fcustom-texts.php:1258\n msgid \"Removed!\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1253\n+#: includes\u002Fcustom-texts.php:1259\n msgid \"Removed\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1255\n+#: includes\u002Fcustom-texts.php:1261\n msgid \"Reserved by GCal\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1256\n+#: includes\u002Fcustom-texts.php:1262\n msgid \"Resource\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1258\n+#: includes\u002Fcustom-texts.php:1264\n msgid \"Room ID\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1259\n+#: includes\u002Fcustom-texts.php:1265\n msgid \"In Progress\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1264 includes\u002Fnotices.php:530\n+#: includes\u002Fcustom-texts.php:1270 includes\u002Fnotices.php:530\n msgid \"Settings saved.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1265\n+#: includes\u002Fcustom-texts.php:1271\n msgid \"Save changes\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1266\n+#: includes\u002Fcustom-texts.php:1272\n msgid \"Booking could not be saved. Please contact website admin.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1267\n+#: includes\u002Fcustom-texts.php:1273\n msgid \"Saving...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1270\n+#: includes\u002Fcustom-texts.php:1276\n msgid \"Seats Left\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1271\n+#: includes\u002Fcustom-texts.php:1277\n msgid \"Seats Total\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1272\n+#: includes\u002Fcustom-texts.php:1278\n msgid \"Seats Total\u002FLeft\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1273\n+#: includes\u002Fcustom-texts.php:1279\n msgid \"second\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1274\n+#: includes\u002Fcustom-texts.php:1280\n msgid \"seconds\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1276\n+#: includes\u002Fcustom-texts.php:1282\n msgid \"Select\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1277\n+#: includes\u002Fcustom-texts.php:1283\n msgid \"Please select\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1278\n+#: includes\u002Fcustom-texts.php:1284\n msgid \"Selected\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1279\n+#: includes\u002Fcustom-texts.php:1285\n msgid \"Refresh\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1280\n+#: includes\u002Fcustom-texts.php:1286\n msgid \"Select credits to buy\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1281\n+#: includes\u002Fcustom-texts.php:1287\n msgid \"Select Date\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1284\n+#: includes\u002Fcustom-texts.php:1290\n msgid \"Selection limit exceeded\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1285\n+#: includes\u002Fcustom-texts.php:1291\n msgid \"Select Location\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1286\n+#: includes\u002Fcustom-texts.php:1292\n msgid \"Select Specialist\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1289\n+#: includes\u002Fcustom-texts.php:1295\n msgid \"Occurence\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1290\n+#: includes\u002Fcustom-texts.php:1296\n msgid \"Number of Guests\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1294\n+#: includes\u002Fcustom-texts.php:1300\n msgid \"Server Time\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1295\n+#: includes\u002Fcustom-texts.php:1301\n msgid \"Server Day\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1296\n+#: includes\u002Fcustom-texts.php:1302\n msgid \"Server Timezone\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1302\n+#: includes\u002Fcustom-texts.php:1308\n msgid \"Please select at least one service\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1304\n+#: includes\u002Fcustom-texts.php:1310\n msgid \"Session\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1306\n+#: includes\u002Fcustom-texts.php:1312\n msgid \"Showing\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1307\n+#: includes\u002Fcustom-texts.php:1313\n msgid \"Sort Order\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1308\n+#: includes\u002Fcustom-texts.php:1314\n msgid \"\"\n \"You have already applied for an appointment. Please wait until you hear from \"\n \"us.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1309\n+#: includes\u002Fcustom-texts.php:1315\n msgid \"Stand by\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1311\n+#: includes\u002Fcustom-texts.php:1317\n msgid \"State\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1315\n+#: includes\u002Fcustom-texts.php:1320\n msgid \"Store\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1317\n+#: includes\u002Fcustom-texts.php:1322\n msgid \"Store Settings\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1318\n+#: includes\u002Fcustom-texts.php:1323\n msgid \"Submit\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1319\n+#: includes\u002Fcustom-texts.php:1324\n msgid \"Summary\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1323\n+#: includes\u002Fcustom-texts.php:1328\n msgid \"Tax\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1324\n+#: includes\u002Fcustom-texts.php:1329\n msgid \"To be announced\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1329\n+#: includes\u002Fcustom-texts.php:1334\n msgid \"Time\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1330\n+#: includes\u002Fcustom-texts.php:1335\n msgid \"Duty Roster\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1331\n+#: includes\u002Fcustom-texts.php:1336\n msgid \"Time Zone\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1332\n+#: includes\u002Fcustom-texts.php:1337\n msgid \"Select your timezone\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1334\n-msgid \"We are sorry, but it is too late for this action.\"\n+#: includes\u002Fcustom-texts.php:1339\n+msgid \"It is too early for this action.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1335\n+#: includes\u002Fcustom-texts.php:1340\n+msgid \"It is too late for this action.\"\n+msgstr \"\"\n+\n+#: includes\u002Fcustom-texts.php:1341\n #, php-format\n msgid \"You should select at least %d time slots to proceed.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1337\n+#: includes\u002Fcustom-texts.php:1343\n msgid \"You have exceeded trial services limit LIMIT\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1338\n+#: includes\u002Fcustom-texts.php:1344\n msgid \"You can take only one trial service from the same person\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1339\n+#: includes\u002Fcustom-texts.php:1345\n msgid \"Price after coupon applied\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1340\n+#: includes\u002Fcustom-texts.php:1346\n msgid \"Special price for you\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1341\n+#: includes\u002Fcustom-texts.php:1347\n msgid \"Regular price\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1345\n+#: includes\u002Fcustom-texts.php:1351\n msgid \"\"\n \"Authorization check failed. Try to refresh page. If you are logged in, try \"\n \"to log out and login again.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1348 includes\u002Fnotices.php:546\n+#: includes\u002Fcustom-texts.php:1354 includes\u002Fnotices.php:546\n msgid \"Selected record(s) updated.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1349\n+#: includes\u002Fcustom-texts.php:1355\n msgid \"Updating...\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1350\n+#: includes\u002Fcustom-texts.php:1356\n msgid \"Username\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1351\n+#: includes\u002Fcustom-texts.php:1357\n msgid \"Username or email\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1352\n+#: includes\u002Fcustom-texts.php:1358\n msgid \"Use Server Timezone\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1356\n+#: includes\u002Fcustom-texts.php:1362\n msgid \"Add to Waiting List\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1357\n+#: includes\u002Fcustom-texts.php:1363\n msgid \"\"\n \"Unfortunately this slot has been reserved. Please wait for another \"\n \"notification message from us.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1362 includes\u002Ffunctions.internal.php:1597\n+#: includes\u002Fcustom-texts.php:1368 includes\u002Ffunctions.internal.php:1597\n msgid \"Weekday\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1363 includes\u002Ffunctions.internal.php:1598\n+#: includes\u002Fcustom-texts.php:1369 includes\u002Ffunctions.internal.php:1598\n msgid \"Weekend\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1364\n+#: includes\u002Fcustom-texts.php:1370\n msgid \"Weekly\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1365\n+#: includes\u002Fcustom-texts.php:1371\n msgid \"SERVICE - START_END\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1366\n+#: includes\u002Fcustom-texts.php:1372\n msgid \"weeks\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1370\n+#: includes\u002Fcustom-texts.php:1376\n #, php-format\n msgid \"Please check submitted %s entry!\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1371\n+#: includes\u002Fcustom-texts.php:1377\n msgid \"Year\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1373\n+#: includes\u002Fcustom-texts.php:1379\n msgid \"Your Rate\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1401\n+#: includes\u002Fcustom-texts.php:1406\n msgid \"Custom Texts\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1452\n+#: includes\u002Fcustom-texts.php:1457\n msgid \"\"\n \"Here you can quickly customize \u003Cb>admin side\u003C\u002Fb> terms and localize \"\n \"(translate) some or all of the \u003Cb>front end\u003C\u002Fb> texts (javascript messages, \"\n \"column names, day names, field titles, etc).\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1453\n+#: includes\u002Fcustom-texts.php:1458\n msgid \"\"\n \"\u003Cb>Admin side text replace\u003C\u002Fb> is intended for quick terminology change, not \"\n \"for translation. To make a full localization for the admin side, use a \"\n \"translation tool, e.g. Loco Translate, instead.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1455\n+#: includes\u002Fcustom-texts.php:1460\n msgid \"\"\n \"\u003Cb>Front end text replace\u003C\u002Fb> usage: Search for the original text using the \"\n \"Search field. Matching results will be dynamically filtered. Enter your \"\n@@ -22411,7 +23343,7 @@\n \"the default text will be used.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1457\n+#: includes\u002Fcustom-texts.php:1462\n msgid \"\"\n \"Note for \u003Cb>shortcode texts:\u003C\u002Fb> When a shortcode parameter (e.g. \"\n \"monthly_title: Title of monthly calendar) is not explicitly set, it will be \"\n@@ -22421,17 +23353,17 @@\n \"not set, the default text.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1466\n+#: includes\u002Fcustom-texts.php:1471\n msgid \"Admin Side Text Replace\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1470\n+#: includes\u002Fcustom-texts.php:1475\n msgid \"\"\n \"Enter find|replace pairs. Example: service provider|specialist, provider|\"\n \"specialist, services|facilities, service|facility\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1472\n+#: includes\u002Fcustom-texts.php:1477\n msgid \"\"\n \"Here you can enter old text|new text pairs to replace a term globally on \"\n \"admin side. Separate multiple entries by comma, e.g. \\\"service provider|\"\n@@ -22443,23 +23375,23 @@\n \"as well. For example, Service will be replaced with Facility.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1480\n+#: includes\u002Fcustom-texts.php:1485\n msgid \"Front End Text Replace\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1486\n+#: includes\u002Fcustom-texts.php:1491\n msgid \"Descr.\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1487\n+#: includes\u002Fcustom-texts.php:1492\n msgid \"Default Text (Not editable)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1488\n+#: includes\u002Fcustom-texts.php:1493\n msgid \"Your Text (Editable)\"\n msgstr \"\"\n \n-#: includes\u002Fcustom-texts.php:1527\n+#: includes\u002Fcustom-texts.php:1532\n msgid \"Save Custom Texts\"\n msgstr \"\"\n \n@@ -22559,11 +23491,11 @@\n msgid \"Not possible to book\"\n msgstr \"\"\n \n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:299\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:292\n msgid \"Category:\"\n msgstr \"\"\n \n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:359\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:352\n msgid \"\"\n \"Service categories are optional. They can be used in order to group your \"\n \"services. Once you define categories, you will need to assign each service \"\n@@ -22571,19 +23503,19 @@\n \"at the front end.\"\n msgstr \"\"\n \n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:368\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:361\n msgid \"Add New Category\"\n msgstr \"\"\n \n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:400\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:393\n msgid \"No categories defined\"\n msgstr \"\"\n \n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:408\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:401\n msgid \"\u003Ci>Tip: To delete a category, just clear its name and save.\u003C\u002Fi>\"\n msgstr \"\"\n \n-#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:415\n+#: includes\u002Ffreeons\u002Fcategories\u002Fcategories.php:408\n msgid \"Save Categories\"\n msgstr \"\"\n \n@@ -23156,19 +24088,6 @@\n msgid \"FE Booking Management\"\n msgstr \"\"\n \n-#: includes\u002Ffreeons\u002Ffront-end-edit.php:339\n-#: includes\u002Ffreeons\u002Ffront-end-edit.php:364\n-msgid \"Edit Booking\"\n-msgstr \"\"\n-\n-#: includes\u002Ffreeons\u002Ffront-end-edit.php:824\n-msgid \"Front End Edit\"\n-msgstr \"\"\n-\n-#: includes\u002Ffreeons\u002Ffront-end-edit.php:849\n-msgid \"Display, but do not change\"\n-msgstr \"\"\n-\n #: includes\u002Ffreeons\u002Flimited-availability.php:67\n msgid \"Availability\"\n msgstr \"\"\n@@ -23213,10 +24132,6 @@\n msgstr \"\"\n \n #: includes\u002Ffreeons\u002Fmanual-payments\u002Fmanual-payments.php:108\n-msgid \"Transaction ID\"\n-msgstr \"\"\n-\n-#: includes\u002Ffreeons\u002Fmanual-payments\u002Fmanual-payments.php:108\n msgid \"e.g. receipt no, check no\"\n msgstr \"\"\n \n@@ -23450,24 +24365,24 @@\n msgid \" %1$s confirmed appointment of %2$s having ID: %3$s\"\n msgstr \"\"\n \n-#: includes\u002Ffront-listing.php:126\n+#: includes\u002Ffront-listing.php:195\n msgid \"Check \\\"status\\\" parameter in List shortcode\"\n msgstr \"\"\n \n-#: includes\u002Ffront-listing.php:174\n+#: includes\u002Ffront-listing.php:243\n msgid \"\"\n \"Not enough capability to view bookings when \\\"what\\\" attribute is \\\"all\\\"\"\n msgstr \"\"\n \n-#: includes\u002Ffront-listing.php:177 includes\u002Ffront-listing.php:484\n+#: includes\u002Ffront-listing.php:246 includes\u002Ffront-listing.php:625\n msgid \"Check \\\"what\\\" parameter in List shortcode\"\n msgstr \"\"\n \n-#: includes\u002Ffront-listing.php:329\n+#: includes\u002Ffront-listing.php:470\n msgid \"Connected bookings\"\n msgstr \"\"\n \n-#: includes\u002Ffront-listing.php:612\n+#: includes\u002Ffront-listing.php:754\n #, php-format\n msgid \"Click to manage booking #%s\"\n msgstr \"\"\n@@ -23484,7 +24399,7 @@\n msgid \"Connected with mobile device. Content wrapped by shortcode ignored.\"\n msgstr \"\"\n \n-#: includes\u002Ffront.php:2011\n+#: includes\u002Ffront.php:2013\n msgid \"Check \\\"Unit\\\" parameter in Pagination shortcode\"\n msgstr \"\"\n \n@@ -23496,21 +24411,21 @@\n msgid \"Select country\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.booking.php:447\n+#: includes\u002Ffunctions.booking.php:436\n msgid \"User does not exist\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.front.php:764\n+#: includes\u002Ffunctions.front.php:766\n #, php-format\n msgid \"Check \\\"%s\\\" attribute(s) in Book shortcode\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.front.php:804\n+#: includes\u002Ffunctions.front.php:806\n #, php-format\n msgid \"Check \\\"%s\\\" attribute in Book shortcode\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.front.php:1264\n+#: includes\u002Ffunctions.front.php:1266\n msgid \"Check \\\"range\\\" attribute in book shortcode\"\n msgstr \"\"\n \n@@ -23617,52 +24532,52 @@\n \"Required: 3.5.0 - Installed: %s\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2934\n+#: includes\u002Ffunctions.internal.php:2969\n msgid \"below\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2937\n+#: includes\u002Ffunctions.internal.php:2972\n #, php-format\n msgid \"%s is not activated\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2941\n+#: includes\u002Ffunctions.internal.php:2976\n msgid \"Monthly calendar\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2942\n+#: includes\u002Ffunctions.internal.php:2977\n msgid \"Weekly calendar - 2 weeks\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2943\n+#: includes\u002Ffunctions.internal.php:2978\n msgid \"Table view - 10 booking rows\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2944\n+#: includes\u002Ffunctions.internal.php:2979\n msgid \"Table view - 2 days\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2946\n+#: includes\u002Ffunctions.internal.php:2981\n msgid \"Flex view - Vertical, 2 weeks\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2947\n+#: includes\u002Ffunctions.internal.php:2982\n msgid \"Flex view - Horizontal, 10 days\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2951\n+#: includes\u002Ffunctions.internal.php:2986\n msgid \"Create Page Now\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2959\n+#: includes\u002Ffunctions.internal.php:2994\n msgid \"Also create a My Account Page\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2963\n+#: includes\u002Ffunctions.internal.php:2998\n msgid \"Also redirect client to My Account Page\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2968\n+#: includes\u002Ffunctions.internal.php:3003\n #, php-format\n msgid \"\"\n \"Immediately creates a front end booking page with title \\\"%s\\\" with the \"\n@@ -23671,25 +24586,25 @@\n \"customize this page later.\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2969\n+#: includes\u002Ffunctions.internal.php:3004\n #, php-format\n msgid \"For layout examples, please visit our %s.\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2972\n+#: includes\u002Ffunctions.internal.php:3007\n msgid \"\"\n \"Checking \\\"Create a My Account Page\\\" checkbox will additionally create a \"\n \"page with title \\\"My Account\\\" with \u003Ccode>[app_account]\u003C\u002Fcode> shortcode.\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2973\n+#: includes\u002Ffunctions.internal.php:3008\n #, php-format\n msgid \"\"\n \"Checking \\\"Redirect client...\\\" checkbox will automatically fill the \"\n \"Redirect Url field %s.\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2982\n+#: includes\u002Ffunctions.internal.php:3017\n #, php-format\n msgid \"\"\n \"\u003Cb>Note:\u003C\u002Fb> You already have a \\\"%s\\\" page. If you click Create page Now \"\n@@ -23697,10 +24612,31 @@\n \"page:\"\n msgstr \"\"\n \n-#: includes\u002Ffunctions.internal.php:2985\n+#: includes\u002Ffunctions.internal.php:3020\n msgid \"To view the page:\"\n msgstr \"\"\n \n+#: includes\u002Ffunctions.listing.php:148 includes\u002Fschedules.php:401\n+#, php-format\n+msgid \"EDIT BOOKING (%d)\"\n+msgstr \"\"\n+\n+#: includes\u002Ffunctions.listing.php:377\n+msgid \"This is not your booking\"\n+msgstr \"\"\n+\n+#: includes\u002Ffunctions.listing.php:506 includes\u002Fschedules.php:812\n+msgid \"Changes saved. Closing shortly...\"\n+msgstr \"\"\n+\n+#: includes\u002Ffunctions.listing.php:812\n+msgid \"Dock to left\"\n+msgstr \"\"\n+\n+#: includes\u002Ffunctions.listing.php:813\n+msgid \"Dock to right\"\n+msgstr \"\"\n+\n #: includes\u002Fgateways.php:88\n #, php-format\n msgid \"\"\n@@ -24082,64 +25018,43 @@\n \"the plugin (DO NOT delete the plugin). You will not lose any data.\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:185\n-msgid \"Role not supported at the moment\"\n-msgstr \"\"\n-\n-#: includes\u002Fschedules.php:386\n-#, php-format\n-msgid \"EDIT BOOKING (%d)\"\n-msgstr \"\"\n-\n-#: includes\u002Fschedules.php:495\n+#: includes\u002Fschedules.php:510\n msgid \"If checked and email provided, new client will be created\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:529\n+#: includes\u002Fschedules.php:544\n msgid \"Notify\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:530\n+#: includes\u002Fschedules.php:545\n msgid \"Send Email to Client\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:785\n+#: includes\u002Fschedules.php:810\n msgid \"New appointment successfully saved. Closing shortly...\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:787\n-msgid \"Changes saved. Closing shortly...\"\n-msgstr \"\"\n-\n-#: includes\u002Fschedules.php:1011\n-msgid \"Dock to left\"\n-msgstr \"\"\n-\n-#: includes\u002Fschedules.php:1012\n-msgid \"Dock to right\"\n-msgstr \"\"\n-\n-#: includes\u002Fschedules.php:1036\n+#: includes\u002Fschedules.php:1248\n msgid \"All Statuses\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:1054\n+#: includes\u002Fschedules.php:1266\n msgid \"All Stores\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:1054\n+#: includes\u002Fschedules.php:1266\n msgid \"All Locations\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:1069\n+#: includes\u002Fschedules.php:1281\n msgid \"All Services\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:1085\n+#: includes\u002Fschedules.php:1297\n msgid \"All Providers\"\n msgstr \"\"\n \n-#: includes\u002Fschedules.php:1116\n+#: includes\u002Fschedules.php:1328\n msgid \"All Days\"\n msgstr \"\"\n \n@@ -24154,33 +25069,33 @@\n \"continue to checkout or purchase the booking.\"\n msgstr \"\"\n \n-#: includes\u002Fuser.php:695\n+#: includes\u002Fuser.php:703\n #, php-format\n msgid \"\"\n \"Spam attack from IP %1$s has been avoided. User Agent: %2$s. User ID: %3$s. \"\n \"Submitted data: %4$s\"\n msgstr \"\"\n \n-#: includes\u002Fuser.php:1199\n+#: includes\u002Fuser.php:1201\n #, php-format\n msgid \"Provider %1$s cancelled booking with ID: %2$s\"\n msgstr \"\"\n \n-#: includes\u002Fuser.php:1202\n+#: includes\u002Fuser.php:1204\n #, php-format\n msgid \"Client %1$s cancelled booking with ID: %2$s\"\n msgstr \"\"\n \n-#: includes\u002Fuser.php:1230\n+#: includes\u002Fuser.php:1232\n #, php-format\n msgid \"Service Provider %1$s manually confirmed appointment with ID: %2$s\"\n msgstr \"\"\n \n-#: includes\u002Fuser.php:1237\n+#: includes\u002Fuser.php:1239\n msgid \"Selected appointment has been confirmed\"\n msgstr \"\"\n \n-#: includes\u002Fuser.php:1285\n+#: includes\u002Fuser.php:1287\n #, php-format\n msgid \"%s Bookings & Settings\"\n msgstr \"\"\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Freadme.txt \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Freadme.txt\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Freadme.txt\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Freadme.txt\t2026-03-10 03:42:22.000000000 +0000\n@@ -1,10 +1,10 @@\n === WP BASE Booking of Appointments, Services and Events ===\r\n Contributors: PuckRobin\r\n-Tags: appointment booking, service booking, booking calendar, multi vendor, buddypress\r\n+Tags: appointment booking, service booking, booking calendar, multi vendor, buddyboss\r\n Requires at least: 4.4.0\r\n-Tested up to: 6.9\r\n-Stable tag: 5.9.0\r\n-Requires PHP: 5.5.0\r\n+Tested up to: 7.0\r\n+Stable tag: 6.0.0\r\n+Requires PHP: 7.0.0\r\n License: GPLv2 or later\r\n License URI: https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\r\n \r\n@@ -147,7 +147,6 @@\n * [Easy Digital Downloads Integration](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Feasy-digital-downloads-integration\u002F): WP BASE services can be sold as digital products (downloads) of EDD alone, with other services or with other downloads.\r\n * [Export & Import](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Fexport-import\u002F): Allows export and import of WP BASE settings and database tables to\u002Ffrom another site\u002Fsubsite. Includes import option from [Appointments by WPMU DEV](https:\u002F\u002Fgithub.com\u002Fwpmudev\u002Fappointments).\r\n * [Extended Service Features & Categories Addon](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Fextended-service-features-categories\u002F) allows several website settings to be applied per service. It also adds category support to services.\r\n-* [Front End Edit](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Ffront-end-edit\u002F): Allows client edit their bookings, reschedule appointments, modify user fields on the front end. Admins or any user with selected capability, e.g. editors, can also edit others' bookings using the same interface.\r\n * [Front End Booking Management](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Ffront-end-booking-management\u002F): Allows admin or any user with selected capability add and edit all bookings and submitted user fields on the front end.\r\n * [Limited Availability](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Flimited-availability\u002F): Availability of each service can be easily set on a full calendar making them suitable for event or Airbnb type rental bookings.\r\n * [Manual Payments](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Fmanual-payments\u002F): Allows adding and editing records for offline (bank transfer, cheque, cash) payments.\r\n@@ -156,7 +155,7 @@\n * [Test Bookings](https:\u002F\u002Fwp-base.com\u002Fknowledge-base\u002Ftest-bookings\u002F): Given number of partly or fully random test bookings can be created for test purposes.\r\n \r\n = Premium Addons =\r\n-* [BuddyPress](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Fbuddypress\u002F): Adds settings, list of bookings and calendars on BuddyPress front end user pages.\r\n+* [BuddyPress](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Fbuddypress\u002F): Adds settings, list of bookings and calendars on BuddyPress\u002FBuddyBoss front end user pages. Integrates with notifications and groups.\r\n * [Coupons](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Fcoupons\u002F): Applies discount over total payable amount upon submission of coupon code. Start and end dates, maximum usage, applicable services and\u002For providers can be selected.\r\n * [Custom Pricing](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Fcustom-variable-pricing\u002F): Payment and down payment amounts can be formulated depending on any variable, for example to apply special price for happy hours\r\n * [Digital Wallet](https:\u002F\u002Fwp-base.com\u002Fdownloads\u002Fcredits\u002F): Adds a deposit system to your website that allows your clients to purchase credit points or service packages and then redeem it at a later point for your services.\r\n@@ -202,6 +201,21 @@\n With unlimited services, unrestricted bookings, email sending feature, WP BASE Core is a fully functional booking system which is sufficient for most of *individual* booking needs. However, if your business requires more, we do have Premium [addons](https:\u002F\u002Fwp-base.com\u002Faddons\u002F). WP BASE Core which you can download from wordpress.org, will always stay free.\r\n \r\n == Changelog ==\r\n+= V6.0.0 March 10, 2026 =\r\n+- New: Clients can view their bookings in Schedules and use it to edit their bookings\r\n+- Tweak: Better caching for Schedules\r\n+- Tweak: Datatables assets separated, reducing file size loaded on booking pages\r\n+- Change: Front End Edit addon has been retired and its functions integrated into the core\r\n+- Dev: Compatibility with WordPress 7.0\r\n+- Dev: moment.js will now be used from WP library\r\n+- Fix: Date\u002Ftime columns of List of Bookings, Credit History and Vendor Commissions tables are not sorted correctly\r\n+- Changes and fixes related to premium addons:\r\n+- New: Commissions can be paid with Stripe Connect\r\n+- Tweak: In Online Meetings, Agora video interface is renewed and SDK updated\r\n+- Tweak: Grid element support for [app_vendor_services] shortcode\r\n+- Change: In Google Calendar, when service providers use their calendar, and Google Meet is activated, website account no more records Meet and sends invitation (otherwise there will be two invitations)\r\n+- Fix: In Recurring Appointments, when a booking is created on admin side, UDF values of parent are not copied to children\r\n+\r\n = V5.9.0 January 5, 2026 =\r\n - New: Additional log file for API messages and setting changes. Log display can be reversed\r\n - Changes and fixes related to premium addons:\r\n@@ -336,162 +350,6 @@\n - Change: Social Login of Advanced Features has been rewritten. wordpress.com support added, Twitter support removed\r\n - Fix: Better Messages button does not show in BP list of bookings\r\n \r\n-= V4.9.2 December 14, 2024 =\r\n-- Fix: Get More link has wrong styling\r\n-- Fix: Code strengthening\r\n-\r\n-= V4.9.1 October 27, 2024 =\r\n-- Tweak: Improvements in Setup Wizard\r\n-- Tweak: Better support for themes having pages with narrow container width\r\n-- Fix: PHP warning in front.ajax when updating calendars\r\n-\r\n-= V4.9.0 October 23, 2024 =\r\n-- New: Setup Wizard\r\n-- New: Calendar Time Slot Display setting allows time slot display selection globally. Default display mode is \"with_break\" now\r\n-- New: \"Default\" time slot color set\r\n-- Tweak: Working Hour setting UI improvements\r\n-- Tweak: Now more than one service can point the same CPT as description page\r\n-- Change: When there are multiple calendars on the same page, only one of the forms is displayed now\r\n-- Fix: In PHP8.3, warning message in admin dashboard when there are no providers\r\n-- Changes and fixes related to premium addons:\r\n-- Tweak: Geodirectory listing price and vendor price sync'ed\r\n-- Change: When UDF values are changed on admin bookings, Google Calendar Event is also updated\r\n-- Fix: Seasonal Working Hours schedule is not applied for the last week of the year\r\n-\r\n-= V4.8.0 September 26, 2024 =\r\n-- New: Services fee per hour, day, week, month, booking\r\n-- Tweak: Flexslider is not refreshed at first load, thus preventing flickering of images\r\n-- Fix: When service duration is 1 day and Selectable Durations not configured, JavaScript error prevents opening of the checkout form\r\n-- Fix: Single Click Booking summary info shows updated service instead of service of the selected slot after calendar updated\r\n-- Fix: Contrary to the description, Limited Availability requires service working hours to be set\r\n-- Dev: Refactoring of front.php\r\n-- Changes and fixes related to premium addons:\r\n-- Change: Even when Credits is the only active payment method, Payment Method box at checkout is displayed to be able to show credit balance of the customer\r\n-- Tweak: When recurring bookings are created on admin side, client and UDF info are also copied from parent to children\r\n-- Tweak: Admin emails are slighly different for pending and confirmed bookings\r\n-- Fix: Uploaded video may not be displayed in Multi Vendor Marketplace Geodirectory integration\r\n-- Fix: Extras addon is pulling the wrong description or not pulling at all at checkout\r\n-- Fix: WooCommerce does not respect minimum and maximum time slot settings\r\n-- Fix: Event attendees print does not function correctly\r\n-- Fix: User fields in Account Settings tab are repeated\r\n-- Fix: If post content is not empty and [app_book] is on a template or Geodir tab, calendar is not updated on the first load\r\n-- Fix: If service is zero priced, Extra selection with price does not open payment method selection at checkout\r\n-- Fix: Recurring Appointments checks far further dates and may not allow booking at checkout\r\n-- Fix: If some items of a recurring appointment package is removed at checkout, booking is not allowed with too less error\r\n-- Fix: Participant fields in Front End Edit dialog are misaligned\r\n-- Fix: Editing booking record with Front End Edit gives PHP error if PDF addon is active\r\n-- Fix: Changes in Front End Edit for UDF fields are not saved\r\n-\r\n-= V4.7.0 August 23, 2024 =\r\n-- Fix: Limited availability dates do not always work for services with duration 2+ days\r\n-- Fix: At account page, calendars are updated at first load\r\n-- Changes and fixes related to premium addons:\r\n-- New: 1 month to 12 months booking duration can be selected in Selectable Durations\r\n-- Tweak\u002FFix: Old confirmation form is not working for Event Bookings. Replaced with the new Checkout form\r\n-- Fix: When editing an admin booking record, checking\u002Funchecking send email check box affects other UDF check boxes\r\n-- Fix: PHP8 error when a non logged in user makes a booking and UDF addon enabled\r\n-- Fix: Event Bookings selected guest number drops down to 1 when payment method selected\r\n-\r\n-= V4.6.0 August 04, 2024 =\r\n-- New: Confirmation Form now uses the same markup and styling of Flex Steps Checkout\r\n-- Change: Remember Me field retired\r\n-- Change: Several settings about confirmation form layout and css retired\r\n-- Change: Theme Builder Compatibility setting retired. Now compatibility is always on\r\n-- Change: Lazy Load, Use Cache settings retired\r\n-- Fix: When service duration is exactly 7 days, service availabilities are incorrect\r\n-- Fix: Deprecated messages in PHP8.3.9\r\n-- Changes and fixes related to premium addons:\r\n-- Fix: Wrong escaping of paginate links in Coupons, Custom Pricing, Extras, Locations, Seasonal Working Hours, UDF\r\n-\r\n-= V4.5.0 June 29, 2024 =\r\n-- New: Booking lasting longer than 24 hours are displayed on a monthly calendar on admin schedules and provider\u002Fowner account\r\n-- Tweak: WordPress V6.6 tested for compatibility\r\n-- Tweak: Flex Steps now support Shopping Cart\r\n-- Fix: Permanently Delete Selected Records button is not working\r\n-- Changes and fixes related to premium addons:\r\n-- Fix: Provider Free bookings should show in service owner's account under manage bookings and should be counted in the dashboard\r\n-- Fix: PM button should show for Provider Free bookings\r\n-- Fix: WooCommerce Order ID is not displayed in admin bookings in HPOS if compatibility mode deactivated\r\n-\r\n-= V4.4.0 June 04, 2024 =\r\n-- New: \"Flex Steps\" booking process\r\n-- Changes and fixes related to premium addons:\r\n-- Tweak: Admin can upload provider and vendor avatar\r\n-- Tweak: Admin can enter description for provider\r\n-- Fix: Only one of Location, Service or Worker (top prior one) is allowed to use slider\r\n-- Fix: Provider display name cannot be changed on admin Providers page\r\n-- Fix: When Multi Language is activated, after payment with Credits client is redirected to a non-existing page\r\n-- Fix: When Recurring Appointments + Selectable Durations are used at the same time, booking end times are not correct\r\n-- Fix: Editing Recurring Appointments children gives unexpected results\r\n-\r\n-= V4.3.0 April 10, 2024 =\r\n-- Tweak: When a non logged in user enters email of an existing member during checkout, now login is handled better\r\n-- Fix: When slide count is entered as zero, slide should have fixed width\r\n-- Fix: If service image file is deleted, it is not possible to replace image with another one on Services page\r\n-- Changes and fixes related to premium addons:\r\n-- New: Integration with Better Messages: Now vendors and clients can write each other at meeting and waiting room pages. Users can send message to vendor at their bio pages\r\n-- New: Each service can be selected to have Online Meeting or not\r\n-- New: New shortcode [app_vendor_meta] which prints vendor info on bio page\r\n-- New: Trial services can be set to be free of charge\r\n-- New: UsersWP forms or lightboxes can be used as login and register methods\r\n-- Tweak: Clearer hints for adding a slot to waiting list\r\n-- Change: When Multi Vendor addon is active and there are vendors defined, [app_book] is regarded as [app_book worker=auto]\r\n-- Fix: When Zoom API token is expired, it may not be possible to regenerate it\r\n-- Fix: Services in vendor pages does not obey default sort order\r\n-\r\n-= V4.2.0 February 26, 2024 =\r\n-- New: List of Bookings can be printed\r\n-- Tweak: WP6.5 compatibility\r\n-- Fix: Flexslider conflicts with WooCommerce default theme Storefront\r\n-- Fix: When slider is active, category opt_group should not be on\r\n-- Changes and fixes related to premium addons:\r\n-- New: Credit history and Commissions list can be printed\r\n-\r\n-= V4.1.0 February 6, 2024 =\r\n-- Change: On user profile settings, only vendors can set WP fields (name, email, first name, last name ), for the rest users these fields are readonly\r\n-- Tweak: Better sync with WP fields in Vendors, Clients and user profile\r\n-- Fix: Flexslider height can be excessive if slider image aspect ratio > 1\r\n-- Fix: Flexslider does not load correctly in Astra theme\r\n-- Changes and fixes related to premium addons:\r\n-- New: \"Provider Free\" services in Multi Vendor\r\n-- Tweak: Service lock: When vendor\u002Fprovider is editing a service, record is locked and admin can know who is editing. He can then take over\r\n-- Fix: BuddyPress group \"Book Us\" page always chooses services for Group 1\r\n-- Fix: Not possible to use Jitsi and Agora at the same website\r\n-- Fix: After vendors edit a service, they lose ownership\r\n-- Fix: Preferred Language selection at profile is not reflected to displayed language\r\n-- Fix: Services owned, but not provided by vendor cannot be displayed at the front end\r\n-- Fix: When BuddyPress Groups\u002FLocations connected, locations aren't supposed to be selected by menu\r\n-- Fix: Registration form cannot be submitted\r\n-- Fix: Previously declined or suspended vendors should not apply to be vendor again\r\n-\r\n-= V4.0.1 January 12, 2024 =\r\n-- Change: For daily services, if Limited Availability is enabled service working hours are no more needed\r\n-- Fix: If a price is not entered as download price previously, EDD bookings become free downloads\r\n-- Changes and fixes related to premium addons:\r\n-- Tweak: Credit records can be individually deleted\r\n-- Tweak: Note can be written when adding a credit record\r\n-- Tweak: PERSON_TYPES placeholder can be used in email templates\r\n-- Tweak: Multi Language support for person type labels and template\r\n-- Change: For daily services, if Limited Availability is enabled service working hours are no more needed\r\n-- Fix: When Group Bookings is used for a Package service, person types are not displayed on the front end\r\n-\r\n-= V4.0.0 December 23, 2023 =\r\n-- New: Free addons are now delivered with WP BASE Core\r\n-- New: \"Limited Availability\" addon\r\n-- New: New setting \"Show End Date Based on Venue Bookings\" at Display Settings\r\n-- Change: Front End Edit and Front End Booking Management are now free addons\r\n-- Change: Sidebar widgets are no more loaded by default\r\n-- Changes and fixes related to addons:\r\n-- New: Person Types in Group Bookings\r\n-- New: Ultimate Member and UsersWP support in Multi Vendor\r\n-- New: \"Flexible Price\" feature for services in Multi Vendor Marketplace\r\n-- New: Support for WooCommerce checkout page that is created with WooCommerce Blocks\r\n-- Tweak: JWT settings in Online Meetings - Zoom have been completely removed\r\n-- Fix: PHP8.1+ error at time slot selection from Multi Vendor Marketplace when \"Vendor can Set Own Price\" is set as fixed, and min\u002Fmax prices are set as zero and vendor did not enter any price yet\r\n-- Fix: In WP BASE DEV, repeated \"FeaturesUtil::declare_compatibility … is not a known WordPress plugin\" WooCommerce log messages\r\n-- Fix: PHP error in BuddyPress when Group component is deactivated and WooCommerce cart is selected as payment method\r\n-- Fix: Vendors cannot make booking in BuddyPress + WooCommerce configuration due to change in V3.9.7.2\r\n-\r\n = For older logs see changelog.txt file in plugin folder =\r\n \r\n == Screenshots ==\r\ndiff -ru \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fwp-base.php \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fwp-base.php\n--- \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F5.9.0\u002Fwp-base.php\t2026-01-06 00:50:56.000000000 +0000\n+++ \u002Fhome\u002Fdeploy\u002Fwp-safety.org\u002Fdata\u002Fplugin-versions\u002Fwp-base-booking-of-appointments-services-and-events\u002F6.0.0\u002Fwp-base.php\t2026-03-10 03:42:22.000000000 +0000\n@@ -3,7 +3,7 @@\n  * Plugin Name: WP BASE Booking of Appointments, Services and Events\n  * Description: A complete e-commerce solution for appointment, service and event bookings.\n  * Plugin URI: https:\u002F\u002Fwp-base.com\n- * Version: 5.9.0\n+ * Version: 6.0.0\n  * Author: Hakan Ozevin \u003Chakan@wp-base.com>\n  * Author URI: https:\u002F\u002Fwp-base.com\n  * Text Domain: wp-base\n@@ -42,7 +42,7 @@\n } else if ( version_compare( PHP_VERSION, '7.0.0' ) \u003C 0 ) {\n \tadd_action( 'admin_notices', '_wpb_plugin_php_version' );\n } else {\n-\tdefine( 'WPB_VERSION', '5.9.0' );\n+\tdefine( 'WPB_VERSION', '6.0.0' );\n \tdefine( 'WPB_LATEST_DB_VERSION', '3060' );\n \tdefine( 'WPBASE_URL', 'https:\u002F\u002Fwp-base.com\u002F' );\n \tdefine( 'WPB_PLUGIN_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );\n","1. Navigate to a page where the plugin's booking or registration shortcode (like [app_book]) is active to extract a security nonce from the localized 'app_data.nonce' JavaScript variable.\n2. Send an unauthenticated POST request to \u002Fwp-admin\u002Fadmin-ajax.php using the action 'app_registration'.\n3. In the POST body, provide required user data (user_login, user_email, user_pass) and explicitly include the 'role' parameter set to 'administrator'.\n4. Alternatively, if the 'role' parameter is filtered, attempt to inject the 'meta[wp_capabilities][administrator]' parameter with a value of 1.\n5. Upon successful response, use the new credentials to log in to the WordPress dashboard with full administrative access.","gemini-3-flash-preview","2026-04-17 19:44:27","2026-04-17 19:45:12","failed","All models in the chain (gemini-3-flash-preview, claude-opus-4-7) failed to produce a verified exploit.",[],"2026-04-18 06:54:44","6.7","8.3",true,{"type":47,"vulnerable_version":48,"fixed_version":11,"vulnerable_browse":49,"vulnerable_zip":50,"fixed_browse":51,"fixed_zip":52,"all_tags":53},"plugin","5.9.0","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fwp-base-booking-of-appointments-services-and-events\u002Ftags\u002F5.9.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-base-booking-of-appointments-services-and-events.5.9.0.zip","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fwp-base-booking-of-appointments-services-and-events\u002Ftags\u002F6.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-base-booking-of-appointments-services-and-events.6.0.0.zip","https:\u002F\u002Fplugins.trac.wordpress.org\u002Fbrowser\u002Fwp-base-booking-of-appointments-services-and-events\u002Ftags"]