1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
//! Model struct for BusinessAppointmentSettings type
use crate::models::enums::{
BusinessAppointmentSettingsAlignmentTime, BusinessAppointmentSettingsBookingLocationType,
BusinessAppointmentSettingsCancellationPolicy,
BusinessAppointmentSettingsMaxAppointmentsPerDayLimitType,
};
use crate::models::Money;
use serde::{Deserialize, Serialize};
/// The service appointment settings, including where and how the service is provided.
#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
pub struct BusinessAppointmentSettings {
/// Types of the location allowed for bookings.
pub location_types: Option<Vec<BusinessAppointmentSettingsBookingLocationType>>,
/// The time unit of the service duration for bookings.
pub alignment_time: Option<BusinessAppointmentSettingsAlignmentTime>,
/// The minimum lead time in seconds before a service can be booked. A booking must be created
/// at least this amount of time before its starting time.
pub min_booking_lead_time_seconds: Option<i32>,
/// The maximum lead time in seconds before a service can be booked. A booking must be created
/// at most this amount of time before its starting time.
pub max_booking_lead_time_seconds: Option<i32>,
/// Indicates whether a customer can choose from all available time slots and have a staff
/// member assigned automatically (true) or not (false).
pub any_team_member_booking_enabled: Option<bool>,
/// Indicates whether a customer can book multiple services in a single online booking.
pub multiple_service_booking_enabled: Option<bool>,
/// Indicates whether the daily appointment limit applies to team members or to business
/// locations.
pub max_appointments_per_day_limit_type:
Option<BusinessAppointmentSettingsMaxAppointmentsPerDayLimitType>,
/// The maximum number of daily appointments per team member or per location.
pub max_appointments_per_day_limit: Option<i32>,
/// The cut-off time in seconds for allowing clients to cancel or reschedule an appointment.
pub cancellation_window_seconds: Option<i32>,
/// The flat-fee amount charged for a no-show booking.
pub cancellation_fee_money: Option<Money>,
/// The cancellation policy adopted by the seller.
pub cancellation_policy: Option<BusinessAppointmentSettingsCancellationPolicy>,
/// The free-form text of the seller's cancellation policy.
/// Max Length 65536
pub cancellation_policy_text: Option<String>,
/// Indicates whether customers has an assigned staff member (true) or can select s staff
/// member of their choice (false).
pub skip_booking_flow_staff_selection: Option<bool>,
}