Trendsic Platform Service

<back to all web services

CoverageNoShowAttemptRequest

Requires Authentication
The following routes are available for this service:
POST/v1/coverage/gaps/{CoverageGapId}/noshow/attempt
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class CoverageExplanationSource implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $PolicyName=null,
        /** @var string|null */
        public ?string $CascadeLevel=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['PolicyName'])) $this->PolicyName = $o['PolicyName'];
        if (isset($o['CascadeLevel'])) $this->CascadeLevel = $o['CascadeLevel'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->PolicyName)) $o['PolicyName'] = $this->PolicyName;
        if (isset($this->CascadeLevel)) $o['CascadeLevel'] = $this->CascadeLevel;
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageExplanationOverride implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Who=null,
        /** @var string|null */
        public ?string $Consequence=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Who'])) $this->Who = $o['Who'];
        if (isset($o['Consequence'])) $this->Consequence = $o['Consequence'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Who)) $o['Who'] = $this->Who;
        if (isset($this->Consequence)) $o['Consequence'] = $this->Consequence;
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageExplanation implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $PlainSentence=null,
        /** @var string|null */
        public ?string $RuleId=null,
        /** @var string|null */
        public ?string $RuleName=null,
        /** @var string|null */
        public ?string $Demand=null,
        /** @var CoverageExplanationSource|null */
        public ?CoverageExplanationSource $Source=null,
        /** @var string|null */
        public ?string $Kind=null,
        /** @var string|null */
        public ?string $WhyItExists=null,
        /** @var string|null */
        public ?string $WhatWouldChangeIt=null,
        /** @var CoverageExplanationOverride|null */
        public ?CoverageExplanationOverride $Override=null,
        /** @var string|null */
        public ?string $Drill=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['PlainSentence'])) $this->PlainSentence = $o['PlainSentence'];
        if (isset($o['RuleId'])) $this->RuleId = $o['RuleId'];
        if (isset($o['RuleName'])) $this->RuleName = $o['RuleName'];
        if (isset($o['Demand'])) $this->Demand = $o['Demand'];
        if (isset($o['Source'])) $this->Source = JsonConverters::from('CoverageExplanationSource', $o['Source']);
        if (isset($o['Kind'])) $this->Kind = $o['Kind'];
        if (isset($o['WhyItExists'])) $this->WhyItExists = $o['WhyItExists'];
        if (isset($o['WhatWouldChangeIt'])) $this->WhatWouldChangeIt = $o['WhatWouldChangeIt'];
        if (isset($o['Override'])) $this->Override = JsonConverters::from('CoverageExplanationOverride', $o['Override']);
        if (isset($o['Drill'])) $this->Drill = $o['Drill'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->PlainSentence)) $o['PlainSentence'] = $this->PlainSentence;
        if (isset($this->RuleId)) $o['RuleId'] = $this->RuleId;
        if (isset($this->RuleName)) $o['RuleName'] = $this->RuleName;
        if (isset($this->Demand)) $o['Demand'] = $this->Demand;
        if (isset($this->Source)) $o['Source'] = JsonConverters::to('CoverageExplanationSource', $this->Source);
        if (isset($this->Kind)) $o['Kind'] = $this->Kind;
        if (isset($this->WhyItExists)) $o['WhyItExists'] = $this->WhyItExists;
        if (isset($this->WhatWouldChangeIt)) $o['WhatWouldChangeIt'] = $this->WhatWouldChangeIt;
        if (isset($this->Override)) $o['Override'] = JsonConverters::to('CoverageExplanationOverride', $this->Override);
        if (isset($this->Drill)) $o['Drill'] = $this->Drill;
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageCandidateCheck implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $CheckId=null,
        /** @var string|null */
        public ?string $Result=null,
        /** @var CoverageExplanation|null */
        public ?CoverageExplanation $Expl=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CheckId'])) $this->CheckId = $o['CheckId'];
        if (isset($o['Result'])) $this->Result = $o['Result'];
        if (isset($o['Expl'])) $this->Expl = JsonConverters::from('CoverageExplanation', $o['Expl']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CheckId)) $o['CheckId'] = $this->CheckId;
        if (isset($this->Result)) $o['Result'] = $this->Result;
        if (isset($this->Expl)) $o['Expl'] = JsonConverters::to('CoverageExplanation', $this->Expl);
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageEffect implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Icon=null,
        /** @var string|null */
        public ?string $Text=null,
        /** @var string|null */
        public ?string $RuleId=null,
        /** @var CoverageExplanation|null */
        public ?CoverageExplanation $Expl=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Icon'])) $this->Icon = $o['Icon'];
        if (isset($o['Text'])) $this->Text = $o['Text'];
        if (isset($o['RuleId'])) $this->RuleId = $o['RuleId'];
        if (isset($o['Expl'])) $this->Expl = JsonConverters::from('CoverageExplanation', $o['Expl']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Icon)) $o['Icon'] = $this->Icon;
        if (isset($this->Text)) $o['Text'] = $this->Text;
        if (isset($this->RuleId)) $o['RuleId'] = $this->RuleId;
        if (isset($this->Expl)) $o['Expl'] = JsonConverters::to('CoverageExplanation', $this->Expl);
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageCandidate implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $ContactId=0,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $FirstName=null,
        /** @var string|null */
        public ?string $Initials=null,
        /** @var int */
        public int $Rank=0,
        /** @var string|null */
        public ?string $DiffLine=null,
        /** @var string|null */
        public ?string $CostLine=null,
        /** @var string|null */
        public ?string $CostTone=null,
        /** @var CoverageExplanation|null */
        public ?CoverageExplanation $RankExpl=null,
        /** @var float|null */
        public ?float $MarginPct=null,
        /** @var string|null */
        public ?string $MarginTone=null,
        /** @var float|null */
        public ?float $Loaded=null,
        /** @var float|null */
        public ?float $Billed=null,
        /** @var float|null */
        public ?float $OtHours=null,
        /** @var float|null */
        public ?float $OtPremium=null,
        /** @var array<CoverageCandidateCheck>|null */
        public ?array $Checks=null,
        /** @var array<CoverageEffect>|null */
        public ?array $Preview=null,
        /** @var array<CoverageEffect>|null */
        public ?array $Confirm=null,
        /** @var bool|null */
        public ?bool $HasWarn=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['FirstName'])) $this->FirstName = $o['FirstName'];
        if (isset($o['Initials'])) $this->Initials = $o['Initials'];
        if (isset($o['Rank'])) $this->Rank = $o['Rank'];
        if (isset($o['DiffLine'])) $this->DiffLine = $o['DiffLine'];
        if (isset($o['CostLine'])) $this->CostLine = $o['CostLine'];
        if (isset($o['CostTone'])) $this->CostTone = $o['CostTone'];
        if (isset($o['RankExpl'])) $this->RankExpl = JsonConverters::from('CoverageExplanation', $o['RankExpl']);
        if (isset($o['MarginPct'])) $this->MarginPct = $o['MarginPct'];
        if (isset($o['MarginTone'])) $this->MarginTone = $o['MarginTone'];
        if (isset($o['Loaded'])) $this->Loaded = $o['Loaded'];
        if (isset($o['Billed'])) $this->Billed = $o['Billed'];
        if (isset($o['OtHours'])) $this->OtHours = $o['OtHours'];
        if (isset($o['OtPremium'])) $this->OtPremium = $o['OtPremium'];
        if (isset($o['Checks'])) $this->Checks = JsonConverters::fromArray('CoverageCandidateCheck', $o['Checks']);
        if (isset($o['Preview'])) $this->Preview = JsonConverters::fromArray('CoverageEffect', $o['Preview']);
        if (isset($o['Confirm'])) $this->Confirm = JsonConverters::fromArray('CoverageEffect', $o['Confirm']);
        if (isset($o['HasWarn'])) $this->HasWarn = $o['HasWarn'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->FirstName)) $o['FirstName'] = $this->FirstName;
        if (isset($this->Initials)) $o['Initials'] = $this->Initials;
        if (isset($this->Rank)) $o['Rank'] = $this->Rank;
        if (isset($this->DiffLine)) $o['DiffLine'] = $this->DiffLine;
        if (isset($this->CostLine)) $o['CostLine'] = $this->CostLine;
        if (isset($this->CostTone)) $o['CostTone'] = $this->CostTone;
        if (isset($this->RankExpl)) $o['RankExpl'] = JsonConverters::to('CoverageExplanation', $this->RankExpl);
        if (isset($this->MarginPct)) $o['MarginPct'] = $this->MarginPct;
        if (isset($this->MarginTone)) $o['MarginTone'] = $this->MarginTone;
        if (isset($this->Loaded)) $o['Loaded'] = $this->Loaded;
        if (isset($this->Billed)) $o['Billed'] = $this->Billed;
        if (isset($this->OtHours)) $o['OtHours'] = $this->OtHours;
        if (isset($this->OtPremium)) $o['OtPremium'] = $this->OtPremium;
        if (isset($this->Checks)) $o['Checks'] = JsonConverters::toArray('CoverageCandidateCheck', $this->Checks);
        if (isset($this->Preview)) $o['Preview'] = JsonConverters::toArray('CoverageEffect', $this->Preview);
        if (isset($this->Confirm)) $o['Confirm'] = JsonConverters::toArray('CoverageEffect', $this->Confirm);
        if (isset($this->HasWarn)) $o['HasWarn'] = $this->HasWarn;
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageBlockedCandidate implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $ContactId=0,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Initials=null,
        /** @var string|null */
        public ?string $Reason=null,
        /** @var string|null */
        public ?string $ChangeChip=null,
        /** @var CoverageExplanation|null */
        public ?CoverageExplanation $Expl=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Initials'])) $this->Initials = $o['Initials'];
        if (isset($o['Reason'])) $this->Reason = $o['Reason'];
        if (isset($o['ChangeChip'])) $this->ChangeChip = $o['ChangeChip'];
        if (isset($o['Expl'])) $this->Expl = JsonConverters::from('CoverageExplanation', $o['Expl']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Initials)) $o['Initials'] = $this->Initials;
        if (isset($this->Reason)) $o['Reason'] = $this->Reason;
        if (isset($this->ChangeChip)) $o['ChangeChip'] = $this->ChangeChip;
        if (isset($this->Expl)) $o['Expl'] = JsonConverters::to('CoverageExplanation', $this->Expl);
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageOfferInfo implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CoverageOfferId=0,
        /** @var int */
        public int $ContactId=0,
        /** @var string|null */
        public ?string $Name=null,
        /** @var int */
        public int $Ring=0,
        /** @var string|null */
        public ?string $Channel=null,
        /** @var string|null */
        public ?string $Status=null,
        /** @var DateTime */
        public DateTime $SentAtUtc=new DateTime(),
        /** @var DateTime|null */
        public ?DateTime $RespondedAtUtc=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CoverageOfferId'])) $this->CoverageOfferId = $o['CoverageOfferId'];
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Ring'])) $this->Ring = $o['Ring'];
        if (isset($o['Channel'])) $this->Channel = $o['Channel'];
        if (isset($o['Status'])) $this->Status = $o['Status'];
        if (isset($o['SentAtUtc'])) $this->SentAtUtc = JsonConverters::from('DateTime', $o['SentAtUtc']);
        if (isset($o['RespondedAtUtc'])) $this->RespondedAtUtc = JsonConverters::from('DateTime', $o['RespondedAtUtc']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CoverageOfferId)) $o['CoverageOfferId'] = $this->CoverageOfferId;
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Ring)) $o['Ring'] = $this->Ring;
        if (isset($this->Channel)) $o['Channel'] = $this->Channel;
        if (isset($this->Status)) $o['Status'] = $this->Status;
        if (isset($this->SentAtUtc)) $o['SentAtUtc'] = JsonConverters::to('DateTime', $this->SentAtUtc);
        if (isset($this->RespondedAtUtc)) $o['RespondedAtUtc'] = JsonConverters::to('DateTime', $this->RespondedAtUtc);
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageApprovalInfo implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CoverageApprovalId=0,
        /** @var int */
        public int $CoverageGapId=0,
        /** @var string|null */
        public ?string $Type=null,
        /** @var string|null */
        public ?string $Status=null,
        /** @var DateTime */
        public DateTime $RequestedAtUtc=new DateTime(),
        /** @var array<CoverageEffect>|null */
        public ?array $Effects=null,
        /** @var int|null */
        public ?int $ContactId=null,
        /** @var string|null */
        public ?string $ContactName=null,
        /** @var DateTime|null */
        public ?DateTime $DecidedAtUtc=null,
        /** @var string|null */
        public ?string $DecisionNote=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CoverageApprovalId'])) $this->CoverageApprovalId = $o['CoverageApprovalId'];
        if (isset($o['CoverageGapId'])) $this->CoverageGapId = $o['CoverageGapId'];
        if (isset($o['Type'])) $this->Type = $o['Type'];
        if (isset($o['Status'])) $this->Status = $o['Status'];
        if (isset($o['RequestedAtUtc'])) $this->RequestedAtUtc = JsonConverters::from('DateTime', $o['RequestedAtUtc']);
        if (isset($o['Effects'])) $this->Effects = JsonConverters::fromArray('CoverageEffect', $o['Effects']);
        if (isset($o['ContactId'])) $this->ContactId = $o['ContactId'];
        if (isset($o['ContactName'])) $this->ContactName = $o['ContactName'];
        if (isset($o['DecidedAtUtc'])) $this->DecidedAtUtc = JsonConverters::from('DateTime', $o['DecidedAtUtc']);
        if (isset($o['DecisionNote'])) $this->DecisionNote = $o['DecisionNote'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CoverageApprovalId)) $o['CoverageApprovalId'] = $this->CoverageApprovalId;
        if (isset($this->CoverageGapId)) $o['CoverageGapId'] = $this->CoverageGapId;
        if (isset($this->Type)) $o['Type'] = $this->Type;
        if (isset($this->Status)) $o['Status'] = $this->Status;
        if (isset($this->RequestedAtUtc)) $o['RequestedAtUtc'] = JsonConverters::to('DateTime', $this->RequestedAtUtc);
        if (isset($this->Effects)) $o['Effects'] = JsonConverters::toArray('CoverageEffect', $this->Effects);
        if (isset($this->ContactId)) $o['ContactId'] = $this->ContactId;
        if (isset($this->ContactName)) $o['ContactName'] = $this->ContactName;
        if (isset($this->DecidedAtUtc)) $o['DecidedAtUtc'] = JsonConverters::to('DateTime', $this->DecidedAtUtc);
        if (isset($this->DecisionNote)) $o['DecisionNote'] = $this->DecisionNote;
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageGapEventInfo implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $EventType=null,
        /** @var string|null */
        public ?string $Channel=null,
        /** @var string|null */
        public ?string $Detail=null,
        /** @var string|null */
        public ?string $ContactName=null,
        /** @var DateTime */
        public DateTime $AtUtc=new DateTime()
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['EventType'])) $this->EventType = $o['EventType'];
        if (isset($o['Channel'])) $this->Channel = $o['Channel'];
        if (isset($o['Detail'])) $this->Detail = $o['Detail'];
        if (isset($o['ContactName'])) $this->ContactName = $o['ContactName'];
        if (isset($o['AtUtc'])) $this->AtUtc = JsonConverters::from('DateTime', $o['AtUtc']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->EventType)) $o['EventType'] = $this->EventType;
        if (isset($this->Channel)) $o['Channel'] = $this->Channel;
        if (isset($this->Detail)) $o['Detail'] = $this->Detail;
        if (isset($this->ContactName)) $o['ContactName'] = $this->ContactName;
        if (isset($this->AtUtc)) $o['AtUtc'] = JsonConverters::to('DateTime', $this->AtUtc);
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageMoveOption implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Key=null,
        /** @var string|null */
        public ?string $Label=null,
        /** @var string|null */
        public ?string $Detail=null,
        /** @var CoverageExplanation|null */
        public ?CoverageExplanation $Expl=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Key'])) $this->Key = $o['Key'];
        if (isset($o['Label'])) $this->Label = $o['Label'];
        if (isset($o['Detail'])) $this->Detail = $o['Detail'];
        if (isset($o['Expl'])) $this->Expl = JsonConverters::from('CoverageExplanation', $o['Expl']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Key)) $o['Key'] = $this->Key;
        if (isset($this->Label)) $o['Label'] = $this->Label;
        if (isset($this->Detail)) $o['Detail'] = $this->Detail;
        if (isset($this->Expl)) $o['Expl'] = JsonConverters::to('CoverageExplanation', $this->Expl);
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageNoShowAttempt implements JsonSerializable
{
    public function __construct(
        /** @var DateTime */
        public DateTime $AtUtc=new DateTime(),
        /** @var string|null */
        public ?string $Channel=null,
        /** @var string|null */
        public ?string $Note=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['AtUtc'])) $this->AtUtc = JsonConverters::from('DateTime', $o['AtUtc']);
        if (isset($o['Channel'])) $this->Channel = $o['Channel'];
        if (isset($o['Note'])) $this->Note = $o['Note'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->AtUtc)) $o['AtUtc'] = JsonConverters::to('DateTime', $this->AtUtc);
        if (isset($this->Channel)) $o['Channel'] = $this->Channel;
        if (isset($this->Note)) $o['Note'] = $this->Note;
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageNoShowState implements JsonSerializable
{
    public function __construct(
        /** @var DateTime */
        public DateTime $GraceUntilUtc=new DateTime(),
        /** @var array<CoverageNoShowAttempt>|null */
        public ?array $Attempts=null,
        /** @var DateTime|null */
        public ?DateTime $DeclaredAtUtc=null,
        /** @var bool|null */
        public ?bool $AttendanceNote=null,
        /** @var bool|null */
        public ?bool $FalseAlarm=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['GraceUntilUtc'])) $this->GraceUntilUtc = JsonConverters::from('DateTime', $o['GraceUntilUtc']);
        if (isset($o['Attempts'])) $this->Attempts = JsonConverters::fromArray('CoverageNoShowAttempt', $o['Attempts']);
        if (isset($o['DeclaredAtUtc'])) $this->DeclaredAtUtc = JsonConverters::from('DateTime', $o['DeclaredAtUtc']);
        if (isset($o['AttendanceNote'])) $this->AttendanceNote = $o['AttendanceNote'];
        if (isset($o['FalseAlarm'])) $this->FalseAlarm = $o['FalseAlarm'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->GraceUntilUtc)) $o['GraceUntilUtc'] = JsonConverters::to('DateTime', $this->GraceUntilUtc);
        if (isset($this->Attempts)) $o['Attempts'] = JsonConverters::toArray('CoverageNoShowAttempt', $this->Attempts);
        if (isset($this->DeclaredAtUtc)) $o['DeclaredAtUtc'] = JsonConverters::to('DateTime', $this->DeclaredAtUtc);
        if (isset($this->AttendanceNote)) $o['AttendanceNote'] = $this->AttendanceNote;
        if (isset($this->FalseAlarm)) $o['FalseAlarm'] = $this->FalseAlarm;
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageLeaveCheckpoint implements JsonSerializable
{
    public function __construct(
        /** @var DateTime */
        public DateTime $AtUtc=new DateTime(),
        /** @var string|null */
        public ?string $Note=null,
        /** @var string|null */
        public ?string $ByName=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['AtUtc'])) $this->AtUtc = JsonConverters::from('DateTime', $o['AtUtc']);
        if (isset($o['Note'])) $this->Note = $o['Note'];
        if (isset($o['ByName'])) $this->ByName = $o['ByName'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->AtUtc)) $o['AtUtc'] = JsonConverters::to('DateTime', $this->AtUtc);
        if (isset($this->Note)) $o['Note'] = $this->Note;
        if (isset($this->ByName)) $o['ByName'] = $this->ByName;
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageLeaveState implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $Fmla=null,
        /** @var DateTime */
        public DateTime $Began=new DateTime(),
        /** @var DateTime|null */
        public ?DateTime $EstReturn=null,
        /** @var int */
        public int $CheckpointDays=0,
        /** @var DateTime|null */
        public ?DateTime $NextCheckpointUtc=null,
        /** @var array<CoverageLeaveCheckpoint>|null */
        public ?array $Checkpoints=null,
        /** @var int|null */
        public ?int $InterimContactId=null,
        /** @var string|null */
        public ?string $InterimName=null,
        /** @var DateTime|null */
        public ?DateTime $InterimStart=null,
        /** @var DateTime|null */
        public ?DateTime $InterimEnd=null,
        /** @var bool|null */
        public ?bool $RequisitionOpened=null,
        /** @var int|null */
        public ?int $StaffPostingId=null,
        /** @var array<int>|null */
        public ?array $ChainedGapIds=null,
        /** @var int|null */
        public ?int $ParentLeaveGapId=null,
        /** @var DateTime|null */
        public ?DateTime $RestoredAtUtc=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Fmla'])) $this->Fmla = $o['Fmla'];
        if (isset($o['Began'])) $this->Began = JsonConverters::from('DateTime', $o['Began']);
        if (isset($o['EstReturn'])) $this->EstReturn = JsonConverters::from('DateTime', $o['EstReturn']);
        if (isset($o['CheckpointDays'])) $this->CheckpointDays = $o['CheckpointDays'];
        if (isset($o['NextCheckpointUtc'])) $this->NextCheckpointUtc = JsonConverters::from('DateTime', $o['NextCheckpointUtc']);
        if (isset($o['Checkpoints'])) $this->Checkpoints = JsonConverters::fromArray('CoverageLeaveCheckpoint', $o['Checkpoints']);
        if (isset($o['InterimContactId'])) $this->InterimContactId = $o['InterimContactId'];
        if (isset($o['InterimName'])) $this->InterimName = $o['InterimName'];
        if (isset($o['InterimStart'])) $this->InterimStart = JsonConverters::from('DateTime', $o['InterimStart']);
        if (isset($o['InterimEnd'])) $this->InterimEnd = JsonConverters::from('DateTime', $o['InterimEnd']);
        if (isset($o['RequisitionOpened'])) $this->RequisitionOpened = $o['RequisitionOpened'];
        if (isset($o['StaffPostingId'])) $this->StaffPostingId = $o['StaffPostingId'];
        if (isset($o['ChainedGapIds'])) $this->ChainedGapIds = JsonConverters::fromArray('int', $o['ChainedGapIds']);
        if (isset($o['ParentLeaveGapId'])) $this->ParentLeaveGapId = $o['ParentLeaveGapId'];
        if (isset($o['RestoredAtUtc'])) $this->RestoredAtUtc = JsonConverters::from('DateTime', $o['RestoredAtUtc']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Fmla)) $o['Fmla'] = $this->Fmla;
        if (isset($this->Began)) $o['Began'] = JsonConverters::to('DateTime', $this->Began);
        if (isset($this->EstReturn)) $o['EstReturn'] = JsonConverters::to('DateTime', $this->EstReturn);
        if (isset($this->CheckpointDays)) $o['CheckpointDays'] = $this->CheckpointDays;
        if (isset($this->NextCheckpointUtc)) $o['NextCheckpointUtc'] = JsonConverters::to('DateTime', $this->NextCheckpointUtc);
        if (isset($this->Checkpoints)) $o['Checkpoints'] = JsonConverters::toArray('CoverageLeaveCheckpoint', $this->Checkpoints);
        if (isset($this->InterimContactId)) $o['InterimContactId'] = $this->InterimContactId;
        if (isset($this->InterimName)) $o['InterimName'] = $this->InterimName;
        if (isset($this->InterimStart)) $o['InterimStart'] = JsonConverters::to('DateTime', $this->InterimStart);
        if (isset($this->InterimEnd)) $o['InterimEnd'] = JsonConverters::to('DateTime', $this->InterimEnd);
        if (isset($this->RequisitionOpened)) $o['RequisitionOpened'] = $this->RequisitionOpened;
        if (isset($this->StaffPostingId)) $o['StaffPostingId'] = $this->StaffPostingId;
        if (isset($this->ChainedGapIds)) $o['ChainedGapIds'] = JsonConverters::toArray('int', $this->ChainedGapIds);
        if (isset($this->ParentLeaveGapId)) $o['ParentLeaveGapId'] = $this->ParentLeaveGapId;
        if (isset($this->RestoredAtUtc)) $o['RestoredAtUtc'] = JsonConverters::to('DateTime', $this->RestoredAtUtc);
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageGap implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CoverageGapId=0,
        /** @var string */
        public string $CoverageGapUID='',
        /** @var string|null */
        public ?string $BranchId=null,
        /** @var string|null */
        public ?string $Status=null,
        /** @var string|null */
        public ?string $Track=null,
        /** @var int|null */
        public ?int $OutContactID=null,
        /** @var string|null */
        public ?string $OutName=null,
        /** @var string|null */
        public ?string $OutInitials=null,
        /** @var int|null */
        public ?int $JobID=null,
        /** @var string|null */
        public ?string $JobName=null,
        /** @var int|null */
        public ?int $ProjectID=null,
        /** @var int|null */
        public ?int $WorkerScheduleItemID=null,
        /** @var DateTime */
        public DateTime $WindowStart=new DateTime(),
        /** @var DateTime */
        public DateTime $WindowEnd=new DateTime(),
        /** @var string|null */
        public ?string $Reason=null,
        /** @var bool|null */
        public ?bool $MustFill=null,
        /** @var CoverageExplanation|null */
        public ?CoverageExplanation $MustFillExpl=null,
        /** @var int|null */
        public ?int $FilledByContactID=null,
        /** @var string|null */
        public ?string $FilledByName=null,
        /** @var string|null */
        public ?string $RecordNo=null,
        /** @var int|null */
        public ?int $DecidedPolicyVersionId=null,
        /** @var DateTime */
        public DateTime $CreatedAt=new DateTime(),
        /** @var DateTime|null */
        public ?DateTime $UpdatedAt=null,
        /** @var string|null */
        public ?string $QualifiedLine=null,
        /** @var array<CoverageCandidate>|null */
        public ?array $Candidates=null,
        /** @var array<CoverageBlockedCandidate>|null */
        public ?array $Blocked=null,
        /** @var array<CoverageOfferInfo>|null */
        public ?array $Offers=null,
        /** @var array<CoverageApprovalInfo>|null */
        public ?array $Approvals=null,
        /** @var array<CoverageGapEventInfo>|null */
        public ?array $Timeline=null,
        /** @var array<CoverageMoveOption>|null */
        public ?array $MoveOptions=null,
        /** @var CoverageExplanation|null */
        public ?CoverageExplanation $OrderExpl=null,
        /** @var string|null */
        public ?string $AssignmentMode=null,
        /** @var CoverageNoShowState|null */
        public ?CoverageNoShowState $NoShow=null,
        /** @var CoverageLeaveState|null */
        public ?CoverageLeaveState $Leave=null,
        /** @var string|null */
        public ?string $CustomerName=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CoverageGapId'])) $this->CoverageGapId = $o['CoverageGapId'];
        if (isset($o['CoverageGapUID'])) $this->CoverageGapUID = $o['CoverageGapUID'];
        if (isset($o['BranchId'])) $this->BranchId = $o['BranchId'];
        if (isset($o['Status'])) $this->Status = $o['Status'];
        if (isset($o['Track'])) $this->Track = $o['Track'];
        if (isset($o['OutContactID'])) $this->OutContactID = $o['OutContactID'];
        if (isset($o['OutName'])) $this->OutName = $o['OutName'];
        if (isset($o['OutInitials'])) $this->OutInitials = $o['OutInitials'];
        if (isset($o['JobID'])) $this->JobID = $o['JobID'];
        if (isset($o['JobName'])) $this->JobName = $o['JobName'];
        if (isset($o['ProjectID'])) $this->ProjectID = $o['ProjectID'];
        if (isset($o['WorkerScheduleItemID'])) $this->WorkerScheduleItemID = $o['WorkerScheduleItemID'];
        if (isset($o['WindowStart'])) $this->WindowStart = JsonConverters::from('DateTime', $o['WindowStart']);
        if (isset($o['WindowEnd'])) $this->WindowEnd = JsonConverters::from('DateTime', $o['WindowEnd']);
        if (isset($o['Reason'])) $this->Reason = $o['Reason'];
        if (isset($o['MustFill'])) $this->MustFill = $o['MustFill'];
        if (isset($o['MustFillExpl'])) $this->MustFillExpl = JsonConverters::from('CoverageExplanation', $o['MustFillExpl']);
        if (isset($o['FilledByContactID'])) $this->FilledByContactID = $o['FilledByContactID'];
        if (isset($o['FilledByName'])) $this->FilledByName = $o['FilledByName'];
        if (isset($o['RecordNo'])) $this->RecordNo = $o['RecordNo'];
        if (isset($o['DecidedPolicyVersionId'])) $this->DecidedPolicyVersionId = $o['DecidedPolicyVersionId'];
        if (isset($o['CreatedAt'])) $this->CreatedAt = JsonConverters::from('DateTime', $o['CreatedAt']);
        if (isset($o['UpdatedAt'])) $this->UpdatedAt = JsonConverters::from('DateTime', $o['UpdatedAt']);
        if (isset($o['QualifiedLine'])) $this->QualifiedLine = $o['QualifiedLine'];
        if (isset($o['Candidates'])) $this->Candidates = JsonConverters::fromArray('CoverageCandidate', $o['Candidates']);
        if (isset($o['Blocked'])) $this->Blocked = JsonConverters::fromArray('CoverageBlockedCandidate', $o['Blocked']);
        if (isset($o['Offers'])) $this->Offers = JsonConverters::fromArray('CoverageOfferInfo', $o['Offers']);
        if (isset($o['Approvals'])) $this->Approvals = JsonConverters::fromArray('CoverageApprovalInfo', $o['Approvals']);
        if (isset($o['Timeline'])) $this->Timeline = JsonConverters::fromArray('CoverageGapEventInfo', $o['Timeline']);
        if (isset($o['MoveOptions'])) $this->MoveOptions = JsonConverters::fromArray('CoverageMoveOption', $o['MoveOptions']);
        if (isset($o['OrderExpl'])) $this->OrderExpl = JsonConverters::from('CoverageExplanation', $o['OrderExpl']);
        if (isset($o['AssignmentMode'])) $this->AssignmentMode = $o['AssignmentMode'];
        if (isset($o['NoShow'])) $this->NoShow = JsonConverters::from('CoverageNoShowState', $o['NoShow']);
        if (isset($o['Leave'])) $this->Leave = JsonConverters::from('CoverageLeaveState', $o['Leave']);
        if (isset($o['CustomerName'])) $this->CustomerName = $o['CustomerName'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CoverageGapId)) $o['CoverageGapId'] = $this->CoverageGapId;
        if (isset($this->CoverageGapUID)) $o['CoverageGapUID'] = $this->CoverageGapUID;
        if (isset($this->BranchId)) $o['BranchId'] = $this->BranchId;
        if (isset($this->Status)) $o['Status'] = $this->Status;
        if (isset($this->Track)) $o['Track'] = $this->Track;
        if (isset($this->OutContactID)) $o['OutContactID'] = $this->OutContactID;
        if (isset($this->OutName)) $o['OutName'] = $this->OutName;
        if (isset($this->OutInitials)) $o['OutInitials'] = $this->OutInitials;
        if (isset($this->JobID)) $o['JobID'] = $this->JobID;
        if (isset($this->JobName)) $o['JobName'] = $this->JobName;
        if (isset($this->ProjectID)) $o['ProjectID'] = $this->ProjectID;
        if (isset($this->WorkerScheduleItemID)) $o['WorkerScheduleItemID'] = $this->WorkerScheduleItemID;
        if (isset($this->WindowStart)) $o['WindowStart'] = JsonConverters::to('DateTime', $this->WindowStart);
        if (isset($this->WindowEnd)) $o['WindowEnd'] = JsonConverters::to('DateTime', $this->WindowEnd);
        if (isset($this->Reason)) $o['Reason'] = $this->Reason;
        if (isset($this->MustFill)) $o['MustFill'] = $this->MustFill;
        if (isset($this->MustFillExpl)) $o['MustFillExpl'] = JsonConverters::to('CoverageExplanation', $this->MustFillExpl);
        if (isset($this->FilledByContactID)) $o['FilledByContactID'] = $this->FilledByContactID;
        if (isset($this->FilledByName)) $o['FilledByName'] = $this->FilledByName;
        if (isset($this->RecordNo)) $o['RecordNo'] = $this->RecordNo;
        if (isset($this->DecidedPolicyVersionId)) $o['DecidedPolicyVersionId'] = $this->DecidedPolicyVersionId;
        if (isset($this->CreatedAt)) $o['CreatedAt'] = JsonConverters::to('DateTime', $this->CreatedAt);
        if (isset($this->UpdatedAt)) $o['UpdatedAt'] = JsonConverters::to('DateTime', $this->UpdatedAt);
        if (isset($this->QualifiedLine)) $o['QualifiedLine'] = $this->QualifiedLine;
        if (isset($this->Candidates)) $o['Candidates'] = JsonConverters::toArray('CoverageCandidate', $this->Candidates);
        if (isset($this->Blocked)) $o['Blocked'] = JsonConverters::toArray('CoverageBlockedCandidate', $this->Blocked);
        if (isset($this->Offers)) $o['Offers'] = JsonConverters::toArray('CoverageOfferInfo', $this->Offers);
        if (isset($this->Approvals)) $o['Approvals'] = JsonConverters::toArray('CoverageApprovalInfo', $this->Approvals);
        if (isset($this->Timeline)) $o['Timeline'] = JsonConverters::toArray('CoverageGapEventInfo', $this->Timeline);
        if (isset($this->MoveOptions)) $o['MoveOptions'] = JsonConverters::toArray('CoverageMoveOption', $this->MoveOptions);
        if (isset($this->OrderExpl)) $o['OrderExpl'] = JsonConverters::to('CoverageExplanation', $this->OrderExpl);
        if (isset($this->AssignmentMode)) $o['AssignmentMode'] = $this->AssignmentMode;
        if (isset($this->NoShow)) $o['NoShow'] = JsonConverters::to('CoverageNoShowState', $this->NoShow);
        if (isset($this->Leave)) $o['Leave'] = JsonConverters::to('CoverageLeaveState', $this->Leave);
        if (isset($this->CustomerName)) $o['CustomerName'] = $this->CustomerName;
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageGapResponse implements JsonSerializable
{
    public function __construct(
        /** @var CoverageGap|null */
        public ?CoverageGap $Gap=null,
        /** @var int|null */
        public ?int $ChainedPreview=null,
        /** @var bool|null */
        public ?bool $CanSeePay=null,
        /** @var ResponseStatus|null */
        public ?ResponseStatus $ResponseStatus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Gap'])) $this->Gap = JsonConverters::from('CoverageGap', $o['Gap']);
        if (isset($o['ChainedPreview'])) $this->ChainedPreview = $o['ChainedPreview'];
        if (isset($o['CanSeePay'])) $this->CanSeePay = $o['CanSeePay'];
        if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Gap)) $o['Gap'] = JsonConverters::to('CoverageGap', $this->Gap);
        if (isset($this->ChainedPreview)) $o['ChainedPreview'] = $this->ChainedPreview;
        if (isset($this->CanSeePay)) $o['CanSeePay'] = $this->CanSeePay;
        if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
        return empty($o) ? new class(){} : $o;
    }
}

class CoverageNoShowAttemptRequest implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CoverageGapId=0,
        /** @var string|null */
        public ?string $Channel=null,
        /** @var string|null */
        public ?string $Note=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CoverageGapId'])) $this->CoverageGapId = $o['CoverageGapId'];
        if (isset($o['Channel'])) $this->Channel = $o['Channel'];
        if (isset($o['Note'])) $this->Note = $o['Note'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CoverageGapId)) $o['CoverageGapId'] = $this->CoverageGapId;
        if (isset($this->Channel)) $o['Channel'] = $this->Channel;
        if (isset($this->Note)) $o['Note'] = $this->Note;
        return empty($o) ? new class(){} : $o;
    }
}

PHP CoverageNoShowAttemptRequest 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/gaps/{CoverageGapId}/noshow/attempt HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"CoverageGapId":0,"Channel":"String","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"}}}