@wix/auto_sdk_bookings_pricing 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/build/cjs/index.d.ts +1 -0
  2. package/build/cjs/index.js +18 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +1 -0
  5. package/build/cjs/index.typings.js +18 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +1 -0
  8. package/build/cjs/meta.js +18 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/cjs/src/bookings-v2-price-info-pricing.context.d.ts +6 -0
  11. package/build/cjs/src/bookings-v2-price-info-pricing.context.js +18 -0
  12. package/build/cjs/src/bookings-v2-price-info-pricing.context.js.map +1 -0
  13. package/build/cjs/src/bookings-v2-price-info-pricing.http.d.ts +60 -0
  14. package/build/cjs/src/bookings-v2-price-info-pricing.http.js +185 -0
  15. package/build/cjs/src/bookings-v2-price-info-pricing.http.js.map +1 -0
  16. package/build/cjs/src/bookings-v2-price-info-pricing.meta.d.ts +14 -0
  17. package/build/cjs/src/bookings-v2-price-info-pricing.meta.js +66 -0
  18. package/build/cjs/src/bookings-v2-price-info-pricing.meta.js.map +1 -0
  19. package/build/cjs/src/bookings-v2-price-info-pricing.public.d.ts +73 -0
  20. package/build/cjs/src/bookings-v2-price-info-pricing.public.js +28 -0
  21. package/build/cjs/src/bookings-v2-price-info-pricing.public.js.map +1 -0
  22. package/build/cjs/src/bookings-v2-price-info-pricing.types.d.ts +773 -0
  23. package/build/cjs/src/bookings-v2-price-info-pricing.types.js +133 -0
  24. package/build/cjs/src/bookings-v2-price-info-pricing.types.js.map +1 -0
  25. package/build/cjs/src/bookings-v2-price-info-pricing.universal.d.ts +869 -0
  26. package/build/cjs/src/bookings-v2-price-info-pricing.universal.js +298 -0
  27. package/build/cjs/src/bookings-v2-price-info-pricing.universal.js.map +1 -0
  28. package/build/es/index.d.ts +1 -0
  29. package/build/es/index.js +2 -0
  30. package/build/es/index.js.map +1 -0
  31. package/build/es/index.typings.d.ts +1 -0
  32. package/build/es/index.typings.js +2 -0
  33. package/build/es/index.typings.js.map +1 -0
  34. package/build/es/meta.d.ts +1 -0
  35. package/build/es/meta.js +2 -0
  36. package/build/es/meta.js.map +1 -0
  37. package/build/es/package.json +3 -0
  38. package/build/es/src/bookings-v2-price-info-pricing.context.d.ts +6 -0
  39. package/build/es/src/bookings-v2-price-info-pricing.context.js +6 -0
  40. package/build/es/src/bookings-v2-price-info-pricing.context.js.map +1 -0
  41. package/build/es/src/bookings-v2-price-info-pricing.http.d.ts +60 -0
  42. package/build/es/src/bookings-v2-price-info-pricing.http.js +180 -0
  43. package/build/es/src/bookings-v2-price-info-pricing.http.js.map +1 -0
  44. package/build/es/src/bookings-v2-price-info-pricing.meta.d.ts +14 -0
  45. package/build/es/src/bookings-v2-price-info-pricing.meta.js +38 -0
  46. package/build/es/src/bookings-v2-price-info-pricing.meta.js.map +1 -0
  47. package/build/es/src/bookings-v2-price-info-pricing.public.d.ts +73 -0
  48. package/build/es/src/bookings-v2-price-info-pricing.public.js +14 -0
  49. package/build/es/src/bookings-v2-price-info-pricing.public.js.map +1 -0
  50. package/build/es/src/bookings-v2-price-info-pricing.types.d.ts +773 -0
  51. package/build/es/src/bookings-v2-price-info-pricing.types.js +130 -0
  52. package/build/es/src/bookings-v2-price-info-pricing.types.js.map +1 -0
  53. package/build/es/src/bookings-v2-price-info-pricing.universal.d.ts +869 -0
  54. package/build/es/src/bookings-v2-price-info-pricing.universal.js +270 -0
  55. package/build/es/src/bookings-v2-price-info-pricing.universal.js.map +1 -0
  56. package/build/internal/cjs/index.d.ts +1 -0
  57. package/build/internal/cjs/index.js +18 -0
  58. package/build/internal/cjs/index.js.map +1 -0
  59. package/build/internal/cjs/index.typings.d.ts +1 -0
  60. package/build/internal/cjs/index.typings.js +18 -0
  61. package/build/internal/cjs/index.typings.js.map +1 -0
  62. package/build/internal/cjs/meta.d.ts +1 -0
  63. package/build/internal/cjs/meta.js +18 -0
  64. package/build/internal/cjs/meta.js.map +1 -0
  65. package/build/internal/cjs/src/bookings-v2-price-info-pricing.context.d.ts +6 -0
  66. package/build/internal/cjs/src/bookings-v2-price-info-pricing.context.js +18 -0
  67. package/build/internal/cjs/src/bookings-v2-price-info-pricing.context.js.map +1 -0
  68. package/build/internal/cjs/src/bookings-v2-price-info-pricing.http.d.ts +60 -0
  69. package/build/internal/cjs/src/bookings-v2-price-info-pricing.http.js +185 -0
  70. package/build/internal/cjs/src/bookings-v2-price-info-pricing.http.js.map +1 -0
  71. package/build/internal/cjs/src/bookings-v2-price-info-pricing.meta.d.ts +14 -0
  72. package/build/internal/cjs/src/bookings-v2-price-info-pricing.meta.js +66 -0
  73. package/build/internal/cjs/src/bookings-v2-price-info-pricing.meta.js.map +1 -0
  74. package/build/internal/cjs/src/bookings-v2-price-info-pricing.public.d.ts +73 -0
  75. package/build/internal/cjs/src/bookings-v2-price-info-pricing.public.js +28 -0
  76. package/build/internal/cjs/src/bookings-v2-price-info-pricing.public.js.map +1 -0
  77. package/build/internal/cjs/src/bookings-v2-price-info-pricing.types.d.ts +773 -0
  78. package/build/internal/cjs/src/bookings-v2-price-info-pricing.types.js +133 -0
  79. package/build/internal/cjs/src/bookings-v2-price-info-pricing.types.js.map +1 -0
  80. package/build/internal/cjs/src/bookings-v2-price-info-pricing.universal.d.ts +869 -0
  81. package/build/internal/cjs/src/bookings-v2-price-info-pricing.universal.js +298 -0
  82. package/build/internal/cjs/src/bookings-v2-price-info-pricing.universal.js.map +1 -0
  83. package/build/internal/es/index.d.ts +1 -0
  84. package/build/internal/es/index.js +2 -0
  85. package/build/internal/es/index.js.map +1 -0
  86. package/build/internal/es/index.typings.d.ts +1 -0
  87. package/build/internal/es/index.typings.js +2 -0
  88. package/build/internal/es/index.typings.js.map +1 -0
  89. package/build/internal/es/meta.d.ts +1 -0
  90. package/build/internal/es/meta.js +2 -0
  91. package/build/internal/es/meta.js.map +1 -0
  92. package/build/internal/es/src/bookings-v2-price-info-pricing.context.d.ts +6 -0
  93. package/build/internal/es/src/bookings-v2-price-info-pricing.context.js +6 -0
  94. package/build/internal/es/src/bookings-v2-price-info-pricing.context.js.map +1 -0
  95. package/build/internal/es/src/bookings-v2-price-info-pricing.http.d.ts +60 -0
  96. package/build/internal/es/src/bookings-v2-price-info-pricing.http.js +180 -0
  97. package/build/internal/es/src/bookings-v2-price-info-pricing.http.js.map +1 -0
  98. package/build/internal/es/src/bookings-v2-price-info-pricing.meta.d.ts +14 -0
  99. package/build/internal/es/src/bookings-v2-price-info-pricing.meta.js +38 -0
  100. package/build/internal/es/src/bookings-v2-price-info-pricing.meta.js.map +1 -0
  101. package/build/internal/es/src/bookings-v2-price-info-pricing.public.d.ts +73 -0
  102. package/build/internal/es/src/bookings-v2-price-info-pricing.public.js +14 -0
  103. package/build/internal/es/src/bookings-v2-price-info-pricing.public.js.map +1 -0
  104. package/build/internal/es/src/bookings-v2-price-info-pricing.types.d.ts +773 -0
  105. package/build/internal/es/src/bookings-v2-price-info-pricing.types.js +130 -0
  106. package/build/internal/es/src/bookings-v2-price-info-pricing.types.js.map +1 -0
  107. package/build/internal/es/src/bookings-v2-price-info-pricing.universal.d.ts +869 -0
  108. package/build/internal/es/src/bookings-v2-price-info-pricing.universal.js +270 -0
  109. package/build/internal/es/src/bookings-v2-price-info-pricing.universal.js.map +1 -0
  110. package/meta/package.json +3 -0
  111. package/package.json +52 -0
