PluginProbe ʕ •ᴥ•ʔ
LatePoint – Calendar Booking Plugin for Appointments and Events / 5.1.3
LatePoint – Calendar Booking Plugin for Appointments and Events v5.1.3
5.6.6 5.6.5 5.6.4 5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0 5.4.2 trunk 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.1.91 5.1.92 5.1.93 5.1.94 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1
latepoint / lib / views / settings / general.php
latepoint / lib / views / settings Last commit date
custom_day_schedule_form.php 1 year ago default_form_fields.php 1 year ago general.php 1 year ago get_pro.php 1 year ago import_modal.php 1 year ago notifications.php 1 year ago pages.php 1 year ago payments.php 1 year ago steps_order_modal.php 1 year ago version_5_intro.php 1 year ago work_periods.php 1 year ago
general.php
515 lines
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit; // Exit if accessed directly
4 }
5 ?>
6 <div class="latepoint-settings-w os-form-w">
7 <form action="" data-os-action="<?php echo esc_attr(OsRouterHelper::build_route_name( 'settings', 'update' )); ?>">
8 <?php wp_nonce_field( 'update_settings' ); ?>
9 <div class="white-box section-anchor" id="stickySectionAppointment">
10 <div class="white-box-header">
11 <div class="os-form-sub-header"><h3><?php esc_html_e( 'Appointment Settings', 'latepoint' ); ?></h3></div>
12 </div>
13 <div class="white-box-content no-padding">
14 <div class="sub-section-row">
15 <div class="sub-section-label">
16 <h3><?php esc_html_e( 'Statuses', 'latepoint' ) ?></h3>
17 </div>
18 <div class="sub-section-content">
19 <div class="os-row os-mb-3">
20 <div class="os-col-lg-6">
21 <?php echo OsFormHelper::select_field( 'settings[default_booking_status]', __( 'Default status', 'latepoint' ), OsBookingHelper::get_statuses_list(), OsBookingHelper::get_default_booking_status() ); ?>
22 </div>
23 <div class="os-col-lg-6">
24 <?php echo OsFormHelper::multi_select_field( 'settings[timeslot_blocking_statuses]', __( 'Statuses that block timeslot', 'latepoint' ), OsBookingHelper::get_statuses_list(), OsBookingHelper::get_timeslot_blocking_statuses() ); ?>
25 </div>
26 </div>
27 <div class="os-row os-mb-3">
28 <div class="os-col-lg-6">
29 <?php echo OsFormHelper::multi_select_field( 'settings[need_action_statuses]', __( 'Statuses that appear on pending page', 'latepoint' ), OsBookingHelper::get_statuses_list(), OsBookingHelper::get_booking_statuses_for_pending_page() ); ?>
30 </div>
31 <div class="os-col-lg-6">
32 <?php echo OsFormHelper::multi_select_field( 'settings[calendar_hidden_statuses]', __( 'Statuses hidden on calendar', 'latepoint' ), OsBookingHelper::get_statuses_list(), OsCalendarHelper::get_booking_statuses_hidden_from_calendar() ); ?>
33 </div>
34 </div>
35 <div class="os-row">
36 <div class="os-col-12">
37 <?php echo OsFormHelper::text_field( 'settings[additional_booking_statuses]', __( 'Additional Statuses (comma separated)', 'latepoint' ), OsSettingsHelper::get_settings_value( 'additional_booking_statuses' ), [ 'theme' => 'simple' ] ); ?>
38 </div>
39 </div>
40 </div>
41 </div>
42 <div class="sub-section-row">
43 <div class="sub-section-label">
44 <h3><?php esc_html_e( 'Date and time', 'latepoint' ) ?></h3>
45 </div>
46 <div class="sub-section-content">
47 <div class="os-row os-mb-3">
48 <div class="os-col-6">
49 <?php echo OsFormHelper::select_field( 'settings[time_system]', __( 'Time system', 'latepoint' ), OsTimeHelper::get_time_systems_list_for_select(), OsTimeHelper::get_time_system() ); ?>
50 </div>
51 <div class="os-col-6">
52 <?php echo OsFormHelper::select_field( 'settings[date_format]', __( 'Date format', 'latepoint' ), OsTimeHelper::get_date_formats_list_for_select(), OsSettingsHelper::get_date_format() ); ?>
53 </div>
54 </div>
55 <?php echo OsFormHelper::text_field( 'settings[timeblock_interval]', __( 'Selectable intervals', 'latepoint' ), OsSettingsHelper::get_default_timeblock_interval(), [
56 'class' => 'os-mask-minutes',
57 'theme' => 'simple'
58 ] ); ?>
59 <div class="os-row os-mb-3">
60 <div class="os-col-lg-6">
61 <?php echo OsFormHelper::toggler_field( 'settings[show_booking_end_time]', __( 'Show appointment end time', 'latepoint' ), OsSettingsHelper::is_on( 'show_booking_end_time' ), false, false, [ 'sub_label' => __( 'Show booking end time during booking process and on summary', 'latepoint' ) ] ); ?>
62 </div>
63 <div class="os-col-lg-6">
64 <?php echo OsFormHelper::toggler_field( 'settings[disable_verbose_date_output]', __( 'Disable verbose date output', 'latepoint' ), OsSettingsHelper::is_on( 'disable_verbose_date_output' ), false, false, [ 'sub_label' => __( 'Use number instead of name of the month when outputting dates', 'latepoint' ) ] ); ?>
65 </div>
66 </div>
67 </div>
68 </div>
69 </div>
70 </div>
71 <div class="white-box section-anchor" id="stickySectionRestrictions">
72 <div class="white-box-header">
73 <div class="os-form-sub-header"><h3><?php esc_html_e( 'Restrictions', 'latepoint' ); ?></h3></div>
74 </div>
75 <div class="white-box-content no-padding">
76
77 <div class="sub-section-row">
78 <div class="sub-section-label">
79 <h3><?php esc_html_e( 'Time Restrictions', 'latepoint' ) ?></h3>
80 </div>
81 <div class="sub-section-content">
82 <div class="latepoint-message latepoint-message-subtle"><?php esc_html_e( 'You can set restrictions on earliest/latest dates in the future when your customer can place an appointment. You can either use a relative values like for example "+1 month", "+2 weeks", "+5 days", "+3 hours", "+30 minutes" (entered without quotes), or you can use a fixed date in format YYYY-MM-DD. Leave blank to remove any limitations.', 'latepoint' ); ?></div>
83 <div class="os-row">
84 <div class="os-col-lg-6">
85 <?php echo OsFormHelper::text_field( 'settings[earliest_possible_booking]', __( 'Earliest Possible Booking', 'latepoint' ), OsSettingsHelper::get_settings_value( 'earliest_possible_booking' ), [ 'theme' => 'simple' ] ); ?>
86 </div>
87 <div class="os-col-lg-6">
88 <?php echo OsFormHelper::text_field( 'settings[latest_possible_booking]', __( 'Latest Possible Booking', 'latepoint' ), OsSettingsHelper::get_settings_value( 'latest_possible_booking' ), [ 'theme' => 'simple' ] ); ?>
89 </div>
90 </div>
91 </div>
92 </div>
93 <div class="sub-section-row">
94 <div class="sub-section-label">
95 <h3><?php esc_html_e( 'Quantity Restrictions', 'latepoint' ) ?></h3>
96 </div>
97 <div class="sub-section-content">
98 <?php echo OsFormHelper::text_field( 'settings[max_future_bookings_per_customer]', __( 'Maximum Number of Future Bookings per Customer', 'latepoint' ), OsSettingsHelper::get_settings_value( 'max_future_bookings_per_customer' ), [ 'theme' => 'simple' ] ); ?>
99 </div>
100 </div>
101 <?php
102 /**
103 * Plug after general settings section called restrictions
104 *
105 * @since 5.0.0
106 * @hook latepoint_general_settings_section_restrictions_after
107 *
108 */
109 do_action( 'latepoint_general_settings_section_restrictions_after' ); ?>
110 </div>
111 </div>
112 <div class="white-box section-anchor" id="stickySectionCurrency">
113 <div class="white-box-header">
114 <div class="os-form-sub-header"><h3><?php esc_html_e( 'Currency & Price', 'latepoint' ); ?></h3></div>
115 </div>
116 <div class="white-box-content no-padding">
117 <div class="sub-section-row">
118 <div class="sub-section-label">
119 <h3><?php esc_html_e( 'Symbol', 'latepoint' ) ?></h3>
120 </div>
121 <div class="sub-section-content">
122 <div class="os-row">
123 <div class="os-col-lg-4">
124 <?php echo OsFormHelper::text_field( 'settings[currency_symbol_before]', __( 'Symbol before the price', 'latepoint' ), OsSettingsHelper::get_settings_value( 'currency_symbol_before', '$' ), [ 'theme' => 'simple' ] ); ?>
125 </div>
126 <div class="os-col-lg-4">
127 <?php echo OsFormHelper::text_field( 'settings[currency_symbol_after]', __( 'Symbol after the price', 'latepoint' ), OsSettingsHelper::get_settings_value( 'currency_symbol_after' ), [ 'theme' => 'simple' ] ); ?>
128 </div>
129 </div>
130 </div>
131 </div>
132 <div class="sub-section-row">
133 <div class="sub-section-label">
134 <h3><?php esc_html_e( 'Formatting', 'latepoint' ) ?></h3>
135 </div>
136 <div class="sub-section-content">
137 <div class="os-row">
138 <div class="os-col-lg-4">
139 <?php echo OsFormHelper::select_field( 'settings[thousand_separator]', __( 'Thousand Separator', 'latepoint' ), [
140 ',' => __( 'Comma', 'latepoint' ) . ' (1,000)',
141 '.' => __( 'Dot', 'latepoint' ) . ' (1.000)',
142 ' ' => __( 'Space', 'latepoint' ) . ' (1 000)',
143 '' => __( 'None', 'latepoint' ) . ' (1000)'
144 ], OsSettingsHelper::get_settings_value( 'thousand_separator', ',' ) ); ?>
145 </div>
146 <div class="os-col-lg-4">
147 <?php echo OsFormHelper::select_field( 'settings[decimal_separator]', __( 'Decimal Separator', 'latepoint' ), [
148 '.' => __( 'Dot', 'latepoint' ) . ' (0.99)',
149 ',' => __( 'Comma', 'latepoint' ) . ' (0,99)'
150 ], OsSettingsHelper::get_settings_value( 'decimal_separator', '.' ) ); ?>
151 </div>
152 <div class="os-col-lg-4">
153 <?php echo OsFormHelper::select_field( 'settings[number_of_decimals]', __( 'Number of Decimals', 'latepoint' ), [ 0, 1, 2, 3, 4 ], OsSettingsHelper::get_settings_value( 'number_of_decimals', '2' ) ); ?>
154 </div>
155 </div>
156 </div>
157 </div>
158 <div class="sub-section-row">
159 <div class="sub-section-label">
160 <h3><?php esc_html_e( 'Prices', 'latepoint' ) ?></h3>
161 </div>
162 <div class="sub-section-content">
163 <?php echo OsFormHelper::toggler_field( 'settings[hide_breakdown_if_subtotal_zero]', __( 'Do not show price breakdown, if service price is zero', 'latepoint' ), OsSettingsHelper::is_on( 'hide_breakdown_if_subtotal_zero' ) ); ?>
164 </div>
165 </div>
166 </div>
167 </div>
168 <div class="white-box section-anchor" id="stickySectionPhone">
169 <div class="white-box-header">
170 <div class="os-form-sub-header"><h3><?php esc_html_e( 'Phone Settings', 'latepoint' ); ?></h3></div>
171 </div>
172 <div class="white-box-content no-padding">
173 <div class="sub-section-row phone-country-picker-settings">
174 <div class="sub-section-label">
175 <h3><?php esc_html_e( 'Countries', 'latepoint' ) ?></h3>
176 </div>
177 <div class="sub-section-content">
178 <div class="phone-country-picker-settings">
179 <div class="os-row os-mb-2">
180 <div class="os-col-lg-4">
181 <?php echo OsFormHelper::select_field( 'settings[list_of_phone_countries]', __( 'Countries shown in phone field', 'latepoint' ), [
182 LATEPOINT_ALL => __( 'Show all countries', 'latepoint' ),
183 'select' => __( 'Show selected countries', 'latepoint' )
184 ], OsSettingsHelper::get_settings_value( 'list_of_phone_countries', LATEPOINT_ALL ) ); ?>
185 </div>
186 <div class="os-col-lg-8">
187 <?php echo OsFormHelper::select_field( 'settings[default_phone_country]', __( 'Default Country (if not auto-detected)', 'latepoint' ), OsUtilHelper::get_countries_list(), OsSettingsHelper::get_default_phone_country() ); ?>
188 </div>
189 </div>
190 <div class="os-row">
191 <div class="os-col-12 select-phone-countries-wrapper"
192 style="<?php echo ( OsSettingsHelper::get_settings_value( 'list_of_phone_countries', LATEPOINT_ALL ) == LATEPOINT_ALL ) ? 'display: none;' : ''; ?>">
193 <?php echo OsFormHelper::multi_select_field( 'settings[included_phone_countries]', __( 'Select countries available for phone number field', 'latepoint' ), OsUtilHelper::get_countries_list(), OsSettingsHelper::get_included_phone_countries() ); ?>
194 </div>
195 </div>
196 </div>
197 </div>
198 </div>
199 <div class="sub-section-row phone-country-picker-settings">
200 <div class="sub-section-label">
201 <h3><?php esc_html_e( 'Validation', 'latepoint' ) ?></h3>
202 </div>
203 <div class="sub-section-content">
204 <?php echo OsFormHelper::toggler_field( 'settings[validate_phone_number]', __( 'Validate phone typed fields if they are set as required', 'latepoint' ), OsSettingsHelper::is_on( 'validate_phone_number' ), false, false, [ 'sub_label' => __( 'Reject invalid phone for customers and agents if the phone field is set as required', 'latepoint' ) ] ); ?>
205 <?php echo OsFormHelper::toggler_field( 'settings[mask_phone_number_fields]', __( 'Format phone number on input', 'latepoint' ), OsSettingsHelper::is_on( 'mask_phone_number_fields', LATEPOINT_VALUE_ON ), false, false, [ 'sub_label' => __( 'Applies formatting on phone fields based on the country selected (not recommended for countries that have multiple NSN lengths)', 'latepoint' ) ] ); ?>
206 <?php echo OsFormHelper::toggler_field( 'settings[show_dial_code_with_flag]', __( 'Show country dial code next to flag', 'latepoint' ), OsSettingsHelper::is_enabled_show_dial_code_with_flag(), false, false, [ 'sub_label' => __( 'If enabled, will show a country code next to a flag, for example +1 for United States', 'latepoint' ) ] ); ?>
207 </div>
208 </div>
209 </div>
210 </div>
211 <div class="white-box section-anchor" id="stickySectionAgent">
212 <div class="white-box-header">
213 <div class="os-form-sub-header"><h3><?php esc_html_e( 'Timeslot Availability Logic', 'latepoint' ); ?></h3>
214 </div>
215 </div>
216 <div class="white-box-content no-padding">
217 <div class="sub-section-row">
218 <div class="sub-section-label">
219 <h3><?php esc_html_e( 'Restrictions', 'latepoint' ) ?></h3>
220 </div>
221 <div class="sub-section-content">
222 <?php echo OsFormHelper::toggler_field( 'settings[one_agent_at_location]', __( 'Location can only be used by one agent at a time', 'latepoint' ), OsSettingsHelper::is_on( 'one_agent_at_location' ), '', 'large', [ 'sub_label' => __( 'At any given location, only one agent can be booked at a time', 'latepoint' ) ] ); ?>
223 <?php echo OsFormHelper::toggler_field( 'settings[one_location_at_time]', __( 'Agents can only be present in one location at a time', 'latepoint' ), OsSettingsHelper::is_on( 'one_location_at_time' ), '', 'large', [ 'sub_label' => __( 'If an agent is booked at one location, he will not be able to accept any bookings for the same timeslot at other locations', 'latepoint' ) ] ); ?>
224 </div>
225 </div>
226 <div class="sub-section-row">
227 <div class="sub-section-label">
228 <h3><?php esc_html_e( 'Permissions', 'latepoint' ) ?></h3>
229 </div>
230 <div class="sub-section-content">
231 <?php echo OsFormHelper::toggler_field( 'settings[multiple_services_at_time]', __( 'One agent can perform different services simultaneously', 'latepoint' ), OsSettingsHelper::is_on( 'multiple_services_at_time' ), '', 'large', [ 'sub_label' => __( 'Allows an agent to be booked for different services within the same timeslot', 'latepoint' ) ] ); ?>
232 </div>
233 </div>
234 </div>
235 </div>
236 <div class="white-box section-anchor" id="stickySectionCustomer">
237 <div class="white-box-header">
238 <div class="os-form-sub-header"><h3><?php esc_html_e( 'Customer Settings', 'latepoint' ); ?></h3></div>
239 </div>
240 <div class="white-box-content no-padding">
241 <div class="sub-section-row">
242 <div class="sub-section-label">
243 <h3><?php esc_html_e( 'Rescheduling', 'latepoint' ) ?></h3>
244 </div>
245 <div class="sub-section-content">
246 <?php echo OsFormHelper::toggler_field( 'settings[allow_customer_booking_reschedule]', __( 'Allow customers reschedule their bookings', 'latepoint' ), OsSettingsHelper::is_on( 'allow_customer_booking_reschedule' ), 'reschedule_settings', 'normal', [ 'sub_label' => __( 'If enable, shows a button on customer cabinet to reschedule an appointment', 'latepoint' ) ] ); ?>
247 <div class="os-mb-2"
248 id="reschedule_settings" <?php echo OsSettingsHelper::is_on( 'allow_customer_booking_reschedule' ) ? '' : 'style="display:none"' ?>>
249 <?php echo OsFormHelper::toggler_field( 'settings[limit_when_customer_can_reschedule]', __( 'Set restriction on when customer can reschedule', 'latepoint' ), OsSettingsHelper::is_on( 'limit_when_customer_can_reschedule' ), 'reschedule_limit_settings' ); ?>
250 <div class="os-mb-2"
251 id="reschedule_limit_settings" <?php echo OsSettingsHelper::is_on( 'limit_when_customer_can_reschedule' ) ? '' : 'style="display:none"' ?>>
252 <div class="merged-fields os-mt-1">
253 <div class="merged-label"><?php esc_html_e( 'Can reschedule when it is at least', 'latepoint' ); ?></div>
254 <?php echo OsFormHelper::text_field( 'settings[reschedule_limit_value]', false, OsSettingsHelper::get_settings_value( 'reschedule_limit_value', 5 ), [ 'placeholder' => __( 'Value', 'latepoint' ) ] ); ?>
255 <?php echo OsFormHelper::select_field( 'settings[reschedule_limit_unit]', false,
256 array(
257 'minute' => __( 'minutes', 'latepoint' ),
258 'hour' => __( 'hours', 'latepoint' ),
259 'day' => __( 'days', 'latepoint' )
260 ),
261 OsSettingsHelper::get_settings_value( 'reschedule_limit_unit', 'hour' ) ); ?>
262 <div class="merged-label"><?php esc_html_e( 'before appointment start time', 'latepoint' ); ?></div>
263 </div>
264 </div>
265 <?php echo OsFormHelper::toggler_field( 'settings[change_status_on_customer_reschedule]', __( 'Change booking status when customer reschedules', 'latepoint' ), OsSettingsHelper::is_on( 'change_status_on_customer_reschedule' ), 'reschedule_change_status_settings' ); ?>
266 <div class="os-mb-2"
267 id="reschedule_change_status_settings" <?php echo OsSettingsHelper::is_on( 'change_status_on_customer_reschedule' ) ? '' : 'style="display:none"' ?>>
268 <div class="merged-fields os-mt-1">
269 <div class="merged-label"><?php esc_html_e( 'Change status to:', 'latepoint' ); ?></div>
270 <?php echo OsFormHelper::select_field( 'settings[status_to_set_after_customer_reschedule]', false,
271 OsBookingHelper::get_statuses_list(),
272 OsSettingsHelper::get_settings_value( 'status_to_set_after_customer_reschedule', LATEPOINT_BOOKING_STATUS_PENDING ) ); ?>
273 </div>
274 </div>
275 </div>
276 </div>
277 </div>
278 <div class="sub-section-row">
279 <div class="sub-section-label">
280 <h3><?php esc_html_e( 'Cancellation', 'latepoint' ) ?></h3>
281 </div>
282 <div class="sub-section-content">
283 <?php echo OsFormHelper::toggler_field( 'settings[allow_customer_booking_cancellation]', __( 'Allow customers cancel their bookings', 'latepoint' ), OsSettingsHelper::is_on( 'allow_customer_booking_cancellation' ), 'cancellation_settings', 'normal', [ 'sub_label' => __( 'If enable, shows a button on customer cabinet to cancel an appointment', 'latepoint' ) ] ); ?>
284 <div class="os-mb-2"
285 id="cancellation_settings" <?php echo OsSettingsHelper::is_on( 'allow_customer_booking_cancellation' ) ? '' : 'style="display:none"' ?>>
286 <?php echo OsFormHelper::toggler_field( 'settings[limit_when_customer_can_cancel]', __( 'Set restriction on when customer can cancel', 'latepoint' ), OsSettingsHelper::is_on( 'limit_when_customer_can_cancel' ), 'cancellation_limit_settings' ); ?>
287 <div class="os-mb-4"
288 id="cancellation_limit_settings" <?php echo OsSettingsHelper::is_on( 'limit_when_customer_can_cancel' ) ? '' : 'style="display:none"' ?>>
289 <div class="merged-fields os-mt-1">
290 <div class="merged-label"><?php esc_html_e( 'Can cancel when it is at least', 'latepoint' ); ?></div>
291 <?php echo OsFormHelper::text_field( 'settings[cancellation_limit_value]', false, OsSettingsHelper::get_settings_value( 'cancellation_limit_value', 5 ), [ 'placeholder' => __( 'Value', 'latepoint' ) ] ); ?>
292 <?php echo OsFormHelper::select_field( 'settings[cancellation_limit_unit]', false,
293 array(
294 'minute' => __( 'minutes', 'latepoint' ),
295 'hour' => __( 'hours', 'latepoint' ),
296 'day' => __( 'days', 'latepoint' )
297 ),
298 OsSettingsHelper::get_settings_value( 'cancellation_limit_unit', 'hour' ) ); ?>
299 <div class="merged-label"><?php esc_html_e( 'before appointment start time', 'latepoint' ); ?></div>
300 </div>
301 </div>
302 </div>
303 </div>
304 </div>
305 <div class="sub-section-row">
306 <div class="sub-section-label">
307 <h3><?php esc_html_e( 'Customer Cabinet', 'latepoint' ) ?></h3>
308 </div>
309 <div class="sub-section-content">
310 <div class="os-mt-2">
311 <?php echo OsFormHelper::text_field( 'settings[customer_dashboard_book_shortcode]', __( 'Shortcode for contents of New Appointment tab', 'latepoint' ), OsSettingsHelper::get_settings_value( 'customer_dashboard_book_shortcode', '[latepoint_book_form]' ), [ 'theme' => 'simple' ] ); ?>
312 </div>
313 <div class="os-mt-2">
314 <div class="latepoint-message latepoint-message-subtle"><?php esc_html_e( 'You can set attributes for a new appointment button tile in a format', 'latepoint' ); ?>
315 <strong>data-selected-agent="ID" data-selected-location="ID" etc...</strong></div>
316 <?php echo OsFormHelper::text_field( 'settings[customer_dashboard_book_button_attributes]', __( 'Attributes for New Appointment button', 'latepoint' ), OsSettingsHelper::get_settings_value( 'customer_dashboard_book_button_attributes', '' ), [ 'theme' => 'simple' ] ); ?>
317 </div>
318 </div>
319 </div>
320 <div class="sub-section-row">
321 <div class="sub-section-label">
322 <h3><?php esc_html_e( 'Authentication', 'latepoint' ) ?></h3>
323 </div>
324 <div class="sub-section-content">
325 <?php echo OsFormHelper::toggler_field( 'settings[wp_users_as_customers]', __( 'Use WordPress users as customers', 'latepoint' ), OsSettingsHelper::is_on( 'wp_users_as_customers' ), false, false, [ 'sub_label' => __( 'Customers can login using their WordPress credentials', 'latepoint' ) ] ); ?>
326 <?php echo OsFormHelper::toggler_field( 'settings[steps_require_setting_password]', __( 'Require customers to set password', 'latepoint' ), OsSettingsHelper::is_on( 'steps_require_setting_password' ), false, false, [ 'sub_label' => __( 'Shows password field on registration step', 'latepoint' ) ] ); ?>
327 <?php echo OsFormHelper::toggler_field( 'settings[steps_hide_login_register_tabs]', __( 'Remove login and register tabs', 'latepoint' ), OsSettingsHelper::is_on( 'steps_hide_login_register_tabs' ), false, false, [ 'sub_label' => __( 'This will disable ability for customers to login or register on booking form', 'latepoint' ) ] ); ?>
328 <?php echo OsFormHelper::toggler_field( 'settings[steps_hide_registration_prompt]', __( 'Hide "Create Account" prompt on confirmation step', 'latepoint' ), OsSettingsHelper::is_on( 'steps_hide_registration_prompt' ) ); ?>
329 </div>
330 </div>
331
332 <?php
333 /**
334 * Plug after customer general settings output
335 *
336 * @since 5.1.0
337 * @hook latepoint_settings_general_customer_after
338 *
339 */
340 do_action( 'latepoint_settings_general_customer_after' ); ?>
341 </div>
342 </div>
343 <div class="white-box section-anchor" id="stickySectionSetup">
344 <div class="white-box-header">
345 <div class="os-form-sub-header"><h3><?php esc_html_e( 'Setup Pages', 'latepoint' ); ?></h3></div>
346 </div>
347 <div class="white-box-content no-padding">
348 <div class="sub-section-row">
349 <div class="sub-section-label">
350 <h3><?php esc_html_e( 'Set Page URLs', 'latepoint' ) ?></h3>
351 </div>
352 <div class="sub-section-content">
353 <?php echo OsFormHelper::text_field( 'settings[page_url_customer_dashboard]', __( 'Customer Dashboard Page URL', 'latepoint' ), OsSettingsHelper::get_customer_dashboard_url( false ), [ 'theme' => 'simple' ] ); ?>
354 <?php echo OsFormHelper::text_field( 'settings[page_url_customer_login]', __( 'Customer Login Page URL', 'latepoint' ), OsSettingsHelper::get_customer_login_url( false ), [ 'theme' => 'simple' ] ); ?>
355 </div>
356 </div>
357 </div>
358 </div>
359 <?php
360 /**
361 * Plug before "Other Settings" section in general settings
362 *
363 * @since 5.1.0
364 * @hook latepoint_settings_general_before_other
365 *
366 */
367 do_action( 'latepoint_settings_general_before_other' ); ?>
368 <div class="white-box section-anchor" id="stickySectionOther">
369 <div class="white-box-header">
370 <div class="os-form-sub-header"><h3><?php esc_html_e( 'Other Settings', 'latepoint' ); ?></h3></div>
371 </div>
372 <div class="white-box-content no-padding">
373 <div class="sub-section-row">
374 <div class="sub-section-label">
375 <h3><?php esc_html_e( 'Business Information', 'latepoint' ) ?></h3>
376 </div>
377 <div class="sub-section-content">
378 <div class="os-row os-mb-2">
379 <div class="os-col-lg-12">
380 <?php echo OsFormHelper::media_uploader_field( 'settings[business_logo]', 0, __( 'Company Logo', 'latepoint' ), __( 'Remove Image', 'latepoint' ), OsSettingsHelper::get_settings_value( 'business_logo' ) ); ?>
381 </div>
382 </div>
383 <div class="os-row">
384 <div class="os-col-lg-3">
385 <?php echo OsFormHelper::text_field( 'settings[business_name]', __( 'Company Name', 'latepoint' ), OsSettingsHelper::get_settings_value( 'business_name' ), [ 'theme' => 'simple' ] ); ?>
386 </div>
387 <div class="os-col-lg-3">
388 <?php echo OsFormHelper::text_field( 'settings[business_phone]', __( 'Business Phone', 'latepoint' ), OsSettingsHelper::get_settings_value( 'business_phone' ), [ 'theme' => 'simple' ] ); ?>
389 </div>
390 <div class="os-col-lg-6">
391 <?php echo OsFormHelper::text_field( 'settings[business_address]', __( 'Business Address', 'latepoint' ), OsSettingsHelper::get_settings_value( 'business_address' ), [ 'theme' => 'simple' ] ); ?>
392 </div>
393 </div>
394 </div>
395 </div>
396 <div class="sub-section-row">
397 <div class="sub-section-label">
398 <h3><?php esc_html_e( 'Calendar Settings', 'latepoint' ) ?></h3>
399 </div>
400 <div class="sub-section-content">
401 <?php echo OsFormHelper::text_field( 'settings[day_calendar_min_height]', __( 'Minimum height of a daily calendar (in pixels)', 'latepoint' ), OsSettingsHelper::get_day_calendar_min_height(), [ 'theme' => 'simple' ] ); ?>
402
403
404 <div class="latepoint-message latepoint-message-subtle"><?php esc_html_e( 'You can use variables in your booking template, they will be replaced with a value for the booking. ', 'latepoint' ) ?><?php echo OsUtilHelper::template_variables_link_html(); ?></div>
405 <?php echo OsFormHelper::text_field( 'settings[booking_template_for_calendar]', __( 'Booking tile information to display on calendar', 'latepoint' ), OsSettingsHelper::get_booking_template_for_calendar(), [ 'theme' => 'simple' ] ); ?>
406 </div>
407 </div>
408 <div class="sub-section-row">
409 <div class="sub-section-label">
410 <h3><?php esc_html_e( 'Conversion Tracking', 'latepoint' ) ?></h3>
411 </div>
412 <div class="sub-section-content">
413 <div class="latepoint-message latepoint-message-subtle">
414 <div><?php esc_html_e( 'You can include some javascript or html that will be appended to the confirmation step. For example you can track ad conversions by triggering a tracking code or a facebook pixel. You can use these variables within your code. Click on the variable to copy.', 'latepoint' ); ?></div>
415 </div>
416 <div class="tracking-info-w">
417 <div class="available-vars-w">
418 <div class="available-vars-i">
419 <div class="available-vars-block">
420 <ul>
421 <li>
422 <span class="var-label"><?php esc_html_e( 'Order ID#:', 'latepoint' ); ?></span>
423 <span class="var-code os-click-to-copy">{{order_id}}</span>
424 </li>
425 <li>
426 <span class="var-label"><?php esc_html_e( 'Customer ID#:', 'latepoint' ); ?></span>
427 <span class="var-code os-click-to-copy">{{customer_id}}</span>
428 </li>
429 <li>
430 <span class="var-label"><?php esc_html_e( 'Order Total:', 'latepoint' ); ?></span>
431 <span class="var-code os-click-to-copy">{{order_total}}</span>
432 </li>
433 <li>
434 <span class="var-label"><?php esc_html_e( 'Service IDs#:', 'latepoint' ); ?></span>
435 <span class="var-code os-click-to-copy">{{service_ids}}</span>
436 </li>
437 <li>
438 <span class="var-label"><?php esc_html_e( 'Agent IDs#:', 'latepoint' ); ?></span>
439 <span class="var-code os-click-to-copy">{{agent_ids}}</span>
440 </li>
441 <li>
442 <span class="var-label"><?php esc_html_e( 'Bundle IDs#:', 'latepoint' ); ?></span>
443 <span class="var-code os-click-to-copy">{{bundle_ids}}</span>
444 </li>
445 <li>
446 <span class="var-label"><?php esc_html_e( 'Location IDs#:', 'latepoint' ); ?></span>
447 <span class="var-code os-click-to-copy">{{location_ids}}</span>
448 </li>
449 </ul>
450 </div>
451 </div>
452 </div>
453 <?php echo OsFormHelper::textarea_field( 'settings[confirmation_step_tracking_code]', false, OsSettingsHelper::get_settings_value( 'confirmation_step_tracking_code', '' ), array(
454 'theme' => 'bordered',
455 'rows' => 9,
456 'placeholder' => __( 'Enter Tracking code here', 'latepoint' )
457 ), [ 'class' => 'tracking-code-input-w' ] ); ?>
458 </div>
459 </div>
460 </div>
461
462 <div class="sub-section-row">
463 <div class="sub-section-label">
464 <h3><?php esc_html_e( 'Data Tables', 'latepoint' ) ?></h3>
465 </div>
466 <div class="sub-section-content">
467 <div class="os-row">
468 <div class="os-col-lg-6">
469 <?php echo OsFormHelper::toggler_field( 'settings[allow_non_admins_download_csv]', __( 'Allow non admins to download table data as csv', 'latepoint' ), OsSettingsHelper::is_on( 'allow_non_admins_download_csv' ), false, false, [ 'sub_label' => __( 'Only admins will be able to download table data as csv', 'latepoint' ) ] ); ?>
470 </div>
471
472 <div class="os-col-lg-3">
473 <?php echo OsFormHelper::select_field( 'settings[number_of_records_per_page]', __( 'Number of records per page', 'latepoint' ), [ 20, 50, 100, 200 ], OsSettingsHelper::get_settings_value( 'number_of_records_per_page', 20 ) ); ?>
474 </div>
475 </div>
476 </div>
477 </div>
478 <div class="sub-section-row">
479 <div class="sub-section-label">
480 <h3><?php esc_html_e( 'Export/Import', 'latepoint' ) ?></h3>
481 </div>
482 <div class="sub-section-content">
483 <a class="latepoint-btn latepoint-btn-grey latepoint-btn-outline" target="_blank" href="<?php echo OsRouterHelper::build_admin_post_link( [ 'settings', 'export_data' ]); ?>">
484 <i class="latepoint-icon latepoint-icon-external-link"></i>
485 <span><?php esc_html_e('Export Data'); ?></span>
486 </a>
487 <a data-os-lightbox-classes="width-700" data-os-action="<?php echo esc_attr(OsRouterHelper::build_route_name('settings', 'import_modal')); ?>" href="#" data-os-output-target="lightbox" class="latepoint-btn latepoint-btn-grey latepoint-btn-outline"><i class="latepoint-icon latepoint-icon-download"></i><span><?php esc_html_e('Import Data', 'latepoint'); ?></span></a>
488 </div>
489 </div>
490
491 <?php
492 /**
493 * Plug after other general settings output
494 *
495 * @since 4.7.0
496 * @hook latepoint_settings_general_other_after
497 *
498 */
499 do_action( 'latepoint_settings_general_other_after' ); ?>
500 </div>
501 </div>
502 <?php
503 /**
504 * Plug after general settings output, before buttons
505 *
506 * @since 4.7.8
507 * @hook latepoint_settings_general_after
508 *
509 */
510 do_action( 'latepoint_settings_general_after' ); ?>
511 <div class="os-form-buttons">
512 <?php echo OsFormHelper::button( 'submit', __( 'Save Settings', 'latepoint' ), 'submit', [ 'class' => 'latepoint-btn' ] ); ?>
513 </div>
514 </form>
515 </div>