@bluehive/sdk 0.1.0-alpha.2 → 0.1.0-alpha.20

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 (120) hide show
  1. package/CHANGELOG.md +312 -0
  2. package/README.md +2 -6
  3. package/client.d.mts +19 -4
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +19 -4
  6. package/client.d.ts.map +1 -1
  7. package/client.js +29 -11
  8. package/client.js.map +1 -1
  9. package/client.mjs +29 -11
  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 +4 -5
  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 +146 -0
  46. package/resources/employers/service-bundles.d.mts.map +1 -0
  47. package/resources/employers/service-bundles.d.ts +146 -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 +604 -0
  90. package/resources/orders.d.mts.map +1 -0
  91. package/resources/orders.d.ts +604 -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 +136 -14
  98. package/src/internal/polyfill/file.node.d.ts +14 -0
  99. package/src/internal/polyfill/file.node.mjs +9 -0
  100. package/src/internal/to-file.ts +1 -1
  101. package/src/internal/utils/values.ts +3 -3
  102. package/src/resources/employees.ts +634 -0
  103. package/src/resources/employers/employers.ts +160 -0
  104. package/src/resources/employers/index.ts +21 -0
  105. package/src/resources/employers/service-bundles.ts +264 -0
  106. package/src/resources/employers.ts +3 -0
  107. package/src/resources/fax.ts +1 -1
  108. package/src/resources/hl7.ts +60 -0
  109. package/src/resources/index.ts +49 -0
  110. package/src/resources/integrations.ts +72 -0
  111. package/src/resources/orders.ts +944 -0
  112. package/src/version.ts +1 -1
  113. package/version.d.mts +1 -1
  114. package/version.d.mts.map +1 -1
  115. package/version.d.ts +1 -1
  116. package/version.d.ts.map +1 -1
  117. package/version.js +1 -1
  118. package/version.js.map +1 -1
  119. package/version.mjs +1 -1
  120. package/version.mjs.map +1 -1
