@vindentech/api-client 0.3.0-next.22 → 0.3.0-next.24

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 (49) hide show
  1. package/dist/generated/_all.d.ts +1 -0
  2. package/dist/generated/_all.d.ts.map +1 -1
  3. package/dist/generated/_all.js +1 -0
  4. package/dist/generated/_all.js.map +1 -1
  5. package/dist/generated/_permissions.d.ts +34 -2
  6. package/dist/generated/_permissions.d.ts.map +1 -1
  7. package/dist/generated/_permissions.js +9 -1
  8. package/dist/generated/_permissions.js.map +1 -1
  9. package/dist/generated/carriers/carriers.d.ts +3 -3
  10. package/dist/generated/checkout/checkout.d.ts +2 -2
  11. package/dist/generated/checkout/checkout.d.ts.map +1 -1
  12. package/dist/generated/containers/containers.d.ts +14 -0
  13. package/dist/generated/containers/containers.d.ts.map +1 -1
  14. package/dist/generated/containers/containers.js +10 -0
  15. package/dist/generated/containers/containers.js.map +1 -1
  16. package/dist/generated/index.schemas.d.ts +509 -142
  17. package/dist/generated/index.schemas.d.ts.map +1 -1
  18. package/dist/generated/index.schemas.js +54 -0
  19. package/dist/generated/index.schemas.js.map +1 -1
  20. package/dist/generated/invoice-details/invoice-details.d.ts +30 -0
  21. package/dist/generated/invoice-details/invoice-details.d.ts.map +1 -0
  22. package/dist/generated/invoice-details/invoice-details.js +11 -0
  23. package/dist/generated/invoice-details/invoice-details.js.map +1 -0
  24. package/dist/generated/items/items.d.ts +8 -1
  25. package/dist/generated/items/items.d.ts.map +1 -1
  26. package/dist/generated/items/items.js +0 -1
  27. package/dist/generated/items/items.js.map +1 -1
  28. package/dist/generated/orders/orders.d.ts +15 -1
  29. package/dist/generated/orders/orders.d.ts.map +1 -1
  30. package/dist/generated/orders/orders.js +24 -0
  31. package/dist/generated/orders/orders.js.map +1 -1
  32. package/dist/generated/payment-instruments/payment-instruments.d.ts +29 -1
  33. package/dist/generated/payment-instruments/payment-instruments.d.ts.map +1 -1
  34. package/dist/generated/payment-instruments/payment-instruments.js +20 -0
  35. package/dist/generated/payment-instruments/payment-instruments.js.map +1 -1
  36. package/dist/generated/pods/pods.d.ts +17 -3
  37. package/dist/generated/pods/pods.d.ts.map +1 -1
  38. package/dist/generated/pods/pods.js +12 -0
  39. package/dist/generated/pods/pods.js.map +1 -1
  40. package/dist/generated/products/products.d.ts +22 -1
  41. package/dist/generated/products/products.d.ts.map +1 -1
  42. package/dist/generated/products/products.js +11 -0
  43. package/dist/generated/products/products.js.map +1 -1
  44. package/dist/generated/sync-dimensions/sync-dimensions.d.ts +1 -1
  45. package/dist/generated/transport-services/transport-services.d.ts +15 -1
  46. package/dist/generated/transport-services/transport-services.d.ts.map +1 -1
  47. package/dist/generated/transport-services/transport-services.js +10 -0
  48. package/dist/generated/transport-services/transport-services.js.map +1 -1
  49. package/package.json +1 -1
@@ -24,6 +24,15 @@ export interface OrderSummaryDto {
24
24
  /** Per-job operational number (tenant sequence). */
25
25
  jobNumber: number;
26
26
  orderGroupId: string;
27
+ /** The customer this job belongs to (public.organization). */
28
+ organizationId: string;
29
+ /**
30
+ * Recipient name from the order's primary transport leg — the same snapshot `PATCH /v1/orders/:id` corrects. Null when the leg carries no name, or when the caller's leg scope does not reach it (a carrier reaches only its own booked legs; warehouse staff only legs on an assigned warehouse).
31
+ * @nullable
32
+ */
33
+ recipientName: string | null;
34
+ /** Live product lines on the job (voided and deleted lines excluded). Scoped by the caller's own row visibility, so it matches what `GET /v1/orders/{id}` would show them. */
35
+ productCount: number;
27
36
  /**
28
37
  * Dispatch warehouse (NULL for service-only / field jobs).
29
38
  * @nullable
@@ -60,6 +69,35 @@ export interface PaginatedOrdersDto {
60
69
  /** Effective rows skipped applied. */
61
70
  offset: number;
62
71
  }
