clarion-shared-types 1.0.110 → 1.0.111

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.
@@ -24,6 +24,7 @@ __exportStar(require("./interfaces/partner-dispatch-progress.dto"), exports);
24
24
  __exportStar(require("./interfaces/partner-dispatch.dto"), exports);
25
25
  __exportStar(require("./interfaces/incident-partner-routing.dto"), exports);
26
26
  __exportStar(require("./interfaces/partner-membership.dto"), exports);
27
+ __exportStar(require("./interfaces/partner-analytics"), exports);
27
28
  // Utilities
28
29
  __exportStar(require("./utils/partner-display.util"), exports);
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/partner/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,wDAAsC;AAEtC,oBAAoB;AACpB,oEAAkD;AAClD,uEAAqD;AACrD,yEAAuD;AACvD,6EAA2D;AAC3D,oEAAkD;AAClD,4EAA0D;AAC1D,sEAAoD;AAEpD,YAAY;AACZ,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/partner/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,wDAAsC;AAEtC,oBAAoB;AACpB,oEAAkD;AAClD,uEAAqD;AACrD,yEAAuD;AACvD,6EAA2D;AAC3D,oEAAkD;AAClD,4EAA0D;AAC1D,sEAAoD;AACpD,iEAA+C;AAE/C,YAAY;AACZ,+DAA6C"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * Partner analytics (the admin's Partner Analytics): the partnerships an organization
4
+ * has with third-party responders, the emergencies routed to them and what became of
5
+ * each, how the partners' systems answered, and the subscribers registered with them.
6
+ *
7
+ * One read, computed by clarion-partner-services from one consistent snapshot, so every
8
+ * number on a dashboard agrees with every other. Counts, durations and the names an
9
+ * organization gave its own partnerships only: never a caller's name, a phone number,
10
+ * a member id, a payload or a partner's error text.
11
+ *
12
+ * Emergencies are counted by when they were ROUTED (the dispatch was raised) and shown
13
+ * as they stand now: a dispatch raised in the period and delivered after it counts as
14
+ * delivered. Partner calls and memberships are counted by when they happened.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ //# sourceMappingURL=partner-analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-analytics.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-analytics.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG"}
@@ -26,6 +26,12 @@ var PermissionActions;
26
26
  // allowed to read than a base URL and a coverage rule.
27
27
  PermissionActions["READ_PARTNER_MEMBERSHIP"] = "read:partner-membership";
28
28
  PermissionActions["MANAGE_PARTNER_MEMBERSHIP"] = "manage:partner-membership";
29
+ // Partner Analytics: the partnerships, the emergencies routed through them and
30
+ // what became of each, how the partners' systems answered, and the members
31
+ // registered with them - totals, rates and durations only, never a caller, a
32
+ // member id or a payload. Held by everybody who reads partnerships; scoped by
33
+ // clarion-partner-services to the caller's organization or control centre.
34
+ PermissionActions["READ_PARTNER_ANALYTICS"] = "read:partner-analytics";
29
35
  // Module: ControlCentre
30
36
  PermissionActions["CREATE_CONTROL_CENTRE"] = "create:control-centre";
31
37
  PermissionActions["READ_CONTROL_CENTRE"] = "read:control-centre";
