Trendsic Platform Service

<back to all web services

CoverageGapCreateRequest

Requires Authentication
The following routes are available for this service:
POST/v1/coverage/gaps
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class CoverageGapCreateRequest
{
    open var OutContactID:Int? = null
    open var Track:String? = null
    open var Reason:String? = null
    open var JobID:Int? = null
    open var WorkerScheduleItemID:Int? = null
    open var WindowStart:Date? = null
    open var WindowEnd:Date? = null
}

open class CoverageGapResponse
{
    open var Gap:CoverageGap? = null
    open var ChainedPreview:Int? = null
    open var CanSeePay:Boolean? = null
    open var ResponseStatus:ResponseStatus? = null
}

open class CoverageGap
{
    open var CoverageGapId:Int? = null
    open var CoverageGapUID:UUID? = null
    open var BranchId:UUID? = null
    open var Status:String? = null
    open var Track:String? = null
    open var OutContactID:Int? = null
    open var OutName:String? = null
    open var OutInitials:String? = null
    open var JobID:Int? = null
    open var JobName:String? = null
    open var ProjectID:Int? = null
    open var WorkerScheduleItemID:Int? = null
    open var WindowStart:Date? = null
    open var WindowEnd:Date? = null
    open var Reason:String? = null
    open var MustFill:Boolean? = null
    open var MustFillExpl:CoverageExplanation? = null
    open var FilledByContactID:Int? = null
    open var FilledByName:String? = null
    open var RecordNo:String? = null
    open var DecidedPolicyVersionId:Int? = null
    open var CreatedAt:Date? = null
    open var UpdatedAt:Date? = null
    open var QualifiedLine:String? = null
    open var Candidates:ArrayList<CoverageCandidate> = ArrayList<CoverageCandidate>()
    open var Blocked:ArrayList<CoverageBlockedCandidate> = ArrayList<CoverageBlockedCandidate>()
    open var Offers:ArrayList<CoverageOfferInfo> = ArrayList<CoverageOfferInfo>()
    open var Approvals:ArrayList<CoverageApprovalInfo> = ArrayList<CoverageApprovalInfo>()
    open var Timeline:ArrayList<CoverageGapEventInfo> = ArrayList<CoverageGapEventInfo>()
    open var MoveOptions:ArrayList<CoverageMoveOption> = ArrayList<CoverageMoveOption>()
    open var OrderExpl:CoverageExplanation? = null
    open var AssignmentMode:String? = null
    open var NoShow:CoverageNoShowState? = null
    open var Leave:CoverageLeaveState? = null
    open var CustomerName:String? = null
}

open class CoverageExplanation
{
    open var PlainSentence:String? = null
    open var RuleId:String? = null
    open var RuleName:String? = null
    open var Demand:String? = null
    open var Source:CoverageExplanationSource? = null
    open var Kind:String? = null
    open var WhyItExists:String? = null
    open var WhatWouldChangeIt:String? = null
    open var Override:CoverageExplanationOverride? = null
    open var Drill:String? = null
}

open class CoverageExplanationSource
{
    open var PolicyName:String? = null
    open var CascadeLevel:String? = null
}

open class CoverageExplanationOverride
{
    open var Who:String? = null
    open var Consequence:String? = null
}

open class CoverageCandidate
{
    open var ContactId:Int? = null
    open var Name:String? = null
    open var FirstName:String? = null
    open var Initials:String? = null
    open var Rank:Int? = null
    open var DiffLine:String? = null
    open var CostLine:String? = null
    open var CostTone:String? = null
    open var RankExpl:CoverageExplanation? = null
    open var MarginPct:BigDecimal? = null
    open var MarginTone:String? = null
    open var Loaded:BigDecimal? = null
    open var Billed:BigDecimal? = null
    open var OtHours:BigDecimal? = null
    open var OtPremium:BigDecimal? = null
    open var Checks:ArrayList<CoverageCandidateCheck> = ArrayList<CoverageCandidateCheck>()
    open var Preview:ArrayList<CoverageEffect> = ArrayList<CoverageEffect>()
    open var Confirm:ArrayList<CoverageEffect> = ArrayList<CoverageEffect>()
    open var HasWarn:Boolean? = null
}

open class CoverageCandidateCheck
{
    open var CheckId:String? = null
    open var Result:String? = null
    open var Expl:CoverageExplanation? = null
}

open class CoverageEffect
{
    open var Icon:String? = null
    open var Text:String? = null
    open var RuleId:String? = null
    open var Expl:CoverageExplanation? = null
}

open class CoverageBlockedCandidate
{
    open var ContactId:Int? = null
    open var Name:String? = null
    open var Initials:String? = null
    open var Reason:String? = null
    open var ChangeChip:String? = null
    open var Expl:CoverageExplanation? = null
}

open class CoverageOfferInfo
{
    open var CoverageOfferId:Int? = null
    open var ContactId:Int? = null
    open var Name:String? = null
    open var Ring:Int? = null
    open var Channel:String? = null
    open var Status:String? = null
    open var SentAtUtc:Date? = null
    open var RespondedAtUtc:Date? = null
}

open class CoverageApprovalInfo
{
    open var CoverageApprovalId:Int? = null
    open var CoverageGapId:Int? = null
    open var Type:String? = null
    open var Status:String? = null
    open var RequestedAtUtc:Date? = null
    open var Effects:ArrayList<CoverageEffect> = ArrayList<CoverageEffect>()
    open var ContactId:Int? = null
    open var ContactName:String? = null
    open var DecidedAtUtc:Date? = null
    open var DecisionNote:String? = null
}

open class CoverageGapEventInfo
{
    open var EventType:String? = null
    open var Channel:String? = null
    open var Detail:String? = null
    open var ContactName:String? = null
    open var AtUtc:Date? = null
}

open class CoverageMoveOption
{
    open var Key:String? = null
    open var Label:String? = null
    open var Detail:String? = null
    open var Expl:CoverageExplanation? = null
}

open class CoverageNoShowState
{
    open var GraceUntilUtc:Date? = null
    open var Attempts:ArrayList<CoverageNoShowAttempt> = ArrayList<CoverageNoShowAttempt>()
    open var DeclaredAtUtc:Date? = null
    open var AttendanceNote:Boolean? = null
    open var FalseAlarm:Boolean? = null
}

open class CoverageNoShowAttempt
{
    open var AtUtc:Date? = null
    open var Channel:String? = null
    open var Note:String? = null
}

open class CoverageLeaveState
{
    open var Fmla:Boolean? = null
    open var Began:Date? = null
    open var EstReturn:Date? = null
    open var CheckpointDays:Int? = null
    open var NextCheckpointUtc:Date? = null
    open var Checkpoints:ArrayList<CoverageLeaveCheckpoint> = ArrayList<CoverageLeaveCheckpoint>()
    open var InterimContactId:Int? = null
    open var InterimName:String? = null
    open var InterimStart:Date? = null
    open var InterimEnd:Date? = null
    open var RequisitionOpened:Boolean? = null
    open var StaffPostingId:Int? = null
    open var ChainedGapIds:ArrayList<Int> = ArrayList<Int>()
    open var ParentLeaveGapId:Int? = null
    open var RestoredAtUtc:Date? = null
}

open class CoverageLeaveCheckpoint
{
    open var AtUtc:Date? = null
    open var Note:String? = null
    open var ByName:String? = null
}

Kotlin CoverageGapCreateRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
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/csv
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"}}}