(* Options: Date: 2026-08-01 11:40:11 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: SafetyComplianceRequest.* //ExcludeTypes: //InitializeCollections: True //AddNamespaces: *) namespace CRM.AgencyPlatform.API.Internal open System open System.IO open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations open System.Net [] type SafetyComplianceKpis() = member val ParticipationPct:Int32 = new Int32() with get,set member val OpenIncidents:Int32 = new Int32() with get,set member val OverdueCAs:Int32 = new Int32() with get,set member val Recordables12mo:Int32 = new Int32() with get,set member val DaysWithoutRecordable:Int32 = new Int32() with get,set member val ProjectsWithTalkToday:Int32 = new Int32() with get,set member val ProjectsWithCrewToday:Int32 = new Int32() with get,set [] type SafetyComplianceProject() = member val ProjectID:Int32 = new Int32() with get,set member val ProjectUID:String = null with get,set member val ProjectName:String = null with get,set member val Branch:String = null with get,set member val CrewCount:Int32 = new Int32() with get,set member val HasTalkToday:Boolean = new Boolean() with get,set member val TalkAckPct:Int32 = new Int32() with get,set member val OpenIncidents:Int32 = new Int32() with get,set member val OverdueCAs:Int32 = new Int32() with get,set member val Recordables12mo:Int32 = new Int32() with get,set [] type SafetyTrendWeek() = member val WeekStart:String = null with get,set member val Acks:Int32 = new Int32() with get,set member val Roster:Int32 = new Int32() with get,set [] type SafetyIncidentMixRow() = member val Severity:String = null with get,set member val Cnt:Int32 = new Int32() with get,set [] type SafetyMissingTalk() = member val ProjectID:Int32 = new Int32() with get,set member val ProjectUID:String = null with get,set member val ProjectName:String = null with get,set member val CrewCount:Int32 = new Int32() with get,set [] [] type ResponseStatus() = [] member val ErrorCode:String = null with get,set [] member val Message:String = null with get,set [] member val StackTrace:String = null with get,set [] member val Errors:ResizeArray = new ResizeArray() with get,set [] member val Meta:Dictionary = new Dictionary() with get,set [] type SafetyComplianceResponse() = member val ResponseStatus:ResponseStatus = null with get,set member val Kpis:SafetyComplianceKpis = null with get,set member val Projects:ResizeArray = new ResizeArray() with get,set member val Trend:ResizeArray = new ResizeArray() with get,set member val IncidentMix:ResizeArray = new ResizeArray() with get,set member val MissingTalks:ResizeArray = new ResizeArray() with get,set [] [] type SafetyComplianceRequest() = interface IReturn member val Days:Int32 = new Int32() with get,set