# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-06-29T07:47:47+00:00
from __future__ import annotations
from datetime import datetime
from enum import Enum
from typing import Dict, List, Optional
from pydantic import BaseModel, ConfigDict, Field, RootModel
class AddressInputModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
addressLine1: Optional[str] = None
addressLine2: Optional[str] = None
city: Optional[str] = None
country: Optional[str] = None
postalCode: Optional[str] = None
state: Optional[str] = None
class AddressUpdateModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
addressLine1: Optional[str] = None
addressLine2: Optional[str] = None
city: Optional[str] = None
country: Optional[str] = None
postalCode: Optional[str] = None
state: Optional[str] = None
class AddressViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
addressLine1: Optional[str] = None
addressLine2: Optional[str] = None
city: Optional[str] = None
country: Optional[str] = None
postalCode: Optional[str] = None
state: Optional[str] = None
class AppoinmentBookingFormsViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
bookingConfirmationPage: Optional[str] = None
bookingForm: Optional[str] = None
class AppointmentAuditViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
appointmentId: Optional[str] = None
id: Optional[str] = None
modificationType: Optional[str] = None
modifiedBy: Optional[str] = None
modifiedOn: Optional[str] = None
notesAfter: Optional[str] = None
notesBefore: Optional[str] = None
statusAfter: Optional[str] = None
statusBefore: Optional[str] = None
class AppointmentCustomerViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
appointmentId: Optional[str] = None
customerId: Optional[str] = None
class AppointmentNoShowModel(BaseModel):
pass
model_config = ConfigDict(
extra='forbid',
)
class AppointmentReminderViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
emailFirstReminder: Optional[int] = None
emailFirstReminderInterval: Optional[int] = None
emailSecondReminder: Optional[int] = None
emailSecondReminderInterval: Optional[int] = None
smsFirstReminder: Optional[int] = None
smsFirstReminderInterval: Optional[int] = None
smsSecondReminder: Optional[int] = None
smsSecondReminderInterval: Optional[int] = None
class AppointmentRescheduleModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
endDateTime: Optional[datetime] = None
resourceId: Optional[str] = None
resourceIds: Optional[str] = None
serviceId: Optional[str] = None
startDateTime: Optional[datetime] = None
travelAppointmentId: Optional[str] = None
travelTimeMins: Optional[int] = None
class AppointmentResourceViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
appointmentId: Optional[str] = None
resourceEmail: Optional[str] = None
resourceGroupId: Optional[str] = None
resourceId: Optional[str] = None
resourceImageUrl: Optional[str] = None
resourceName: Optional[str] = None
class AvailableDayViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
available: Optional[bool] = None
bookingCount: Optional[int] = None
bookingLimit: Optional[int] = None
closed: Optional[bool] = None
date: Optional[str] = None
object: Optional[str] = None
reason: Optional[str] = None
reasonCode: Optional[int] = None
class AvailableTimeViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
allowableBookings: Optional[int] = None
allowableCapacity: Optional[int] = None
availableBookings: Optional[int] = None
availableCapacity: Optional[int] = None
date: Optional[str] = None
displayTime: Optional[str] = None
duration: Optional[int] = None
endDateTime: Optional[str] = None
resourceId: Optional[str] = None
startDateTime: Optional[str] = None
time: Optional[int] = None
travelAppointmentId: Optional[str] = None
travelTimeMins: Optional[int] = None
class BookingFieldItem(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
name: Optional[str] = None
value: Optional[str] = None
class BookingFieldListItemViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
id: Optional[str] = None
leadAnswerScore: Optional[int] = None
leadRoutingEntityId: Optional[int] = None
leadRoutingEntityType: Optional[str] = None
name: Optional[str] = None
object: Optional[str] = None
value: Optional[str] = None
class BookingFieldViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
businessId: Optional[str] = None
companyId: Optional[str] = None
fieldLabel: Optional[str] = None
fieldLength: Optional[int] = None
fieldListItems: Optional[List[BookingFieldListItemViewModel]] = None
fieldName: Optional[str] = None
fieldRequired: Optional[bool] = None
fieldType: Optional[str] = None
id: Optional[str] = None
leadQuestion: Optional[bool] = None
leadQuestionWeight: Optional[float] = None
object: Optional[str] = None
sortKey: Optional[int] = None
class BusinessDefaultsViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
autoUpdateCustomer: Optional[bool] = None
businessNotification: Optional[bool] = None
customerCity: Optional[bool] = None
customerState: Optional[bool] = None
emailInfo: Optional[bool] = None
enableUtcTimezone: Optional[bool] = None
object: Optional[str] = None
class BusinessHolidayViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
businessClosed: Optional[bool] = None
holidayName: Optional[str] = None
id: Optional[str] = None
publicHolidayId: Optional[int] = None
class BusinessHourViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
endTime: Optional[int] = None
is24Hours: Optional[bool] = None
isOpen: Optional[bool] = None
startTime: Optional[int] = None
class BusinessHoursViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
fri: Optional[BusinessHourViewModel] = None
mon: Optional[BusinessHourViewModel] = None
sat: Optional[BusinessHourViewModel] = None
sun: Optional[BusinessHourViewModel] = None
thu: Optional[BusinessHourViewModel] = None
tue: Optional[BusinessHourViewModel] = None
wed: Optional[BusinessHourViewModel] = None
class BusinessServiceViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
id: Optional[int] = None
object: Optional[str] = None
serviceId: Optional[int] = None
serviceName: Optional[str] = None
class ContactInputModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
businessPhone: Optional[str] = None
businessPhoneExt: Optional[str] = None
conferenceInfo: Optional[str] = None
homePhone: Optional[str] = None
mobilePhone: Optional[str] = None
preferredPhoneType: Optional[str] = None
skypeUsername: Optional[str] = None
class ContactUpdateModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
businessPhone: Optional[str] = None
businessPhoneExt: Optional[str] = None
conferenceInfo: Optional[str] = None
homePhone: Optional[str] = None
mobilePhone: Optional[str] = None
preferredPhoneType: Optional[str] = None
skypeUsername: Optional[str] = None
class ContactViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
businessPhone: Optional[str] = None
businessPhoneExt: Optional[str] = None
conferenceInfo: Optional[str] = None
homePhone: Optional[str] = None
mobilePhone: Optional[str] = None
phoneType: Optional[str] = None
skypeUsername: Optional[str] = None
class CountryViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
code: Optional[str] = None
name: Optional[str] = None
object: Optional[str] = None
class CustomFieldInputModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
field1: Optional[str] = None
field10: Optional[str] = None
field2: Optional[str] = None
field3: Optional[str] = None
field4: Optional[str] = None
field5: Optional[str] = None
field6: Optional[str] = None
field7: Optional[str] = None
field8: Optional[str] = None
field9: Optional[str] = None
class CustomFieldListDefinitionViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
id: Optional[str] = None
leadAnswerScore: Optional[int] = None
leadRoutingEntityId: Optional[int] = None
leadRoutingEntityType: Optional[str] = None
name: Optional[str] = None
object: Optional[str] = None
value: Optional[str] = None
class CustomFieldUpdateModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
field1: Optional[str] = None
field10: Optional[str] = None
field2: Optional[str] = None
field3: Optional[str] = None
field4: Optional[str] = None
field5: Optional[str] = None
field6: Optional[str] = None
field7: Optional[str] = None
field8: Optional[str] = None
field9: Optional[str] = None
class CustomFieldViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
name: Optional[str] = None
value: Optional[str] = None
class CustomerInputModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
address: Optional[AddressInputModel] = None
contact: Optional[ContactInputModel] = None
customFields: Optional[CustomFieldInputModel] = None
email: Optional[str] = None
firstname: Optional[str] = None
lastname: Optional[str] = None
locationId: Optional[str] = Field(None, description='')
name: Optional[str] = None
notificationType: Optional[str] = Field(
None, description='0 = default(Email), 1 = Email, 2 = SMS, 3 = Email and SMS'
)
sendLeadNotification: Optional[bool] = None
stripeCustomerId: Optional[str] = None
type: Optional[int] = None
class CustomerUpdateModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
address: Optional[AddressUpdateModel] = None
contact: Optional[ContactUpdateModel] = None
customFields: Optional[CustomFieldUpdateModel] = None
email: Optional[str] = None
firstname: Optional[str] = None
lastname: Optional[str] = None
locationId: Optional[str] = None
name: Optional[str] = None
notificationType: Optional[str] = Field(
None, description='0 = default(Email), 1 = Email, 2 = SMS, 3 = Email and SMS'
)
stripeCustomerId: Optional[str] = None
type: Optional[int] = None
class CustomerViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
address: Optional[AddressViewModel] = None
birthdate: Optional[str] = None
businessName: Optional[str] = None
companyName: Optional[str] = None
contact: Optional[ContactViewModel] = None
createdBy: Optional[str] = None
createdOn: Optional[str] = None
customFields: Optional[Dict[str, CustomFieldViewModel]] = None
deletedStatus: Optional[bool] = None
deletedTime: Optional[str] = None
disabled: Optional[bool] = None
email: Optional[str] = None
emailInfo: Optional[bool] = None
emailPromotion: Optional[bool] = None
firstname: Optional[str] = None
gender: Optional[str] = None
groupId: Optional[str] = None
id: Optional[str] = None
inviteEmailSent: Optional[str] = None
lastVisitDate: Optional[str] = None
lastname: Optional[str] = None
latitude: Optional[str] = None
locationId: Optional[str] = None
longitude: Optional[str] = None
modifiedBy: Optional[str] = None
modifiedOn: Optional[str] = None
name: Optional[str] = None
notificationType: Optional[str] = None
object: Optional[str] = None
registeredBy: Optional[str] = None
registrationDate: Optional[str] = None
resourceId: Optional[str] = None
stripeCustomerId: Optional[str] = None
subscriptionId: Optional[str] = None
verificationDate: Optional[str] = None
verifiedBy: Optional[str] = None
welcomeEmailSent: Optional[str] = None
class OnlineSettingsViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
availabilityForm: Optional[int] = None
bookAheadUnit: Optional[int] = None
bookAheadValue: Optional[int] = None
bookInAdvance: Optional[int] = None
bookWithAccount: Optional[bool] = None
bookingConfirmationMessage: Optional[str] = None
bookingMessage: Optional[str] = None
bookingPolicy: Optional[str] = None
bookingTimerMins: Optional[int] = None
businessId: Optional[str] = None
companyId: Optional[str] = None
customerBookingsPerDay: Optional[int] = None
customerVerification: Optional[bool] = None
defaultService: Optional[bool] = None
defaultToCustomerTimezone: Optional[bool] = None
disableAuthorization: Optional[bool] = None
enableWorldTimezones: Optional[bool] = None
enabled: Optional[bool] = None
familyMembersEnabled: Optional[bool] = None
firstAvailable: Optional[bool] = None
formFlow: Optional[int] = None
hideBreadCrumbNav: Optional[bool] = None
hideContinueBooking: Optional[bool] = None
hideLocationNav: Optional[bool] = None
hideNavBar: Optional[bool] = None
hideServiceGroupsNav: Optional[bool] = None
hideServicesNav: Optional[bool] = None
id: Optional[int] = None
lateCancelAction: Optional[int] = None
lateCancelHours: Optional[int] = None
lateRescheduleAction: Optional[int] = None
lateRescheduleHours: Optional[int] = None
liveMode: Optional[bool] = None
locationId: Optional[str] = None
object: Optional[str] = None
resourceAnyLabel: Optional[str] = None
resourceLabel: Optional[str] = None
resourceSelection: Optional[bool] = None
returnToAvailability: Optional[bool] = None
returnToService: Optional[bool] = None
serviceLabel: Optional[str] = None
showBusinessLogo: Optional[bool] = None
showOnSchedLogo: Optional[bool] = None
showServiceGroups: Optional[bool] = None
class PhoneViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
businessPhone: Optional[str] = None
businessPhoneExt: Optional[str] = None
homePhone: Optional[str] = None
mobilePhone: Optional[str] = None
phoneType: Optional[str] = None
class RepeatViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
frequency: Optional[str] = None
interval: Optional[int] = None
monthDay: Optional[str] = None
monthType: Optional[str] = None
weekdays: Optional[str] = None
class ResourceGroupViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
bookingNotification: Optional[int] = None
deletedStatus: Optional[bool] = None
deletedTime: Optional[datetime] = None
description: Optional[str] = None
email: Optional[str] = None
id: Optional[str] = None
locationId: Optional[str] = None
name: Optional[str] = None
object: Optional[str] = None
class ResourceHourViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
endTime: Optional[int] = None
startTime: Optional[int] = None
class ResourceHoursViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
fri: Optional[ResourceHourViewModel] = None
mon: Optional[ResourceHourViewModel] = None
sat: Optional[ResourceHourViewModel] = None
sun: Optional[ResourceHourViewModel] = None
thu: Optional[ResourceHourViewModel] = None
tue: Optional[ResourceHourViewModel] = None
wed: Optional[ResourceHourViewModel] = None
class ResourceServiceViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
object: Optional[str] = None
resourceId: Optional[int] = None
resourceName: Optional[str] = None
serviceId: Optional[int] = None
serviceName: Optional[str] = None
class ResourceViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
address: Optional[AddressViewModel] = None
availability: Optional[ResourceHoursViewModel] = None
bioLink: Optional[str] = None
bookingNotification: Optional[int] = None
calendarAvailability: Optional[int] = None
contact: Optional[ContactViewModel] = None
customFields: Optional[CustomFieldInputModel] = None
deletedStatus: Optional[bool] = None
deletedTime: Optional[datetime] = None
description: Optional[str] = None
effectiveDate: Optional[datetime] = None
email: Optional[str] = None
gender: Optional[str] = None
googleCalendarId: Optional[str] = None
groupId: Optional[str] = None
hourly: Optional[float] = None
id: Optional[str] = None
ignoreBusinessHours: Optional[bool] = None
imageUrl: Optional[str] = None
locationId: Optional[str] = None
name: Optional[str] = None
notificationType: Optional[int] = None
object: Optional[str] = None
outlookCalendarId: Optional[str] = None
recurringAvailability: Optional[bool] = None
services: Optional[List[ResourceServiceViewModel]] = None
skypeName: Optional[str] = None
sortKey: Optional[int] = None
timezoneIana: Optional[str] = None
timezoneId: Optional[str] = None
timezoneOffset: Optional[int] = None
class ServiceAllocationViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
bookingCount: Optional[int] = None
bookingLimit: Optional[int] = None
deletedStatus: Optional[bool] = None
deletedTime: Optional[str] = None
endDate: Optional[str] = None
endTime: Optional[int] = None
id: Optional[str] = None
locationId: Optional[str] = None
object: Optional[str] = None
reason: Optional[str] = None
repeat: Optional[RepeatViewModel] = None
repeats: Optional[bool] = None
resourceAddress: Optional[AddressViewModel] = None
resourceDescription: Optional[str] = None
resourceId: Optional[str] = None
resourceImageUrl: Optional[str] = None
resourceName: Optional[str] = None
resourcePhone: Optional[PhoneViewModel] = None
serviceDescription: Optional[str] = None
serviceDuration: Optional[int] = None
serviceId: Optional[str] = None
serviceImageUrl: Optional[str] = None
serviceName: Optional[str] = None
startDate: Optional[str] = None
startTime: Optional[int] = None
timezoneName: Optional[str] = None
timezoneOffset: Optional[int] = None
class ServiceGroupViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
companyId: Optional[str] = None
description: Optional[str] = None
id: Optional[str] = None
imageUrl: Optional[str] = None
isDeleted: Optional[bool] = None
locationId: Optional[str] = None
name: Optional[str] = None
object: Optional[str] = None
type: Optional[int] = None
class ServiceHourViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
endTime: Optional[int] = None
startTime: Optional[int] = None
class ServiceHoursViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
fri: Optional[ServiceHourViewModel] = None
mon: Optional[ServiceHourViewModel] = None
sat: Optional[ServiceHourViewModel] = None
sun: Optional[ServiceHourViewModel] = None
thu: Optional[ServiceHourViewModel] = None
tue: Optional[ServiceHourViewModel] = None
wed: Optional[ServiceHourViewModel] = None
class ServiceSortOrder(Enum):
natural = 'natural'
name = 'name'
class ServiceViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
availability: Optional[ServiceHoursViewModel] = None
bookAheadUnit: Optional[int] = None
bookAheadValue: Optional[int] = None
bookInAdvance: Optional[int] = None
bookingInterval: Optional[int] = None
bookingLimit: Optional[int] = None
calendarId: Optional[str] = None
calendarResourceGroupId: Optional[str] = None
cancellationFeeAmount: Optional[float] = None
cancellationFeeTaxable: Optional[bool] = None
companyId: Optional[str] = None
consumerPadding: Optional[bool] = None
customFields: Optional[CustomFieldInputModel] = None
dailyBookingLimitCount: Optional[int] = None
dailyBookingLimitMinutes: Optional[int] = None
defaultService: Optional[bool] = None
description: Optional[str] = None
duration: Optional[int] = None
durationInterval: Optional[int] = None
durationMax: Optional[int] = None
durationMin: Optional[int] = None
durationSelect: Optional[bool] = None
feeAmount: Optional[float] = None
feeTaxable: Optional[bool] = None
id: Optional[str] = None
imageUrl: Optional[str] = None
locationId: Optional[str] = None
maxBookingLimit: Optional[int] = None
maxCapacity: Optional[int] = None
maxGroupSize: Optional[int] = None
maxResourceBookingLimit: Optional[int] = None
mediaPageUrl: Optional[str] = None
name: Optional[str] = None
nonRefundable: Optional[bool] = None
object: Optional[str] = None
padding: Optional[int] = None
roundRobin: Optional[int] = None
serviceGroupId: Optional[int] = None
serviceGroupName: Optional[str] = None
showOnline: Optional[bool] = None
type: Optional[str] = None
class ServicesScope(Enum):
company = 'company'
location = 'location'
all = 'all'
class StateViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
code: Optional[str] = None
country: Optional[str] = None
countryName: Optional[str] = None
name: Optional[str] = None
object: Optional[str] = None
class TravelViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
distance: Optional[str] = None
proximity: Optional[str] = None
startAddress: Optional[str] = None
startLat: Optional[str] = None
startLon: Optional[str] = None
units: Optional[str] = None
class UnavailableTimeViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
calendarId: Optional[str] = None
date: Optional[str] = None
endDateTime: Optional[str] = None
entityId: Optional[int] = None
entityType: Optional[str] = None
fromTime: Optional[int] = None
locationId: Optional[str] = None
objectName: Optional[str] = None
reason: Optional[str] = None
reasonCode: Optional[str] = None
resourceId: Optional[str] = None
resourceName: Optional[str] = None
serviceId: Optional[str] = None
serviceName: Optional[str] = None
startDateTime: Optional[str] = None
toTime: Optional[int] = None
tzOffset: Optional[int] = None
class ConsumerV1CustomersCountriesGetResponse(RootModel[List[CountryViewModel]]):
root: List[CountryViewModel]
class ConsumerV1CustomersStatesGetResponse(RootModel[List[StateViewModel]]):
root: List[StateViewModel]
class AppointmentBookModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
appointmentBookingFields: Optional[List[BookingFieldItem]] = None
customFields: Optional[CustomFieldInputModel] = None
customerBookingFields: Optional[List[BookingFieldItem]] = None
customerMessage: Optional[str] = None
email: Optional[str] = None
groupSize: Optional[int] = None
name: Optional[str] = None
notes: Optional[str] = None
phone: Optional[str] = None
phoneExt: Optional[str] = None
phoneType: Optional[str] = None
class AppointmentInitialModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
appointmentBookingFields: Optional[List[BookingFieldItem]] = None
bookedBy: Optional[str] = None
bookingWindowId: Optional[str] = None
calendarId: Optional[str] = None
customFields: Optional[CustomFieldInputModel] = None
customerBookingFields: Optional[List[BookingFieldItem]] = None
customerId: Optional[str] = None
customerMessage: Optional[str] = None
email: Optional[str] = None
endDateTime: Optional[datetime] = None
groupSize: Optional[int] = None
location: Optional[str] = None
locationId: Optional[str] = None
name: Optional[str] = None
notes: Optional[str] = None
phone: Optional[str] = None
phoneType: Optional[str] = None
resourceGroupId: Optional[str] = None
resourceId: Optional[str] = None
resourceIds: Optional[str] = None
serviceAllocationId: Optional[str] = None
serviceId: Optional[str] = None
startDateTime: Optional[datetime] = None
timezoneName: Optional[str] = None
travelAppointmentId: Optional[str] = None
travelTimeMins: Optional[int] = None
class AppointmentInitialViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
appointmentBookingFields: Optional[List[BookingFieldViewModel]] = None
auditTrail: Optional[List[AppointmentAuditViewModel]] = None
bookedBy: Optional[str] = None
bookingForms: Optional[AppoinmentBookingFormsViewModel] = None
businessName: Optional[str] = None
calendarId: Optional[str] = None
confirmationNumber: Optional[str] = None
confirmed: Optional[bool] = None
createDate: Optional[str] = None
customFields: Optional[Dict[str, CustomFieldViewModel]] = None
customerBookingFields: Optional[List[BookingFieldViewModel]] = None
customerId: Optional[str] = None
customerMessage: Optional[str] = None
customers: Optional[List[AppointmentCustomerViewModel]] = None
date: Optional[str] = None
dateInternational: Optional[str] = None
downloadIcsUrl: Optional[str] = None
duration: Optional[int] = None
email: Optional[str] = None
emailConfirmationSent: Optional[str] = None
emailReminderSent: Optional[str] = None
endDateTime: Optional[str] = None
firstname: Optional[str] = None
groupSize: Optional[int] = None
id: Optional[str] = None
ipAddress: Optional[str] = None
lastModifiedBy: Optional[str] = None
lastModifiedOn: Optional[str] = None
lastname: Optional[str] = None
latitude: Optional[str] = None
location: Optional[str] = None
locationId: Optional[str] = None
longitude: Optional[str] = None
name: Optional[str] = None
notes: Optional[str] = None
object: Optional[str] = None
onlineBooking: Optional[bool] = None
paymentStatus: Optional[int] = None
phone: Optional[str] = None
phoneExt: Optional[str] = None
phoneType: Optional[str] = None
rescheduledId: Optional[str] = None
resourceEmail: Optional[str] = None
resourceGroupId: Optional[str] = None
resourceGroupName: Optional[str] = None
resourceId: Optional[str] = None
resourceImageUrl: Optional[str] = None
resourceName: Optional[str] = None
resources: Optional[List[AppointmentResourceViewModel]] = None
serviceAllocationId: Optional[str] = None
serviceId: Optional[str] = None
serviceImageUrl: Optional[str] = None
serviceName: Optional[str] = None
smsConfirmationSent: Optional[str] = None
smsReminderSent: Optional[str] = None
startDateTime: Optional[str] = None
status: Optional[str] = None
stripeChargeId: Optional[str] = None
stripeRefundId: Optional[str] = None
time: Optional[int] = None
timezone: Optional[int] = None
timezoneIana: Optional[str] = None
timezoneId: Optional[str] = None
class AppointmentReserveModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
appointmentBookingFields: Optional[List[BookingFieldItem]] = None
customFields: Optional[CustomFieldInputModel] = None
customerBookingFields: Optional[List[BookingFieldItem]] = None
customerMessage: Optional[str] = None
email: Optional[str] = None
name: Optional[str] = None
notes: Optional[str] = None
phone: Optional[str] = None
phoneExt: Optional[str] = None
phoneType: Optional[str] = None
class AppointmentViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
auditTrail: Optional[List[AppointmentAuditViewModel]] = None
bookedBy: Optional[str] = None
businessName: Optional[str] = None
calendarId: Optional[str] = None
confirmationNumber: Optional[str] = None
confirmed: Optional[bool] = None
createDate: Optional[str] = None
customFields: Optional[Dict[str, CustomFieldViewModel]] = None
customerId: Optional[str] = None
customerMessage: Optional[str] = None
customers: Optional[List[AppointmentCustomerViewModel]] = None
date: Optional[str] = None
dateInternational: Optional[str] = None
downloadIcsUrl: Optional[str] = None
duration: Optional[int] = None
email: Optional[str] = None
emailConfirmationSent: Optional[str] = None
emailReminderSent: Optional[str] = None
endDateTime: Optional[str] = None
firstname: Optional[str] = None
groupSize: Optional[int] = None
id: Optional[str] = None
ipAddress: Optional[str] = None
lastModifiedBy: Optional[str] = None
lastModifiedOn: Optional[str] = None
lastname: Optional[str] = None
latitude: Optional[str] = None
location: Optional[str] = None
locationId: Optional[str] = None
longitude: Optional[str] = None
name: Optional[str] = None
notes: Optional[str] = None
object: Optional[str] = None
onlineBooking: Optional[bool] = None
paymentStatus: Optional[int] = None
phone: Optional[str] = None
phoneExt: Optional[str] = None
phoneType: Optional[str] = None
rescheduledId: Optional[str] = None
resourceEmail: Optional[str] = None
resourceGroupId: Optional[str] = None
resourceGroupName: Optional[str] = None
resourceId: Optional[str] = None
resourceImageUrl: Optional[str] = None
resourceName: Optional[str] = None
resources: Optional[List[AppointmentResourceViewModel]] = None
serviceAllocationId: Optional[str] = None
serviceId: Optional[str] = None
serviceImageUrl: Optional[str] = None
serviceName: Optional[str] = None
smsConfirmationSent: Optional[str] = None
smsReminderSent: Optional[str] = None
startDateTime: Optional[str] = None
status: Optional[str] = None
stripeChargeId: Optional[str] = None
stripeRefundId: Optional[str] = None
time: Optional[int] = None
timezone: Optional[int] = None
timezoneIana: Optional[str] = None
timezoneId: Optional[str] = None
class AvailabilityDayViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
availableDays: Optional[List[AvailableDayViewModel]] = None
object: Optional[str] = None
resourceDescription: Optional[str] = None
resourceId: Optional[str] = None
resourceName: Optional[str] = None
serviceDescription: Optional[str] = None
serviceId: Optional[str] = None
serviceName: Optional[str] = None
tzRequested: Optional[int] = None
url: Optional[str] = None
class AvailabilityViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
availableDays: Optional[List[AvailableDayViewModel]] = None
availableTimes: Optional[List[AvailableTimeViewModel]] = None
businessName: Optional[str] = None
calendarId: Optional[str] = None
calendarResourceGroupId: Optional[str] = None
endDate: Optional[str] = None
firstAvailableDate: Optional[str] = None
locationId: Optional[str] = None
object: Optional[str] = None
resourceDescription: Optional[str] = None
resourceId: Optional[str] = None
resourceIds: Optional[str] = None
resourceName: Optional[str] = None
serviceDescription: Optional[str] = None
serviceDuration: Optional[int] = None
serviceId: Optional[str] = None
serviceName: Optional[str] = None
startDate: Optional[str] = None
timezoneName: Optional[str] = Field(
None,
description='Returns the Timezone Name in IANA format if a TimezoneName was passed into an Availability call; otherwise this property is hidden',
)
tzRequested: Optional[int] = Field(
None,
description='Returns the timezone offset if a tzOffset was supplied into an Availability call; null if a TimezoneName was passed; otherwise the Business timezone offset is returned',
)
url: Optional[str] = None
class BookingFieldListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
bookingFields: Optional[List[BookingFieldViewModel]] = None
object: Optional[str] = None
total: Optional[int] = None
class CustomFieldDefinitionViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
fieldKey: Optional[str] = None
fieldLabel: Optional[str] = None
fieldLength: Optional[int] = None
fieldListItems: Optional[List[CustomFieldListDefinitionViewModel]] = None
fieldName: Optional[str] = None
fieldPublic: Optional[bool] = None
fieldRequired: Optional[bool] = None
fieldType: Optional[str] = None
id: Optional[str] = None
leadQuestion: Optional[bool] = None
leadQuestionWeight: Optional[float] = None
object: Optional[str] = None
sortKey: Optional[int] = None
class CustomerListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
count: Optional[int] = None
data: Optional[List[CustomerViewModel]] = None
hasMore: Optional[bool] = None
object: Optional[str] = None
total: Optional[int] = None
url: Optional[str] = None
class LocationViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
address: Optional[AddressViewModel] = None
adminEmail: Optional[str] = None
adminName: Optional[str] = None
appointmentReminders: Optional[AppointmentReminderViewModel] = None
businessHolidays: Optional[List[BusinessHolidayViewModel]] = None
businessHours: Optional[BusinessHoursViewModel] = None
companyId: Optional[str] = None
companyName: Optional[str] = None
defaults: Optional[BusinessDefaultsViewModel] = None
email: Optional[str] = None
fax: Optional[str] = None
friendlyId: Optional[str] = None
id: Optional[str] = None
imageUrl: Optional[str] = None
latitude: Optional[float] = None
logo: Optional[str] = None
longitude: Optional[float] = None
name: Optional[str] = None
object: Optional[str] = None
phone: Optional[str] = None
primaryBusiness: Optional[bool] = None
primaryCalendarId: Optional[str] = None
regionId: Optional[str] = None
services: Optional[List[BusinessServiceViewModel]] = None
settings: Optional[OnlineSettingsViewModel] = None
timezoneIana: Optional[str] = None
timezoneId: Optional[str] = None
timezoneOffset: Optional[int] = None
travel: Optional[TravelViewModel] = None
website: Optional[str] = None
class ResourceGroupListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
count: Optional[int] = None
data: Optional[List[ResourceGroupViewModel]] = None
hasMore: Optional[bool] = None
object: Optional[str] = None
total: Optional[int] = None
url: Optional[str] = None
class ResourceListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
count: Optional[int] = None
data: Optional[List[ResourceViewModel]] = None
hasMore: Optional[bool] = None
object: Optional[str] = None
total: Optional[int] = None
url: Optional[str] = None
class ResourceServiceListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
count: Optional[int] = None
data: Optional[List[ResourceServiceViewModel]] = None
hasMore: Optional[bool] = None
object: Optional[str] = None
total: Optional[int] = None
url: Optional[str] = None
class ServiceAllocationListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
count: Optional[int] = None
data: Optional[List[ServiceAllocationViewModel]] = None
hasMore: Optional[bool] = None
object: Optional[str] = None
total: Optional[int] = None
url: Optional[str] = None
class ServiceGroupListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
count: Optional[int] = None
data: Optional[List[ServiceGroupViewModel]] = None
hasMore: Optional[bool] = None
object: Optional[str] = None
total: Optional[int] = None
url: Optional[str] = None
class ServiceListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
count: Optional[int] = None
data: Optional[List[ServiceViewModel]] = None
hasMore: Optional[bool] = None
object: Optional[str] = None
total: Optional[int] = None
url: Optional[str] = None
class UnavailableTimeListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
object: Optional[str] = None
unavailableTimes: Optional[List[UnavailableTimeViewModel]] = None
url: Optional[str] = None
class AppointmentListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
count: Optional[int] = None
data: Optional[List[AppointmentViewModel]] = None
hasMore: Optional[bool] = None
object: Optional[str] = None
total: Optional[int] = None
url: Optional[str] = None
class CustomFieldDefinitionListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
customFields: Optional[List[CustomFieldDefinitionViewModel]] = None
object: Optional[str] = None
total: Optional[int] = None
class LocationListViewModel(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
count: Optional[int] = None
data: Optional[List[LocationViewModel]] = None
hasMore: Optional[bool] = None
object: Optional[str] = None
total: Optional[int] = None
url: Optional[str] = None