@@ -0,0 +1,944 @@
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
+ partialSuccess?: boolean;
117
+
118
+ selfPay?: boolean;
119
+
120
+ unavailableServices?: Array<UnionMember0.UnavailableService>;
121
+ }
122
+
123
+ export namespace UnionMember0 {
124
+ export interface UnavailableService {
125
+ reason: string;
126
+
127
+ serviceId: string;
128
+
129
+ serviceName?: string;
130
+ }
131
+ }
132
+
133
+ export interface UnionMember1 {
134
+ orderResults: Array<UnionMember1.OrderResult>;
135
+
136
+ status: 'split';
137
+
138
+ success: true;
139
+
140
+ message?: string;
141
+
142
+ partialSuccess?: boolean;
143
+
144
+ unavailableServices?: Array<UnionMember1.UnavailableService>;
145
+ }
146
+
147
+ export namespace UnionMember1 {
148
+ export interface OrderResult {
149
+ orderId: string;
150
+
151
+ orderNumber: string;
152
+
153
+ providerId: string;
154
+ }
155
+
156
+ export interface UnavailableService {
157
+ reason: string;
158
+
159
+ serviceId: string;
160
+
161
+ serviceName?: string;
162
+ }
163
+ }
164
+ }
165
+
166
+ export interface OrderRetrieveResponse {
167
+ orderId?: string;
168
+
169
+ orderNumber?: string;
170
+
171
+ status?: string;
172
+ }
173
+
174
+ export interface OrderUpdateResponse {
175
+ message: string;
176
+
177
+ orderId: string;
178
+
179
+ orderNumber: string;
180
+
181
+ success: true;
182
+
183
+ updatedFields?: Array<string>;
184
+ }
185
+
186
+ export interface OrderRetrieveResultsResponse {
187
+ meta: OrderRetrieveResultsResponse.Meta;
188
+
189
+ services: Array<OrderRetrieveResultsResponse.Service>;
190
+ }
191
+
192
+ export namespace OrderRetrieveResultsResponse {
193
+ export interface Meta {
194
+ orderId: string;
195
+
196
+ page: number;
197
+
198
+ pageSize: number;
199
+
200
+ returned: number;
201
+
202
+ totalServices: number;
203
+
204
+ employeeId?: string;
205
+
206
+ orderNumber?: string;
207
+
208
+ providerId?: string;
209
+ }
210
+
211
+ export interface Service {
212
+ serviceId: string;
213
+
214
+ status: string;
215
+
216
+ altTxt?: string;
217
+
218
+ completed_datetime?: string;
219
+
220
+ contacts?: Array<string>;
221
+
222
+ drawn_datetime?: string;
223
+
224
+ fileIds?: Array<string>;
225
+
226
+ message?: string;
227
+
228
+ result?: string;
229
+
230
+ resultsPosted?: string;
231
+ }
232
+ }
233
+
234
+ export interface OrderScheduleAppointmentResponse {
235
+ message: string;
236
+
237
+ success: boolean;
238
+ }
239
+
240
+ /**
241
+ * Order sent successfully (single or split)
242
+ */
243
+ export type OrderSendForEmployeeResponse =
244
+ | OrderSendForEmployeeResponse.UnionMember0
245
+ | OrderSendForEmployeeResponse.UnionMember1;
246
+
247
+ export namespace OrderSendForEmployeeResponse {
248
+ export interface UnionMember0 {
249
+ orderId: string;
250
+
251
+ orderNumber: string;
252
+
253
+ success: true;
254
+
255
+ message?: string;
256
+
257
+ /**
258
+ * True when some services were unavailable but order was still created
259
+ */
260
+ partialSuccess?: boolean;
261
+
262
+ /**
263
+ * Services that could not be included in the order
264
+ */
265
+ unavailableServices?: Array<UnionMember0.UnavailableService>;
266
+ }
267
+
268
+ export namespace UnionMember0 {
269
+ export interface UnavailableService {
270
+ /**
271
+ * Why the service was unavailable
272
+ */
273
+ reason: string;
274
+
275
+ serviceId: string;
276
+
277
+ serviceName?: string;
278
+ }
279
+ }
280
+
281
+ export interface UnionMember1 {
282
+ orderResults: Array<UnionMember1.OrderResult>;
283
+
284
+ status: 'split';
285
+
286
+ success: true;
287
+
288
+ message?: string;
289
+
290
+ /**
291
+ * True when some services were unavailable but orders were still created
292
+ */
293
+ partialSuccess?: boolean;
294
+
295
+ /**
296
+ * Services that could not be included in any order
297
+ */
298
+ unavailableServices?: Array<UnionMember1.UnavailableService>;
299
+ }
300
+
301
+ export namespace UnionMember1 {
302
+ export interface OrderResult {
303
+ orderId: string;
304
+
305
+ orderNumber: string;
306
+
307
+ providerId: string;
308
+ }
309
+
310
+ export interface UnavailableService {
311
+ /**
312
+ * Why the service was unavailable
313
+ */
314
+ reason: string;
315
+
316
+ serviceId: string;
317
+
318
+ serviceName?: string;
319
+ }
320
+ }
321
+ }
322
+
323
+ export interface OrderUpdateStatusResponse {
324
+ message?: string;
325
+
326
+ success?: boolean;
327
+ }
328
+
329
+ export interface OrderUploadResultsResponse {
330
+ message?: string;
331
+
332
+ success?: boolean;
333
+ }
334
+
335
+ export type OrderCreateParams =
336
+ | OrderCreateParams.Variant0
337
+ | OrderCreateParams.Variant1
338
+ | OrderCreateParams.Variant2
339
+ | OrderCreateParams.Variant3;
340
+
341
+ export declare namespace OrderCreateParams {
342
+ export interface Variant0 {
343
+ paymentMethod: 'self-pay' | 'employer-sponsored';
344
+
345
+ person: Variant0.Person;
346
+
347
+ providerId: string;
348
+
349
+ services: Array<Variant0.Service>;
350
+
351
+ _id?: string;
352
+
353
+ brandId?: string;
354
+
355
+ dueDate?: string;
356
+
357
+ dueDates?: Array<string>;
358
+
359
+ employeeId?: string;
360
+
361
+ employeeIds?: Array<string>;
362
+
363
+ employerId?: string;
364
+
365
+ /**
366
+ * Optional arbitrary metadata (<=10KB when JSON stringified)
367
+ */
368
+ metadata?: { [key: string]: unknown };
369
+
370
+ providerCreated?: boolean;
371
+
372
+ providersIds?: Array<Variant0.ProvidersID>;
373
+
374
+ quantities?: { [key: string]: number };
375
+
376
+ reCaptchaToken?: string;
377
+
378
+ servicesIds?: Array<string>;
379
+
380
+ tokenId?: string;
381
+ }
382
+
383
+ export namespace Variant0 {
384
+ export interface Person {
385
+ city: string;
386
+
387
+ /**
388
+ * Date of birth in YYYY-MM-DD format
389
+ */
390
+ dob: string;
391
+
392
+ email: string;
393
+
394
+ firstName: string;
395
+
396
+ lastName: string;
397
+
398
+ phone: string;
399
+
400
+ state: string;
401
+
402
+ street: string;
403
+
404
+ /**
405
+ * US ZIP code in 12345 or 12345-6789 format
406
+ */
407
+ zipcode: string;
408
+
409
+ country?: string;
410
+
411
+ county?: string;
412
+
413
+ street2?: string;
414
+ }
415
+
416
+ export interface Service {
417
+ _id: string;
418
+
419
+ quantity: number;
420
+
421
+ autoAccept?: boolean;
422
+ }
423
+
424
+ export interface ProvidersID {
425
+ providerId: string;
426
+
427
+ serviceId?: string;
428
+ }
429
+ }
430
+
431
+ export interface Variant1 {
432
+ employeeId: string;
433
+
434
+ employerId: string;
435
+
436
+ services: Array<Variant1.Service>;
437
+
438
+ _id?: string;
439
+
440
+ brandId?: string;
441
+
442
+ dueDate?: string;
443
+
444
+ dueDates?: Array<string>;
445
+
446
+ employeeIds?: Array<string>;
447
+
448
+ /**
449
+ * Optional arbitrary metadata (<=10KB when JSON stringified)
450
+ */
451
+ metadata?: { [key: string]: unknown };
452
+
453
+ paymentMethod?: 'self-pay' | 'employer-sponsored';
454
+
455
+ person?: Variant1.Person;
456
+
457
+ providerCreated?: boolean;
458
+
459
+ providerId?: string;
460
+
461
+ providersIds?: Array<Variant1.ProvidersID>;
462
+
463
+ quantities?: { [key: string]: number };
464
+
465
+ reCaptchaToken?: string;
466
+
467
+ servicesIds?: Array<string>;
468
+
469
+ tokenId?: string;
470
+ }
471
+
472
+ export namespace Variant1 {
473
+ export interface Service {
474
+ _id: string;
475
+
476
+ quantity: number;
477
+
478
+ autoAccept?: boolean;
479
+ }
480
+
481
+ export interface Person {
482
+ city: string;
483
+
484
+ /**
485
+ * Date of birth in YYYY-MM-DD format
486
+ */
487
+ dob: string;
488
+
489
+ email: string;
490
+
491
+ firstName: string;
492
+
493
+ lastName: string;
494
+
495
+ phone: string;
496
+
497
+ state: string;
498
+
499
+ street: string;
500
+
501
+ /**
502
+ * US ZIP code in 12345 or 12345-6789 format
503
+ */
504
+ zipcode: string;
505
+
506
+ country?: string;
507
+
508
+ county?: string;
509
+
510
+ street2?: string;
511
+ }
512
+
513
+ export interface ProvidersID {
514
+ providerId: string;
515
+
516
+ serviceId?: string;
517
+ }
518
+ }
519
+
520
+ export interface Variant2 {
521
+ employeeId: string;
522
+
523
+ employerId: string;
524
+
525
+ providersIds: Array<Variant2.ProvidersID>;
526
+
527
+ servicesIds: Array<string>;
528
+
529
+ _id?: string;
530
+
531
+ brandId?: string;
532
+
533
+ dueDate?: string;
534
+
535
+ dueDates?: Array<string>;
536
+
537
+ employeeIds?: Array<string>;
538
+
539
+ /**
540
+ * Optional arbitrary metadata (<=10KB when JSON stringified)
541
+ */
542
+ metadata?: { [key: string]: unknown };
543
+
544
+ paymentMethod?: 'self-pay' | 'employer-sponsored';
545
+
546
+ person?: Variant2.Person;
547
+
548
+ providerCreated?: boolean;
549
+
550
+ providerId?: string;
551
+
552
+ quantities?: { [key: string]: number };
553
+
554
+ reCaptchaToken?: string;
555
+
556
+ services?: Array<Variant2.Service>;
557
+
558
+ tokenId?: string;
559
+ }
560
+
561
+ export namespace Variant2 {
562
+ export interface ProvidersID {
563
+ providerId: string;
564
+
565
+ serviceId?: string;
566
+ }
567
+
568
+ export interface Person {
569
+ city: string;
570
+
571
+ /**
572
+ * Date of birth in YYYY-MM-DD format
573
+ */
574
+ dob: string;
575
+
576
+ email: string;
577
+
578
+ firstName: string;
579
+
580
+ lastName: string;
581
+
582
+ phone: string;
583
+
584
+ state: string;
585
+
586
+ street: string;
587
+
588
+ /**
589
+ * US ZIP code in 12345 or 12345-6789 format
590
+ */
591
+ zipcode: string;
592
+
593
+ country?: string;
594
+
595
+ county?: string;
596
+
597
+ street2?: string;
598
+ }
599
+
600
+ export interface Service {
601
+ _id: string;
602
+
603
+ quantity: number;
604
+
605
+ autoAccept?: boolean;
606
+ }
607
+ }
608
+
609
+ export interface Variant3 {
610
+ employeeIds: Array<string>;
611
+
612
+ employerId: string;
613
+
614
+ providersIds: Array<Variant3.ProvidersID>;
615
+
616
+ servicesIds: Array<string>;
617
+
618
+ _id?: string;
619
+
620
+ brandId?: string;
621
+
622
+ dueDate?: string;
623
+
624
+ dueDates?: Array<string>;
625
+
626
+ employeeId?: string;
627
+
628
+ /**
629
+ * Optional arbitrary metadata (<=10KB when JSON stringified)
630
+ */
631
+ metadata?: { [key: string]: unknown };
632
+
633
+ paymentMethod?: 'self-pay' | 'employer-sponsored';
634
+
635
+ person?: Variant3.Person;
636
+
637
+ providerCreated?: boolean;
638
+
639
+ providerId?: string;
640
+
641
+ quantities?: { [key: string]: number };
642
+
643
+ reCaptchaToken?: string;
644
+
645
+ services?: Array<Variant3.Service>;
646
+
647
+ tokenId?: string;
648
+ }
649
+
650
+ export namespace Variant3 {
651
+ export interface ProvidersID {
652
+ providerId: string;
653
+
654
+ serviceId?: string;
655
+ }
656
+
657
+ export interface Person {
658
+ city: string;
659
+
660
+ /**
661
+ * Date of birth in YYYY-MM-DD format
662
+ */
663
+ dob: string;
664
+
665
+ email: string;
666
+
667
+ firstName: string;
668
+
669
+ lastName: string;
670
+
671
+ phone: string;
672
+
673
+ state: string;
674
+
675
+ street: string;
676
+
677
+ /**
678
+ * US ZIP code in 12345 or 12345-6789 format
679
+ */
680
+ zipcode: string;
681
+
682
+ country?: string;
683
+
684
+ county?: string;
685
+
686
+ street2?: string;
687
+ }
688
+
689
+ export interface Service {
690
+ _id: string;
691
+
692
+ quantity: number;
693
+
694
+ autoAccept?: boolean;
695
+ }
696
+ }
697
+ }
698
+
699
+ export interface OrderUpdateParams {
700
+ /**
701
+ * Arbitrary metadata to update on the order (non-indexed passthrough, <=10KB when
702
+ * JSON stringified)
703
+ */
704
+ metadata?: { [key: string]: unknown };
705
+
706
+ services?: Array<OrderUpdateParams.Service>;
707
+
708
+ status?:
709
+ | 'order_sent'
710
+ | 'order_accepted'
711
+ | 'order_refused'
712
+ | 'employee_confirmed'
713
+ | 'order_fulfilled'
714
+ | 'order_complete';
715
+ }
716
+
717
+ export namespace OrderUpdateParams {
718
+ export interface Service {
719
+ serviceId: string;
720
+
721
+ dueDate?: string;
722
+
723
+ results?: { [key: string]: unknown };
724
+
725
+ status?: 'pending' | 'in_progress' | 'completed' | 'cancelled' | 'rejected';
726
+ }
727
+ }
728
+
729
+ export interface OrderRetrieveResultsParams {
730
+ page?: number;
731
+
732
+ pageSize?: number;
733
+
734
+ serviceId?: string;
735
+
736
+ since?: string;
737
+
738
+ status?: string;
739
+
740
+ until?: string;
741
+ }
742
+
743
+ export interface OrderScheduleAppointmentParams {
744
+ appointment: OrderScheduleAppointmentParams.UnionMember0 | OrderScheduleAppointmentParams.UnionMember1;
745
+
746
+ /**
747
+ * Order access code for authorization
748
+ */
749
+ orderAccessCode?: string;
750
+
751
+ /**
752
+ * Provider ID for authorization
753
+ */
754
+ providerId?: string;
755
+ }
756
+
757
+ export namespace OrderScheduleAppointmentParams {
758
+ export interface UnionMember0 {
759
+ /**
760
+ * Required for appointment type
761
+ */
762
+ date: string;
763
+
764
+ /**
765
+ * Required for appointment type
766
+ */
767
+ dateTime: string;
768
+
769
+ /**
770
+ * Required for appointment type
771
+ */
772
+ time: string;
773
+
774
+ /**
775
+ * Optional for walkin type
776
+ */
777
+ notes?: string;
778
+
779
+ type?: 'appointment';
780
+ }
781
+
782
+ export interface UnionMember1 {
783
+ /**
784
+ * Required for appointment type
785
+ */
786
+ date?: string;
787
+
788
+ /**
789
+ * Required for appointment type
790
+ */
791
+ dateTime?: string;
792
+
793
+ /**
794
+ * Optional for walkin type
795
+ */
796
+ notes?: string;
797
+
798
+ /**
799
+ * Required for appointment type
800
+ */
801
+ time?: string;
802
+
803
+ type?: 'walkin';
804
+ }
805
+ }
806
+
807
+ export interface OrderSendForEmployeeParams {
808
+ /**
809
+ * Body param: Employee ID to send order to
810
+ */
811
+ employeeId: string;
812
+
813
+ /**
814
+ * Body param: Employer ID sending the order
815
+ */
816
+ employerId: string;
817
+
818
+ /**
819
+ * Body param: Array mapping each service (by index) to a provider; serviceId
820
+ * optional
821
+ */
822
+ providersIds: Array<OrderSendForEmployeeParams.ProvidersID>;
823
+
824
+ /**
825
+ * Body param: Array of service IDs to include in the order
826
+ */
827
+ servicesIds: Array<string>;
828
+
829
+ /**
830
+ * Header param: User login token
831
+ */
832
+ 'login-token': string;
833
+
834
+ /**
835
+ * Header param: User ID
836
+ */
837
+ 'user-id': string;
838
+
839
+ /**
840
+ * Body param: Brand ID for branded orders
841
+ */
842
+ brandId?: string;
843
+
844
+ /**
845
+ * Body param: Due date for the order (date or date-time ISO string)
846
+ */
847
+ dueDate?: string;
848
+
849
+ /**
850
+ * Body param: Array of due dates per service
851
+ */
852
+ dueDates?: Array<string>;
853
+
854
+ /**
855
+ * Body param: Optional arbitrary metadata to store on the order (non-indexed
856
+ * passthrough, <=10KB when JSON stringified)
857
+ */
858
+ metadata?: { [key: string]: unknown };
859
+
860
+ /**
861
+ * Body param: Whether this order is being created by a provider (affects
862
+ * permission checking)
863
+ */
864
+ providerCreated?: boolean;
865
+
866
+ /**
867
+ * Body param: Single provider ID (shortcut when all services map to one provider)
868
+ */
869
+ providerId?: string;
870
+
871
+ /**
872
+ * Body param: Service ID to quantity mapping
873
+ */
874
+ quantities?: { [key: string]: number };
875
+ }
876
+
877
+ export namespace OrderSendForEmployeeParams {
878
+ export interface ProvidersID {
879
+ providerId: string;
880
+
881
+ serviceId?: string;
882
+ }
883
+ }
884
+
885
+ export interface OrderUpdateStatusParams {
886
+ status:
887
+ | 'order_sent'
888
+ | 'order_accepted'
889
+ | 'order_refused'
890
+ | 'employee_confirmed'
891
+ | 'order_fulfilled'
892
+ | 'order_complete';
893
+
894
+ message?: string;
895
+ }
896
+
897
+ export interface OrderUploadResultsParams {
898
+ captchaToken: string;
899
+
900
+ orderAccessCode: string;
901
+
902
+ serviceId: string;
903
+
904
+ /**
905
+ * Date of birth in YYYY-MM-DD format
906
+ */
907
+ dob?: string;
908
+
909
+ fileIds?: Array<string>;
910
+
911
+ files?: Array<OrderUploadResultsParams.File>;
912
+
913
+ lastName?: string;
914
+ }
915
+
916
+ export namespace OrderUploadResultsParams {
917
+ export interface File {
918
+ base64: string;
919
+
920
+ name: string;
921
+
922
+ type: string;
923
+ }
924
+ }
925
+
926
+ export declare namespace Orders {
927
+ export {
928
+ type OrderCreateResponse as OrderCreateResponse,
929
+ type OrderRetrieveResponse as OrderRetrieveResponse,
930
+ type OrderUpdateResponse as OrderUpdateResponse,
931
+ type OrderRetrieveResultsResponse as OrderRetrieveResultsResponse,
932
+ type OrderScheduleAppointmentResponse as OrderScheduleAppointmentResponse,
933
+ type OrderSendForEmployeeResponse as OrderSendForEmployeeResponse,
934
+ type OrderUpdateStatusResponse as OrderUpdateStatusResponse,
935
+ type OrderUploadResultsResponse as OrderUploadResultsResponse,
936
+ type OrderCreateParams as OrderCreateParams,
937
+ type OrderUpdateParams as OrderUpdateParams,
938
+ type OrderRetrieveResultsParams as OrderRetrieveResultsParams,
939
+ type OrderScheduleAppointmentParams as OrderScheduleAppointmentParams,
940
+ type OrderSendForEmployeeParams as OrderSendForEmployeeParams,
941
+ type OrderUpdateStatusParams as OrderUpdateStatusParams,
942
+ type OrderUploadResultsParams as OrderUploadResultsParams,
943
+ };
944
+ }