@@ -0,0 +1,773 @@
1
+ export interface PriceInfo extends PriceInfoTotalPriceOneOf {
2
+ /**
3
+ * Calculated total price. Available only when the
4
+ * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s
5
+ * price has been set up as a numerical value in the
6
+ * [`schedule.rate.labeledPriceOptions`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) object.
7
+ */
8
+ calculatedPrice?: number;
9
+ /**
10
+ * Description of the total price. Available only when the
11
+ * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s
12
+ * price has been set up as a text value in the
13
+ * [`schedule.rate.priceText`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) property.
14
+ * @deprecated Description of the total price. Available only when the
15
+ * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s
16
+ * price has been set up as a text value in the
17
+ * [`schedule.rate.priceText`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) property.
18
+ * @replacedBy price_description_info.original
19
+ * @targetRemovalDate 2025-01-10
20
+ */
21
+ priceDescription?: string;
22
+ /**
23
+ * Description of the total price. Available only when the [service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/service-object)'s
24
+ * rateType is CUSTOM
25
+ */
26
+ priceDescriptionInfo?: PriceDescriptionInfo;
27
+ /** List of line items, including the number of participants and the price per participant. */
28
+ bookingLineItems?: BookingLineItem[];
29
+ /**
30
+ * Total deposit the customer must pay when booking the service.
31
+ *
32
+ * Available when: The service includes a deposit.
33
+ */
34
+ deposit?: number | null;
35
+ }
36
+ /** @oneof */
37
+ export interface PriceInfoTotalPriceOneOf {
38
+ /**
39
+ * Calculated total price. Available only when the
40
+ * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s
41
+ * price has been set up as a numerical value in the
42
+ * [`schedule.rate.labeledPriceOptions`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) object.
43
+ */
44
+ calculatedPrice?: number;
45
+ /**
46
+ * Description of the total price. Available only when the
47
+ * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s
48
+ * price has been set up as a text value in the
49
+ * [`schedule.rate.priceText`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) property.
50
+ * @deprecated Description of the total price. Available only when the
51
+ * [service](https://dev.wix.com/api/rest/wix-bookings/services/service/create-service)'s
52
+ * price has been set up as a text value in the
53
+ * [`schedule.rate.priceText`](https://dev.wix.com/api/rest/wix-bookings/schedules-and-sessions/schedule/schedule-object) property.
54
+ * @replacedBy price_description_info.original
55
+ * @targetRemovalDate 2025-01-10
56
+ */
57
+ priceDescription?: string;
58
+ /**
59
+ * Description of the total price. Available only when the [service](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/service-object)'s
60
+ * rateType is CUSTOM
61
+ */
62
+ priceDescriptionInfo?: PriceDescriptionInfo;
63
+ }
64
+ export interface BookingLineItem {
65
+ /**
66
+ * Service ID.
67
+ *
68
+ * Required when not using Wix Booking's default pricing logic.
69
+ *
70
+ * Optional when using custom pricing logic defined with the
71
+ * [Bookings Pricing Integration SPI](https://dev.wix.com/api/rest/wix-bookings/pricing-provider).
72
+ */
73
+ serviceId?: string | null;
74
+ /** Resource ID. Required for services of type appointment or class. */
75
+ resourceId?: string | null;
76
+ /**
77
+ * Custom choices. Choices are specific values for an option the customer can choose to book.
78
+ * For example, the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.
79
+ * Each choice may have a different price.
80
+ */
81
+ choices?: ServiceChoice[];
82
+ /** Number of participants for the line item. */
83
+ numberOfParticipants?: number | null;
84
+ /**
85
+ * Price per participant for the line item.
86
+ * @readonly
87
+ */
88
+ pricePerParticipant?: number | null;
89
+ }
90
+ export interface ServiceChoice extends ServiceChoiceChoiceOneOf {
91
+ /**
92
+ * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.
93
+ * Choices are specific values for an option the customer can choose to book. For example,
94
+ * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.
95
+ * Each choice may have a different price.
96
+ */
97
+ custom?: string;
98
+ duration?: Duration;
99
+ /**
100
+ * ID of the corresponding option for the choice. For example, the choice `child`
101
+ * could correspond to the option `ageGroup`. In this case, `optionId` is the ID
102
+ * for the `ageGroup` option.
103
+ */
104
+ optionId?: string;
105
+ }
106
+ /** @oneof */
107
+ export interface ServiceChoiceChoiceOneOf {
108
+ /**
109
+ * Value for one of the choices in the [`CustomServiceOption.choices`](https://example.com) list.
110
+ * Choices are specific values for an option the customer can choose to book. For example,
111
+ * the option `ageGroup` may have these choices: `child`, `student`, `adult`, and `senior`.
112
+ * Each choice may have a different price.
113
+ */
114
+ custom?: string;
115
+ duration?: Duration;
116
+ }
117
+ export interface Duration {
118
+ /**
119
+ * Duration of the service in minutes.
120
+ * Min: 1 minute, Max: 30 days, 23 hours, and 59 minutes
121
+ */
122
+ minutes?: number;
123
+ /**
124
+ * Name of the duration option.
125
+ * Defaults to the formatted duration e.g. "1 hour, 30 minutes".
126
+ */
127
+ name?: string | null;
128
+ }
129
+ export interface PriceDescriptionInfo {
130
+ /** The price description in the main site language */
131
+ original?: string;
132
+ /** The translated price description in case the booking was made in a secondary language */
133
+ translated?: string | null;
134
+ }
135
+ export interface PreviewPriceRequest {
136
+ /** List of line items to preview the price for. */
137
+ bookingLineItems: BookingLineItem[];
138
+ }
139
+ export interface PreviewPriceResponse {
140
+ /** Information about each line item's price and the estimated total price based on the line items. */
141
+ priceInfo?: PriceInfo;
142
+ }
143
+ export interface CalculatePriceRequest {
144
+ /** Booking to calculate the price for. */
145
+ booking: Booking;
146
+ }
147
+ /** An entity representing a scheduled appointment, class session, or course. */
148
+ export interface Booking extends BookingParticipantsInfoOneOf {
149
+ /**
150
+ * Total number of participants. Available only when the relevant service
151
+ * doesn't have variants and options
152
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
153
+ */
154
+ totalParticipants?: number;
155
+ /**
156
+ * Information about the booked service choices and participants.
157
+ * Available only when the booking includes multiple service variants
158
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
159
+ */
160
+ participantsChoices?: ParticipantChoices;
161
+ /**
162
+ * Booking ID.
163
+ * @readonly
164
+ */
165
+ id?: string | null;
166
+ /**
167
+ * An object describing the slot
168
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/availability-calendar/query-availability) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability))
169
+ * or schedule
170
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction))
171
+ * that was booked.
172
+ */
173
+ bookedEntity?: BookedEntity;
174
+ /**
175
+ * Contact details of the site visitor or
176
+ * member ([SDK](https://dev.wix.com/docs/sdk/backend-modules/members/members/introduction) | [REST](https://dev.wix.com/docs/rest/crm/members-contacts/members/members/introduction))
177
+ * making the booking.
178
+ */
179
+ contactDetails?: ContactDetails;
180
+ /** Additional custom fields submitted with the booking form. */
181
+ additionalFields?: CustomFormField[];
182
+ /**
183
+ * Booking status. A booking is automatically confirmed if the service allows it
184
+ * and an eCommerce order is created. It is automatically declined if there is a
185
+ * double booking and the customer hasn't paid or is eligible for an automatic
186
+ * refund. Currently, only payments with pricing plans are automatically refundable.
187
+ */
188
+ status?: BookingStatus;
189
+ /**
190
+ * The payment status of the booking corresponds to the `paymentStatus` of the
191
+ * related eCommerce order ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/orders/setup)| [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/orders/introduction)),
192
+ * if one exists. All payment statuses are supported for every booking `status`.
193
+ */
194
+ paymentStatus?: PaymentStatus;
195
+ /**
196
+ * Payment option selected by the customer. If the customer hasn't completed their
197
+ * checkout, they may still change the payment method. Must be one of the payment
198
+ * options offered by the service ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/introduction)),
199
+ * unless `skipSelectedPaymentOptionValidation` is `true`.
200
+ * When undefined during an
201
+ * eCommerce checkout ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)),
202
+ * Wix Bookings uses the service's default payment option
203
+ */
204
+ selectedPaymentOption?: SelectedPaymentOption;
205
+ /**
206
+ * Date and time the booking was created in `YYYY-MM-DDThh:mm:ss.sssZ` format.
207
+ * @readonly
208
+ */
209
+ createdDate?: Date | null;
210
+ /** External user ID that you can provide. */
211
+ externalUserId?: string | null;
212
+ /**
213
+ * Revision number to be used when updating, rescheduling, or cancelling the
214
+ * booking. Increments by 1 each time the booking is updated, rescheduled, or
215
+ * canceled. To prevent conflicting changes, the current revision must be
216
+ * specified when updating the booking.
217
+ */
218
+ revision?: string | null;
219
+ /**
220
+ * ID of the creator of the booking.
221
+ * If `appId` and another ID are present, the other ID takes precedence.
222
+ * @readonly
223
+ */
224
+ createdBy?: IdentificationData;
225
+ /**
226
+ * The start date of the booking in `YYYY-MM-DDThh:mm:ss.sssZ` format.
227
+ * For a slot, this is the start date of the slot. For a schedule, this is the start date of the first session.
228
+ * @readonly
229
+ */
230
+ startDate?: Date | null;
231
+ /**
232
+ * The end date of the booking in `YYYY-MM-DDThh:mm:ss.sssZ` format.
233
+ * For a slot, this is the end date of the slot. For a schedule, this is the end date of the last session.
234
+ * @readonly
235
+ */
236
+ endDate?: Date | null;
237
+ /**
238
+ * Date and time the booking was updated in `YYYY-MM-DDThh:mm:ss.sssZ` format.
239
+ * @readonly
240
+ */
241
+ updatedDate?: Date | null;
242
+ /**
243
+ * Custom field data for this object.
244
+ * Extended fields must be configured in the app dashboard before they can be accessed with API calls.
245
+ */
246
+ extendedFields?: ExtendedFields;
247
+ /**
248
+ * Whether this booking overlaps with another confirmed booking. Returned
249
+ * only if set to `true`.
250
+ * @readonly
251
+ */
252
+ doubleBooked?: boolean | null;
253
+ }
254
+ /** @oneof */
255
+ export interface BookingParticipantsInfoOneOf {
256
+ /**
257
+ * Total number of participants. Available only when the relevant service
258
+ * doesn't have variants and options
259
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
260
+ */
261
+ totalParticipants?: number;
262
+ /**
263
+ * Information about the booked service choices and participants.
264
+ * Available only when the booking includes multiple service variants
265
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
266
+ */
267
+ participantsChoices?: ParticipantChoices;
268
+ }
269
+ /**
270
+ * A multi-service booking is considered available if all individual bookings are available as returned from List Multi Service Availability Time Slots.
271
+ * Currently, `SEPARATE_BOOKINGS` and `PARALLEL_BOOKINGS` are not supported.
272
+ * Multi-service booking is available if each of its bookings is available separately.
273
+ * For `SEQUENTIAL_BOOKINGS`, see `List Multi Service Availability Time Slots` documentation.
274
+ */
275
+ export declare enum MultiServiceBookingType {
276
+ SEQUENTIAL_BOOKINGS = "SEQUENTIAL_BOOKINGS",
277
+ SEPARATE_BOOKINGS = "SEPARATE_BOOKINGS",
278
+ PARALLEL_BOOKINGS = "PARALLEL_BOOKINGS"
279
+ }
280
+ export interface BookedEntity extends BookedEntityItemOneOf {
281
+ /**
282
+ * Booked slot
283
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/availability-calendar/query-availability) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability)).
284
+ * Available only for appointment-based services and classes.
285
+ * For appointment-based services, a new session is created, while for classes,
286
+ * the booking is automatically linked to the existing session.
287
+ */
288
+ slot?: BookedSlot;
289
+ /**
290
+ * Booked schedule
291
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction)).
292
+ * Available only for course bookings.
293
+ */
294
+ schedule?: BookedSchedule;
295
+ /**
296
+ * Session title at the time of booking. If there is no pre-existing session,
297
+ * for example for appointment-based services, `title` is set to the service name.
298
+ * @readonly
299
+ */
300
+ title?: string | null;
301
+ /**
302
+ * List of tags for the booking.
303
+ *
304
+ * - "INDIVIDUAL": For bookings of appointment-based services. Including when the appointment is for a group of participants.
305
+ * - "GROUP": For bookings of individual class sessions.
306
+ * - "COURSE": For course bookings.
307
+ */
308
+ tags?: string[] | null;
309
+ }
310
+ /** @oneof */
311
+ export interface BookedEntityItemOneOf {
312
+ /**
313
+ * Booked slot
314
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/availability-calendar/query-availability) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings-and-time-slots/time-slots/availability-calendar/query-availability)).
315
+ * Available only for appointment-based services and classes.
316
+ * For appointment-based services, a new session is created, while for classes,
317
+ * the booking is automatically linked to the existing session.
318
+ */
319
+ slot?: BookedSlot;
320
+ /**
321
+ * Booked schedule
322
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction)).
323
+ * Available only for course bookings.
324
+ */
325
+ schedule?: BookedSchedule;
326
+ }
327
+ export interface BookedSlot {
328
+ /** Session ID. */
329
+ sessionId?: string | null;
330
+ /** Service ID. */
331
+ serviceId?: string;
332
+ /** Schedule ID. */
333
+ scheduleId?: string;
334
+ /**
335
+ * ID of the corresponding event
336
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/events/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/events-v3/introduction)).
337
+ * Available for both appointment and class bookings, not available for course bookings.
338
+ * For appointment-based services, Wix Bookings automatically populates `eventId`
339
+ * when the booking `status` changes to `CONFIRMED`. For class bookings, it's
340
+ * automatically populated upon booking creation.
341
+ */
342
+ eventId?: string | null;
343
+ /**
344
+ * The start time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)
345
+ * format.
346
+ */
347
+ startDate?: string | null;
348
+ /**
349
+ * The end time of this slot in [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339)
350
+ * format.
351
+ */
352
+ endDate?: string | null;
353
+ /** The timezone according to which the slot was shown to the user when booking, and should be shown in the future. */
354
+ timezone?: string | null;
355
+ /**
356
+ * Primary resource
357
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/resources/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/resources/resources-v2/introduction))
358
+ * for the booking. For example, the staff member
359
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/staff-members/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/staff-members/introduction))
360
+ * providing the
361
+ * service.
362
+ */
363
+ resource?: BookedResource;
364
+ /** Location where the session takes place. */
365
+ location?: Location;
366
+ }
367
+ export interface BookedResource {
368
+ /** ID of the booking's primary resource. */
369
+ id?: string;
370
+ /** Resource's name at the time of booking. */
371
+ name?: string | null;
372
+ /** Resource's email at the time of booking. */
373
+ email?: string | null;
374
+ /** ID of the schedule belonging to the booking's primary resource. */
375
+ scheduleId?: string | null;
376
+ }
377
+ export interface Location {
378
+ /**
379
+ * Business location ID. Available only for locations that are business locations,
380
+ * meaning the `location_type` is `"OWNER_BUSINESS"`.
381
+ */
382
+ id?: string | null;
383
+ /** Location name. */
384
+ name?: string | null;
385
+ /** The full address of this location. */
386
+ formattedAddress?: string | null;
387
+ /** The full translated address of this location. */
388
+ formattedAddressTranslated?: string | null;
389
+ /**
390
+ * Location type.
391
+ *
392
+ * - `"OWNER_BUSINESS"`: The business address, as set in the site’s general settings.
393
+ * - `"OWNER_CUSTOM"`: The address as set when creating the service.
394
+ * - `"CUSTOM"`: The address as set for the individual session.
395
+ */
396
+ locationType?: LocationType;
397
+ }
398
+ export declare enum LocationType {
399
+ UNDEFINED = "UNDEFINED",
400
+ OWNER_BUSINESS = "OWNER_BUSINESS",
401
+ OWNER_CUSTOM = "OWNER_CUSTOM",
402
+ CUSTOM = "CUSTOM"
403
+ }
404
+ export interface BookedSchedule {
405
+ /**
406
+ * Schedule ID
407
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/calendar/schedules/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/calendar/schedules-v3/introduction)).
408
+ */
409
+ scheduleId?: string;
410
+ /** Booked service ID. */
411
+ serviceId?: string | null;
412
+ /**
413
+ * Location
414
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/business-tools/locations/introduction) | [REST](https://dev.wix.com/docs/rest/business-management/locations/introduction))
415
+ * where the schedule's sessions take place.
416
+ * @readonly
417
+ */
418
+ location?: Location;
419
+ /**
420
+ * Timezone in which the slot or session was shown to the customer when they booked.
421
+ * Also used whenever the customer reviews the booking's timing in the future.
422
+ */
423
+ timezone?: string | null;
424
+ /**
425
+ * Start time of the first session related to the booking in
426
+ * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.
427
+ * @readonly
428
+ */
429
+ firstSessionStart?: string | null;
430
+ /**
431
+ * End time of the last session related to the booking in
432
+ * [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339) format.
433
+ * @readonly
434
+ */
435
+ lastSessionEnd?: string | null;
436
+ }
437
+ export interface ContactDetails {
438
+ /** Contact ID. */
439
+ contactId?: string | null;
440
+ /**
441
+ * Contact's first name. When populated from a standard booking form, this
442
+ * property corresponds to the `name` field.
443
+ */
444
+ firstName?: string | null;
445
+ /** Contact's last name. */
446
+ lastName?: string | null;
447
+ /**
448
+ * Contact's email. If no [contact](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/contact-object)
449
+ * with this email exist, a new contact is created.
450
+ * Used to validate coupon usage limitations per contact. If not specified,
451
+ * the coupon usage limitation will not be enforced. (Coupon usage limitation
452
+ * validation is not supported yet).
453
+ */
454
+ email?: string | null;
455
+ /** Contact's phone number. */
456
+ phone?: string | null;
457
+ /** Contact's full address. */
458
+ fullAddress?: Address;
459
+ /**
460
+ * Contact's time zone.
461
+ * @deprecated
462
+ */
463
+ timeZone?: string | null;
464
+ /**
465
+ * Contact's country in [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
466
+ * format.
467
+ */
468
+ countryCode?: string | null;
469
+ }
470
+ /** Physical address */
471
+ export interface Address extends AddressStreetOneOf {
472
+ /** Street name, number and apartment number. */
473
+ streetAddress?: StreetAddress;
474
+ /** Main address line, usually street and number, as free text. */
475
+ addressLine?: string | null;
476
+ /** Country code. */
477
+ country?: string | null;
478
+ /** Subdivision. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */
479
+ subdivision?: string | null;
480
+ /** City name. */
481
+ city?: string | null;
482
+ /** Zip/postal code. */
483
+ postalCode?: string | null;
484
+ /** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */
485
+ addressLine2?: string | null;
486
+ /** A string containing the full address of this location. */
487
+ formattedAddress?: string | null;
488
+ /** Free text to help find the address. */
489
+ hint?: string | null;
490
+ /** Coordinates of the physical address. */
491
+ geocode?: AddressLocation;
492
+ /** Country full name. */
493
+ countryFullname?: string | null;
494
+ /** Multi-level subdivisions from top to bottom. */
495
+ subdivisions?: Subdivision[];
496
+ }
497
+ /** @oneof */
498
+ export interface AddressStreetOneOf {
499
+ /** Street name, number and apartment number. */
500
+ streetAddress?: StreetAddress;
501
+ /** Main address line, usually street and number, as free text. */
502
+ addressLine?: string | null;
503
+ }
504
+ export interface StreetAddress {
505
+ /** Street number. */
506
+ number?: string;
507
+ /** Street name. */
508
+ name?: string;
509
+ /** Apartment number. */
510
+ apt?: string;
511
+ }
512
+ export interface AddressLocation {
513
+ /** Address latitude. */
514
+ latitude?: number | null;
515
+ /** Address longitude. */
516
+ longitude?: number | null;
517
+ }
518
+ export interface Subdivision {
519
+ /** Subdivision code. Usually state, region, prefecture or province code, according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */
520
+ code?: string;
521
+ /** Subdivision full name. */
522
+ name?: string;
523
+ }
524
+ export interface CustomFormField {
525
+ /** ID of the form field as defined in the form. */
526
+ id?: string;
527
+ /** Value that was submitted for this field. */
528
+ value?: string | null;
529
+ /**
530
+ * Form field's label at the time of submission.
531
+ * @readonly
532
+ */
533
+ label?: string | null;
534
+ valueType?: ValueType;
535
+ }
536
+ export declare enum ValueType {
537
+ /** Short text. This is the default value type. */
538
+ SHORT_TEXT = "SHORT_TEXT",
539
+ /** Long text. */
540
+ LONG_TEXT = "LONG_TEXT",
541
+ /** A text that represents the check box value. If selected the value is `true`, otherwise `false`. */
542
+ CHECK_BOX = "CHECK_BOX"
543
+ }
544
+ /** Booking status. */
545
+ export declare enum BookingStatus {
546
+ /**
547
+ * The booking was created, but the customer hasn't completed the related
548
+ * eCommerce order yet.
549
+ */
550
+ CREATED = "CREATED",
551
+ /**
552
+ * The merchant has confirmed the booking and it appears in the
553
+ * business calendar. Merchants can set up their services
554
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/services/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/services-v2/introduction))
555
+ * to automatically confirm all `PENDING` bookings.
556
+ */
557
+ CONFIRMED = "CONFIRMED",
558
+ /**
559
+ * The customer has canceled the booking. Depending on the relevant service's
560
+ * policy snapshot
561
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-policy-snapshots/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/policies/booking-policy-snapshots/introduction))
562
+ * they may have to pay a cancellation fee
563
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/booking-fees/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/pricing/booking-fees/introduction)).
564
+ */
565
+ CANCELED = "CANCELED",
566
+ /**
567
+ * The merchant must manually confirm the booking before it appears
568
+ * in the business calendar.
569
+ */
570
+ PENDING = "PENDING",
571
+ /** The merchant has declined the booking before the customer was charged. */
572
+ DECLINED = "DECLINED",
573
+ /**
574
+ * The booking is on a waitlist.
575
+ * Currently, you can't call Register to Waitlist
576
+ * ([REST](https://dev.wix.com/docs/rest/business-solutions/bookings/bookings/waitlist/register-to-waitlist))
577
+ * for course or appointment bookings, even though this is supported in live sites.
578
+ * You can call Register to Waitlist only for class session bookings.
579
+ */
580
+ WAITING_LIST = "WAITING_LIST"
581
+ }
582
+ /**
583
+ * Payment status.
584
+ * Automatically updated when using eCommerce checkout APIs.
585
+ */
586
+ export declare enum PaymentStatus {
587
+ /** Undefined payment status. */
588
+ UNDEFINED = "UNDEFINED",
589
+ /** The booking isn't paid. */
590
+ NOT_PAID = "NOT_PAID",
591
+ /** The booking is fully paid. */
592
+ PAID = "PAID",
593
+ /** The booking is partially paid. */
594
+ PARTIALLY_PAID = "PARTIALLY_PAID",
595
+ /** The booking is refunded. */
596
+ REFUNDED = "REFUNDED",
597
+ /** The booking is free of charge. */
598
+ EXEMPT = "EXEMPT"
599
+ }
600
+ /**
601
+ * Selected payment option.
602
+ *
603
+ * One of the payment options offered by the service.
604
+ * This field is set when the user selects an option during booking.
605
+ * If left undefined, the payment option is resolved by the service configuration on checkout.
606
+ */
607
+ export declare enum SelectedPaymentOption {
608
+ /** Undefined payment option. */
609
+ UNDEFINED = "UNDEFINED",
610
+ /** Offline payment. */
611
+ OFFLINE = "OFFLINE",
612
+ /** Online payment. */
613
+ ONLINE = "ONLINE",
614
+ /** Payment using a Wix Pricing Plan. */
615
+ MEMBERSHIP = "MEMBERSHIP",
616
+ /**
617
+ * Customers can pay only in person with a Wix Pricing Plan, while the Wix user
618
+ * must manually redeem the pricing plan in the dashboard.
619
+ */
620
+ MEMBERSHIP_OFFLINE = "MEMBERSHIP_OFFLINE"
621
+ }
622
+ export interface BookingSource {
623
+ /** Platform from which a booking was created. */
624
+ platform?: Platform;
625
+ /** Actor that created this booking. */
626
+ actor?: Actor;
627
+ /**
628
+ * Wix site ID of the application that created the booking.
629
+ * @readonly
630
+ */
631
+ appDefId?: string | null;
632
+ /**
633
+ * Name of the application that created the booking, as saved in Wix Developers Center at the time of booking.
634
+ * @readonly
635
+ */
636
+ appName?: string | null;
637
+ }
638
+ export declare enum Platform {
639
+ UNDEFINED_PLATFORM = "UNDEFINED_PLATFORM",
640
+ WEB = "WEB",
641
+ MOBILE_APP = "MOBILE_APP"
642
+ }
643
+ export declare enum Actor {
644
+ UNDEFINED_ACTOR = "UNDEFINED_ACTOR",
645
+ BUSINESS = "BUSINESS",
646
+ CUSTOMER = "CUSTOMER"
647
+ }
648
+ export interface ParticipantNotification {
649
+ /**
650
+ * Whether to send the message about the changes to the customer.
651
+ *
652
+ * Default: `false`
653
+ */
654
+ notifyParticipants?: boolean;
655
+ /** Custom message to send to the participants about the changes to the booking. */
656
+ message?: string | null;
657
+ }
658
+ export interface IdentificationData extends IdentificationDataIdOneOf {
659
+ /** ID of a site visitor that has not logged in to the site. */
660
+ anonymousVisitorId?: string;
661
+ /** ID of a site visitor that has logged in to the site. */
662
+ memberId?: string;
663
+ /** ID of a Wix user (site owner, contributor, etc.). */
664
+ wixUserId?: string;
665
+ /** ID of an app. */
666
+ appId?: string;
667
+ /** ID of of a contact in the site's [CRM by Ascend](https://www.wix.com/ascend/crm) system. */
668
+ contactId?: string | null;
669
+ }
670
+ /** @oneof */
671
+ export interface IdentificationDataIdOneOf {
672
+ /** ID of a site visitor that has not logged in to the site. */
673
+ anonymousVisitorId?: string;
674
+ /** ID of a site visitor that has logged in to the site. */
675
+ memberId?: string;
676
+ /** ID of a Wix user (site owner, contributor, etc.). */
677
+ wixUserId?: string;
678
+ /** ID of an app. */
679
+ appId?: string;
680
+ }
681
+ export declare enum IdentityType {
682
+ UNKNOWN = "UNKNOWN",
683
+ ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
684
+ MEMBER = "MEMBER",
685
+ WIX_USER = "WIX_USER",
686
+ APP = "APP"
687
+ }
688
+ export interface FlowControlSettings {
689
+ /** Whether availability is checked when creating or confirming the booking. */
690
+ skipAvailabilityValidation?: boolean;
691
+ /**
692
+ * Whether the booking's `status` is automatically updated to `CONFIRMED` when
693
+ * the customer completes the eCommerce checkout
694
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/ecom/checkout/setup) | [REST](https://dev.wix.com/docs/rest/business-solutions/e-commerce/checkout/introduction)),
695
+ * regardless of whether the relevant service requires manual business confirmation.
696
+ */
697
+ skipBusinessConfirmation?: boolean;
698
+ /**
699
+ * Whether the customer is allowed to pay with a payment method that isn't
700
+ * supported for the relevant service.
701
+ */
702
+ skipSelectedPaymentOptionValidation?: boolean;
703
+ /**
704
+ * Whether the customer receives an automatic refund if there's a double booking
705
+ * conflict. Only available if the customer has paid with a
706
+ * pricing plan.
707
+ */
708
+ withRefund?: boolean | null;
709
+ }
710
+ export interface ExtendedFields {
711
+ /**
712
+ * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.
713
+ * The value of each key is structured according to the schema defined when the extended fields were configured.
714
+ *
715
+ * You can only access fields for which you have the appropriate permissions.
716
+ *
717
+ * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).
718
+ */
719
+ namespaces?: Record<string, Record<string, any>>;
720
+ }
721
+ export interface ParticipantChoices {
722
+ /** Information about the booked service choices. Includes the number of participants. */
723
+ serviceChoices?: ServiceChoices[];
724
+ }
725
+ export interface ServiceChoices {
726
+ /**
727
+ * Number of participants for this variant
728
+ * ([SDK](https://dev.wix.com/docs/sdk/backend-modules/bookings/service-options-and-variants/introduction) | [REST](https://dev.wix.com/docs/rest/business-solutions/bookings/services/service-options-and-variants/introduction)).
729
+ */
730
+ numberOfParticipants?: number | null;
731
+ /** Service choices for these participants. */
732
+ choices?: ServiceChoice[];
733
+ }
734
+ export interface MultiServiceBookingInfo {
735
+ /**
736
+ * Multi-service booking ID.
737
+ * @readonly
738
+ */
739
+ id?: string | null;
740
+ /** Type of the multi-service booking. */
741
+ type?: MultiServiceBookingType;
742
+ }
743
+ export interface CalculatePriceResponse {
744
+ /** Information about each line item's price and the actual total base price. */
745
+ priceInfo?: PriceInfo;
746
+ }
747
+ interface PriceDescriptionInfoNonNullableFields {
748
+ original: string;
749
+ }
750
+ interface DurationNonNullableFields {
751
+ minutes: number;
752
+ }
753
+ interface ServiceChoiceNonNullableFields {
754
+ custom: string;
755
+ duration?: DurationNonNullableFields;
756
+ optionId: string;
757
+ }
758
+ interface BookingLineItemNonNullableFields {
759
+ choices: ServiceChoiceNonNullableFields[];
760
+ }
761
+ interface PriceInfoNonNullableFields {
762
+ calculatedPrice: number;
763
+ priceDescription: string;
764
+ priceDescriptionInfo?: PriceDescriptionInfoNonNullableFields;
765
+ bookingLineItems: BookingLineItemNonNullableFields[];
766
+ }
767
+ export interface PreviewPriceResponseNonNullableFields {
768
+ priceInfo?: PriceInfoNonNullableFields;
769
+ }
770
+ export interface CalculatePriceResponseNonNullableFields {
771
+ priceInfo?: PriceInfoNonNullableFields;
772
+ }
773
+ export {};