@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.
- package/dist/generated/_all.d.ts +1 -0
- package/dist/generated/_all.d.ts.map +1 -1
- package/dist/generated/_all.js +1 -0
- package/dist/generated/_all.js.map +1 -1
- package/dist/generated/_permissions.d.ts +34 -2
- package/dist/generated/_permissions.d.ts.map +1 -1
- package/dist/generated/_permissions.js +9 -1
- package/dist/generated/_permissions.js.map +1 -1
- package/dist/generated/carriers/carriers.d.ts +3 -3
- package/dist/generated/checkout/checkout.d.ts +2 -2
- package/dist/generated/checkout/checkout.d.ts.map +1 -1
- package/dist/generated/containers/containers.d.ts +14 -0
- package/dist/generated/containers/containers.d.ts.map +1 -1
- package/dist/generated/containers/containers.js +10 -0
- package/dist/generated/containers/containers.js.map +1 -1
- package/dist/generated/index.schemas.d.ts +509 -142
- package/dist/generated/index.schemas.d.ts.map +1 -1
- package/dist/generated/index.schemas.js +54 -0
- package/dist/generated/index.schemas.js.map +1 -1
- package/dist/generated/invoice-details/invoice-details.d.ts +30 -0
- package/dist/generated/invoice-details/invoice-details.d.ts.map +1 -0
- package/dist/generated/invoice-details/invoice-details.js +11 -0
- package/dist/generated/invoice-details/invoice-details.js.map +1 -0
- package/dist/generated/items/items.d.ts +8 -1
- package/dist/generated/items/items.d.ts.map +1 -1
- package/dist/generated/items/items.js +0 -1
- package/dist/generated/items/items.js.map +1 -1
- package/dist/generated/orders/orders.d.ts +15 -1
- package/dist/generated/orders/orders.d.ts.map +1 -1
- package/dist/generated/orders/orders.js +24 -0
- package/dist/generated/orders/orders.js.map +1 -1
- package/dist/generated/payment-instruments/payment-instruments.d.ts +29 -1
- package/dist/generated/payment-instruments/payment-instruments.d.ts.map +1 -1
- package/dist/generated/payment-instruments/payment-instruments.js +20 -0
- package/dist/generated/payment-instruments/payment-instruments.js.map +1 -1
- package/dist/generated/pods/pods.d.ts +17 -3
- package/dist/generated/pods/pods.d.ts.map +1 -1
- package/dist/generated/pods/pods.js +12 -0
- package/dist/generated/pods/pods.js.map +1 -1
- package/dist/generated/products/products.d.ts +22 -1
- package/dist/generated/products/products.d.ts.map +1 -1
- package/dist/generated/products/products.js +11 -0
- package/dist/generated/products/products.js.map +1 -1
- package/dist/generated/sync-dimensions/sync-dimensions.d.ts +1 -1
- package/dist/generated/transport-services/transport-services.d.ts +15 -1
- package/dist/generated/transport-services/transport-services.d.ts.map +1 -1
- package/dist/generated/transport-services/transport-services.js +10 -0
- package/dist/generated/transport-services/transport-services.js.map +1 -1
- 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?:
|
|
378
|
+
name?: string | null;
|
|
356
379
|
/** @nullable */
|
|
357
|
-
phone?:
|
|
380
|
+
phone?: string | null;
|
|
358
381
|
/** @nullable */
|
|
359
|
-
email?:
|
|
382
|
+
email?: string | null;
|
|
360
383
|
/** @nullable */
|
|
361
|
-
companyName?:
|
|
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
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
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?:
|
|
399
|
+
addressLine1?: string | null;
|
|
433
400
|
/** @nullable */
|
|
434
|
-
addressLine2?:
|
|
401
|
+
addressLine2?: string | null;
|
|
435
402
|
/** @nullable */
|
|
436
|
-
zipCode?:
|
|
403
|
+
zipCode?: string | null;
|
|
437
404
|
/** @nullable */
|
|
438
|
-
city?:
|
|
405
|
+
city?: string | null;
|
|
439
406
|
/** @nullable */
|
|
440
|
-
state?:
|
|
407
|
+
state?: string | null;
|
|
441
408
|
/** @nullable */
|
|
442
|
-
county?:
|
|
409
|
+
county?: string | null;
|
|
443
410
|
/**
|
|
444
411
|
* ISO 3166-1 alpha-2
|
|
445
412
|
* @nullable
|
|
446
413
|
*/
|
|
447
|
-
countryCode?:
|
|
414
|
+
countryCode?: string | null;
|
|
448
415
|
/** @nullable */
|
|
449
|
-
floorLevel?:
|
|
416
|
+
floorLevel?: number | null;
|
|
450
417
|
/** @nullable */
|
|
451
|
-
elevator?:
|
|
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?:
|
|
425
|
+
doorCode?: string | null;
|
|
454
426
|
/** @nullable */
|
|
455
|
-
transportInstructions?:
|
|
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
|
|
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:
|
|
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
|
|
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?:
|
|
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–
|
|
10358
|
+
* Max rows to return (1–500).
|
|
9993
10359
|
* @minimum 1
|
|
9994
|
-
* @maximum
|
|
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–
|
|
10383
|
+
* Max rows to return (1–500).
|
|
10018
10384
|
* @minimum 1
|
|
10019
|
-
* @maximum
|
|
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
|
};
|