@autologix-engineering/shared 1.2.373 → 1.2.375

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.
Files changed (46) hide show
  1. package/package.json +1 -1
  2. package/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.d.ts +4 -0
  3. package/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.js +21 -1
  4. package/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.js.map +1 -1
  5. package/src/lib/data-transfer-objects/src/create.dispatch.dto.d.ts +4 -0
  6. package/src/lib/data-transfer-objects/src/create.dispatch.dto.js +21 -1
  7. package/src/lib/data-transfer-objects/src/create.dispatch.dto.js.map +1 -1
  8. package/src/lib/data-transfer-objects/src/update.safety.and.compliance.config.dto.d.ts +11 -0
  9. package/src/lib/data-transfer-objects/src/update.safety.and.compliance.config.dto.js +7 -0
  10. package/src/lib/data-transfer-objects/src/update.safety.and.compliance.config.dto.js.map +1 -1
  11. package/src/lib/date-utils/src/zoop.date.d.ts +8 -0
  12. package/src/lib/date-utils/src/zoop.date.js +38 -0
  13. package/src/lib/date-utils/src/zoop.date.js.map +1 -1
  14. package/src/lib/enums/src/model.enum.d.ts +1 -0
  15. package/src/lib/enums/src/model.enum.js +1 -0
  16. package/src/lib/enums/src/model.enum.js.map +1 -1
  17. package/src/lib/enums/src/report.module.type.enum.d.ts +2 -1
  18. package/src/lib/enums/src/report.module.type.enum.js +1 -0
  19. package/src/lib/enums/src/report.module.type.enum.js.map +1 -1
  20. package/src/lib/enums/src/vehicle.compliance.enum.d.ts +9 -0
  21. package/src/lib/enums/src/vehicle.compliance.enum.js +9 -0
  22. package/src/lib/enums/src/vehicle.compliance.enum.js.map +1 -1
  23. package/src/lib/models/src/configurations.model.d.ts +15 -0
  24. package/src/lib/models/src/configurations.model.js +14 -0
  25. package/src/lib/models/src/configurations.model.js.map +1 -1
  26. package/src/lib/models/src/index.d.ts +1 -0
  27. package/src/lib/models/src/index.js +1 -0
  28. package/src/lib/models/src/index.js.map +1 -1
  29. package/src/lib/models/src/vehicle.association.file.model.d.ts +34 -1
  30. package/src/lib/models/src/vehicle.association.file.model.js +31 -0
  31. package/src/lib/models/src/vehicle.association.file.model.js.map +1 -1
  32. package/src/lib/models/src/vehicle.verification.log.model.d.ts +81 -0
  33. package/src/lib/models/src/vehicle.verification.log.model.js +51 -0
  34. package/src/lib/models/src/vehicle.verification.log.model.js.map +1 -0
  35. package/src/lib/utilities/src/index.d.ts +1 -0
  36. package/src/lib/utilities/src/index.js +1 -0
  37. package/src/lib/utilities/src/index.js.map +1 -1
  38. package/src/lib/utilities/src/map.compliance.from.rc.d.ts +17 -0
  39. package/src/lib/utilities/src/map.compliance.from.rc.js +14 -1
  40. package/src/lib/utilities/src/map.compliance.from.rc.js.map +1 -1
  41. package/src/lib/utilities/src/resolve.passenger.display.name.d.ts +18 -0
  42. package/src/lib/utilities/src/resolve.passenger.display.name.js +40 -13
  43. package/src/lib/utilities/src/resolve.passenger.display.name.js.map +1 -1
  44. package/src/lib/utilities/src/spot.placeholder.registration.d.ts +49 -0
  45. package/src/lib/utilities/src/spot.placeholder.registration.js +88 -0
  46. package/src/lib/utilities/src/spot.placeholder.registration.js.map +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autologix-engineering/shared",
3
- "version": "1.2.373",
3
+ "version": "1.2.375",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0"
6
6
  },
