@tolinax/ayoune-interfaces 2026.28.0 → 2026.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -253,6 +253,8 @@ export declare enum aMN {
253
253
  DevOpsAlerts = "DevOpsAlerts",
254
254
  DiscountGroups = "DiscountGroups",
255
255
  DMCampaigns = "DMCampaigns",
256
+ DockAppointments = "DockAppointments",
257
+ Docks = "Docks",
256
258
  Documents = "Documents",
257
259
  DoiLogs = "DoiLogs",
258
260
  Dois = "Dois",
@@ -352,6 +354,7 @@ export declare enum aMN {
352
354
  InternalChatMessages = "InternalChatMessages",
353
355
  InternalForms = "InternalForms",
354
356
  InternalOrders = "InternalOrders",
357
+ InventoryAdjustments = "InventoryAdjustments",
355
358
  InventoryLists = "InventoryLists",
356
359
  Invoices = "Invoices",
357
360
  IoTDevices = "IoTDevices",
@@ -453,6 +456,7 @@ export declare enum aMN {
453
456
  PaymentProviders = "PaymentProviders",
454
457
  PermissionRequests = "PermissionRequests",
455
458
  PickLists = "PickLists",
459
+ PickWaves = "PickWaves",
456
460
  PimSelections = "PimSelections",
457
461
  Pipelines = "Pipelines",
458
462
  Polls = "Polls",
@@ -611,6 +615,7 @@ export declare enum aMN {
611
615
  Tips = "Tips",
612
616
  Trades = "Trades",
613
617
  Transactions = "Transactions",
618
+ TransportOrders = "TransportOrders",
614
619
  Travels = "Travels",
615
620
  TriggerActionsLogs = "TriggerActionsLogs",
616
621
  TriggerChains = "TriggerChains",
@@ -257,6 +257,8 @@ var aMN;
257
257
  aMN["DevOpsAlerts"] = "DevOpsAlerts";
258
258
  aMN["DiscountGroups"] = "DiscountGroups";
259
259
  aMN["DMCampaigns"] = "DMCampaigns";
260
+ aMN["DockAppointments"] = "DockAppointments";
261
+ aMN["Docks"] = "Docks";
260
262
  aMN["Documents"] = "Documents";
261
263
  aMN["DoiLogs"] = "DoiLogs";
262
264
  aMN["Dois"] = "Dois";
@@ -356,6 +358,7 @@ var aMN;
356
358
  aMN["InternalChatMessages"] = "InternalChatMessages";
357
359
  aMN["InternalForms"] = "InternalForms";
358
360
  aMN["InternalOrders"] = "InternalOrders";
361
+ aMN["InventoryAdjustments"] = "InventoryAdjustments";
359
362
  aMN["InventoryLists"] = "InventoryLists";
360
363
  aMN["Invoices"] = "Invoices";
361
364
  aMN["IoTDevices"] = "IoTDevices";
@@ -457,6 +460,7 @@ var aMN;
457
460
  aMN["PaymentProviders"] = "PaymentProviders";
458
461
  aMN["PermissionRequests"] = "PermissionRequests";
459
462
  aMN["PickLists"] = "PickLists";
463
+ aMN["PickWaves"] = "PickWaves";
460
464
  aMN["PimSelections"] = "PimSelections";
461
465
  aMN["Pipelines"] = "Pipelines";
462
466
  aMN["Polls"] = "Polls";
@@ -615,6 +619,7 @@ var aMN;
615
619
  aMN["Tips"] = "Tips";
616
620
  aMN["Trades"] = "Trades";
617
621
  aMN["Transactions"] = "Transactions";
622
+ aMN["TransportOrders"] = "TransportOrders";
618
623
  aMN["Travels"] = "Travels";
619
624
  aMN["TriggerActionsLogs"] = "TriggerActionsLogs";
620
625
  aMN["TriggerChains"] = "TriggerChains";
@@ -2839,6 +2839,26 @@ const modelsAndRights = [
2839
2839
  allowDuplicate: false,
2840
2840
  updateBy: "_id",
2841
2841
  },
2842
+ {
2843
+ plural: "DockAppointments",
2844
+ singular: "DockAppointment",
2845
+ module: "warehouse",
2846
+ right: "warehouse.dockappointments",
2847
+ readOnly: false,
2848
+ importable: false,
2849
+ allowDuplicate: false,
2850
+ updateBy: "_id",
2851
+ },
2852
+ {
2853
+ plural: "Docks",
2854
+ singular: "Dock",
2855
+ module: "warehouse",
2856
+ right: "warehouse.docks",
2857
+ readOnly: false,
2858
+ importable: false,
2859
+ allowDuplicate: false,
2860
+ updateBy: "_id",
2861
+ },
2842
2862
  {
2843
2863
  plural: "Documents",
2844
2864
  singular: "Document",
@@ -3749,6 +3769,16 @@ const modelsAndRights = [
3749
3769
  allowDuplicate: true,
3750
3770
  updateBy: "_id",
3751
3771
  },
3772
+ {
3773
+ plural: "InventoryAdjustments",
3774
+ singular: "InventoryAdjustment",
3775
+ module: "warehouse",
3776
+ right: "warehouse.inventoryadjustments",
3777
+ readOnly: false,
3778
+ importable: false,
3779
+ allowDuplicate: false,
3780
+ updateBy: "_id",
3781
+ },
3752
3782
  {
3753
3783
  plural: "InventoryLists",
3754
3784
  singular: "InventoryList",
@@ -4733,6 +4763,16 @@ const modelsAndRights = [
4733
4763
  allowDuplicate: false,
4734
4764
  updateBy: "_id",
4735
4765
  },
4766
+ {
4767
+ plural: "PickWaves",
4768
+ singular: "PickWave",
4769
+ module: "warehouse",
4770
+ right: "warehouse.pickwaves",
4771
+ readOnly: false,
4772
+ importable: false,
4773
+ allowDuplicate: false,
4774
+ updateBy: "_id",
4775
+ },
4736
4776
  {
4737
4777
  plural: "PimSelections",
4738
4778
  singular: "PimSelection",
@@ -6203,6 +6243,16 @@ const modelsAndRights = [
6203
6243
  allowDuplicate: false,
6204
6244
  updateBy: "_id",
6205
6245
  },
6246
+ {
6247
+ plural: "TransportOrders",
6248
+ singular: "TransportOrder",
6249
+ module: "warehouse",
6250
+ right: "warehouse.transportorders",
6251
+ readOnly: false,
6252
+ importable: false,
6253
+ allowDuplicate: false,
6254
+ updateBy: "_id",
6255
+ },
6206
6256
  {
6207
6257
  plural: "Travels",
6208
6258
  singular: "Travel",
@@ -0,0 +1,37 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ /**
3
+ * Dock — physical loading/unloading bay at a warehouse.
4
+ *
5
+ * Used for receiving (inbound) and shipping (outbound) operations.
6
+ * Can be scheduled via IDockAppointment.
7
+ *
8
+ * Solves the gap that there is no formal dock management — currently trucks
9
+ * just arrive and warehouse workers improvise.
10
+ */
11
+ export interface IDock extends IDefaultFields {
12
+ _customerID: ObjectId;
13
+ _clientID?: ObjectId[];
14
+ _subID?: ObjectId[];
15
+ warehouse: ObjectId;
16
+ name: string;
17
+ code?: string;
18
+ type: "inbound" | "outbound" | "both";
19
+ status: "available" | "occupied" | "maintenance" | "blocked";
20
+ maxWeight?: number;
21
+ maxLength?: number;
22
+ maxHeight?: number;
23
+ maxWidth?: number;
24
+ hasLeveler?: boolean;
25
+ hasCanopy?: boolean;
26
+ hasRefrigeration?: boolean;
27
+ hasLiveLoad?: boolean;
28
+ currentAppointment?: ObjectId;
29
+ currentVehicle?: string;
30
+ occupiedSince?: Date;
31
+ coordinates?: {
32
+ x?: number;
33
+ y?: number;
34
+ };
35
+ note?: string;
36
+ active?: boolean;
37
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,41 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ /**
3
+ * Dock Appointment — scheduled time slot at a dock for a delivery or pickup.
4
+ *
5
+ * Drivers/carriers book a slot in advance; warehouse staff prepare goods
6
+ * accordingly. Reduces yard congestion and idle truck time.
7
+ *
8
+ * Lifecycle: scheduled → confirmed → arrived → loading → completed | no_show | cancelled
9
+ */
10
+ export interface IDockAppointment extends IDefaultFields {
11
+ _customerID: ObjectId;
12
+ _clientID?: ObjectId[];
13
+ _subID?: ObjectId[];
14
+ nbr?: string;
15
+ dock: ObjectId;
16
+ warehouse: ObjectId;
17
+ type: "receiving" | "shipping";
18
+ status: "scheduled" | "confirmed" | "arrived" | "loading" | "completed" | "no_show" | "cancelled";
19
+ scheduledStart: Date;
20
+ scheduledEnd: Date;
21
+ actualArrival?: Date;
22
+ actualStart?: Date;
23
+ actualEnd?: Date;
24
+ goodsReceipt?: ObjectId;
25
+ supplierOrder?: ObjectId;
26
+ shipping?: ObjectId;
27
+ transportOrder?: ObjectId;
28
+ carrier?: string;
29
+ driverName?: string;
30
+ driverPhone?: string;
31
+ vehicleLicense?: string;
32
+ vehicleType?: string;
33
+ trailerLicense?: string;
34
+ expectedWeight?: number;
35
+ expectedVolume?: number;
36
+ expectedPallets?: number;
37
+ assignedTo?: ObjectId;
38
+ notifiedAt?: Date;
39
+ confirmedAt?: Date;
40
+ note?: string;
41
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,54 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ /**
3
+ * Inventory Adjustment — standalone correction entity with reason and approval workflow.
4
+ *
5
+ * Solves the gap that stock corrections currently happen via free-form
6
+ * IStockLog `kindofmovement` strings without structured reasons, audit trail,
7
+ * or approval requirements.
8
+ *
9
+ * Reason types:
10
+ * - shrinkage: theft / loss / unexplained shortage
11
+ * - damage: physically damaged, unsellable
12
+ * - found: surplus discovered during cycle count
13
+ * - correction: data entry error
14
+ * - obsolescence: expired / discontinued
15
+ * - sample: removed for QC sampling
16
+ * - donation: gifted out
17
+ * - return_to_supplier: defective batch sent back
18
+ * - cycle_count: result of cycle count variance
19
+ */
20
+ export interface IInventoryAdjustment extends IDefaultFields {
21
+ _customerID: ObjectId;
22
+ _clientID?: ObjectId[];
23
+ _subID?: ObjectId[];
24
+ nbr?: string;
25
+ product: ObjectId;
26
+ productSKU?: string;
27
+ productTitle?: string;
28
+ warehouse: ObjectId;
29
+ storageArea?: ObjectId;
30
+ lot?: ObjectId;
31
+ serialNumbers?: string[];
32
+ qtyBefore: number;
33
+ qtyAfter: number;
34
+ qtyDelta: number;
35
+ unit?: string;
36
+ reason: "shrinkage" | "damage" | "found" | "correction" | "obsolescence" | "sample" | "donation" | "return_to_supplier" | "cycle_count" | "other";
37
+ reasonDescription?: string;
38
+ cycleCount?: ObjectId;
39
+ status: "draft" | "pending_approval" | "approved" | "applied" | "rejected" | "cancelled";
40
+ requiresApproval?: boolean;
41
+ submittedBy?: ObjectId;
42
+ submittedAt?: Date;
43
+ approvedBy?: ObjectId;
44
+ approvedAt?: Date;
45
+ rejectedBy?: ObjectId;
46
+ rejectedAt?: Date;
47
+ rejectedReason?: string;
48
+ appliedAt?: Date;
49
+ stockLogRef?: ObjectId;
50
+ valueImpact?: number;
51
+ costCenter?: ObjectId;
52
+ accountingNbr?: string;
53
+ note?: string;
54
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,40 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ /**
3
+ * Pick Wave — bundles multiple PickLists for efficient batch picking.
4
+ *
5
+ * Solves the gap that pickers currently process one PickList at a time —
6
+ * inefficient for warehouses with many small orders. A wave groups orders
7
+ * by zone / route / shipping cutoff so the picker walks the warehouse once.
8
+ *
9
+ * Lifecycle: planned → released (pickers can start) → in_progress → completed | cancelled
10
+ *
11
+ * Wave Strategies:
12
+ * - by_zone: group by warehouse zone (StorageArea cluster)
13
+ * - by_carrier: group by shipping carrier cutoff time
14
+ * - by_priority: group by deadline / priority score
15
+ * - by_product: group by same product (batch picking)
16
+ */
17
+ export interface IPickWave extends IDefaultFields {
18
+ _customerID: ObjectId;
19
+ _clientID?: ObjectId[];
20
+ _subID?: ObjectId[];
21
+ nbr?: string;
22
+ name?: string;
23
+ status: "planned" | "released" | "in_progress" | "completed" | "cancelled";
24
+ warehouse: ObjectId;
25
+ strategy?: "by_zone" | "by_carrier" | "by_priority" | "by_product" | "manual";
26
+ pickLists: ObjectId[];
27
+ assignedTo?: ObjectId[];
28
+ totalLines?: number;
29
+ pickedLines?: number;
30
+ progress?: number;
31
+ totalOrders?: number;
32
+ plannedStart?: Date;
33
+ plannedEnd?: Date;
34
+ releasedAt?: Date;
35
+ startedAt?: Date;
36
+ completedAt?: Date;
37
+ estimatedDuration?: number;
38
+ walkingDistance?: number;
39
+ note?: string;
40
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,60 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ /**
3
+ * Transport Order — staging entity that bundles one or more shipments
4
+ * for a single carrier pickup.
5
+ *
6
+ * Solves the gap that IShipping goes directly to a carrier with no
7
+ * intermediate stop for route optimization, multi-stop tours, or
8
+ * carrier handoff documentation (Bill of Lading equivalent).
9
+ *
10
+ * Lifecycle: planned → confirmed → ready → in_transit → delivered | cancelled
11
+ */
12
+ export interface ITransportOrder extends IDefaultFields {
13
+ _customerID: ObjectId;
14
+ _clientID?: ObjectId[];
15
+ _subID?: ObjectId[];
16
+ nbr?: string;
17
+ referenceNumber?: string;
18
+ bolNumber?: string;
19
+ status: "planned" | "confirmed" | "ready" | "in_transit" | "delivered" | "cancelled";
20
+ shippings: ObjectId[];
21
+ carrier?: string;
22
+ carrierAccount?: string;
23
+ serviceLevel?: string;
24
+ plannedPickup?: Date;
25
+ actualPickup?: Date;
26
+ plannedDelivery?: Date;
27
+ estimatedDelivery?: Date;
28
+ actualDelivery?: Date;
29
+ tourNumber?: string;
30
+ stopSequence?: number;
31
+ totalStops?: number;
32
+ pickupDock?: ObjectId;
33
+ pickupAppointment?: ObjectId;
34
+ deliveryAddress?: {
35
+ company?: string;
36
+ street?: string;
37
+ zip?: string;
38
+ city?: string;
39
+ country?: string;
40
+ };
41
+ driverName?: string;
42
+ driverPhone?: string;
43
+ vehicleLicense?: string;
44
+ trailerLicense?: string;
45
+ totalWeight?: number;
46
+ totalVolume?: number;
47
+ totalPackages?: number;
48
+ totalPallets?: number;
49
+ trackingNumber?: string;
50
+ trackingUrl?: string;
51
+ bolUrl?: string;
52
+ cmrUrl?: string;
53
+ sealNumbers?: string[];
54
+ transportCost?: number;
55
+ fuelSurcharge?: number;
56
+ accessoryCharges?: number;
57
+ totalCost?: number;
58
+ currency?: string;
59
+ note?: string;
60
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -270,6 +270,8 @@ export * from "./IDesktopClient";
270
270
  export * from "./IDesktopNotification";
271
271
  export * from "./IDiscountGroup";
272
272
  export * from "./IDMCampaign";
273
+ export * from "./IDock";
274
+ export * from "./IDockAppointment";
273
275
  export * from "./IDocument";
274
276
  export * from "./IDoi";
275
277
  export * from "./IDoiLog";
@@ -373,6 +375,7 @@ export * from "./IIntermediary";
373
375
  export * from "./IInternalChatMessage";
374
376
  export * from "./IInternalForm";
375
377
  export * from "./IInternalOrder";
378
+ export * from "./IInventoryAdjustment";
376
379
  export * from "./IInventoryList";
377
380
  export * from "./IInvoice";
378
381
  export * from "./IIoTDevice";
@@ -480,6 +483,7 @@ export * from "./IPaymentGroup";
480
483
  export * from "./IPaymentProvider";
481
484
  export * from "./IPermissionRequest";
482
485
  export * from "./IPickList";
486
+ export * from "./IPickWave";
483
487
  export * from "./IPimSelection";
484
488
  export * from "./IPipeline";
485
489
  export * from "./IPoints";
@@ -650,6 +654,7 @@ export * from "./ITip";
650
654
  export * from "./ITitle";
651
655
  export * from "./ITrade";
652
656
  export * from "./ITransaction";
657
+ export * from "./ITransportOrder";
653
658
  export * from "./ITravel";
654
659
  export * from "./ITrigger";
655
660
  export * from "./ITriggerAction";
@@ -286,6 +286,8 @@ __exportStar(require("./IDesktopClient"), exports);
286
286
  __exportStar(require("./IDesktopNotification"), exports);
287
287
  __exportStar(require("./IDiscountGroup"), exports);
288
288
  __exportStar(require("./IDMCampaign"), exports);
289
+ __exportStar(require("./IDock"), exports);
290
+ __exportStar(require("./IDockAppointment"), exports);
289
291
  __exportStar(require("./IDocument"), exports);
290
292
  __exportStar(require("./IDoi"), exports);
291
293
  __exportStar(require("./IDoiLog"), exports);
@@ -389,6 +391,7 @@ __exportStar(require("./IIntermediary"), exports);
389
391
  __exportStar(require("./IInternalChatMessage"), exports);
390
392
  __exportStar(require("./IInternalForm"), exports);
391
393
  __exportStar(require("./IInternalOrder"), exports);
394
+ __exportStar(require("./IInventoryAdjustment"), exports);
392
395
  __exportStar(require("./IInventoryList"), exports);
393
396
  __exportStar(require("./IInvoice"), exports);
394
397
  __exportStar(require("./IIoTDevice"), exports);
@@ -496,6 +499,7 @@ __exportStar(require("./IPaymentGroup"), exports);
496
499
  __exportStar(require("./IPaymentProvider"), exports);
497
500
  __exportStar(require("./IPermissionRequest"), exports);
498
501
  __exportStar(require("./IPickList"), exports);
502
+ __exportStar(require("./IPickWave"), exports);
499
503
  __exportStar(require("./IPimSelection"), exports);
500
504
  __exportStar(require("./IPipeline"), exports);
501
505
  __exportStar(require("./IPoints"), exports);
@@ -666,6 +670,7 @@ __exportStar(require("./ITip"), exports);
666
670
  __exportStar(require("./ITitle"), exports);
667
671
  __exportStar(require("./ITrade"), exports);
668
672
  __exportStar(require("./ITransaction"), exports);
673
+ __exportStar(require("./ITransportOrder"), exports);
669
674
  __exportStar(require("./ITravel"), exports);
670
675
  __exportStar(require("./ITrigger"), exports);
671
676
  __exportStar(require("./ITriggerAction"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolinax/ayoune-interfaces",
3
- "version": "2026.28.0",
3
+ "version": "2026.29.0",
4
4
  "description": "Houses TypeScript interfaces for aYOUne",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",