$template_context Authorized step context. */ if ( ! defined( 'ABSPATH' ) ) { exit; } $step_data = isset( $template_context['step_data'] ) && is_array( $template_context['step_data'] ) ? $template_context['step_data'] : array(); $values = isset( $step_data['values'] ) && is_array( $step_data['values'] ) ? $step_data['values'] : array(); $weekdays = isset( $step_data['weekdays'] ) && is_array( $step_data['weekdays'] ) ? $step_data['weekdays'] : array(); $specific_day_presets = isset( $step_data['specific_day_presets'] ) && is_array( $step_data['specific_day_presets'] ) ? $step_data['specific_day_presets'] : array(); $legend_items = isset( $step_data['legend_items'] ) && is_array( $step_data['legend_items'] ) ? $step_data['legend_items'] : array(); $legend_preview_items = isset( $step_data['legend_preview_items'] ) && is_array( $step_data['legend_preview_items'] ) ? $step_data['legend_preview_items'] : array(); $time_options = isset( $step_data['time_options'] ) && is_array( $step_data['time_options'] ) ? $step_data['time_options'] : array(); $supports_advanced = ! empty( $step_data['supports_advanced_range_rules'] ); $preview_html = isset( $step_data['preview_html'] ) && is_string( $step_data['preview_html'] ) ? $step_data['preview_html'] : ''; $preview_error = isset( $step_data['preview_error'] ) && is_string( $step_data['preview_error'] ) ? $step_data['preview_error'] : ''; $resource_id = isset( $step_data['preview_resource_id'] ) ? absint( $step_data['preview_resource_id'] ) : 1; $customer_journey_policy = isset( $step_data['customer_journey_policy'] ) && is_array( $step_data['customer_journey_policy'] ) ? $step_data['customer_journey_policy'] : array(); $journey_mode_policies = isset( $customer_journey_policy['mode_policy'] ) && is_array( $customer_journey_policy['mode_policy'] ) ? $customer_journey_policy['mode_policy'] : array(); $selected_mode = isset( $values['date_selection_mode'] ) ? (string) $values['date_selection_mode'] : 'single'; $selected_mode_policy = isset( $journey_mode_policies[ $selected_mode ] ) && is_array( $journey_mode_policies[ $selected_mode ] ) ? $journey_mode_policies[ $selected_mode ] : array(); $changeover_policy = isset( $selected_mode_policy['changeover'] ) ? (string) $selected_mode_policy['changeover'] : 'hidden_off'; $recurrent_policy = isset( $selected_mode_policy['recurrent_time'] ) ? (string) $selected_mode_policy['recurrent_time'] : 'hidden_off'; $checkout_policy = isset( $selected_mode_policy['checkout_available'] ) ? (string) $selected_mode_policy['checkout_available'] : 'hidden_off'; $calendar_preview_year = absint( current_time( 'Y' ) ); $dynamic_weekdays = isset( $values['date_selection_dynamic_weekdays'] ) ? explode( ',', (string) $values['date_selection_dynamic_weekdays'] ) : array( '-1' ); $fixed_weekdays = isset( $values['date_selection_fixed_weekdays'] ) ? explode( ',', (string) $values['date_selection_fixed_weekdays'] ) : array( '-1' ); $changeover_is_enabled = $supports_advanced && isset( $values['date_selection_changeover_enabled'] ) && 'On' === $values['date_selection_changeover_enabled']; $changeover_is_visible = in_array( $changeover_policy, array( 'optional', 'required_on' ), true ); $recurrent_is_visible = in_array( $recurrent_policy, array( 'optional', 'optional_default_on', 'required_on' ), true ); $checkout_is_supported = 'optional' === $checkout_policy; $behavior_is_visible = $recurrent_is_visible || $checkout_is_supported; $locked_mode_count = 0; $legend_is_enabled = isset( $values['date_selection_legend_enabled'] ) && 'On' === $values['date_selection_legend_enabled']; $legend_is_vertical = isset( $values['date_selection_legend_vertical'] ) && 'On' === $values['date_selection_legend_vertical']; $advanced_toggle_disabled_reason = __( 'This option requires Booking Calendar Business Small or higher.', 'booking' ); $checkout_changeover_disabled_reason = __( 'Turn off Changeover days to use this option. Changeover processing already controls the check-out boundary.', 'booking' ); $checkout_mode_disabled_reason = __( 'This option is available only for Flexible or Fixed range selection.', 'booking' ); $changeover_journey_disabled_reason = __( 'Changeover days are required by the selected Customer Journey.', 'booking' ); $recurrent_journey_disabled_reason = __( 'The selected Customer Journey requires the same selected times on every booking date.', 'booking' ); $checkout_disabled_reason = ''; if ( ! $supports_advanced ) { $checkout_disabled_reason = $advanced_toggle_disabled_reason; } elseif ( ! $checkout_is_supported ) { $checkout_disabled_reason = $checkout_mode_disabled_reason; } elseif ( $changeover_is_enabled ) { $checkout_disabled_reason = $checkout_changeover_disabled_reason; } if ( in_array( '-1', $dynamic_weekdays, true ) ) { $dynamic_weekdays = array_column( $weekdays, 'value' ); } if ( in_array( '-1', $fixed_weekdays, true ) ) { $fixed_weekdays = array_column( $weekdays, 'value' ); } foreach ( $journey_mode_policies as $journey_mode_policy ) { if ( isset( $journey_mode_policy['status'] ) && 'locked' === $journey_mode_policy['status'] ) { $locked_mode_count++; } } $selection_modes = array( 'single' => array( 'label' => __( 'Single day', 'booking' ), 'description' => __( 'Customers choose one date.', 'booking' ), 'calendar_preview_type' => 'calendar', ), 'multiple' => array( 'label' => __( 'Multiple days', 'booking' ), 'description' => __( 'Customers choose independent dates.', 'booking' ), 'calendar_preview_type' => 'calendar-multiple', ), 'dynamic' => array( 'label' => __( 'Flexible range', 'booking' ), 'description' => __( 'Customers choose the first and last date.', 'booking' ), 'calendar_preview_type' => 'range-flexible-end', ), 'fixed' => array( 'label' => __( 'Fixed range', 'booking' ), 'description' => __( 'One click selects a set number of days.', 'booking' ), 'calendar_preview_type' => 'range-fixed-selected', ), ); ?>

render( 'settings-hint', array( 'settings_hint' => $template_context['settings_hint'] ) ); ?>
$mode ) : ?>

hidden>
hidden>
hidden>

title="" tabindex="0" aria-describedby="wpbc-date-selection-changeover-disabled-description" data-wpbc-date-selection-disabled-tooltip-active="1" > >

hidden >
title="" tabindex="0" aria-describedby="wpbc-date-selection-triangles-disabled-description" data-wpbc-date-selection-disabled-tooltip-active="1" > >
hidden>

hidden> title="" tabindex="0" aria-describedby="wpbc-date-selection-recurrent-time-disabled-description" data-wpbc-date-selection-disabled-tooltip-active="1" > >
hidden > title="" tabindex="0" aria-describedby="wpbc-date-selection-checkout-disabled-description" data-wpbc-date-selection-disabled-tooltip-active="1" > >

>
hidden>
>
>
>