| POST | /v1/coverage/gaps/{CoverageGapId}/offer |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
open class CoverageOfferRequest
{
open var CoverageGapId:Int? = null
open var ContactIds:ArrayList<Int> = ArrayList<Int>()
}
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 CoverageOfferRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/coverage/gaps/{CoverageGapId}/offer HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CoverageGapId: 0,
ContactIds:
[
0
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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-01,
WindowEnd: 0001-01-01,
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-01,
UpdatedAt: 0001-01-01,
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-01,
RespondedAtUtc: 0001-01-01
}
],
Approvals:
[
{
CoverageApprovalId: 0,
CoverageGapId: 0,
Type: String,
Status: String,
RequestedAtUtc: 0001-01-01,
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-01,
DecisionNote: String
}
],
Timeline:
[
{
EventType: String,
Channel: String,
Detail: String,
ContactName: String,
AtUtc: 0001-01-01
}
],
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-01,
Attempts:
[
{
AtUtc: 0001-01-01,
Channel: String,
Note: String
}
],
DeclaredAtUtc: 0001-01-01,
AttendanceNote: False,
FalseAlarm: False
},
Leave:
{
Fmla: False,
Began: 0001-01-01,
EstReturn: 0001-01-01,
CheckpointDays: 0,
NextCheckpointUtc: 0001-01-01,
Checkpoints:
[
{
AtUtc: 0001-01-01,
Note: String,
ByName: String
}
],
InterimContactId: 0,
InterimName: String,
InterimStart: 0001-01-01,
InterimEnd: 0001-01-01,
RequisitionOpened: False,
StaffPostingId: 0,
ChainedGapIds:
[
0
],
ParentLeaveGapId: 0,
RestoredAtUtc: 0001-01-01
},
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
}
}
}