Trendsic Platform Service

<back to all web services

CoverageSwapProposeRequest

Requires Authentication
The following routes are available for this service:
POST/v1/coverage/swap
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

    [<AllowNullLiteral>]
    type CoverageExplanationSource() = 
        member val PolicyName:String = null with get,set
        member val CascadeLevel:String = null with get,set

    [<AllowNullLiteral>]
    type CoverageExplanationOverride() = 
        member val Who:String = null with get,set
        member val Consequence:String = null with get,set

    [<AllowNullLiteral>]
    type CoverageExplanation() = 
        member val PlainSentence:String = null with get,set
        member val RuleId:String = null with get,set
        member val RuleName:String = null with get,set
        member val Demand:String = null with get,set
        member val Source:CoverageExplanationSource = null with get,set
        member val Kind:String = null with get,set
        member val WhyItExists:String = null with get,set
        member val WhatWouldChangeIt:String = null with get,set
        member val Override:CoverageExplanationOverride = null with get,set
        member val Drill:String = null with get,set

    [<AllowNullLiteral>]
    type CoverageCandidateCheck() = 
        member val CheckId:String = null with get,set
        member val Result:String = null with get,set
        member val Expl:CoverageExplanation = null with get,set

    [<AllowNullLiteral>]
    type CoverageEffect() = 
        member val Icon:String = null with get,set
        member val Text:String = null with get,set
        member val RuleId:String = null with get,set
        member val Expl:CoverageExplanation = null with get,set

    [<AllowNullLiteral>]
    type CoverageCandidate() = 
        member val ContactId:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val FirstName:String = null with get,set
        member val Initials:String = null with get,set
        member val Rank:Int32 = new Int32() with get,set
        member val DiffLine:String = null with get,set
        member val CostLine:String = null with get,set
        member val CostTone:String = null with get,set
        member val RankExpl:CoverageExplanation = null with get,set
        member val MarginPct:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val MarginTone:String = null with get,set
        member val Loaded:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Billed:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OtHours:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OtPremium:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Checks:ResizeArray<CoverageCandidateCheck> = new ResizeArray<CoverageCandidateCheck>() with get,set
        member val Preview:ResizeArray<CoverageEffect> = new ResizeArray<CoverageEffect>() with get,set
        member val Confirm:ResizeArray<CoverageEffect> = new ResizeArray<CoverageEffect>() with get,set
        member val HasWarn:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CoverageBlockedCandidate() = 
        member val ContactId:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Initials:String = null with get,set
        member val Reason:String = null with get,set
        member val ChangeChip:String = null with get,set
        member val Expl:CoverageExplanation = null with get,set

    [<AllowNullLiteral>]
    type CoverageOfferInfo() = 
        member val CoverageOfferId:Int32 = new Int32() with get,set
        member val ContactId:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Ring:Int32 = new Int32() with get,set
        member val Channel:String = null with get,set
        member val Status:String = null with get,set
        member val SentAtUtc:DateTime = new DateTime() with get,set
        member val RespondedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    [<AllowNullLiteral>]
    type CoverageApprovalInfo() = 
        member val CoverageApprovalId:Int32 = new Int32() with get,set
        member val CoverageGapId:Int32 = new Int32() with get,set
        member val Type:String = null with get,set
        member val Status:String = null with get,set
        member val RequestedAtUtc:DateTime = new DateTime() with get,set
        member val Effects:ResizeArray<CoverageEffect> = new ResizeArray<CoverageEffect>() with get,set
        member val ContactId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ContactName:String = null with get,set
        member val DecidedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val DecisionNote:String = null with get,set

    [<AllowNullLiteral>]
    type CoverageGapEventInfo() = 
        member val EventType:String = null with get,set
        member val Channel:String = null with get,set
        member val Detail:String = null with get,set
        member val ContactName:String = null with get,set
        member val AtUtc:DateTime = new DateTime() with get,set

    [<AllowNullLiteral>]
    type CoverageMoveOption() = 
        member val Key:String = null with get,set
        member val Label:String = null with get,set
        member val Detail:String = null with get,set
        member val Expl:CoverageExplanation = null with get,set

    [<AllowNullLiteral>]
    type CoverageNoShowAttempt() = 
        member val AtUtc:DateTime = new DateTime() with get,set
        member val Channel:String = null with get,set
        member val Note:String = null with get,set

    [<AllowNullLiteral>]
    type CoverageNoShowState() = 
        member val GraceUntilUtc:DateTime = new DateTime() with get,set
        member val Attempts:ResizeArray<CoverageNoShowAttempt> = new ResizeArray<CoverageNoShowAttempt>() with get,set
        member val DeclaredAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val AttendanceNote:Boolean = new Boolean() with get,set
        member val FalseAlarm:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CoverageLeaveCheckpoint() = 
        member val AtUtc:DateTime = new DateTime() with get,set
        member val Note:String = null with get,set
        member val ByName:String = null with get,set

    [<AllowNullLiteral>]
    type CoverageLeaveState() = 
        member val Fmla:Boolean = new Boolean() with get,set
        member val Began:DateTime = new DateTime() with get,set
        member val EstReturn:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val CheckpointDays:Int32 = new Int32() with get,set
        member val NextCheckpointUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Checkpoints:ResizeArray<CoverageLeaveCheckpoint> = new ResizeArray<CoverageLeaveCheckpoint>() with get,set
        member val InterimContactId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val InterimName:String = null with get,set
        member val InterimStart:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val InterimEnd:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val RequisitionOpened:Boolean = new Boolean() with get,set
        member val StaffPostingId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ChainedGapIds:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val ParentLeaveGapId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val RestoredAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    [<AllowNullLiteral>]
    type CoverageGap() = 
        member val CoverageGapId:Int32 = new Int32() with get,set
        member val CoverageGapUID:Guid = new Guid() with get,set
        member val BranchId:Nullable<Guid> = new Nullable<Guid>() with get,set
        member val Status:String = null with get,set
        member val Track:String = null with get,set
        member val OutContactID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val OutName:String = null with get,set
        member val OutInitials:String = null with get,set
        member val JobID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val JobName:String = null with get,set
        member val ProjectID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val WorkerScheduleItemID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val WindowStart:DateTime = new DateTime() with get,set
        member val WindowEnd:DateTime = new DateTime() with get,set
        member val Reason:String = null with get,set
        member val MustFill:Boolean = new Boolean() with get,set
        member val MustFillExpl:CoverageExplanation = null with get,set
        member val FilledByContactID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val FilledByName:String = null with get,set
        member val RecordNo:String = null with get,set
        member val DecidedPolicyVersionId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val CreatedAt:DateTime = new DateTime() with get,set
        member val UpdatedAt:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val QualifiedLine:String = null with get,set
        member val Candidates:ResizeArray<CoverageCandidate> = new ResizeArray<CoverageCandidate>() with get,set
        member val Blocked:ResizeArray<CoverageBlockedCandidate> = new ResizeArray<CoverageBlockedCandidate>() with get,set
        member val Offers:ResizeArray<CoverageOfferInfo> = new ResizeArray<CoverageOfferInfo>() with get,set
        member val Approvals:ResizeArray<CoverageApprovalInfo> = new ResizeArray<CoverageApprovalInfo>() with get,set
        member val Timeline:ResizeArray<CoverageGapEventInfo> = new ResizeArray<CoverageGapEventInfo>() with get,set
        member val MoveOptions:ResizeArray<CoverageMoveOption> = new ResizeArray<CoverageMoveOption>() with get,set
        member val OrderExpl:CoverageExplanation = null with get,set
        member val AssignmentMode:String = null with get,set
        member val NoShow:CoverageNoShowState = null with get,set
        member val Leave:CoverageLeaveState = null with get,set
        member val CustomerName:String = null with get,set

    [<AllowNullLiteral>]
    type CoverageGapResponse() = 
        member val Gap:CoverageGap = null with get,set
        member val ChainedPreview:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val CanSeePay:Boolean = new Boolean() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type CoverageSwapProposeRequest() = 
        member val AItemId:Int32 = new Int32() with get,set
        member val BItemId:Int32 = new Int32() with get,set
        member val Directed:Boolean = new Boolean() with get,set

F# CoverageSwapProposeRequest 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/swap HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"AItemId":0,"BItemId":0,"Directed":false}
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"}}}