@@ -1 +1 @@
1
- {"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBA0RX;AA1RD,WAAY,iBAAiB;IACzB,uBAAuB;IACvB,gEAA2C,CAAA;IAC3C,4DAAuC,CAAA;IACvC,gEAA2C,CAAA;IAC3C,gEAA2C,CAAA;IAE3C,kBAAkB;IAClB,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAC7B,sDAAiC,CAAA;IACjC,sDAAiC,CAAA;IACjC,wEAAwE;IACxE,mEAAmE;IACnE,oEAA+C,CAAA;IAC/C,0EAAqD,CAAA;IACrD,wEAAmD,CAAA;IACnD,wEAAmD,CAAA;IACnD,wEAAmD,CAAA;IACnD,2EAA2E;IAC3E,4EAA4E;IAC5E,qEAAqE;IACrE,uDAAuD;IACvD,wEAAmD,CAAA;IACnD,4EAAuD,CAAA;IACvD,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,sEAAiD,CAAA;IAEjD,wBAAwB;IACxB,oEAA+C,CAAA;IAC/C,gEAA2C,CAAA;IAC3C,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAE/C,eAAe;IACf,gDAA2B,CAAA;IAC3B,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAE3B,eAAe;IACf,gDAA2B,CAAA;IAC3B,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAC3B,4GAA4G;IAC5G,gEAA2C,CAAA;IAE3C,mBAAmB;IACnB,wDAAmC,CAAA;IACnC,oDAA+B,CAAA;IAC/B,wDAAmC,CAAA;IACnC,wDAAmC,CAAA;IACnC,oFAA+D,CAAA;IAC/D,gFAA2D,CAAA;IAC3D,oFAA+D,CAAA;IAC/D,oFAA+D,CAAA;IAE/D,uBAAuB;IACvB,kEAA6C,CAAA;IAC7C,8DAAyC,CAAA;IACzC,kEAA6C,CAAA;IAC7C,kEAA6C,CAAA;IAE7C,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,qDAAqD;IACrD,gGAA2E,CAAA;IAC3E,4FAAuE,CAAA;IACvE,gGAA2E,CAAA;IAC3E,gGAA2E,CAAA;IAC3E,sFAAiE,CAAA;IACjE,kFAA6D,CAAA;IAC7D,sFAAiE,CAAA;IACjE,sFAAiE,CAAA;IACjE,sEAAiD,CAAA;IACjD,oEAA+C,CAAA;IAC/C,0EAAqD,CAAA;IACrD,8EAAyD,CAAA;IAEzD,kBAAkB;IAClB,EAAE;IACF,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,+BAA+B;IAC/B,oEAA+C,CAAA;IAC/C,gEAA2C,CAAA;IAC3C,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAC/C,kEAA6C,CAAA;IAC7C,gEAA2C,CAAA;IAC3C,kFAA6D,CAAA;IAC7D,sFAAiE,CAAA;IACjE,kEAA6C,CAAA;IAC7C,oEAA+C,CAAA;IAC/C,yEAAyE;IACzE,gEAA2C,CAAA;IAC3C;;;OAGG;IACH,8DAAyC,CAAA;IACzC,mFAAmF;IACnF,wEAAmD,CAAA;IACnD,oEAA+C,CAAA;IAC/C,gFAAgF;IAChF,sEAAiD,CAAA;IACjD,wEAAmD,CAAA;IACnD,0EAAqD,CAAA;IACrD,0EAAqD,CAAA;IACrD,kEAA6C,CAAA;IAC7C,gEAA2C,CAAA;IAC3C,8DAAyC,CAAA;IACzC,kFAA6D,CAAA;IAC7D,gEAA2C,CAAA;IAC3C,4DAAuC,CAAA;IACvC,gEAA2C,CAAA;IAE3C,uBAAuB;IACvB,0EAA0E;IAC1E,4EAA4E;IAC5E,kFAAkF;IAClF,8EAAyD,CAAA;IACzD,kFAA6D,CAAA;IAC7D,0FAAqE,CAAA;IACrE,sFAAiE,CAAA;IACjE,0FAAqE,CAAA;IACrE,0FAAqE,CAAA;IACrE,sFAAiE,CAAA;IACjE,kFAA6D,CAAA;IAC7D,sFAAiE,CAAA;IACjE,sFAAiE,CAAA;IACjE,2EAA2E;IAC3E,uEAAuE;IACvE,gFAA2D,CAAA;IAC3D,yFAAyF;IACzF,8EAAyD,CAAA;IACzD,yFAAyF;IACzF,kFAA6D,CAAA;IAE7D,gFAAgF;IAChF,gFAAgF;IAChF,kFAAkF;IAClF,kFAAkF;IAClF,8EAA8E;IAC9E,kFAAkF;IAClF,8DAAyC,CAAA;IACzC,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC,8DAAyC,CAAA;IAEzC,oEAA+C,CAAA;IAC/C,gEAA2C,CAAA;IAC3C,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAE/C,wEAAmD,CAAA;IACnD,oEAA+C,CAAA;IAC/C,wEAAmD,CAAA;IACnD,wEAAmD,CAAA;IAEnD,sFAAiE,CAAA;IACjE,kFAA6D,CAAA;IAC7D,sFAAiE,CAAA;IACjE,sFAAiE,CAAA;IAEjE,0EAAqD,CAAA;IACrD,sEAAiD,CAAA;IACjD,0EAAqD,CAAA;IACrD,0EAAqD,CAAA;IAErD,0DAAqC,CAAA;IAErC,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAC7B,4DAAuC,CAAA;IAEvC,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAE/B,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAE7B,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAC7B,sDAAiC,CAAA;IACjC,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC,sDAAiC,CAAA;IAEjC,8DAAyC,CAAA;IACzC,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAE7B,8FAAyE,CAAA;IACzE,kFAA6D,CAAA;IAC7D,0GAAqF,CAAA;IACrF,sFAAiE,CAAA;IAEjE,4FAAuE,CAAA;IACvE,gFAA2D,CAAA;IAC3D,wGAAmF,CAAA;IACnF,oFAA+D,CAAA;IAE/D,8DAAyC,CAAA;IAEzC,4DAAuC,CAAA;IACvC,wDAAmC,CAAA;IACnC,wEAAmD,CAAA;IACnD,kEAA6C,CAAA;IAE7C,oEAA+C,CAAA;IAC/C,wEAAmD,CAAA;IACnD,8EAAyD,CAAA;IAEzD,wEAAmD,CAAA;IACnD,wFAAwF;IACxF,sEAAiD,CAAA;IAEjD,8DAAyC,CAAA;IACzC,gEAA2C,CAAA;IAC3C,kEAA6C,CAAA;IAE7C,iFAAiF;IACjF,2EAA2E;IAC3E,2EAA2E;IAC3E,kEAA6C,CAAA;IAC7C,8DAAyC,CAAA;IACzC,kEAA6C,CAAA;IAC7C,oEAA+C,CAAA;IAC/C,oEAA+C,CAAA;IAC/C,kEAA6C,CAAA;IAC7C,8DAAyC,CAAA;IACzC,kEAA6C,CAAA;IAC7C,4EAAuD,CAAA;IAEvD,uBAAuB;IACvB,+EAA+E;IAC/E,mFAAmF;IACnF,4DAA4D;IAC5D,sFAAiE,CAAA;IACjE,kFAA6D,CAAA;IAC7D,sFAAiE,CAAA;IACjE,sFAAiE,CAAA;IACjE,kFAA6D,CAAA;IAC7D,4EAAuD,CAAA;IACvD,8EAAyD,CAAA;IACzD,8FAAyE,CAAA;IACzE,kGAA6E,CAAA;IAC7E,gFAA2D,CAAA;IAC3D,gFAAgF;IAChF,sFAAsF;IACtF,kFAA6D,CAAA;IAE7D,gFAAgF;IAChF,0EAA0E;IAC1E,gDAAgD;IAChD,0DAAqC,CAAA;IACrC,4DAAuC,CAAA;IACvC,8EAAyD,CAAA;IACzD,2EAA2E;IAC3E,oEAA+C,CAAA;IAC/C,iFAAiF;IACjF,4EAA4E;IAC5E,mEAAmE;IACnE,oDAA+B,CAAA;IAC/B,sDAAiC,CAAA;IACjC,wDAAmC,CAAA;IAEnC,4DAA4D;IAC5D,8DAAyC,CAAA;IACzC,wGAAwG;IACxG,4DAAuC,CAAA;IACvC,wGAAwG;IACxG,gEAA2C,CAAA;AAC/C,CAAC,EA1RW,iBAAiB,iCAAjB,iBAAiB,QA0R5B"}
@@ -8,6 +8,7 @@ export * from './interfaces/partner-dispatch-progress.dto';
8
8
  export * from './interfaces/partner-dispatch.dto';
