@d19n/youfibre-odin-sdk 2.0.306 → 2.0.307
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/README.md +10 -9
- package/dist/actions-v2/CollectCustomerDeviceRouterDto.d.ts +63 -0
- package/dist/actions-v2/CollectCustomerDeviceRouterDto.js +56 -0
- package/dist/actions-v2/CompleteServiceWorkOrderFlowDto.d.ts +135 -96
- package/dist/api-sdk-v2/UserApi.d.ts +2 -0
- package/dist/api-sdk-v2/UserApi.js +6 -0
- package/dist/api-sdk-v2/YfFieldVisitOutcomeFormApi.d.ts +2 -0
- package/dist/api-sdk-v2/YfFieldVisitOutcomeFormApi.js +6 -0
- package/dist/db-sdk-v2/UserDb.d.ts +2 -0
- package/dist/db-sdk-v2/UserDb.js +6 -0
- package/dist/db-sdk-v2/YfFieldVisitOutcomeFormDb.d.ts +2 -0
- package/dist/db-sdk-v2/YfFieldVisitOutcomeFormDb.js +6 -0
- package/dist/entities-v2/BillingAdjustment.d.ts +1 -3
- package/dist/entities-v2/BillingAdjustment.js +1 -3
- package/dist/entities-v2/Case.d.ts +2 -1
- package/dist/entities-v2/Case.js +2 -1
- package/dist/entities-v2/CreditNote.d.ts +1 -2
- package/dist/entities-v2/CreditNote.js +1 -2
- package/dist/entities-v2/PgReportEvent.d.ts +5 -1
- package/dist/entities-v2/PgReportEvent.js +4 -0
- package/dist/entities-v2/User.d.ts +3 -0
- package/dist/entities-v2/VoiceConfiguration.d.ts +8 -0
- package/dist/entities-v2/VoiceConfiguration.js +2 -0
- package/dist/entities-v2/YfFieldVisitOutcomeForm.d.ts +149 -80
- package/dist/entities-v2/YfFieldVisitOutcomeForm.js +37 -31
- package/dist/records-v2/CustomerDeviceRouterRecord.d.ts +28 -0
- package/dist/records-v2/CustomerDeviceRouterRecord.js +37 -0
- package/dist/records-v2/UserRecord.d.ts +20 -0
- package/dist/records-v2/UserRecord.js +33 -0
- package/dist/records-v2/YfFieldVisitOutcomeFormRecord.d.ts +22 -18
- package/dist/records-v2/YfFieldVisitOutcomeFormRecord.js +34 -17
- package/dist/records-v2/index.d.ts +1 -1
- package/dist/records-v2/index.js +5 -5
- package/package.json +1 -1
|
@@ -428,7 +428,7 @@ export declare enum CaseCategory {
|
|
|
428
428
|
* - `COPY_OF_INVOICE` - Copy of Invoice
|
|
429
429
|
* - `CUSTOMER_DEVICE_ISSUE` - Customer Device Issue
|
|
430
430
|
* - `DATA_SUBJECT_ACCESS_REQUEST` - Data Subject Access Request
|
|
431
|
-
* - ... and
|
|
431
|
+
* - ... and 41 more
|
|
432
432
|
*/
|
|
433
433
|
export declare enum CaseSubCategory {
|
|
434
434
|
AMEND_BILLING_DATE = "AMEND_BILLING_DATE",
|
|
@@ -476,6 +476,7 @@ export declare enum CaseSubCategory {
|
|
|
476
476
|
POSITIVE_REVIEWS = "POSITIVE_REVIEWS",
|
|
477
477
|
PRE_LIVE_ORDER_QUERY = "PRE_LIVE_ORDER_QUERY",
|
|
478
478
|
PRICE_MATCH = "PRICE_MATCH",
|
|
479
|
+
RECONTRACT_ROUTER_DISPATCH = "RECONTRACT_ROUTER_DISPATCH",
|
|
479
480
|
RECONTRACT_UPGRADE = "RECONTRACT_UPGRADE",
|
|
480
481
|
REFERRAL = "REFERRAL",
|
|
481
482
|
SERVICE_VISIT = "SERVICE_VISIT",
|
package/dist/entities-v2/Case.js
CHANGED
|
@@ -425,7 +425,7 @@ var CaseCategory;
|
|
|
425
425
|
* - `COPY_OF_INVOICE` - Copy of Invoice
|
|
426
426
|
* - `CUSTOMER_DEVICE_ISSUE` - Customer Device Issue
|
|
427
427
|
* - `DATA_SUBJECT_ACCESS_REQUEST` - Data Subject Access Request
|
|
428
|
-
* - ... and
|
|
428
|
+
* - ... and 41 more
|
|
429
429
|
*/
|
|
430
430
|
var CaseSubCategory;
|
|
431
431
|
(function (CaseSubCategory) {
|
|
@@ -474,6 +474,7 @@ var CaseSubCategory;
|
|
|
474
474
|
CaseSubCategory["POSITIVE_REVIEWS"] = "POSITIVE_REVIEWS";
|
|
475
475
|
CaseSubCategory["PRE_LIVE_ORDER_QUERY"] = "PRE_LIVE_ORDER_QUERY";
|
|
476
476
|
CaseSubCategory["PRICE_MATCH"] = "PRICE_MATCH";
|
|
477
|
+
CaseSubCategory["RECONTRACT_ROUTER_DISPATCH"] = "RECONTRACT_ROUTER_DISPATCH";
|
|
477
478
|
CaseSubCategory["RECONTRACT_UPGRADE"] = "RECONTRACT_UPGRADE";
|
|
478
479
|
CaseSubCategory["REFERRAL"] = "REFERRAL";
|
|
479
480
|
CaseSubCategory["SERVICE_VISIT"] = "SERVICE_VISIT";
|
|
@@ -43,7 +43,7 @@ export declare enum CreditNoteEntityTypes {
|
|
|
43
43
|
* - `OTS_ORDER_CANCELLATION` - OTS Order Cancellation
|
|
44
44
|
* - `PAYMENT_ARRANGEMENT` - Payment Arrangement
|
|
45
45
|
* - `PAYMENT_ERROR` - Payment Error
|
|
46
|
-
* - ... and
|
|
46
|
+
* - ... and 5 more
|
|
47
47
|
*/
|
|
48
48
|
export declare enum CreditNoteReason {
|
|
49
49
|
BAD_DEBT_WRITE_OFF = "BAD_DEBT_WRITE_OFF",
|
|
@@ -61,7 +61,6 @@ export declare enum CreditNoteReason {
|
|
|
61
61
|
OTS_ORDER_CANCELLATION = "OTS_ORDER_CANCELLATION",
|
|
62
62
|
PAYMENT_ARRANGEMENT = "PAYMENT_ARRANGEMENT",
|
|
63
63
|
PAYMENT_ERROR = "PAYMENT_ERROR",
|
|
64
|
-
PAYMENT_PLAN = "PAYMENT_PLAN",
|
|
65
64
|
REFERRAL_REWARD = "REFERRAL_REWARD",
|
|
66
65
|
RETENTION = "RETENTION",
|
|
67
66
|
SALES_MIS_SOLD = "SALES_MISSOLD",
|
|
@@ -43,7 +43,7 @@ var CreditNoteEntityTypes;
|
|
|
43
43
|
* - `OTS_ORDER_CANCELLATION` - OTS Order Cancellation
|
|
44
44
|
* - `PAYMENT_ARRANGEMENT` - Payment Arrangement
|
|
45
45
|
* - `PAYMENT_ERROR` - Payment Error
|
|
46
|
-
* - ... and
|
|
46
|
+
* - ... and 5 more
|
|
47
47
|
*/
|
|
48
48
|
var CreditNoteReason;
|
|
49
49
|
(function (CreditNoteReason) {
|
|
@@ -62,7 +62,6 @@ var CreditNoteReason;
|
|
|
62
62
|
CreditNoteReason["OTS_ORDER_CANCELLATION"] = "OTS_ORDER_CANCELLATION";
|
|
63
63
|
CreditNoteReason["PAYMENT_ARRANGEMENT"] = "PAYMENT_ARRANGEMENT";
|
|
64
64
|
CreditNoteReason["PAYMENT_ERROR"] = "PAYMENT_ERROR";
|
|
65
|
-
CreditNoteReason["PAYMENT_PLAN"] = "PAYMENT_PLAN";
|
|
66
65
|
CreditNoteReason["REFERRAL_REWARD"] = "REFERRAL_REWARD";
|
|
67
66
|
CreditNoteReason["RETENTION"] = "RETENTION";
|
|
68
67
|
CreditNoteReason["SALES_MIS_SOLD"] = "SALES_MISSOLD";
|
|
@@ -57,17 +57,21 @@ export declare enum DefaultPgReportEventStageKeys {
|
|
|
57
57
|
*
|
|
58
58
|
* @remarks Available options:
|
|
59
59
|
* - `ADDACS`
|
|
60
|
+
* - `ARUCS`
|
|
60
61
|
* - `ARUDD`
|
|
61
62
|
* - `AUDDIS_ADVICE` - AUDDIS Advice Report
|
|
62
63
|
* - `AUDDIS_ACCEPTANCE` - AUDDIS File Acceptance Report
|
|
63
64
|
* - `AUDDIS_INPUT` - AUDDIS Input Report
|
|
65
|
+
* - `INPUT` - PE Input Report
|
|
64
66
|
*/
|
|
65
67
|
export declare enum PgReportEventReportType {
|
|
66
68
|
ADDACS = "ADDACS",
|
|
69
|
+
ARUCS = "ARUCS",
|
|
67
70
|
ARUDD = "ARUDD",
|
|
68
71
|
AUDDIS_ADVICE_REPORT = "AUDDIS_ADVICE",
|
|
69
72
|
AUDDIS_FILE_ACCEPTANCE_REPORT = "AUDDIS_ACCEPTANCE",
|
|
70
|
-
AUDDIS_INPUT_REPORT = "AUDDIS_INPUT"
|
|
73
|
+
AUDDIS_INPUT_REPORT = "AUDDIS_INPUT",
|
|
74
|
+
PE_INPUT_REPORT = "INPUT"
|
|
71
75
|
}
|
|
72
76
|
/**
|
|
73
77
|
* Property keys for PgReportEvent
|
|
@@ -60,18 +60,22 @@ var DefaultPgReportEventStageKeys;
|
|
|
60
60
|
*
|
|
61
61
|
* @remarks Available options:
|
|
62
62
|
* - `ADDACS`
|
|
63
|
+
* - `ARUCS`
|
|
63
64
|
* - `ARUDD`
|
|
64
65
|
* - `AUDDIS_ADVICE` - AUDDIS Advice Report
|
|
65
66
|
* - `AUDDIS_ACCEPTANCE` - AUDDIS File Acceptance Report
|
|
66
67
|
* - `AUDDIS_INPUT` - AUDDIS Input Report
|
|
68
|
+
* - `INPUT` - PE Input Report
|
|
67
69
|
*/
|
|
68
70
|
var PgReportEventReportType;
|
|
69
71
|
(function (PgReportEventReportType) {
|
|
70
72
|
PgReportEventReportType["ADDACS"] = "ADDACS";
|
|
73
|
+
PgReportEventReportType["ARUCS"] = "ARUCS";
|
|
71
74
|
PgReportEventReportType["ARUDD"] = "ARUDD";
|
|
72
75
|
PgReportEventReportType["AUDDIS_ADVICE_REPORT"] = "AUDDIS_ADVICE";
|
|
73
76
|
PgReportEventReportType["AUDDIS_FILE_ACCEPTANCE_REPORT"] = "AUDDIS_ACCEPTANCE";
|
|
74
77
|
PgReportEventReportType["AUDDIS_INPUT_REPORT"] = "AUDDIS_INPUT";
|
|
78
|
+
PgReportEventReportType["PE_INPUT_REPORT"] = "INPUT";
|
|
75
79
|
})(PgReportEventReportType = exports.PgReportEventReportType || (exports.PgReportEventReportType = {}));
|
|
76
80
|
/**
|
|
77
81
|
* Property keys for PgReportEvent
|
|
@@ -36,6 +36,7 @@ import { OutboundDialCampaignProperties } from './OutboundDialCampaign';
|
|
|
36
36
|
import { OutboundDialSessionProperties } from './OutboundDialSession';
|
|
37
37
|
import { AgentStatusProperties } from './AgentStatus';
|
|
38
38
|
import { AgentStatusHistoryProperties } from './AgentStatusHistory';
|
|
39
|
+
import { YfFieldVisitOutcomeFormProperties } from './YfFieldVisitOutcomeForm';
|
|
39
40
|
/**
|
|
40
41
|
* Available types for User records
|
|
41
42
|
*/
|
|
@@ -285,6 +286,8 @@ export declare class User extends OdinRecord<UserProperties> {
|
|
|
285
286
|
AgentStatus: OdinLink<LinkedOdinRecord<AgentStatusProperties>>;
|
|
286
287
|
/** Linked AgentStatusHistory records (AgentStatusHistory__User) */
|
|
287
288
|
AgentStatusHistory: OdinLink<LinkedOdinRecord<AgentStatusHistoryProperties>>;
|
|
289
|
+
/** Linked YfFieldVisitOutcomeForm records (YfFieldVisitOutcomeForm__User) */
|
|
290
|
+
YfFieldVisitOutcomeForm: OdinLink<LinkedOdinRecord<YfFieldVisitOutcomeFormProperties>>;
|
|
288
291
|
}
|
|
289
292
|
/**
|
|
290
293
|
* RabbitMQ routing keys for User events
|
|
@@ -130,6 +130,8 @@ export declare enum VoiceConfigurationPortFromProvider {
|
|
|
130
130
|
* Use these constants instead of string literals for type safety
|
|
131
131
|
*/
|
|
132
132
|
export declare enum VoiceConfigurationPropertyKeys {
|
|
133
|
+
/** When the Magrathea "port accepted" customer email was sent for this port. Checked before sending and stamped after -- the redelivery-dedup guard for an at-least-once RabbitMQ consumer whose only prior guard (prevStatus !== nextStatus) was built from message-carried fields and so could not survive a redelivery. Scoped per port (this VoiceConfiguration record), not per contact, so a genuine second port for the same customer still sends. */
|
|
134
|
+
PortingUpdateEmailSentAt = "PortingUpdateEmailSentAt",
|
|
133
135
|
/** ExternalReference */
|
|
134
136
|
ExternalReference = "ExternalReference",
|
|
135
137
|
/** MagratheaOrderLastUpdate (Network Operations - VoiceConfiguration) */
|
|
@@ -193,6 +195,12 @@ export declare enum VoiceConfigurationPropertyKeys {
|
|
|
193
195
|
* @see ServiceModule:VoiceConfiguration
|
|
194
196
|
*/
|
|
195
197
|
export interface VoiceConfigurationProperties {
|
|
198
|
+
/** When the Magrathea "port accepted" customer email was sent for this port. Checked before sending and stamped after -- the redelivery-dedup guard for an at-least-once RabbitMQ consumer whose only prior guard (prevStatus !== nextStatus) was built from message-carried fields and so could not survive a redelivery. Scoped per port (this VoiceConfiguration record), not per contact, so a genuine second port for the same customer still sends.
|
|
199
|
+
*
|
|
200
|
+
* @type {DATE_TIME}
|
|
201
|
+
* @default
|
|
202
|
+
*/
|
|
203
|
+
PortingUpdateEmailSentAt: string;
|
|
196
204
|
/** ExternalReference
|
|
197
205
|
*
|
|
198
206
|
* @type {TEXT}
|
|
@@ -135,6 +135,8 @@ var VoiceConfigurationPortFromProvider;
|
|
|
135
135
|
*/
|
|
136
136
|
var VoiceConfigurationPropertyKeys;
|
|
137
137
|
(function (VoiceConfigurationPropertyKeys) {
|
|
138
|
+
/** When the Magrathea "port accepted" customer email was sent for this port. Checked before sending and stamped after -- the redelivery-dedup guard for an at-least-once RabbitMQ consumer whose only prior guard (prevStatus !== nextStatus) was built from message-carried fields and so could not survive a redelivery. Scoped per port (this VoiceConfiguration record), not per contact, so a genuine second port for the same customer still sends. */
|
|
139
|
+
VoiceConfigurationPropertyKeys["PortingUpdateEmailSentAt"] = "PortingUpdateEmailSentAt";
|
|
138
140
|
/** ExternalReference */
|
|
139
141
|
VoiceConfigurationPropertyKeys["ExternalReference"] = "ExternalReference";
|
|
140
142
|
/** MagratheaOrderLastUpdate (Network Operations - VoiceConfiguration) */
|
|
@@ -15,12 +15,11 @@ import { WorkOrderProperties } from './WorkOrder';
|
|
|
15
15
|
import { AddressProperties } from './Address';
|
|
16
16
|
import { NoteProperties } from './Note';
|
|
17
17
|
import { FileProperties } from './File';
|
|
18
|
+
import { UserProperties } from './User';
|
|
18
19
|
/**
|
|
19
20
|
* Available types for YfFieldVisitOutcomeForm records
|
|
20
21
|
*/
|
|
21
22
|
export declare enum YfFieldVisitOutcomeFormEntityTypes {
|
|
22
|
-
/** This is the default record type */
|
|
23
|
-
DEFAULT = "DEFAULT",
|
|
24
23
|
/** The single record type on this entity, named to match every sibling outcome form in FieldServiceModule. One type is why the form needs no record-type selector. */
|
|
25
24
|
OUTCOME_FORM = "OUTCOME_FORM"
|
|
26
25
|
}
|
|
@@ -130,19 +129,6 @@ export declare enum YfFieldVisitOutcomeFormCustomerAtInstall {
|
|
|
130
129
|
NO = "NO",
|
|
131
130
|
YES = "YES"
|
|
132
131
|
}
|
|
133
|
-
/**
|
|
134
|
-
* Valid values for YfFieldVisitOutcomeForm.ONTChecksPassed
|
|
135
|
-
*
|
|
136
|
-
* The gate on the whole ONT branch: NO is what asks for a failure reason.
|
|
137
|
-
*
|
|
138
|
-
* @remarks Available options:
|
|
139
|
-
* - `NO` - No
|
|
140
|
-
* - `YES` - Yes
|
|
141
|
-
*/
|
|
142
|
-
export declare enum YfFieldVisitOutcomeFormONTChecksPassed {
|
|
143
|
-
NO = "NO",
|
|
144
|
-
YES = "YES"
|
|
145
|
-
}
|
|
146
132
|
/**
|
|
147
133
|
* Valid values for YfFieldVisitOutcomeForm.ONTCheckFailReason
|
|
148
134
|
*
|
|
@@ -158,6 +144,19 @@ export declare enum YfFieldVisitOutcomeFormONTCheckFailReason {
|
|
|
158
144
|
LIGHT_LEVEL_OUT_OF_SPEC = "LIGHT_LEVEL_OUT_OF_SPEC",
|
|
159
145
|
NO_LIGHT_FIBRE_BREAK = "NO_LIGHT_FIBRE_BREAK"
|
|
160
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Valid values for YfFieldVisitOutcomeForm.ONTChecksPassed
|
|
149
|
+
*
|
|
150
|
+
* The gate on the whole ONT branch: NO is what asks for a failure reason.
|
|
151
|
+
*
|
|
152
|
+
* @remarks Available options:
|
|
153
|
+
* - `NO` - No
|
|
154
|
+
* - `YES` - Yes
|
|
155
|
+
*/
|
|
156
|
+
export declare enum YfFieldVisitOutcomeFormONTChecksPassed {
|
|
157
|
+
NO = "NO",
|
|
158
|
+
YES = "YES"
|
|
159
|
+
}
|
|
161
160
|
/**
|
|
162
161
|
* Valid values for YfFieldVisitOutcomeForm.AbleToAchieveMinimumSpeed
|
|
163
162
|
*
|
|
@@ -320,12 +319,22 @@ export declare enum YfFieldVisitOutcomeFormHappyWithOutcome {
|
|
|
320
319
|
* Use these constants instead of string literals for type safety
|
|
321
320
|
*/
|
|
322
321
|
export declare enum YfFieldVisitOutcomeFormPropertyKeys {
|
|
322
|
+
/** The attending engineer. Prefilled from the work order via the form field default; the engineer can correct it if the job was reassigned on the day. */
|
|
323
|
+
Engineer = "Engineer",
|
|
324
|
+
/** The ONT light level reading. Split out of the old combined ONT photo. */
|
|
325
|
+
OntLightLevelPhoto = "ONTLightLevelPhoto",
|
|
326
|
+
/** Mesh topology from the gateway GUI, showing every unit in spec after the work. */
|
|
327
|
+
PostFaultMeshTopologyEvidence = "PostFaultMeshTopologyEvidence",
|
|
328
|
+
/** The ONT status lights. Split out of the old combined ONT photo. */
|
|
329
|
+
OntStatusLightsPhoto = "ONTStatusLightsPhoto",
|
|
330
|
+
/** The post-fault EXFO report. Asked on every visit, not only where the standard was met. */
|
|
331
|
+
PostFaultSpeedDbmEvidence = "PostFaultSpeedDbmEvidence",
|
|
323
332
|
/** When the visit started. Field Services asked whether this can auto-populate to now; prefill is a form-renderer capability and is tracked separately, so it is captured by hand until then. */
|
|
324
333
|
ServiceVisitDateTime = "ServiceVisitDateTime",
|
|
325
|
-
/** The attending engineer. Asked for as free text; auto-populating from the logged-in user is the same prefill question as ServiceVisitDateTime. */
|
|
326
|
-
EngineerName = "EngineerName",
|
|
327
334
|
/** The work order this visit was made against. Deliberately carries no UNIQUE validator: a repeat visit to the same work order is a second form, not an overwrite of the first. */
|
|
328
335
|
WorkOrderNumber = "WorkOrderNumber",
|
|
336
|
+
/** RETIRED — replaced by the Engineer column, which is TEXT and prefills from the work order. Off the form; a NAME column cannot become TEXT in place. */
|
|
337
|
+
EngineerName = "EngineerName",
|
|
329
338
|
/** The property visited, linked to the CRM address record. */
|
|
330
339
|
Location = "Location",
|
|
331
340
|
/** The picture the engineer confirms having taken on arrival. */
|
|
@@ -346,8 +355,6 @@ export declare enum YfFieldVisitOutcomeFormPropertyKeys {
|
|
|
346
355
|
OntFixedToWall = "ONTFixedToWall",
|
|
347
356
|
/** Evidence of how the ONT is fixed and powered. */
|
|
348
357
|
OntFixedToWallPhoto = "ONTFixedToWallPhoto",
|
|
349
|
-
/** The readings behind the ONT check answer. */
|
|
350
|
-
OntChecksPhoto = "ONTChecksPhoto",
|
|
351
358
|
/** What the engineer saw that produced the failure reason. */
|
|
352
359
|
OntCheckFailReasonPhoto = "ONTCheckFailReasonPhoto",
|
|
353
360
|
/** The engineer's diagnosis category. A clean 8-option list from the 2026-08-21 template; the legacy 16-option list stays on YfFieldServiceVisit with the records that used it. */
|
|
@@ -358,8 +365,6 @@ export declare enum YfFieldVisitOutcomeFormPropertyKeys {
|
|
|
358
365
|
EngineerDiagnosisCustomerDevicePhoto = "EngineerDiagnosisCustomerDevicePhoto",
|
|
359
366
|
/** Whether the person on site witnessed the original install — the difference between a first-hand account of what changed and a second-hand one. */
|
|
360
367
|
CustomerAtInstall = "CustomerAtInstall",
|
|
361
|
-
/** The gate on the whole ONT branch: NO is what asks for a failure reason. */
|
|
362
|
-
OntChecksPassed = "ONTChecksPassed",
|
|
363
368
|
/** Why the ONT check failed. Only asked when ONTChecksPassed is NO. */
|
|
364
369
|
OntCheckFailReason = "ONTCheckFailReason",
|
|
365
370
|
/** Evidence the node is not on the floor. */
|
|
@@ -372,12 +377,14 @@ export declare enum YfFieldVisitOutcomeFormPropertyKeys {
|
|
|
372
377
|
PreFaultTestPhoto = "PreFaultTestPhoto",
|
|
373
378
|
/** What the readings looked like where the standard could not be met. */
|
|
374
379
|
NotAbleToAchieveSignalPhoto = "NotAbleToAchieveSignalPhoto",
|
|
375
|
-
/** The proof behind a YES: a reading taken at the worst point in the property, not the best. */
|
|
376
|
-
AbleToAchieveSignalEvidence = "AbleToAchieveSignalEvidence",
|
|
377
380
|
/** The engineer's account of the visit. Deliberately carries no defaultValue: whether the template headings (Outcome / Fault Found / Checks Done / Action Taken / Status on Leave / Further Action / Customer Advised) are pre-filled or shown as guidance is open with Trevor, and adding a default later is a column PUT while removing one already written onto live records is not clean. */
|
|
378
381
|
ResolutionNotes = "ResolutionNotes",
|
|
379
382
|
/** Serial of the first device installed on this visit. The template repeated "first" on all four rows; first/second/third/fourth confirmed with the DRI 2026-08-25. */
|
|
380
383
|
NewDeviceSerial1 = "NewDeviceSerial1",
|
|
384
|
+
/** The gate on the whole ONT branch: NO is what asks for a failure reason. */
|
|
385
|
+
OntChecksPassed = "ONTChecksPassed",
|
|
386
|
+
/** The proof behind a YES: a reading taken at the worst point in the property, not the best. */
|
|
387
|
+
AbleToAchieveSignalEvidence = "AbleToAchieveSignalEvidence",
|
|
381
388
|
/** Where the router actually is — the answer text alone rarely settles a coverage argument. */
|
|
382
389
|
RouterLocationPhoto = "RouterLocationPhoto",
|
|
383
390
|
/** Serial of the first existing mesh node. */
|
|
@@ -433,7 +440,9 @@ export declare enum YfFieldVisitOutcomeFormPropertyKeys {
|
|
|
433
440
|
/** Who signed on the customer side. */
|
|
434
441
|
CustomerName = "CustomerName",
|
|
435
442
|
/** The customer's signature against the declaration above. */
|
|
436
|
-
CustomerSignature = "CustomerSignature"
|
|
443
|
+
CustomerSignature = "CustomerSignature",
|
|
444
|
+
/** RETIRED round 1 — replaced by ONTLightLevelPhoto + ONTStatusLightsPhoto. Off the form, column kept. */
|
|
445
|
+
OntChecksPhoto = "ONTChecksPhoto"
|
|
437
446
|
}
|
|
438
447
|
/**
|
|
439
448
|
* Properties for YfFieldVisitOutcomeForm records
|
|
@@ -441,24 +450,54 @@ export declare enum YfFieldVisitOutcomeFormPropertyKeys {
|
|
|
441
450
|
* @see FieldServiceModule:YfFieldVisitOutcomeForm
|
|
442
451
|
*/
|
|
443
452
|
export interface YfFieldVisitOutcomeFormProperties {
|
|
444
|
-
/**
|
|
453
|
+
/** The attending engineer. Prefilled from the work order via the form field default; the engineer can correct it if the job was reassigned on the day.
|
|
445
454
|
*
|
|
446
|
-
* @type {
|
|
455
|
+
* @type {TEXT}
|
|
447
456
|
* @default
|
|
448
457
|
*/
|
|
449
|
-
|
|
450
|
-
/** The
|
|
458
|
+
Engineer: string;
|
|
459
|
+
/** The ONT light level reading. Split out of the old combined ONT photo.
|
|
451
460
|
*
|
|
452
|
-
* @type {
|
|
461
|
+
* @type {FILE_MULTIPLE}
|
|
453
462
|
* @default
|
|
454
463
|
*/
|
|
455
|
-
|
|
464
|
+
OntLightLevelPhoto: string;
|
|
465
|
+
/** Mesh topology from the gateway GUI, showing every unit in spec after the work.
|
|
466
|
+
*
|
|
467
|
+
* @type {FILE_MULTIPLE}
|
|
468
|
+
* @default
|
|
469
|
+
*/
|
|
470
|
+
PostFaultMeshTopologyEvidence: string;
|
|
471
|
+
/** The ONT status lights. Split out of the old combined ONT photo.
|
|
472
|
+
*
|
|
473
|
+
* @type {FILE_MULTIPLE}
|
|
474
|
+
* @default
|
|
475
|
+
*/
|
|
476
|
+
OntStatusLightsPhoto: string;
|
|
477
|
+
/** The post-fault EXFO report. Asked on every visit, not only where the standard was met.
|
|
478
|
+
*
|
|
479
|
+
* @type {FILE_MULTIPLE}
|
|
480
|
+
* @default
|
|
481
|
+
*/
|
|
482
|
+
PostFaultSpeedDbmEvidence: string;
|
|
483
|
+
/** When the visit started. Field Services asked whether this can auto-populate to now; prefill is a form-renderer capability and is tracked separately, so it is captured by hand until then.
|
|
484
|
+
*
|
|
485
|
+
* @type {DATE_TIME}
|
|
486
|
+
* @default
|
|
487
|
+
*/
|
|
488
|
+
ServiceVisitDateTime: string;
|
|
456
489
|
/** The work order this visit was made against. Deliberately carries no UNIQUE validator: a repeat visit to the same work order is a second form, not an overwrite of the first.
|
|
457
490
|
*
|
|
458
491
|
* @type {ALPHA_NUMERICAL}
|
|
459
492
|
* @default
|
|
460
493
|
*/
|
|
461
494
|
WorkOrderNumber: string;
|
|
495
|
+
/** RETIRED — replaced by the Engineer column, which is TEXT and prefills from the work order. Off the form; a NAME column cannot become TEXT in place.
|
|
496
|
+
*
|
|
497
|
+
* @type {NAME}
|
|
498
|
+
* @default
|
|
499
|
+
*/
|
|
500
|
+
EngineerName: string;
|
|
462
501
|
/** The property visited, linked to the CRM address record.
|
|
463
502
|
*
|
|
464
503
|
* @type {LOOKUP}
|
|
@@ -522,12 +561,6 @@ export interface YfFieldVisitOutcomeFormProperties {
|
|
|
522
561
|
* @default
|
|
523
562
|
*/
|
|
524
563
|
OntFixedToWallPhoto: string;
|
|
525
|
-
/** The readings behind the ONT check answer.
|
|
526
|
-
*
|
|
527
|
-
* @type {FILE_MULTIPLE}
|
|
528
|
-
* @default
|
|
529
|
-
*/
|
|
530
|
-
OntChecksPhoto: string;
|
|
531
564
|
/** What the engineer saw that produced the failure reason.
|
|
532
565
|
*
|
|
533
566
|
* @type {FILE_MULTIPLE}
|
|
@@ -561,13 +594,6 @@ export interface YfFieldVisitOutcomeFormProperties {
|
|
|
561
594
|
* @enum {YfFieldVisitOutcomeFormCustomerAtInstall}
|
|
562
595
|
*/
|
|
563
596
|
CustomerAtInstall: YfFieldVisitOutcomeFormCustomerAtInstall;
|
|
564
|
-
/** The gate on the whole ONT branch: NO is what asks for a failure reason.
|
|
565
|
-
*
|
|
566
|
-
* @type {ENUM}
|
|
567
|
-
* @default
|
|
568
|
-
* @enum {YfFieldVisitOutcomeFormONTChecksPassed}
|
|
569
|
-
*/
|
|
570
|
-
OntChecksPassed: YfFieldVisitOutcomeFormONTChecksPassed;
|
|
571
597
|
/** Why the ONT check failed. Only asked when ONTChecksPassed is NO.
|
|
572
598
|
*
|
|
573
599
|
* @type {ENUM}
|
|
@@ -605,12 +631,6 @@ export interface YfFieldVisitOutcomeFormProperties {
|
|
|
605
631
|
* @default
|
|
606
632
|
*/
|
|
607
633
|
NotAbleToAchieveSignalPhoto: string;
|
|
608
|
-
/** The proof behind a YES: a reading taken at the worst point in the property, not the best.
|
|
609
|
-
*
|
|
610
|
-
* @type {FILE_MULTIPLE}
|
|
611
|
-
* @default
|
|
612
|
-
*/
|
|
613
|
-
AbleToAchieveSignalEvidence: string;
|
|
614
634
|
/** The engineer's account of the visit. Deliberately carries no defaultValue: whether the template headings (Outcome / Fault Found / Checks Done / Action Taken / Status on Leave / Further Action / Customer Advised) are pre-filled or shown as guidance is open with Trevor, and adding a default later is a column PUT while removing one already written onto live records is not clean.
|
|
615
635
|
*
|
|
616
636
|
* @type {TEXT_LONG}
|
|
@@ -623,6 +643,19 @@ export interface YfFieldVisitOutcomeFormProperties {
|
|
|
623
643
|
* @default
|
|
624
644
|
*/
|
|
625
645
|
NewDeviceSerial1: string;
|
|
646
|
+
/** The gate on the whole ONT branch: NO is what asks for a failure reason.
|
|
647
|
+
*
|
|
648
|
+
* @type {ENUM}
|
|
649
|
+
* @default
|
|
650
|
+
* @enum {YfFieldVisitOutcomeFormONTChecksPassed}
|
|
651
|
+
*/
|
|
652
|
+
OntChecksPassed: YfFieldVisitOutcomeFormONTChecksPassed;
|
|
653
|
+
/** The proof behind a YES: a reading taken at the worst point in the property, not the best.
|
|
654
|
+
*
|
|
655
|
+
* @type {FILE_MULTIPLE}
|
|
656
|
+
* @default
|
|
657
|
+
*/
|
|
658
|
+
AbleToAchieveSignalEvidence: string;
|
|
626
659
|
/** Where the router actually is — the answer text alone rarely settles a coverage argument.
|
|
627
660
|
*
|
|
628
661
|
* @type {FILE_MULTIPLE}
|
|
@@ -798,6 +831,12 @@ export interface YfFieldVisitOutcomeFormProperties {
|
|
|
798
831
|
* @default
|
|
799
832
|
*/
|
|
800
833
|
CustomerSignature: string;
|
|
834
|
+
/** RETIRED round 1 — replaced by ONTLightLevelPhoto + ONTStatusLightsPhoto. Off the form, column kept.
|
|
835
|
+
*
|
|
836
|
+
* @type {FILE_MULTIPLE}
|
|
837
|
+
* @default
|
|
838
|
+
*/
|
|
839
|
+
OntChecksPhoto: string;
|
|
801
840
|
}
|
|
802
841
|
/**
|
|
803
842
|
* Properties for OUTCOME_FORM YfFieldVisitOutcomeForm records
|
|
@@ -805,24 +844,54 @@ export interface YfFieldVisitOutcomeFormProperties {
|
|
|
805
844
|
* @see FieldServiceModule:YfFieldVisitOutcomeForm
|
|
806
845
|
*/
|
|
807
846
|
export interface OutcomeFormYfFieldVisitOutcomeFormProperties {
|
|
808
|
-
/**
|
|
847
|
+
/** The attending engineer. Prefilled from the work order via the form field default; the engineer can correct it if the job was reassigned on the day.
|
|
809
848
|
*
|
|
810
|
-
* @type {
|
|
849
|
+
* @type {TEXT}
|
|
811
850
|
* @default
|
|
812
851
|
*/
|
|
813
|
-
|
|
814
|
-
/** The
|
|
852
|
+
Engineer: string;
|
|
853
|
+
/** The ONT light level reading. Split out of the old combined ONT photo.
|
|
815
854
|
*
|
|
816
|
-
* @type {
|
|
855
|
+
* @type {FILE_MULTIPLE}
|
|
817
856
|
* @default
|
|
818
857
|
*/
|
|
819
|
-
|
|
858
|
+
OntLightLevelPhoto: string;
|
|
859
|
+
/** Mesh topology from the gateway GUI, showing every unit in spec after the work.
|
|
860
|
+
*
|
|
861
|
+
* @type {FILE_MULTIPLE}
|
|
862
|
+
* @default
|
|
863
|
+
*/
|
|
864
|
+
PostFaultMeshTopologyEvidence: string;
|
|
865
|
+
/** The ONT status lights. Split out of the old combined ONT photo.
|
|
866
|
+
*
|
|
867
|
+
* @type {FILE_MULTIPLE}
|
|
868
|
+
* @default
|
|
869
|
+
*/
|
|
870
|
+
OntStatusLightsPhoto: string;
|
|
871
|
+
/** The post-fault EXFO report. Asked on every visit, not only where the standard was met.
|
|
872
|
+
*
|
|
873
|
+
* @type {FILE_MULTIPLE}
|
|
874
|
+
* @default
|
|
875
|
+
*/
|
|
876
|
+
PostFaultSpeedDbmEvidence: string;
|
|
877
|
+
/** When the visit started. Field Services asked whether this can auto-populate to now; prefill is a form-renderer capability and is tracked separately, so it is captured by hand until then.
|
|
878
|
+
*
|
|
879
|
+
* @type {DATE_TIME}
|
|
880
|
+
* @default
|
|
881
|
+
*/
|
|
882
|
+
ServiceVisitDateTime: string;
|
|
820
883
|
/** The work order this visit was made against. Deliberately carries no UNIQUE validator: a repeat visit to the same work order is a second form, not an overwrite of the first.
|
|
821
884
|
*
|
|
822
885
|
* @type {ALPHA_NUMERICAL}
|
|
823
886
|
* @default
|
|
824
887
|
*/
|
|
825
888
|
WorkOrderNumber: string;
|
|
889
|
+
/** RETIRED — replaced by the Engineer column, which is TEXT and prefills from the work order. Off the form; a NAME column cannot become TEXT in place.
|
|
890
|
+
*
|
|
891
|
+
* @type {NAME}
|
|
892
|
+
* @default
|
|
893
|
+
*/
|
|
894
|
+
EngineerName: string;
|
|
826
895
|
/** The property visited, linked to the CRM address record.
|
|
827
896
|
*
|
|
828
897
|
* @type {LOOKUP}
|
|
@@ -886,12 +955,6 @@ export interface OutcomeFormYfFieldVisitOutcomeFormProperties {
|
|
|
886
955
|
* @default
|
|
887
956
|
*/
|
|
888
957
|
OntFixedToWallPhoto: string;
|
|
889
|
-
/** The readings behind the ONT check answer.
|
|
890
|
-
*
|
|
891
|
-
* @type {FILE_MULTIPLE}
|
|
892
|
-
* @default
|
|
893
|
-
*/
|
|
894
|
-
OntChecksPhoto: string;
|
|
895
958
|
/** What the engineer saw that produced the failure reason.
|
|
896
959
|
*
|
|
897
960
|
* @type {FILE_MULTIPLE}
|
|
@@ -925,13 +988,6 @@ export interface OutcomeFormYfFieldVisitOutcomeFormProperties {
|
|
|
925
988
|
* @enum {YfFieldVisitOutcomeFormCustomerAtInstall}
|
|
926
989
|
*/
|
|
927
990
|
CustomerAtInstall: YfFieldVisitOutcomeFormCustomerAtInstall;
|
|
928
|
-
/** The gate on the whole ONT branch: NO is what asks for a failure reason.
|
|
929
|
-
*
|
|
930
|
-
* @type {ENUM}
|
|
931
|
-
* @default
|
|
932
|
-
* @enum {YfFieldVisitOutcomeFormONTChecksPassed}
|
|
933
|
-
*/
|
|
934
|
-
OntChecksPassed: YfFieldVisitOutcomeFormONTChecksPassed;
|
|
935
991
|
/** Why the ONT check failed. Only asked when ONTChecksPassed is NO.
|
|
936
992
|
*
|
|
937
993
|
* @type {ENUM}
|
|
@@ -969,12 +1025,6 @@ export interface OutcomeFormYfFieldVisitOutcomeFormProperties {
|
|
|
969
1025
|
* @default
|
|
970
1026
|
*/
|
|
971
1027
|
NotAbleToAchieveSignalPhoto: string;
|
|
972
|
-
/** The proof behind a YES: a reading taken at the worst point in the property, not the best.
|
|
973
|
-
*
|
|
974
|
-
* @type {FILE_MULTIPLE}
|
|
975
|
-
* @default
|
|
976
|
-
*/
|
|
977
|
-
AbleToAchieveSignalEvidence: string;
|
|
978
1028
|
/** The engineer's account of the visit. Deliberately carries no defaultValue: whether the template headings (Outcome / Fault Found / Checks Done / Action Taken / Status on Leave / Further Action / Customer Advised) are pre-filled or shown as guidance is open with Trevor, and adding a default later is a column PUT while removing one already written onto live records is not clean.
|
|
979
1029
|
*
|
|
980
1030
|
* @type {TEXT_LONG}
|
|
@@ -987,6 +1037,19 @@ export interface OutcomeFormYfFieldVisitOutcomeFormProperties {
|
|
|
987
1037
|
* @default
|
|
988
1038
|
*/
|
|
989
1039
|
NewDeviceSerial1: string;
|
|
1040
|
+
/** The gate on the whole ONT branch: NO is what asks for a failure reason.
|
|
1041
|
+
*
|
|
1042
|
+
* @type {ENUM}
|
|
1043
|
+
* @default
|
|
1044
|
+
* @enum {YfFieldVisitOutcomeFormONTChecksPassed}
|
|
1045
|
+
*/
|
|
1046
|
+
OntChecksPassed: YfFieldVisitOutcomeFormONTChecksPassed;
|
|
1047
|
+
/** The proof behind a YES: a reading taken at the worst point in the property, not the best.
|
|
1048
|
+
*
|
|
1049
|
+
* @type {FILE_MULTIPLE}
|
|
1050
|
+
* @default
|
|
1051
|
+
*/
|
|
1052
|
+
AbleToAchieveSignalEvidence: string;
|
|
990
1053
|
/** Where the router actually is — the answer text alone rarely settles a coverage argument.
|
|
991
1054
|
*
|
|
992
1055
|
* @type {FILE_MULTIPLE}
|
|
@@ -1162,6 +1225,12 @@ export interface OutcomeFormYfFieldVisitOutcomeFormProperties {
|
|
|
1162
1225
|
* @default
|
|
1163
1226
|
*/
|
|
1164
1227
|
CustomerSignature: string;
|
|
1228
|
+
/** RETIRED round 1 — replaced by ONTLightLevelPhoto + ONTStatusLightsPhoto. Off the form, column kept.
|
|
1229
|
+
*
|
|
1230
|
+
* @type {FILE_MULTIPLE}
|
|
1231
|
+
* @default
|
|
1232
|
+
*/
|
|
1233
|
+
OntChecksPhoto: string;
|
|
1165
1234
|
}
|
|
1166
1235
|
/**
|
|
1167
1236
|
* YfFieldVisitOutcomeForm entity from FieldServiceModule
|
|
@@ -1186,6 +1255,8 @@ export declare class YfFieldVisitOutcomeForm extends OdinRecord<YfFieldVisitOutc
|
|
|
1186
1255
|
Note: OdinLink<LinkedOdinRecord<NoteProperties>>;
|
|
1187
1256
|
/** Linked File records (YfFieldVisitOutcomeForm__File) */
|
|
1188
1257
|
File: OdinLink<LinkedOdinRecord<FileProperties>>;
|
|
1258
|
+
/** Linked User records (YfFieldVisitOutcomeForm__User) */
|
|
1259
|
+
User: OdinLink<LinkedOdinRecord<UserProperties>>;
|
|
1189
1260
|
}
|
|
1190
1261
|
/**
|
|
1191
1262
|
* RabbitMQ routing keys for YfFieldVisitOutcomeForm events
|
|
@@ -1197,12 +1268,6 @@ export declare const ROUTING_KEY_YF_FIELD_VISIT_OUTCOME_FORM_DELETED = "FieldSer
|
|
|
1197
1268
|
* Type-specific routing keys for YfFieldVisitOutcomeForm events
|
|
1198
1269
|
* Subscribe to these for events on specific entity types only
|
|
1199
1270
|
*/
|
|
1200
|
-
/** This is the default record type created */
|
|
1201
|
-
export declare const ROUTING_KEY_YF_FIELD_VISIT_OUTCOME_FORM_DEFAULT_CREATED = "FieldServiceModule.YfFieldVisitOutcomeForm.DEFAULT.SubDbRecordCreated";
|
|
1202
|
-
/** This is the default record type updated */
|
|
1203
|
-
export declare const ROUTING_KEY_YF_FIELD_VISIT_OUTCOME_FORM_DEFAULT_UPDATED = "FieldServiceModule.YfFieldVisitOutcomeForm.DEFAULT.SubDbRecordUpdated";
|
|
1204
|
-
/** This is the default record type deleted */
|
|
1205
|
-
export declare const ROUTING_KEY_YF_FIELD_VISIT_OUTCOME_FORM_DEFAULT_DELETED = "FieldServiceModule.YfFieldVisitOutcomeForm.DEFAULT.SubDbRecordDeleted";
|
|
1206
1271
|
/** The single record type on this entity, named to match every sibling outcome form in FieldServiceModule. One type is why the form needs no record-type selector. created */
|
|
1207
1272
|
export declare const ROUTING_KEY_YF_FIELD_VISIT_OUTCOME_FORM_OUTCOME_FORM_CREATED = "FieldServiceModule.YfFieldVisitOutcomeForm.OUTCOME_FORM.SubDbRecordCreated";
|
|
1208
1273
|
/** The single record type on this entity, named to match every sibling outcome form in FieldServiceModule. One type is why the form needs no record-type selector. updated */
|
|
@@ -1221,3 +1286,7 @@ export declare const ROUTING_KEY_LINK_YF_FIELD_VISIT_OUTCOME_FORM_NOTE_DELETED =
|
|
|
1221
1286
|
export declare const ROUTING_KEY_LINK_YF_FIELD_VISIT_OUTCOME_FORM_FILE_CREATED = "FieldServiceModule.YfFieldVisitOutcomeForm.File.SubDbRecordAssociationCreated";
|
|
1222
1287
|
/** Event: YfFieldVisitOutcomeForm__File link deleted */
|
|
1223
1288
|
export declare const ROUTING_KEY_LINK_YF_FIELD_VISIT_OUTCOME_FORM_FILE_DELETED = "FieldServiceModule.YfFieldVisitOutcomeForm.File.SubDbRecordAssociationDeleted";
|
|
1289
|
+
/** Event: YfFieldVisitOutcomeForm__User link created */
|
|
1290
|
+
export declare const ROUTING_KEY_LINK_YF_FIELD_VISIT_OUTCOME_FORM_USER_CREATED = "FieldServiceModule.YfFieldVisitOutcomeForm.User.SubDbRecordAssociationCreated";
|
|
1291
|
+
/** Event: YfFieldVisitOutcomeForm__User link deleted */
|
|
1292
|
+
export declare const ROUTING_KEY_LINK_YF_FIELD_VISIT_OUTCOME_FORM_USER_DELETED = "FieldServiceModule.YfFieldVisitOutcomeForm.User.SubDbRecordAssociationDeleted";
|