summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/yaegashi/msgraph.go/beta/ModelBooking.go
blob: 20c6d777559a4327c4ee43a6e856eabacf874580 (plain) (blame)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
// Code generated by msgraph-generate.go DO NOT EDIT.

package msgraph

// BookingAppointment Represents a booked appointment of a service by a customer in a business.
type BookingAppointment struct {
	// Entity is the base model of BookingAppointment
	Entity
	// SelfServiceAppointmentID undocumented
	SelfServiceAppointmentID *string `json:"selfServiceAppointmentId,omitempty"`
	// CustomerID The id of the booking customer associated with this appointment.
	CustomerID *string `json:"customerId,omitempty"`
	// CustomerName undocumented
	CustomerName *string `json:"customerName,omitempty"`
	// CustomerEmailAddress undocumented
	CustomerEmailAddress *string `json:"customerEmailAddress,omitempty"`
	// CustomerPhone undocumented
	CustomerPhone *string `json:"customerPhone,omitempty"`
	// CustomerLocation undocumented
	CustomerLocation *Location `json:"customerLocation,omitempty"`
	// CustomerNotes Notes from the customer associated with this appointment.
	CustomerNotes *string `json:"customerNotes,omitempty"`
	// ServiceID The id of the booking service associated with this appointment.
	ServiceID *string `json:"serviceId,omitempty"`
	// ServiceName The name of the booking service associated with this appointment.
	ServiceName *string `json:"serviceName,omitempty"`
	// Start undocumented
	Start *DateTimeTimeZone `json:"start,omitempty"`
	// End undocumented
	End *DateTimeTimeZone `json:"end,omitempty"`
	// Duration undocumented
	Duration *Duration `json:"duration,omitempty"`
	// PreBuffer undocumented
	PreBuffer *Duration `json:"preBuffer,omitempty"`
	// PostBuffer undocumented
	PostBuffer *Duration `json:"postBuffer,omitempty"`
	// ServiceLocation undocumented
	ServiceLocation *Location `json:"serviceLocation,omitempty"`
	// PriceType undocumented
	PriceType *BookingPriceType `json:"priceType,omitempty"`
	// Price undocumented
	Price *float64 `json:"price,omitempty"`
	// ServiceNotes undocumented
	ServiceNotes *string `json:"serviceNotes,omitempty"`
	// Reminders undocumented
	Reminders []BookingReminder `json:"reminders,omitempty"`
	// OptOutOfCustomerEmail undocumented
	OptOutOfCustomerEmail *bool `json:"optOutOfCustomerEmail,omitempty"`
	// StaffMemberIDs undocumented
	StaffMemberIDs []string `json:"staffMemberIds,omitempty"`
	// InvoiceAmount undocumented
	InvoiceAmount *float64 `json:"invoiceAmount,omitempty"`
	// InvoiceDate undocumented
	InvoiceDate *DateTimeTimeZone `json:"invoiceDate,omitempty"`
	// InvoiceID undocumented
	InvoiceID *string `json:"invoiceId,omitempty"`
	// InvoiceStatus undocumented
	InvoiceStatus *BookingInvoiceStatus `json:"invoiceStatus,omitempty"`
	// InvoiceURL undocumented
	InvoiceURL *string `json:"invoiceUrl,omitempty"`
}

// BookingBusiness Represents a Microsot Bookings Business.
type BookingBusiness struct {
	// BookingNamedEntity is the base model of BookingBusiness
	BookingNamedEntity
	// BusinessType undocumented
	BusinessType *string `json:"businessType,omitempty"`
	// Address undocumented
	Address *PhysicalAddress `json:"address,omitempty"`
	// Phone undocumented
	Phone *string `json:"phone,omitempty"`
	// Email undocumented
	Email *string `json:"email,omitempty"`
	// WebSiteURL The URL of the business web site.
	WebSiteURL *string `json:"webSiteUrl,omitempty"`
	// DefaultCurrencyIso undocumented
	DefaultCurrencyIso *string `json:"defaultCurrencyIso,omitempty"`
	// BusinessHours undocumented
	BusinessHours []BookingWorkHours `json:"businessHours,omitempty"`
	// SchedulingPolicy undocumented
	SchedulingPolicy *BookingSchedulingPolicy `json:"schedulingPolicy,omitempty"`
	// IsPublished undocumented
	IsPublished *bool `json:"isPublished,omitempty"`
	// PublicURL undocumented
	PublicURL *string `json:"publicUrl,omitempty"`
	// Appointments undocumented
	Appointments []BookingAppointment `json:"appointments,omitempty"`
	// CalendarView undocumented
	CalendarView []BookingAppointment `json:"calendarView,omitempty"`
	// Customers undocumented
	Customers []BookingCustomer `json:"customers,omitempty"`
	// Services undocumented
	Services []BookingService `json:"services,omitempty"`
	// StaffMembers undocumented
	StaffMembers []BookingStaffMember `json:"staffMembers,omitempty"`
}

// BookingCurrency undocumented
type BookingCurrency struct {
	// Entity is the base model of BookingCurrency
	Entity
	// Symbol undocumented
	Symbol *string `json:"symbol,omitempty"`
}

