@d19n/youfibre-odin-sdk 2.0.263 → 2.0.265

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.
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ /**
3
+ * CreateReplacementAmcoWorkOrderFromOrder Action DTO
4
+ *
5
+ * Order-side flow wrapper for CreateReplacementAmcoWorkOrder.
6
+ *
7
+ * @module OrderModule
8
+ * @entity Order
9
+ * @actionKey CreateReplacementAmcoWorkOrderFromOrder
10
+ * @event k1.t-hEOJjsDb.OrderModule.Order.Flow.CreateReplacementAmcoWorkOrderFromOrder
11
+ *
12
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CreateReplacementAmcoWorkOrderFromOrderDto = exports.CreateReplacementAmcoWorkOrderFromOrderSteps = exports.CreateReplacementAmcoWorkOrderDto = void 0;
16
+ const core_1 = require("@d19n/odin-types/dist/core");
17
+ /**
18
+ * Create 3PL Replacement
19
+ *
20
+ * Creates a REPLACEMENT_AMCO work order (dispatch + returns bag in one AMCO order).
21
+ *
22
+ * @actionType CREATE - Creates a new WorkOrder record
23
+ * @module FieldServiceModule
24
+ * @entity WorkOrder
25
+ * @entityType REPLACEMENT_AMCO (Amco Replacement)
26
+ * @event k1.t-hEOJjsDb.FieldServiceModule.WorkOrder.Create.CreateReplacementAmcoWorkOrder
27
+ * @permission schema.action.createreplacementamcoworkorder.trigger
28
+ * @benchmark This action is tracked for performance benchmarks
29
+ */
30
+ class CreateReplacementAmcoWorkOrderDto extends core_1.OdinRecordCreateDto {
31
+ constructor(properties, options) {
32
+ super({
33
+ entity: 'FieldServiceModule:WorkOrder',
34
+ type: 'REPLACEMENT_AMCO',
35
+ properties,
36
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
37
+ });
38
+ this.actionName = 'CreateReplacementAmcoWorkOrder';
39
+ this.schemaActionId = 'f87f3996-c248-4967-8da1-22e56974ae92';
40
+ this.entity = 'FieldServiceModule:WorkOrder';
41
+ }
42
+ }
43
+ exports.CreateReplacementAmcoWorkOrderDto = CreateReplacementAmcoWorkOrderDto;
44
+ /** Used by SDK generators to identify action type */
45
+ CreateReplacementAmcoWorkOrderDto.ACTION_TYPE = 'CREATE';
46
+ CreateReplacementAmcoWorkOrderDto.ACTION_KEY = 'CreateReplacementAmcoWorkOrder';
47
+ CreateReplacementAmcoWorkOrderDto.MODULE_NAME = 'FieldServiceModule';
48
+ CreateReplacementAmcoWorkOrderDto.ENTITIES = ['WorkOrder'];
49
+ CreateReplacementAmcoWorkOrderDto.ENTITY_TYPE = 'REPLACEMENT_AMCO';
50
+ CreateReplacementAmcoWorkOrderDto.EVENT_NAME = 'k1.t-hEOJjsDb.FieldServiceModule.WorkOrder.Create.CreateReplacementAmcoWorkOrder';
51
+ CreateReplacementAmcoWorkOrderDto.PERMISSION = 'schema.action.createreplacementamcoworkorder.trigger';
52
+ /** Step metadata - entity this action targets */
53
+ CreateReplacementAmcoWorkOrderDto.STEP_ENTITY = 'FieldServiceModule:WorkOrder';
54
+ CreateReplacementAmcoWorkOrderDto.STEP_SCHEMA_ID = '966bf5d9-163e-4132-85e2-56a5f801c9de';
55
+ CreateReplacementAmcoWorkOrderDto.STEP_SCHEMA_ACTION_ID = 'f87f3996-c248-4967-8da1-22e56974ae92';
56
+ CreateReplacementAmcoWorkOrderDto.STEP_SCHEMA_TYPE_ID = '96ed201c-9f91-41e1-b451-1ebba7c96e39';
57
+ CreateReplacementAmcoWorkOrderDto.STEP_TYPE = 'REPLACEMENT_AMCO';
58
+ CreateReplacementAmcoWorkOrderDto.AUTO_LINK_PARENT = true;
59
+ /**
60
+ * Type-safe step keys for CreateReplacementAmcoWorkOrderFromOrder
61
+ */
62
+ exports.CreateReplacementAmcoWorkOrderFromOrderSteps = {
63
+ step_1: 'step_1',
64
+ };
65
+ /**
66
+ * Create 3PL Replacement (from Order)
67
+ *
68
+ * Order-side flow wrapper for CreateReplacementAmcoWorkOrder.
69
+ *
70
+ * @actionType MULTI_STEP_FLOW - Multi-step workflow action
71
+ * @module OrderModule
72
+ * @entity Order
73
+ * @event k1.t-hEOJjsDb.OrderModule.Order.Flow.CreateReplacementAmcoWorkOrderFromOrder
74
+ * @permission schema.action.createreplacementamcoworkorderfromorder.trigger
75
+ * @benchmark This action is tracked for performance benchmarks
76
+ */
77
+ class CreateReplacementAmcoWorkOrderFromOrderDto extends core_1.OdinRecordUpdateDto {
78
+ constructor(record, options) {
79
+ super({
80
+ id: record.id,
81
+ entity: record.entity,
82
+ type: record.type,
83
+ properties: {},
84
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
85
+ });
86
+ this.actionName = 'CreateReplacementAmcoWorkOrderFromOrder';
87
+ this.schemaActionId = '0d8690c6-fe18-4ef7-9e2f-d818d0444c17';
88
+ this.entity = 'OrderModule:Order';
89
+ }
90
+ }
91
+ exports.CreateReplacementAmcoWorkOrderFromOrderDto = CreateReplacementAmcoWorkOrderFromOrderDto;
92
+ /** Used by SDK generators to identify action type */
93
+ CreateReplacementAmcoWorkOrderFromOrderDto.ACTION_TYPE = 'UPDATE';
94
+ CreateReplacementAmcoWorkOrderFromOrderDto.ACTION_KEY = 'CreateReplacementAmcoWorkOrderFromOrder';
95
+ CreateReplacementAmcoWorkOrderFromOrderDto.MODULE_NAME = 'OrderModule';
96
+ CreateReplacementAmcoWorkOrderFromOrderDto.ENTITIES = ['Order'];
97
+ CreateReplacementAmcoWorkOrderFromOrderDto.EVENT_NAME = 'k1.t-hEOJjsDb.OrderModule.Order.Flow.CreateReplacementAmcoWorkOrderFromOrder';
98
+ CreateReplacementAmcoWorkOrderFromOrderDto.SCHEMA_ACTION_ID = '0d8690c6-fe18-4ef7-9e2f-d818d0444c17';
99
+ CreateReplacementAmcoWorkOrderFromOrderDto.PERMISSION = 'schema.action.createreplacementamcoworkorderfromorder.trigger';
100
+ CreateReplacementAmcoWorkOrderFromOrderDto.IS_STAGE_TRANSITION = false;
101
+ CreateReplacementAmcoWorkOrderFromOrderDto.IS_MULTI_STEP_FLOW = true;
102
+ CreateReplacementAmcoWorkOrderFromOrderDto.HAS_STEP_LINKS = false;
103
+ /**
104
+ * Step definitions with linking metadata
105
+ * Used by SDK and backend for auto-linking after step execution
106
+ */
107
+ CreateReplacementAmcoWorkOrderFromOrderDto.stepDefinitions = [
108
+ {
109
+ stepKey: 'step_1',
110
+ dtoClass: 'CreateReplacementAmcoWorkOrderDto',
111
+ entity: 'FieldServiceModule:WorkOrder',
112
+ linksTo: null
113
+ }
114
+ ];
115
+ /** Type-safe step key accessor */
116
+ CreateReplacementAmcoWorkOrderFromOrderDto.Steps = exports.CreateReplacementAmcoWorkOrderFromOrderSteps;
117
+ /** Step classes that can be used with this action */
118
+ CreateReplacementAmcoWorkOrderFromOrderDto.stepClasses = ['CreateReplacementAmcoWorkOrderDto'];
@@ -23,7 +23,9 @@ export declare enum FieldServiceProductEntityTypes {
23
23
  /** Mesh */
24
24
  MESH = "MESH",
25
25
  /** MISC */
26
- MISC = "MISC"
26
+ MISC = "MISC",
27
+ /** Return Bag */
28
+ RETURNS_BAG = "RETURNS_BAG"
27
29
  }
