@tolinax/ayoune-interfaces 2026.27.0 → 2026.28.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.
@@ -136,6 +136,7 @@ export declare enum aMN {
136
136
  aYOUneUsers = "aYOUneUsers",
137
137
  aYOUneVariables = "aYOUneVariables",
138
138
  aYOUneWidgets = "aYOUneWidgets",
139
+ Backorders = "Backorders",
139
140
  BankAccounts = "BankAccounts",
140
141
  BankTurnovers = "BankTurnovers",
141
142
  Beacons = "Beacons",
@@ -444,6 +445,7 @@ export declare enum aMN {
444
445
  OwnDatas = "OwnDatas",
445
446
  OwnDataTemplates = "OwnDataTemplates",
446
447
  OwnValues = "OwnValues",
448
+ PackConfirmations = "PackConfirmations",
447
449
  PackLists = "PackLists",
448
450
  PageStats = "PageStats",
449
451
  PATs = "PATs",
@@ -515,12 +517,14 @@ export declare enum aMN {
515
517
  Reminders = "Reminders",
516
518
  References = "References",
517
519
  CustomerLogos = "CustomerLogos",
520
+ ReplenishmentOrders = "ReplenishmentOrders",
518
521
  Reports = "Reports",
519
522
  ReportTemplates = "ReportTemplates",
520
523
  Repositories = "Repositories",
521
524
  Requirements = "Requirements",
522
525
  ResearchBudgets = "ResearchBudgets",
523
526
  Retrospectives = "Retrospectives",
527
+ ReturnOrders = "ReturnOrders",
524
528
  RewardLogs = "RewardLogs",
525
529
  RewardRules = "RewardRules",
526
530
  RunningPipelines = "RunningPipelines",
@@ -140,6 +140,7 @@ var aMN;
140
140
  aMN["aYOUneUsers"] = "aYOUneUsers";
141
141
  aMN["aYOUneVariables"] = "aYOUneVariables";
142
142
  aMN["aYOUneWidgets"] = "aYOUneWidgets";
143
+ aMN["Backorders"] = "Backorders";
143
144
  aMN["BankAccounts"] = "BankAccounts";
144
145
  aMN["BankTurnovers"] = "BankTurnovers";
145
146
  aMN["Beacons"] = "Beacons";
@@ -448,6 +449,7 @@ var aMN;
448
449
  aMN["OwnDatas"] = "OwnDatas";
449
450
  aMN["OwnDataTemplates"] = "OwnDataTemplates";
450
451
  aMN["OwnValues"] = "OwnValues";
452
+ aMN["PackConfirmations"] = "PackConfirmations";
451
453
  aMN["PackLists"] = "PackLists";
452
454
  aMN["PageStats"] = "PageStats";
453
455
  aMN["PATs"] = "PATs";
@@ -519,12 +521,14 @@ var aMN;
519
521
  aMN["Reminders"] = "Reminders";
520
522
  aMN["References"] = "References";
521
523
  aMN["CustomerLogos"] = "CustomerLogos";
524
+ aMN["ReplenishmentOrders"] = "ReplenishmentOrders";
522
525
  aMN["Reports"] = "Reports";
523
526
  aMN["ReportTemplates"] = "ReportTemplates";
524
527
  aMN["Repositories"] = "Repositories";
525
528
  aMN["Requirements"] = "Requirements";
526
529
  aMN["ResearchBudgets"] = "ResearchBudgets";
527
530
  aMN["Retrospectives"] = "Retrospectives";
531
+ aMN["ReturnOrders"] = "ReturnOrders";
528
532
  aMN["RewardLogs"] = "RewardLogs";
529
533
  aMN["RewardRules"] = "RewardRules";
530
534
  aMN["RunningPipelines"] = "RunningPipelines";
@@ -1691,6 +1691,16 @@ const modelsAndRights = [
1691
1691
  searchable: true,
1692
1692
  searchableFields: ['name', 'description'],
1693
1693
  },
1694
+ {
1695
+ plural: "Backorders",
1696
+ singular: "Backorder",
1697
+ module: "warehouse",
1698
+ right: "warehouse.backorders",
1699
+ readOnly: false,
1700
+ importable: false,
1701
+ allowDuplicate: false,
1702
+ updateBy: "_id",
1703
+ },
1694
1704
  {
1695
1705
  plural: "BankAccounts",
1696
1706
  singular: "BankAccount",
@@ -4653,6 +4663,16 @@ const modelsAndRights = [
4653
4663
  allowDuplicate: false,
4654
4664
  updateBy: "_id",
4655
4665
  },
4666
+ {
4667
+ plural: "PackConfirmations",
4668
+ singular: "PackConfirmation",
4669
+ module: "warehouse",
4670
+ right: "warehouse.packconfirmations",
4671
+ readOnly: false,
4672
+ importable: false,
4673
+ allowDuplicate: false,
4674
+ updateBy: "_id",
4675
+ },
4656
4676
  {
4657
4677
  plural: "PackLists",
4658
4678
  singular: "PackList",
@@ -5331,6 +5351,16 @@ const modelsAndRights = [
5331
5351
  allowDuplicate: false,
5332
5352
  updateBy: "_id",
5333
5353
  },
5354
+ {
5355
+ plural: "ReplenishmentOrders",
5356
+ singular: "ReplenishmentOrder",
5357
+ module: "warehouse",
5358
+ right: "warehouse.replenishmentorders",
5359
+ readOnly: false,
5360
+ importable: false,
5361
+ allowDuplicate: false,
5362
+ updateBy: "_id",
5363
+ },
5334
5364
  {
5335
5365
  plural: "Reports",
5336
5366
  singular: "Report",
@@ -5393,6 +5423,16 @@ const modelsAndRights = [
5393
5423
  allowDuplicate: false,
5394
5424
  updateBy: "_id",
5395
5425
  },
5426
+ {
5427
+ plural: "ReturnOrders",
5428
+ singular: "ReturnOrder",
5429
+ module: "warehouse",
5430
+ right: "warehouse.returnorders",
5431
+ readOnly: false,
5432
+ importable: false,
5433
+ allowDuplicate: false,
5434
+ updateBy: "_id",
5435
+ },
5396
5436
  {
5397
5437
  plural: "RewardLogs",
5398
5438
  singular: "RewardLog",
@@ -0,0 +1,35 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ /**
3
+ * Backorder — tracks unfilled portion of a sales order when stock is short.
4
+ *
5
+ * Solves the gap that IAssignment only has `overSupply`/`underSupply` boolean flags
6
+ * with no quantitative tracking and no auto-fulfillment when stock arrives.
7
+ *
8
+ * Lifecycle: open → partial → fulfilled | cancelled
9
+ */
10
+ export interface IBackorder extends IDefaultFields {
11
+ _customerID: ObjectId;
12
+ _clientID?: ObjectId[];
13
+ _subID?: ObjectId[];
14
+ nbr?: string;
15
+ assignment: ObjectId;
16
+ assignmentPosition?: number;
17
+ product: ObjectId;
18
+ productSKU?: string;
19
+ productTitle?: string;
20
+ unit?: string;
21
+ qtyOrdered: number;
22
+ qtyShipped: number;
23
+ qtyOpen: number;
24
+ expectedDate?: Date;
25
+ promisedDate?: Date;
26
+ priority: number;
27
+ autoFulfill: boolean;
28
+ status: "open" | "partial" | "fulfilled" | "cancelled";
29
+ fulfillmentReservations?: ObjectId[];
30
+ fulfilledShippings?: ObjectId[];
31
+ fulfilledAt?: Date;
32
+ cancelledAt?: Date;
33
+ cancelReason?: string;
34
+ note?: string;
35
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,64 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ /**
3
+ * Single product entry inside a packed box.
4
+ */
5
+ export interface IPackedItem {
6
+ product: ObjectId;
7
+ productSKU?: string;
8
+ productTitle?: string;
9
+ qty: number;
10
+ unit?: string;
11
+ lot?: ObjectId;
12
+ lotNumber?: string;
13
+ serialNumbers?: string[];
14
+ }
15
+ /**
16
+ * One physical box that was packed during a pack confirmation.
17
+ */
18
+ export interface IPackedBox {
19
+ pos: number;
20
+ shippingBox?: ObjectId;
21
+ boxLabel?: string;
22
+ contents: IPackedItem[];
23
+ actualNetWeight?: number;
24
+ actualGrossWeight?: number;
25
+ actualLength?: number;
26
+ actualWidth?: number;
27
+ actualHeight?: number;
28
+ actualVolume?: number;
29
+ trackingNumber?: string;
30
+ carrierLabel?: string;
31
+ sealed?: boolean;
32
+ sealedAt?: Date;
33
+ }
34
+ /**
35
+ * Pack Confirmation — captures the actual outcome of a packing operation.
36
+ *
37
+ * Solves the gap that IPackList tracks what SHOULD be packed but never the actual
38
+ * boxes filled. Without this, "soll vs. ist" comparison and tracking-number capture
39
+ * are not possible.
40
+ *
41
+ * One-to-one with PackList (or PickList for direct pick-and-pack flows).
42
+ */
43
+ export interface IPackConfirmation extends IDefaultFields {
44
+ _customerID: ObjectId;
45
+ _clientID?: ObjectId[];
46
+ _subID?: ObjectId[];
47
+ nbr?: string;
48
+ status: "in_progress" | "completed" | "cancelled";
49
+ packList?: ObjectId;
50
+ pickList?: ObjectId;
51
+ shipping?: ObjectId;
52
+ assignment?: ObjectId;
53
+ productionOrder?: ObjectId;
54
+ warehouse?: ObjectId;
55
+ packedBy?: ObjectId;
56
+ startedAt?: Date;
57
+ packedAt?: Date;
58
+ boxes: IPackedBox[];
59
+ totalBoxes?: number;
60
+ totalItems?: number;
61
+ totalWeight?: number;
62
+ totalVolume?: number;
63
+ note?: string;
64
+ }
@@ -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
+ * Replenishment Position — single line in a replenishment order.
4
+ */
5
+ export interface IReplenishmentPosition {
6
+ pos: number;
7
+ product: ObjectId;
8
+ productSKU?: string;
9
+ productTitle?: string;
10
+ sourceArea: ObjectId;
11
+ targetArea: ObjectId;
12
+ qtyRequested: number;
13
+ qtyMoved: number;
14
+ unit?: string;
15
+ lot?: ObjectId;
16
+ status: "pending" | "in_progress" | "moved" | "skipped";
17
+ movedAt?: Date;
18
+ movedBy?: ObjectId;
19
+ skipReason?: string;
20
+ note?: string;
21
+ }
22
+ /**
23
+ * Replenishment Order — moves stock from bulk storage to pick faces.
24
+ *
25
+ * Solves the gap that there is no mechanism to refill pick locations from
26
+ * reserve/bulk storage when min levels are reached. Critical for multi-tier
27
+ * warehouses with fast-moving items.
28
+ *
29
+ * Triggers:
30
+ * - min_level: storage area dropped below configured min qty
31
+ * - manual: warehouse worker requested
32
+ * - forecast: predictive based on demand patterns
33
+ * - wave: triggered by upcoming pick wave
34
+ */
35
+ export interface IReplenishmentOrder extends IDefaultFields {
36
+ _customerID: ObjectId;
37
+ _clientID?: ObjectId[];
38
+ _subID?: ObjectId[];
39
+ nbr?: string;
40
+ warehouse: ObjectId;
41
+ trigger: "min_level" | "manual" | "forecast" | "wave";
42
+ status: "pending" | "in_progress" | "completed" | "cancelled";
43
+ priority: number;
44
+ assignedTo?: ObjectId;
45
+ pickWave?: ObjectId;
46
+ positions: IReplenishmentPosition[];
47
+ totalLines?: number;
48
+ movedLines?: number;
49
+ progress?: number;
50
+ triggeredAt?: Date;
51
+ startedAt?: Date;
52
+ completedAt?: Date;
53
+ note?: string;
54
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,68 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ /**
3
+ * Return Order Position — single line in an RMA.
4
+ */
5
+ export interface IReturnPosition {
6
+ pos: number;
7
+ product: ObjectId;
8
+ productSKU?: string;
9
+ productTitle?: string;
10
+ unit?: string;
11
+ originalInvoicePosition?: number;
12
+ originalShippingPosition?: number;
13
+ qtyReturned: number;
14
+ qtyReceived: number;
15
+ qtyRestockable: number;
16
+ qtyRepairable: number;
17
+ qtyDisposed: number;
18
+ qtyReturnedToSupplier: number;
19
+ conditionOnReceipt?: "new" | "used" | "damaged" | "unsellable";
20
+ inspectionResult?: "restock" | "repair" | "dispose" | "return_to_supplier";
21
+ inspectionNote?: string;
22
+ targetStorageArea?: ObjectId;
23
+ targetWarehouse?: ObjectId;
24
+ creditNote?: ObjectId;
25
+ replacementShipping?: ObjectId;
26
+ status: "pending" | "received" | "inspected" | "restocked" | "disposed" | "rejected";
27
+ }
28
+ /**
29
+ * Return Order (RMA) — formal returns workflow.
30
+ *
31
+ * Solves the gap that the platform only has a `retour: boolean` flag on IStorageArea
32
+ * and no formal return process linking original orders to refunds/replacements.
33
+ *
34
+ * Lifecycle: requested → approved → received → inspected → completed | rejected
35
+ */
36
+ export interface IReturnOrder extends IDefaultFields {
37
+ _customerID: ObjectId;
38
+ _clientID?: ObjectId[];
39
+ _subID?: ObjectId[];
40
+ rmaNumber: string;
41
+ consumer?: ObjectId;
42
+ user?: ObjectId;
43
+ status: "requested" | "approved" | "received" | "inspected" | "completed" | "rejected";
44
+ originalInvoice?: ObjectId;
45
+ originalShipping?: ObjectId;
46
+ originalAssignment?: ObjectId;
47
+ customerReason: string;
48
+ customerNote?: string;
49
+ approvedBy?: ObjectId;
50
+ approvedAt?: Date;
51
+ rejectedReason?: string;
52
+ rejectedAt?: Date;
53
+ receivedAt?: Date;
54
+ receivedBy?: ObjectId;
55
+ receivedAtWarehouse?: ObjectId;
56
+ inspectedAt?: Date;
57
+ inspectedBy?: ObjectId;
58
+ completedAt?: Date;
59
+ resolutionType?: "refund" | "replacement" | "repair" | "store_credit" | "reject";
60
+ creditNote?: ObjectId;
61
+ replacementShipping?: ObjectId;
62
+ refundAmount?: number;
63
+ positions: IReturnPosition[];
64
+ totalLines?: number;
65
+ inspectedLines?: number;
66
+ progress?: number;
67
+ note?: string;
68
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -143,6 +143,7 @@ export * from "./IaYOUneUserAgent";
143
143
  export * from "./IaYOUneUserRight";
144
144
  export * from "./IaYOUneVariable";
145
145
  export * from "./IaYOUneWidget";
146
+ export * from "./IBackorder";
146
147
  export * from "./IBankAccount";
147
148
  export * from "./IBankTurnover";
148
149
  export * from "./IBeacon";
@@ -471,6 +472,7 @@ export * from "./IOverride";
471
472
  export * from "./IOwnData";
472
473
  export * from "./IOwnDataTemplate";
473
474
  export * from "./IOwnValue";
475
+ export * from "./IPackConfirmation";
474
476
  export * from "./IPackList";
475
477
  export * from "./IPageStat";
476
478
  export * from "./IPAT";
@@ -546,6 +548,7 @@ export * from "./IReaction";
546
548
  export * from "./IRecommendation";
547
549
  export * from "./IRecommendationTemplate";
548
550
  export * from "./IReminder";
551
+ export * from "./IReplenishmentOrder";
549
552
  export * from "./IReport";
550
553
  export * from "./IReportTemplate";
551
554
  export * from "./IRepository";
@@ -553,6 +556,7 @@ export * from "./IRequirement";
553
556
  export * from "./IRequirementSchema";
554
557
  export * from "./IResearchBudget";
555
558
  export * from "./IRetrospective";
559
+ export * from "./IReturnOrder";
556
560
  export * from "./IRewardLog";
557
561
  export * from "./IRewardRule";
558
562
  export * from "./IRolloutEnvironment";
@@ -159,6 +159,7 @@ __exportStar(require("./IaYOUneUserAgent"), exports);
159
159
  __exportStar(require("./IaYOUneUserRight"), exports);
160
160
  __exportStar(require("./IaYOUneVariable"), exports);
161
161
  __exportStar(require("./IaYOUneWidget"), exports);
162
+ __exportStar(require("./IBackorder"), exports);
162
163
  __exportStar(require("./IBankAccount"), exports);
163
164
  __exportStar(require("./IBankTurnover"), exports);
164
165
  __exportStar(require("./IBeacon"), exports);
@@ -487,6 +488,7 @@ __exportStar(require("./IOverride"), exports);
487
488
  __exportStar(require("./IOwnData"), exports);
488
489
  __exportStar(require("./IOwnDataTemplate"), exports);
489
490
  __exportStar(require("./IOwnValue"), exports);
491
+ __exportStar(require("./IPackConfirmation"), exports);
490
492
  __exportStar(require("./IPackList"), exports);
491
493
  __exportStar(require("./IPageStat"), exports);
492
494
  __exportStar(require("./IPAT"), exports);
@@ -562,6 +564,7 @@ __exportStar(require("./IReaction"), exports);
562
564
  __exportStar(require("./IRecommendation"), exports);
563
565
  __exportStar(require("./IRecommendationTemplate"), exports);
564
566
  __exportStar(require("./IReminder"), exports);
567
+ __exportStar(require("./IReplenishmentOrder"), exports);
565
568
  __exportStar(require("./IReport"), exports);
566
569
  __exportStar(require("./IReportTemplate"), exports);
567
570
  __exportStar(require("./IRepository"), exports);
@@ -569,6 +572,7 @@ __exportStar(require("./IRequirement"), exports);
569
572
  __exportStar(require("./IRequirementSchema"), exports);
570
573
  __exportStar(require("./IResearchBudget"), exports);
571
574
  __exportStar(require("./IRetrospective"), exports);
575
+ __exportStar(require("./IReturnOrder"), exports);
572
576
  __exportStar(require("./IRewardLog"), exports);
573
577
  __exportStar(require("./IRewardRule"), exports);
574
578
  __exportStar(require("./IRolloutEnvironment"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolinax/ayoune-interfaces",
3
- "version": "2026.27.0",
3
+ "version": "2026.28.0",
4
4
  "description": "Houses TypeScript interfaces for aYOUne",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",