9
9
  export * from './interfaces/incident-partner-routing.dto';
10
10
  export * from './interfaces/partner-membership.dto';
11
+ export * from './interfaces/partner-analytics';
11
12
  // Utilities
12
13
  export * from './utils/partner-display.util';
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/partner/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,uBAAuB,CAAC;AAEtC,oBAAoB;AACpB,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AAEpD,YAAY;AACZ,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/partner/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,uBAAuB,CAAC;AAEtC,oBAAoB;AACpB,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAE/C,YAAY;AACZ,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Partner analytics (the admin's Partner Analytics): the partnerships an organization
3
+ * has with third-party responders, the emergencies routed to them and what became of
4
+ * each, how the partners' systems answered, and the subscribers registered with them.
5
+ *
6
+ * One read, computed by clarion-partner-services from one consistent snapshot, so every
7
+ * number on a dashboard agrees with every other. Counts, durations and the names an
8
+ * organization gave its own partnerships only: never a caller's name, a phone number,
9
+ * a member id, a payload or a partner's error text.
10
+ *
11
+ * Emergencies are counted by when they were ROUTED (the dispatch was raised) and shown
12
+ * as they stand now: a dispatch raised in the period and delivered after it counts as
13
+ * delivered. Partner calls and memberships are counted by when they happened.
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=partner-analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-analytics.js","sourceRoot":"","sources":["../../../../../src/modules/partner/interfaces/partner-analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
@@ -23,6 +23,12 @@ export var PermissionActions;
23
23
  // allowed to read than a base URL and a coverage rule.
24
24
  PermissionActions["READ_PARTNER_MEMBERSHIP"] = "read:partner-membership";
25
25
  PermissionActions["MANAGE_PARTNER_MEMBERSHIP"] = "manage:partner-membership";
26
+ // Partner Analytics: the partnerships, the emergencies routed through them and
27
+ // what became of each, how the partners' systems answered, and the members
28
+ // registered with them - totals, rates and durations only, never a caller, a
29
+ // member id or a payload. Held by everybody who reads partnerships; scoped by
30
+ // clarion-partner-services to the caller's organization or control centre.
31
+ PermissionActions["READ_PARTNER_ANALYTICS"] = "read:partner-analytics";
26
32
  // Module: ControlCentre
27
33
  PermissionActions["CREATE_CONTROL_CENTRE"] = "create:control-centre";
28
34
  PermissionActions["READ_CONTROL_CENTRE"] = "read:control-centre";
@@ -1 +1 @@
1
- {"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-actions.enum.js","sourceRoot":"","sources":["../../../../../src/modules/permission/enums/permission-actions.enum.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,5 @@ export * from './interfaces/partner-dispatch-progress.dto';
6
6
  export * from './interfaces/partner-dispatch.dto';
7
7
  export * from './interfaces/incident-partner-routing.dto';
8
8
  export * from './interfaces/partner-membership.dto';
9
+ export * from './interfaces/partner-analytics';
9
10
  export * from './utils/partner-display.util';
@@ -0,0 +1,378 @@
1
+ /**
2
+ * Partner analytics (the admin's Partner Analytics): the partnerships an organization
3
+ * has with third-party responders, the emergencies routed to them and what became of
4
+ * each, how the partners' systems answered, and the subscribers registered with them.
5
+ *
6
+ * One read, computed by clarion-partner-services from one consistent snapshot, so every
7
+ * number on a dashboard agrees with every other. Counts, durations and the names an
8
+ * organization gave its own partnerships only: never a caller's name, a phone number,
9
+ * a member id, a payload or a partner's error text.
10
+ *
11
+ * Emergencies are counted by when they were ROUTED (the dispatch was raised) and shown
12
+ * as they stand now: a dispatch raised in the period and delivered after it counts as
13
+ * delivered. Partner calls and memberships are counted by when they happened.
14
+ */
15
+ /** How the period is cut into points for the charts. Chosen by the service from the length of the period. */
16
+ export type PartnerAnalyticsBucket = 'hour' | 'day' | 'week' | 'month';
17
+ export interface PartnerAnalyticsRange {
18
+ /** Inclusive, ISO 8601. The first partnership's creation when the period asked for was "forever". */
19
+ from: string;
20
+ /** Exclusive, ISO 8601. */
21
+ to: string;
22
+ bucket: PartnerAnalyticsBucket;
23
+ /** IANA time zone the buckets and the hour-of-week grid are cut in. */
24
+ timeZone: string;
25
+ }
26
+ /** A count by a key (a status, a reason, a capability), largest first unless the section says otherwise. */
27
+ export interface PartnerAnalyticsCount<K extends string = string> {
28
+ key: K;
29
+ count: number;
30
+ }
31
+ /** A partnership the dashboard can be narrowed to - every one in scope, whatever is being shown. */
32
+ export interface PartnerAnalyticsPartnershipOption {
33
+ id: number;
34
+ organizationId: number;
35
+ name: string;
36
+ providerCode: string;
37
+ environment: string;
38
+ enabled: boolean;
39
+ }
40
+ /**
41
+ * The partnerships as configured now, and how each has been used in the period.
42
+ *
43
+ * Figures (`raised` onwards) are the period's; everything before them is the
44
+ * partnership's configuration and health as they stand now.
45
+ */
46
+ export interface PartnerAnalyticsPartnershipRow {
47
+ integrationId: number;
48
+ organizationId: number;
49
+ /** Null: every control centre in the organization may route through it. */
50
+ controlCentreId: number | null;
51
+ name: string;
52
+ providerCode: string;
53
+ environment: string;
54
+ enabled: boolean;
55
+ /** AUTO, MANUAL or DISABLED. */
56
+ routingMode: string;
57
+ /** The last health check's verdict: HEALTHY, DEGRADED, UNREACHABLE or UNKNOWN. */
58
+ status: string;
59
+ capabilities: string[];
60
+ membershipEnabled: boolean;
61
+ requireCoverForDispatch: boolean;
62
+ countryCode: string;
63
+ coverageRules: number;
64
+ enabledCoverageRules: number;
65
+ lastSuccessAt: string | null;
66
+ lastErrorAt: string | null;
67
+ lastHealthCheckAt: string | null;
68
+ createdAt: string;
69
+ /** Emergencies routed to it in the period. */
70
+ raised: number;
71
+ /** Of those, reached the partner (sent at least once). */
72
+ delivered: number;
73
+ failed: number;
74
+ acknowledged: number;
75
+ /** delivered / (delivered + failed), as a percentage; null when nothing was attempted. */
76
+ deliveryRate: number | null;
77
+ medianSecondsToAcknowledge: number | null;
78
+ /** Calls made to the partner's system in the period, and those that failed. */
79
+ calls: number;
80
+ failedCalls: number;
81
+ /** Memberships registered and live now, and those waiting for a person to act. */
82
+ activeMembers: number;
83
+ membersNeedingAttention: number;
84
+ }
85
+ /** The partnerships in scope, as configured now. */
86
+ export interface PartnerAnalyticsPartnerships {
87
+ total: number;
88
+ enabled: number;
89
+ disabled: number;
90
+ /** Routing modes of the ENABLED partnerships. */
91
+ autoRouting: number;
92
+ manualRouting: number;
93
+ routingOff: number;
94
+ production: number;
95
+ sandbox: number;
96
+ /** Health of the ENABLED partnerships. */
97
+ healthy: number;
98
+ degraded: number;
99
+ unreachable: number;
100
+ unknown: number;
101
+ membershipEnabled: number;
102
+ /** Withhold an emergency from the partner when the caller is not covered. */
103
+ coverGate: number;
104
+ coverageRules: number;
105
+ enabledCoverageRules: number;
106
+ byProvider: PartnerAnalyticsCount[];
107
+ /** Services bought, a partnership counted once under each of its capabilities. */
108
+ byCapability: PartnerAnalyticsCount[];
109
+ /** What the enabled coverage rules match on: ALL, INCIDENT_TYPE, INCIDENT_CATEGORY, EMERGENCY_TYPE. */
110
+ rulesByMatchType: PartnerAnalyticsCount[];
111
+ rows: PartnerAnalyticsPartnershipRow[];
112
+ }
113
+ /** Median and 90th percentile of one duration, in seconds; null when nothing was measured. */
114
+ export interface PartnerAnalyticsDuration {
115
+ median: number | null;
116
+ p90: number | null;
117
+ /** How many were measured. */
118
+ count: number;
119
+ }
120
+ /** A row per routing mode: AUTO goes straight out; MANUAL waits for an operator to confirm it. */
121
+ export interface PartnerAnalyticsModeRow {
122
+ mode: string;
123
+ raised: number;
124
+ delivered: number;
125
+ failed: number;
126
+ /** Rejected by an operator, or left to expire, or cancelled before it went. */
127
+ declined: number;
128
+ }
129
+ /** A row per partner: what it was sent and how it answered. */
130
+ export interface PartnerAnalyticsProviderRow {
131
+ provider: string;
132
+ raised: number;
133
+ delivered: number;
134
+ failed: number;
135
+ acknowledged: number;
136
+ medianSecondsToAcknowledge: number | null;
137
+ }
138
+ /** Emergencies routed to partners in the period, as they stand now. */
139
+ export interface PartnerAnalyticsDispatches {
140
+ /** Dispatches raised in the period - one per incident per partnership. */
141
+ raised: number;
142
+ /** Distinct incidents among them. */
143
+ incidents: number;
144
+ /** Reached the partner at least once (whatever became of them afterwards). */
145
+ delivered: number;
146
+ /** The partner assigned a responder - a crew or a vehicle is on it. */
147
+ acknowledged: number;
148
+ /** The partner closed it as done (a partner that never reports back never closes one). */
149
+ completed: number;
150
+ /** Could not be delivered: refused, or out of attempts. */
151
+ failed: number;
152
+ /** An operator declined to send it. */
153
+ rejected: number;
154
+ /** Nobody decided before the approval window closed. */
155
+ expired: number;
156
+ /** Stopped before it was sent. */
157
+ cancelled: number;
158
+ /** Stood down after it reached the partner. */
159
+ withdrawn: number;
160
+ /** Still waiting for an operator to confirm it, now. */
161
+ awaitingDecision: number;
162
+ /** Queued or being sent, now. */
163
+ inFlight: number;
164
+ /** delivered / (delivered + failed) - of the dispatches that were tried, the share that got through. */
165
+ deliveryRate: number | null;
166
+ /** acknowledged / delivered. */
167
+ acknowledgementRate: number | null;
168
+ /** completed / delivered. */
169
+ completionRate: number | null;
170
+ /** Delivered on the first attempt / delivered. */
171
+ firstAttemptRate: number | null;
172
+ /** Needed more than one attempt. */
173
+ retried: number;
174
+ /** Average attempts of the dispatches that were tried at all. */
175
+ averageAttempts: number | null;
176
+ timings: {
177
+ /** From routing to reaching the partner - for MANUAL, the operator's decision included. */
178
+ toSend: PartnerAnalyticsDuration;
179
+ /** From reaching the partner to the partner assigning a responder. */
180
+ toAcknowledge: PartnerAnalyticsDuration;
181
+ /** From reaching the partner to the partner closing it - completed ones only. */
182
+ toClose: PartnerAnalyticsDuration;
183
+ /** MANUAL only: from routing to an operator confirming or rejecting it. */
184
+ toDecide: PartnerAnalyticsDuration;
185
+ };
186
+ approvals: {
187
+ /** Dispatches routed in MANUAL mode. */
188
+ needed: number;
189
+ approved: number;
190
+ rejected: number;
191
+ expired: number;
192
+ /** Still waiting, now. */
193
+ waiting: number;
194
+ /** approved / (approved + rejected + expired). */
195
+ approvalRate: number | null;
196
+ };
197
+ /** Every status, in lifecycle order, zeros included. */
198
+ byStatus: PartnerAnalyticsCount[];
199
+ byMode: PartnerAnalyticsModeRow[];
200
+ byProvider: PartnerAnalyticsProviderRow[];
201
+ byCapability: PartnerAnalyticsCount[];
202
+ byCountry: PartnerAnalyticsCount[];
203
+ /** From the incident as it was routed. */
204
+ byEmergencyType: PartnerAnalyticsCount[];
205
+ byChannel: PartnerAnalyticsCount[];
206
+ byPriority: PartnerAnalyticsCount[];
207
+ /** Why the failed ones failed. */
208
+ failureReasons: PartnerAnalyticsCount[];
209
+ /**
210
+ * Whether the partner was told who the emergency was about: IDENTIFIED,
211
+ * COVERED_NOT_REGISTERED, NOT_COVERED, IDENTIFIER_REJECTED - or NOT_RECORDED for a
212
+ * dispatch made before this was kept.
213
+ */
214
+ memberIdentification: PartnerAnalyticsCount[];
215
+ /** The partner's own view, now: ACTIVE, CLOSED, UNKNOWN - or NONE when never heard. */
216
+ engagement: PartnerAnalyticsCount[];
217
+ }
218
+ /** Calls made to the partners' systems on the emergencies' behalf - sending, signing in, checking progress, standing down. */
219
+ export interface PartnerAnalyticsCalls {
220
+ calls: number;
221
+ succeeded: number;
222
+ failed: number;
223
+ successRate: number | null;
224
+ medianMs: number | null;
225
+ p95Ms: number | null;
226
+ /** SEND (DISPATCH), AUTHENTICATE, FETCH_STATUS, WITHDRAW, AMEND, LOOKUP... */
227
+ byOperation: {
228
+ operation: string;
229
+ calls: number;
230
+ failed: number;
231
+ medianMs: number | null;
232
+ p95Ms: number | null;
233
+ }[];
234
+ /** 2xx, 3xx, 4xx, 5xx - or NO_RESPONSE when the partner never answered. */
235
+ byResponse: PartnerAnalyticsCount[];
236
+ failureReasons: PartnerAnalyticsCount[];
237
+ }
238
+ /** Subscribers registered with partners ahead of any emergency. */
239
+ export interface PartnerAnalyticsMemberships {
240
+ /** Every membership in scope, now. */
241
+ total: number;
242
+ /** Registered, and the partner's cover has started and not ended. */
243
+ covered: number;
244
+ /** Registered, but the partner's cover has not started yet (a waiting period). */
245
+ waitingPeriod: number;
246
+ /** INCOMPLETE_PROFILE, NEEDS_REVIEW or FAILED: a person has to act. */
247
+ needsAttention: number;
248
+ /** Created in the period. */
249
+ created: number;
250
+ /** Given a member id by the partner in the period. */
251
+ provisioned: number;
252
+ /** From the membership being created to the partner issuing a member id - those provisioned in the period. */
253
+ medianHoursToProvision: number | null;
254
+ /** Every status, in lifecycle order, zeros included. */
255
+ byStatus: PartnerAnalyticsCount[];
256
+ /** The partner's standing for registered members: PENDING_ACTIVATION, ACTIVE, SUSPENDED, LAPSED, UNKNOWN. */
257
+ byMemberState: PartnerAnalyticsCount[];
258
+ /** INDIVIDUAL_SUBSCRIBER or CORPORATE_MEMBER. */
259
+ bySubjectType: PartnerAnalyticsCount[];
260
+ /** Why registrations failed or were stopped, now. */
261
+ failureReasons: PartnerAnalyticsCount[];
262
+ /** What stops incomplete profiles being sent: a field, and whether it is MISSING or MALFORMED. */
263
+ missingDetails: {
264
+ field: string;
265
+ problem: string;
266
+ count: number;
267
+ }[];
268
+ dependents: number;
269
+ /** Dependents the partner has accepted. */
270
+ dependentsAccepted: number;
271
+ /** No longer covered here, but the partner keeps them to the end of the term. */
272
+ pendingRemoval: number;
273
+ /** People who declined to give a detail a partner asks for - in the period, and ever. */
274
+ declined: number;
275
+ declinedTotal: number;
276
+ /** Partnerships whose partner has no memberships feature, and those it is currently rate limiting. */
277
+ unsupportedPartnerships: number;
278
+ throttledPartnerships: number;
279
+ }
280
+ /** One kind of incident routed to partners. Names are the organization's own taxonomy. */
281
+ export interface PartnerAnalyticsIncidentTypeRow {
282
+ incidentTypeId: number | null;
283
+ name: string | null;
284
+ category: string | null;
285
+ raised: number;
286
+ delivered: number;
287
+ failed: number;
288
+ acknowledged: number;
289
+ medianSecondsToAcknowledge: number | null;
290
+ }
291
+ /** One point on the charts: a bucket of the period. */
292
+ export interface PartnerAnalyticsPoint {
293
+ /** Local wall-clock start of the bucket, in `range.timeZone` (no offset). */
294
+ bucket: string;
295
+ /** Dispatches raised in the bucket, and what became of them. */
296
+ raised: number;
297
+ delivered: number;
298
+ failed: number;
299
+ /** Rejected, expired or cancelled. */
300
+ declined: number;
301
+ /** Still waiting or being sent, now. */
302
+ pending: number;
303
+ acknowledged: number;
304
+ /** Of the dispatches that reached the partner in the bucket. */
305
+ medianSecondsToAcknowledge: number | null;
306
+ calls: number;
307
+ failedCalls: number;
308
+ medianCallMs: number | null;
309
+ membershipsCreated: number;
310
+ membershipsProvisioned: number;
311
+ }
312
+ /** One hour of the week: emergencies routed in it. Weekday 1 is Monday. */
313
+ export interface PartnerAnalyticsHeatCell {
314
+ weekday: number;
315
+ hour: number;
316
+ raised: number;
317
+ }
318
+ /** The previous period of the same length, for the change on each headline figure. */
319
+ export interface PartnerAnalyticsPrevious {
320
+ from: string;
321
+ to: string;
322
+ raised: number;
323
+ delivered: number;
324
+ failed: number;
325
+ acknowledged: number;
326
+ completed: number;
327
+ declined: number;
328
+ medianSecondsToSend: number | null;
329
+ medianSecondsToAcknowledge: number | null;
330
+ calls: number;
331
+ failedCalls: number;
332
+ membershipsCreated: number;
333
+ membershipsProvisioned: number;
334
+ }
335
+ /** A Super-Admin's view of every organization: one row each, busiest first. */
336
+ export interface PartnerAnalyticsOrganizationRow {
337
+ organizationId: number;
338
+ partnerships: number;
339
+ enabledPartnerships: number;
340
+ raised: number;
341
+ delivered: number;
342
+ failed: number;
343
+ deliveryRate: number | null;
344
+ activeMembers: number;
345
+ calls: number;
346
+ failedCalls: number;
347
+ }
348
+ export interface PartnerAnalytics {
349
+ /** Whose figures: one organization (and one control centre in it), or null for every organization. */
350
+ organizationId: number | null;
351
+ controlCentreId: number | null;
352
+ /** The one partnership the figures are narrowed to, or null for all of them. */
353
+ integrationId: number | null;
354
+ range: PartnerAnalyticsRange;
355
+ generatedAt: string;
356
+ previous: PartnerAnalyticsPrevious | null;
357
+ timeline: PartnerAnalyticsPoint[];
358
+ /** All 168 hours of the week, Monday first, zeros included. */
359
+ heatmap: PartnerAnalyticsHeatCell[];
360
+ /** Every partnership in scope, for narrowing the dashboard to one. */
361
+ partnershipOptions: PartnerAnalyticsPartnershipOption[];
362
+ partnerships: PartnerAnalyticsPartnerships;
363
+ dispatches: PartnerAnalyticsDispatches;
364
+ calls: PartnerAnalyticsCalls;
365
+ memberships: PartnerAnalyticsMemberships;
366
+ /** The kinds of incident routed, busiest first - at most 25. */
367
+ incidentTypes: PartnerAnalyticsIncidentTypeRow[];
368
+ /** A Super-Admin looking at every organization only. */
369
+ byOrganization?: PartnerAnalyticsOrganizationRow[];
370
+ }
371
+ /** What a dashboard asks: the period, one partnership - and, for a Super-Admin, whose figures. */
372
+ export interface PartnerAnalyticsQuery {
373
+ from?: string;
374
+ to?: string;
375
+ timeZone?: string;
376
+ organizationId?: number;
377
+ integrationId?: number;
378
+ }
@@ -14,6 +14,7 @@ export declare enum PermissionActions {
14
14
  RESEND_PARTNER_DISPATCH = "resend:partner-dispatch",
15
15
  READ_PARTNER_MEMBERSHIP = "read:partner-membership",
16
16
  MANAGE_PARTNER_MEMBERSHIP = "manage:partner-membership",
17
+ READ_PARTNER_ANALYTICS = "read:partner-analytics",
17
18
  CREATE_CONTROL_CENTRE = "create:control-centre",
18
19
  READ_CONTROL_CENTRE = "read:control-centre",
19
20
  UPDATE_CONTROL_CENTRE = "update:control-centre",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clarion-shared-types",
3
- "version": "1.0.110",
3
+ "version": "1.0.111",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/types/index.d.ts",