28
30
  /**
29
31
  * Valid values for FieldServiceProduct.DefaultShippingMethod
@@ -344,6 +346,67 @@ export interface MiscFieldServiceProductProperties {
344
346
  */
345
347
  Providers: string;
346
348
  }
349
+ /**
350
+ * Properties for RETURNS_BAG FieldServiceProduct records
351
+ *
352
+ * @see FieldServiceModule:FieldServiceProduct
353
+ */
354
+ export interface ReturnsBagFieldServiceProductProperties {
355
+ /** The inventory Id of the product (Field Operations - FieldServiceProduct)
356
+ *
357
+ * @type {ALPHA_NUMERICAL}
358
+ */
359
+ InventoryId: string;
360
+ /** Default Shipping Method fpr the product (Field Operations - FieldServiceProduct)
361
+ *
362
+ * @type {ENUM}
363
+ * @default RM_48_NON_TRACKED
364
+ * @enum {FieldServiceProductDefaultShippingMethod}
365
+ */
366
+ DefaultShippingMethod: FieldServiceProductDefaultShippingMethod;
367
+ /** Name of the Product (Field Operations - FieldServiceProduct)
368
+ *
369
+ * @type {TEXT}
370
+ */
371
+ Name: string;
372
+ /** Vendor of the product (Field Operations - FieldServiceProduct)
373
+ *
374
+ * @type {ENUM}
375
+ * @enum {FieldServiceProductVendor}
376
+ */
377
+ Vendor: FieldServiceProductVendor;
378
+ /** Data field for FieldServiceProduct records. Used by Field Operations team.
379
+ *
380
+ * @type {BOOLEAN}
381
+ */
382
+ Active: boolean;
383
+ /** AvailableOnAllBroadbandProducts
384
+ *
385
+ * @type {BOOLEAN}
386
+ */
387
+ AvailableOnAllBroadbandProducts: boolean;
388
+ /** AvailableOnAllMeshProducts
389
+ *
390
+ * @type {BOOLEAN}
391
+ */
392
+ AvailableOnAllMeshProducts: boolean;
393
+ /** AvailableOnAllPhoneProducts
394
+ *
395
+ * @type {BOOLEAN}
396
+ */
397
+ AvailableOnAllPhoneProducts: boolean;
398
+ /** Customer Device Type (non router or mesh type used to create customer device links)
399
+ *
400
+ * @type {ENUM}
401
+ * @enum {FieldServiceProductCustomerDeviceType}
402
+ */
403
+ CustomerDeviceType: FieldServiceProductCustomerDeviceType;
404
+ /** Providers
405
+ *
406
+ * @type {ENUM_MULTI_SELECT}
407
+ */
408
+ Providers: string;
409
+ }
347
410
  /**
348
411
  * FieldServiceProduct entity from FieldServiceModule
349
412
  *
@@ -395,6 +458,12 @@ export declare const ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_CREATED = "FieldServ
395
458
  export declare const ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_UPDATED = "FieldServiceModule.FieldServiceProduct.MISC.SubDbRecordUpdated";
396
459
  /** MISC deleted */
