| GET,OPTIONS | /v1/safety/compliance |
|---|
"use strict";
export class SafetyComplianceKpis {
/** @param {{ParticipationPct?:number,OpenIncidents?:number,OverdueCAs?:number,Recordables12mo?:number,DaysWithoutRecordable?:number,ProjectsWithTalkToday?:number,ProjectsWithCrewToday?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ParticipationPct;
/** @type {number} */
OpenIncidents;
/** @type {number} */
OverdueCAs;
/** @type {number} */
Recordables12mo;
/** @type {number} */
DaysWithoutRecordable;
/** @type {number} */
ProjectsWithTalkToday;
/** @type {number} */
ProjectsWithCrewToday;
}
export class SafetyComplianceProject {
/** @param {{ProjectID?:number,ProjectUID?:string,ProjectName?:string,Branch?:string,CrewCount?:number,HasTalkToday?:boolean,TalkAckPct?:number,OpenIncidents?:number,OverdueCAs?:number,Recordables12mo?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ProjectID;
/** @type {string} */
ProjectUID;
/** @type {string} */
ProjectName;
/** @type {string} */
Branch;
/** @type {number} */
CrewCount;
/** @type {boolean} */
HasTalkToday;
/** @type {number} */
TalkAckPct;
/** @type {number} */
OpenIncidents;
/** @type {number} */
OverdueCAs;
/** @type {number} */
Recordables12mo;
}
export class SafetyTrendWeek {
/** @param {{WeekStart?:string,Acks?:number,Roster?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
WeekStart;
/** @type {number} */
Acks;
/** @type {number} */
Roster;
}
export class SafetyIncidentMixRow {
/** @param {{Severity?:string,Cnt?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Severity;
/** @type {number} */
Cnt;
}
export class SafetyMissingTalk {
/** @param {{ProjectID?:number,ProjectUID?:string,ProjectName?:string,CrewCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ProjectID;
/** @type {string} */
ProjectUID;
/** @type {string} */
ProjectName;
/** @type {number} */
CrewCount;
}
export class SafetyComplianceResponse {
/** @param {{ResponseStatus?:ResponseStatus,Kpis?:SafetyComplianceKpis,Projects?:SafetyComplianceProject[],Trend?:SafetyTrendWeek[],IncidentMix?:SafetyIncidentMixRow[],MissingTalks?:SafetyMissingTalk[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {SafetyComplianceKpis} */
Kpis;
/** @type {SafetyComplianceProject[]} */
Projects = [];
/** @type {SafetyTrendWeek[]} */
Trend = [];
/** @type {SafetyIncidentMixRow[]} */
IncidentMix = [];
/** @type {SafetyMissingTalk[]} */
MissingTalks = [];
}
export class SafetyComplianceRequest {
/** @param {{Days?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Days;
}
JavaScript SafetyComplianceRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/safety/compliance HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Kpis:
{
ParticipationPct: 0,
OpenIncidents: 0,
OverdueCAs: 0,
Recordables12mo: 0,
DaysWithoutRecordable: 0,
ProjectsWithTalkToday: 0,
ProjectsWithCrewToday: 0
},
Projects:
[
{
ProjectID: 0,
ProjectUID: String,
ProjectName: String,
Branch: String,
CrewCount: 0,
HasTalkToday: False,
TalkAckPct: 0,
OpenIncidents: 0,
OverdueCAs: 0,
Recordables12mo: 0
}
],
Trend:
[
{
WeekStart: String,
Acks: 0,
Roster: 0
}
],
IncidentMix:
[
{
Severity: String,
Cnt: 0
}
],
MissingTalks:
[
{
ProjectID: 0,
ProjectUID: String,
ProjectName: String,
CrewCount: 0
}
]
}