@bluehive/sdk 0.1.0-alpha.10 → 0.1.0-alpha.12

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 (114) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +2 -6
  3. package/client.d.mts +15 -0
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +15 -0
  6. package/client.d.ts.map +1 -1
  7. package/client.js +17 -2
  8. package/client.js.map +1 -1
  9. package/client.mjs +17 -2
  10. package/client.mjs.map +1 -1
  11. package/internal/to-file.d.mts +1 -1
  12. package/internal/to-file.d.ts +1 -1
  13. package/internal/to-file.js +1 -1
  14. package/internal/to-file.mjs +1 -1
  15. package/internal/tslib.js +17 -17
  16. package/internal/utils/values.js +3 -3
  17. package/internal/utils/values.js.map +1 -1
  18. package/internal/utils/values.mjs +3 -3
  19. package/internal/utils/values.mjs.map +1 -1
  20. package/package.json +1 -1
  21. package/resources/employees.d.mts +463 -0
  22. package/resources/employees.d.mts.map +1 -0
  23. package/resources/employees.d.ts +463 -0
  24. package/resources/employees.d.ts.map +1 -0
  25. package/resources/employees.js +54 -0
  26. package/resources/employees.js.map +1 -0
  27. package/resources/employees.mjs +50 -0
  28. package/resources/employees.mjs.map +1 -0
  29. package/resources/employers/employers.d.mts +88 -0
  30. package/resources/employers/employers.d.mts.map +1 -0
  31. package/resources/employers/employers.d.ts +88 -0
  32. package/resources/employers/employers.d.ts.map +1 -0
  33. package/resources/employers/employers.js +41 -0
  34. package/resources/employers/employers.js.map +1 -0
  35. package/resources/employers/employers.mjs +36 -0
  36. package/resources/employers/employers.mjs.map +1 -0
  37. package/resources/employers/index.d.mts +3 -0
  38. package/resources/employers/index.d.mts.map +1 -0
  39. package/resources/employers/index.d.ts +3 -0
  40. package/resources/employers/index.d.ts.map +1 -0
  41. package/resources/employers/index.js +9 -0
  42. package/resources/employers/index.js.map +1 -0
  43. package/resources/employers/index.mjs +4 -0
  44. package/resources/employers/index.mjs.map +1 -0
  45. package/resources/employers/service-bundles.d.mts +110 -0
  46. package/resources/employers/service-bundles.d.mts.map +1 -0
  47. package/resources/employers/service-bundles.d.ts +110 -0
  48. package/resources/employers/service-bundles.d.ts.map +1 -0
  49. package/resources/employers/service-bundles.js +47 -0
  50. package/resources/employers/service-bundles.js.map +1 -0
  51. package/resources/employers/service-bundles.mjs +43 -0
  52. package/resources/employers/service-bundles.mjs.map +1 -0
  53. package/resources/employers.d.mts +2 -0
  54. package/resources/employers.d.mts.map +1 -0
  55. package/resources/employers.d.ts +2 -0
  56. package/resources/employers.d.ts.map +1 -0
  57. package/resources/employers.js +6 -0
  58. package/resources/employers.js.map +1 -0
  59. package/resources/employers.mjs +3 -0
  60. package/resources/employers.mjs.map +1 -0
  61. package/resources/fax.d.mts +3 -1
  62. package/resources/fax.d.mts.map +1 -1
  63. package/resources/fax.d.ts +3 -1
  64. package/resources/fax.d.ts.map +1 -1
  65. package/resources/hl7.d.mts +46 -0
  66. package/resources/hl7.d.mts.map +1 -0
  67. package/resources/hl7.d.ts +46 -0
  68. package/resources/hl7.d.ts.map +1 -0
  69. package/resources/hl7.js +15 -0
  70. package/resources/hl7.js.map +1 -0
  71. package/resources/hl7.mjs +11 -0
  72. package/resources/hl7.mjs.map +1 -0
  73. package/resources/index.d.mts +5 -0
  74. package/resources/index.d.mts.map +1 -1
  75. package/resources/index.d.ts +5 -0
  76. package/resources/index.d.ts.map +1 -1
  77. package/resources/index.js +11 -1
  78. package/resources/index.js.map +1 -1
  79. package/resources/index.mjs +5 -0
  80. package/resources/index.mjs.map +1 -1
  81. package/resources/integrations.d.mts +42 -0
  82. package/resources/integrations.d.mts.map +1 -0
  83. package/resources/integrations.d.ts +42 -0
  84. package/resources/integrations.d.ts.map +1 -0
  85. package/resources/integrations.js +33 -0
  86. package/resources/integrations.js.map +1 -0
  87. package/resources/integrations.mjs +29 -0
  88. package/resources/integrations.mjs.map +1 -0
  89. package/resources/orders.d.mts +554 -0
  90. package/resources/orders.d.mts.map +1 -0
  91. package/resources/orders.d.ts +554 -0
  92. package/resources/orders.d.ts.map +1 -0
  93. package/resources/orders.js +71 -0
  94. package/resources/orders.js.map +1 -0
  95. package/resources/orders.mjs +67 -0
  96. package/resources/orders.mjs.map +1 -0
  97. package/src/client.ts +121 -2
  98. package/src/internal/to-file.ts +1 -1
  99. package/src/internal/utils/values.ts +3 -3
  100. package/src/resources/employees.ts +634 -0
  101. package/src/resources/employers/employers.ts +160 -0
  102. package/src/resources/employers/index.ts +21 -0
  103. package/src/resources/employers/service-bundles.ts +204 -0
  104. package/src/resources/employers.ts +3 -0
  105. package/src/resources/fax.ts +1 -1
  106. package/src/resources/hl7.ts +60 -0
  107. package/src/resources/index.ts +49 -0
  108. package/src/resources/integrations.ts +72 -0
  109. package/src/resources/orders.ts +874 -0
  110. package/src/version.ts +1 -1
  111. package/version.d.mts +1 -1
  112. package/version.d.ts +1 -1
  113. package/version.js +1 -1
  114. package/version.mjs +1 -1