397
460
  export declare const ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_DELETED = "FieldServiceModule.FieldServiceProduct.MISC.SubDbRecordDeleted";
461
+ /** Return Bag created */
462
+ export declare const ROUTING_KEY_FIELD_SERVICE_PRODUCT_RETURNS_BAG_CREATED = "FieldServiceModule.FieldServiceProduct.RETURNS_BAG.SubDbRecordCreated";
463
+ /** Return Bag updated */
464
+ export declare const ROUTING_KEY_FIELD_SERVICE_PRODUCT_RETURNS_BAG_UPDATED = "FieldServiceModule.FieldServiceProduct.RETURNS_BAG.SubDbRecordUpdated";
465
+ /** Return Bag deleted */
466
+ export declare const ROUTING_KEY_FIELD_SERVICE_PRODUCT_RETURNS_BAG_DELETED = "FieldServiceModule.FieldServiceProduct.RETURNS_BAG.SubDbRecordDeleted";
398
467
  /** Event: FieldServiceProduct__CompatibleProducts link created */
399
468
  export declare const ROUTING_KEY_LINK_FIELD_SERVICE_PRODUCT_COMPATIBLE_PRODUCTS_CREATED = "FieldServiceModule.FieldServiceProduct.Product.SubDbRecordAssociationCreated";