@@ -1,7 +1,11 @@
1
+ import { DutiesQueryDTO } from './duties.query.dto';
1
2
  export declare class CreateConsolidatedInvoiceDto {
2
3
  contextId: string;
3
4
  clientPersonaId: string;
4
5
  bookingIds: string[];
6
+ selectAll?: boolean;
7
+ excludedIds?: string[];
8
+ filters?: DutiesQueryDTO;
5
9
  clientGSTIN: string;
6
10
  companyAddress: string;
7
11
  companyAddressId?: string;
@@ -1,5 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { ArrayMinSize, IsArray, IsOptional, IsString, IsUUID, } from 'class-validator';
2
+ import { ArrayMinSize, IsArray, IsBoolean, IsOptional, IsString, IsUUID, ValidateIf, ValidateNested, } from 'class-validator';
3
+ import { Type } from 'class-transformer';
4
+ import { DutiesQueryDTO } from './duties.query.dto';
3
5
  export class CreateConsolidatedInvoiceDto {
4
6
  constructor(obj) {
5
7
  Object.assign(this, obj);
@@ -14,11 +16,29 @@ __decorate([
14
16
  __metadata("design:type", String)
15
17
  ], CreateConsolidatedInvoiceDto.prototype, "clientPersonaId", void 0);
16
18
  __decorate([
19
+ ValidateIf((o) => !o.selectAll),
17
20
  IsArray(),
18
21
  ArrayMinSize(1),
19
22
  IsString({ each: true }),
20
23
  __metadata("design:type", Array)
21
24
  ], CreateConsolidatedInvoiceDto.prototype, "bookingIds", void 0);
25
+ __decorate([
26
+ IsOptional(),
27
+ IsBoolean(),
28
+ __metadata("design:type", Boolean)
29
+ ], CreateConsolidatedInvoiceDto.prototype, "selectAll", void 0);
30
+ __decorate([
31
+ IsOptional(),
32
+ IsArray(),
33
+ IsString({ each: true }),
34
+ __metadata("design:type", Array)
35
+ ], CreateConsolidatedInvoiceDto.prototype, "excludedIds", void 0);
36
+ __decorate([
37
+ ValidateIf((o) => !!o.selectAll),
38
+ ValidateNested(),
39
+ Type(() => DutiesQueryDTO),
40
+ __metadata("design:type", DutiesQueryDTO)
41
+ ], CreateConsolidatedInvoiceDto.prototype, "filters", void 0);
22
42
  __decorate([
23
43
  IsOptional(),
24
44
  IsString(),
@@ -1 +1 @@
1
- {"version":3,"file":"create.consolidated.invoice.dto.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,MAAM,GACN,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,4BAA4B;IA4CxC,YAAY,GAA2C;QACtD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;CACD;AA7CA;IADC,MAAM,EAAE;;+DACS;AAGlB;IADC,MAAM,EAAE;;qEACe;AAKxB;IAHC,OAAO,EAAE;IACT,YAAY,CAAC,CAAC,CAAC;IACf,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;gEACJ;AAIrB;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;iEACS;AAIpB;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;oEACY;AAOvB;IAFC,UAAU,EAAE;IACZ,MAAM,EAAE;;sEACiB;AAI1B;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;0EACkB;AAI7B;IAFC,UAAU,EAAE;IACZ,MAAM,EAAE;;6DACO;AAIhB;IAFC,UAAU,EAAE;IACZ,MAAM,EAAE;;2DACM;AAKf;IAHC,UAAU,EAAE;IACZ,OAAO,EAAE;IACT,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;6DACP"}
1
+ {"version":3,"file":"create.consolidated.invoice.dto.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,YAAY,EACZ,OAAO,EACP,SAAS,EACT,UAAU,EACV,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,4BAA4B;IA2DxC,YAAY,GAA2C;QACtD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;CACD;AA5DA;IADC,MAAM,EAAE;;+DACS;AAGlB;IADC,MAAM,EAAE;;qEACe;AAMxB;IAJC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/B,OAAO,EAAE;IACT,YAAY,CAAC,CAAC,CAAC;IACf,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;gEACJ;AAIrB;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;+DACQ;AAKpB;IAHC,UAAU,EAAE;IACZ,OAAO,EAAE;IACT,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;iEACF;AAKvB;IAHC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChC,cAAc,EAAE;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC;8BACjB,cAAc;6DAAC;AAIzB;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;iEACS;AAIpB;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;oEACY;AAOvB;IAFC,UAAU,EAAE;IACZ,MAAM,EAAE;;sEACiB;AAI1B;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;0EACkB;AAI7B;IAFC,UAAU,EAAE;IACZ,MAAM,EAAE;;6DACO;AAIhB;IAFC,UAAU,EAAE;IACZ,MAAM,EAAE;;2DACM;AAKf;IAHC,UAAU,EAAE;IACZ,OAAO,EAAE;IACT,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;6DACP"}
@@ -1,5 +1,9 @@
1
+ import { DutiesQueryDTO } from './duties.query.dto';
1
2
  export declare class CreateDispatchDto {
2
3
  requestIds: string[];
4
+ selectAll?: boolean;
5
+ excludedIds?: string[];
6
+ filters?: DutiesQueryDTO;
3
7
  garagePlaceId?: string;
4
8
  dispatchDate?: string;
5
9
  contextId: string;
@@ -1,16 +1,36 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { ArrayMinSize, IsArray, IsDateString, IsOptional, IsUUID, } from 'class-validator';
2
+ import { ArrayMinSize, IsArray, IsBoolean, IsDateString, IsOptional, IsString, IsUUID, ValidateIf, ValidateNested, } from 'class-validator';
3
+ import { Type } from 'class-transformer';
4
+ import { DutiesQueryDTO } from './duties.query.dto';
3
5
  export class CreateDispatchDto {
4
6
  constructor(obj) {
5
7
  Object.assign(this, obj);
6
8
  }
7
9
  }
8
10
  __decorate([
11
+ ValidateIf((o) => !o.selectAll),
9
12
  IsArray(),
10
13
  ArrayMinSize(1),
11
14
  IsUUID('4', { each: true }),
12
15
  __metadata("design:type", Array)
13
16
  ], CreateDispatchDto.prototype, "requestIds", void 0);
17
+ __decorate([
18
+ IsOptional(),
19
+ IsBoolean(),
20
+ __metadata("design:type", Boolean)
21
+ ], CreateDispatchDto.prototype, "selectAll", void 0);
22
+ __decorate([
23
+ IsOptional(),
24
+ IsArray(),
25
+ IsString({ each: true }),
26
+ __metadata("design:type", Array)
27
+ ], CreateDispatchDto.prototype, "excludedIds", void 0);
28
+ __decorate([
29
+ ValidateIf((o) => !!o.selectAll),
30
+ ValidateNested(),
31
+ Type(() => DutiesQueryDTO),
32
+ __metadata("design:type", DutiesQueryDTO)
33
+ ], CreateDispatchDto.prototype, "filters", void 0);
14
34
  __decorate([
15
35
  IsUUID(),
16
36
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":"create.dispatch.dto.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/data-transfer-objects/src/create.dispatch.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,MAAM,GACN,MAAM,iBAAiB,CAAC;AAEzB,MAAM,OAAO,iBAAiB;IAmB7B,YAAY,GAAgC;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;CACD;AAlBA;IAHC,OAAO,EAAE;IACT,YAAY,CAAC,CAAC,CAAC;IACf,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;qDACP;AAMrB;IADC,MAAM,EAAE;;wDACc;AAIvB;IAFC,UAAU,EAAE;IACZ,YAAY,EAAE;;uDACO;AAGtB;IADC,MAAM,CAAC,GAAG,CAAC;;oDACM"}
1
+ {"version":3,"file":"create.dispatch.dto.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/data-transfer-objects/src/create.dispatch.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,YAAY,EACZ,OAAO,EACP,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,iBAAiB;IAkC7B,YAAY,GAAgC;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;CACD;AAhCA;IAJC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/B,OAAO,EAAE;IACT,YAAY,CAAC,CAAC,CAAC;IACf,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;qDACP;AAIrB;IAFC,UAAU,EAAE;IACZ,SAAS,EAAE;;oDACQ;AAKpB;IAHC,UAAU,EAAE;IACZ,OAAO,EAAE;IACT,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;sDACF;AAKvB;IAHC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChC,cAAc,EAAE;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC;8BACjB,cAAc;kDAAC;AAMzB;IADC,MAAM,EAAE;;wDACc;AAIvB;IAFC,UAAU,EAAE;IACZ,YAAY,EAAE;;uDACO;AAGtB;IADC,MAAM,CAAC,GAAG,CAAC;;oDACM"}
@@ -25,5 +25,16 @@ export declare class UpdateSafetyAndComplianceConfigDTO {
25
25
  * to disable overrides.
26
26
  */
27
27
  complianceMaxGraceDays?: number;
28
+ /**
29
+ * AD-3140 §3.4 — only vehicles allocated within this many days are swept
30
+ * against ZoopOne. A cost control: every hit is billable across a 5k+
31
+ * fleet.
32
+ *
33
+ * Bounded at 730. Beyond two years the filter stops filtering anything and
34
+ * the setting reads as enabled while doing nothing, which is worse than
35
+ * having no setting. 0 is meaningful and means "sweep nothing" — scheduled
36
+ * verification off, manual re-hits only.
37
+ */
38
+ complianceUtilisationWindowDays?: number;
28
39
  constructor(obj?: Partial<UpdateSafetyAndComplianceConfigDTO>);
29
40
  }
@@ -62,4 +62,11 @@ __decorate([
62
62
  Max(90),
63
63
  __metadata("design:type", Number)
64
64
  ], UpdateSafetyAndComplianceConfigDTO.prototype, "complianceMaxGraceDays", void 0);
65
+ __decorate([
66
+ IsOptional(),
67
+ IsInt(),
68
+ Min(0),
69
+ Max(730),
70
+ __metadata("design:type", Number)
71
+ ], UpdateSafetyAndComplianceConfigDTO.prototype, "complianceUtilisationWindowDays", void 0);
65
72
  //# sourceMappingURL=update.safety.and.compliance.config.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.safety.and.compliance.config.dto.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/data-transfer-objects/src/update.safety.and.compliance.config.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACN,MAAM,EACN,MAAM,EACN,QAAQ,EACR,UAAU,EACV,KAAK,EACL,GAAG,EACH,GAAG,GACH,MAAM,iBAAiB,CAAC;AAGzB,MAAM,OAAO,iBAAiB;CAwB7B;AAtBA;IADC,MAAM,CAAC,iBAAiB,CAAC;;kEACiB;AAG3C;IADC,MAAM,CAAC,iBAAiB,CAAC;;8CACH;AAGvB;IADC,MAAM,CAAC,iBAAiB,CAAC;;sDACK;AAG/B;IADC,MAAM,CAAC,iBAAiB,CAAC;;yDACQ;AAGlC;IADC,MAAM,CAAC,iBAAiB,CAAC;;kDACC;AAG3B;IADC,MAAM,CAAC,iBAAiB,CAAC;;kDACC;AAG3B;IADC,MAAM,CAAC,iBAAiB,CAAC;;+DACc;AAGxC;IADC,MAAM,CAAC,iBAAiB,CAAC;;iDACA;AAG3B,MAAM,OAAO,kCAAkC;IA6B9C,YAAY,GAAiD;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;CACD;AA9BA;IADC,MAAM,EAAE;;qEACS;AAGlB;IADC,QAAQ,EAAE;;4EACgD;AAW3D;IAJC,UAAU,EAAE;IACZ,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,GAAG,CAAC;;uFAC4B;AAWrC;IAJC,UAAU,EAAE;IACZ,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,EAAE,CAAC;;kFACwB"}
1
+ {"version":3,"file":"update.safety.and.compliance.config.dto.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/data-transfer-objects/src/update.safety.and.compliance.config.dto.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACN,MAAM,EACN,MAAM,EACN,QAAQ,EACR,UAAU,EACV,KAAK,EACL,GAAG,EACH,GAAG,GACH,MAAM,iBAAiB,CAAC;AAGzB,MAAM,OAAO,iBAAiB;CAwB7B;AAtBA;IADC,MAAM,CAAC,iBAAiB,CAAC;;kEACiB;AAG3C;IADC,MAAM,CAAC,iBAAiB,CAAC;;8CACH;AAGvB;IADC,MAAM,CAAC,iBAAiB,CAAC;;sDACK;AAG/B;IADC,MAAM,CAAC,iBAAiB,CAAC;;yDACQ;AAGlC;IADC,MAAM,CAAC,iBAAiB,CAAC;;kDACC;AAG3B;IADC,MAAM,CAAC,iBAAiB,CAAC;;kDACC;AAG3B;IADC,MAAM,CAAC,iBAAiB,CAAC;;+DACc;AAGxC;IADC,MAAM,CAAC,iBAAiB,CAAC;;iDACA;AAG3B,MAAM,OAAO,kCAAkC;IA6C9C,YAAY,GAAiD;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;CACD;AA9CA;IADC,MAAM,EAAE;;qEACS;AAGlB;IADC,QAAQ,EAAE;;4EACgD;AAW3D;IAJC,UAAU,EAAE;IACZ,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,GAAG,CAAC;;uFAC4B;AAWrC;IAJC,UAAU,EAAE;IACZ,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,EAAE,CAAC;;kFACwB;AAgBhC;IAJC,UAAU,EAAE;IACZ,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,GAAG,CAAC;;2FACgC"}
@@ -22,6 +22,14 @@
22
22
  * "no data" stays distinguishable from "expired" all the way to the block
23
23
  * decision.
24
24
  */
25
+ /**
26
+ * True when a Zoop value states the levy is paid for the life of the vehicle.
27
+ *
28
+ * Callers must treat this as VALID-forever, not as absent. `parseZoopDate`
29
+ * returns null for these — correctly, since there is no date — so this is the
30
+ * only thing that distinguishes them from a genuinely missing record.
31
+ */
32
+ export declare const isZoopLifetimeValue: (raw: unknown) => boolean;
25
33
  /**
26
34
  * Normalises a raw Zoop scalar to a string, or null when it carries no data.
27
35
  *
@@ -37,6 +37,44 @@ const NO_DATA_TOKENS = new Set([
37
37
  '--',
38
38
  '0000-00-00',
39
39
  ]);
40
+ /**
41
+ * Values Zoop uses to mean "this levy has no expiry — it was paid once, for
42
+ * the life of the vehicle".
43
+ *
44
+ * Seen live in `rc_tax_upto` as 'LTT' (Life Time Tax) on an ordinary private
45
+ * car. This is the OPPOSITE of no-data and must never be confused with it:
46
+ * 'NA' means the RTO has no record, 'LTT' means the RTO positively states
47
+ * there is nothing further to pay and no date to renew by.
48
+ *
49
+ * The distinction became load-bearing when a missing MANDATORY compliance
50
+ * started blocking allocation (AD-3140, QA round 2 finding G). Parsing 'LTT'
51
+ * to null makes Road Tax read as No Data, so any context configuring Road Tax
52
+ * as mandatory would permanently ground every lifetime-tax vehicle — most of a
53
+ * private fleet — with no way out, because the RTO will never return a date
54
+ * for it however many times the vehicle is re-verified.
55
+ */
56
+ const LIFETIME_TOKENS = new Set([
57
+ 'ltt',
58
+ 'ott',
59
+ 'lifetime',
60
+ 'life time',
61
+ 'life time tax',
62
+ 'lifetime tax',
63
+ 'one time tax',
64
+ ]);
65
+ /**
66
+ * True when a Zoop value states the levy is paid for the life of the vehicle.
67
+ *
68
+ * Callers must treat this as VALID-forever, not as absent. `parseZoopDate`
69
+ * returns null for these — correctly, since there is no date — so this is the
70
+ * only thing that distinguishes them from a genuinely missing record.
71
+ */
72
+ export const isZoopLifetimeValue = (raw) => {
73
+ const s = parseZoopValue(raw);
74
+ if (!s)
75
+ return false;
76
+ return LIFETIME_TOKENS.has(s.trim().toLowerCase().replace(/\s+/g, ' '));
77
+ };
40
78
  const MONTHS = {
41
79
  jan: 0,
42
80
  feb: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"zoop.date.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/date-utils/src/zoop.date.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zoop.date.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/date-utils/src/zoop.date.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC9B,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,GAAG;IACH,IAAI;IACJ,YAAY;CACZ,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC/B,KAAK;IACL,KAAK;IACL,UAAU;IACV,WAAW;IACX,eAAe;IACf,cAAc;IACd,cAAc;CACd,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAY,EAAW,EAAE;IAC5D,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,MAAM,GAA2B;IACtC,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;CACP,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAY,EAAiB,EAAE;IAC7D,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAY,EAAe,EAAE;IAC1D,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpB,IAAI,IAAY,CAAC;IACjB,IAAI,KAAa,CAAC;IAClB,IAAI,GAAW,CAAC;IAEhB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAEpD,IAAI,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACjC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,UAAU,EAAE,CAAC;QACvB,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3B,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAEhE,4EAA4E;IAC5E,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,2DAA2D;IAC3D,IACC,OAAO,CAAC,cAAc,EAAE,KAAK,IAAI;QACjC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK;QAC/B,OAAO,CAAC,UAAU,EAAE,KAAK,GAAG,EAC3B,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAY,EAAkB,EAAE;IAC7D,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,IAAI,CAAC;AACb,CAAC,CAAC"}
@@ -122,6 +122,7 @@ export declare enum ModelType {
122
122
  VehicleAssociation = "VehicleAssociation",
123
123
  VehicleAssociationFile = "VehicleAssociationFile",
124
124
  SpotVehicleComplianceCheck = "SpotVehicleComplianceCheck",
125
+ VehicleVerificationLog = "VehicleVerificationLog",
125
126
  VehicleLocation = "VehicleLocation",
126
127
  Vehicle = "Vehicle",
127
128
  VehicleRegistration = "VehicleRegistration",
@@ -123,6 +123,7 @@ export var ModelType;
123
123
  ModelType["VehicleAssociation"] = "VehicleAssociation";
124
124
  ModelType["VehicleAssociationFile"] = "VehicleAssociationFile";
125
125
  ModelType["SpotVehicleComplianceCheck"] = "SpotVehicleComplianceCheck";
126
+ ModelType["VehicleVerificationLog"] = "VehicleVerificationLog";
126
127
  ModelType["VehicleLocation"] = "VehicleLocation";
127
128
  ModelType["Vehicle"] = "Vehicle";
128
129
  ModelType["VehicleRegistration"] = "VehicleRegistration";
@@ -1 +1 @@
1
- {"version":3,"file":"model.enum.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/enums/src/model.enum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.enum.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/enums/src/model.enum.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ export declare enum ReportModuleType {
6
6
  /** AD-3177 — Report Center › Drivers › License Expiry. */
7
7
  DriverLicenseExpiry = "DriverLicenseExpiry",
8
8
  /** AD-3181 — Report Center › Vehicles › Compliance Validity. */
9
- VehicleComplianceValidity = "VehicleComplianceValidity"
9
+ VehicleComplianceValidity = "VehicleComplianceValidity",
10
+ VehicleVerificationApiLog = "VehicleVerificationApiLog"
10
11
  }
11
12
  export declare enum ReportDateType {
12
13
  InvoiceDate = "InvoiceDate",
@@ -8,6 +8,7 @@ export var ReportModuleType;
8
8
  ReportModuleType["DriverLicenseExpiry"] = "DriverLicenseExpiry";
9
9
  /** AD-3181 — Report Center › Vehicles › Compliance Validity. */
10
10
  ReportModuleType["VehicleComplianceValidity"] = "VehicleComplianceValidity";
11
+ ReportModuleType["VehicleVerificationApiLog"] = "VehicleVerificationApiLog";
11
12
  })(ReportModuleType || (ReportModuleType = {}));
12
13
  export var ReportDateType;
13
14
  (function (ReportDateType) {
@@ -1 +1 @@
1
- {"version":3,"file":"report.module.type.enum.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/enums/src/report.module.type.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC3B,qFAAiE,CAAA;IACjE,qEAAiD,CAAA;IACjD,6DAAyC,CAAA;IACzC,mDAA+B,CAAA;IAC/B,0DAA0D;IAC1D,+DAA2C,CAAA;IAC3C,gEAAgE;IAChE,2EAAuD,CAAA;AACxD,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACzB,6CAA2B,CAAA;IAC3B,2CAAyB,CAAA;IACzB,qDAAmC,CAAA;AACpC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"report.module.type.enum.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/enums/src/report.module.type.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC3B,qFAAiE,CAAA;IACjE,qEAAiD,CAAA;IACjD,6DAAyC,CAAA;IACzC,mDAA+B,CAAA;IAC/B,0DAA0D;IAC1D,+DAA2C,CAAA;IAC3C,gEAAgE;IAChE,2EAAuD,CAAA;IACvD,2EAAuD,CAAA;AACxD,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACzB,6CAA2B,CAAA;IAC3B,2CAAyB,CAAA;IACzB,qDAAmC,CAAA;AACpC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
@@ -66,6 +66,15 @@ export declare enum ComplianceStanding {
66
66
  * sets the default at 30 days).
67
67
  */
68
68
  export declare const DEFAULT_COMPLIANCE_WARNING_WINDOW_DAYS = 30;
69
+ /**
70
+ * AD-3140 §3.4 — default utilisation window for the scheduled ZoopOne sweep.
71
+ *
72
+ * 90 days: long enough that a seasonally idle vehicle is still refreshed before
73
+ * anyone tries to deploy it, short enough to keep a 5k+ fleet's provider spend
74
+ * bounded. Overridable per context via
75
+ * ConfigurationField.ComplianceUtilisationWindowDays.
76
+ */
77
+ export declare const DEFAULT_COMPLIANCE_UTILISATION_WINDOW_DAYS = 90;
69
78
  /** Every compliance type, in the order AD-3140 §2 lists them. */
70
79
  export declare const VEHICLE_COMPLIANCE_KEYS: VehicleComplianceKey[];
71
80
  /**
@@ -70,6 +70,15 @@ export var ComplianceStanding;
70
70
  * sets the default at 30 days).
71
71
  */
72
72
  export const DEFAULT_COMPLIANCE_WARNING_WINDOW_DAYS = 30;
73
+ /**
74
+ * AD-3140 §3.4 — default utilisation window for the scheduled ZoopOne sweep.
75
+ *
76
+ * 90 days: long enough that a seasonally idle vehicle is still refreshed before
77
+ * anyone tries to deploy it, short enough to keep a 5k+ fleet's provider spend
78
+ * bounded. Overridable per context via
79
+ * ConfigurationField.ComplianceUtilisationWindowDays.
80
+ */
81
+ export const DEFAULT_COMPLIANCE_UTILISATION_WINDOW_DAYS = 90;
73
82
  /** Every compliance type, in the order AD-3140 §2 lists them. */
74
83
  export const VEHICLE_COMPLIANCE_KEYS = [
75
84
  VehicleComplianceKey.RegistrationCertificate,
@@ -1 +1 @@
1
- {"version":3,"file":"vehicle.compliance.enum.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/enums/src/vehicle.compliance.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAN,IAAY,oBASX;AATD,WAAY,oBAAoB;IAC/B,2EAAmD,CAAA;IACnD,mCAAW,CAAA;IACX,mDAA2B,CAAA;IAC3B,yDAAiC,CAAA;IACjC,2CAAmB,CAAA;IACnB,2CAAmB,CAAA;IACnB,qEAA6C,CAAA;IAC7C,yCAAiB,CAAA;AAClB,CAAC,EATW,oBAAoB,KAApB,oBAAoB,QAS/B;AAED;;;;GAIG;AACH,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC3B,+BAAW,CAAA;IACX,kDAA8B,CAAA;AAC/B,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,wEAAwE;AACxE,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC9B,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;IACjB,qDAA8B,CAAA;AAC/B,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED;;;;;;;;GAQG;AACH,MAAM,CAAN,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC7B,qCAAe,CAAA;IACf,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,wCAAkB,CAAA;IAClB,sDAAgC,CAAA;AACjC,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,EAAE,CAAC;AAEzD,iEAAiE;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC9D,oBAAoB,CAAC,uBAAuB;IAC5C,oBAAoB,CAAC,GAAG;IACxB,oBAAoB,CAAC,WAAW;IAChC,oBAAoB,CAAC,cAAc;IACnC,oBAAoB,CAAC,OAAO;IAC5B,oBAAoB,CAAC,OAAO;IAC5B,oBAAoB,CAAC,oBAAoB;IACzC,oBAAoB,CAAC,MAAM;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAyC;IAC9E,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,0BAA0B;IAC1E,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,8BAA8B;IAC1D,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,cAAc;IAClD,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,iBAAiB;IACxD,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,UAAU;IAC1C,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,SAAS;IACzC,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,uBAAuB;IACpE,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,SAAS;CACxC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC3C;IACC,UAAU,EAAE,oBAAoB,CAAC,OAAO;IACxC,sBAAsB,EAAE,oBAAoB,CAAC,uBAAuB;IACpE,8BAA8B,EAAE,oBAAoB,CAAC,uBAAuB;IAC5E,yBAAyB,EAAE,oBAAoB,CAAC,GAAG;IACnD,GAAG,EAAE,oBAAoB,CAAC,GAAG;IAC7B,WAAW,EAAE,oBAAoB,CAAC,oBAAoB;IACtD,QAAQ,EAAE,oBAAoB,CAAC,MAAM;CACrC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,IAAoB,EACU,EAAE;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC3C,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE,CAAC;YACjE,OAAO,GAAG,CAAC;QACZ,CAAC;IACF,CAAC;IACD,OAAO,+BAA+B,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AAC5D,CAAC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAEpC;IACH,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,gBAAgB;IAChE,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,qBAAqB;IACjD,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,uBAAuB;IAC3D,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,6BAA6B;IACpE,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,aAAa;IAC7C,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,aAAa;IAC7C,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,uBAAuB;CACpE,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC9D,oBAAoB,CAAC,MAAM;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IAClE,oBAAoB,CAAC,WAAW;IAChC,oBAAoB,CAAC,cAAc;IACnC,oBAAoB,CAAC,MAAM;CAC3B,CAAC"}
1
+ {"version":3,"file":"vehicle.compliance.enum.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/enums/src/vehicle.compliance.enum.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,20 @@ export declare enum ConfigurationField {
61
61
  * disables the override entirely, which is the safe default.
62
62
  */
63
63
  ComplianceMaxGraceDays = "cmplMaxGraceDays",
64
+ /**
65
+ * AD-3140 §3.4 — only vehicles allocated to a booking within this many days
66
+ * are re-verified against ZoopOne by the scheduled sweep.
67
+ *
68
+ * A cost control, not a correctness one: every provider hit is billable and
69
+ * the fleet is 5k+ vehicles, so a car nobody has dispatched in months is
70
+ * not worth re-asking about — it will be verified on demand the moment
71
+ * someone tries to deploy it, and the manual re-hit covers the rest.
72
+ *
73
+ * Null falls back to DEFAULT_COMPLIANCE_UTILISATION_WINDOW_DAYS. Zero is a
74
+ * meaningful value and means "sweep nothing" — the scheduled hit is off and
75
+ * only manual re-hits happen.
76
+ */
77
+ ComplianceUtilisationWindowDays = "cmplUtilDays",
64
78
  MarkTripAsCompletedOnPassengerDeboardingCorporate = "mrkCmpltdOnDbordCrprt",
65
79
  MarkTripAsCompletedOnPassengerDeboardingNonCorporate = "mrkCmpltdOnDbordNnCrprt",
66
80
  DriverSACCode = "driverSACCode",
@@ -193,6 +207,7 @@ export interface IConfigurations extends TypedModel {
193
207
  [ConfigurationField.safetyAndCompliance]: Record<OwnershipType, ISafetyAndCompliance>;
194
208
  [ConfigurationField.ComplianceWarningWindowDays]: number | null;
195
209
  [ConfigurationField.ComplianceMaxGraceDays]: number | null;
210
+ [ConfigurationField.ComplianceUtilisationWindowDays]: number | null;
196
211
  [ConfigurationField.MarkTripAsCompletedOnPassengerDeboardingCorporate]: boolean;
197
212
  [ConfigurationField.MarkTripAsCompletedOnPassengerDeboardingNonCorporate]: boolean;
198
213
  [ConfigurationField.DriverSACCode]: string;
@@ -52,6 +52,20 @@ export var ConfigurationField;
52
52
  * disables the override entirely, which is the safe default.
53
53
  */
54
54
  ConfigurationField["ComplianceMaxGraceDays"] = "cmplMaxGraceDays";
55
+ /**
56
+ * AD-3140 §3.4 — only vehicles allocated to a booking within this many days
57
+ * are re-verified against ZoopOne by the scheduled sweep.
58
+ *
59
+ * A cost control, not a correctness one: every provider hit is billable and
60
+ * the fleet is 5k+ vehicles, so a car nobody has dispatched in months is
61
+ * not worth re-asking about — it will be verified on demand the moment
62
+ * someone tries to deploy it, and the manual re-hit covers the rest.
63
+ *
64
+ * Null falls back to DEFAULT_COMPLIANCE_UTILISATION_WINDOW_DAYS. Zero is a
65
+ * meaningful value and means "sweep nothing" — the scheduled hit is off and
66
+ * only manual re-hits happen.
67
+ */
68
+ ConfigurationField["ComplianceUtilisationWindowDays"] = "cmplUtilDays";
55
69
  ConfigurationField["MarkTripAsCompletedOnPassengerDeboardingCorporate"] = "mrkCmpltdOnDbordCrprt";
56
70
  ConfigurationField["MarkTripAsCompletedOnPassengerDeboardingNonCorporate"] = "mrkCmpltdOnDbordNnCrprt";
57
71
  ConfigurationField["DriverSACCode"] = "driverSACCode";
@@ -1 +1 @@
1
- {"version":3,"file":"configurations.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/configurations.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configurations.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/configurations.model.ts"],"names":[],"mappings":"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"}
@@ -337,3 +337,4 @@ export * from './tds.config.model';
337
337
  export * from './tds.config.activity.log.model';
338
338
  export * from './client.contract.date.change.model';
339
339
  export * from './configurations.activity.log.model';
340
+ export * from './vehicle.verification.log.model';
@@ -337,4 +337,5 @@ export * from './tds.config.model';
337
337
  export * from './tds.config.activity.log.model';
338
338
  export * from './client.contract.date.change.model';
339
339
  export * from './configurations.activity.log.model';
340
+ export * from './vehicle.verification.log.model';
340
341
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/index.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,38 @@ export declare enum VehicleAssociationFileField {
37
37
  /** Per-vehicle override of the global warning window (§4.1). */
38
38
  WarningWindowDaysOverride = "cmplWarnDaysOverride",
39
39
  /** Emergency override (§11): allocatable despite expiry until this instant. */
40
- GraceUntil = "cmplGraceUntil"
40
+ GraceUntil = "cmplGraceUntil",
41
+ /**
42
+ * The compliance's own reference number as the provider reports it — PUC
43
+ * number, permit number, insurance policy number.
44
+ *
45
+ * The RC mapper has always extracted these and nothing persisted them, so
46
+ * they were recomputed and discarded on every hit. One column rather than
47
+ * one per type: every compliance that has one means the same thing by it,
48
+ * "the identifier printed on this document".
49
+ */
50
+ DocumentNumber = "cmplDocNo",
51
+ /**
52
+ * Who issues or underwrites the compliance, as FREE TEXT — 'Tata AIG
53
+ * General Insurance Co. Ltd.' straight from the provider.
54
+ *
55
+ * Deliberately NOT a foreign key, and deliberately never written into
56
+ * VehicleInsurance.Company, which points at a VendorPersona: a commercial
57
+ * counterparty carrying a GSTIN, a PAN and bank details. Resolving a
58
+ * provider's free-text insurer name onto one of those by string similarity
59
+ * would bind a policy to the wrong legal entity — a record reachable from
60
+ * maintenance invoicing — and the failure would be silent. A wrong GSTIN on
61
+ * an insurance record is a far worse outcome than an empty field.
62
+ *
63
+ * It is also frequently unmatchable in principle: the RTO names the actual
64
+ * underwriter, while the vendor master only holds counterparties the
65
+ * business transacts with, so there is often no correct row to point at.
66
+ *
67
+ * So this is evidence, not a reference. Shown to the user as what Vahan
68
+ * reported, and usable as a suggestion when a human picks the vendor
69
+ * themselves. Nothing resolves it automatically.
70
+ */
71
+ Issuer = "cmplIssuer"
41
72
  }
42
73
  export interface IVehicleAssociationFile extends TypedModel {
43
74
  [VehicleAssociationFileField.VehicleAssociationFileId]: string;
@@ -65,4 +96,6 @@ export interface IVehicleAssociationFile extends TypedModel {
65
96
  [VehicleAssociationFileField.IsNotApplicable]?: boolean;
66
97
  [VehicleAssociationFileField.WarningWindowDaysOverride]?: number | null;
67
98
  [VehicleAssociationFileField.GraceUntil]?: Date | null;
99
+ [VehicleAssociationFileField.DocumentNumber]?: string | null;
100
+ [VehicleAssociationFileField.Issuer]?: string | null;
68
101
  }
@@ -44,5 +44,36 @@ export var VehicleAssociationFileField;
44
44
  VehicleAssociationFileField["WarningWindowDaysOverride"] = "cmplWarnDaysOverride";
45
45
  /** Emergency override (§11): allocatable despite expiry until this instant. */
46
46
  VehicleAssociationFileField["GraceUntil"] = "cmplGraceUntil";
47
+ /**
48
+ * The compliance's own reference number as the provider reports it — PUC
49
+ * number, permit number, insurance policy number.
50
+ *
51
+ * The RC mapper has always extracted these and nothing persisted them, so
52
+ * they were recomputed and discarded on every hit. One column rather than
53
+ * one per type: every compliance that has one means the same thing by it,
54
+ * "the identifier printed on this document".
55
+ */
56
+ VehicleAssociationFileField["DocumentNumber"] = "cmplDocNo";
57
+ /**
58
+ * Who issues or underwrites the compliance, as FREE TEXT — 'Tata AIG
59
+ * General Insurance Co. Ltd.' straight from the provider.
60
+ *
61
+ * Deliberately NOT a foreign key, and deliberately never written into
62
+ * VehicleInsurance.Company, which points at a VendorPersona: a commercial
63
+ * counterparty carrying a GSTIN, a PAN and bank details. Resolving a
64
+ * provider's free-text insurer name onto one of those by string similarity
65
+ * would bind a policy to the wrong legal entity — a record reachable from
66
+ * maintenance invoicing — and the failure would be silent. A wrong GSTIN on
67
+ * an insurance record is a far worse outcome than an empty field.
68
+ *
69
+ * It is also frequently unmatchable in principle: the RTO names the actual
70
+ * underwriter, while the vendor master only holds counterparties the
71
+ * business transacts with, so there is often no correct row to point at.
72
+ *
73
+ * So this is evidence, not a reference. Shown to the user as what Vahan
74
+ * reported, and usable as a suggestion when a human picks the vendor
75
+ * themselves. Nothing resolves it automatically.
76
+ */
77
+ VehicleAssociationFileField["Issuer"] = "cmplIssuer";
47
78
  })(VehicleAssociationFileField || (VehicleAssociationFileField = {}));
48
79
  //# sourceMappingURL=vehicle.association.file.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vehicle.association.file.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/vehicle.association.file.model.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,2BA+CX;AA/CD,WAAY,2BAA2B;IACtC,oFAAqD,CAAA;IACrD,wEAAyC,CAAA;IACzC,4EAA6C,CAAA;IAC7C,4CAAa,CAAA;IACb,wDAAyB,CAAA;IACzB,sDAAuB,CAAA;IACvB,sDAAuB,CAAA;IACvB,sDAAuB,CAAA;IACvB,wDAAyB,CAAA;IACzB,wDAAyB,CAAA;IACzB,4CAAa,CAAA;IACb,gDAAiB,CAAA;IACjB,kDAAmB,CAAA;IACnB,kDAAmB,CAAA;IACnB,sDAAuB,CAAA;IACvB,oDAAqB,CAAA;IACrB,kDAAmB,CAAA;IAEnB,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,iCAAiC;IACjC,EAAE;IACF,mEAAmE;IACnE,4EAA4E;IAC5E,uEAAuE;IACvE,uDAAuD;IAEvD,yEAAyE;IACzE,oDAAqB,CAAA;IACrB,wEAAwE;IACxE,kEAAmC,CAAA;IACnC,kEAAmC,CAAA;IACnC,2CAA2C;IAC3C,oEAAqC,CAAA;IACrC;;;;OAIG;IACH,oEAAqC,CAAA;IACrC,gEAAgE;IAChE,iFAAkD,CAAA;IAClD,+EAA+E;IAC/E,4DAA6B,CAAA;AAC9B,CAAC,EA/CW,2BAA2B,KAA3B,2BAA2B,QA+CtC"}
1
+ {"version":3,"file":"vehicle.association.file.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/vehicle.association.file.model.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,2BA8EX;AA9ED,WAAY,2BAA2B;IACtC,oFAAqD,CAAA;IACrD,wEAAyC,CAAA;IACzC,4EAA6C,CAAA;IAC7C,4CAAa,CAAA;IACb,wDAAyB,CAAA;IACzB,sDAAuB,CAAA;IACvB,sDAAuB,CAAA;IACvB,sDAAuB,CAAA;IACvB,wDAAyB,CAAA;IACzB,wDAAyB,CAAA;IACzB,4CAAa,CAAA;IACb,gDAAiB,CAAA;IACjB,kDAAmB,CAAA;IACnB,kDAAmB,CAAA;IACnB,sDAAuB,CAAA;IACvB,oDAAqB,CAAA;IACrB,kDAAmB,CAAA;IAEnB,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,iCAAiC;IACjC,EAAE;IACF,mEAAmE;IACnE,4EAA4E;IAC5E,uEAAuE;IACvE,uDAAuD;IAEvD,yEAAyE;IACzE,oDAAqB,CAAA;IACrB,wEAAwE;IACxE,kEAAmC,CAAA;IACnC,kEAAmC,CAAA;IACnC,2CAA2C;IAC3C,oEAAqC,CAAA;IACrC;;;;OAIG;IACH,oEAAqC,CAAA;IACrC,gEAAgE;IAChE,iFAAkD,CAAA;IAClD,+EAA+E;IAC/E,4DAA6B,CAAA;IAC7B;;;;;;;;OAQG;IACH,2DAA4B,CAAA;IAC5B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,oDAAqB,CAAA;AACtB,CAAC,EA9EW,2BAA2B,KAA3B,2BAA2B,QA8EtC"}
@@ -0,0 +1,81 @@
1
+ import { ComplianceHitStatus, ModelType } from '@autologix/shared/enums';
2
+ import { IBusinessContextOwner } from './business.context.owner.model';
3
+ import { IVehicleAssociation } from './vehicle.association.model';
4
+ export declare enum VehicleVerificationLogField {
5
+ VehicleVerificationLogId = "vhlVerificationLogId",
6
+ BusinessContextOwner = "ctx",
7
+ BusinessContextOwnerId = "ctxId",
8
+ /**
9
+ * The vehicle the hit was made for, when there is one.
10
+ *
11
+ * Null for a Spot Vehicle Compliance check: that path verifies a
12
+ * registration typed at the kerb, which by design has no vehicle record.
13
+ * The registration number is therefore the identifying column here, not
14
+ * this relation.
15
+ */
16
+ VehicleAssociation = "vhlAssociation",
17
+ VehicleAssociationId = "vhlAssociationId",
18
+ /** The RC number actually sent to the provider, normalised. */
19
+ RegistrationNumber = "regNumber",
20
+ /** Success or Failure. Only genuine attempts are logged. */
21
+ Status = "status",
22
+ /** What triggered the call — see VehicleVerificationSource. */
23
+ Source = "source",
24
+ /** Display name of the user, or 'System' for the scheduled sweep. */
25
+ TriggeredBy = "triggeredBy",
26
+ TriggeredByPhone = "triggeredByPhone",
27
+ TriggeredByEmail = "triggeredByEmail",
28
+ /** When the call was made. Stored UTC, rendered IST. */
29
+ CheckedAt = "checkedAt",
30
+ /**
31
+ * The provider's response, or the error on failure.
32
+ *
33
+ * Capped at 8000 characters. The RC-advance payload is ~4KB and Excel's
34
+ * cell limit is 32,767, so a whole response fits — but an unbounded column
35
+ * on a table the nightly sweep writes to hundreds of times a day is how a
36
+ * disk fills, and this environment has run out of disk once already.
37
+ */
38
+ Response = "response",
39
+ CreatedAt = "crdAt"
40
+ }
41
+ /** What caused a verification call. Rendered verbatim in the report. */
42
+ export declare enum VehicleVerificationSource {
43
+ /** The nightly re-verification sweep. */
44
+ ScheduledSweep = "Scheduled Sweep",
45
+ /** The automatic hit when a vehicle is first created. */
46
+ VehicleOnboarding = "Vehicle Onboarding",
47
+ /** A user pressing Fetch from API on the vehicle record. */
48
+ ManualReHit = "Manual Re-hit",
49
+ /** A Spot Vehicle Compliance check against a typed registration. */
50
+ SpotCheck = "Spot Check"
51
+ }
52
+ /**
53
+ * One row per ZoopOne/Vahan verification call (AD-3140).
54
+ *
55
+ * A genuine log, unlike `VehicleAssociation.cmplLastCheckedAt` and its
56
+ * siblings, which hold only the most recent result and are overwritten by the
57
+ * next hit. Those answer "is this vehicle current"; this answers "what have we
58
+ * been spending, on what, and what came back" — which is the question the
59
+ * Vehicle Verification API Log report exists to answer.
60
+ *
61
+ * Only calls actually MADE are recorded. A hit skipped because the context has
62
+ * no credentials, because the vehicle is a spot-hire placeholder, or because it
63
+ * was throttled never reached the provider, so it is not an API log entry.
64
+ */
65
+ export interface IVehicleVerificationLog {
66
+ modelType: ModelType;
67
+ [VehicleVerificationLogField.VehicleVerificationLogId]: string;
68
+ [VehicleVerificationLogField.BusinessContextOwner]?: IBusinessContextOwner;
69
+ [VehicleVerificationLogField.BusinessContextOwnerId]?: string;
70
+ [VehicleVerificationLogField.VehicleAssociation]?: IVehicleAssociation | null;
71
+ [VehicleVerificationLogField.VehicleAssociationId]?: string | null;
72
+ [VehicleVerificationLogField.RegistrationNumber]: string;
73
+ [VehicleVerificationLogField.Status]: ComplianceHitStatus;
74
+ [VehicleVerificationLogField.Source]: VehicleVerificationSource;
75
+ [VehicleVerificationLogField.TriggeredBy]: string;
76
+ [VehicleVerificationLogField.TriggeredByPhone]?: string | null;
77
+ [VehicleVerificationLogField.TriggeredByEmail]?: string | null;
78
+ [VehicleVerificationLogField.CheckedAt]: Date;
79
+ [VehicleVerificationLogField.Response]?: string | null;
80
+ [VehicleVerificationLogField.CreatedAt]?: Date;
81
+ }
@@ -0,0 +1,51 @@
1
+ export var VehicleVerificationLogField;
2
+ (function (VehicleVerificationLogField) {
3
+ VehicleVerificationLogField["VehicleVerificationLogId"] = "vhlVerificationLogId";
4
+ VehicleVerificationLogField["BusinessContextOwner"] = "ctx";
5
+ VehicleVerificationLogField["BusinessContextOwnerId"] = "ctxId";
6
+ /**
7
+ * The vehicle the hit was made for, when there is one.
8
+ *
9
+ * Null for a Spot Vehicle Compliance check: that path verifies a
10
+ * registration typed at the kerb, which by design has no vehicle record.
11
+ * The registration number is therefore the identifying column here, not
12
+ * this relation.
13
+ */
14
+ VehicleVerificationLogField["VehicleAssociation"] = "vhlAssociation";
15
+ VehicleVerificationLogField["VehicleAssociationId"] = "vhlAssociationId";
16
+ /** The RC number actually sent to the provider, normalised. */
17
+ VehicleVerificationLogField["RegistrationNumber"] = "regNumber";
18
+ /** Success or Failure. Only genuine attempts are logged. */
19
+ VehicleVerificationLogField["Status"] = "status";
20
+ /** What triggered the call — see VehicleVerificationSource. */
21
+ VehicleVerificationLogField["Source"] = "source";
22
+ /** Display name of the user, or 'System' for the scheduled sweep. */
23
+ VehicleVerificationLogField["TriggeredBy"] = "triggeredBy";
24
+ VehicleVerificationLogField["TriggeredByPhone"] = "triggeredByPhone";
25
+ VehicleVerificationLogField["TriggeredByEmail"] = "triggeredByEmail";
26
+ /** When the call was made. Stored UTC, rendered IST. */
27
+ VehicleVerificationLogField["CheckedAt"] = "checkedAt";
28
+ /**
29
+ * The provider's response, or the error on failure.
30
+ *
31
+ * Capped at 8000 characters. The RC-advance payload is ~4KB and Excel's
32
+ * cell limit is 32,767, so a whole response fits — but an unbounded column
33
+ * on a table the nightly sweep writes to hundreds of times a day is how a
34
+ * disk fills, and this environment has run out of disk once already.
35
+ */
36
+ VehicleVerificationLogField["Response"] = "response";
37
+ VehicleVerificationLogField["CreatedAt"] = "crdAt";
38
+ })(VehicleVerificationLogField || (VehicleVerificationLogField = {}));
39
+ /** What caused a verification call. Rendered verbatim in the report. */
40
+ export var VehicleVerificationSource;
41
+ (function (VehicleVerificationSource) {
42
+ /** The nightly re-verification sweep. */
43
+ VehicleVerificationSource["ScheduledSweep"] = "Scheduled Sweep";
44
+ /** The automatic hit when a vehicle is first created. */
45
+ VehicleVerificationSource["VehicleOnboarding"] = "Vehicle Onboarding";
46
+ /** A user pressing Fetch from API on the vehicle record. */
47
+ VehicleVerificationSource["ManualReHit"] = "Manual Re-hit";
48
+ /** A Spot Vehicle Compliance check against a typed registration. */
49
+ VehicleVerificationSource["SpotCheck"] = "Spot Check";
50
+ })(VehicleVerificationSource || (VehicleVerificationSource = {}));
51
+ //# sourceMappingURL=vehicle.verification.log.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vehicle.verification.log.model.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/models/src/vehicle.verification.log.model.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,2BAoCX;AApCD,WAAY,2BAA2B;IACtC,gFAAiD,CAAA;IACjD,2DAA4B,CAAA;IAC5B,+DAAgC,CAAA;IAChC;;;;;;;OAOG;IACH,oEAAqC,CAAA;IACrC,wEAAyC,CAAA;IACzC,+DAA+D;IAC/D,+DAAgC,CAAA;IAChC,4DAA4D;IAC5D,gDAAiB,CAAA;IACjB,+DAA+D;IAC/D,gDAAiB,CAAA;IACjB,qEAAqE;IACrE,0DAA2B,CAAA;IAC3B,oEAAqC,CAAA;IACrC,oEAAqC,CAAA;IACrC,wDAAwD;IACxD,sDAAuB,CAAA;IACvB;;;;;;;OAOG;IACH,oDAAqB,CAAA;IACrB,kDAAmB,CAAA;AACpB,CAAC,EApCW,2BAA2B,KAA3B,2BAA2B,QAoCtC;AAED,wEAAwE;AACxE,MAAM,CAAN,IAAY,yBASX;AATD,WAAY,yBAAyB;IACpC,yCAAyC;IACzC,+DAAkC,CAAA;IAClC,yDAAyD;IACzD,qEAAwC,CAAA;IACxC,4DAA4D;IAC5D,0DAA6B,CAAA;IAC7B,oEAAoE;IACpE,qDAAwB,CAAA;AACzB,CAAC,EATW,yBAAyB,KAAzB,yBAAyB,QASpC"}
@@ -43,3 +43,4 @@ export * from './resolve.invoice.bank.details';
43
43
  export * from './resolve.gst.state';
44
44
  export * from './ba.contract.lock';
45
45
  export * from './vehicle.insurance.validity';
46
+ export * from './spot.placeholder.registration';
@@ -43,4 +43,5 @@ export * from './resolve.invoice.bank.details';
43
43
  export * from './resolve.gst.state';
44
44
  export * from './ba.contract.lock';
45
45
  export * from './vehicle.insurance.validity';
46
+ export * from './spot.placeholder.registration';
46
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,OAAO,CAAC;AACtB,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,OAAO,CAAC;AACtB,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC"}
@@ -3,6 +3,23 @@ import { VehicleComplianceKey } from '@autologix/shared/enums';
3
3
  export interface RcComplianceMapping {
4
4
  expiries: Partial<Record<VehicleComplianceKey, Date | null>>;
5
5
  numbers: Partial<Record<VehicleComplianceKey, string | null>>;
6
+ /**
7
+ * Who issues or underwrites each compliance, as the provider's own free
8
+ * text. Only insurance carries one in the RC payload today
9
+ * (`insurance.company`), but it is a map so a provider that starts
10
+ * returning a permit-issuing authority needs no shape change.
11
+ */
12
+ issuers: Partial<Record<VehicleComplianceKey, string | null>>;
13
+ /**
14
+ * Compliances the provider states are paid for the life of the vehicle and
15
+ * so have no expiry — `rc_tax_upto: 'LTT'` on a private car.
16
+ *
17
+ * Reported separately from `expiries` because there is no date to report,
18
+ * and separately from "no data" because it is the opposite claim: the RTO
19
+ * is telling us there is nothing left to renew. A caller that conflates the
20
+ * two blocks a vehicle that can never be unblocked.
21
+ */
22
+ lifetime: Partial<Record<VehicleComplianceKey, boolean>>;
6
23
  /** From rc_commercial_status. Null when the provider omits it. */
7
24
  isCommercial: boolean | null;
8
25
  /** e.g. 'Contract Carriage Permit [L TAXI]' — which permit is actually held. */
@@ -1,4 +1,4 @@
1
- import { parseZoopDate, parseZoopFlag, parseZoopValue, } from '@autologix/shared/date-utils';
1
+ import { isZoopLifetimeValue, parseZoopDate, parseZoopFlag, parseZoopValue, } from '@autologix/shared/date-utils';
2
2
  import { VehicleComplianceKey } from '@autologix/shared/enums';
3
3
  /**
4
4
  * Maps an RC-advance result to compliance records (AD-3140 §5).
@@ -44,12 +44,25 @@ export const mapComplianceFromRc = (raw) => {
44
44
  // Form 42: no field in the payload. Left absent rather than
45
45
  // null-mapped so the distinction stays visible here.
46
46
  },
47
+ lifetime: {
48
+ // Road tax is the only levy the payload expresses this way. Kept as
49
+ // a map rather than a boolean so a provider that starts returning
50
+ // e.g. a lifetime permit needs no shape change here.
51
+ [VehicleComplianceKey.RoadTax]: isZoopLifetimeValue(r?.rc_tax_upto),
52
+ },
47
53
  numbers: {
48
54
  [VehicleComplianceKey.PUC]: parseZoopValue(r?.rc_pucc_no),
49
55
  [VehicleComplianceKey.StatePermit]: parseZoopValue(r?.rc_permit_number),
50
56
  [VehicleComplianceKey.NationalPermit]: parseZoopValue(r?.national_permit_number),
51
57
  [VehicleComplianceKey.InsuranceCertificate]: parseZoopValue(r?.insurance?.policy_number),
52
58
  },
59
+ issuers: {
60
+ // Verified against a live response: the insurer name comes back
61
+ // populated for real, unlike the owner-name fields Vahan masks to
62
+ // 'NA'. parseZoopValue still guards it, because a vehicle with no
63
+ // policy on record returns the sentinel here too.
64
+ [VehicleComplianceKey.InsuranceCertificate]: parseZoopValue(r?.insurance?.company),
65
+ },
53
66
  isCommercial: parseZoopFlag(r?.rc_commercial_status),
54
67
  permitType: parseZoopValue(r?.rc_permit_type),
55
68
  statusAsOn: parseZoopDate(r?.rc_status_as_on),
@@ -1 +1 @@
1
- {"version":3,"file":"map.compliance.from.rc.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/map.compliance.from.rc.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,aAAa,EACb,cAAc,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAsB/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAQ,EAAuB,EAAE;IACpE,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG,CAAC;IAC7B,OAAO;QACN,QAAQ,EAAE;YACT,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,aAAa,CAC5D,CAAC,EAAE,cAAc,IAAI,CAAC,EAAE,WAAW,CACnC;YACD,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,mBAAmB,CAAC;YACjE,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,aAAa,CAChD,CAAC,EAAE,qBAAqB,IAAI,CAAC,EAAE,oBAAoB,CACnD;YACD,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,aAAa,CACnD,CAAC,EAAE,2BAA2B,CAC9B;YACD,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;YAC7D,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,aAAa,CAC5C,CAAC,EAAE,WAAW,IAAI,CAAC,EAAE,YAAY,CACjC;YACD,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,aAAa,CACzD,CAAC,EAAE,SAAS,EAAE,WAAW,IAAI,CAAC,EAAE,cAAc,CAC9C;YACD,4DAA4D;YAC5D,qDAAqD;SACrD;QACD,OAAO,EAAE;YACR,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC;YACzD,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,cAAc,CACjD,CAAC,EAAE,gBAAgB,CACnB;YACD,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,cAAc,CACpD,CAAC,EAAE,sBAAsB,CACzB;YACD,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,cAAc,CAC1D,CAAC,EAAE,SAAS,EAAE,aAAa,CAC3B;SACD;QACD,YAAY,EAAE,aAAa,CAAC,CAAC,EAAE,oBAAoB,CAAC;QACpD,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC;QAC7C,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,eAAe,CAAC;QAC7C,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;QAChC,QAAQ,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC;QAClC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC;QACvC,aAAa,EAAE;YACd,gBAAgB,EAAE,aAAa,CAAC,CAAC,EAAE,iBAAiB,CAAC;YACrD,cAAc,EAAE,aAAa,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACzD;KACD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"map.compliance.from.rc.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/map.compliance.from.rc.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,cAAc,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAuC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAQ,EAAuB,EAAE;IACpE,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG,CAAC;IAC7B,OAAO;QACN,QAAQ,EAAE;YACT,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,aAAa,CAC5D,CAAC,EAAE,cAAc,IAAI,CAAC,EAAE,WAAW,CACnC;YACD,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,mBAAmB,CAAC;YACjE,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,aAAa,CAChD,CAAC,EAAE,qBAAqB,IAAI,CAAC,EAAE,oBAAoB,CACnD;YACD,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,aAAa,CACnD,CAAC,EAAE,2BAA2B,CAC9B;YACD,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;YAC7D,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,aAAa,CAC5C,CAAC,EAAE,WAAW,IAAI,CAAC,EAAE,YAAY,CACjC;YACD,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,aAAa,CACzD,CAAC,EAAE,SAAS,EAAE,WAAW,IAAI,CAAC,EAAE,cAAc,CAC9C;YACD,4DAA4D;YAC5D,qDAAqD;SACrD;QACD,QAAQ,EAAE;YACT,oEAAoE;YACpE,kEAAkE;YAClE,qDAAqD;YACrD,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,WAAW,CAAC;SACnE;QACD,OAAO,EAAE;YACR,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC;YACzD,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,cAAc,CACjD,CAAC,EAAE,gBAAgB,CACnB;YACD,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,cAAc,CACpD,CAAC,EAAE,sBAAsB,CACzB;YACD,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,cAAc,CAC1D,CAAC,EAAE,SAAS,EAAE,aAAa,CAC3B;SACD;QACD,OAAO,EAAE;YACR,gEAAgE;YAChE,kEAAkE;YAClE,kEAAkE;YAClE,kDAAkD;YAClD,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,cAAc,CAC1D,CAAC,EAAE,SAAS,EAAE,OAAO,CACrB;SACD;QACD,YAAY,EAAE,aAAa,CAAC,CAAC,EAAE,oBAAoB,CAAC;QACpD,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC;QAC7C,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,eAAe,CAAC;QAC7C,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;QAChC,QAAQ,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC;QAClC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC;QACvC,aAAa,EAAE;YACd,gBAAgB,EAAE,aAAa,CAAC,CAAC,EAAE,iBAAiB,CAAC;YACrD,cAAc,EAAE,aAAa,CAAC,CAAC,EAAE,uBAAuB,CAAC;SACzD;KACD,CAAC;AACH,CAAC,CAAC"}
@@ -1,2 +1,20 @@
1
1
  import { IPassenger, IRequest } from '@autologix/shared/models';
2
+ /**
3
+ * Resolves the name to display for a passenger — the `{{user_name}}` token in
4
+ * every alert template, the calendar invite title, the booking report column.
5
+ *
6
+ * `Passenger.psngrName` cannot be trusted on its own: the signup and
7
+ * context-lookup paths store only the first name in it while writing the full
8
+ * name into `firstName`/`lastName`, and a later profile edit never re-syncs it.
9
+ * A booking whose row had drifted that way rendered the full name for the one
10
+ * recipient resolved through the booking communications (that path composes
11
+ * `firstName + lastName`) and the first name alone for everyone else.
12
+ *
13
+ * So the composed `firstName + lastName` is used in preference to `psngrName`,
14
+ * but only when it contributes a name part `psngrName` is missing. That keeps
15
+ * the output identical for every row where `psngrName` is already complete —
16
+ * including the ones whose `lastName` merely repeats a word the stored name
17
+ * already has — and only repairs the genuinely truncated ones. The names
18
+ * carried on the request are used when the passenger row yields nothing.
19
+ */
2
20
  export declare function resolvePassengerDisplayName(passenger: IPassenger | null | undefined, request: IRequest | null | undefined): string;
@@ -2,20 +2,47 @@ import { PassengerField, RequestCommunicationField, RequestField, RequestPasseng
2
2
  function isValidName(value) {
3
3
  return !!value && value !== 'undefined' && value !== 'null';
4
4
  }
5
+ /** Trimmed value, or '' for anything the caller must not display. */
6
+ function cleanName(value) {
7
+ return isValidName(value) ? value.trim() : '';
8
+ }
9
+ /** Lower-cased name parts — "Ravi Kumar" → ['ravi', 'kumar']. */
10
+ function nameParts(value) {
11
+ return value ? value.toLowerCase().split(/\s+/).filter(Boolean) : [];
12
+ }
13
+ /**
14
+ * Resolves the name to display for a passenger — the `{{user_name}}` token in
15
+ * every alert template, the calendar invite title, the booking report column.
16
+ *
17
+ * `Passenger.psngrName` cannot be trusted on its own: the signup and
18
+ * context-lookup paths store only the first name in it while writing the full
19
+ * name into `firstName`/`lastName`, and a later profile edit never re-syncs it.
20
+ * A booking whose row had drifted that way rendered the full name for the one
21
+ * recipient resolved through the booking communications (that path composes
22
+ * `firstName + lastName`) and the first name alone for everyone else.
23
+ *
24
+ * So the composed `firstName + lastName` is used in preference to `psngrName`,
25
+ * but only when it contributes a name part `psngrName` is missing. That keeps
26
+ * the output identical for every row where `psngrName` is already complete —
27
+ * including the ones whose `lastName` merely repeats a word the stored name
28
+ * already has — and only repairs the genuinely truncated ones. The names
29
+ * carried on the request are used when the passenger row yields nothing.
30
+ */
5
31
  export function resolvePassengerDisplayName(passenger, request) {
6
- const rawName = passenger?.[PassengerField.PassengerName] ??
7
- request?.[RequestField.PassengerDetails]?.[0]?.[RequestPassengerField.PassengerName] ??
8
- request?.[RequestField.Communications]?.[0]?.[RequestCommunicationField.PassengerName] ??
9
- '';
10
- if (isValidName(rawName)) {
11
- return rawName;
32
+ const storedName = cleanName(passenger?.[PassengerField.PassengerName]);
33
+ const composedName = [
34
+ cleanName(passenger?.[PassengerField.FirstName]),
35
+ cleanName(passenger?.[PassengerField.LastName]),
36
+ ]
37
+ .filter(Boolean)
38
+ .join(' ');
39
+ const storedParts = nameParts(storedName);
40
+ const composedAddsAName = nameParts(composedName).some((part) => !storedParts.includes(part));
41
+ const passengerName = composedName && composedAddsAName ? composedName : storedName;
42
+ if (passengerName) {
43
+ return passengerName;
12
44
  }
13
- const commName = request?.[RequestField.Communications]?.[0]?.[RequestCommunicationField.PassengerName];
14
- const firstNameRaw = passenger?.[PassengerField.FirstName] ??
15
- (isValidName(commName) ? commName.split(' ')[0] : '');
16
- const firstName = isValidName(firstNameRaw) ? firstNameRaw : '';
17
- const lastNameRaw = passenger?.[PassengerField.LastName] ?? '';
18
- const lastName = isValidName(lastNameRaw) ? lastNameRaw : '';
19
- return [firstName, lastName].filter(Boolean).join(' ');
45
+ return (cleanName(request?.[RequestField.PassengerDetails]?.[0]?.[RequestPassengerField.PassengerName]) ||
46
+ cleanName(request?.[RequestField.Communications]?.[0]?.[RequestCommunicationField.PassengerName]));
20
47
  }
21
48
  //# sourceMappingURL=resolve.passenger.display.name.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.passenger.display.name.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/resolve.passenger.display.name.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,cAAc,EACd,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,GACrB,MAAM,0BAA0B,CAAC;AAElC,SAAS,WAAW,CAAC,KAAgC;IACpD,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,MAAM,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,SAAwC,EACxC,OAAoC;IAEpC,MAAM,OAAO,GACZ,SAAS,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;QACzC,OAAO,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAC9C,qBAAqB,CAAC,aAAa,CACnC;QACD,OAAO,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAC5C,yBAAyB,CAAC,aAAa,CACvC;QACD,EAAE,CAAC;IAEJ,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GACb,OAAO,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAC5C,yBAAyB,CAAC,aAAa,CACvC,CAAC;IACH,MAAM,YAAY,GACjB,SAAS,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;QACrC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7D,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"resolve.passenger.display.name.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/resolve.passenger.display.name.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,cAAc,EACd,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,GACrB,MAAM,0BAA0B,CAAC;AAElC,SAAS,WAAW,CAAC,KAAgC;IACpD,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,MAAM,CAAC;AAC7D,CAAC;AAED,qEAAqE;AACrE,SAAS,SAAS,CAAC,KAAgC;IAClD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,iEAAiE;AACjE,SAAS,SAAS,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,2BAA2B,CAC1C,SAAwC,EACxC,OAAoC;IAEpC,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG;QACpB,SAAS,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAChD,SAAS,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;KAC/C;SACC,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,iBAAiB,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CACrD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CACrC,CAAC;IACF,MAAM,aAAa,GAClB,YAAY,IAAI,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;IAE/D,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,OAAO,CACN,SAAS,CACR,OAAO,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAC9C,qBAAqB,CAAC,aAAa,CACnC,CACD;QACD,SAAS,CACR,OAAO,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAC5C,yBAAyB,CAAC,aAAa,CACvC,CACD,CACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,49 @@
1
+ /** Uppercased, with the separators people type stripped out. */
2
+ export declare const normaliseRegistration: (value?: string | null) => string;
3
+ /** Whether a registration could plausibly be a real Indian number plate. */
4
+ export declare const looksLikeRealRegistration: (value?: string | null) => boolean;
5
+ /**
6
+ * A spot-hire row that stands in for a vehicle rather than naming one.
7
+ *
8
+ * Spot hire books capacity from a supplier before anyone knows which car will
9
+ * turn up, so the vehicle master row carries the supplier's own code — UAT
10
+ * holds `TBS03`, `SWIFT1`, `MYCITI5`, `WINGS22`, `STATE05`. The real plate is
11
+ * captured separately at allocation as the Actual Vehicle Number.
12
+ *
13
+ * 793 of UAT's 2490 spot rows are like this. Every provider hit against one is
14
+ * a billable call that can only ever return "RC number is invalid" — precisely
15
+ * the 400 QA reported — and every compliance verdict derived from one judges a
16
+ * vehicle that does not exist.
17
+ *
18
+ * Deliberately narrowed to spot hire. The same regex would also flag test rows
19
+ * in other business types (`TEST123`, `SANJOG9`), but those are meant to name a
20
+ * real vehicle, so a bad registration there is a data-quality problem someone
21
+ * should see and fix — not a reason to stop checking compliance. Exempting them
22
+ * would quietly turn a typo into a hole in the allocation block.
23
+ */
24
+ export declare const isSpotPlaceholderRegistration: (registration?: string | null, businessType?: string | null) => boolean;
25
+ /**
26
+ * The business type a vehicle's compliance should be judged against.
27
+ *
28
+ * The ACTIVE contract wins, then the most recently created one, then the
29
+ * vehicle's own ownership field. That ordering matters: `Vehicle.ownershipType`
30
+ * goes stale when a vehicle moves vendors, so reading it directly applies the
31
+ * PREVIOUS business type's rules — a vehicle showing "Company Owned" was still
32
+ * being judged as "Company Owned + BA" (AD-3140, QA round 2 finding M).
33
+ *
34
+ * Falls back rather than returning undefined when no contract is loaded: a
35
+ * caller that omits the relation should degrade to the old behaviour, not to
36
+ * "no compliance is mandatory", which would silently disable the block.
37
+ *
38
+ * Pure and shared because three places need this answer — the allocation
39
+ * block, the §8 report, and the provider-hit filter — and three copies is
40
+ * three places for it to drift. The evaluation service and the report service
41
+ * had already drifted once, which is what finding M was.
42
+ */
43
+ export declare const resolveVehicleBusinessType: (contracts: readonly {
44
+ bizType?: string | null;
45
+ bizTypeEffectiveFrom?: Date | string | null;
46
+ endDate?: Date | string | null;
47
+ status?: string | null;
48
+ crdAt?: Date | string | null;
49
+ }[] | null | undefined, fallbackOwnershipType: string | null | undefined, now?: Date) => string | undefined;
@@ -0,0 +1,88 @@
1
+ import { GenericStatus, VehicleOwnershipType } from '@autologix/shared/enums';
2
+ /**
3
+ * Registration formats the RTO actually issues.
4
+ *
5
+ * Two shapes cover the fleet:
6
+ *
7
+ * STANDARD `KA05QR3436` — 2-letter state, 1-2 digit RTO, 0-3 letter series,
8
+ * 4 digits. The series is optional because older plates omit it
9
+ * (`KA079715`), and a 1-letter series is normal (`MH58B1199`).
10
+ * BH `22BH1299ZA` — Bharat series: 2-digit year, BH, 4 digits, 1-2
11
+ * letters.
12
+ *
13
+ * Calibrated against UAT rather than assumed. It matches 359/359 Company Owned
14
+ * + BA, 83/83 Hotel Managed and 29/29 MMG registrations, so it is not
15
+ * rejecting real plates — which is the failure mode that would matter, since a
16
+ * false positive here stops a real vehicle being checked.
17
+ */
18
+ const STANDARD_PLATE = /^[A-Z]{2}\d{1,2}[A-Z]{0,3}\d{4}$/;
19
+ const BH_SERIES_PLATE = /^\d{2}BH\d{4}[A-Z]{1,2}$/;
20
+ /** Uppercased, with the separators people type stripped out. */
21
+ export const normaliseRegistration = (value) => (value ?? '').toUpperCase().replace(/[\s.-]/g, '');
22
+ /** Whether a registration could plausibly be a real Indian number plate. */
23
+ export const looksLikeRealRegistration = (value) => {
24
+ const plate = normaliseRegistration(value);
25
+ if (!plate)
26
+ return false;
27
+ return STANDARD_PLATE.test(plate) || BH_SERIES_PLATE.test(plate);
28
+ };
29
+ /**
30
+ * A spot-hire row that stands in for a vehicle rather than naming one.
31
+ *
32
+ * Spot hire books capacity from a supplier before anyone knows which car will
33
+ * turn up, so the vehicle master row carries the supplier's own code — UAT
34
+ * holds `TBS03`, `SWIFT1`, `MYCITI5`, `WINGS22`, `STATE05`. The real plate is
35
+ * captured separately at allocation as the Actual Vehicle Number.
36
+ *
37
+ * 793 of UAT's 2490 spot rows are like this. Every provider hit against one is
38
+ * a billable call that can only ever return "RC number is invalid" — precisely
39
+ * the 400 QA reported — and every compliance verdict derived from one judges a
40
+ * vehicle that does not exist.
41
+ *
42
+ * Deliberately narrowed to spot hire. The same regex would also flag test rows
43
+ * in other business types (`TEST123`, `SANJOG9`), but those are meant to name a
44
+ * real vehicle, so a bad registration there is a data-quality problem someone
45
+ * should see and fix — not a reason to stop checking compliance. Exempting them
46
+ * would quietly turn a typo into a hole in the allocation block.
47
+ */
48
+ export const isSpotPlaceholderRegistration = (registration, businessType) => {
49
+ if (businessType !== VehicleOwnershipType.HiredCarSpot)
50
+ return false;
51
+ return !looksLikeRealRegistration(registration);
52
+ };
53
+ /**
54
+ * The business type a vehicle's compliance should be judged against.
55
+ *
56
+ * The ACTIVE contract wins, then the most recently created one, then the
57
+ * vehicle's own ownership field. That ordering matters: `Vehicle.ownershipType`
58
+ * goes stale when a vehicle moves vendors, so reading it directly applies the
59
+ * PREVIOUS business type's rules — a vehicle showing "Company Owned" was still
60
+ * being judged as "Company Owned + BA" (AD-3140, QA round 2 finding M).
61
+ *
62
+ * Falls back rather than returning undefined when no contract is loaded: a
63
+ * caller that omits the relation should degrade to the old behaviour, not to
64
+ * "no compliance is mandatory", which would silently disable the block.
65
+ *
66
+ * Pure and shared because three places need this answer — the allocation
67
+ * block, the §8 report, and the provider-hit filter — and three copies is
68
+ * three places for it to drift. The evaluation service and the report service
69
+ * had already drifted once, which is what finding M was.
70
+ */
71
+ export const resolveVehicleBusinessType = (contracts, fallbackOwnershipType, now = new Date()) => {
72
+ const rows = contracts ?? [];
73
+ const active = rows.find((contract) => {
74
+ const from = contract.bizTypeEffectiveFrom
75
+ ? new Date(contract.bizTypeEffectiveFrom)
76
+ : undefined;
77
+ const end = contract.endDate ? new Date(contract.endDate) : undefined;
78
+ return ((!from || from <= now) &&
79
+ (!end || end >= now) &&
80
+ contract.status === GenericStatus.Active);
81
+ });
82
+ const latest = rows.length
83
+ ? [...rows].sort((a, b) => new Date(b.crdAt ?? 0).getTime() -
84
+ new Date(a.crdAt ?? 0).getTime())[0]
85
+ : undefined;
86
+ return (active?.bizType ?? latest?.bizType ?? fallbackOwnershipType ?? undefined);
87
+ };
88
+ //# sourceMappingURL=spot.placeholder.registration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spot.placeholder.registration.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/spot.placeholder.registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE9E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,cAAc,GAAG,kCAAkC,CAAC;AAC1D,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAqB,EAAU,EAAE,CACtE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAEpD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAqB,EAAW,EAAE;IAC3E,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC5C,YAA4B,EAC5B,YAA4B,EAClB,EAAE;IACZ,IAAI,YAAY,KAAK,oBAAoB,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IACrE,OAAO,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,SAMsB,EACtB,qBAAgD,EAChD,MAAY,IAAI,IAAI,EAAE,EACD,EAAE;IACvB,MAAM,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB;YACzC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,OAAO,CACN,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;YACtB,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC;YACpB,QAAQ,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,CACxC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;QACzB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CACd,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACR,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;YAChC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,SAAS,CAAC;IAEb,OAAO,CACN,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,IAAI,qBAAqB,IAAI,SAAS,CACxE,CAAC;AACH,CAAC,CAAC"}