Trendsic Platform Service

<back to all web services

CoverageReleaseRequest

Requires Authentication
The following routes are available for this service:
POST/v1/coverage/release
import Foundation
import ServiceStack

public class CoverageReleaseRequest : Codable
{
    public var workerScheduleItemID:Int
    public var note:String

    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 CoverageReleaseRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/coverage/release HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"WorkerScheduleItemID":0,"Note":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
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"}}}