@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.
- package/package.json +1 -1
- package/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.d.ts +4 -0
- package/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.js +21 -1
- package/src/lib/data-transfer-objects/src/create.consolidated.invoice.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/create.dispatch.dto.d.ts +4 -0
- package/src/lib/data-transfer-objects/src/create.dispatch.dto.js +21 -1
- package/src/lib/data-transfer-objects/src/create.dispatch.dto.js.map +1 -1
- package/src/lib/data-transfer-objects/src/update.safety.and.compliance.config.dto.d.ts +11 -0
- package/src/lib/data-transfer-objects/src/update.safety.and.compliance.config.dto.js +7 -0
- package/src/lib/data-transfer-objects/src/update.safety.and.compliance.config.dto.js.map +1 -1
- package/src/lib/date-utils/src/zoop.date.d.ts +8 -0
- package/src/lib/date-utils/src/zoop.date.js +38 -0
- package/src/lib/date-utils/src/zoop.date.js.map +1 -1
- package/src/lib/enums/src/model.enum.d.ts +1 -0
- package/src/lib/enums/src/model.enum.js +1 -0
- package/src/lib/enums/src/model.enum.js.map +1 -1
- package/src/lib/enums/src/report.module.type.enum.d.ts +2 -1
- package/src/lib/enums/src/report.module.type.enum.js +1 -0
- package/src/lib/enums/src/report.module.type.enum.js.map +1 -1
- package/src/lib/enums/src/vehicle.compliance.enum.d.ts +9 -0
- package/src/lib/enums/src/vehicle.compliance.enum.js +9 -0
- package/src/lib/enums/src/vehicle.compliance.enum.js.map +1 -1
- package/src/lib/models/src/configurations.model.d.ts +15 -0
- package/src/lib/models/src/configurations.model.js +14 -0
- package/src/lib/models/src/configurations.model.js.map +1 -1
- package/src/lib/models/src/index.d.ts +1 -0
- package/src/lib/models/src/index.js +1 -0
- package/src/lib/models/src/index.js.map +1 -1
- package/src/lib/models/src/vehicle.association.file.model.d.ts +34 -1
- package/src/lib/models/src/vehicle.association.file.model.js +31 -0
- package/src/lib/models/src/vehicle.association.file.model.js.map +1 -1
- package/src/lib/models/src/vehicle.verification.log.model.d.ts +81 -0
- package/src/lib/models/src/vehicle.verification.log.model.js +51 -0
- package/src/lib/models/src/vehicle.verification.log.model.js.map +1 -0
- package/src/lib/utilities/src/index.d.ts +1 -0
- package/src/lib/utilities/src/index.js +1 -0
- package/src/lib/utilities/src/index.js.map +1 -1
- package/src/lib/utilities/src/map.compliance.from.rc.d.ts +17 -0
- package/src/lib/utilities/src/map.compliance.from.rc.js +14 -1
- package/src/lib/utilities/src/map.compliance.from.rc.js.map +1 -1
- package/src/lib/utilities/src/resolve.passenger.display.name.d.ts +18 -0
- package/src/lib/utilities/src/resolve.passenger.display.name.js +40 -13
- package/src/lib/utilities/src/resolve.passenger.display.name.js.map +1 -1
- package/src/lib/utilities/src/spot.placeholder.registration.d.ts +49 -0
- package/src/lib/utilities/src/spot.placeholder.registration.js +88 -0
- package/src/lib/utilities/src/spot.placeholder.registration.js.map +1 -0
package/package.json
CHANGED
|
@@ -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,
|
|
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,
|
|
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;
|
|
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":"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"}
|
|
@@ -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":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"model.enum.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/enums/src/model.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAmTX;AAnTD,WAAY,SAAS;IACpB,sDAAyC,CAAA;IACzC,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;IACnB,4CAA+B,CAAA;IAC/B,gDAAmC,CAAA;IACnC,oCAAuB,CAAA;IACvB,gDAAmC,CAAA;IACnC,sCAAyB,CAAA;IACzB,wCAA2B,CAAA;IAC3B,wDAA2C,CAAA;IAC3C,0CAA6B,CAAA;IAC7B,oDAAuC,CAAA;IACvC,8BAAiB,CAAA;IACjB,0CAA6B,CAAA;IAC7B,wCAA2B,CAAA;IAC3B,0CAA6B,CAAA;IAC7B,kCAAqB,CAAA;IACrB,0DAA6C,CAAA;IAC7C,gDAAmC,CAAA;IACnC,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;IACzC,0DAA6C,CAAA;IAC7C,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;IACzC,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,0CAA6B,CAAA;IAC7B,gCAAmB,CAAA;IACnB,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;IACvB,sEAAyD,CAAA;IACzD,oDAAuC,CAAA;IACvC,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,4CAA+B,CAAA;IAC/B,8CAAiC,CAAA;IACjC,sDAAyC,CAAA;IACzC,wDAA2C,CAAA;IAC3C,wDAA2C,CAAA;IAC3C,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,sEAAyD,CAAA;IACzD,0EAA6D,CAAA;IAC7D,kDAAqC,CAAA;IACrC,oEAAuD,CAAA;IACvD,8CAAiC,CAAA;IACjC,4DAA+C,CAAA;IAC/C,8BAAiB,CAAA;IACjB,kDAAqC,CAAA;IACrC,wCAA2B,CAAA;IAC3B,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;IACzC,8CAAiC,CAAA;IACjC,0BAAa,CAAA;IACb,wCAA2B,CAAA;IAC3B,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,0BAAa,CAAA;IACb,8CAAiC,CAAA;IACjC,4CAA+B,CAAA;IAC/B,kEAAqD,CAAA;IACrD,kFAAqE,CAAA;IACrE,0CAA6B,CAAA;IAC7B,0CAA6B,CAAA;IAC7B,8CAAiC,CAAA;IACjC,oCAAuB,CAAA;IACvB,gDAAmC,CAAA;IACnC,8CAAiC,CAAA;IACjC,0CAA6B,CAAA;IAC7B,kDAAqC,CAAA;IACrC,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;IACzC,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;IACnC,oDAAuC,CAAA;IACvC,oCAAuB,CAAA;IACvB,8CAAiC,CAAA;IACjC,kDAAqC,CAAA;IACrC,0DAA6C,CAAA;IAC7C,4DAA+C,CAAA;IAC/C,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,4CAA+B,CAAA;IAC/B,4BAAe,CAAA;IACf,gDAAmC,CAAA;IACnC,8CAAiC,CAAA;IACjC,gEAAmD,CAAA;IACnD,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,kCAAqB,CAAA;IACrB,0CAA6B,CAAA;IAC7B,kDAAqC,CAAA;IACrC,8CAAiC,CAAA;IACjC,wCAA2B,CAAA;IAC3B,gCAAmB,CAAA;IACnB,sDAAyC,CAAA;IACzC,wCAA2B,CAAA;IAC3B,wCAA2B,CAAA;IAC3B,sCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,8CAAiC,CAAA;IACjC,oDAAuC,CAAA;IACvC,wBAAW,CAAA;IACX,0CAA6B,CAAA;IAC7B,8CAAiC,CAAA;IACjC,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,wCAA2B,CAAA;IAC3B,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,wEAA2D,CAAA;IAC3D,4EAA+D,CAAA;IAC/D,oDAAuC,CAAA;IACvC,sEAAyD,CAAA;IACzD,sDAAyC,CAAA;IACzC,8DAAiD,CAAA;IACjD,sEAAyD,CAAA;IACzD,8DAAiD,CAAA;IACjD,gDAAmC,CAAA;IACnC,gCAAmB,CAAA;IACnB,wDAA2C,CAAA;IAC3C,kDAAqC,CAAA;IACrC,gFAAmE,CAAA;IACnE,wCAA2B,CAAA;IAC3B,0CAA6B,CAAA;IAC7B,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;IACzC,gEAAmD,CAAA;IACnD,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;IACzC,sEAAyD,CAAA;IACzD,0EAA6D,CAAA;IAC7D,kDAAqC,CAAA;IACrC,oEAAuD,CAAA;IACvD,8CAAiC,CAAA;IACjC,gDAAmC,CAAA;IACnC,4DAA+C,CAAA;IAC/C,wBAAW,CAAA;IACX,oCAAuB,CAAA;IACvB,8BAAiB,CAAA;IACjB,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,kDAAqC,CAAA;IACrC,8CAAiC,CAAA;IACjC,wCAA2B,CAAA;IAC3B,sCAAyB,CAAA;IACzB,4CAA+B,CAAA;IAC/B,wDAA2C,CAAA;IAC3C,gDAAmC,CAAA;IACnC,wBAAW,CAAA;IACX,4CAA+B,CAAA;IAC/B,0DAA6C,CAAA;IAC7C,4CAA+B,CAAA;IAC/B,kDAAqC,CAAA;IACrC,kCAAqB,CAAA;IACrB,sDAAyC,CAAA;IACzC,wDAA2C,CAAA;IAC3C,gDAAmC,CAAA;IACnC,wDAA2C,CAAA;IAC3C,oDAAuC,CAAA;IACvC,0CAA6B,CAAA;IAC7B,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,0CAA6B,CAAA;IAC7B,sCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,kDAAqC,CAAA;IACrC,4BAAe,CAAA;IACf,kDAAqC,CAAA;IACrC,8CAAiC,CAAA;IACjC,gCAAmB,CAAA;IACnB,oDAAuC,CAAA;IACvC,0CAA6B,CAAA;IAC7B,kDAAqC,CAAA;IACrC,wCAA2B,CAAA;IAC3B,sDAAyC,CAAA;IACzC,sCAAyB,CAAA;IACzB,kDAAqC,CAAA;IACrC,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IACb,oDAAuC,CAAA;IACvC,4DAA+C,CAAA;IAC/C,oDAAuC,CAAA;IACvC,gEAAmD,CAAA;IACnD,oDAAuC,CAAA;IACvC,4EAA+D,CAAA;IAC/D,kEAAqD,CAAA;IACrD,wDAA2C,CAAA;IAC3C,sCAAyB,CAAA;IACzB,wBAAW,CAAA;IACX,0CAA6B,CAAA;IAC7B,0BAAa,CAAA;IACb,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,oCAAuB,CAAA;IACvB,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,8BAAiB,CAAA;IACjB,0CAA6B,CAAA;IAC7B,wCAA2B,CAAA;IAC3B,wEAA2D,CAAA;IAC3D,wCAA2B,CAAA;IAC3B,8CAAiC,CAAA;IACjC,gDAAmC,CAAA;IACnC,sDAAyC,CAAA;IACzC,kDAAqC,CAAA;IACrC,0CAA6B,CAAA;IAC7B,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,gDAAmC,CAAA;IACnC,sCAAyB,CAAA;IACzB,oCAAuB,CAAA;IACvB,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,wCAA2B,CAAA;IAC3B,gDAAmC,CAAA;IACnC,0BAAa,CAAA;IACb,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,wDAA2C,CAAA;IAC3C,gDAAmC,CAAA;IACnC,4DAA+C,CAAA;IAC/C,wCAA2B,CAAA;IAC3B,4DAA+C,CAAA;IAC/C,gCAAmB,CAAA;IACnB,kEAAqD,CAAA;IACrD,4CAA+B,CAAA;IAC/B,wDAA2C,CAAA;IAC3C,0EAA6D,CAAA;IAC7D,gDAAmC,CAAA;IACnC,sDAAyC,CAAA;IACzC,8CAAiC,CAAA;IACjC,0EAA6D,CAAA;IAC7D,wEAA2D,CAAA;IAC3D,sCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,wCAA2B,CAAA;IAC3B,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,sFAAyE,CAAA;IACzE,oDAAuC,CAAA;IACvC,0CAA6B,CAAA;IAC7B,oDAAuC,CAAA;IACvC,4CAA+B,CAAA;IAC/B,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,wCAA2B,CAAA;IAC3B,wCAA2B,CAAA;IAC3B,sCAAyB,CAAA;IACzB,4DAA+C,CAAA;IAC/C,0DAA6C,CAAA;IAC7C,8DAAiD,CAAA;IACjD,gDAAmC,CAAA;IACnC,0DAA6C,CAAA;IAC7C,gDAAmC,CAAA;IACnC,8DAAiD,CAAA;IACjD,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,gEAAmD,CAAA;IACnD,kDAAqC,CAAA;IACrC,0DAA6C,CAAA;IAC7C,4DAA+C,CAAA;IAC/C,oCAAuB,CAAA;IACvB,4DAA+C,CAAA;IAC/C,oDAAuC,CAAA;IACvC,oDAAuC,CAAA;IACvC,oDAAuC,CAAA;IACvC,4DAA+C,CAAA;IAC/C,kEAAqD,CAAA;IACrD,gCAAmB,CAAA;IACnB,kDAAqC,CAAA;IACrC,sDAAyC,CAAA;IACzC,sDAAyC,CAAA;IACzC,8CAAiC,CAAA;IACjC,wDAA2C,CAAA;IAC3C,sEAAyD,CAAA;IACzD,oEAAuD,CAAA;IACvD,4DAA+C,CAAA;IAC/C,oDAAuC,CAAA;IACvC,0DAA6C,CAAA;IAC7C,sCAAyB,CAAA;IACzB,8CAAiC,CAAA;IACjC,0DAA6C,CAAA;IAC7C,sDAAyC,CAAA;IACzC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;IACvB,kDAAqC,CAAA;IACrC,kDAAqC,CAAA;IACrC,8DAAiD,CAAA;IACjD,gEAAmD,CAAA;IACnD,sCAAyB,CAAA;IACzB,wCAA2B,CAAA;IAC3B,kEAAqD,CAAA;IACrD,oEAAuD,CAAA;AACxD,CAAC,EAnTW,SAAS,KAAT,SAAS,QAmTpB"}
|
|
@@ -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,
|
|
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":"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"}
|
|
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":"AAsBA,MAAM,CAAN,IAAY,
|
|
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,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":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wCAAwC,CAAC;AACvD,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC"}
|
|
@@ -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,
|
|
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"}
|
|
@@ -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;
|
|
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
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
14
|
-
|
|
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,
|
|
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"}
|