PluginProbe
Booking Calendar / 11.8.4
Booking Calendar v11.8.4
11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 10.11 All 204 releases
← All changes | core/class/welcome_current.php +1074 -659 10.1.311.8.4 View file →
@@ -1,988 +1,1403 @@
1 1 <?php
2 2
3 3 // Exit if accessed directly
4 4 if ( !defined( 'ABSPATH' ) ) exit;
5 5
6 +/**
7 + * Render Booking Calendar 11.8.1 What's New content.
8 + *
9 + * @param object $obj Welcome-page renderer and image loader.
10 + *
11 + * @return void
12 + */
13 +function wpbc_welcome_section_11_8_1( $obj ) {
6 14
7 -function wpbc_welcome_section_10_1( $obj ){
15 + $section_parameters = array( 'version_num' => '11.8.1', 'show_expand' => false );
16 + $obj->expand_section_start( $section_parameters );
17 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
18 + ?>
8 19
9 - $section_param_arr = array( 'version_num' => '10.1', 'show_expand' => false );
10 20
11 - $obj->expand_section_start( $section_param_arr );
21 + <div class="wpbc_wn_container">
12 22
23 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
24 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
25 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
26 + <h2><?php echo( 'Clearer First-Run Setup' ); ?></h2>
27 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
28 + <img
29 + src="<?php echo esc_attr( $obj->section_img_url( '11.8.1/wp_booking_calendar__first_run_starter_pages_prompt_placeholder.png' ) ); ?>"
30 + alt="<?php echo esc_attr( 'First-run starter booking pages invitation with public-page links' ); ?>"
31 + style="margin:10px 0;width:98%;"
32 + />
33 + </div>
34 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
35 + <ul>
36 + <li><strong><?php echo( 'Choose Setup when you are ready.' ); ?></strong> <?php echo( 'New installations show one focused invitation on Booking Listing. Start guided Setup immediately or postpone it; either choice is remembered.' ); ?></li>
37 + <li><strong><?php echo( 'Test the visitor experience immediately.' ); ?></strong> <?php echo( 'A second one-time window shows complete previews and links to valid published starter pages, including the resource-first Resource Selection workflow. After automatic dismissal, new installations can reopen it from the Booking Listing welcome panel. Live demos also show the welcome section without saving a shared dismissal. The top Booking Calendar menu keeps the public links in a predictable workflow order and places the Home page last.' ); ?></li>
38 + </ul>
39 + </div>
40 + </div>
41 + </div>
42 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
43 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
44 + <h2><?php echo( 'Time-Slot Booking Flow' ); ?></h2>
45 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
46 + <img
47 + src="<?php echo esc_attr( $obj->section_img_url( '11.8.1/wp_booking_calendar__time-slots-booking-form-2-columns.png' ) ); ?>"
48 + alt="<?php echo esc_attr( 'Two-column time-slot booking form with a calendar and live date and time summary' ); ?>"
49 + style="margin:10px 0;width:98%;"
50 + />
51 + </div>
52 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
53 + <ul>
54 + <li><strong><?php echo( 'Choose date and time together.' ); ?></strong> <?php echo( 'The calendar, time choices, and live Date, Start Time, and End Time summary share one clear first step.' ); ?></li>
55 + <li><strong><?php echo( 'Finish details on a focused second step.' ); ?></strong> <?php echo( 'Visitors continue to contact, guest, and Terms fields before sending the booking.' ); ?></li>
56 + <li><strong><?php echo( 'Ready to find and reuse.' ); ?></strong> <?php echo( 'When initially added, the Time-Slots template appears first overall and, within Full Days, Two Columns appears before Vertical. Clean installations use the Time-Slots template on their starter page. Updates preserve existing forms, pages, custom URLs, and installed template copies.' ); ?></li>
57 + </ul>
58 + </div>
59 + </div>
60 + </div>
61 + </div>
13 62
14 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
15 63
64 + </div>
65 + <?php
66 + $obj->expand_section_end( $section_parameters );
67 +}
16 68
17 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
18 - // -----------------------------------------------------------------------------------------------------------------
19 - // = F R E E =
20 - // -----------------------------------------------------------------------------------------------------------------
21 - ?><div class="wpbc_wn_container">
22 - <div class="wpbc_wn_section">
23 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Explore Enhanced UI, Advanced Search <sup style="font-size:10px;top: -8px;position: relative;left: -4px;">Pro</sup>, and more...' ); ?></h2>
24 - <div class="wpbc_wn_col">
25 - <h3><?php echo wpbc_replace_to_strong_symbols( 'New: Booking Form Setup' ); ?></h3>
69 +/**
70 + * Render Booking Calendar 11.8 What's New content.
71 + *
72 + * Booking Modes and the Full-Day Form Builder template are available in every
73 + * edition. Seasonal Availability and the Business Large Searchable Resources
74 + * catalog remain protected by their existing feature, edition, and current-user
75 + * gates. Image placeholders must be replaced by verified, edition-appropriate
76 + * captures before release.
77 + *
78 + * @param object $obj Welcome-page renderer and image loader.
79 + *
80 + * @return void
81 + */
82 +function wpbc_welcome_section_11_8( $obj ) {
83 +
84 + $section_parameters = array( 'version_num' => '11.8', 'show_expand' => false );
85 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
86 + $obj->expand_section_start( $section_parameters );
87 + ?>
88 + <div class="wpbc_wn_container">
89 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
90 + <h2><?php echo( '2 New Full-Day Booking Form Templates' ); ?></h2>
91 +
92 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
93 + <img
94 + src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__form_2_columns_hints_full_days.png' ) ); ?>"
95 + alt="<?php echo esc_attr( 'Two-column full-day booking form with a calendar, date summary, and customer details' ); ?>"
96 + style="margin:10px 0;width:98%;"
97 + />
98 + </div>
99 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
26 100 <ul>
27 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Experience an updated UI for booking form configurations. Define booking form layout, including centering, and placing the form next to the calendar. Adjust the size and alignment of the form, easily create or edit new fields, define color themes, enable CAPTCHA, and much more.' ); ?></li>
101 + <li><strong><?php echo( 'Start with a clear two-column layout.' ); ?></strong> <?php echo( 'Customers select dates in the calendar, then review their Check-in, Check-out, and Days beside the customer details.' ); ?></li>
102 + <li><strong><?php echo( 'Vertical full-day layout.' ); ?></strong> <?php echo( 'Vertical full-day booking form with a ability to use a two-month calendar and date summary' ); ?></li>
103 + <li><strong><?php echo( 'Designed for full-day bookings.' ); ?></strong> <?php echo( 'Use the live date summary with your saved full-day or changeover settings to make each selection easier to understand.' ); ?></li>
104 + <li><strong><?php echo( 'Apply it when you need it.' ); ?></strong> <?php echo( 'The templates are available in Form Builder without replacing existing forms or changing first-install defaults. Confirm its starter Terms links before publishing.' ); ?></li>
28 105 </ul>
29 - <img src="<?php echo $obj->section_img_url( '10.1/wp-booking-calendar__simple_booking_form_setup_01.gif' ); ?>" style="margin:10px 0;width:98%;" />
30 106 </div>
31 107 </div>
32 - <div class="wpbc_wn_section">
33 - <div class="wpbc_wn_col">
34 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Booking Form Preview' ); ?></h3>
108 +
109 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
110 + <h2><?php echo( 'New Seasonal Availability Catalog' ); ?></h2>
111 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
112 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__season_availability_review_placeholder_3.png' ) ); ?>" alt="<?php echo esc_attr( 'Availability listing with Resource names, default-status labels, search and view controls' ); ?>" style="margin:5px 0;width:100%;" />
113 + <p style="text-align:center;font-style: italic;font-size:0.8em;"><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Business Medium or higher.'; ?></p>
114 + </div>
115 + <div class="wpbc_wn_col" style="flex: 1 1 20%;margin: 0;padding: 0;">
116 +
35 117 <ul>
36 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Now you can see all changes in real-time on the same page at WP Booking Calendar > Settings > Booking Form, immediately after making adjustments to your booking form.' ); ?></li>
118 + <li data-wpbc-availability-feature="overview"><strong><?php echo( 'Availability at a glance.' ); ?></strong> <?php echo( 'Find your Resources in a clear list or Card view. See each Resource’s default availability below its name, search for the one you need, and choose the columns you want to see.' ); ?></li>
119 + <li data-wpbc-availability-feature="preview"><strong><?php echo( 'See your seasonal dates clearly.' ); ?></strong> <?php echo( 'Green dates are available and gray dates are unavailable according to your seasonal settings. Hover over a Resource or focus a control in its row to see which Season applies. The preview shows seasonal settings, not existing bookings or remaining capacity.' ); ?></li>
37 120 </ul>
38 121 </div>
39 - <div class="wpbc_wn_col">
40 - <img src="<?php echo $obj->section_img_url( '10.1/wp_booking_calendar__simple_booking_form_preview_02.gif' ); ?>" style="margin:10px 0;width:98%;" />
122 + </div>
123 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
124 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
125 + <ul>
126 + <li data-wpbc-availability-feature="bulk"><strong><?php echo( 'Update selected Resources together.' ); ?></strong> <?php echo( 'Select Resources and choose Edit selected to set their default availability, add one Season exception, or remove one Season exception. Other assignments are kept. Review every proposed change before applying; updated Resources are highlighted after a successful save.' ); ?></li>
127 + </ul>
41 128 </div>
42 129 </div>
43 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
44 - </div>
45 - <?php
46 -
47 - ?><div class="wpbc_wn_container">
48 - <div class="wpbc_wn_section">
49 - <div class="wpbc_wn_col">
50 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Enhanced Admin Panel Calendar Overview' ); ?></h3>
130 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
131 + <div class="wpbc_wn_col" style="flex: 1 1 20%;margin: 0;padding: 0;">
51 132 <ul>
52 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Experience an **updated UI on the Calendar Overview page**, optimizing space for clear viewing of bookings. The new design minimizes space for UI elements, maximizing the focus on bookings and enhancing the user experience for managing them. This redesign not only improves user experience but also ensures seamless usability across all devices, including mobile, allowing for increased visibility of bookings.' ); ?></li>
133 + <li data-wpbc-availability-feature="inspector"><strong><?php echo( 'Edit availability without leaving the list.' ); ?></strong> <?php echo( 'Open a Resource in the new sidebar editor. Choose its default, add Season exceptions, turn them on or off, and preview their dates. A plain-language overview explains the result before you review and apply your changes.' ); ?></li>
134 + <li data-wpbc-availability-feature="inline"><strong><?php echo( 'Change defaults directly in the list.' ); ?></strong> <?php echo( 'Choose Edit rows to change default availability for several Resources without opening each one. Changed rows are marked so you can check your work, then review the effect on existing Seasons before applying.' ); ?></li>
53 135 </ul>
54 136 </div>
55 - <div class="wpbc_wn_col">
56 - <img src="<?php echo $obj->section_img_url( '10.1/wp_booking_calendar__calendar_overview_04.gif' ); ?>" style="margin:10px 0;width:98%;" />
137 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
138 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__season_availability__inspector_edit_season_availability_3.png' ) ); ?>" alt="<?php echo esc_attr( 'Seasonal Availability inspector showing default availability, ordered Season exceptions and a selected Season date preview' ); ?>" style="margin:5px 0;width:100%;" />
139 + <p style="text-align:center;font-style: italic;font-size:0.8em;"><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Business Medium or higher.'; ?></p>
140 + </div>
141 + </div>
142 +
143 +
144 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
145 + <h2><?php echo( 'New Searchable Resources Catalog' ); ?></h2>
146 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
147 + <?php // Replace this placeholder with the final 11.8 Searchable Resources Catalog screenshot before release. ?>
148 + <img
149 + src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__searchable_resources_catalog_placeholder.png' ) ); ?>"
150 + alt="<?php echo esc_attr( 'Searchable Resources Catalog with status filters, presentation columns, and Resource editing controls' ); ?>"
151 + style="margin:10px 0;width:98%;"
152 + />
153 + <p style="text-align:center;font-style: italic;font-size:0.8em;"><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Business Large or higher.'; ?></p>
154 + </div>
155 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
57 156 <ul>
58 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Display first and last names in the booking pipelines on the Calendar Overview page to simplify finding specific bookings.' ); ?></li>
157 + <li><strong><?php echo( 'Control each search result in one place.' ); ?></strong> <?php echo( 'Open the direct Search Availability > Searchable Resources link, then edit Search visibility, result title, description, image, landing page, and supported criteria from the Inspector or directly in catalog rows. Search form, results, and options each have their own neighboring link.' ); ?></li>
158 + <li><strong><?php echo( 'Find the right Resources quickly.' ); ?></strong> <?php echo( 'Switch between All, Searchable, and Not searchable Resources, then use focused table views, compact rows, or image-led Cards.' ); ?></li>
159 + <li><strong><?php echo( 'Review changes before saving.' ); ?></strong> <?php echo( 'Stage direct, inline, and selected-Resource updates, review the affected fields, and apply only the changes you approve.' ); ?></li>
59 160 </ul>
60 161 </div>
61 162 </div>
62 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
63 - </div>
64 - <?php
65 163
66 - ?><div class="wpbc_wn_container">
67 - <div class="wpbc_wn_section">
68 - <div class="wpbc_wn_col">
69 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Updated Interface for Email Settings' ); ?></h3>
164 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
165 + <h2><?php echo( 'More Reliable Administration Modes' ); ?></h2>
166 +
167 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
70 168 <ul>
71 - <li><?php echo wpbc_replace_to_strong_symbols( 'The Settings > Emails page now features an updated, user-friendly interface. The email template selection menu is conveniently located in the left navigation panel, clearly showing enabled and disabled templates. The configuration UI for email subjects and templates has been improved, with a revamped help section that highlights available shortcodes more effectively and clearly.' ); ?></li>
169 + <li><strong><?php echo( 'Choose the view that fits your work.' ); ?></strong> <?php echo( 'Switch between Classic, Appointments, and Rentals while continuing to use the familiar Booking Calendar pages and saved configuration.' ); ?></li>
170 + <li><strong><?php echo( 'See the pages available to you.' ); ?></strong> <?php echo( 'Each mode shows the pages provided by your installed edition and add-ons while safely omitting unavailable features.' ); ?></li>
72 171 </ul>
73 172 </div>
74 - <div class="wpbc_wn_col">
75 - <img src="<?php echo $obj->section_img_url( '10.1/wp-booking-calendar__email_settings_01.png' ); ?>" style="margin-top:14px;" />
173 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
174 + <ul>
175 + <li><strong><?php echo( 'Continue where you were working.' ); ?></strong> <?php echo( 'When possible, switching modes keeps the current Booking Calendar page and section, with a safe destination used when the equivalent page is unavailable.' ); ?></li>
176 + <li><strong><?php echo( 'Complete Setup in five steps.' ); ?></strong> <?php echo( 'The streamlined Setup flow now finishes in Form Builder, and the overlapping floating Setup Bar is disabled by default.' ); ?></li>
177 + </ul>
76 178 </div>
77 179 </div>
78 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
180 +
79 181 </div>
80 182 <?php
183 + $obj->expand_section_end( $section_parameters );
184 +}
81 185
186 +/**
187 + * What's New section for Booking Calendar 11.7.
188 + *
189 + * @param object $obj Welcome-page renderer.
190 + *
191 + * @return void
192 + */
193 +function wpbc_welcome_section_11_7( $obj ) {
82 194
83 - // </editor-fold>
195 + $section_param_arr = array( 'version_num' => '11.7', 'show_expand' => true );
196 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
197 + $prices_inspector_sections = array(
198 + array(
199 + 'title' => 'Base Cost',
200 + 'image' => '11.7/wp_booking_calendar__prices_catalog_base_cost_placeholder.png',
201 + 'alt' => 'Prices inspector showing the Base Cost editor with a decimal amount and synchronized slider',
202 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
203 + 'purpose' => 'Use Base Cost to define the normal starting price for this Resource before date, duration, deposit, and booking-time adjustments are applied.',
204 + 'description' => 'Enter an exact Resource price, including decimals, or use the synchronized slider. The inspector also shows the owner currency and charging period that control how the value is understood.',
205 + ),
206 + array(
207 + 'title' => 'Seasonal Rates',
208 + 'image' => '11.7/wp_booking_calendar__prices_catalog_seasonal_rates_placeholder.png',
209 + 'alt' => 'Prices inspector showing ordered Seasonal Rates with On and Off controls',
210 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
211 + 'purpose' => 'Use Seasonal Rates when the same Resource should cost more or less on holidays, weekends, high seasons, or other reusable date periods.',
212 + 'description' => 'Add fixed or percentage Seasonal Rates, switch saved rates On or Off without losing their settings, search authorized Seasons, and control evaluation order with drag or keyboard actions.',
213 + ),
214 + array(
215 + 'title' => 'Duration-Based Costs',
216 + 'image' => '11.7/wp_booking_calendar__prices_catalog_duration_costs_placeholder.png',
217 + 'alt' => 'Prices inspector showing ordered Duration-Based Cost rules and a separate LAST-day value',
218 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
219 + 'purpose' => 'Use Duration-Based Costs when the price should change according to how many days a customer books.',
220 + 'description' => 'Build ordered From, For, Together, and LAST rules with fixed, percentage, or added amounts. Optional Season conditions, synchronized controls, and separate LAST-day previews make each rule easier to understand.',
221 + ),
222 + array(
223 + 'title' => 'Partial Payment',
224 + 'image' => '11.7/wp_booking_calendar__prices_catalog_partial_payment_placeholder.png',
225 + 'alt' => 'Prices inspector showing a Partial Payment preview with due-now and balance amounts',
226 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
227 + 'purpose' => 'Use Partial Payment when customers should pay a deposit at booking and the remaining balance later instead of paying the full total immediately.',
228 + 'description' => 'Configure a percentage or fixed deposit with optional lead-time and Season conditions. The live preview separates the configured value from the amount currently due and shows the remaining balance and calculation basis.',
229 + ),
230 + array(
231 + 'title' => 'Early Booking Adjustment',
232 + 'image' => '11.7/wp_booking_calendar__prices_catalog_early_booking_placeholder.png',
233 + 'alt' => 'Prices inspector showing an Early Booking discount preview and qualifying date range',
234 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
235 + 'purpose' => 'Use Early Booking Adjustment to encourage advance reservations by reducing the price when check-in is sufficiently far away.',
236 + 'description' => 'Offer fixed or percentage reductions for sufficiently early check-ins. The date ruler shows site today, the inclusive threshold, the selected check-in, and whether the authorized Season condition applies.',
237 + ),
238 + array(
239 + 'title' => 'Late Booking Adjustment',
240 + 'image' => '11.7/wp_booking_calendar__prices_catalog_last_minute_placeholder.png',
241 + 'alt' => 'Prices inspector showing a Last-Minute discount preview and near-term qualifying date range',
242 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
243 + 'purpose' => 'Use Late Booking Adjustment to help fill near-term availability by reducing the price for check-ins inside a short booking window.',
244 + 'description' => 'Offer fixed or percentage reductions for near-term check-ins. The preview clearly shows the inverse date range and exclusive boundary, while saving this section leaves Early Booking settings unchanged.',
245 + ),
246 + );
84 247
248 + $obj->expand_section_start( $section_param_arr );
249 + ?>
250 + <div class="wpbc_wn_container">
251 + <div class="wpbc_wn_section">
252 + <h2><?php echo 'A New Prices Catalog'; ?></h2>
253 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
254 + <?php // Replace this placeholder with the final 11.7 Prices Catalog screenshot before release. ?>
255 + <img
256 + src="<?php echo esc_attr( $obj->section_img_url( '11.7/wp_booking_calendar__prices_catalog_overview_placeholder.png' ) ); ?>"
257 + alt="<?php echo 'Prices Catalog showing Resource pricing summaries, previews, filters, layouts, and the right-side inspector'; ?>"
258 + style="margin:10px 0;width:98%;"
259 + />
260 + </div>
261 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
262 + <p><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Business Medium or higher.'; ?></p>
263 + <p><strong><?php echo 'Why use it:'; ?></strong> <?php echo 'Use the Prices Catalog to review and manage all Resource-owned pricing rules from one page instead of opening several separate pricing screens.'; ?></p>
264 + <ul>
265 + <li><?php echo 'Manage Resource pricing from the familiar Booking Calendar > Prices page with search, filtering, sorting, paging, layouts, customizable columns, and clear pricing previews.'; ?></li>
266 + <li><?php echo 'Expand a Resource to open direct links for Base Cost, Seasonal Rates, Duration-Based Costs, Partial Payment, Early Booking, and Last-Minute adjustments, together with owner Pricing context and authorized external settings.'; ?></li>
267 + <li><?php echo 'The right-side inspector keeps each pricing area focused, validates current authorized values before saving, and protects changes made by another request.'; ?></li>
268 + <li><?php echo 'Need more time before switching? Enable Use legacy catalog pages to temporarily restore the previous Prices listing without migrating or resetting pricing data.'; ?></li>
269 + <li><?php echo 'Catalog previews cover Resource-owned pricing. Booking Form option costs, coupons, taxes, payment fees, additional Resources, and other later adjustments can still change the final booking total.'; ?></li>
270 + </ul>
271 + </div>
272 + </div>
85 273
86 - // -----------------------------------------------------------------------------------------------------------------
87 - // = P A I D =
88 - // -----------------------------------------------------------------------------------------------------------------
89 - ?><div class="wpbc_wn_container">
274 + <?php foreach ( $prices_inspector_sections as $prices_inspector_section ) { ?>
275 + <div class="wpbc_wn_section">
276 + <h2><?php echo esc_html( $prices_inspector_section['title'] ); ?></h2>
277 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
278 + <?php // Replace this placeholder with the final 11.7 inspector screenshot before release. ?>
279 + <img
280 + src="<?php echo esc_attr( $obj->section_img_url( $prices_inspector_section['image'] ) ); ?>"
281 + alt="<?php echo esc_attr( $prices_inspector_section['alt'] ); ?>"
282 + style="margin:10px 0;width:98%;"
283 + />
284 + </div>
285 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
286 + <p><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo esc_html( $prices_inspector_section['minimum_edition'] ); ?></p>
287 + <p><strong><?php echo 'Why use it:'; ?></strong> <?php echo esc_html( $prices_inspector_section['purpose'] ); ?></p>
288 + <p><?php echo esc_html( $prices_inspector_section['description'] ); ?></p>
289 + </div>
290 + </div>
291 + <?php } ?>
292 +
90 293 <div class="wpbc_wn_section">
91 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ); ?></h2>
92 - <div class="wpbc_wn_col">
294 + <h2><?php echo 'Clearer Left Sidebar Navigation'; ?></h2>
295 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 10px 0;">
296 + <p><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Free. This improvement is available in every edition.'; ?></p>
297 + <p><strong><?php echo 'Why use it:'; ?></strong> <?php echo 'Use the grouped navigation to find administration pages faster and keep the current page visible in long menus.'; ?></p>
93 298 <ul>
94 - <li><br><h3><?php echo wpbc_replace_to_strong_symbols( 'Completely new Search Availability Engine' ); ?></h3><?php echo wpbc_replace_to_strong_symbols( '&bull; This powerful feature allows you to search for available Dates and Times based on existing bookings, unavailable dates, and other criteria defined in the search form. Enjoy a more efficient and precise search experience tailored to your needs.' ); ?></li>
299 + <li><?php echo 'The grouped left menu keeps Appointments, Services, Providers, Availability, Pricing, and Settings easier to scan while preserving the familiar WordPress administration area.'; ?></li>
300 + <li><?php echo 'Long menus automatically bring the exact current page into view, and the Minimize control now remembers and restores the visible sidebar state reliably.'; ?></li>
95 301 </ul>
96 302 </div>
303 + <div class="wpbc_wn_col" style="flex: 1 1 50%;margin: 10px 0;">
304 + <?php // Replace this placeholder with the final 11.7 navigation screenshot before release. ?>
305 + <img
306 + src="<?php echo esc_attr( $obj->section_img_url( '11.7/wp_booking_calendar__left_sidebar_navigation_placeholder.png' ) ); ?>"
307 + alt="<?php echo 'Booking Calendar administration showing the grouped left sidebar navigation and selected page'; ?>"
308 + style="margin:10px 0;width:98%;"
309 + />
310 + </div>
97 311 </div>
312 +
98 313 <div class="wpbc_wn_section">
99 - <div class="wpbc_wn_col">
314 + <h2><?php echo 'More Improvements in 11.7'; ?></h2>
315 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
316 + <?php // Replace these placeholders with the final 11.7 Cost correction screenshots before release. ?>
317 + <img
318 + src="<?php echo esc_attr( $obj->section_img_url( '11.7/wp_booking_calendar__add_booking_cost_correction_placeholder.png' ) ); ?>"
319 + alt="<?php echo 'Add Booking inspector showing the Cost correction number and slider controls'; ?>"
320 + style="margin:10px 0;width:98%;"
321 + />
322 + </div>
323 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
324 + <p><strong><?php echo 'Minimum edition for Cost correction:'; ?></strong> <?php echo 'Booking Calendar Business Small or higher.'; ?></p>
325 + <p><strong><?php echo 'Why use it:'; ?></strong> <?php echo 'Use Cost correction when an administrator needs to replace the automatically calculated total for one manually created Booking or Appointment.'; ?></p>
100 326 <ul>
101 - <li><h3><?php echo wpbc_replace_to_strong_symbols( 'Searchable Resource Setup' ); ?></h3><?php echo wpbc_replace_to_strong_symbols( '&bull; This feature allows you to easily customize search availability for booking resources. Personalize search visibility and attributes by customizing options like **summary text and thumbnail images** to enhance user engagement in search results. Additionally, configure specific **parameters for resource filtering in search forms**, providing users with targeted and relevant search options.' ); ?></li>
327 + <li><?php echo 'Optionally set an exact final total while adding a Booking or Appointment. Leave the field empty to keep normal automatic pricing.'; ?></li>
328 + <li><?php echo 'Applied Cost corrections continue through the established deposit, balance, notification, and cost-note workflow.'; ?></li>
329 + <li><?php echo 'All editions: Full Screen preferences now remain consistent between Booking Calendar pages, including WordPress installations in subdirectories.'; ?></li>
330 + <li><?php echo 'All editions: Form Builder Select fields now keep Value different from label turned off after saving and continue synchronizing option values with their labels.'; ?></li>
331 + <li><?php echo 'Business Medium and higher: Prices Catalog editing keeps Changed indicators compact, and inspector actions retain readable icon spacing in left-to-right and right-to-left layouts.'; ?></li>
102 332 </ul>
103 - <img src="<?php echo $obj->asset_path; ?>10.1/wp_booking_calendar__search_availability_05.gif" style="margin:10px 0;width:98%;"/>
104 333 </div>
105 334 </div>
335 + </div>
336 + <?php
337 + $obj->expand_section_end( $section_param_arr );
338 +}
339 +
340 +/**
341 + * What's New section for Booking Calendar 11.6.
342 + *
343 + * @param object $obj Welcome-page renderer.
344 + *
345 + * @return void
346 + */
347 +function wpbc_welcome_section_11_6( $obj ) {
348 + $section_param_arr = array( 'version_num' => '11.6', 'show_expand' => true );
349 +
350 + $obj->expand_section_start( $section_param_arr );
351 +
352 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
353 + ?>
354 + <div class="wpbc_wn_container">
355 +
106 356 <div class="wpbc_wn_section">
107 - <div class="wpbc_wn_col">
357 + <h2><?php echo 'A New Booking Resources Catalog'; ?></h2>
358 +
359 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
360 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
361 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__booking_resources_catalog_placeholder.png' ) ); ?>" alt="<?php echo 'New Booking Resources catalog'; ?>" style="margin:10px 0;width:98%;" />
362 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This screenshot demonstrates some features available exclusively in the Pro versions (including price, capacity, ...)</div>
363 + </div>
364 +
365 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
108 366 <ul>
109 - <li><h3><?php echo wpbc_replace_to_strong_symbols( 'Search for Specific Time Slots' ); ?></h3><?php echo wpbc_replace_to_strong_symbols( '&bull; Now you can search for specific time slots on particular dates or even a range of dates. This is a fantastic **feature for appointment-based businesses**, allowing clients to **find available time slots for different service providers**. Imagine searching for an available hair stylist, doctor, or other service provider on a specific date and time. You can even set an approximate date range (+/- N days from the desired date) to find appointments within a specific time slot.' ); ?></li>
367 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Find and organize Booking Resources faster with **search, filtering, sorting, pagination, saved views, and customizable columns**.' ) ); ?></li>
368 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Choose the **Default, Compact, or Cards layout** while keeping the same Resource information and management tools.' ) ); ?></li>
369 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Use responsive, keyboard-friendly controls with improved mobile, RTL, wide-table, and shortened-text handling.' ) ); ?></li>
110 370 </ul>
111 371 </div>
112 - <div class="wpbc_wn_col">
113 - <img src="<?php echo $obj->asset_path; ?>10.1/wp_booking_calendar__search_availability_time_01.gif" style="margin:10px 0;width:98%;"/>
372 + </div>
373 +
374 + <div class="wpbc_wn_section">
375 + <h2><?php echo( 'A Native Seasons Catalog' ); ?></h2>
376 +
377 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
378 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
379 + <img
380 + src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__seasons_02.png' ) ); ?>"
381 + alt="<?php echo( 'Seasons catalog showing reusable date rules and their usage' ); ?>"
382 + style="margin:10px 0;width:98%;"
383 + />
114 384 </div>
115 - <div class="wpbc_wn_col">
385 +
386 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
116 387 <ul>
117 - <li><h3><?php echo wpbc_replace_to_strong_symbols( 'New Dark Theme' ); ?></h3><?php echo wpbc_replace_to_strong_symbols( '&bull; New **Dark Theme** for Search Form and Results! When you switch the "Color Theme" to "Dark" at WP Booking Calendar > Settings > General page in the "Form Options" section, the system will automatically update the colors to dark in both the Search Form and Search Results for a seamless fit with your website design.' ); ?></li>
388 + <li><?php echo( 'Business Medium and higher editions can search, filter, sort, and paginate Seasons in Default, Compact, or Cards layouts with customizable columns and site-local preferences.' ); ?></li>
389 + <li><?php echo( 'Create and edit Conditional or Specific-date Seasons in a native right-side inspector with guided controls, color selection, a live twelve-month preview, and the standard Booking Calendar datepicker.' ); ?></li>
390 + <li><?php echo( 'Select Seasons and review server-approved safe title changes inline or in bulk before applying them.' ); ?></li>
391 + <li><?php echo( 'Review single or bulk deletion impact, follow authorized links to affected configuration, and keep referenced Seasons protected without silently rewriting related settings.' ); ?></li>
392 + <li><?php echo( 'Open the reusable Seasons catalog from its dedicated Booking Calendar navigation group between Availability and Pricing; Season Availability remains under Availability, while legacy Season editors remain available through the rollback setting.' ); ?></li>
118 393 </ul>
119 394 </div>
120 - <div class="wpbc_wn_col">
121 - <img src="<?php echo $obj->asset_path; ?>10.1/wp-booking-calendar__search_availability_dark_01.png" style="margin:10px 0;width:98%;"/>
122 - </div>
123 395 </div>
124 396
125 397 <div class="wpbc_wn_section">
126 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Improvements in Search Availability' ); ?></h3>
127 - <div class="wpbc_wn_col">
398 + <h2><?php echo 'Richer Resource Profiles and Publishing'; ?></h2>
399 +
400 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
401 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
402 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__resource_profiles_and_publishing_placeholder.png' ) ); ?>" alt="<?php echo 'Booking Resource profile and publishing tools'; ?>" style="margin:10px 0;width:98%;" />
403 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This screenshot demonstrates some features available exclusively in the Pro versions (including price, ...)</div>
404 + </div>
405 +
406 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
128 407 <ul>
129 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Streamlined Date Selection! After selecting a date in the Check In field in the search availability form, the **Check Out calendar** now **opens automatically** for a smoother booking experience.' ); ?></li>
130 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced Search Interface! The Settings page now features an **updated search interface** with a streamlined help section, making it easier to find the shortcodes you need quickly and efficiently.' ); ?></li>
131 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **6 New Search Form Templates**! Now available at WP Booking Calendar > Settings > Search page, offering more customization options for your search forms.' ); ?></li>
132 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Discover **4 New Search Result Templates**, to suit your website\'s style and user preferences.' ); ?></li>
133 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Now, the search form and search results **support "Simple HTML tags"** for easier configuration of the search form structure. Example: Create a row with 2 columns using <code>&lt;r&gt; &lt;c&gt;..&lt;/c&gt; &lt;c&gt;..&lt;/c&gt; &lt;/r&gt;</code>.' ); ?></li>
134 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Integrate **search filter options directly into your search results layout**. If specific filters are set in the **Search Filter** section of the **Searchable Resource** page, such as <code>location = Spain</code>, you can now incorporate corresponding shortcodes like <code>[location]</code> into your Search Results Layout. Tailor your search results to match your defined criteria effortlessly.' ); ?></li>
408 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Add a recognizable **title, photo, and description** to each Booking Resource.' ) ); ?></li>
409 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Review booking, publishing, pricing, structure, ownership, and availability information without leaving the catalog.' ) ); ?></li>
410 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Free version users can edit and publish the included Booking Resource directly from the catalog.' ) ); ?></li>
135 411 </ul>
136 412 </div>
137 - <div class="wpbc_wn_col">
413 + </div>
414 +
415 + <div class="wpbc_wn_section">
416 + <h2><?php echo 'New Resource Catalog Layouts for Booking Pages'; ?></h2>
417 +
418 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
419 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
420 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__frontend_resource_catalog_placeholder_01.png' ) ); ?>" alt="<?php echo 'Responsive Booking Resource Catalog layouts'; ?>" style="margin:10px 0;width:98%;" />
421 + </div>
422 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
423 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
424 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__frontend_resource_catalog_placeholder_02.png' ) ); ?>" alt="<?php echo 'Responsive Booking Resource Catalog layouts'; ?>" style="margin:10px 0;width:98%;" />
425 + </div>
426 + <div style="text-align: center;font-style: italic;font-size: 0.9em; margin: 0 auto;">These screenshots demonstrates some features available exclusively in the Pro versions.</div>
427 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
138 428 <ul>
139 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **New Shortcodes for Search Forms**. Easily search for the **number of items to book**, **extend search dates** by a range, and **search for available times** using new shortcodes: <code>[search_quantity "1" "2" "3"]</code>, <code>[search_extend "2"]</code>, and <code>[search_time "Full Day@@" "10:00 - 14:00" "15:00 - 16:00"]</code>.' ); ?></li>
140 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Configure \'**Search Filter Options**\' shortcodes. Now you can **filter search results by various criteria and parameters**. Example shortcodes include filtering by amenity, maximum visitors, and location: <code>[selectbox amenity "Any@@" "Parking" "WiFi"]</code>, <code>[selectbox max_visitors "Any@@" "1" "2" "3"]</code>, and <code>[selectbox location "Any@@" "Spain" "France"]</code>.' ); ?></li>
141 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **New Search Results Shortcodes**. Customize your search results with a range of new shortcodes: <code>[search_time]</code>, <code>[search_time_check_in]</code>, <code>[search_time_check_out]</code>, <code>[search_result_title]</code>, <code>[search_result_info]</code>, <code>[search_result_image]</code>, <code>[search_result_image_url]</code>, <code>[search_result_url]</code>, <code>[search_result_button "Book Now"]</code>, <code>[resource_title]</code>, <code>[resource_id]</code>, <code>[resource_capacity]</code>, <code>[available_count]</code>, <code>[resource_cost]</code>, <code>[search_check_out_plus1day]</code>.' ); ?></li>
429 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Transform the **[booking_resource_selector]** shortcode into a visual, searchable **Resource Catalog** for your booking pages.' ) ); ?></li>
430 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Choose a responsive **Grid or List layout** that adapts to desktop, tablet, and mobile screens.' ) ); ?></li>
431 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Configure Resource images, descriptions, hierarchy, availability, and price summaries to help customers compare their options.' ) ); ?></li>
432 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Customers can search the catalog and select the right Resource before its native booking calendar and form open on the same page.' ) ); ?></li>
142 433 </ul>
143 434 </div>
435 + </div>
144 436
145 - </div>
437 + <div class="wpbc_wn_section">
438 + <h2><?php echo 'A More Flexible Services Catalog'; ?></h2>
146 439
147 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
440 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
441 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
442 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__services_catalog_placeholder.png' ) ); ?>" alt="<?php echo 'Services catalog layouts and editing tools'; ?>" style="margin:10px 0;width:98%;" />
443 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This screenshot demonstrates some features available exclusively in the Pro versions (including price, ...)</div>
444 + </div>
148 445
149 - <div class="wpbc_wn_section">
150 - <div class="wpbc_wn_col">
151 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Enhanced UI for Daily Costs Page' ); ?></h3>
446 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
152 447 <ul>
153 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; The Daily Costs page has been redesigned to provide users with a clearer and more intuitive interface. This update introduces standardized resource lists, action sections, labels, and enhanced search and sorting capabilities for booking resources by various parameters.' ); ?></li>
154 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Now, users can easily identify daily cost parameters such as "per 1 day" or "per 1 night" next to each booking resource. This feature is particularly useful in the MultiUser version, as different regular users may have different configurations for these parameters for their own booking resources (calendars).' ); ?></li>
448 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Manage Services in responsive **Default, Compact, or Cards layouts**, with search, Provider filtering, sorting, and customizable columns.' ) ); ?></li>
449 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Select Services, edit current server-approved fields inline or in reviewed bulk changes, or use the **right-side Service editor** without leaving the catalog.' ) ); ?></li>
450 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Review changes in the same clear **before-and-after cards** used by Booking Resources and Seasons before applying them.' ) ); ?></li>
451 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Permanently delete unreferenced Services through a reviewed impact and confirmation step; protected Services provide authorized links to affected Appointments or saved Appointment pages.' ) ); ?></li>
155 452 </ul>
156 453 </div>
157 - <div class="wpbc_wn_col">
158 - <img src="<?php echo $obj->asset_path; ?>10.1/wp_booking_calendar__daily_costs_ui_01.gif" style="margin:10px 0;width:98%;"/>
159 - </div>
160 454 </div>
161 455
162 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
456 + <div class="wpbc_wn_section">
457 + <h2><?php echo 'Faster and Safer Resource Management'; ?></h2>
163 458
164 - <div class="wpbc_wn_section">
165 - <div class="wpbc_wn_col">
166 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Updated Interface for Payment Setup Settings' ); ?></h3>
459 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
460 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
461 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__resource_management_placeholder.png' ) ); ?>" alt="<?php echo 'Booking Resource editing and review workflow'; ?>" style="margin:10px 0;width:98%;" />
462 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This screenshot demonstrates some features available exclusively in the Pro versions (including price, ...)</div>
463 + </div>
464 +
465 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
167 466 <ul>
168 - <li><?php echo wpbc_replace_to_strong_symbols( 'The Settings > Payment Setup page now features an updated, user-friendly interface. The payment gateways menu located in the left navigation panel, clearly showing enabled and disabled payment systems. The configuration UI for payment systems has been improved.' ); ?></li>
467 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Select rows, edit safe fields inline, or use the **right-side Resource editor** while staying in the catalog.' ) ); ?></li>
468 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Paid versions add guided single or batch creation and reviewed bulk changes for the fields available in each edition.' ) ); ?></li>
469 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Preview important changes in consistent **before-and-after cards** before applying them, with server-side permission, ownership, edition, and stale-review checks.' ) ); ?></li>
470 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Reviewed deletion warns about existing bookings, links authorized users to the affected records, and protects parent and child Resource relationships.' ) ); ?></li>
169 471 </ul>
170 472 </div>
171 - <div class="wpbc_wn_col">
172 - <img src="<?php echo $obj->section_img_url( '10.1/wp-booking-calendar__payment_setup_settings_01.png' ); ?>" style="margin-top:14px;" />
173 - </div>
174 473 </div>
175 474
176 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
475 + <div class="wpbc_wn_section">
476 + <h2><?php echo 'Hierarchy and Capacity Tools (Business Large and Higher Editions)'; ?></h2>
177 477
178 - <div class="wpbc_wn_section">
179 - <div class="wpbc_wn_col">
180 - <h3><?php echo wpbc_replace_to_strong_symbols( '**Other New Features**' ); ?></h3>
181 - <?php
182 - echo '<ul>'
183 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; **Pre-Check-in Date Hint Shortcode:** Introduced the <code>[pre_checkin_date_hint]</code> shortcode, which shows the date that is N days before the selected check-in date. You can select the number of days for the [pre_checkin_date_hint] shortcode at the WP Booking Calendar > Settings General page in "Form Options" section". (10.0.0.31) *(Business Medium/Large, MultiUser)*' ) . '</li>'
184 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Added the ability to **use attributes in "Simple HTML"** tags. Now you can use attributes like **style** and **class** in "Simple HTML tags" for greater customization. Example: <code>&lt;r class=\'my_css_class\'&gt; &lt;c style=\'align-self:last baseline;\'&gt;..&lt;/c&gt; &lt;/r&gt;</code>' ) . '</li>'
185 - . '</ul>';
186 - ?>
478 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
479 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
480 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__hierarchy_and_capacity_placeholder_02.png' ) ); ?>" alt="<?php echo 'Booking Resource hierarchy and capacity tools'; ?>" style="margin:10px 0;width:98%;" />
187 481 </div>
482 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
483 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
484 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__hierarchy_and_capacity_placeholder_03.png' ) ); ?>" alt="<?php echo 'Booking Resource hierarchy and capacity tools'; ?>" style="margin:10px 0;width:98%;" />
485 + </div>
486 +
487 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
488 + <ul>
489 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Manage parent and child Booking Resources in expandable groups that stay together while searching, sorting, and changing pages.' ) ); ?></li>
490 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Adjust capacity** by creating inherited child Resources or by reviewing which children become independent or are permanently deleted.' ) ); ?></li>
491 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Capacity now represents the parent calendar and its child Resource calendars instead of the Maximum visitors setting.' ) ); ?></li>
492 + </ul>
493 + </div>
188 494 </div>
495 + </div>
496 + <?php
497 + $obj->expand_section_end( $section_param_arr );
498 +}
189 499
190 - </div><?php
500 +/**
501 + * What's New section for Booking Calendar 11.5.
502 + *
503 + * @param object $obj Welcome-page renderer.
504 + *
505 + * @return void
506 + */
507 +function wpbc_welcome_section_11_5( $obj ) {
508 + $section_param_arr = array( 'version_num' => '11.5', 'show_expand' => !false );
509 + // Keep empty image slots out of the markup until final 11.5 screenshots are available.
510 + $image_urls = array(
511 + 'appointment_booking' => '',
512 + 'appointment_admin' => '',
513 + 'add_booking' => '',
514 + 'form_appearance' => '',
515 + 'compatibility' => '',
516 + );
191 517
192 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
193 - // -----------------------------------------------------------------------------------------------------------------
194 - // = M I X E D =
195 - // -----------------------------------------------------------------------------------------------------------------
518 + $obj->expand_section_start( $section_param_arr );
519 +
520 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
196 521 ?>
197 522 <div class="wpbc_wn_container">
198 - <div class="wpbc_wn_section">
199 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ); ?></h2>
200 - </div>
201 523
202 524 <div class="wpbc_wn_section">
203 - <div class="wpbc_wn_col">
204 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ); ?></h3>
205 - <ul>
206 - <?php // Pro ?>
207 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; By default, the "Aggregate only bookings" option is disabled in the shortcode configuration dialog. (10.0.0.6)' ); ?></li>
208 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Now, from the WP Booking Calendar > Resources page, you can easily simulate login to a regular user. The "Simulate login" button is located next to each booking resource belonging to "regular users" in the "Owner" section. (10.0.0.15) *(MultiUser)*' ); ?></li>
209 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Renamed the WP Booking Calendar > Settings > Payment Gateways page to **Payment Setup** page. *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
210 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Eliminated parameters "Title of Search Results" and "Nothing Found Message" from the search form shortcode. You can now configure this text at the WP Booking Calendar > Settings > Search page. (10.0.0.41)' ); ?></li>
211 - </ul>
525 + <h2><?php echo 'Services and the New Appointment Booking Flow'; ?></h2>
212 526
213 - <div style="clear:both;height:20px;"></div>
214 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Translations' ); ?></h3>
527 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
528 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__services_and_appointments_2.png' ) ); ?>" style="margin:10px 0;width:98%;" />
529 + </div>
530 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
215 531 <ul>
216 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Dutch Translation Update**. Translation has been updated, reaching 98% completion, courtesy of Han van de Graaf.' ); ?></li>
217 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Hungarian Translation Update**. Translation has been updated, reaching 99% completion, courtesy of VinczeI.' ); ?></li>
532 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW Services catalogue**: Create Services with a picture, description, duration, buffers, price, status, Booking Form, and compatible Providers.' ) ); ?></li>
533 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Clear Provider overview**: Search and sort Services, review assigned Providers and weekly availability, and open the relevant availability settings directly.' ) ); ?></li>
218 534 </ul>
535 + </div>
219 536
537 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
538 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/booking_calendar__appointment_flow_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
539 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This video demonstrates features available in the Business Small and higher editions, including multiple providers, payments, and booking costs.</div>
220 540 </div>
221 - <div class="wpbc_wn_col">
222 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Improvements in Free version' ); ?></h3>
541 +
542 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
223 543 <ul>
224 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Added support of new shortcodes of booking creation for emails on WP Booking Calendar > Settings > Emails page: [creation_date], [creation_year], [creation_month], [creation_day], [creation_hour], [creation_minutes], [creation_seconds] (10.0.0.34)' ); ?></li>
225 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Smart Days Selection during booking editing. The system now selects dates in the calendar after all dates are loaded. If multiple non-consecutive dates are selected but a different selection mode is defined later, the system sets Multiple Days selection mode to ensure correct selection. If Single Day selection mode is enabled but the booking has multiple dates, the system switches to Multiple Days selection mode during the edit. (10.0.0.50)' ); ?></li>
226 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; When adjusting the number of months in \'Setup Size & Structure,\' the overall \'Visible months\' count will automatically update in the Shortcode Configuration dialog. (10.0.0.4)' ); ?></li>
227 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Now, you can define to scroll through the calendar for a period of 1.5 years (18 months). (10.0.0.11)' ); ?></li>
228 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced parameter sanitization for improved security and stability. (10.0.0.12)' ); ?></li>
229 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced the view of submenu items on settings pages for improved navigation and usability.' ); ?></li>
544 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW [booking_appointment] shortcode**: Customers choose a Service and compatible Provider before the native calendar and Booking Form load on the same page with AJAX.' ) ); ?></li>
545 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; A new **Start Over** field in the Booking Form Builder lets customers restart the Appointment flow without reloading the page.' ) ); ?></li>
546 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; A new **Appointments and Services Flow** template and **Weekday Start Time** field provide an Appointment-ready Form Builder starting point.' ) ); ?></li>
547 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Reliable scheduling**: Service duration, buffers, and Provider-specific overrides are checked on the server before an Appointment is saved.' ) ); ?></li>
230 548 </ul>
231 549 </div>
232 550 </div>
233 551
234 552 <div class="wpbc_wn_section">
235 - <div class="wpbc_wn_col">
553 + <h2><?php echo 'Administration Modes and QuickStart'; ?></h2>
236 554
237 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Under Hood Changes' ); ?></h3>
555 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
556 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__booking_modes_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
557 + </div>
558 +
559 + <div class="wpbc_wn_col" style="flex: 1 1 100%;">
560 +
238 561 <ul>
239 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Introduced helper JavaScript for selecting calendar dates via keyboard (tab selection). Please note, additional CSS adjustments may be needed in specific calendars to display focus elements correctly. (10.0.0.19)' ); ?></li>
240 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; New JS event generated after creation of booking: \'wpbc_booking_created\'. To catch this event use code: jQuery( \'body\' ).on( \'wpbc_booking_created\', function( event, resource_id, params ) { ... } ); (10.0.0.30)' ); ?></li>
241 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Inline JavaScript variables needed for all calendars are now defined after loading the wpbc_all.js script. (10.0.0.43)' ); ?></li>
242 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Added an action hook that triggers when all booking data is loaded in the calendar: jQuery( \'body\' ).on( \'wpbc_calendar_ajx__loaded_data\', function( event, resource_id ) { ... } ); (10.0.0.44)' ); ?></li>
243 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Replaced the translation function apply_bk_filter( \'wpdev_check_for_active_language\', $text ) with wpbc_lang( $text ) function. (10.0.0.46)' ); ?></li>
244 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Added a new internal function wpbc_auto_select_dates_in_calendar() for automatic date selection. This function simulates clicks on the calendar and, based on check-in/out dates and various conditions for range day selection, it can automatically select or not select dates in the calendar. (10.0.0.47)' ); ?></li>
245 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Added a new internal function to automatically fill booking form fields from URL parameters. For example, \'?wpbc_auto_fill=visitors1^2~children1^1\' will auto-fill the specified fields. (10.0.0.47)' ); ?></li>
246 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Added the ability to auto-select dates in the calendar based on URL parameters. For example, ?wpbc_select_check_in=2024-05-16&wpbc_select_check_out=2024-05-19&wpbc_select_calendar_id=1 will automatically select the specified dates. (10.0.0.48)' ); ?></li>
247 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Removed most global JavaScript variables in the plugin and defined them under the _wpbc JS variable. Redefined the loading of JavaScript variables and some JS files.' ); ?></li>
248 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Pro Versions:**' ); ?></li>
249 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; By default, when saving a booking to the system, the plugin rechecks availability for specific dates. During this checking process, if you used the aggregate parameter, the system utilizes the "Aggregate only bookings" parameter value to prevent potential issues related to errors such as \'These dates and times in this calendar are already booked or unavailable. ... Booking cannot be saved on this date ...\' (10.0.0.7)' ); ?></li>
250 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Introduced a hook that executes upon the deletion of booking resources: do_action( \'wpbc_deleted_booking_resources\', $bulk_action_arr_id ); (10.0.0.35)' ); ?></li>
251 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Shortcode [bookinglooking] for help with search availability feature become deprecated and removed from Booking Calendar. *(Business Large, MultiUser)*' ); ?></li>
252 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Deprecated the following shortcodes in the Search Form: [search_visitors], [additional_search "3"], [search_category], [search_tag]' ); ?></li>
253 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Deprecated the following shortcodes in the Search Results: [booking_resource_title], [link_to_booking_resource "Book now"], [book_now_link], [num_available_resources], [booking_featured_image], [booking_info], [booking_resource_id], [standard_cost], [max_visitors]' ); ?></li>
562 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Choose **Classic**, **Appointments**, or **Rentals** to use familiar terminology and focused navigation without changing existing bookings, resources, availability, or page URLs.' ) ); ?></li>
563 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Mode selection is stored for the active Booking Calendar owner, including supported MultiUser owner contexts.' ) ); ?></li>
564 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Explicit **Appointment QuickStart** and **Rental QuickStart** actions can reuse or prepare the minimum booking page setup and remain safe to run again.' ) ); ?></li>
565 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The **mode-aware Setup Wizard** follows the selected booking profile through the relevant Service, Provider, form, availability, appearance, publish, and test-page steps.' ) ); ?></li>
254 566 </ul>
255 -
256 567 </div>
257 568 </div>
258 569
259 570 <div class="wpbc_wn_section">
260 - <div class="wpbc_wn_col">
261 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Bug Fixes' ); ?></h3>
571 + <h2><?php echo 'Resource-first Booking Flow'; ?> ( Pro Versions)</h2>
572 +
573 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
574 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__resources_selector_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
575 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This video demonstrates features available in the Pro versions, including payments, and booking costs in BS+ versions.</div>
576 + </div>
577 +
578 + <div class="wpbc_wn_col" style="flex: 1 1 100%;">
262 579 <ul>
263 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Correctly display a white background for the header of admin pages on small resolutions where the top menu shifts to the second row. (10.0.0.13)' ); ?></li>
264 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; If you set a number of months to scroll from today on the WP Booking Calendar > Settings General page, the system will show the last scrolled month\'s exact date as available, based on today\'s date. (10.0.0.26)' ); ?></li>
265 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Addressed an issue with exporting booking links to Google Calendar when the start time is 00:00 and the end time is a specific time. In this scenario, the system incorrectly set the date one day lower than it should have. (10.0.0.28)' ); ?></li>
266 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Improved top menu border and background colors for a sleeker look. This update ensures a more cohesive appearance, especially when other plugins or themes display warning messages at the top of the page. The background gradient of the top menu will now appear more organic and clear. (10.0.0.32)' ); ?></li>
267 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Display the green bar correctly based on the WordPress timezone rather than GMT time on the Calendar Overview page in Day view mode. (10.0.0.40)' ); ?></li>
268 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Compatibility with jQuery 3.0 replaced deprecated .unbind() to .off() and .andSelf() to .addBack() methods. (10.0.0.45)' ); ?></li>
269 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved an issue where the end time in the booking form was set to 24:00 (midnight), causing a booking date issue like "30 Nov -0001." The system now adjusts the end time to 23:59 if it is set to 24:00. (10.0.0.49)' ); ?></li>
270 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved an issue where the rangetime field was incorrectly selected during booking editing in the free version when using the AM/PM time format. (10.0.0.52)' ); ?></li>
271 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Pro Versions:**' ); ?></li>
272 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Updated styles for the message "There is a new version of Booking Calendar available" in the WordPress Plugins menu. (10.0.0.20)' ); ?></li>
273 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved the error message: \'These dates and times in this calendar are already booked or unavailable...\' that appeared when using a custom booking form with time slots different from the standard booking form. (10.0.0.10) *(Business Large, MultiUser)*' ); ?></li>
274 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of incorrectly displaying status for change-over dates when there were check-in/out dates with pending and approved statuses on the same date in booking resources with specific capacities. (10.0.0.2) *(Business Large, MultiUser)*' ); ?></li>
275 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of incorrectly parsing "simple HTML tags" in custom booking forms on the Booking Listing page. (10.0.0.3) *(Business Medium/Large, MultiUser)*' ); ?></li>
276 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Corrected the display of booking resource ID = 1 in WordPress Blocks when configuring the booking resource differently from the default resource. (10.0.0.16) *(Personal, Business Small/Medium/Large, MultiUser)*' ); ?></li>
277 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved PHP Fatal error that occurred in PHP 8.1 or 8.2 when using complex arithmetic operations at the WP Booking Calendar > Prices > Form Options Costs page: Uncaught TypeError: Unsupported operand types: null + string in ../wpbc-calc-string.php on line 68. (10.0.0.23) *(Business Medium/Large, MultiUser)*' ); ?></li>
278 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Addressed the warning message about an undefined array key "cost" on line 624 of the page-resources.php file. *(Personal)*' ); ?></li>
279 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of the "bank" selection table not displaying correctly for the iDeal payment system on mobile devices in the payment form. (10.0.0.27) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
280 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of the search field for Seasons being hidden on the WP Booking Calendar > Prices > Seasons page. (10.0.0.29) *(Business Medium/Large, MultiUser)*' ); ?></li>
281 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of the search field for Coupons being hidden on the WP Booking Calendar > Prices > Discount Coupons page. (10.0.0.29) *(Business Large, MultiUser)*' ); ?></li>
282 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of the search field for Users being hidden on the WP Booking Calendar > Settings > Users page. (10.0.0.29) *(MultiUser)*' ); ?></li>
283 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Improved the styles for date descriptions in season filters on the WP Booking Calendar > Availability > Seasons page. (10.0.0.33) *(Business Medium/Large, MultiUser)*' ); ?></li>
284 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Fixed the selection filter for [visitors] in the old legacy search engine to accurately display search results. (10.0.0.36) *(Business Large, MultiUser)*' ); ?></li>
285 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Corrected the email notification sent when a booking was duplicated at the WP Booking Calendar > Add Booking page. It now sends a New booking email instead of a Modification email. (10.0.0.42)' ); ?></li>
580 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The new **[booking_resource_selector] shortcode** lets visitors choose a permitted Booking Resource before its native calendar and Booking Form load on the same page.' ) ); ?></li>
581 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Restrict, preselect, or optionally auto-open Resources from the shortcode popup or WordPress block, while retaining Start Over and the established availability, pricing, payment, and booking engines.' ) ); ?></li>
286 582 </ul>
287 583 </div>
288 584 </div>
289 585
290 - </div><?php
291 - // </editor-fold>
586 + <div class="wpbc_wn_section" style="gap:1%">
587 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
588 + <h3><?php echo 'Appointment Administration'; ?></h3>
292 589
590 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding:5px;">
591 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__appointment_administration_3.png' ) ); ?>" style="margin:10px 0;width:98%;" />
592 + </div>
293 593
294 - $obj->expand_section_end( $section_param_arr );
295 -}
594 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
595 + <?php if ( ! empty( $image_urls['appointment_admin'] ) ) { ?>
596 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
597 + <img src="<?php echo esc_url( $image_urls['appointment_admin'] ); ?>" alt="<?php echo 'Appointment administration'; ?>" style="margin:10px 0;width:98%;" />
598 + <?php } ?>
599 + </div>
296 600
601 + <ul>
602 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW Add Appointment page**: Create an Appointment through the same Service-first flow from a focused admin canvas with contextual inspector panels.' ) ); ?></li>
603 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Filter the Booking Listing by **Services and Providers** using reusable searchable multi-select controls.' ) ); ?></li>
604 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Appointment details, Service and Provider snapshots, duration, buffers, and blocked time are available in administration details and supported outputs.' ) ); ?></li>
605 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Providers remain existing **Booking Resources**, preserving established availability, permissions, and ownership behavior.' ) ); ?></li>
606 + </ul>
607 + </div>
297 608
298 -function wpbc_welcome_section_10_0( $obj ){
609 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
610 + <h3><?php echo 'Redesigned Add Booking Page'; ?></h3>
299 611
300 - $section_param_arr = array( 'version_num' => '10.0', 'show_expand' => true );
612 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding:5px;">
613 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__add_booking_page_3.png' ) ); ?>" style="margin:10px 0;width:98%;" />
614 + </div>
301 615
302 - $obj->expand_section_start( $section_param_arr );
616 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
617 + <?php if ( ! empty( $image_urls['add_booking'] ) ) { ?>
618 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
619 + <img src="<?php echo esc_url( $image_urls['add_booking'] ); ?>" alt="<?php echo 'Redesigned Add Booking administration page'; ?>" style="margin:10px 0;width:98%;" />
620 + <?php } ?>
621 + </div>
303 622
623 + <ul>
624 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Focused booking canvas**: The standard Booking Form remains in the main workspace while setup and actions move into a consistent right-side inspector.' ) ); ?></li>
625 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Important actions stay visible**: Add Booking and Auto-fill Form are placed together with a concise summary of the selected Booking Resource, Booking Form, email notifications, and past-date behavior.' ) ); ?></li>
626 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Temporary Date selection override**: Administrators can switch between Single day, Multiple days, and Range days immediately without reloading the page or changing saved front-end settings.' ) ); ?></li>
627 + </ul>
304 628
305 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2023-11-06 comment this
629 + </div>
630 + </div>
306 631
632 + <div class="wpbc_wn_section">
307 633
308 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
309 - // -----------------------------------------------------------------------------------------------------------------
310 - // = F R E E =
311 - // -----------------------------------------------------------------------------------------------------------------
312 - ?><div class="wpbc_wn_container">
313 - <div class="wpbc_wn_section">
314 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Explore Simplified Integration and Enhanced Management' ); ?></h2>
315 - <div class="wpbc_wn_col">
316 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Easy Shortcode Integration' ); ?></h3>
634 + <h2><?php echo 'Consistent Form Styles and Accent Colors'; ?></h2>
635 +
636 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
637 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__theme_and_accent_colors_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
638 + </div>
639 +
640 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
641 + <?php if ( ! empty( $image_urls['form_appearance'] ) ) { ?>
642 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
643 + <img src="<?php echo esc_url( $image_urls['form_appearance'] ); ?>" alt="<?php echo 'Form Styles and accent colors'; ?>" style="margin:10px 0;width:98%;" />
644 + <?php } ?>
645 + </div>
646 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
317 647 <ul>
318 - <li><?php echo wpbc_replace_to_strong_symbols( 'Discover the simplicity of integrating Booking Calendar shortcodes into your pages. Our updated UI for the configuration popup dialog simplifies the process of inserting booking forms, availability calendars, and other Booking Calendar shortcodes. Configuring all parameters is now super easy with our new structured wizard-style configuration dialog. Add the Booking Calendar to your page by using Booking Calendar Blocks in the WP Block Editor or by clicking on the Booking Calendar icon in the WP Classic Editor.' ); ?></li>
648 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Choose an optional **Custom accent color** for primary buttons, secondary-button hover borders, focused fields, selected choices, navigation, and compatible time slots.' ) ); ?></li>
649 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Use **Apply accent to form elements** to copy the accent into supported editable components, with global time-picker display and style controls available in Time field inspectors.' ) ); ?></li>
650 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The new **Automatic - Match Booking Form** time-slot style follows the selected Form Style while existing time-picker skins keep their own colors.' ) ); ?></li>
651 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Custom button controls and unified primary, secondary, submit, and wizard styles provide consistent dimensions, borders, hover behavior, dark-theme colors, and accessible keyboard focus.' ) ); ?></li>
319 652 </ul>
320 653 </div>
321 - <div class="wpbc_wn_col">
322 - <img src="<?php echo $obj->section_img_url( '10.0/wp_booking_calendar_insert_shortcode_01.png' ); ?>" style="margin-top:55px" />
323 - </div>
654 +
324 655 </div>
325 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
326 - </div>
327 - <?php
328 656
329 - ?><div class="wpbc_wn_container">
330 657 <div class="wpbc_wn_section">
331 - <div class="wpbc_wn_col">
332 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Unavailable Dates legend item' ); ?></h3>
658 + <div class="wpbc_wn_col" style="flex: 1 1 100%;">
659 + <h3><?php echo 'Compatibility and Extensibility'; ?></h3>
660 +
661 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
662 + <?php if ( ! empty( $image_urls['compatibility'] ) ) { ?>
663 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
664 + <img src="<?php echo esc_url( $image_urls['compatibility'] ); ?>" alt="<?php echo 'Booking Calendar compatibility and extensibility'; ?>" style="margin:10px 0;width:98%;" />
665 + <?php } ?>
666 + </div>
667 +
333 668 <ul>
334 - <li><?php echo wpbc_replace_to_strong_symbols( 'Easily configure **Unavailable Dates legend item** under the calendar at WP Booking Calendar > Settings General page in the "Calendar" section.' ); ?></li>
669 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Existing **Booking Resources, availability, Booking Forms, pricing, payments, and bookings remain authoritative**; the Appointment experience builds on them instead of replacing them.' ) ); ?></li>
670 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Appointment information is included in supported confirmations, emails, Booking Listing details, print views, and CSV exports.' ) ); ?></li>
671 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Safer customer access**: Public Timeline links are scoped to the exact authorized booking and Resource; Personal and higher editions use one-time email verification for customer booking lists.' ) ); ?></li>
672 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; New filters and hooks allow commercial editions and extensions to adapt capabilities, Service and Provider catalogues, and Appointment form routing.' ) ); ?></li>
335 673 </ul>
336 674 </div>
337 - <div class="wpbc_wn_col">
338 - <img src="<?php echo $obj->section_img_url( '10.0/wp_booking_calendar_unavailable_legend_01.png' ); ?>" style="margin-top:0px" />
339 - </div>
340 675 </div>
341 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
342 676 </div>
343 677 <?php
678 + $obj->expand_section_end( $section_param_arr );
679 +}
344 680
345 - // </editor-fold>
681 +/**
682 + * What's New section for Booking Calendar 11.4
683 + *
684 + * @param object $obj
685 + *
686 + * @return void
687 + */
688 +function wpbc_welcome_section_11_4( $obj ) {
346 689
690 + $section_param_arr = array( 'version_num' => '11.4', 'show_expand' => true );
347 691
348 - // -----------------------------------------------------------------------------------------------------------------
349 - // = P A I D =
350 - // -----------------------------------------------------------------------------------------------------------------
351 - ?><div class="wpbc_wn_container">
692 + $obj->expand_section_start( $section_param_arr );
693 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
694 + ?>
695 + <div class="wpbc_wn_container">
696 +
352 697 <div class="wpbc_wn_section">
353 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ); ?></h2>
354 - </div>
698 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Global Booking Form Styles' ) ); ?></h2>
355 699
356 - <div class="wpbc_wn_section">
357 - <div class="wpbc_wn_col">
358 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Discover an enhanced user interface for the Resources page' ); ?></h3>
359 - <?php
360 - echo '<ul>'
361 - . '<li>' . wpbc_replace_to_strong_symbols( '**New** **UI Design of Resource Page**. Easily toggle between table header tabs to view specific information, such as the shortcode for embedding into pages, costs, default form, or parent/child relation for defining booking resource capacity. The interface is now clearer and more straightforward for a seamless experience *(Personal, Business Small/Medium/Large, MultiUser)*.' ) . '</li>'
362 - . '</ul>';
363 - ?>
364 - <img src="<?php echo $obj->asset_path; ?>10.0/wp_booking_calendar_resources_page_03.gif" />
365 - <?php
366 - echo '<ul>'
367 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Added **search booking resources** field to Options toolbar for easy searching by ID or Title keywords (9.9.0.11) *(Personal, Business Small/Medium/Large, MultiUser)*.' ) . '</li>'
368 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; You now have the ability to **save the number of booking resources per page** directly from the Booking > Resources page (at pagination section). (9.9.0.22) *(Personal, Business Small/Medium/Large, MultiUser)*' ) . '</li>'
369 - . '</ul>';
370 - ?>
700 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
701 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
702 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__booking_form_styles.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
371 703 </div>
704 +
705 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
706 + <ul>
707 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added global **Booking Form Styles** with Light and Dark bordered, borderless, and soft-background presets, plus a fully configurable Custom style.' ) ); ?></li>
708 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Complete appearance controls**: Customize form backgrounds, borders, spacing, text, fields, focus states, checkbox and radio controls, and buttons.' ) ); ?></li>
709 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Consistent live previews**: Select and preview the same global Form Style in **Settings > Appearance / Theme** and the **Booking Form Builder**.' ) ); ?></li>
710 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Unified front-end design**: Form styles now apply consistently across booking forms and supported payment buttons while preserving PayPal branding.' ) ); ?></li>
711 + </ul>
712 + </div>
372 713 </div>
373 714
374 715 <div class="wpbc_wn_section">
375 - <div class="wpbc_wn_col">
376 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Explore the super ease of configuring "Conditional Days Selection"' ); ?></h3>
377 - <?php
378 - echo '<ul>'
379 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Set the **number of days** for selection based **on a specific weekday**.' ) . '</li>'
380 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Determine the **number of days** for selection **in a specific season**.' ) . '</li>'
381 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Define the **number of days** for selection **starting from a specific date**.' ) . '</li>'
382 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Choose **weekdays as start days** for selection **during a specific season**.' ) . '</li>'
383 - . '<li>' . wpbc_replace_to_strong_symbols( '*(Business Medium/Large, MultiUser)*' ) . '</li>'
384 - . '</ul>';
385 - ?>
386 - <img src="<?php echo $obj->asset_path; ?>10.0/wp_booking_calendar_days_selection_04_2000px.gif" />
716 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Two-Click Date Range Selection' ) ); ?></h2>
717 +
718 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
719 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
720 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__date_range_selection.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
387 721 </div>
722 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
723 + <ul>
724 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added two-click date-range selection in **Booking Calendar Free and higher editions**, allowing visitors to select the first and last booking dates.' ) ); ?></li>
725 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Clear visual selection**: Available dates and the prospective date range are highlighted while visitors move through the calendar.' ) ); ?></li>
726 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better visitor guidance**: Added clearer instructions for completing a range and more useful feedback when it contains unavailable dates.' ) ); ?></li>
727 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Faster full-day setup**: Two-click range selection is now the default when Full Day Booking mode is activated in the Setup Wizard.' ) ); ?></li>
728 + </ul>
729 + </div>
388 730 </div>
389 731
390 - <div class="wpbc_wn_section">
391 - <div class="wpbc_wn_col">
392 - <h3><?php echo wpbc_replace_to_strong_symbols( '**New shortcode** for **displaying taxes or additional fees based on the total booking cost**.' ); ?></h3>
393 - <?php
394 - echo '<ul>'
395 - . '<li>' . wpbc_replace_to_strong_symbols( 'This **[total_cost]** shortcode is used for displaying additional cost hints without affecting cost calculations. Since the total cost has already been calculated at this stage.' ) . ' '
396 - . wpbc_replace_to_strong_symbols( 'For example, if you want to **show the tax cost as 20% inclusive part of the total booking cost**, set up your booking form fields like this: ' ) //. '</li>'
397 - . '<code>&lt;div style="display:none;"&gt; [checkbox tax_fee default:on ""]&lt;/div&gt; Tax: [tax_fee_hint]</code></li>'
398 - //. '<li>' . wpbc_replace_to_strong_symbols( 'The first shortcode, [checkbox tax_fee default:on ""], is crucial for cost calculation, while the second shortcode, [tax_fee_hint], reveals the cost hint.' ) . '</li>'
399 - . '<li>' . wpbc_replace_to_strong_symbols( 'Now, define the additional cost for tax_fee at WP Booking Calendar > Prices > Form Options Costs page: ' ) . '<code>tax_fee = ( [total_cost] * 0.2 )</code></li>'
400 - . '<li>' . wpbc_replace_to_strong_symbols( ' *(Business Medium/Large, MultiUser)*' ) . '</li>'
401 - . '</ul>';
402 - ?>
732 + <div class="wpbc_wn_section" style="gap:1%">
733 +
734 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
735 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Centralized Form Messages' ) ); ?></h2>
736 +
737 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
738 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
739 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__form_messages.png' ) ); ?>" style="margin:10px 0;width:98%;" />
740 + </div>
741 + <ul>
742 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a dedicated **Form Messages** settings page for date selection notices, validation errors, submission messages, and other visitor-facing text.' ) ); ?></li>
743 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Multilingual messages**: Customize messages with **[lang=LOCALE]** language shortcodes while keeping translated plugin defaults.' ) ); ?></li>
744 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Simpler settings workflow**: Edit all message groups on one page, use quick section navigation, restore defaults, and save with AJAX notifications.' ) ); ?></li>
745 + </ul>
403 746 </div>
404 - </div>
405 747
406 - <div class="wpbc_wn_section">
407 - <div class="wpbc_wn_col">
408 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Track Changes: **Booking Edit Notification**' ); ?></h3>
409 - <?php
410 - echo '<ul>'
411 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Whenever a booking is edited, a note stating **\'The booking has been edited\'** will be generated for the booking. This note also contains the URL of the page where the user made the modifications. With this feature, you gain control over tracking changes to booking details.' ) . '</li>'
412 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Now, booking notes such as "Imported from Google Calendar," "Payment section displayed," "Total cost manually entered," "Automatically calculated cost," etc., will be **saved only if the "Logging actions for booking" option is activated** in the WP Booking Calendar > Settings General page in the "Admin Panel" section.' ) . '</li>'
413 - . '</ul>';
414 - ?>
748 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
749 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Streamlined Form Builder Workflow' ) ); ?></h2>
750 +
751 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
752 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
753 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__form_builder_workflow.png' ) ); ?>" style="margin:10px 0;width:98%;" />
754 + </div>
755 + <ul>
756 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Modernized form configuration**: Removed legacy Booking Form settings pages and routed form configuration to the **Booking Form Builder**.' ) ); ?></li>
757 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Safe legacy migration**: Existing Simple and Advanced legacy forms are imported into the Booking Form Builder during updates.' ) ); ?></li>
758 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Setup Wizard improvement**: Added **Save and Continue** and limited visual highlighting to the settings relevant to the current setup step.' ) ); ?></li>
759 + </ul>
415 760 </div>
416 761 </div>
417 762
763 + </div>
764 + <?php
418 765
419 - </div><?php
766 + $obj->expand_section_end( $section_param_arr );
767 +}
420 768
769 +/**
770 + * What's New section for Booking Calendar 11.3
771 + *
772 + * @param object $obj
773 + *
774 + * @return void
775 + */
776 +function wpbc_welcome_section_11_3( $obj ) {
421 777
778 + $section_param_arr = array( 'version_num' => '11.3', 'show_expand' => true );
422 779
423 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
424 - // -----------------------------------------------------------------------------------------------------------------
425 - // = M I X E D =
426 - // -----------------------------------------------------------------------------------------------------------------
427 - ?><hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
780 + $obj->expand_section_start( $section_param_arr );
781 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
782 + ?>
428 783 <div class="wpbc_wn_container">
784 +
429 785 <div class="wpbc_wn_section">
430 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ); ?></h2>
786 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Calendar Settings Page' ) ); ?></h2>
787 +
788 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
789 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
790 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.3/booking_calendar__settings_calendar_live_preview.png' ) ); ?>" style="margin:10px 0;width:98%;" />
791 + </div>
792 +
793 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
794 + <ul>
795 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a dedicated **Settings > Calendar** page with a live calendar preview and right-side configuration panels.' ) ); ?></li>
796 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Days selection preview**: Configure single day, multiple days, range selection, start weekdays, and related selection rules while immediately seeing how the calendar behaves.' ) ); ?></li>
797 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Changeover settings**: Configure check-in/check-out changeover days, diagonal or vertical markings, recurrent times, and changeover exceptions from the same visual interface.' ) ); ?></li>
798 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Calendar legend and tooltips**: Show or hide the legend, edit legend item titles, and configure date tooltip content with instant preview updates.' ) ); ?></li>
799 + </ul>
800 + </div>
431 801 </div>
432 802
433 803 <div class="wpbc_wn_section">
434 - <div class="wpbc_wn_col">
435 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ); ?></h3>
436 - <ul>
804 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Appearance / Theme Settings Page' ) ); ?></h2>
437 805
438 - <?php // Pro ?>
439 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Sage/Opayo gateway becoming a payment product under the Elavon brand. Update name of payment gateway from SagePay to **Opayo - Elavon**. For more information, visit: https://www.elavon.co.uk/resource-center/news-and-insights/opayo-migration-faqs.html (9.9.0.34) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
440 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced **Booking Management** - When editing or duplicating a booking in the admin panel, you will now be redirected to the Booking Listing page, where the specific booking will be displayed. (9.9.0.3) (9.9.0.38) *(Personal, Business Small/Medium/Large, MultiUser)*' ); ?></li>
441 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced **Shortcode Functionality** - Resolve the "403 permission error" issue encountered when modifying booking forms on the WP Booking Calendar > Settings > Booking Form page by utilizing the **new shortcode [selectbox name "Option 1" "Option 2"]** instead of [select name "Option 1" "Option 2"]. This update addresses the problem faced on certain Apache servers with ModSecurity firewall, which affects specific POST requests when saving booking form configurations. *(Personal, Business Small/Medium/Large, MultiUser)*' ); ?></li>
442 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced **Deposit Management** - Now, when a booking is made in the admin panel at WP Booking Calendar > Add booking page, the deposit amount in the cost field and notes section, as well as the total cost for the booking, will be updated accordingly. This feature requires displaying payment forms at the Booking > Add booking page in such cases. (9.9.0.21) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
443 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced **Import Functionality** - You can now utilize the option \'Trash / delete all imported bookings before new import\' in situations where imports are initiated via the Google Calendar API instead of .ics feeds. This feature provides greater control over managing imported bookings and ensures a smoother import process. Please note that this feature requires the installation of the **Booking Manager** plugin. (9.9.0.25)' ); ?></li>
444 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced **Payment Confirmation** - You now have the ability to **use the [booking_confirm] shortcode on the "Successful payment" page**, where users are redirected after making a payment via the Stripe or PayPal payment system. This allows you to configure the page to display a message such as \'Your payment for the booking has been successfully received. [booking_confirm]\', providing users with confirmation of their payment along with booking details. (9.9.0.37) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
806 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
807 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
808 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.3/booking_calendar__settings_theme_live_preview.png' ) ); ?>" style="margin:10px 0;width:98%;" />
809 + </div>
445 810
811 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
812 + <ul>
813 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a dedicated **Settings > Appearance / Theme** page for configuring the calendar skin and booking form visual style.' ) ); ?></li>
814 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Real booking form preview**: Preview the real calendar and booking form using selected resources, month count, custom forms, and preview modes.' ) ); ?></li>
815 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Theme controls**: Switch between light and dark booking form themes, choose calendar skins, configure time picker appearance, and review the result before saving.' ) ); ?></li>
816 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Cleaner settings experience**: Legacy Appearance / Color Theme settings were replaced with a clearer visual workflow.' ) ); ?></li>
446 817 </ul>
447 818 </div>
448 - <div class="wpbc_wn_col">
449 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Improvements in Free version' ); ?></h3>
819 + </div>
820 +
821 + <div class="wpbc_wn_section" style="gap:1%">
822 +
823 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
824 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Setup Wizard Improvements' ) ); ?></h2>
825 +
826 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
827 +<!-- <img src="--><?php //echo esc_attr( $obj->section_img_url( '11.3/booking_calendar__setup_wizard_calendar_flow.png' ) ); ?><!--" style="margin:10px 0;width:98%;" />-->
828 +
450 829 <ul>
451 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Ability to dismiss the booking statistic section at Booking > Settings General page in "Info / News" for improved admin panel loading speed. (9.9.0.8).' ); ?></li>
452 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced **Performance** - To improve the speed of page loading in the admin panel, statistic functions will now run only on the Dashboard and Booking Calendar settings pages. This optimization ensures a smoother user experience by focusing resource-intensive tasks only where necessary. (9.9.0.40)' ); ?></li>
453 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Prevent showing real preview in Elementor to reduce potential conflicts; instead, show \'WP Booking Calendar Shortcode block\' (9.9.0.39).' ); ?></li>
454 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Prevent execution of Booking Calendar shortcodes while editing posts/pages, reducing potential conflicts (9.9.0.39).' ); ?></li>
830 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Setup Wizard steps now open the new Calendar and Appearance / Theme settings pages instead of older settings screens.' ) ); ?></li>
831 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Smarter changeover setup**: Changeover workflows now include a dedicated Changeover Days step and continue through Date Availability, Color Theme, Publish, and Booking Listing.' ) ); ?></li>
832 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better Setup Bar positioning**: The floating Setup Bar moves to a better default top position on visual settings pages, while preserving any user-dragged position.' ) ); ?></li>
455 833 </ul>
834 + </div>
456 835
457 - <div style="clear:both;height:20px;"></div>
458 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Under Hood Changes' ); ?></h3>
459 - <ul>
460 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Customize showing booked time slots as inactive slots with a red background after selecting specific dates. Configure this in the ../{Booking Calendar Folder}/js/wpbc_time-selector.js file by searching //FixIn: 9.9.0.2 (9.9.0.2).' ); ?></li>
461 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Update the URLs for send transactions for Opayo - Elavon (former SagePay) to an Elavon domain on 31st March 2024. For more details, please refer to the following link: https://developer.elavon.com/products/opayo-forms/v1/test-and-live-urls-4633 (9.9.0.34) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
462 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Option to **Hide Payment Form After Visitor Edits Own Booking** - You now have the ability to define not to show the payment form after a visitor edits their own booking. This can be achieved by using the shortcode **[visitorbookingediturl]&is_show_payment_form=Off** in the New (visitor) email template at the WP Booking Calendar > Settings > Emails page. (9.9.0.35) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
463 - </ul>
836 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
837 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Resources and Admin Workflow' ) ); ?></h2>
464 838
465 - <div style="clear:both;height:20px;"></div>
466 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Translations' ); ?></h3>
467 - <ul>
468 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Hungarian Translation Update**. Translation has been updated, reaching 96% completion, courtesy of VinczeI.' ); ?></li>
469 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **German Translation Update**. Translation has been updated, reaching 96% completion, courtesy of Wibias.' ); ?></li>
470 - </ul>
839 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
840 +<!-- <img src="--><?php //echo esc_attr( $obj->section_img_url( '11.3/booking_calendar__resources_capacity_rules.png' ) ); ?><!--" style="margin:10px 0;width:98%;" />-->
471 841
472 - </div>
473 - </div>
474 - <div class="wpbc_wn_section">
475 - <div class="wpbc_wn_col">
476 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Bug Fixes' ); ?></h3>
477 842 <ul>
478 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved possible PHP 8 incompatibility issue (9.9.0.4).' ); ?></li>
479 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved issue of showing top messages (9.9.0.10).' ); ?></li>
480 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Corrected the issue of incorrectly showing today\'s date as an unavailable date in the calendar on servers with a timezone different from UTC, especially in American timezones (9.9.0.17).' ); ?></li>
481 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Addressed the issue of incorrectly showing bookings in Calendar Overview and Timeline when the timezone was incorrectly defined by themes (in functions.php file) or other plugins via incorrectly defined the timezone via this PHP functions: like date_default_timezone_set(\'America/Chicago\'); Even it is not correct way of defining timezone, relative to https://make.wordpress.org/core/2019/09/23/date-time-improvements-wp-5-3/ . Now plugin correctly resolve this issue. (9.9.0.18).' ); ?></li>
482 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Re-created the "Thank you" confirmation page (such as https://server.com/wpbc-booking-received/) if the confirmation booking page was previously defined as follow: https://server.com/thank-you/ (9.9.0.27).' ); ?></li>
483 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved fatal error: Uncaught Error: Cannot access offset of type string on string in ../wpbc-class-timeline_v2.php on line 3100 (9.9.0.30).' ); ?></li>
484 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Search Availability** Functionality Issue - An issue has been resolved in the Search Availability functionality. Previously, it was not possible to find pages with booking form shortcodes when the booking resource was defined using the \'resource_id\' parameter instead of \'type\'. This fix ensures that the search functionality now works as expected, allowing users to locate pages with booking forms accurately. (9.9.0.26) *(Business Large, MultiUser)*' ); ?></li>
485 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Correct Sorting Order for Booking Resources** - An issue has been addressed where the sorting order for booking resources in select-boxes was not defined correctly during the change of booking resource for a specific booking. This fix ensures that booking resources are displayed in the correct order. (9.9.0.23) *(Personal, Business Small/Medium/Large, MultiUser)*' ); ?></li>
486 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Correction of Start Day Definition** - An issue has been **resolved where Sunday was incorrectly defined as the start day for selection** in specific seasons when using conditions in the shortcode. For example, when using a shortcode like [booking resource_id=1 options=\'{start-day condition="season" for="myHighSeason" value="0"},{select-day condition="season" for="myHighSeason" value="8,15,22,29"}\'], Sunday was inaccurately identified as the start day. This fix ensures that the start day for selection in specific seasons is correctly determined. (9.9.0.9) *(Business Medium/Large, MultiUser)*' ); ?></li>
487 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Corrected Saving of Booking Dates** - An issue has been resolved where booking dates were incorrectly saved if the option "Set check out date as available" was activated at the WP Booking Calendar > Settings General page in the "Calendar" section. (9.9.0.19) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
488 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Corrected Redirect Issue for Failed Payments** - An issue has been addressed where users were incorrectly redirected to the home page instead of the failed URL when **payments failed via iDeal (Buckaroo)**. (9.9.0.24) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
489 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved an issue causing a possible PHP Fatal error has been resolved. This error, specifically the Uncaught TypeError: Unsupported operand types: null + string, occurred in the wpbc-calc-string.php file when non-standard shortcodes with arithmetic operations were used on the WP Booking Calendar > Prices > Form Options Costs page. (9.9.0.28) *(Business Medium/Large, MultiUser)*' ); ?></li>
490 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Corrected Minimum Date Selection Issue** - An issue has been addressed where the minimum number of dates in the calendar was incorrectly selected if a user clicked twice on the same date, and the system had a minimum number defined higher than 1 day. (9.9.0.29) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
491 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Corrected End Time Selection Issue** - An issue has been resolved where, if the option "Use selected times for each booking date" was deactivated, the system incorrectly blocked end times when a user selected multiple dates. For example, if the start time was booked from 00:00 to 15:00, the system would block the end time until 15:00, even if the end date was fully available. (9.9.0.31) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
492 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Corrected Display Issue with Check-In/Out Dates** - An issue has been resolved where the check-in/out dates (triangles) were incorrectly shown as fully available dates in booking resources with specific capacity. This occurred when one of the child booking resources had a change-over dates situation rather than being fully booked. (9.9.0.33) *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
843 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Moved capacity-related settings to **Resources > Capacity Rules**, keeping booking quantity and pending-day rules closer to resource configuration.' ) ); ?></li>
844 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Added a shared top path/status line across Booking Calendar admin pages for clearer navigation.' ) ); ?></li>
845 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Admin left sidebar and full-screen mode preferences are now saved per user, while special setup and builder workflows can still enforce their required layout.' ) ); ?></li>
846 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fixes**: Improved Calendar preview saving, changeover rendering, legend refresh, tooltip settings, Setup Wizard routing, and Booking Listing email toggle persistence.' ) ); ?></li>
493 847 </ul>
494 848 </div>
495 849 </div>
496 850
497 - </div><?php
498 - // </editor-fold>
851 + </div>
499 852
853 + <?php
500 854
501 855 $obj->expand_section_end( $section_param_arr );
502 856 }
503 857
858 +/**
859 + * What's New section for Booking Calendar 11.2
860 + *
861 + * @param object $obj
862 + *
863 + * @return void
864 + */
865 +function wpbc_welcome_section_11_2( $obj ) {
504 866
505 -function wpbc_welcome_section_9_9( $obj ){
506 867
507 - $section_param_arr = array( 'version_num' => '9.9', 'show_expand' => true );
868 + $section_param_arr = array( 'version_num' => '11.2', 'show_expand' => true );
508 869
509 870 $obj->expand_section_start( $section_param_arr );
871 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
872 + ?>
873 + <div class="wpbc_wn_container">
510 874
875 + <div class="wpbc_wn_section">
876 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Redesigned Setup Wizard' ) ); ?></h2>
511 877
512 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2023-11-06 comment this
878 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
879 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
880 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.2/booking_calendar__setup_wizard__floating_setup_bar.png' ) ); ?>" style="margin:10px 0;width:98%;" />
881 + </div>
513 882
883 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
884 + <ul>
885 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Redesigned the initial **Setup Wizard** with a floating **Setup Bar** that guides users through configuration directly on the relevant Booking Calendar admin pages.' ) ); ?></li>
886 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Step-by-step setup flow**: After choosing the booking type, the wizard opens the exact settings pages needed for form setup, date selection, availability, working time, color theme, and publishing.' ) ); ?></li>
887 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Context-aware guidance**: The Setup Bar shows the current step, progress, Back / Continue / Finish controls, and clear instructions for what should be configured on each page.' ) ); ?></li>
888 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Smarter page assistance**: Setup steps can automatically open, scroll to, and highlight the related settings section.' ) ); ?></li>
889 + </ul>
890 + </div>
891 + </div>
514 892
515 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
516 - // -----------------------------------------------------------------------------------------------------------------
517 - // = F R E E =
518 - // -----------------------------------------------------------------------------------------------------------------
519 - ?><div class="wpbc_wn_container">
893 +
520 894 <div class="wpbc_wn_section">
521 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Explore Enhanced User Experience' ); ?></h2>
522 - <div class="wpbc_wn_col">
523 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Enhancements in Booking Admin Panel UI' ); ?></h3>
895 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Floating Setup Bar' ) ); ?></h2>
896 +
897 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
898 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
899 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.2/booking_calendar__setup_wizard__move_setup_bar.png' ) ); ?>" style="margin:10px 0;width:98%;" />
900 + </div>
901 +
902 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
524 903 <ul>
525 - <li><?php echo wpbc_replace_to_strong_symbols( 'Redesigned "Top Tabs" for page selection in the Booking Calendar Admin UI. This update enhances space utilization, resulting in a clearer and smoother interface for users.' ); ?></li>
904 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a floating **Setup Bar** available across Booking Calendar admin pages during setup.' ) ); ?></li>
905 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Save-aware workflow**: Steps that require saving now keep the Continue button disabled until changes are saved.' ) ); ?></li>
906 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Flexible positioning**: The bar can be collapsed, moved by drag and drop, reset to its default position, and automatically shifted away from right-side settings panels.' ) ); ?></li>
907 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Reliable completion**: Finishing or skipping setup now correctly hides the Setup Bar across all Booking Calendar admin pages.' ) ); ?></li>
526 908 </ul>
527 909 </div>
528 - <div class="wpbc_wn_col">
529 - <img src="<?php echo $obj->section_img_url( '9.9/wp_booking_calendar_admin_panel_01.png' ); ?>" />
910 + </div>
911 +
912 +
913 + <div class="wpbc_wn_section">
914 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Front-End Booking Form Popup' ) ); ?></h2>
915 +
916 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
917 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
918 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.2/booking_calendar__open_popup.png' ) ); ?>" style="margin:10px 0;width:98%;" />
530 919 </div>
920 +
921 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
922 + <ul>
923 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added front-end popup support for booking forms using shortcode parameters.' ) ); ?></li>
924 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Popup booking form shortcode**: Use **[booking resource_id=1 popup=1]** to show a button that opens the booking form in a modal window.' ) ); ?></li>
925 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Dedicated alias shortcode**: Added **[booking_popup]** as a shortcut for popup booking forms.' ) ); ?></li>
926 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Customizable popup display**: Configure popup button text, popup title, custom CSS classes, modal class, and popup size.' ) ); ?></li>
927 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Automatic assets loading**: Required popup JavaScript and CSS are loaded automatically on front-end pages.' ) ); ?></li>
928 + </ul>
929 + </div>
531 930 </div>
532 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
533 - </div>
534 - <?php
535 931
536 - ?><div class="wpbc_wn_container">
537 - <div class="wpbc_wn_section">
538 - <div class="wpbc_wn_col">
539 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Easy Booking Form Integration' ); ?></h3>
540 - <img src="<?php echo $obj->section_img_url( '9.9/wp_booking_calendar_publish_02.gif' ); ?>" />
932 + <div class="wpbc_wn_section" style="gap:1%">
933 +
934 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
935 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Time Slots Availability Improvements' ) ); ?></h2>
936 +
541 937 <ul>
542 - <li><?php echo wpbc_replace_to_strong_symbols( 'Now it\'s super easy to put your booking form into the pages of your website. Explore the new "Resource" menu in the free version, where you can find \'Publish\' button or use the new \'Publish\' button on the Booking > Resources page in paid versions. Add the form to any page with a few clicks. Simple as that!' ); ?></li>
938 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Improved the **Create Booking for Selection** workflow in the Time Slots Availability popup.' ) ); ?></li>
939 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **More reliable popup handoff**: The Add Booking popup is now validated before the Time Slots popup closes, preventing cases where no booking form appeared.' ) ); ?></li>
940 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better multi-date selections**: Dragged multi-date time intervals are now handled as explicit admin-selected time overrides during availability validation.' ) ); ?></li>
941 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Cleaner JavaScript**: Fixed deprecated jQuery warnings in the Time Slots Availability popup.' ) ); ?></li>
543 942 </ul>
544 943 </div>
944 +
945 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
946 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Reliability and Sync Improvements' ) ); ?></h2>
947 +
948 + <ul>
949 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed a PHP 8+ fatal error on the Form Builder page when malformed legacy custom form data was stored incorrectly.' ) ); ?></li>
950 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Improved Form Options Costs parsing for selectbox fields with quoted defaults. Available in Business Medium or higher.' ) ); ?></li>
951 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Add Booking now correctly loads the default custom booking form assigned to the selected booking resource. Available in Business Medium or higher.' ) ); ?></li>
952 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed Early / Late Booking discount calculation so fixed form option costs are not incorrectly reduced to zero.' ) ); ?></li>
953 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added the **Append extra day after imported checkout day** option for **.ics** import sync rules.' ) ); ?></li>
954 + </ul>
955 + </div>
545 956 </div>
546 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
957 +
547 958 </div>
959 +
548 960 <?php
549 961
550 - // </editor-fold>
962 + $obj->expand_section_end( $section_param_arr );
963 +}
551 964
965 +/**
966 + * What's New section for Booking Calendar 11.1
967 + *
968 + * @param object $obj
969 + *
970 + * @return void
971 + */
972 +function wpbc_welcome_section_11_1( $obj ) {
552 973
553 - // -----------------------------------------------------------------------------------------------------------------
554 - // = P A I D =
555 - // -----------------------------------------------------------------------------------------------------------------
974 +
975 + $section_param_arr = array( 'version_num' => '11.1', 'show_expand' => true );
976 +
977 + $obj->expand_section_start( $section_param_arr );
978 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
556 979 ?>
980 +
557 981 <div class="wpbc_wn_container">
982 +
558 983 <div class="wpbc_wn_section">
559 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ); ?></h2>
560 - </div>
984 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Working Time' ) ); ?></h2>
561 985
562 - <div class="wpbc_wn_section">
563 - <div class="wpbc_wn_col">
564 - <h3><?php echo wpbc_replace_to_strong_symbols( 'New PayPal Standard Checkout integration.' ); ?></h3>
565 - <?php
566 - echo '<ul>'
567 - . '<li>' . wpbc_replace_to_strong_symbols( 'Integrated **PayPal Standard Checkout** payment gateway. Enjoy various payment methods, including **card payments and PayPal**. Choose from different designs for PayPal buttons. The system now automatically responds from the PayPal, updating the booking status and payment status. *(Available in Business Small/Medium/Large, MultiUser versions).*' ) . '</li>'
568 - . '</ul>';
569 - ?>
570 - <img src="<?php echo $obj->asset_path; ?>9.9/wp_booking_calendar_paypal_setup_03.gif" />
986 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
987 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
988 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.1/wp_booking_calendar_11_1_working_time_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
571 989 </div>
990 +
991 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
992 + <ul>
993 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added **Working Time** settings to **Booking Calendar > Availability > General Availability**, allowing administrators to restrict time-based bookings to specific working hours.' ) ); ?></li>
994 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Designed for time-based booking forms**: Working Time applies to booking forms that use **rangetime**, **start/end time**, or **start/duration time** fields.' ) ); ?></li>
995 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Flexible schedule control**: Define default working hours for each weekday, then optionally set custom working time rules for specific booking resources.' ) ); ?></li>
996 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Clear availability timeline**: Time outside working hours is shown in **Time Slots Availability** as read-only unavailable time, with links back to the related Working Time settings.' ) ); ?></li>
997 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Cleaner front-end calendar display**: Dates limited only by Working Time keep their tooltip information, while the calendar avoids showing partial-booking dots when there are no real bookings or manually blocked time slots.' ) ); ?></li>
998 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better editing workflow**: When opening Working Time settings from the Time Slots Availability timeline, the General Availability page automatically expands and scrolls to the Working Time section.' ) ); ?></li>
999 + </ul>
1000 + </div>
572 1001 </div>
1002 +
573 1003 </div>
574 1004 <?php
575 1005
1006 + $obj->expand_section_end( $section_param_arr );
1007 +}
576 1008
1009 +/**
1010 + * What's New section for Booking Calendar 11.0
1011 + *
1012 + * @param object $obj
1013 + *
1014 + * @return void
1015 + */
1016 +function wpbc_welcome_section_11_0( $obj ) {
577 1017
578 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
579 - // -----------------------------------------------------------------------------------------------------------------
580 - // = M I X E D =
581 - // -----------------------------------------------------------------------------------------------------------------
1018 +
1019 + $section_param_arr = array( 'version_num' => '11.0', 'show_expand' => true );
1020 +
1021 + $obj->expand_section_start( $section_param_arr );
1022 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
582 1023 ?>
583 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
584 1024 <div class="wpbc_wn_container">
1025 +
585 1026 <div class="wpbc_wn_section">
586 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ); ?></h2>
1027 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Time Slots Availability' ) ); ?></h2>
1028 +
1029 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1030 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1031 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar__availability__time_slots_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1032 +<!-- <img src="--><?php //echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar__availability__time_slots_02.png' ) ); ?><!--" style="margin:10px 0;width:98%;" />-->
1033 + </div>
1034 +
1035 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1036 + <ul>
1037 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added the **Time Slots Availability** page under **Booking Calendar > Availability**, allowing administrators to define unavailable time intervals for specific booking resources and date ranges.' ) ); ?></li>
1038 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Interactive timeline selection**: Select one or many days directly in the timeline, adjust start and end time, then block or unblock the selected interval.' ) ); ?></li>
1039 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Clear availability states**: The timeline now shows available, booked, unavailable, and full-day unavailable states in one place.' ) ); ?></li>
1040 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Finer control**: Work with visible time range controls, date range navigation arrows, and slot steps down to **5 minutes**.' ) ); ?></li>
1041 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better long-range editing**: Sticky timeline headers and progress indicators make loading, blocking, unblocking, and saving easier to follow.' ) ); ?></li>
1042 + </ul>
1043 + </div>
587 1044 </div>
588 1045
1046 +
589 1047 <div class="wpbc_wn_section">
590 - <div class="wpbc_wn_col">
591 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Improvements' ); ?></h3>
592 - <ul>
593 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; The Prices menu now includes options such as "Seasonal Rates" (formerly "Rates"), "Duration-Based Cost" (formerly "Valuation days"), "Partial Payments" (formerly "Deposit"), "Form Options Costs" (formerly "Advanced costs"), and "Payment Gateways." This centralized location allows you to manage all prices for bookings in one place. *(Business Medium/Large, MultiUser)*' ); ?></li>
594 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; The "Availability" section has a new structure and titles. Now, the configuration of all "Calendars Availability" is located in the "Availability" menu page and its sub-pages, including "Days Availability," "Season Availability" (formerly "Availability"), and "General Availability." This provides a centralized location to manage all availability settings for calendars. *(Business Medium/Large, MultiUser)*' ); ?></li>
595 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; The Resources menu now features an enhanced toolbar UI for creating new booking resources and managing options. This improvement provides a more user-friendly experience for resource management. *(Paid versions)*' ); ?></li>
596 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Implemented the addition of the "autocomplete" attribute to the booking form fields. This enhancement ensures correct autofill functionality in the Chrome browser when using autofill addons. *(Paid versions)*' ); ?></li>
597 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Show super booking admin currency at front-end, instead of regular user defined currency, if was activated "Receive all payments only to Super Booking Admin account" option at the Booking > Settings General page in "Multiuser Options" section. (9.8.9.3) *(MultiUser)*' ); ?></li>
598 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Updated Top WordPress Bar menu for Booking Calendar (9.8.15.9)' ); ?></li>
599 - </ul>
1048 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Set Times Availability Popup' ) ); ?></h2>
1049 +
1050 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1051 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1052 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar_11_0_set_times_availability_popup.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1053 +
600 1054 </div>
601 - <div class="wpbc_wn_col">
602 - <h3><?php echo wpbc_replace_to_strong_symbols( 'New Features' ); ?></h3>
1055 +
1056 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
603 1057 <ul>
604 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Easy weekdays selection in "Season Dates Filter". Now, you can easily select specific weekday(s) in specific year and append or remove additional dates by using range "Dates Filter" at Booking > Resources > Filters page. (9.8.6.3) *(Business Medium/Large, MultiUser)*' ); ?></li>
605 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Introducing the **Server Balancer**, a feature designed for low-level hosting systems with limited server resources. Useful for scenarios where multiple calendars need to load bookings simultaneously on the same page or when using resource selection shortcode for many calendars. Now, you have the ability to define the number of parallel requests sent to the server. A lower number of parallel requests minimizes the impact on the server but extends the time required to load all calendars. Calendars will send requests only after the previous request is finished. By customizing the number of parallel requests, you can find the optimal balance for your specific server, especially when using numerous calendars on the same page. Simply set the value of parallel requests at Booking > Settings General page in the Advanced section. (9.8.6.2)' ); ?></li>
606 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Introducing General Import Conditions options for importing events into the Booking Calendar for all booking resources. You can now enable the option **Import if Dates Available** to import events only if dates are available in the source calendar. Additionally, the option **Import Only New Events** allows you to import only if the event has not been imported before. This last option replaces the deprecated "Force import" option and can be configured at Booking > Settings > Sync > "General" page in the "Import advanced" section. (9.8.15.8)' ); ?></li>
1058 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a reusable **Set Times Availability** popup to the Booking Listing page, so unavailable time intervals can be managed without leaving the bookings workflow.' ) ); ?></li>
1059 + <li><img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar__add_booking _from__timeslots__availability_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1060 + <?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Create bookings from selected intervals**: Start a new booking directly from the selected time interval inside the Time Slots Availability popup.' ) ); ?></li>
1061 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Works across multiple days**: Select, block, unblock, and review unavailable intervals across a date range with booked and unavailable states visible.' ) ); ?></li>
1062 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Unavailable full-day reasons**: The popup can show days blocked by Days Availability, Season Availability, unavailable weekdays, unavailable time from current time, and limit available days from today settings.' ) ); ?></li>
1063 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Quick rule links**: Full-day unavailable timeline bars can link to the related availability settings page, helping administrators identify and adjust the rule that made a date unavailable.' ) ); ?></li>
607 1064 </ul>
608 1065 </div>
609 1066 </div>
1067 +
1068 +
610 1069 <div class="wpbc_wn_section">
611 - <div class="wpbc_wn_col">
612 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Under Hood Changes' ); ?></h3>
1070 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Faster Add Booking Popup' ) ); ?></h2>
1071 +
1072 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1073 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1074 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar_11_0_add_booking_popup.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1075 + </div>
1076 +
1077 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
613 1078 <ul>
614 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Now you can aggregate only \'**bookings**\' without including unavailable dates from the \'Booking > Availability > Days Availability\' page. If you use the \'**aggregate**\' parameter in the Booking Calendar shortcode and wish to include only bookings, utilize the new parameter: **options="{aggregate type=bookings_only}"**. For instance, in the shortcode example below, we aggregate only bookings: <code>[bookingselect type=\'3,4\' aggregate=\'3;4\' options="{aggregate type=bookings_only}"]</code> (9.8.15.10)' ); ?></li>
615 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Ability to define inline checkboxes and radio buttons using <code>&lt;r&gt;&lt;c&gt;...&lt;/c&gt;&lt;/r&gt;</code> constructions. For this, use the new element: <code>&lt;r&gt;&lt;c&gt;&lt;div class="wpbc_row_inline"&gt;...&lt;/div&gt;&lt;/c&gt;&lt;/r&gt;</code>. Example #1: <code>&lt;r&gt;&lt;c&gt;&lt;p class="wpbc_row_inline"&gt;&lt;l&gt;[checkbox terms "I accept"]&lt;a href="#"&gt;terms and conditions&lt;/a&gt;&lt;/l&gt;&lt;/p&gt;&lt;/c&gt;&lt;/r&gt;</code> Example #2: <code>&lt;r&gt;&lt;c&gt;&lt;p class="wpbc_row_inline"&gt;&lt;l&gt;Fee: [checkbox somefee default:on ""]&lt;/l&gt;&lt;/p&gt;&lt;/c&gt;&lt;/r&gt;</code> Example #3: <code>&lt;r&gt;&lt;c&gt;&lt;p class="wpbc_row_inline"&gt;&lt;l&gt;Club: [radio* clubanlass default:No "No" "Yes"]&lt;/l&gt;&lt;/p&gt;&lt;/c&gt;&lt;/r&gt;</code> (9.8.8.1)' ); ?></li>
616 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Improved dates selection mode. Introducing a new JavaScript functions for defining simple customization of different date selections for various calendars. Find more information on <a href="https://wpbookingcalendar.com/faq/advanced-javascript-for-the-booking-shortcodes/">this page</a>.' ); ?></li>
617 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; In case, if you want to wrap checkbox with text in label use parameter "label_wrap" in the shortcode construction: <code>[checkbox* terms label_wrap use_label_element "I Accept"]</code>. System make DOM construction such as: <code>&lt;label for="cid"&gt;&lt;input class="wpdev-validates-as-required wpdev-checkbox" id="cid" type="checkbox" name="terms" value="I Accept"&gt;&nbsp;&nbsp;I Accept&lt;/label&gt;</code> (9.8.13.2)' ); ?></li>
618 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; In case, if you want to use labels and checkbox separately, please use shortcode construction: <code>[checkbox* terms use_label_element "I Accept"]</code>. System make DOM construction such as: <code>&lt;input class="wpdev-validates-as-required wpdev-checkbox" id="cid" type="checkbox" name="terms" value="I Accept"&gt;&nbsp;&nbsp;&lt;label for="cid"&gt;I Accept&lt;/label&gt;</code> (9.8.13.2)' ); ?></li>
1079 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a faster **Add Booking** popup to the Booking Listing and Timeline pages, so users can create bookings without leaving the current view.' ) ); ?></li>
1080 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Prefilled from the timeline**: Selected booking resource, date, start time, and end time are passed into the popup when creating a booking from a selected interval.' ) ); ?></li>
1081 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Choose the right form in place**: Select the booking resource and custom booking form directly inside the popup.' ) ); ?></li>
1082 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Edit in the same workflow**: Existing bookings can be opened in the popup, with a direct link to edit the selected booking form when needed.' ) ); ?></li>
1083 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved navigation**: The Add Booking page is now available under the Bookings section, and Booking Listing and Timeline include a clearer **New booking** quick-action button.' ) ); ?></li>
619 1084 </ul>
620 1085 </div>
621 1086 </div>
1087 +
1088 +
622 1089 <div class="wpbc_wn_section">
623 - <div class="wpbc_wn_col">
624 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Bug Fixes' ); ?></h3>
1090 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'General Availability Settings' ) ); ?></h2>
1091 +
1092 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1093 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1094 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar_11_0_general_availability_settings_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1095 + </div>
1096 +
1097 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
625 1098 <ul>
626 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved an issue where bookings with zero cost were not automatically approved when the option "Auto approve booking if booking cost is zero" was activated in the Booking > Settings General page under the "Auto Cancellation / Auto Approval" section.' ); ?></li>
627 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved a fatal error: Uncaught TypeError: Unsupported operand types: string * int in ../core/sync/wpbc-gcal-class.php' ); ?></li>
1099 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a **General Availability** settings page for defining global front-end availability rules across all calendars and booking resources.' ) ); ?></li>
1100 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Live calendar preview**: Review unavailable weekdays, availability limits from the current date, unavailable time from current time, and booking buffer effects before saving.' ) ); ?></li>
1101 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fast settings workflow**: Save changes with AJAX, reset preview controls to defaults, and continue working in the same page layout.' ) ); ?></li>
1102 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Consistent admin design**: Uses the shared right-side palette layout from the Availability pages and setup wizard interfaces.' ) ); ?></li>
628 1103 </ul>
629 1104 </div>
630 - <div class="wpbc_wn_col">
631 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Translations' ); ?></h3>
1105 + </div>
1106 +
1107 +
1108 + <div class="wpbc_wn_section">
1109 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Availability Accuracy and Reliability Fixes' ) ); ?></h2>
1110 +
1111 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
632 1112 <ul>
633 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **German Translation Update**. Translation has been updated, reaching 94% completion, courtesy of Res Rickli' ); ?></li>
634 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **French Translation Update**. Translation has been updated, reaching 93% completion, courtesy of Res Rickli' ); ?></li>
635 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Italian Translation Update**. Translation has been updated, reaching 85% completion, courtesy of Res Rickli' ); ?></li>
1113 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed calendar booking status detection, improving how the front-end calendar reads approved and pending booking statuses for capacity-based resources, including parent/child resources and change-over dates.' ) ); ?></li>
1114 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed availability calculation for Booking Form Builder forms with time-slot fields, so dates are marked as fully unavailable when all booking form time slots are already booked. (10.15.8.2)' ) ); ?></li>
1115 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed a fatal error on some hosts by reading the local PRO **meta.json** file directly instead of using WordPress FTP filesystem access.' ) ); ?></li>
1116 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Front-end booking form calendars should now reflect real availability more clearly across booked, pending, blocked, and change-over dates.' ) ); ?></li>
636 1117 </ul>
637 1118 </div>
638 1119 </div>
639 1120
640 - </div><?php
641 - // </editor-fold>
1121 + </div>
1122 + <?php
642 1123
643 -
644 1124 $obj->expand_section_end( $section_param_arr );
645 1125 }
646 1126
1127 +function wpbc_welcome_section_10_15( $obj ) {
647 1128
648 -function wpbc_welcome_section_9_8( $obj ){
649 1129
650 - $section_param_arr = array( 'version_num' => '9.8', 'show_expand' => true );
1130 + $section_param_arr = array( 'version_num' => '10.15', 'show_expand' => true );
651 1131
652 1132 $obj->expand_section_start( $section_param_arr );
653 1133
1134 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
1135 + ?>
1136 + <div class="wpbc_wn_container">
654 1137
655 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2023-11-06 comment this
1138 + <div class="wpbc_wn_section">
1139 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Drag & Drop Booking Form Builder' ) ); ?></h2>
656 1140
1141 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1142 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1143 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar__form_builder_overview_02.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1144 + </div>
657 1145
658 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
659 - // -----------------------------------------------------------------------------------------------------------------
660 - // = F R E E =
661 - // -----------------------------------------------------------------------------------------------------------------
662 - ?><div class="wpbc_wn_container">
663 - <div class="wpbc_wn_section">
664 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Experience a smoother and more efficient booking process' ); ?></h2>
665 - <div class="wpbc_wn_col">
666 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Completely New Availability / Capacity engine' ); ?></h3>
1146 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
667 1147 <ul>
668 - <li><?php echo wpbc_replace_to_strong_symbols( 'The calendar now dynamically loads bookings with smooth animations, enhancing the overall speed and user experience.' ); ?></li>
669 - <li><?php echo wpbc_replace_to_strong_symbols( 'The system is now highly proactive in preventing double bookings. It checks availability at multiple stages, whether it\'s during calendar loading or when users submit bookings. This ensures that double bookings are effectively eliminated. Even if multiple users attempt bookings for the same date/time from different locations at the same time.' ); ?></li>
1148 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Introduced the new **Drag & Drop Booking Form Builder** for visually creating booking forms without manually editing form code.' ) ); ?></li>
1149 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Build forms visually**: Drag fields into the canvas, arrange the layout, and see the result instantly in the live preview.' ) ); ?></li>
1150 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Faster and easier workflow**: Create modern booking forms without working with complex manual shortcodes.' ) ); ?></li>
1151 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Available in all versions**: Booking Calendar now supports **multiple custom booking form configurations** in all versions, including the Free version.' ) ); ?></li>
670 1152 </ul>
671 1153 </div>
672 - <div class="wpbc_wn_col">
673 - <img src="<?php echo $obj->section_img_url( '9.8/wp_booking_calendar_form_01.gif' ); ?>" style="margin-top:3.5em;"/>
674 - </div>
675 1154 </div>
676 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1155 +
1156 +
677 1157 <div class="wpbc_wn_section">
678 - <div class="wpbc_wn_col">
679 - <img src="<?php echo $obj->asset_path; ?>9.8/wp_booking_calendar_form_dark_02.gif" />
1158 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Create Booking Forms, Contact Forms, and Inquiry Forms' ) ); ?></h2>
1159 +
1160 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 1% 0 0;">
1161 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1162 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_contact_inquiry_forms_05.png' ) ); ?>" style="margin:10px 0;width:98%;" />
680 1163 </div>
681 - <div class="wpbc_wn_col">
682 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Introducing the Dark Theme for Booking Form' ); ?></h3>
683 - <?php
684 - echo '<ul>'
685 - //. '<li>' . wpbc_replace_to_strong_symbols( 'In our latest update you have the option to switch to a "Dark" theme for your booking form.' ) . '</li>'
686 - . '<li>' . wpbc_replace_to_strong_symbols( 'With this new option, you can seamlessly integrate your booking form into your website\'s design. This Theme automatically selects the appropriate calendar and time picker skins, adjusts the colors of your booking form fields, labels, text, and other UI elements.' ) . '</li>'
687 - . '<li>' . wpbc_replace_to_strong_symbols( 'If you prefer Dark design, now you can select it' ) . '</li>'
688 - . '<li>' . wpbc_replace_to_strong_symbols( 'To enable the Dark Theme, head to the Settings General Page, find the "Form Options" section, and select "Dark" from the "Color Theme" dropdown.' ) . '</li>'
689 - . '</ul>';
690 - ?>
1164 +
1165 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 0 0 1%;">
1166 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1167 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_contact_form_preview_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
691 1168 </div>
692 - </div>
693 1169
694 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
695 - <div class="wpbc_wn_section">
696 - <div class="wpbc_wn_col">
697 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Performance improvements.' ); ?></h3>
698 - <?php
699 - echo '<ul>'
700 - . '<li>' . wpbc_replace_to_strong_symbols( 'We\'ve supercharged Booking Calendar with significant speed improvements. Compared to previous updates.' ) . '</li>'
701 - . '<li>' . wpbc_replace_to_strong_symbols( 'Page loading now happens **34% to 78% faster**. The speed boost varies depending on the number of bookings and number of calendars on your page (multiple calendars in paid versions of Booking Calendar).' ) . '</li>'
702 - . '<li>' . wpbc_replace_to_strong_symbols( 'Server request execution speed has **improved from 63% to 94%** when you load your initial calendar.' ) . '</li>'
703 - . '<li>' . wpbc_replace_to_strong_symbols( 'We\'ve streamlined the system to **reduce the number of SQL requests** for your initial page loading by **49%** to a staggering **89%**.' ) . '</li>'
704 - . '<li>' . wpbc_replace_to_strong_symbols( 'All these speed enhancements have been tested with 500 active bookings.' ) . '</li>'
705 - . '</ul>';
706 - ?>
1170 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1171 + <ul>
1172 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added support for **Contact Forms / Inquiry Forms / Request Forms** — the calendar is now optional.' ) ); ?></li>
1173 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Use Booking Calendar as a contact form alternative**: Create forms without booking dates and manage all submissions inside Booking Calendar.' ) ); ?></li>
1174 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Ready-to-use templates**: Start faster with predefined templates for booking, contact, and inquiry forms.' ) ); ?></li>
1175 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Flexible start**: Create a form from a template or begin with a blank canvas for full control.' ) ); ?></li>
1176 + </ul>
707 1177 </div>
708 1178 </div>
709 1179
710 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1180 +
711 1181 <div class="wpbc_wn_section">
712 - <div class="wpbc_wn_col">
713 - <img src="<?php echo $obj->asset_path; ?>9.8/wp_booking_calendar_booking_confirmation_01.gif" />
1182 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Powerful Visual Layout Builder' ) ); ?></h2>
1183 +
1184 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1185 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1186 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar__form_builder_02.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
714 1187 </div>
715 - <div class="wpbc_wn_col">
716 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Booking Confirmation Section' ); ?></h3>
717 - <?php
718 - echo '<ul>'
719 - . '<li>' . wpbc_replace_to_strong_symbols( 'Introduced a new Booking Confirmation section that provides users with a **summary of their booking details**, making it easy for users to confirm their reservations after completing the booking process. This feature allows users to quickly review essential booking information. \'Booking confirmation\' section located on the Booking > Settings General page. Previously, it was located in the \'Form\' section as \'Thank you\' message/page.' ) . '</li>'
720 - . '</ul>';
721 - ?>
722 - </div>
723 - </div>
724 1188
725 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
726 - <div class="wpbc_wn_section">
727 - <div class="wpbc_wn_col">
728 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Enhancements in Settings Interface' ); ?></h3>
1189 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
729 1190 <ul>
730 - <li><?php echo wpbc_replace_to_strong_symbols( '**Structured General Settings Page:** Redesigned the General Settings page to enhance user experience. The new layout includes a clear navigation column that displays the specific section you click on, making it easier to understand settings, quickly find specific options, and simplify the configuration of the plugin.' ); ?></li>
731 - <li><?php echo wpbc_replace_to_strong_symbols( '**Toggle Boxes:** Replaced checkboxes in the Booking Calendar User Interface with toggle boxes. This change provides a clearer view of enabling specific options and features, particularly for enabling/disabling Rates and Availability in paid versions.' ); ?></li>
1191 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Drag & drop fields** from the Fields palette directly into the form canvas.' ) ); ?></li>
1192 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Live visual preview** while building and editing the form.' ) ); ?></li>
1193 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Rows and columns layout** for clean and structured form designs.' ) ); ?></li>
1194 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Nested sections** (up to 5 levels) for advanced multi-row and multi-column layouts.' ) ); ?></li>
1195 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Ready section layouts** with 1, 2, 3, or 4 columns.' ) ); ?></li>
1196 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Column resizing with visual resizers** for precise control of layout widths.' ) ); ?></li>
1197 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Multi-page forms** for creating step-by-step wizard-style booking forms.' ) ); ?></li>
1198 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Drag & drop sorting of sections** plus **Move Up / Move Down controls** for faster layout management.' ) ); ?></li>
732 1199 </ul>
733 1200 </div>
734 - <div class="wpbc_wn_col">
735 - <img src="<?php echo $obj->section_img_url( '9.8/wp_booking_calendar_settings_02.gif' ); ?>" style="margin-top:3.5em;"/>
736 - </div>
737 1201 </div>
738 - </div>
739 - <?php
740 1202
741 - // </editor-fold>
742 1203
743 -
744 - // -----------------------------------------------------------------------------------------------------------------
745 - // = P A I D =
746 - // -----------------------------------------------------------------------------------------------------------------
747 - ?>
748 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
749 - <div class="wpbc_wn_container">
750 1204 <div class="wpbc_wn_section">
751 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ); ?></h2>
752 - </div>
1205 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Smart Editing and Form Controls' ) ); ?></h2>
753 1206
754 - <div class="wpbc_wn_section">
755 - <div class="wpbc_wn_col">
756 - <img src="<?php echo $obj->asset_path; ?>9.8/wp_booking_calendar_time_capacity_09.gif" />
1207 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 1% 0 0;">
1208 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1209 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_sidebar_inspector_02.png' ) ); ?>" style="margin:10px 0;width:98%;" />
757 1210 </div>
758 - <div class="wpbc_wn_col">
759 - <h3><?php echo wpbc_replace_to_strong_symbols( 'New Capacity Engine for time-slots' ); ?></h3>
760 - <?php
761 - echo '<ul>'
762 - . '<li>' . wpbc_replace_to_strong_symbols( 'With the new capacity engine, you can define booking capacities for your calendar, allowing you to receive a **specific number of bookings per time slots or full dates**. This enhances your control over bookings compared to the previous version, which only supported specific booking limits for full dates. *(Available in Business Large, MultiUser versions).*' ) . '</li>'
763 - . '</ul>';
764 - ?>
1211 +
1212 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 0 0 1%;">
1213 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1214 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_field_limits_02.png' ) ); ?>" style="margin:10px 0;width:98%;" />
765 1215 </div>
766 - <div class="wpbc_wn_col">
767 - <?php
768 - echo '<ul>'
769 - . '<li>' . wpbc_replace_to_strong_symbols( 'The the capacity feature ensures that the **total number of bookings for specific dates or times does not exceed the specified capacity**. This functionality is versatile and can be applied to various scenarios where you need to manage and limit bookings for specific resources to maintain efficient operations.' ) . '</li>'
770 - . '<li>' . wpbc_replace_to_strong_symbols( '**Booking Quantity Control:** Enabled the ability to enable and define a field for \'Booking Quantity Control,\' allowing visitors to define the number of items they can book for specific dates or times within a single reservation. Find this option in **New Capacity** section on Booking > Settings General page. *(Business Large, MultiUser)*' ) . '</li>'
771 - . '<li>' . wpbc_replace_to_strong_symbols( '**Capacity Shortcode:** Added the Capacity shortcode for showing available (remained) slots per selected dates and times: <code>[capacity_hint]</code>. You can use it in the booking form at the Booking > Settings > Form page. *(Business Large, MultiUser)*' ) . '</li>'
772 - . '</ul>';
773 - ?>
1216 +
1217 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1218 + <ul>
1219 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Right sidebar inspector**: Easily edit field and section settings in a clear visual interface.' ) ); ?></li>
1220 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Field usage limits**: The Builder automatically prevents adding one-time fields, such as the Calendar field, more than once.' ) ); ?></li>
1221 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Responsive-friendly column width control** with layout protection for more stable form structure.' ) ); ?></li>
1222 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved visual editing controls** for easier field, section, and layout management directly inside the canvas.' ) ); ?></li>
1223 + </ul>
774 1224 </div>
775 1225 </div>
776 1226
777 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1227 +
778 1228 <div class="wpbc_wn_section">
779 - <div class="wpbc_wn_col">
780 - <img src="<?php echo $obj->asset_path; ?>9.8/wp_booking_calendar_payments_01.gif" />
1229 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Better Form Management and Reuse' ) ); ?></h2>
1230 +
1231 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1232 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1233 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wpbc_11_0_form_management_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
781 1234 </div>
782 - <div class="wpbc_wn_col">
783 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Redesigned Payment Buttons' ); ?></h3>
784 - <?php
785 - echo '<ul>'
786 - . '<li>' . wpbc_replace_to_strong_symbols( '**Redesigned Payment Buttons:** Payment buttons in the new Booking Confirmation window have been redesigned for a more user-friendly experience. *(Business Small/Medium/Large, MultiUser)*' ) . '</li>'
787 - . '<li>' . wpbc_replace_to_strong_symbols( '**Payment System Responses:** Now, responses from payment systems after visitors\' payments are recorded in the Note section of the booking, provided "Logging actions for booking" is activated at the Booking > Settings General page in the "Booking Admin Panel" section. Also the booking log now keeps track of booking details, such as cost calculations, actions related to payment request pages via email links, and other important events. *(Business Small/Medium/Large, MultiUser)*' ) . '</li>'
788 - . '</ul>';
789 - ?>
1235 +
1236 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1237 + <ul>
1238 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Predefined templates:** Start building your new booking form with ready-made templates.' ) ); ?></li>
1239 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Save and restore complete form layouts** including pages, sections, columns, and fields.' ) ); ?></li>
1240 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Duplicate existing form configurations** to create similar forms much faster.' ) ); ?></li>
1241 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Save As workflow**: Create a new form based on an existing layout and settings.' ) ); ?></li>
1242 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Flexible form configuration management** for creating, saving, loading, organizing, and previewing custom forms.' ) ); ?></li>
1243 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Form details management**: Set a custom form title, slug, description, and image.' ) ); ?></li>
1244 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Media library integration** for selecting a custom image for each form configuration.' ) ); ?></li>
1245 + </ul>
790 1246 </div>
791 - <div class="wpbc_wn_col">
792 - <?php
793 - echo '<ul>'
794 - . '<li>' . wpbc_replace_to_strong_symbols( '**Additional Notes:** Added the ability to add extended notes about "Total Cost | Discounts applied | Subtotal cost | Deposit Due | Balance Remaining" after creating the booking. Also, added notes about the approval of the booking by the payment system after a response from the Payment gateway. Notes are now added for bookings that were imported from Google Calendar. *(Business Medium/Large, MultiUser)*' ) . '</li>'
795 - . '</ul>';
796 - ?>
797 - </div>
798 - <div class="wpbc_wn_col">
799 - <img src="<?php echo $obj->asset_path; ?>9.8/wp_booking_calendar_extended_notes.png" />
800 - </div>
801 1247 </div>
802 1248
803 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1249 +
804 1250 <div class="wpbc_wn_section">
805 - <div class="wpbc_wn_col">
1251 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Preview, Import, and Flexible Workflow' ) ); ?></h2>
806 1252
807 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Showing Customizable Booking Details in Tooltip' ); ?></h3>
808 - <?php
809 - echo '<ul>'
810 - . '<li>' . wpbc_replace_to_strong_symbols( '**Booking Details Tooltip:** Added the ability to show booking details in a mouse-over tooltip for specific booked dates or times during a day, significantly improving the speed of this functionality. <br>This can now **show booking details even for fully booked dates**. ' ) . '</li>'
811 - . '<li>' . wpbc_replace_to_strong_symbols( 'It\'s a helpful feature for businesses with booking workflows that require displaying information about the users who\'ve made the bookings or for similar neighborhood-based use cases.<br>*(Business Medium/Large, MultiUser)*' ) . '</li>'
812 - . '</ul>';
813 - ?>
1253 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 1% 0 0;">
1254 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1255 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wpbc_11_0_preview_page_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
814 1256 </div>
815 - <div class="wpbc_wn_col">
816 - <img src="<?php echo $obj->asset_path; ?>9.8/wp_booking_display_booking_details_05.gif" />
817 - </div>
818 - </div>
819 1257
820 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
821 - <div class="wpbc_wn_section">
822 - <div class="wpbc_wn_col">
823 - <img src="<?php echo $obj->asset_path; ?>9.8/wp_booking_display_unavailable_before_after_02.gif" />
1258 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 0 0 1%;">
1259 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1260 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_advanced_mode.png' ) ); ?>" style="margin:10px 0;width:98%;" />
824 1261 </div>
825 - <div class="wpbc_wn_col">
826 1262
827 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Set Unavailable Time Before or After Bookings' ); ?></h3>
828 - <?php
829 - echo '<ul>'
830 - . '<li>' . wpbc_replace_to_strong_symbols( 'This feature improves the engine for defining a specific period of unavailability before or after bookings. It now works in all scenarios, even for fully booked dates. When you select multiple dates and specific times for a booking, the system extends the unavailable time interval for those time slots on each day.' ) . '</li>'
831 -
832 - . '</ul>';
833 - ?>
1263 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1264 + <ul>
1265 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Preview page / live front-end preview**: Test how the form looks and works before publishing it on your website.' ) ); ?></li>
1266 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Import existing legacy booking forms** into the new Builder for easier transition to the visual workflow.' ) ); ?></li>
1267 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Builder mode and Advanced Form mode**: Work visually or keep manual form configuration when needed.' ) ); ?></li>
1268 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Blank form creation in Builder mode** lets you start new forms immediately in the visual editor.' ) ); ?></li>
1269 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Section presets** help you insert commonly used layout structures faster.' ) ); ?></li>
1270 + </ul>
834 1271 </div>
835 - <div class="wpbc_wn_col">
836 - <?php
837 - echo '<ul>'
838 - . '<li>' . wpbc_replace_to_strong_symbols( 'It\'s a great feature for preparing your property or service before or after a specific booking, such as allowing time for cleaning.<br>*(Business Medium/Large, MultiUser)*' ) . '</li>'
839 - . '</ul>';
840 - ?>
841 - </div>
842 1272 </div>
843 1273
844 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1274 +
845 1275 <div class="wpbc_wn_section">
846 - <div class="wpbc_wn_col">
847 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Simple HTML Configuration' ); ?></h3>
848 - <?php
849 - echo '<ul>'
850 - . '<li>' . wpbc_replace_to_strong_symbols( 'Now, you can organize your booking form fields in rows and columns using the new Simple HTML shortcodes. This makes configuring your booking form even easier.' ) . '</li>'
851 - . '<li>' . wpbc_replace_to_strong_symbols( '**Here\'s how it works:**' ) . '</li>'
852 - . '<li>' . wpbc_replace_to_strong_symbols( 'Example of how to create a single row with 2 columns:' ) . '</li>'
853 - . '<li><pre>&lt;r&gt;<br> &lt;c&gt;...&lt;/c&gt;<br> &lt;c&gt;...&lt;/c&gt; <br>&lt;/r&gt;</pre></li>'
854 - . '<li>' . wpbc_replace_to_strong_symbols( '**With this feature, you have the flexibility to design your booking form exactly as you need it.**' ) . '</li>'
855 - . '<li>' . wpbc_replace_to_strong_symbols( ' *(Available in all paid versions).*' ) . '</li>'
856 - . '</ul>';
857 - ?>
1276 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Important Note About the Beta Builder' ) ); ?></h2>
1277 +
1278 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1279 + <ul>
1280 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **This feature is currently in Beta** and can still be disabled at any time.' ) ); ?></li>
1281 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; To return to the previous legacy booking form configuration, go to **Form Builder > Settings** in the right sidebar and disable the **"Drag & Drop Form Builder"** option.' ) ); ?></li>
1282 + </ul>
858 1283 </div>
859 - <div class="wpbc_wn_col">
860 - <img src="<?php echo $obj->asset_path; ?>9.8/wp_booking_calendar_simple_html_09.gif" />
861 - <?php
862 - echo '<ul>'
863 - . '<li>' . wpbc_replace_to_strong_symbols( '**Create Rows**: Use <code>&lt;r&gt;...&lt;/r&gt;</code> tags to defines a row in your form.' ) . '</li>'
864 - . '<li>' . wpbc_replace_to_strong_symbols( '**Add Columns**: Inside each row, you can specify columns using <code>&lt;c&gt;...&lt;/c&gt;</code> tags.' ) . '</li>'
865 - . '<li>' . wpbc_replace_to_strong_symbols( '**Label Fields**: Use the <code>&lt;l&gt;...&lt;/l&gt;</code> tags.' ) . '</li>'
866 - . '<li>' . wpbc_replace_to_strong_symbols( '**Spacer**: <code>&lt;spacer&gt;&lt;/spacer&gt;</code> or <code>&lt;spacer&gt;width:1em;&lt;/spacer&gt;</code>.' ) . '</li>'
867 - . '</ul>';
868 - ?>
869 - </div>
870 - <div class="wpbc_wn_col">
871 - <?php
872 - echo '<ul>'
873 - . '<li>' . wpbc_replace_to_strong_symbols( '**Simplified field data tag**: <code>&lt;f&gt;...&lt;/f&gt;</code>. Easily highlight field data by enclosing it within <code>&lt;f&gt;...&lt;/f&gt;</code> tags in the \'Content of booking fields data\' section on the Booking &gt; Settings &gt; Form page. For example: <code>&lt;f&gt;[secondname]&lt;/f</code>. This will highlight the background of the field on the Booking Listing page. *(All Pro Versions)*' ) . '</li>'
874 - . '</ul>';
875 - ?>
876 - </div>
877 1284 </div>
878 1285
879 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1286 + </div>
1287 + <?php
880 1288
1289 + $obj->expand_section_end( $section_param_arr );
1290 +}
1291 +
1292 +function wpbc_welcome_section_10_14( $obj ){
1293 +
1294 + $section_param_arr = array( 'version_num' => '10.14', 'show_expand' => true );
1295 +
1296 + $obj->expand_section_start( $section_param_arr );
1297 +
1298 +
1299 + // $obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
1300 +
1301 +
1302 + // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1303 + // -----------------------------------------------------------------------------------------------------------------
1304 + // = F R E E =
1305 + // -----------------------------------------------------------------------------------------------------------------
1306 + ?>
1307 + <div class="wpbc_wn_container">
881 1308 <div class="wpbc_wn_section">
882 - <div class="wpbc_wn_col">
883 - <?php
884 - echo '<ul>'
885 - . '<li>' . wpbc_replace_to_strong_symbols( '**Different Rates for options in select-boxes:** Now, different rates are supported, depending on the selection of options in select-boxes. Example of rate configuration at Booking > Resources > Cost and rates > Rate page: <code>[visitors=1:270;2:300;3:380;4:450]</code> (9.8.0.5) *(Business Medium/Large, MultiUser)*' ) . '</li>'
886 - . '<li>' . wpbc_replace_to_strong_symbols( '**Date Selection Condition:** Added a condition for defining a specific number of selected dates if started from a specific date. Condition format: <code>\'{select-day condition="date" for="2023-10-01" value="20,25,30-35"}\'</code>. Example of shortcode: <code>[booking type=3 options=\'{select-day condition="date" for="2023-10-01" value="20,25,30-35"}\']</code> *(Business Medium/Large, MultiUser)*' ) . '</li>'
887 - . '<li>' . wpbc_replace_to_strong_symbols( '**Cancellation Date Hint Shortcode:** Introduced the <code>[cancel_date_hint]</code> shortcode, which shows the date that is 14 days before the selected check-in date. (9.7.3.16) *(Business Medium/Large, MultiUser)*' ) . '</li>'
888 - . '</ul>';
889 - ?>
1309 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Control start and end dates for booking and availability' ) ); ?></h2>
1310 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1311 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1312 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.14/wp_booking_calendar_elementor_advanced_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1313 + <span><span style="font-size: 0.9em;font-style: italic;"><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Small or higher versions' ) ); ?></span></span>
890 1314 </div>
1315 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1316 + <ul>
1317 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Control which dates are shown!**: You can now control which dates are shown in the Booking Calendar by using two new shortcode parameters: **[booking resource_id=1 calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\']**' ) ); ?></li>
1318 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: Ability to **set the start and end dates for the calendar** using shortcode parameters. Example: [booking resource_id=1 calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\' startmonth=\'2025-3\']' ) ); ?></li>
1319 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: If startmonth is omitted, the calendar will now automatically use the month from calendar_dates_start as the initial display month. Example: [booking resource_id=1 calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\']' ) ); ?></li>
1320 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: New: You can now **allow users to submit bookings for past dates**, as long as those dates are within the visible range set by calendar_dates_start and calendar_dates_end in the shortcode. Useful for administrative or backdated bookings. Shortcode Example: [booking resource_id=1 calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\']' ) ); ?></li>
1321 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: Elementor native supports of these parameters calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\' in Advanced section.' ) ); ?></li>
1322 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: When calendar_dates_start and calendar_dates_end are defined in the shortcode, the system skips checking availability from today, and instead starts from the defined calendar_dates_start.' ) ); ?></li>
1323 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: To **enable the new Smart Phone Validation** feature introduced in the previous update, go to: WP Booking Calendar > Settings > Booking Form > Form Options and enable the "Smart Phone Validation" option. It is disabled by default.' ) ); ?></li>
1324 + </ul>
1325 + </div>
891 1326 </div>
892 1327 </div>
893 1328 <?php
894 1329
1330 + $obj->expand_section_end( $section_param_arr );
1331 +}
895 1332
1333 +function wpbc_welcome_section_10_13( $obj ){
896 1334
897 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
1335 + $section_param_arr = array( 'version_num' => '10.13', 'show_expand' => true );
1336 +
1337 + $obj->expand_section_start( $section_param_arr );
1338 +
1339 +
1340 + // $obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
1341 +
1342 +
1343 + // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
898 1344 // -----------------------------------------------------------------------------------------------------------------
899 - // = M I X E D =
1345 + // = F R E E =
900 1346 // -----------------------------------------------------------------------------------------------------------------
901 1347 ?>
902 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
903 1348 <div class="wpbc_wn_container">
904 1349 <div class="wpbc_wn_section">
905 - <h2><?php echo wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ); ?></h2>
1350 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Smarter Bookings, Elementor Integration and Cleaner Interface' ) ); ?></h2>
1351 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1352 + <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Booking Calendar meets Elementor!**' ) ); ?></h3>
1353 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1354 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.13/wp_booking_calendar_elementor_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1355 + <span><span style="font-size: 0.9em;font-style: italic;"><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Small or higher versions' ) ); ?></span></span>
1356 + </div>
1357 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1358 + <ul>
1359 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Full Elementor Support!**: Design and customize your booking forms directly inside the Elementor editor—with real-time form previews and a built-in skin selector. No more shortcode guesswork—just drag, configure, and save!' ) ); ?></li>
1360 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Calendar Preloader:** We’ve added a smooth-loading preloader bar that prevents layout jumps on slower connections, ensuring a polished experience for your visitors.' ) ); ?></li>
1361 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New Booking Form Template – Service Selection Wizard (Pro):** Perfect for appointment-based bookings: this template features a left-side service selector with a streamlined date/time step for faster, easier bookings.' ) ); ?></li>
1362 + </ul>
1363 + </div>
906 1364 </div>
907 -
1365 + <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
908 1366 <div class="wpbc_wn_section">
909 - <div class="wpbc_wn_col">
1367 + <div class="wpbc_wn_col" style="flex: 1 1 45%;margin: 10px 0;">
1368 + <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Cleaner & More Intuitive Interface**' ) ); ?></h3>
910 1369 <ul>
911 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Toolbar Enhancement** Added a \'Reset\' button at Booking > Add booking page for the toolbar of configuring calendar size.' ); ?></li>
912 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Date : Time** section on the Booking > Settings General page, making it easier to configure date and time options. Now, the \'Time format\' option is also available in the Booking Calendar Free version.' ); ?></li>
913 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Daylight Saving Time Fix:** Resolved the \'Daylight Saving Time\' issue that existed on some servers (possibly due to themes or other plugins defining different timezones than those in WordPress via date_default_timezone_set(...) )), ensuring localized dates and times work correctly for all booking dates/times without the need to activate any options in the settings.' ); ?></li>
914 -
915 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Improved Google Calendar Import:** Improved the actual cron system for importing Google Calendar events, allowing you to set import time intervals starting from 15 minutes. The system now shows the last and next time of importing at the Booking > Settings > Sync > "Import Google Calendar Events" page.' ); ?></li>
916 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Pseudo Cron** System updated for google calendar imports.' ); ?></li>
917 -
918 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Scrolling Enhancement:** Enhanced scrolling to specific elements in the booking form, ensuring that the system will not create a new scroll if the previous one was not finished.' ); ?></li>
919 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Legend Position:** Moved \'Show legend below calendar\' to the \'Calendar\' section on the Booking > Settings General page. Previously, it was located in the \'Form\' section.' ); ?></li>
920 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Deprecated Options Removal:** Removed deprecated options such as "Use localized time format", \'Time for showing "Thank you" message\', \'Checking to prevent double booking during submitting booking,\' \'Set capacity based on the number of visitors,\' \'Disable booked time slots in multiple days selection mode\' from Booking > Settings General page and option: "for setting maximum number of visitors per resource" at the Booking > Resources page in paid versions.' ); ?></li>
921 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **JS Calendar Scripts:** Updated to version 9.8.0.3.' ); ?></li>
922 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Caching Improvement:** Introduced new caching for frequently used SQL requests (9.7.3.14).' ); ?></li>
923 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **\'Reply-To visitor email\' Option:** Added the \'Reply-To visitor email\' option for "Admin emails" at the Booking > Settings > Emails page. By default, this option is disabled to prevent spam detection at some servers in the outbound SMTP relay, which could lead to email rejection (9.7.3.17).' ); ?></li>
924 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Updated Styles:** Improved the styles of warning messages in the booking form for a better user experience.' ); ?></li>
1370 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Updated Sidebar Navigation:** All plugin menus now live in a single, collapsible sidebar—easier to navigate and quicker to access.' ) ); ?></li>
1371 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Visual Polish & UX Tweaks:** We’ve made subtle design upgrades across the board: improved calendar styling, better visual hierarchy, smarter warnings (e.g., duplicate calendar IDs), and more compact menu visuals in compact mode.' ) ); ?></li>
925 1372 </ul>
926 1373 </div>
927 - <div class="wpbc_wn_col">
928 - <ul>
929 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Calendar Dimensions:** Increased the width of the calendar from 284px to 341px and the height of calendar cells from 40px to 48px (9.7.3.2). Improved internal logic for calendar months\' size. The width of the calendar is now based on the maximum width, ensuring great responsiveness at any resolution. No need to use "strong_width" parameter in options of Booking Calendar shortcode. (9.7.3.4)' ); ?></li>
930 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Mobile Optimization:** For small mobile devices (width smaller than 400px), the height cell is now 40px by default (9.7.3.2). You can specify the same height for all devices using the \'strong_cell_height\' parameter in the shortcode. For example: [booking type=1 nummonths=2 options=\'{calendar months_num_in_row=2 width=682px strong_cell_height=55px}\'] (9.7.3.3)' ); ?></li>
931 -<!-- PRO -->
932 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Shortcodes Enhancement:** All shortcodes can now use the parameter \'resource_id\' instead of the previously deprecated \'type\' parameter. *(All Pro Versions)*' ); ?></li>
933 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Showing the **full URL .ics feed** at the Booking > Settings > Sync > **"Export - .ics" page** for easier copying of URLs (9.8.0.6). *(All Pro Versions)*' ); ?></li>
934 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; When creating new fast blank bookings, all fields are autofilled with \'---\' instead of \'admin\' values, and the email address is filled with \'blank@wpbookingmanager.com,\' which is skipped during sending emails by Booking Calendar. *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
935 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Improved \'Aggregate\' Parameter**: Now, when using \'aggregate,\' if you mark specific dates as unavailable in **aggregation resources on the Booking > Availability page**, the system will automatically make those dates unavailable in the source resource. *(All Pro Versions)*' ); ?></li>
936 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Enhanced Availability Management: If you mark dates as unavailable in the aggregate booking resources on the Booking > Availability page, the system treats these dates as unavailable for all booking resources, including parent and child resources. This ensures consistent availability management. *(All Pro Versions. Capacity in Business Large, MultiUser)*' ); ?></li>
937 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; For booking resources with specific capacities, when you use \'aggregate\' for a \'parent booking resource\' with a set capacity, the system adds bookings from \'aggregate booking resources\' to the \'parent resource\' and its child resources. Any \'unavailable dates\' marked on the Booking > Availability page will affect both the parent and its child resources, making those times or dates unavailable for booking. *(Business Large, MultiUser)*' ); ?></li>
938 - <ul>
1374 + <div class="wpbc_wn_col" style="flex: 1 1 50%;margin: 0px 0;">
1375 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1376 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.13/vertical_menu_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1377 + <span><span style="font-size: 0.9em;font-style: italic;"><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Small or higher versions' ) ); ?></span></span>
939 1378 </div>
940 1379 </div>
941 -
1380 + <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
942 1381 <div class="wpbc_wn_section">
943 - <div class="wpbc_wn_col">
944 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Under Hood Changes' ); ?></h3>
1382 + <div class="wpbc_wn_col" style="flex: 1 1 45%;margin: 10px 0;">
1383 + <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Smart Phone Validation**' ) ); ?></h3>
945 1384 <ul>
946 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Removed the JavaScript wpbc_settings variable. Instead of wpbc_settings.set_option( \'pending_days_selectable\', true ); use: _wpbc.calendar__set_param_value( resource_id , \'pending_days_selectable\' , true ); It\'s give ability to define this parameter separately per each calendar in paid versions.' ); ?></li>
947 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Replaced deprecated functions related to the new "Capacity and Availability" engine (9.7.3.13), and updated the cron system for Google Calendar imports.' ); ?></li>
948 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Replaced JavaScript function showErrorMessage( element , errorMessage , isScrollStop ) to wpbc_front_end__show_message__warning( jq_node, message ).' ); ?></li>
949 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Test Dates Functions:** Added the [wpbc_test_dates_functions] shortcode for testing different dates functions on the server, relative to the possible \'Daylight Saving Time\' issue.' ); ?></li>
950 - <li><?php echo wpbc_replace_to_strong_symbols( '**CSS Class:** Added a new \'wpbc_calendar\' CSS class to the calendar HTML table, making it easier to manage CSS conflicts with theme styles). You can use CSS in the theme like this: table:not(.wpbc_calendar){...} instead of table{...} (9.7.3.7)' ); ?></li>
951 -<!-- PRO -->
952 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Stripe**: Updated Stripe PHP library from version 9.0.0 to 12.6.0. *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
953 - <li><?php echo wpbc_replace_to_strong_symbols( 'Max. visitors field at the Booking > Resources page is deprecated and removed. For defining capacity, use child booking resources. For defining max visitors selection, use a new custom booking form with a different number of users/visitors selection. *(Business Medium/Large, MultiUser)*' ); ?></li>
954 -
1385 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Auto-Detect & Format Phone Fields:** Phone fields now automatically detect and format numbers based on the user’s input and locale. Start typing +1 and the field instantly formats to +1 000 000 0000 (USA); type +34 for Spain and get +34 000 000 0000.' ) ); ?></li>
955 1386 </ul>
956 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Support' ); ?></h3>
1387 + </div>
1388 + <div class="wpbc_wn_col" style="flex: 1 1 50%;margin: 0px 0;">
1389 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1390 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.13/phone_validattion_01.png' ) ); ?>" style="margin:10px auto;max-width:600px;" />
1391 + </div>
1392 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
957 1393 <ul>
958 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; **Support for WordPress 6.4:** Added support for WordPress version 6.4.' ); ?></li>
1394 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Built-In Intelligence – No Setup Required** We intelligently detect phone fields by name (e.g., “phone”, “fone”, “tel”, “mobile”, “telefono”, etc.) and apply the right mask and placeholder automatically—no third-party APIs needed. Only valid digits are allowed; unsupported characters are blocked instantly.' ) ); ?></li>
959 1395 </ul>
960 - </ul>
961 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Translations' ); ?></h3>
962 - <ul>
963 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Translation: Improved German (94% completed) by Reinhard Kappen and French (93% completed) by Roby.' ); ?></li>
964 - </ul>
965 1396 </div>
966 - <div class="wpbc_wn_col">
967 - <h3><?php echo wpbc_replace_to_strong_symbols( 'Bug Fixes' ); ?></h3>
968 - <ul>
969 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Fixed an issue with not correctly showing creation and modification booking times on some servers.' ); ?></li>
970 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Corrected the problem of showing the calendar with an incorrectly defined Start week date at Booking > Availability page.' ); ?></li>
971 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of not translating some terms in the plugin (9.7.3.9).' ); ?></li>
972 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Fixed a color issue of daily cost in calendar date cells for the "Light-01" calendar skin (9.7.3.10).' ); ?></li>
973 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Fixed an Uncaught TypeError related to the wpbc-gcal-class.php file (9.7.3.15).' ); ?></li>
974 -<!-- PRO -->
975 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Fixed an issue of redirection to the "Unknown-Stripe-Payment" page after Stripe payment in Booking Calendar MultiUser version, if the option "Receive all payments only to Super Booking Admin account" was activated. (9.7.3.5) *(MultiUser)*' ); ?></li>
976 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Corrected the issue of not showing conditional time slots, which depend on Seasons. Uncaught Error: Syntax error, unrecognized expression: # jQuery 10(9.7.3.6) *(Business Medium/Large, MultiUser)*' ); ?></li>
977 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Resolved the problem of removing duplicate days\' selections at the "Specific days" selection option under range days selection mode using 2 mouse clicks. *(Business Small/Medium/Large, MultiUser)*' ); ?></li>
978 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Fixed the issue of showing available dates in the search form, while such dates were defined as unavailable at Booking > Availability page (9.7.3.11). *(Business Large, MultiUser)*' ); ?></li>
979 - <li><?php echo wpbc_replace_to_strong_symbols( '&bull; Eliminated the issue when used conditional days selection logic, and some weekdays were not defined in seasons. In this case, the system will use the default days selection settings. *(Business Medium/Large, MultiUser)*' ); ?></li>
980 - <ul>
981 - </div>
982 1397 </div>
983 - </div><?php
984 - // </editor-fold>
985 1398
1399 + </div>
1400 + <?php
986 1401
987 1402 $obj->expand_section_end( $section_param_arr );
988 1403 }