@@ -0,0 +1,874 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { buildHeaders } from '../internal/headers';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { path } from '../internal/utils/path';
8
+
9
+ export class Orders extends APIResource {
10
+ /**
11
+ * Create orders for consumers (self-pay or employer-sponsored), employers, or bulk
12
+ * orders. Consolidates functionality from legacy Order.createOrder and
13
+ * Order.SendOrder methods.
14
+ */
15
+ create(body: OrderCreateParams, options?: RequestOptions): APIPromise<OrderCreateResponse> {
16
+ return this._client.post('/v1/orders', { body, ...options });
17
+ }
18
+
19
+ /**
20
+ * Retrieve details for a specific order
21
+ */
22
+ retrieve(orderID: string, options?: RequestOptions): APIPromise<OrderRetrieveResponse> {
23
+ return this._client.get(path`/v1/orders/${orderID}`, options);
24
+ }
25
+
26
+ /**
27
+ * Update order details and associated order items. Allows updating order status,
28
+ * metadata, and modifying order item services.
29
+ */
30
+ update(
31
+ orderID: string,
32
+ body: OrderUpdateParams | null | undefined = {},
33
+ options?: RequestOptions,
34
+ ): APIPromise<OrderUpdateResponse> {
35
+ return this._client.post(path`/v1/orders/${orderID}`, { body, ...options });
36
+ }
37
+
38
+ /**
39
+ * Retrieve results for an order. Supports filtering by serviceId, status, date
40
+ * window, and pagination.
41
+ */
42
+ retrieveResults(
43
+ orderID: string,
44
+ query: OrderRetrieveResultsParams | null | undefined = {},
45
+ options?: RequestOptions,
46
+ ): APIPromise<OrderRetrieveResultsResponse> {
47
+ return this._client.get(path`/v1/orders/${orderID}/results`, { query, ...options });
48
+ }
49
+
50
+ /**
51
+ * Schedule an appointment or walk-in for an existing order. Sends HL7 SIU^S12
52
+ * message for appointment booking.
53
+ */
54
+ scheduleAppointment(
55
+ orderID: string,
56
+ body: OrderScheduleAppointmentParams,
57
+ options?: RequestOptions,
58
+ ): APIPromise<OrderScheduleAppointmentResponse> {
59
+ return this._client.post(path`/v1/orders/${orderID}/schedule-appointment`, { body, ...options });
60
+ }
61
+
62
+ /**
63
+ * Send an order for a specific employee. Requires API key, login token, and user
64
+ * ID. This endpoint specifically handles employer-to-employee order sending.
65
+ */
66
+ sendForEmployee(
67
+ params: OrderSendForEmployeeParams,
68
+ options?: RequestOptions,
69
+ ): APIPromise<OrderSendForEmployeeResponse> {
70
+ const { 'login-token': loginToken, 'user-id': userID, ...body } = params;
71
+ return this._client.post('/v1/orders/send', {
72
+ body,
73
+ ...options,
74
+ headers: buildHeaders([{ 'login-token': loginToken, 'user-id': userID }, options?.headers]),
75
+ });
76
+ }
77
+
78
+ /**
79
+ * Update the status of an existing order
80
+ */
81
+ updateStatus(
82
+ orderID: string,
83
+ body: OrderUpdateStatusParams,
84
+ options?: RequestOptions,
85
+ ): APIPromise<OrderUpdateStatusResponse> {
86
+ return this._client.put(path`/v1/orders/${orderID}/status`, { body, ...options });
87
+ }
88
+
89
+ /**
90
+ * Upload test results for a specific order item. Supports both existing fileIds
91
+ * and base64 encoded files. Requires order access code and employee verification.
92
+ */
93
+ uploadResults(
94
+ orderID: string,
95
+ body: OrderUploadResultsParams,
96
+ options?: RequestOptions,
97
+ ): APIPromise<OrderUploadResultsResponse> {
98
+ return this._client.post(path`/v1/orders/${orderID}/upload-results`, { body, ...options });
99
+ }
100
+ }
101
+
102
+ export type OrderCreateResponse = OrderCreateResponse.UnionMember0 | OrderCreateResponse.UnionMember1;
103
+
104
+ export namespace OrderCreateResponse {
105
+ export interface UnionMember0 {
106
+ orderId: string;
107
+
108
+ orderNumber: string;
109
+
110
+ success: true;
111
+
112
+ hostedInvoiceUrl?: string;
113
+
114
+ message?: string;
115
+
116
+ selfPay?: boolean;
117
+ }
118
+
119
+ export interface UnionMember1 {
120
+ orderResults: Array<UnionMember1.OrderResult>;
121
+
122
+ status: 'split';
123
+
124
+ success: true;
125
+
126
+ message?: string;
127
+ }
128
+
129
+ export namespace UnionMember1 {
130
+ export interface OrderResult {
131
+ orderId: string;
132
+
133
+ orderNumber: string;
134
+
135
+ providerId: string;
136
+ }
137
+ }
138
+ }
139
+
140
+ export interface OrderRetrieveResponse {
141
+ orderId?: string;
142
+
143
+ orderNumber?: string;
144
+
145
+ status?: string;
146
+ }
147
+
148
+ export interface OrderUpdateResponse {
149
+ message: string;
150
+
151
+ orderId: string;
152
+
153
+ orderNumber: string;
154
+
155
+ success: true;
156
+
157
+ updatedFields?: Array<string>;
158
+ }
159
+
160
+ export interface OrderRetrieveResultsResponse {
161
+ meta: OrderRetrieveResultsResponse.Meta;
162
+
163
+ services: Array<OrderRetrieveResultsResponse.Service>;
164
+ }
165
+
166
+ export namespace OrderRetrieveResultsResponse {
167
+ export interface Meta {
168
+ orderId: string;
169
+
170
+ page: number;
171
+
172
+ pageSize: number;
173
+
174
+ returned: number;
175
+
176
+ totalServices: number;
177
+
178
+ employeeId?: string;
179
+
180
+ orderNumber?: string;
181
+
182
+ providerId?: string;
183
+ }
184
+
185
+ export interface Service {
186
+ serviceId: string;
187
+
188
+ status: string;
189
+
190
+ altTxt?: string;
191
+
192
+ completed_datetime?: string;
193
+
194
+ contacts?: Array<string>;
195
+
196
+ drawn_datetime?: string;
197
+
198
+ fileIds?: Array<string>;
199
+
200
+ message?: string;
201
+
202
+ result?: string;
203
+
204
+ resultsPosted?: string;
205
+ }
206
+ }
207
+
208
+ export interface OrderScheduleAppointmentResponse {
209
+ message: string;
210
+
211
+ success: boolean;
212
+ }
213
+
214
+ /**
215
+ * Order sent successfully (single or split)
216
+ */
217
+ export type OrderSendForEmployeeResponse =
218
+ | OrderSendForEmployeeResponse.UnionMember0
219
+ | OrderSendForEmployeeResponse.UnionMember1;
220
+
221
+ export namespace OrderSendForEmployeeResponse {
222
+ export interface UnionMember0 {
223
+ orderId: string;
224
+
225
+ orderNumber: string;
226
+
227
+ success: true;
228
+
229
+ message?: string;
230
+ }
231
+
232
+ export interface UnionMember1 {
233
+ orderResults: Array<UnionMember1.OrderResult>;
234
+
235
+ status: 'split';
236
+
237
+ success: true;
238
+
239
+ message?: string;
240
+ }
241
+
242
+ export namespace UnionMember1 {
243
+ export interface OrderResult {
244
+ orderId: string;
245
+
246
+ orderNumber: string;
247
+
248
+ providerId: string;
249
+ }
250
+ }
251
+ }
252
+
253
+ export interface OrderUpdateStatusResponse {
254
+ message?: string;
255
+
256
+ success?: boolean;
257
+ }
258
+
259
+ export interface OrderUploadResultsResponse {
260
+ message?: string;
261
+
262
+ success?: boolean;
263
+ }
264
+
265
+ export type OrderCreateParams =
266
+ | OrderCreateParams.Variant0
267
+ | OrderCreateParams.Variant1
268
+ | OrderCreateParams.Variant2
269
+ | OrderCreateParams.Variant3;
270
+
271
+ export declare namespace OrderCreateParams {
272
+ export interface Variant0 {
273
+ paymentMethod: 'self-pay' | 'employer-sponsored';
274
+
275
+ person: Variant0.Person;
276
+
277
+ providerId: string;
278
+
279
+ services: Array<Variant0.Service>;
280
+
281
+ _id?: string;
282
+
283
+ brandId?: string;
284
+
285
+ dueDate?: string;
286
+
287
+ dueDates?: Array<string>;
288
+
289
+ employeeId?: string;
290
+
291
+ employeeIds?: Array<string>;
292
+
293
+ employerId?: string;
294
+
295
+ /**
296
+ * Optional arbitrary metadata (<=10KB when JSON stringified)
297
+ */
298
+ metadata?: { [key: string]: unknown };
299
+
300
+ providerCreated?: boolean;
301
+
302
+ providersIds?: Array<Variant0.ProvidersID>;
303
+
304
+ quantities?: { [key: string]: number };
305
+
306
+ reCaptchaToken?: string;
307
+
308
+ servicesIds?: Array<string>;
309
+
310
+ tokenId?: string;
311
+ }
312
+
313
+ export namespace Variant0 {
314
+ export interface Person {
315
+ city: string;
316
+
317
+ /**
318
+ * Date of birth in YYYY-MM-DD format
319
+ */
320
+ dob: string;
321
+
322
+ email: string;
323
+
324
+ firstName: string;
325
+
326
+ lastName: string;
327
+
328
+ phone: string;
329
+
330
+ state: string;
331
+
332
+ street: string;
333
+
334
+ /**
335
+ * US ZIP code in 12345 or 12345-6789 format
336
+ */
337
+ zipcode: string;
338
+
339
+ country?: string;
340
+
341
+ county?: string;
342
+
343
+ street2?: string;
344
+ }
345
+
346
+ export interface Service {
347
+ _id: string;
348
+
349
+ quantity: number;
350
+
351
+ autoAccept?: boolean;
352
+ }
353
+
354
+ export interface ProvidersID {
355
+ providerId: string;
356
+
357
+ serviceId?: string;
358
+ }
359
+ }
360
+
361
+ export interface Variant1 {
362
+ employeeId: string;
363
+
364
+ employerId: string;
365
+
366
+ services: Array<Variant1.Service>;
367
+
368
+ _id?: string;
369
+
370
+ brandId?: string;
371
+
372
+ dueDate?: string;
373
+
374
+ dueDates?: Array<string>;
375
+
376
+ employeeIds?: Array<string>;
377
+
378
+ /**
379
+ * Optional arbitrary metadata (<=10KB when JSON stringified)
380
+ */
381
+ metadata?: { [key: string]: unknown };
382
+
383
+ paymentMethod?: 'self-pay' | 'employer-sponsored';
384
+
385
+ person?: Variant1.Person;
386
+
387
+ providerCreated?: boolean;
388
+
389
+ providerId?: string;
390
+
391
+ providersIds?: Array<Variant1.ProvidersID>;
392
+
393
+ quantities?: { [key: string]: number };
394
+
395
+ reCaptchaToken?: string;
396
+
397
+ servicesIds?: Array<string>;
398
+
399
+ tokenId?: string;
400
+ }
401
+
402
+ export namespace Variant1 {
403
+ export interface Service {
404
+ _id: string;
405
+
406
+ quantity: number;
407
+
408
+ autoAccept?: boolean;
409
+ }
410
+
411
+ export interface Person {
412
+ city: string;
413
+
414
+ /**
415
+ * Date of birth in YYYY-MM-DD format
416
+ */
417
+ dob: string;
418
+
419
+ email: string;
420
+
421
+ firstName: string;
422
+
423
+ lastName: string;
424
+
425
+ phone: string;
426
+
427
+ state: string;
428
+
429
+ street: string;
430
+
431
+ /**
432
+ * US ZIP code in 12345 or 12345-6789 format
433
+ */
434
+ zipcode: string;
435
+
436
+ country?: string;
437
+
438
+ county?: string;
439
+
440
+ street2?: string;
441
+ }
442
+
443
+ export interface ProvidersID {
444
+ providerId: string;
445
+
446
+ serviceId?: string;
447
+ }
448
+ }
449
+
450
+ export interface Variant2 {
451
+ employeeId: string;
452
+
453
+ employerId: string;
454
+
455
+ providersIds: Array<Variant2.ProvidersID>;
456
+
457
+ servicesIds: Array<string>;
458
+
459
+ _id?: string;
460
+
461
+ brandId?: string;
462
+
463
+ dueDate?: string;
464
+
465
+ dueDates?: Array<string>;
466
+
467
+ employeeIds?: Array<string>;
468
+
469
+ /**
470
+ * Optional arbitrary metadata (<=10KB when JSON stringified)
471
+ */
472
+ metadata?: { [key: string]: unknown };
473
+
474
+ paymentMethod?: 'self-pay' | 'employer-sponsored';
475
+
476
+ person?: Variant2.Person;
477
+
478
+ providerCreated?: boolean;
479
+
480
+ providerId?: string;
481
+
482
+ quantities?: { [key: string]: number };
483
+
484
+ reCaptchaToken?: string;
485
+
486
+ services?: Array<Variant2.Service>;
487
+
488
+ tokenId?: string;
489
+ }
490
+
491
+ export namespace Variant2 {
492
+ export interface ProvidersID {
493
+ providerId: string;
494
+
495
+ serviceId?: string;
496
+ }
497
+
498
+ export interface Person {
499
+ city: string;
500
+
501
+ /**
502
+ * Date of birth in YYYY-MM-DD format
503
+ */
504
+ dob: string;
505
+
506
+ email: string;
507
+
508
+ firstName: string;
509
+
510
+ lastName: string;
511
+
512
+ phone: string;
513
+
514
+ state: string;
515
+
516
+ street: string;
517
+
518
+ /**
519
+ * US ZIP code in 12345 or 12345-6789 format
520
+ */
521
+ zipcode: string;
522
+
523
+ country?: string;
524
+
525
+ county?: string;
526
+
527
+ street2?: string;
528
+ }
529
+
530
+ export interface Service {
531
+ _id: string;
532
+
533
+ quantity: number;
534
+
535
+ autoAccept?: boolean;
536
+ }
537
+ }
538
+
539
+ export interface Variant3 {
540
+ employeeIds: Array<string>;
541
+
542
+ employerId: string;
543
+
544
+ providersIds: Array<Variant3.ProvidersID>;
545
+
546
+ servicesIds: Array<string>;
547
+
548
+ _id?: string;
549
+
550
+ brandId?: string;
551
+
552
+ dueDate?: string;
553
+
554
+ dueDates?: Array<string>;
555
+
556
+ employeeId?: string;
557
+
558
+ /**
559
+ * Optional arbitrary metadata (<=10KB when JSON stringified)
560
+ */
561
+ metadata?: { [key: string]: unknown };
562
+
563
+ paymentMethod?: 'self-pay' | 'employer-sponsored';
564
+
565
+ person?: Variant3.Person;
566
+
567
+ providerCreated?: boolean;
568
+
569
+ providerId?: string;
570
+
571
+ quantities?: { [key: string]: number };
572
+
573
+ reCaptchaToken?: string;
574
+
575
+ services?: Array<Variant3.Service>;
576
+
577
+ tokenId?: string;
578
+ }
579
+
580
+ export namespace Variant3 {
581
+ export interface ProvidersID {
582
+ providerId: string;
583
+
584
+ serviceId?: string;
585
+ }
586
+
587
+ export interface Person {
588
+ city: string;
589
+
590
+ /**
591
+ * Date of birth in YYYY-MM-DD format
592
+ */
593
+ dob: string;
594
+
595
+ email: string;
596
+
597
+ firstName: string;
598
+
599
+ lastName: string;
600
+
601
+ phone: string;
602
+
603
+ state: string;
604
+
605
+ street: string;
606
+
607
+ /**
608
+ * US ZIP code in 12345 or 12345-6789 format
609
+ */
610
+ zipcode: string;
611
+
612
+ country?: string;
613
+
614
+ county?: string;
615
+
616
+ street2?: string;
617
+ }
618
+
619
+ export interface Service {
620
+ _id: string;
621
+
622
+ quantity: number;
623
+
624
+ autoAccept?: boolean;
625
+ }
626
+ }
627
+ }
628
+
629
+ export interface OrderUpdateParams {
630
+ /**
631
+ * Arbitrary metadata to update on the order (non-indexed passthrough, <=10KB when
632
+ * JSON stringified)
633
+ */
634
+ metadata?: { [key: string]: unknown };
635
+
636
+ services?: Array<OrderUpdateParams.Service>;
637
+
638
+ status?:
639
+ | 'order_sent'
640
+ | 'order_accepted'
641
+ | 'order_refused'
642
+ | 'employee_confirmed'
643
+ | 'order_fulfilled'
644
+ | 'order_complete';
645
+ }
646
+
647
+ export namespace OrderUpdateParams {
648
+ export interface Service {
649
+ serviceId: string;
650
+
651
+ dueDate?: string;
652
+
653
+ results?: { [key: string]: unknown };
654
+
655
+ status?: 'pending' | 'in_progress' | 'completed' | 'cancelled' | 'rejected';
656
+ }
657
+ }
658
+
659
+ export interface OrderRetrieveResultsParams {
660
+ page?: number;
661
+
662
+ pageSize?: number;
663
+
664
+ serviceId?: string;
665
+
666
+ since?: string;
667
+
668
+ status?: string;
669
+
670
+ until?: string;
671
+ }
672
+
673
+ export interface OrderScheduleAppointmentParams {
674
+ appointment: OrderScheduleAppointmentParams.UnionMember0 | OrderScheduleAppointmentParams.UnionMember1;
675
+
676
+ /**
677
+ * Order access code for authorization
678
+ */
679
+ orderAccessCode?: string;
680
+
681
+ /**
682
+ * Provider ID for authorization
683
+ */
684
+ providerId?: string;
685
+ }
686
+
687
+ export namespace OrderScheduleAppointmentParams {
688
+ export interface UnionMember0 {
689
+ /**
690
+ * Required for appointment type
691
+ */
692
+ date: string;
693
+
694
+ /**
695
+ * Required for appointment type
696
+ */
697
+ dateTime: string;
698
+
699
+ /**
700
+ * Required for appointment type
701
+ */
702
+ time: string;
703
+
704
+ /**
705
+ * Optional for walkin type
706
+ */
707
+ notes?: string;
708
+
709
+ type?: 'appointment';
710
+ }
711
+
712
+ export interface UnionMember1 {
713
+ /**
714
+ * Required for appointment type
715
+ */
716
+ date?: string;
717
+
718
+ /**
719
+ * Required for appointment type
720
+ */
721
+ dateTime?: string;
722
+
723
+ /**
724
+ * Optional for walkin type
725
+ */
726
+ notes?: string;
727
+
728
+ /**
729
+ * Required for appointment type
730
+ */
731
+ time?: string;
732
+
733
+ type?: 'walkin';
734
+ }
735
+ }
736
+
737
+ export interface OrderSendForEmployeeParams {
738
+ /**
739
+ * Body param: Employee ID to send order to
740
+ */
741
+ employeeId: string;
742
+
743
+ /**
744
+ * Body param: Employer ID sending the order
745
+ */
746
+ employerId: string;
747
+
748
+ /**
749
+ * Body param: Array mapping each service (by index) to a provider; serviceId
750
+ * optional
751
+ */
752
+ providersIds: Array<OrderSendForEmployeeParams.ProvidersID>;
753
+
754
+ /**
755
+ * Body param: Array of service IDs to include in the order
756
+ */
757
+ servicesIds: Array<string>;
758
+
759
+ /**
760
+ * Header param: User login token
761
+ */
762
+ 'login-token': string;
763
+
764
+ /**
765
+ * Header param: User ID
766
+ */
767
+ 'user-id': string;
768
+
769
+ /**
770
+ * Body param: Brand ID for branded orders
771
+ */
772
+ brandId?: string;
773
+
774
+ /**
775
+ * Body param: Due date for the order (date or date-time ISO string)
776
+ */
777
+ dueDate?: string;
778
+
779
+ /**
780
+ * Body param: Array of due dates per service
781
+ */
782
+ dueDates?: Array<string>;
783
+
784
+ /**
785
+ * Body param: Optional arbitrary metadata to store on the order (non-indexed
786
+ * passthrough, <=10KB when JSON stringified)
787
+ */
788
+ metadata?: { [key: string]: unknown };
789
+
790
+ /**
791
+ * Body param: Whether this order is being created by a provider (affects
792
+ * permission checking)
793
+ */
794
+ providerCreated?: boolean;
795
+
796
+ /**
797
+ * Body param: Single provider ID (shortcut when all services map to one provider)
798
+ */
799
+ providerId?: string;
800
+
801
+ /**
802
+ * Body param: Service ID to quantity mapping
803
+ */
804
+ quantities?: { [key: string]: number };
805
+ }
806
+
807
+ export namespace OrderSendForEmployeeParams {
808
+ export interface ProvidersID {
809
+ providerId: string;
810
+
811
+ serviceId?: string;
812
+ }
813
+ }
814
+
815
+ export interface OrderUpdateStatusParams {
816
+ status:
817
+ | 'order_sent'
818
+ | 'order_accepted'
819
+ | 'order_refused'
820
+ | 'employee_confirmed'
821
+ | 'order_fulfilled'
822
+ | 'order_complete';
823
+
824
+ message?: string;
825
+ }
826
+
827
+ export interface OrderUploadResultsParams {
828
+ captchaToken: string;
829
+
830
+ orderAccessCode: string;
831
+
832
+ serviceId: string;
833
+
834
+ /**
835
+ * Date of birth in YYYY-MM-DD format
836
+ */
837
+ dob?: string;
838
+
839
+ fileIds?: Array<string>;
840
+
841
+ files?: Array<OrderUploadResultsParams.File>;
842
+
843
+ lastName?: string;
844
+ }
845
+
846
+ export namespace OrderUploadResultsParams {
847
+ export interface File {
848
+ base64: string;
849
+
850
+ name: string;
851
+
852
+ type: string;
853
+ }
854
+ }
855
+
856
+ export declare namespace Orders {
857
+ export {
858
+ type OrderCreateResponse as OrderCreateResponse,
859
+ type OrderRetrieveResponse as OrderRetrieveResponse,
860
+ type OrderUpdateResponse as OrderUpdateResponse,
861
+ type OrderRetrieveResultsResponse as OrderRetrieveResultsResponse,
862
+ type OrderScheduleAppointmentResponse as OrderScheduleAppointmentResponse,
863
+ type OrderSendForEmployeeResponse as OrderSendForEmployeeResponse,
864
+ type OrderUpdateStatusResponse as OrderUpdateStatusResponse,
865
+ type OrderUploadResultsResponse as OrderUploadResultsResponse,
866
+ type OrderCreateParams as OrderCreateParams,
867
+ type OrderUpdateParams as OrderUpdateParams,
868
+ type OrderRetrieveResultsParams as OrderRetrieveResultsParams,
869
+ type OrderScheduleAppointmentParams as OrderScheduleAppointmentParams,
870
+ type OrderSendForEmployeeParams as OrderSendForEmployeeParams,
871
+ type OrderUpdateStatusParams as OrderUpdateStatusParams,
872
+ type OrderUploadResultsParams as OrderUploadResultsParams,
873
+ };
874
+ }