72
+ export interface OrderStatusCountDto {
73
+ /** sales_order status value. */
74
+ status: string;
75
+ /** Matching orders in this status. */
76
+ count: number;
77
+ }
78
+ export type OrderTypeCountDtoType = typeof OrderTypeCountDtoType[keyof typeof OrderTypeCountDtoType];
79
+ export declare const OrderTypeCountDtoType: {
80
+ readonly PICKUP: "PICKUP";
81
+ readonly DELIVERY: "DELIVERY";
82
+ readonly MOVE: "MOVE";
83
+ readonly DROP_OFF: "DROP_OFF";
84
+ readonly TRANSFER: "TRANSFER";
85
+ readonly PICKING: "PICKING";
86
+ readonly MERCHANDISE_SALE: "MERCHANDISE_SALE";
87
+ };
88
+ export interface OrderTypeCountDto {
89
+ type: OrderTypeCountDtoType;
90
+ /** Matching orders of this type. */
91
+ count: number;
92
+ }
93
+ export interface OrderStatsDto {
94
+ /** Orders matching the filter, RLS-scoped. Equals the sum of `byStatus`, and the `total` an identically filtered GET /v1/orders would report. */
95
+ total: number;
96
+ /** Matching orders grouped by status, in alphabetical status order. A status with no matching order is absent rather than zero. */
97
+ byStatus: OrderStatusCountDto[];
98
+ /** Matching orders grouped by job type, in the `sales_order_type` enum's own declaration order (PICKUP, DELIVERY, MOVE, …), not alphabetical. A type with no matching order is absent rather than zero. */
99
+ byType: OrderTypeCountDto[];
100
+ }
63
101
  export interface OrderWarehouseDto {
64
102
  warehouseId: string;
65
103
  name: string;
@@ -223,6 +261,15 @@ export interface OrderDetailDto {
223
261
  /** Per-job operational number (tenant sequence). */
224
262
  jobNumber: number;
225
263
  orderGroupId: string;
264
+ /** The customer this job belongs to (public.organization). */
265
+ organizationId: string;
266
+ /**
267
+ * Recipient name from the order's primary transport leg — the same snapshot `PATCH /v1/orders/:id` corrects. Null when the leg carries no name, or when the caller's leg scope does not reach it (a carrier reaches only its own booked legs; warehouse staff only legs on an assigned warehouse).
268
+ * @nullable
269
+ */
270
+ recipientName: string | null;
271
+ /** Live product lines on the job (voided and deleted lines excluded). Scoped by the caller's own row visibility, so it matches what `GET /v1/orders/{id}` would show them. */
272
+ productCount: number;
226
273
  /**
227
274
  * Dispatch warehouse (NULL for service-only / field jobs).
228
275
  * @nullable
@@ -326,133 +373,58 @@ export interface OrderTimelineDto {
326
373
  */
327
374
  estimatedCompletion: string | null;
328
375
  }
329
- /**
330
- * @nullable
331
- */
332
- export type EditOrderRecipientDtoName = {
333
- [key: string]: unknown;
334
- } | null;
335
- /**
336
- * @nullable
337
- */
338
- export type EditOrderRecipientDtoPhone = {
339
- [key: string]: unknown;
340
- } | null;
341
- /**
342
- * @nullable
343
- */
344
- export type EditOrderRecipientDtoEmail = {
345
- [key: string]: unknown;
346
- } | null;
347
- /**
348
- * @nullable
349
- */
350
- export type EditOrderRecipientDtoCompanyName = {
351
- [key: string]: unknown;
352
- } | null;
353
376
  export interface EditOrderRecipientDto {
354
377
  /** @nullable */
355
- name?: EditOrderRecipientDtoName;
378
+ name?: string | null;
356
379
  /** @nullable */
357
- phone?: EditOrderRecipientDtoPhone;
380
+ phone?: string | null;
358
381
  /** @nullable */
359
- email?: EditOrderRecipientDtoEmail;
382
+ email?: string | null;
360
383
  /** @nullable */
361
- companyName?: EditOrderRecipientDtoCompanyName;
384
+ companyName?: string | null;
362
385
  }
363
386
  /**
387
+ * Which kind of elevator the address has (`public.elevator_type`). Distinct from `elevator`, which only says whether there is one: crews plan a move differently for a SMALL cabin than a LARGE or FREIGHT one. Null clears it.
364
388
  * @nullable
365
389
  */
366
- export type EditOrderAddressDtoAddressLine1 = {
367
- [key: string]: unknown;
368
- } | null;
369
- /**
370
- * @nullable
371
- */
372
- export type EditOrderAddressDtoAddressLine2 = {
373
- [key: string]: unknown;
374
- } | null;
375
- /**
376
- * @nullable
377
- */
378
- export type EditOrderAddressDtoZipCode = {
379
- [key: string]: unknown;
380
- } | null;
381
- /**
382
- * @nullable
383
- */
384
- export type EditOrderAddressDtoCity = {
385
- [key: string]: unknown;
386
- } | null;
387
- /**
388
- * @nullable
389
- */
390
- export type EditOrderAddressDtoState = {
391
- [key: string]: unknown;
392
- } | null;
393
- /**
394
- * @nullable
395
- */
396
- export type EditOrderAddressDtoCounty = {
397
- [key: string]: unknown;
398
- } | null;
399
- /**
400
- * ISO 3166-1 alpha-2
401
- * @nullable
402
- */
403
- export type EditOrderAddressDtoCountryCode = {
404
- [key: string]: unknown;
405
- } | null;
406
- /**
407
- * @nullable
408
- */
409
- export type EditOrderAddressDtoFloorLevel = {
410
- [key: string]: unknown;
411
- } | null;
412
- /**
413
- * @nullable
414
- */
415
- export type EditOrderAddressDtoElevator = {
416
- [key: string]: unknown;
417
- } | null;
418
- /**
419
- * @nullable
420
- */
421
- export type EditOrderAddressDtoDoorCode = {
422
- [key: string]: unknown;
423
- } | null;
424
- /**
425
- * @nullable
426
- */
427
- export type EditOrderAddressDtoTransportInstructions = {
428
- [key: string]: unknown;
429
- } | null;
390
+ export type EditOrderAddressDtoElevatorType = typeof EditOrderAddressDtoElevatorType[keyof typeof EditOrderAddressDtoElevatorType] | null;
391
+ export declare const EditOrderAddressDtoElevatorType: {
392
+ readonly NONE: "NONE";
393
+ readonly SMALL: "SMALL";
394
+ readonly LARGE: "LARGE";
395
+ readonly FREIGHT: "FREIGHT";
396
+ };
430
397
  export interface EditOrderAddressDto {
431
398
  /** @nullable */
432
- addressLine1?: EditOrderAddressDtoAddressLine1;
399
+ addressLine1?: string | null;
433
400
  /** @nullable */
434
- addressLine2?: EditOrderAddressDtoAddressLine2;
401
+ addressLine2?: string | null;
435
402
  /** @nullable */
436
- zipCode?: EditOrderAddressDtoZipCode;
403
+ zipCode?: string | null;
437
404
  /** @nullable */
438
- city?: EditOrderAddressDtoCity;
405
+ city?: string | null;
439
406
  /** @nullable */
440
- state?: EditOrderAddressDtoState;
407
+ state?: string | null;
441
408
  /** @nullable */
442
- county?: EditOrderAddressDtoCounty;
409
+ county?: string | null;
443
410
  /**
444
411
  * ISO 3166-1 alpha-2
445
412
  * @nullable
446
413
  */
447
- countryCode?: EditOrderAddressDtoCountryCode;
414
+ countryCode?: string | null;
448
415
  /** @nullable */
449
- floorLevel?: EditOrderAddressDtoFloorLevel;
416
+ floorLevel?: number | null;
450
417
  /** @nullable */
451
- elevator?: EditOrderAddressDtoElevator;
418
+ elevator?: boolean | null;
419
+ /**
420
+ * Which kind of elevator the address has (`public.elevator_type`). Distinct from `elevator`, which only says whether there is one: crews plan a move differently for a SMALL cabin than a LARGE or FREIGHT one. Null clears it.
421
+ * @nullable
422
+ */
423
+ elevatorType?: EditOrderAddressDtoElevatorType;
452
424
  /** @nullable */
453
- doorCode?: EditOrderAddressDtoDoorCode;
425
+ doorCode?: string | null;
454
426
  /** @nullable */
455
- transportInstructions?: EditOrderAddressDtoTransportInstructions;
427
+ transportInstructions?: string | null;
456
428
  }
457
429
  export interface RescheduleOrderDto {
458
430
  /** The cart_component_key of the leg to re-plan (e.g. move:pickup, move:delivery). */
@@ -467,6 +439,14 @@ export interface EditOrderDto {
467
439
  address?: EditOrderAddressDto;
468
440
  /** New preferred transport date (does not re-plan capacity by itself). */
469
441
  preferredTransportDate?: string;
442
+ /**
443
+ * Discount code carried on the order; null removes it. Stored as a label, not redeemed here — the code is resolved against the coupon catalogue when the order is priced, and one that is unknown or out of its window simply yields no discount. An unchanged code may therefore be re-sent on every save without the edit failing.
444
+ * @maxLength 100
445
+ * @nullable
446
+ */
447
+ couponCode?: string | null;
448
+ /** Whether the order claims a RUT deduction. The identity number the claim is filed against is frozen at placement and has no edit path, so enabling RUT on an order placed without one leaves the claim without an identity number; disabling it leaves any stored number in place (removal belongs to the personal-data erasure path, not to this toggle). */
449
+ rutDeduction?: boolean;
470
450
  reschedule?: RescheduleOrderDto;
471
451
  }
472
452
  /**
@@ -2667,6 +2647,39 @@ export interface PlaceOrderResultDto {
2667
2647
  orderNumber: number;
2668
2648
  salesOrders: PlacedSalesOrderDto[];
2669
2649
  }
2650
+ export interface CheckoutTransportServiceDto {
2651
+ transportServiceId: string;
2652
+ name: string;
2653
+ /** PICKUP | DELIVERY | MOVE | DROP_OFF | TRANSFER | PICKING | MERCHANDISE_SALE */
2654
+ salesOrderType: string;
2655
+ /** DELIVERY_TIMESLOT | DISPATCH_SLOT | BOOKED */
2656
+ fulfilmentMode: string;
2657
+ /** The zone that matched the queried zip code */
2658
+ serviceZoneId: string;
2659
+ }
2660
+ export interface TransportSlotDto {
2661
+ slotId: string;
2662
+ slotDate: string;
2663
+ windowStart: string;
2664
+ windowEnd: string;
2665
+ /** @nullable */
2666
+ orderCutoffAt: string | null;
2667
+ /** @nullable */
2668
+ priceExVat: string | null;
2669
+ /** @nullable */
2670
+ priceIncRut: string | null;
2671
+ /** @nullable */
2672
+ vatRate: string | null;
2673
+ /** @nullable */
2674
+ expressSurchargeExVat: string | null;
2675
+ /**
2676
+ * Orders still bookable in this slot; null = unlimited
2677
+ * @nullable
2678
+ */
2679
+ remainingOrders: number | null;
2680
+ /** ACTIVE | CLOSED */
2681
+ status: string;
2682
+ }
2670
2683
  export type TransportServiceDtoSalesOrderType = typeof TransportServiceDtoSalesOrderType[keyof typeof TransportServiceDtoSalesOrderType];
2671
2684
  export declare const TransportServiceDtoSalesOrderType: {
2672
2685
  readonly PICKUP: "PICKUP";
@@ -2688,6 +2701,14 @@ export declare const TransportServiceDtoCustomerTypesItem: {
2688
2701
  readonly business: "business";
2689
2702
  readonly personal: "personal";
2690
2703
  };
2704
+ /**
2705
+ * Who may be offered this service at checkout. PUBLIC (the default) = every caller, including guest sessions. RESTRICTED = only organizations listed in orgGrants. A RESTRICTED service with no grants is offered to NOBODY — a valid but easily unintended state. Gates booking admission only: revoking access never hides an order already placed.
2706
+ */
2707
+ export type TransportServiceDtoVisibility = typeof TransportServiceDtoVisibility[keyof typeof TransportServiceDtoVisibility];
2708
+ export declare const TransportServiceDtoVisibility: {
2709
+ readonly PUBLIC: "PUBLIC";
2710
+ readonly RESTRICTED: "RESTRICTED";
2711
+ };
2691
2712
  /**
2692
2713
  * @nullable
2693
2714
  */
@@ -2711,6 +2732,8 @@ export interface TransportServiceDto {
2711
2732
  customerTypes: TransportServiceDtoCustomerTypesItem[];
2712
2733
  minLeadTimeHours: number;
2713
2734
  customerSelectable: boolean;
2735
+ /** Who may be offered this service at checkout. PUBLIC (the default) = every caller, including guest sessions. RESTRICTED = only organizations listed in orgGrants. A RESTRICTED service with no grants is offered to NOBODY — a valid but easily unintended state. Gates booking admission only: revoking access never hides an order already placed. */
2736
+ visibility: TransportServiceDtoVisibility;
2714
2737
  isActive: boolean;
2715
2738
  displayOrder: number;
2716
2739
  /** @nullable */
@@ -2718,29 +2741,6 @@ export interface TransportServiceDto {
2718
2741
  createdAt: string;
2719
2742
  updatedAt: string;
2720
2743
  }
2721
- export interface TransportSlotDto {
2722
- slotId: string;
2723
- slotDate: string;
2724
- windowStart: string;
2725
- windowEnd: string;
2726
- /** @nullable */
2727
- orderCutoffAt: string | null;
2728
- /** @nullable */
2729
- priceExVat: string | null;
2730
- /** @nullable */
2731
- priceIncRut: string | null;
2732
- /** @nullable */
2733
- vatRate: string | null;
2734
- /** @nullable */
2735
- expressSurchargeExVat: string | null;
2736
- /**
2737
- * Orders still bookable in this slot; null = unlimited
2738
- * @nullable
2739
- */
2740
- remainingOrders: number | null;
2741
- /** ACTIVE | CLOSED */
2742
- status: string;
2743
- }
2744
2744
  export interface PaginatedTransportServicesDto {
2745
2745
  /** The page of rows. */
2746
2746
  items: TransportServiceDto[];
@@ -2804,6 +2804,15 @@ export interface TransportServicePriceDto {
2804
2804
  isActive: boolean;
2805
2805
  createdAt: string;
2806
2806
  }
2807
+ export interface TransportServiceOrgGrantDto {
2808
+ transportServiceOrgGrantId: string;
2809
+ organizationId: string;
2810
+ /** The granted organization's display name */
2811
+ organizationName: string;
2812
+ createdAt: string;
2813
+ /** Last change to the grant — including when a revoked grant was re-granted. */
2814
+ updatedAt: string;
2815
+ }
2807
2816
  export type TransportServiceDetailDtoSalesOrderType = typeof TransportServiceDetailDtoSalesOrderType[keyof typeof TransportServiceDetailDtoSalesOrderType];
2808
2817
  export declare const TransportServiceDetailDtoSalesOrderType: {
2809
2818
  readonly PICKUP: "PICKUP";
@@ -2825,6 +2834,14 @@ export declare const TransportServiceDetailDtoCustomerTypesItem: {
2825
2834
  readonly business: "business";
2826
2835
  readonly personal: "personal";
2827
2836
  };
2837
+ /**
2838
+ * Who may be offered this service at checkout. PUBLIC (the default) = every caller, including guest sessions. RESTRICTED = only organizations listed in orgGrants. A RESTRICTED service with no grants is offered to NOBODY — a valid but easily unintended state. Gates booking admission only: revoking access never hides an order already placed.
2839
+ */
2840
+ export type TransportServiceDetailDtoVisibility = typeof TransportServiceDetailDtoVisibility[keyof typeof TransportServiceDetailDtoVisibility];
2841
+ export declare const TransportServiceDetailDtoVisibility: {
2842
+ readonly PUBLIC: "PUBLIC";
2843
+ readonly RESTRICTED: "RESTRICTED";
2844
+ };
2828
2845
  /**
2829
2846
  * @nullable
2830
2847
  */
@@ -2848,6 +2865,8 @@ export interface TransportServiceDetailDto {
2848
2865
  customerTypes: TransportServiceDetailDtoCustomerTypesItem[];
2849
2866
  minLeadTimeHours: number;
2850
2867
  customerSelectable: boolean;
2868
+ /** Who may be offered this service at checkout. PUBLIC (the default) = every caller, including guest sessions. RESTRICTED = only organizations listed in orgGrants. A RESTRICTED service with no grants is offered to NOBODY — a valid but easily unintended state. Gates booking admission only: revoking access never hides an order already placed. */
2869
+ visibility: TransportServiceDetailDtoVisibility;
2851
2870
  isActive: boolean;
2852
2871
  displayOrder: number;
2853
2872
  /** @nullable */
@@ -2856,6 +2875,8 @@ export interface TransportServiceDetailDto {
2856
2875
  updatedAt: string;
2857
2876
  zones: TransportServiceZoneDto[];
2858
2877
  activePrices: TransportServicePriceDto[];
2878
+ /** Organizations that may be offered this service. Meaningful only when visibility is RESTRICTED; always empty for a PUBLIC service unless grants were authored ahead of the flip. */
2879
+ orgGrants: TransportServiceOrgGrantDto[];
2859
2880
  }
2860
2881
  export interface TransportServiceZoneInputDto {
2861
2882
  transportServiceZoneId?: string;
@@ -2898,6 +2919,10 @@ export interface TransportServicePriceInputDto {
2898
2919
  effectiveUntil?: string;
2899
2920
  isActive?: boolean;
2900
2921
  }
2922
+ export interface TransportServiceOrgGrantInputDto {
2923
+ /** The organization to grant this service to. */
2924
+ organizationId: string;
2925
+ }
2901
2926
  export type CreateTransportServiceDtoSalesOrderType = typeof CreateTransportServiceDtoSalesOrderType[keyof typeof CreateTransportServiceDtoSalesOrderType];
2902
2927
  export declare const CreateTransportServiceDtoSalesOrderType: {
2903
2928
  readonly PICKUP: "PICKUP";
@@ -2919,6 +2944,14 @@ export declare const CreateTransportServiceDtoCustomerTypesItem: {
2919
2944
  readonly business: "business";
2920
2945
  readonly personal: "personal";
2921
2946
  };
2947
+ /**
2948
+ * Who may be offered this service at checkout. PUBLIC (the default) = every caller, including guest sessions. RESTRICTED = only organizations listed in orgGrants. A RESTRICTED service with no grants is offered to NOBODY — a valid but easily unintended state. Gates booking admission only: revoking access never hides an order already placed.
2949
+ */
2950
+ export type CreateTransportServiceDtoVisibility = typeof CreateTransportServiceDtoVisibility[keyof typeof CreateTransportServiceDtoVisibility];
2951
+ export declare const CreateTransportServiceDtoVisibility: {
2952
+ readonly PUBLIC: "PUBLIC";
2953
+ readonly RESTRICTED: "RESTRICTED";
2954
+ };
2922
2955
  export type CreateTransportServiceDtoMetadata = {
2923
2956
  [key: string]: unknown;
2924
2957
  };
@@ -2939,11 +2972,15 @@ export interface CreateTransportServiceDto {
2939
2972
  customerTypes?: CreateTransportServiceDtoCustomerTypesItem[];
2940
2973
  minLeadTimeHours?: number;
2941
2974
  customerSelectable?: boolean;
2975
+ /** Who may be offered this service at checkout. PUBLIC (the default) = every caller, including guest sessions. RESTRICTED = only organizations listed in orgGrants. A RESTRICTED service with no grants is offered to NOBODY — a valid but easily unintended state. Gates booking admission only: revoking access never hides an order already placed. */
2976
+ visibility?: CreateTransportServiceDtoVisibility;
2942
2977
  isActive?: boolean;
2943
2978
  displayOrder?: number;
2944
2979
  metadata?: CreateTransportServiceDtoMetadata;
2945
2980
  zones?: TransportServiceZoneInputDto[];
2946
2981
  prices?: TransportServicePriceInputDto[];
2982
+ /** Organizations that may be offered this service when visibility is RESTRICTED. Reconciled like zones[]/prices[]: omit to leave the set unchanged, [] to revoke every grant, or supply the exact set. */
2983
+ orgGrants?: TransportServiceOrgGrantInputDto[];
2947
2984
  }
2948
2985
  export type UpdateTransportServiceDtoSalesOrderType = typeof UpdateTransportServiceDtoSalesOrderType[keyof typeof UpdateTransportServiceDtoSalesOrderType];
2949
2986
  export declare const UpdateTransportServiceDtoSalesOrderType: {
@@ -2966,6 +3003,14 @@ export declare const UpdateTransportServiceDtoCustomerTypesItem: {
2966
3003
  readonly business: "business";
2967
3004
  readonly personal: "personal";
2968
3005
  };
3006
+ /**
3007
+ * Who may be offered this service at checkout. PUBLIC (the default) = every caller, including guest sessions. RESTRICTED = only organizations listed in orgGrants. A RESTRICTED service with no grants is offered to NOBODY — a valid but easily unintended state. Gates booking admission only: revoking access never hides an order already placed.
3008
+ */
3009
+ export type UpdateTransportServiceDtoVisibility = typeof UpdateTransportServiceDtoVisibility[keyof typeof UpdateTransportServiceDtoVisibility];
3010
+ export declare const UpdateTransportServiceDtoVisibility: {
3011
+ readonly PUBLIC: "PUBLIC";
3012
+ readonly RESTRICTED: "RESTRICTED";
3013
+ };
2969
3014
  export type UpdateTransportServiceDtoMetadata = {
2970
3015
  [key: string]: unknown;
2971
3016
  };
@@ -2988,11 +3033,15 @@ export interface UpdateTransportServiceDto {
2988
3033
  customerTypes?: UpdateTransportServiceDtoCustomerTypesItem[];
2989
3034
  minLeadTimeHours?: number;
2990
3035
  customerSelectable?: boolean;
3036
+ /** Who may be offered this service at checkout. PUBLIC (the default) = every caller, including guest sessions. RESTRICTED = only organizations listed in orgGrants. A RESTRICTED service with no grants is offered to NOBODY — a valid but easily unintended state. Gates booking admission only: revoking access never hides an order already placed. */
3037
+ visibility?: UpdateTransportServiceDtoVisibility;
2991
3038
  isActive?: boolean;
2992
3039
  displayOrder?: number;
2993
3040
  metadata?: UpdateTransportServiceDtoMetadata;
2994
3041
  zones?: TransportServiceZoneInputDto[];
2995
3042
  prices?: TransportServicePriceInputDto[];
3043
+ /** Organizations that may be offered this service when visibility is RESTRICTED. Omit to leave the set unchanged; [] revokes every grant; a supplied array is reconciled to exactly that set. */
3044
+ orgGrants?: TransportServiceOrgGrantInputDto[];
2996
3045
  }
2997
3046
  export interface PaginatedTransportServicePricesDto {
2998
3047
  /** The page of rows. */
@@ -4110,6 +4159,16 @@ export interface FailLegDto {
4110
4159
  /** When the event occurred (client clock). */
4111
4160
  occurredAt?: string;
4112
4161
  }
4162
+ /**
4163
+ * Which kind of elevator the address has (`public.elevator_type`). Distinct from `elevator`, which only says whether there is one.
4164
+ */
4165
+ export type PatchLegSnapshotDtoElevatorType = typeof PatchLegSnapshotDtoElevatorType[keyof typeof PatchLegSnapshotDtoElevatorType];
4166
+ export declare const PatchLegSnapshotDtoElevatorType: {
4167
+ readonly NONE: "NONE";
4168
+ readonly SMALL: "SMALL";
4169
+ readonly LARGE: "LARGE";
4170
+ readonly FREIGHT: "FREIGHT";
4171
+ };
4113
4172
  export interface PatchLegSnapshotDto {
4114
4173
  /**
4115
4174
  * Why the snapshot is being corrected (audited).
@@ -4145,6 +4204,8 @@ export interface PatchLegSnapshotDto {
4145
4204
  doorCode?: string;
4146
4205
  floorLevel?: number;
4147
4206
  elevator?: boolean;
4207
+ /** Which kind of elevator the address has (`public.elevator_type`). Distinct from `elevator`, which only says whether there is one. */
4208
+ elevatorType?: PatchLegSnapshotDtoElevatorType;
4148
4209
  latitude?: number;
4149
4210
  longitude?: number;
4150
4211
  /** @maxLength 2000 */
@@ -4374,6 +4435,40 @@ export interface PaginatedProductsDto {
4374
4435
  /** Effective rows skipped applied. */
4375
4436
  offset: number;
4376
4437
  }
4438
+ export interface CreateProductDto {
4439
+ /** The owning organization (server validates the caller's scope over it). */
4440
+ organizationId: string;
4441
+ /**
4442
+ * Catalogued product name
4443
+ * @maxLength 255
4444
+ */
4445
+ name: string;
4446
+ categoryId?: number;
4447
+ /** Place the product in this folder of the same organization; omit for the root. */
4448
+ folderId?: string;
4449
+ /** Measured unit width (mm) */
4450
+ unitWidthMm?: number;
4451
+ unitHeightMm?: number;
4452
+ unitDepthMm?: number;
4453
+ unitWeightG?: number;
4454
+ /** Customer-estimated width (mm) */
4455
+ userEstimatedWidthMm?: number;
4456
+ userEstimatedHeightMm?: number;
4457
+ userEstimatedDepthMm?: number;
4458
+ /** Measured parcel count */
4459
+ parcelQuantity?: number;
4460
+ /** Customer-estimated parcel count */
4461
+ userParcelQuantity?: number;
4462
+ /** GTIN (per-org unique) */
4463
+ globalTradeItemNumber?: number;
4464
+ /** Storage key of the primary image */
4465
+ primaryImageStorageKey?: string;
4466
+ /** Per-org unique external reference */
4467
+ externalReference?: string;
4468
+ deliveryFrequency?: string;
4469
+ /** Customer-facing note on the item. */
4470
+ comment?: string;
4471
+ }
4377
4472
  export interface UpdateProductDto {
4378
4473
  /** Catalogued product name */
4379
4474
  name?: string;
@@ -4474,15 +4569,18 @@ export interface PaginatedItemsDto {
4474
4569
  offset: number;
4475
4570
  }
4476
4571
  export interface UpdateItemDto {
4572
+ /** Damage/condition flag. Staff-only — 403 for organization callers */
4477
4573
  condition?: string;
4478
4574
  /** Supplier/manufacturing batch id */
4479
4575
  batchId?: string;
4480
4576
  /** Expiry date (ISO date) */
4481
4577
  expiryDate?: string;
4578
+ /** Quarantine flag — blocked units are excluded from picking. Staff-only — 403 for organization callers */
4482
4579
  blocked?: boolean;
4580
+ /** Why the unit is quarantined. Staff-only — 403 for organization callers */
4483
4581
  blockReason?: string;
4484
4582
  }
4485
- export interface PodDto {
4583
+ export interface PodDetailDto {
4486
4584
  podId: string;
4487
4585
  organizationId: string;
4488
4586
  itemId: string;
@@ -4511,10 +4609,35 @@ export interface PodDto {
4511
4609
  volumeCm3: number | null;
4512
4610
  createdAt: string;
4513
4611
  updatedAt: string;
4612
+ /**
4613
+ * The catalogue product these goods belong to, via the pod's item
4614
+ * @nullable
4615
+ */
4616
+ productId: string | null;
4617
+ /**
4618
+ * Catalogue name (null on placeholders)
4619
+ * @nullable
4620
+ */
4621
+ productName: string | null;
4622
+ /**
4623
+ * Name captured before identification, when the product has no catalogue name
4624
+ * @nullable
4625
+ */
4626
+ productPlaceholderName: string | null;
4627
+ /**
4628
+ * Primary image storage key
4629
+ * @nullable
4630
+ */
4631
+ productImageStorageKey: string | null;
4632
+ /**
4633
+ * product_status value
4634
+ * @nullable
4635
+ */
4636
+ productStatus: string | null;
4514
4637
  }
4515
4638
  export interface PaginatedPodsDto {
4516
4639
  /** The page of rows. */
4517
- items: PodDto[];
4640
+ items: PodDetailDto[];
4518
4641
  /** Exact count of all rows matching the filter, pre-pagination (RLS-scoped). */
4519
4642
  total: number;
4520
4643
  /** Effective max rows applied (after defaults/clamp). */
@@ -4558,6 +4681,66 @@ export interface UpdatePodDto {
4558
4681
  */
4559
4682
  labelId?: string;
4560
4683
  }
4684
+ export interface PodDto {
4685
+ podId: string;
4686
+ organizationId: string;
4687
+ itemId: string;
4688
+ /** @nullable */
4689
+ containerId: string | null;
4690
+ /** @nullable */
4691
+ warehouseOrderId: string | null;
4692
+ /** @nullable */
4693
+ salesOrderId: string | null;
4694
+ /**
4695
+ * Physical label id (barcode)
4696
+ * @nullable
4697
+ */
4698
+ labelId: string | null;
4699
+ /** pod_status value */
4700
+ status: string;
4701
+ /** Unit width (mm) */
4702
+ unitWidthMm: number;
4703
+ unitHeightMm: number;
4704
+ unitDepthMm: number;
4705
+ quantity: number;
4706
+ /**
4707
+ * Volume in cm³ (generated projection)
4708
+ * @nullable
4709
+ */
4710
+ volumeCm3: number | null;
4711
+ createdAt: string;
4712
+ updatedAt: string;
4713
+ }
4714
+ export interface MarkDamagedDto {
4715
+ /**
4716
+ * Units lost to damage.
4717
+ * @minimum 1
4718
+ */
4719
+ quantity: number;
4720
+ /**
4721
+ * Mandatory reason recorded on the movement.
4722
+ * @minLength 3
4723
+ */
4724
+ reason: string;
4725
+ }
4726
+ export interface AdjustedPodDto {
4727
+ podId: string;
4728
+ /** Units on the pod after the adjustment. */
4729
+ quantity: number;
4730
+ /** Units on the pod before the adjustment. */
4731
+ previousQuantity: number;
4732
+ status: string;
4733
+ }
4734
+ export interface MarkDamagedResultDto {
4735
+ /** The DAMAGE ledger movement. */
4736
+ movementId: string;
4737
+ /** The pod after the write-off. `quantity` is 0 when the whole pod was lost — the pod row is then retired (soft-deleted), because pod.quantity has a CHECK (> 0) and cannot hold zero. */
4738
+ pod: AdjustedPodDto;
4739
+ /** Units written off. */
4740
+ quantityDamaged: number;
4741
+ /** True when this response replays a previous run of the key. */
4742
+ idempotent: boolean;
4743
+ }
4561
4744
  export interface PositionDto {
4562
4745
  positionId: string;
4563
4746
  warehouseId: string;
@@ -4591,6 +4774,10 @@ export interface PositionDto {
4591
4774
  checkNumber: number | null;
4592
4775
  /** True when an active position_blocked row exists */
4593
4776
  isBlocked: boolean;
4777
+ /** Live containers currently sitting on this slot (occupancy) */
4778
+ containerCount: number;
4779
+ /** Live pods inside those containers — distinguishes an occupied-but-empty slot from a full one. RLS-scoped, so a caller who cannot see the goods reads 0. */
4780
+ podCount: number;
4594
4781
  createdAt: string;
4595
4782
  }
4596
4783
  export interface PaginatedPositionsDto {
@@ -4779,6 +4966,16 @@ export interface WarehouseOrderSummaryDto {
4779
4966
  status: string;
4780
4967
  /** @nullable */
4781
4968
  externalReference: string | null;
4969
+ /**
4970
+ * Carrier the SUPPLIER used to ship the inbound goods, as transcribed off the advice note. Not a tenantCarrierId — nobody booked this movement through us.
4971
+ * @nullable
4972
+ */
4973
+ shipmentProvider: string | null;
4974
+ /**
4975
+ * The supplier's waybill / tracking number for the inbound shipment. Opaque text; not resolvable to a tracking URL.
4976
+ * @nullable
4977
+ */
4978
+ shipmentTrackingCode: string | null;
4782
4979
  /**
4783
4980
  * Human-readable order name
4784
4981
  * @nullable
@@ -4875,6 +5072,16 @@ export interface WarehouseOrderDetailDto {
4875
5072
  status: string;
4876
5073
  /** @nullable */
4877
5074
  externalReference: string | null;
5075
+ /**
5076
+ * Carrier the SUPPLIER used to ship the inbound goods, as transcribed off the advice note. Not a tenantCarrierId — nobody booked this movement through us.
5077
+ * @nullable
5078
+ */
5079
+ shipmentProvider: string | null;
5080
+ /**
5081
+ * The supplier's waybill / tracking number for the inbound shipment. Opaque text; not resolvable to a tracking URL.
5082
+ * @nullable
5083
+ */
5084
+ shipmentTrackingCode: string | null;
4878
5085
  /**
4879
5086
  * Human-readable order name
4880
5087
  * @nullable
@@ -4892,7 +5099,7 @@ export interface WarehouseOrderDetailDto {
4892
5099
  containers: WarehouseOrderContainerDto[];
4893
5100
  statusHistory: WarehouseOrderStatusChangeDto[];
4894
5101
  }
4895
- export interface WarehouseOrderProductLineDto {
5102
+ export interface InboundWarehouseOrderProductLineDto {
4896
5103
  productId: string;
4897
5104
  /**
4898
5105
  * Expected quantity.
@@ -4901,6 +5108,8 @@ export interface WarehouseOrderProductLineDto {
4901
5108
  requestedQuantity: number;
4902
5109
  /** @maxLength 500 */
4903
5110
  comment?: string;
5111
+ /** Per-line ship-to address (public.address). Valid only on a RECEIVE_AND_DISTRIBUTE order — 400 on any other type. Same-tenant; a destination may legitimately belong to another organization of the tenant. */
5112
+ destinationAddressId?: string;
4904
5113
  }
4905
5114
  export type CreateWarehouseOrderDtoType = typeof CreateWarehouseOrderDtoType[keyof typeof CreateWarehouseOrderDtoType];
4906
5115
  export declare const CreateWarehouseOrderDtoType: {
@@ -4927,8 +5136,18 @@ export interface CreateWarehouseOrderDto {
4927
5136
  plannedArrivalDate?: string;
4928
5137
  /** @maxLength 255 */
4929
5138
  externalReference?: string;
5139
+ /**
5140
+ * Carrier the supplier shipped with, off the advice note. Set at authoring; there is no update path for it yet.
5141
+ * @maxLength 255
5142
+ */
5143
+ shipmentProvider?: string;
5144
+ /**
5145
+ * The supplier's waybill / tracking number. Set at authoring; there is no update path for it yet.
5146
+ * @maxLength 255
5147
+ */
5148
+ shipmentTrackingCode?: string;
4930
5149
  /** Non-TRANSFER only. */
4931
- products?: WarehouseOrderProductLineDto[];
5150
+ products?: InboundWarehouseOrderProductLineDto[];
4932
5151
  /** TRANSFER only — containers to move. */
4933
5152
  containerIds?: string[];
4934
5153
  }
@@ -4963,6 +5182,16 @@ export interface WarehouseOrderCommandResultDto {
4963
5182
  status: string;
4964
5183
  /** @nullable */
4965
5184
  externalReference: string | null;
5185
+ /**
5186
+ * Carrier the SUPPLIER used to ship the inbound goods, as transcribed off the advice note. Not a tenantCarrierId — nobody booked this movement through us.
5187
+ * @nullable
5188
+ */
5189
+ shipmentProvider: string | null;
5190
+ /**
5191
+ * The supplier's waybill / tracking number for the inbound shipment. Opaque text; not resolvable to a tracking URL.
5192
+ * @nullable
5193
+ */
5194
+ shipmentTrackingCode: string | null;
4966
5195
  /**
4967
5196
  * Human-readable order name
4968
5197
  * @nullable
@@ -4982,6 +5211,16 @@ export interface WarehouseOrderCommandResultDto {
4982
5211
  /** True when this response replays a previous run of the key. */
4983
5212
  idempotent: boolean;
4984
5213
  }
5214
+ export interface WarehouseOrderProductLineDto {
5215
+ productId: string;
5216
+ /**
5217
+ * Expected quantity.
5218
+ * @minimum 1
5219
+ */
5220
+ requestedQuantity: number;
5221
+ /** @maxLength 500 */
5222
+ comment?: string;
5223
+ }
4985
5224
  export type CreateDisposalRequestDtoType = typeof CreateDisposalRequestDtoType[keyof typeof CreateDisposalRequestDtoType];
4986
5225
  export declare const CreateDisposalRequestDtoType: {
4987
5226
  readonly RECYCLE: "RECYCLE";
@@ -5067,6 +5306,8 @@ export interface AddWarehouseOrderProductDto {
5067
5306
  productId: string;
5068
5307
  /** @minimum 1 */
5069
5308
  requestedQuantity: number;
5309
+ /** Per-line ship-to address (public.address). Valid only when the parent order is RECEIVE_AND_DISTRIBUTE — 409 otherwise. Same-tenant; a destination may legitimately belong to another organization of the tenant. */
5310
+ destinationAddressId?: string;
5070
5311
  /** @maxLength 500 */
5071
5312
  comment?: string;
5072
5313
  }
@@ -5074,6 +5315,11 @@ export interface AddedWarehouseOrderProductDto {
5074
5315
  warehouseOrderProductId: string;
5075
5316
  warehouseOrderId: string;
5076
5317
  productId: string;
5318
+ /**
5319
+ * The per-line ship-to address as persisted; null on a plain inbound line.
5320
+ * @nullable
5321
+ */
5322
+ destinationAddressId: string | null;
5077
5323
  requestedQuantity: number;
5078
5324
  quantity: number;
5079
5325
  status: string;
@@ -5395,14 +5641,6 @@ export interface AdjustCommandDto {
5395
5641
  */
5396
5642
  reason: string;
5397
5643
  }
5398
- export interface AdjustedPodDto {
5399
- podId: string;
5400
- /** Units on the pod after the adjustment. */
5401
- quantity: number;
5402
- /** Units on the pod before the adjustment. */
5403
- previousQuantity: number;
5404
- status: string;
5405
- }
5406
5644
  export interface AdjustResultDto {
5407
5645
  /** The ADJUST ledger movement. */
5408
5646
  movementId: string;
@@ -7546,12 +7784,93 @@ export interface BillableEventTypeDto {
7546
7784
  pricingTarget: boolean;
7547
7785
  description: string;
7548
7786
  }
7787
+ export interface PaymentInstrumentDto {
7788
+ paymentInstrumentId: string;
7789
+ /** Payment provider holding the instrument. */
7790
+ provider: string;
7791
+ /** The provider's own id for the instrument — Stripe's `pm_…` payment method. */
7792
+ providerInstrumentId: string;
7793
+ /**
7794
+ * Card network as reported by the provider (visa, mastercard, …).
7795
+ * @nullable
7796
+ */
7797
+ brand: string | null;
7798
+ /**
7799
+ * Last four digits of the card.
7800
+ * @nullable
7801
+ */
7802
+ lastFour: string | null;
7803
+ /**
7804
+ * Expiry month, 1-12.
7805
+ * @nullable
7806
+ */
7807
+ expMonth: number | null;
7808
+ /**
7809
+ * Expiry year, four digits.
7810
+ * @nullable
7811
+ */
7812
+ expYear: number | null;
7813
+ /** The card the auto-charge path uses. At most one live instrument per billing account is the default. */
7814
+ isDefault: boolean;
7815
+ createdAt: string;
7816
+ }
7817
+ export interface PaymentDetailsRequirementDto {
7818
+ /** True when the checkout should collect card details: the resolved payment method charges automatically and the organization has no live payment instrument. */
7819
+ detailsRequired: boolean;
7820
+ /**
7821
+ * Code of the resolved payment method — the account's own, or the tenant default it inherits when it pins none. Null when neither resolves.
7822
+ * @nullable
7823
+ */
7824
+ paymentMethodCode: string | null;
7825
+ /** Whether the resolved payment method charges the customer automatically. */
7826
+ isAutoChargeable: boolean;
7827
+ /** Whether the organization has at least one payment instrument that has not been removed. Card expiry is deliberately not considered — the provider keeps charging a card past its printed expiry once its updater has refreshed it. */
7828
+ hasPaymentInstrument: boolean;
7829
+ /** False means the organization has no billing account, which is an anomaly (one is provisioned on organization sync) rather than a normal state. Reported rather than raised: a 404 here would send the caller to setup-intent, which fails on the same missing row. */
7830
+ hasBillingAccount: boolean;
7831
+ }
7549
7832
  export interface SetupIntentResponseDto {
7550
7833
  /** Stripe SetupIntent client secret — confirm the card with Stripe.js (PaymentElement). */
7551
7834
  clientSecret: string;
7552
7835
  /** The Stripe Customer (cus_…) the saved card will be attached to. */
7553
7836
  stripeCustomerId: string;
7554
7837
  }
7838
+ export interface InvoiceDetailsDto {
7839
+ billingAccountId: string;
7840
+ organizationId: string;
7841
+ /**
7842
+ * Primary invoice recipient.
7843
+ * @nullable
7844
+ */
7845
+ invoiceEmail: string | null;
7846
+ /** @nullable */
7847
+ invoiceEmailCc: string | null;
7848
+ /** @nullable */
7849
+ invoiceEmailBcc: string | null;
7850
+ /** @nullable */
7851
+ invoiceAddressLine1: string | null;
7852
+ /** @nullable */
7853
+ invoiceAddressLine2: string | null;
7854
+ /** @nullable */
7855
+ invoiceZipCode: string | null;
7856
+ /** @nullable */
7857
+ invoiceCity: string | null;
7858
+ /**
7859
+ * ISO 3166-1 alpha-2.
7860
+ * @nullable
7861
+ */
7862
+ countryCode: string | null;
7863
+ /**
7864
+ * Days from invoice date to due date, resolved from the account's payment term or the tenant default. Null when neither is configured.
7865
+ * @nullable
7866
+ */
7867
+ daysToDue: number | null;
7868
+ /**
7869
+ * Display name of the resolved payment method (account override, else tenant default). Null when neither is configured.
7870
+ * @nullable
7871
+ */
7872
+ paymentMethodName: string | null;
7873
+ }
7555
7874
  export interface StripeWebhookAckDto {
7556
7875
  /** Always true once the event was accepted. */
7557
7876
  received: boolean;
@@ -9416,6 +9735,11 @@ export type OrdersControllerListV1Params = {
9416
9735
  * created_at upper bound, inclusive (ISO-8601).
9417
9736
  */
9418
9737
  toDate?: string;
9738
+ /**
9739
+ * Free-text order search, matching any of: job number (exact, digits only), order-group booking number (exact, digits only), external reference (case-insensitive substring), or a transport leg's recipient name (case-insensitive substring, accelerated by the pg_trgm GIN indexes). Only ever narrows what the caller could already see. Two families see less than they can list: the booking-number match needs order-group visibility, which warehouse and carrier staff do not have, and the recipient match needs leg visibility, which is narrower than order visibility for both.
9740
+ * @maxLength 200
9741
+ */
9742
+ search?: string;
9419
9743
  };
9420
9744
  export type OrdersControllerListV1Type = typeof OrdersControllerListV1Type[keyof typeof OrdersControllerListV1Type];
9421
9745
  export declare const OrdersControllerListV1Type: {
@@ -9427,6 +9751,40 @@ export declare const OrdersControllerListV1Type: {
9427
9751
  readonly PICKING: "PICKING";
9428
9752
  readonly MERCHANDISE_SALE: "MERCHANDISE_SALE";
9429
9753
  };
9754
+ export type OrdersControllerStatsV1Params = {
9755
+ /**
9756
+ * Filter by sales_order status. Repeatable — pass ?status=A&status=B for a set; a single value is accepted too.
9757
+ */
9758
+ status?: string[];
9759
+ type?: OrdersControllerStatsV1Type;
9760
+ /**
9761
+ * Narrow to one organization (within the caller's RLS scope).
9762
+ */
9763
+ organizationId?: string;
9764
+ /**
9765
+ * created_at lower bound, inclusive (ISO-8601).
9766
+ */
9767
+ fromDate?: string;
9768
+ /**
9769
+ * created_at upper bound, inclusive (ISO-8601).
9770
+ */
9771
+ toDate?: string;
9772
+ /**
9773
+ * Free-text order search, matching any of: job number (exact, digits only), order-group booking number (exact, digits only), external reference (case-insensitive substring), or a transport leg's recipient name (case-insensitive substring, accelerated by the pg_trgm GIN indexes). Only ever narrows what the caller could already see. Two families see less than they can list: the booking-number match needs order-group visibility, which warehouse and carrier staff do not have, and the recipient match needs leg visibility, which is narrower than order visibility for both.
9774
+ * @maxLength 200
9775
+ */
9776
+ search?: string;
9777
+ };
9778
+ export type OrdersControllerStatsV1Type = typeof OrdersControllerStatsV1Type[keyof typeof OrdersControllerStatsV1Type];
9779
+ export declare const OrdersControllerStatsV1Type: {
9780
+ readonly PICKUP: "PICKUP";
9781
+ readonly DELIVERY: "DELIVERY";
9782
+ readonly MOVE: "MOVE";
9783
+ readonly DROP_OFF: "DROP_OFF";
9784
+ readonly TRANSFER: "TRANSFER";
9785
+ readonly PICKING: "PICKING";
9786
+ readonly MERCHANDISE_SALE: "MERCHANDISE_SALE";
9787
+ };
9430
9788
  export type OrderGroupsControllerListV1Params = {
9431
9789
  /**
9432
9790
  * Max rows to return (1–100).
@@ -9614,6 +9972,10 @@ export type CheckoutControllerAvailableServicesV1Params = {
9614
9972
  * ISO 3166-1 alpha-2; defaults to the tenant's country
9615
9973
  */
9616
9974
  countryCode?: string;
9975
+ /**
9976
+ * Staff-only: scope the result to this customer's visibility grants instead of the caller's. Ignored when it equals the caller's own organization; 403 for a non-staff caller naming any other organization.
9977
+ */
9978
+ organizationId?: string;
9617
9979
  };
9618
9980
  export type CheckoutControllerAvailableSlotsV1Params = {
9619
9981
  /**
@@ -9632,6 +9994,10 @@ export type CheckoutControllerAvailableSlotsV1Params = {
9632
9994
  * The recipient's service zone (from GET /available-services). The v1 checkout flow ALWAYS passes this: slots are then resolved most-specific-wins — an exact-zone slot overrides the pooled (zone-agnostic) slot for the same window (even if full), so callers get one deduped row per window. Omitting it is back-compat only: every slot for the service is listed unfiltered and both pooled + per-zone rows may appear.
9633
9995
  */
9634
9996
  serviceZoneId?: string;
9997
+ /**
9998
+ * Staff-only: scope the result to this customer's visibility grants instead of the caller's. Ignored when it equals the caller's own organization; 403 for a non-staff caller naming any other organization.
9999
+ */
10000
+ organizationId?: string;
9635
10001
  };
9636
10002
  export type TransportServicesControllerListV1Params = {
9637
10003
  /**
@@ -9989,9 +10355,9 @@ export type PodsControllerGetPickStateV1Params = {
9989
10355
  };
9990
10356
  export type PositionsControllerListV1Params = {
9991
10357
  /**
9992
- * Max rows to return (1–100).
10358
+ * Max rows to return (1–500).
9993
10359
  * @minimum 1
9994
- * @maximum 100
10360
+ * @maximum 500
9995
10361
  */
9996
10362
  limit?: number;
9997
10363
  /**
@@ -10014,9 +10380,9 @@ export type PositionsControllerListV1Params = {
10014
10380
  };
10015
10381
  export type ContainersControllerListV1Params = {
10016
10382
  /**
10017
- * Max rows to return (1–100).
10383
+ * Max rows to return (1–500).
10018
10384
  * @minimum 1
10019
- * @maximum 100
10385
+ * @maximum 500
10020
10386
  */
10021
10387
  limit?: number;
10022
10388
  /**
@@ -10035,6 +10401,7 @@ export type ContainersControllerListV1Params = {
10035
10401
  /**
10036
10402
  * Exact per-tenant label-number lookup.
10037
10403
  * @minimum 1
10404
+ * @maximum 9007199254740991
10038
10405
  */
10039
10406
  labelNumber?: number;
10040
10407
  };