400
469
  /** Event: FieldServiceProduct__CompatibleProducts link deleted */
@@ -12,7 +12,7 @@
12
12
  * Generated from Odin schema definition
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ROUTING_KEY_LINK_FIELD_SERVICE_PRODUCT_COMPATIBLE_PRODUCTS_DELETED = exports.ROUTING_KEY_LINK_FIELD_SERVICE_PRODUCT_COMPATIBLE_PRODUCTS_CREATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_DELETED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_UPDATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_CREATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MESH_DELETED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MESH_UPDATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MESH_CREATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_CPE_ROUTER_DELETED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_CPE_ROUTER_UPDATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_CPE_ROUTER_CREATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_DELETED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_UPDATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_CREATED = exports.FieldServiceProduct = exports.FieldServiceProductPropertyKeys = exports.FieldServiceProductCustomerDeviceType = exports.FieldServiceProductVendor = exports.FieldServiceProductDefaultShippingMethod = exports.FieldServiceProductEntityTypes = void 0;
15
+ exports.ROUTING_KEY_LINK_FIELD_SERVICE_PRODUCT_COMPATIBLE_PRODUCTS_DELETED = exports.ROUTING_KEY_LINK_FIELD_SERVICE_PRODUCT_COMPATIBLE_PRODUCTS_CREATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_RETURNS_BAG_DELETED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_RETURNS_BAG_UPDATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_RETURNS_BAG_CREATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_DELETED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_UPDATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_CREATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MESH_DELETED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MESH_UPDATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MESH_CREATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_CPE_ROUTER_DELETED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_CPE_ROUTER_UPDATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_CPE_ROUTER_CREATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_DELETED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_UPDATED = exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_CREATED = exports.FieldServiceProduct = exports.FieldServiceProductPropertyKeys = exports.FieldServiceProductCustomerDeviceType = exports.FieldServiceProductVendor = exports.FieldServiceProductDefaultShippingMethod = exports.FieldServiceProductEntityTypes = void 0;
16
16
  const core_1 = require("@d19n/odin-types/dist/core");
17
17
  /**
18
18
  * Available types for FieldServiceProduct records
@@ -25,6 +25,8 @@ var FieldServiceProductEntityTypes;
25
25
  FieldServiceProductEntityTypes["MESH"] = "MESH";
26
26
  /** MISC */
27
27
  FieldServiceProductEntityTypes["MISC"] = "MISC";
28
+ /** Return Bag */
29
+ FieldServiceProductEntityTypes["RETURNS_BAG"] = "RETURNS_BAG";
28
30
  })(FieldServiceProductEntityTypes = exports.FieldServiceProductEntityTypes || (exports.FieldServiceProductEntityTypes = {}));
29
31
  /**
30
32
  * Valid values for FieldServiceProduct.DefaultShippingMethod
@@ -150,6 +152,12 @@ exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_CREATED = 'FieldServiceModule.Fie
150
152
  exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_UPDATED = 'FieldServiceModule.FieldServiceProduct.MISC.SubDbRecordUpdated';
151
153
  /** MISC deleted */
152
154
  exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_MISC_DELETED = 'FieldServiceModule.FieldServiceProduct.MISC.SubDbRecordDeleted';
