| POST | /v1/coverage/gaps |
|---|
import Foundation
import ServiceStack
public class CoverageGapCreateRequest : Codable
{
public var outContactID:Int?
public var track:String
public var reason:String
public var jobID:Int?
public var workerScheduleItemID:Int?
public var windowStart:Date?
public var windowEnd:Date?
required public init(){}
}
public class CoverageGapResponse : Codable
{
public var gap:CoverageGap
public var chainedPreview:Int?
public var canSeePay:Bool
public var responseStatus:ResponseStatus
required public init(){}
}
public class CoverageGap : Codable
{
public var coverageGapId:Int
public var coverageGapUID:String
public var branchId:String?
public var status:String
public var track:String
public var outContactID:Int?
public var outName:String
public var outInitials:String
public var jobID:Int?
public var jobName:String
public var projectID:Int?
public var workerScheduleItemID:Int?
public var windowStart:Date
public var windowEnd:Date
public var reason:String
public var mustFill:Bool
public var mustFillExpl:CoverageExplanation
public var filledByContactID:Int?
public var filledByName:String
public var recordNo:String
public var decidedPolicyVersionId:Int?
public var createdAt:Date
public var updatedAt:Date?
public var qualifiedLine:String
public var candidates:[CoverageCandidate] = []
public var blocked:[CoverageBlockedCandidate] = []
public var offers:[CoverageOfferInfo] = []
public var approvals:[CoverageApprovalInfo] = []
public var timeline:[CoverageGapEventInfo] = []
public var moveOptions:[CoverageMoveOption] = []
public var orderExpl:CoverageExplanation
public var assignmentMode:String
public var noShow:CoverageNoShowState
public var leave:CoverageLeaveState
public var customerName:String
required public init(){}
}
public class CoverageExplanation : Codable
{
public var plainSentence:String
public var ruleId:String
public var ruleName:String
public var demand:String
public var source:CoverageExplanationSource
public var kind:String
public var whyItExists:String
public var whatWouldChangeIt:String
public var `override`:CoverageExplanationOverride
public var drill:String
required public init(){}
}
public class CoverageExplanationSource : Codable
{
public var policyName:String
public var cascadeLevel:String
required public init(){}
}
public class CoverageExplanationOverride : Codable
{
public var who:String
public var consequence:String
required public init(){}
}
public class CoverageCandidate : Codable
{
public var contactId:Int
public var name:String
public var firstName:String
public var initials:String
public var rank:Int
public var diffLine:String
public var costLine:String
public var costTone:String
public var rankExpl:CoverageExplanation
public var marginPct:Double?
public var marginTone:String
public var loaded:Double?
public var billed:Double?
public var otHours:Double?
public var otPremium:Double?
public var checks:[CoverageCandidateCheck] = []
public var preview:[CoverageEffect] = []
public var confirm:[CoverageEffect] = []
public var hasWarn:Bool
required public init(){}
}
public class CoverageCandidateCheck : Codable
{
public var checkId:String
public var result:String
public var expl:CoverageExplanation
required public init(){}
}
public class CoverageEffect : Codable
{
public var icon:String
public var text:String
public var ruleId:String
public var expl:CoverageExplanation
required public init(){}
}
public class CoverageBlockedCandidate : Codable
{
public var contactId:Int
public var name:String
public var initials:String
public var reason:String
public var changeChip:String
public var expl:CoverageExplanation
required public init(){}
}
public class CoverageOfferInfo : Codable
{
public var coverageOfferId:Int
public var contactId:Int
public var name:String
public var ring:Int
public var channel:String
public var status:String
public var sentAtUtc:Date
public var respondedAtUtc:Date?
required public init(){}
}
public class CoverageApprovalInfo : Codable
{
public var coverageApprovalId:Int
public var coverageGapId:Int
public var type:String
public var status:String
public var requestedAtUtc:Date
public var effects:[CoverageEffect] = []
public var contactId:Int?
public var contactName:String
public var decidedAtUtc:Date?
public var decisionNote:String
required public init(){}
}
public class CoverageGapEventInfo : Codable
{
public var eventType:String
public var channel:String
public var detail:String
public var contactName:String
public var atUtc:Date
required public init(){}
}
public class CoverageMoveOption : Codable
{
public var key:String
public var label:String
public var detail:String
public var expl:CoverageExplanation
required public init(){}
}
public class CoverageNoShowState : Codable
{
public var graceUntilUtc:Date
public var attempts:[CoverageNoShowAttempt] = []
public var declaredAtUtc:Date?
public var attendanceNote:Bool
public var falseAlarm:Bool
required public init(){}
}
public class CoverageNoShowAttempt : Codable
{
public var atUtc:Date
public var channel:String
public var note:String
required public init(){}
}
public class CoverageLeaveState : Codable
{
public var fmla:Bool
public var began:Date
public var estReturn:Date?
public var checkpointDays:Int
public var nextCheckpointUtc:Date?
public var checkpoints:[CoverageLeaveCheckpoint] = []
public var interimContactId:Int?
public var interimName:String
public var interimStart:Date?
public var interimEnd:Date?
public var requisitionOpened:Bool
public var staffPostingId:Int?
public var chainedGapIds:[Int] = []
public var parentLeaveGapId:Int?
public var restoredAtUtc:Date?
required public init(){}
}
public class CoverageLeaveCheckpoint : Codable
{
public var atUtc:Date
public var note:String
public var byName:String
required public init(){}
}
Swift CoverageGapCreateRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/coverage/gaps HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"OutContactID":0,"Track":"String","Reason":"String","JobID":0,"WorkerScheduleItemID":0,"WindowStart":"0001-01-01T00:00:00.0000000","WindowEnd":"0001-01-01T00:00:00.0000000"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"Gap":{"CoverageGapId":0,"CoverageGapUID":"00000000000000000000000000000000","BranchId":"00000000000000000000000000000000","Status":"String","Track":"String","OutContactID":0,"OutName":"String","OutInitials":"String","JobID":0,"JobName":"String","ProjectID":0,"WorkerScheduleItemID":0,"WindowStart":"0001-01-01T00:00:00.0000000","WindowEnd":"0001-01-01T00:00:00.0000000","Reason":"String","MustFill":false,"MustFillExpl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"},"FilledByContactID":0,"FilledByName":"String","RecordNo":"String","DecidedPolicyVersionId":0,"CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000","QualifiedLine":"String","Candidates":[{"ContactId":0,"Name":"String","FirstName":"String","Initials":"String","Rank":0,"DiffLine":"String","CostLine":"String","CostTone":"String","RankExpl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"},"MarginPct":0,"MarginTone":"String","Loaded":0,"Billed":0,"OtHours":0,"OtPremium":0,"Checks":[{"CheckId":"String","Result":"String","Expl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"}}],"Preview":[{"Icon":"String","Text":"String","RuleId":"String","Expl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"}}],"Confirm":[{"Icon":"String","Text":"String","RuleId":"String","Expl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"}}],"HasWarn":false}],"Blocked":[{"ContactId":0,"Name":"String","Initials":"String","Reason":"String","ChangeChip":"String","Expl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"}}],"Offers":[{"CoverageOfferId":0,"ContactId":0,"Name":"String","Ring":0,"Channel":"String","Status":"String","SentAtUtc":"0001-01-01T00:00:00.0000000","RespondedAtUtc":"0001-01-01T00:00:00.0000000"}],"Approvals":[{"CoverageApprovalId":0,"CoverageGapId":0,"Type":"String","Status":"String","RequestedAtUtc":"0001-01-01T00:00:00.0000000","Effects":[{"Icon":"String","Text":"String","RuleId":"String","Expl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"}}],"ContactId":0,"ContactName":"String","DecidedAtUtc":"0001-01-01T00:00:00.0000000","DecisionNote":"String"}],"Timeline":[{"EventType":"String","Channel":"String","Detail":"String","ContactName":"String","AtUtc":"0001-01-01T00:00:00.0000000"}],"MoveOptions":[{"Key":"String","Label":"String","Detail":"String","Expl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"}}],"OrderExpl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"},"AssignmentMode":"String","NoShow":{"GraceUntilUtc":"0001-01-01T00:00:00.0000000","Attempts":[{"AtUtc":"0001-01-01T00:00:00.0000000","Channel":"String","Note":"String"}],"DeclaredAtUtc":"0001-01-01T00:00:00.0000000","AttendanceNote":false,"FalseAlarm":false},"Leave":{"Fmla":false,"Began":"0001-01-01T00:00:00.0000000","EstReturn":"0001-01-01T00:00:00.0000000","CheckpointDays":0,"NextCheckpointUtc":"0001-01-01T00:00:00.0000000","Checkpoints":[{"AtUtc":"0001-01-01T00:00:00.0000000","Note":"String","ByName":"String"}],"InterimContactId":0,"InterimName":"String","InterimStart":"0001-01-01T00:00:00.0000000","InterimEnd":"0001-01-01T00:00:00.0000000","RequisitionOpened":false,"StaffPostingId":0,"ChainedGapIds":[0],"ParentLeaveGapId":0,"RestoredAtUtc":"0001-01-01T00:00:00.0000000"},"CustomerName":"String"},"ChainedPreview":0,"CanSeePay":false,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}