// BookingCustomer Represents a customer of the business.
type BookingCustomer struct {
	// BookingPerson is the base model of BookingCustomer
	BookingPerson
}

// BookingNamedEntity Booking entities that provide a display name.
type BookingNamedEntity struct {
	// Entity is the base model of BookingNamedEntity
	Entity
	// DisplayName Display name of this entity.
	DisplayName *string `json:"displayName,omitempty"`
}

// BookingPerson Represents a booking customer or staff member.
type BookingPerson struct {
	// BookingNamedEntity is the base model of BookingPerson
	BookingNamedEntity
	// EmailAddress The e-mail address of this person.
	EmailAddress *string `json:"emailAddress,omitempty"`
}

// BookingReminder undocumented
type BookingReminder struct {
	// Object is the base model of BookingReminder
	Object
	// Offset How much time before an appointment the reminder should be sent.
	Offset *Duration `json:"offset,omitempty"`
	// Recipients Who should receive the reminder.
	Recipients *BookingReminderRecipients `json:"recipients,omitempty"`
	// Message Message to send.
	Message *string `json:"message,omitempty"`
}

// BookingSchedulingPolicy undocumented
type BookingSchedulingPolicy struct {
	// Object is the base model of BookingSchedulingPolicy
	Object
	// TimeSlotInterval Duration of each time slot.
	TimeSlotInterval *Duration `json:"timeSlotInterval,omitempty"`
	// MinimumLeadTime Minimum lead time for bookings and cancellations.
	MinimumLeadTime *Duration `json:"minimumLeadTime,omitempty"`
	// MaximumAdvance Maximum number of days in advance that a booking can be made.
	MaximumAdvance *Duration `json:"maximumAdvance,omitempty"`
	// SendConfirmationsToOwner Notify the business via email when a booking is created or changed.
	SendConfirmationsToOwner *bool `json:"sendConfirmationsToOwner,omitempty"`
	// AllowStaffSelection Allow customers to choose a specific person for the booking.
	AllowStaffSelection *bool `json:"allowStaffSelection,omitempty"`
}

// BookingService Represents a particular service offered by a booking business.
type BookingService struct {
	// BookingNamedEntity is the base model of BookingService
	BookingNamedEntity
	// DefaultDuration undocumented
	DefaultDuration *Duration `json:"defaultDuration,omitempty"`
	// DefaultLocation undocumented
	DefaultLocation *Location `json:"defaultLocation,omitempty"`
	// DefaultPrice undocumented
	DefaultPrice *float64 `json:"defaultPrice,omitempty"`
	// DefaultPriceType undocumented
	DefaultPriceType *BookingPriceType `json:"defaultPriceType,omitempty"`
	// DefaultReminders The default reminders set in an appointment of this service.
	DefaultReminders []BookingReminder `json:"defaultReminders,omitempty"`
	// Description undocumented
	Description *string `json:"description,omitempty"`
	// IsHiddenFromCustomers undocumented
	IsHiddenFromCustomers *bool `json:"isHiddenFromCustomers,omitempty"`
	// Notes undocumented
	Notes *string `json:"notes,omitempty"`
	// PreBuffer undocumented
	PreBuffer *Duration `json:"preBuffer,omitempty"`
	// PostBuffer undocumented
	PostBuffer *Duration `json:"postBuffer,omitempty"`
	// SchedulingPolicy undocumented
	SchedulingPolicy *BookingSchedulingPolicy `json:"schedulingPolicy,omitempty"`
	// StaffMemberIDs undocumented
	StaffMemberIDs []string `json:"staffMemberIds,omitempty"`
}

// BookingStaffMember Represents a staff member who provides services in a business.
type BookingStaffMember struct {
	// BookingPerson is the base model of BookingStaffMember
	BookingPerson
	// AvailabilityIsAffectedByPersonalCalendar undocumented
	AvailabilityIsAffectedByPersonalCalendar *bool `json:"availabilityIsAffectedByPersonalCalendar,omitempty"`
	// ColorIndex undocumented
	ColorIndex *int `json:"colorIndex,omitempty"`
	// Role undocumented
	Role *BookingStaffRole `json:"role,omitempty"`
	// UseBusinessHours undocumented
	UseBusinessHours *bool `json:"useBusinessHours,omitempty"`
	// WorkingHours undocumented
	WorkingHours []BookingWorkHours `json:"workingHours,omitempty"`
}

// BookingWorkHours undocumented
type BookingWorkHours struct {
	// Object is the base model of BookingWorkHours
	Object
	// Day The day of the week represented by this instance.
	Day *DayOfWeek `json:"day,omitempty"`
	// TimeSlots A list of start/end times during a day.
	TimeSlots []BookingWorkTimeSlot `json:"timeSlots,omitempty"`
}

// BookingWorkTimeSlot undocumented
type BookingWorkTimeSlot struct {
	// Object is the base model of BookingWorkTimeSlot
	Object
	// Start undocumented
	Start *TimeOfDay `json:"start,omitempty"`
	// End undocumented
	End *TimeOfDay `json:"end,omitempty"`
}