155
+ /** Return Bag created */
156
+ exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_RETURNS_BAG_CREATED = 'FieldServiceModule.FieldServiceProduct.RETURNS_BAG.SubDbRecordCreated';
157
+ /** Return Bag updated */
158
+ exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_RETURNS_BAG_UPDATED = 'FieldServiceModule.FieldServiceProduct.RETURNS_BAG.SubDbRecordUpdated';
159
+ /** Return Bag deleted */
160
+ exports.ROUTING_KEY_FIELD_SERVICE_PRODUCT_RETURNS_BAG_DELETED = 'FieldServiceModule.FieldServiceProduct.RETURNS_BAG.SubDbRecordDeleted';
153
161
  /** Event: FieldServiceProduct__CompatibleProducts link created */
154
162
  exports.ROUTING_KEY_LINK_FIELD_SERVICE_PRODUCT_COMPATIBLE_PRODUCTS_CREATED = 'FieldServiceModule.FieldServiceProduct.Product.SubDbRecordAssociationCreated';
155
163
  /** Event: FieldServiceProduct__CompatibleProducts link deleted */
@@ -99,6 +99,8 @@ export declare enum OfferPropertyKeys {
99
99
  IsDefault = "IsDefault",
100
100
  /** code to retrieve offer (Product Management - Offer) */
101
101
  Code = "Code",
102
+ /** The Offer that customers currently on THIS offer recontract onto. Read by resolveRecontractOffer as the per-offer successor, taking precedence over the price-comparison fallback but NOT over an explicitly supplied offerId. Empty = no per-offer successor configured; resolution falls back to the IsDefaultWebsiteOffer / IsRecontractDefault comparison. */
103
+ RecontractOfferId = "RecontractOfferId",
102
104
  /** IsRecontractDefault */
103
105
  IsRecontractDefault = "IsRecontractDefault",
104
106
  /** IsDefaultWebsiteOffer */
@@ -178,6 +180,12 @@ export interface OfferProperties {
178
180
  * @type {TEXT}
179
181
  */
180
182
  Code: string;
183
+ /** The Offer that customers currently on THIS offer recontract onto. Read by resolveRecontractOffer as the per-offer successor, taking precedence over the price-comparison fallback but NOT over an explicitly supplied offerId. Empty = no per-offer successor configured; resolution falls back to the IsDefaultWebsiteOffer / IsRecontractDefault comparison.
184
+ *
185
+ * @type {LOOKUP}
186
+ * @default
187
+ */
188
+ RecontractOfferId: string;
181
189
  /** IsRecontractDefault
182
190
  *
183
191
  * @type {BOOLEAN}
@@ -264,6 +272,12 @@ export interface RecontractOfferProperties {
264
272
  * @type {TEXT}
265
273
  */
266
274
  Code: string;
275
+ /** The Offer that customers currently on THIS offer recontract onto. Read by resolveRecontractOffer as the per-offer successor, taking precedence over the price-comparison fallback but NOT over an explicitly supplied offerId. Empty = no per-offer successor configured; resolution falls back to the IsDefaultWebsiteOffer / IsRecontractDefault comparison.
276
+ *
277
+ * @type {LOOKUP}
278
+ * @default
279
+ */
280
+ RecontractOfferId: string;
267
281
  /** IsRecontractDefault
268
282
  *
269
283
  * @type {BOOLEAN}
@@ -350,6 +364,12 @@ export interface StandardOfferProperties {
350
364
  * @type {TEXT}
351
365
  */
352
366
  Code: string;
367
+ /** The Offer that customers currently on THIS offer recontract onto. Read by resolveRecontractOffer as the per-offer successor, taking precedence over the price-comparison fallback but NOT over an explicitly supplied offerId. Empty = no per-offer successor configured; resolution falls back to the IsDefaultWebsiteOffer / IsRecontractDefault comparison.
368
+ *
369
+ * @type {LOOKUP}
370
+ * @default
371
+ */
372
+ RecontractOfferId: string;
353
373
  /** IsRecontractDefault
354
374
  *
355
375
  * @type {BOOLEAN}
@@ -102,6 +102,8 @@ var OfferPropertyKeys;
102
102
  OfferPropertyKeys["IsDefault"] = "IsDefault";
103
103
  /** code to retrieve offer (Product Management - Offer) */
104
104
  OfferPropertyKeys["Code"] = "Code";
105
+ /** The Offer that customers currently on THIS offer recontract onto. Read by resolveRecontractOffer as the per-offer successor, taking precedence over the price-comparison fallback but NOT over an explicitly supplied offerId. Empty = no per-offer successor configured; resolution falls back to the IsDefaultWebsiteOffer / IsRecontractDefault comparison. */
106
+ OfferPropertyKeys["RecontractOfferId"] = "RecontractOfferId";
105
107
  /** IsRecontractDefault */
106
108
  OfferPropertyKeys["IsRecontractDefault"] = "IsRecontractDefault";
107
109
  /** IsDefaultWebsiteOffer */
@@ -49,6 +49,8 @@ export declare enum RecontractPropertyKeys {
49
49
  NextContractEndDate = "NextContractEndDate",
50
50
  /** The ContractType (term length, e.g. ANNUAL_24) this recontract SET on the Order. Raw value, not an ENUM — see spec header. */
51
51
  NextContractType = "NextContractType",
52
+ /** DORMANT — written by nothing today. Added to make an ActiveDate 1:1 write safe, but that write was then deliberately dropped: amending in place, the order IS the one that went live on its original ActiveDate, so it is left untouched and needs no snapshot (RecontractWrittenProperties.spec.ts asserts it is never written). Retained because the column already exists in sandbox + prod and schema removals are not free; declared here so the spec still matches reality. Populate it only if Order.ActiveDate ever becomes something a recontract overwrites. */
53
+ PreviousActiveDate = "PreviousActiveDate",
52
54
  /** Recontract title (e.g. "OR1654429 recontract 2026-07-24"). */
53
55
  Name = "Name",
54
56
  /** Snapshot of the order items BEFORE the recontract (rollback source). */
@@ -108,6 +110,12 @@ export interface RecontractProperties {
108
110
  * @default
109
111
  */
110
112
  NextContractType: string;
113
+ /** DORMANT — written by nothing today. Added to make an ActiveDate 1:1 write safe, but that write was then deliberately dropped: amending in place, the order IS the one that went live on its original ActiveDate, so it is left untouched and needs no snapshot (RecontractWrittenProperties.spec.ts asserts it is never written). Retained because the column already exists in sandbox + prod and schema removals are not free; declared here so the spec still matches reality. Populate it only if Order.ActiveDate ever becomes something a recontract overwrites.
114
+ *
115
+ * @type {DATE}
116
+ * @default
117
+ */
118
+ PreviousActiveDate: string;
111
119
  /** Recontract title (e.g. "OR1654429 recontract 2026-07-24").
112
120
  *
113
121
  * @type {TEXT}
@@ -54,6 +54,8 @@ var RecontractPropertyKeys;
54
54
  RecontractPropertyKeys["NextContractEndDate"] = "NextContractEndDate";
55
55
  /** The ContractType (term length, e.g. ANNUAL_24) this recontract SET on the Order. Raw value, not an ENUM — see spec header. */
56
56
  RecontractPropertyKeys["NextContractType"] = "NextContractType";
57
+ /** DORMANT — written by nothing today. Added to make an ActiveDate 1:1 write safe, but that write was then deliberately dropped: amending in place, the order IS the one that went live on its original ActiveDate, so it is left untouched and needs no snapshot (RecontractWrittenProperties.spec.ts asserts it is never written). Retained because the column already exists in sandbox + prod and schema removals are not free; declared here so the spec still matches reality. Populate it only if Order.ActiveDate ever becomes something a recontract overwrites. */
58
+ RecontractPropertyKeys["PreviousActiveDate"] = "PreviousActiveDate";
57
59
  /** Recontract title (e.g. "OR1654429 recontract 2026-07-24"). */
58
60
  RecontractPropertyKeys["Name"] = "Name";
59
61
  /** Snapshot of the order items BEFORE the recontract (rollback source). */