Trendsic Platform Service

<back to all web services

BranchCalendarRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
GET,OPTIONS/v1/queue/calendar/{LocationId}
<?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 BranchCalendarHours implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Date=null,
        /** @var string|null */
        public ?string $Opens=null,
        /** @var string|null */
        public ?string $Closes=null,
        /** @var bool|null */
        public ?bool $Closed=null
    ) {
    }

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

class BranchCalendarBranch implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $Id='',
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Street=null,
        /** @var string|null */
        public ?string $TimeZone=null,
        /** @var int */
        public int $Windows=0,
        /** @var array<BranchCalendarHours>|null */
        public ?array $Hours=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Id'])) $this->Id = $o['Id'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Street'])) $this->Street = $o['Street'];
        if (isset($o['TimeZone'])) $this->TimeZone = $o['TimeZone'];
        if (isset($o['Windows'])) $this->Windows = $o['Windows'];
        if (isset($o['Hours'])) $this->Hours = JsonConverters::fromArray('BranchCalendarHours', $o['Hours']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Id)) $o['Id'] = $this->Id;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Street)) $o['Street'] = $this->Street;
        if (isset($this->TimeZone)) $o['TimeZone'] = $this->TimeZone;
        if (isset($this->Windows)) $o['Windows'] = $this->Windows;
        if (isset($this->Hours)) $o['Hours'] = JsonConverters::toArray('BranchCalendarHours', $this->Hours);
        return empty($o) ? new class(){} : $o;
    }
}

class BranchCalendarLine implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $Id='',
        /** @var string|null */
        public ?string $Name=null,
        /** @var int */
        public int $Minutes=0,
        /** @var string|null */
        public ?string $Color=null
    ) {
    }

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

class BranchCalendarCustomer implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $ContactId=0,
        /** @var string|null */
        public ?string $ContactGuid=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Phone=null,
        /** @var string|null */
        public ?string $Email=null
    ) {
    }

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

class BranchCalendarServiceItem implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $LineId=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var int */
        public int $Minutes=0
    ) {
    }

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

class BranchCalendarStatus implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $State=null,
        /** @var string|null */
        public ?string $TicketLabel=null,
        /** @var string|null */
        public ?string $Window=null,
        /** @var DateTime|null */
        public ?DateTime $ArrivedAt=null,
        /** @var DateTime|null */
        public ?DateTime $CalledAt=null,
        /** @var DateTime|null */
        public ?DateTime $ServedAt=null,
        /** @var DateTime|null */
        public ?DateTime $NoShowAt=null,
        /** @var DateTime|null */
        public ?DateTime $CancelledAt=null,
        /** @var string|null */
        public ?string $CancelledBy=null,
        /** @var string|null */
        public ?string $Source=null,
        /** @var bool|null */
        public ?bool $CanCheckIn=null,
        /** @var bool|null */
        public ?bool $CanNoShow=null,
        /** @var bool|null */
        public ?bool $CanReopen=null,
        /** @var bool|null */
        public ?bool $CanChange=null,
        /** @var bool|null */
        public ?bool $CanCancel=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['State'])) $this->State = $o['State'];
        if (isset($o['TicketLabel'])) $this->TicketLabel = $o['TicketLabel'];
        if (isset($o['Window'])) $this->Window = $o['Window'];
        if (isset($o['ArrivedAt'])) $this->ArrivedAt = JsonConverters::from('DateTime', $o['ArrivedAt']);
        if (isset($o['CalledAt'])) $this->CalledAt = JsonConverters::from('DateTime', $o['CalledAt']);
        if (isset($o['ServedAt'])) $this->ServedAt = JsonConverters::from('DateTime', $o['ServedAt']);
        if (isset($o['NoShowAt'])) $this->NoShowAt = JsonConverters::from('DateTime', $o['NoShowAt']);
        if (isset($o['CancelledAt'])) $this->CancelledAt = JsonConverters::from('DateTime', $o['CancelledAt']);
        if (isset($o['CancelledBy'])) $this->CancelledBy = $o['CancelledBy'];
        if (isset($o['Source'])) $this->Source = $o['Source'];
        if (isset($o['CanCheckIn'])) $this->CanCheckIn = $o['CanCheckIn'];
        if (isset($o['CanNoShow'])) $this->CanNoShow = $o['CanNoShow'];
        if (isset($o['CanReopen'])) $this->CanReopen = $o['CanReopen'];
        if (isset($o['CanChange'])) $this->CanChange = $o['CanChange'];
        if (isset($o['CanCancel'])) $this->CanCancel = $o['CanCancel'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->State)) $o['State'] = $this->State;
        if (isset($this->TicketLabel)) $o['TicketLabel'] = $this->TicketLabel;
        if (isset($this->Window)) $o['Window'] = $this->Window;
        if (isset($this->ArrivedAt)) $o['ArrivedAt'] = JsonConverters::to('DateTime', $this->ArrivedAt);
        if (isset($this->CalledAt)) $o['CalledAt'] = JsonConverters::to('DateTime', $this->CalledAt);
        if (isset($this->ServedAt)) $o['ServedAt'] = JsonConverters::to('DateTime', $this->ServedAt);
        if (isset($this->NoShowAt)) $o['NoShowAt'] = JsonConverters::to('DateTime', $this->NoShowAt);
        if (isset($this->CancelledAt)) $o['CancelledAt'] = JsonConverters::to('DateTime', $this->CancelledAt);
        if (isset($this->CancelledBy)) $o['CancelledBy'] = $this->CancelledBy;
        if (isset($this->Source)) $o['Source'] = $this->Source;
        if (isset($this->CanCheckIn)) $o['CanCheckIn'] = $this->CanCheckIn;
        if (isset($this->CanNoShow)) $o['CanNoShow'] = $this->CanNoShow;
        if (isset($this->CanReopen)) $o['CanReopen'] = $this->CanReopen;
        if (isset($this->CanChange)) $o['CanChange'] = $this->CanChange;
        if (isset($this->CanCancel)) $o['CanCancel'] = $this->CanCancel;
        return empty($o) ? new class(){} : $o;
    }
}

class BranchCalendarPaperwork implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $AsksQuestionnaire=null,
        /** @var bool|null */
        public ?bool $AsksUpload=null,
        /** @var bool|null */
        public ?bool $Submitted=null
    ) {
    }

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

class BranchCalendarEvent implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CalendarEventId=0,
        /** @var string|null */
        public ?string $Kind=null,
        /** @var string|null */
        public ?string $Title=null,
        /** @var DateTime */
        public DateTime $StartLocal=new DateTime(),
        /** @var DateTime|null */
        public ?DateTime $EndLocal=null,
        /** @var bool|null */
        public ?bool $AllDay=null,
        /** @var string|null */
        public ?string $Description=null,
        /** @var BranchCalendarCustomer|null */
        public ?BranchCalendarCustomer $Customer=null,
        /** @var array<BranchCalendarServiceItem>|null */
        public ?array $Services=null,
        /** @var BranchCalendarStatus|null */
        public ?BranchCalendarStatus $Status=null,
        /** @var string|null */
        public ?string $CheckInId=null,
        /** @var BranchCalendarPaperwork|null */
        public ?BranchCalendarPaperwork $Paperwork=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CalendarEventId'])) $this->CalendarEventId = $o['CalendarEventId'];
        if (isset($o['Kind'])) $this->Kind = $o['Kind'];
        if (isset($o['Title'])) $this->Title = $o['Title'];
        if (isset($o['StartLocal'])) $this->StartLocal = JsonConverters::from('DateTime', $o['StartLocal']);
        if (isset($o['EndLocal'])) $this->EndLocal = JsonConverters::from('DateTime', $o['EndLocal']);
        if (isset($o['AllDay'])) $this->AllDay = $o['AllDay'];
        if (isset($o['Description'])) $this->Description = $o['Description'];
        if (isset($o['Customer'])) $this->Customer = JsonConverters::from('BranchCalendarCustomer', $o['Customer']);
        if (isset($o['Services'])) $this->Services = JsonConverters::fromArray('BranchCalendarServiceItem', $o['Services']);
        if (isset($o['Status'])) $this->Status = JsonConverters::from('BranchCalendarStatus', $o['Status']);
        if (isset($o['CheckInId'])) $this->CheckInId = $o['CheckInId'];
        if (isset($o['Paperwork'])) $this->Paperwork = JsonConverters::from('BranchCalendarPaperwork', $o['Paperwork']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CalendarEventId)) $o['CalendarEventId'] = $this->CalendarEventId;
        if (isset($this->Kind)) $o['Kind'] = $this->Kind;
        if (isset($this->Title)) $o['Title'] = $this->Title;
        if (isset($this->StartLocal)) $o['StartLocal'] = JsonConverters::to('DateTime', $this->StartLocal);
        if (isset($this->EndLocal)) $o['EndLocal'] = JsonConverters::to('DateTime', $this->EndLocal);
        if (isset($this->AllDay)) $o['AllDay'] = $this->AllDay;
        if (isset($this->Description)) $o['Description'] = $this->Description;
        if (isset($this->Customer)) $o['Customer'] = JsonConverters::to('BranchCalendarCustomer', $this->Customer);
        if (isset($this->Services)) $o['Services'] = JsonConverters::toArray('BranchCalendarServiceItem', $this->Services);
        if (isset($this->Status)) $o['Status'] = JsonConverters::to('BranchCalendarStatus', $this->Status);
        if (isset($this->CheckInId)) $o['CheckInId'] = $this->CheckInId;
        if (isset($this->Paperwork)) $o['Paperwork'] = JsonConverters::to('BranchCalendarPaperwork', $this->Paperwork);
        return empty($o) ? new class(){} : $o;
    }
}

class BranchCalendarStaffHour implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Date=null,
        /** @var int */
        public int $Hour=0,
        /** @var float */
        public float $Windows=0.0,
        /** @var string|null */
        public ?string $Source=null
    ) {
    }

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

class BranchCalendarWeekdayHour implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Weekday=0,
        /** @var int */
        public int $Hour=0,
        /** @var float */
        public float $Windows=0.0,
        /** @var int */
        public int $Days=0
    ) {
    }

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

class BranchCalendarHourMean implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Hour=0,
        /** @var float */
        public float $Windows=0.0,
        /** @var int */
        public int $Days=0
    ) {
    }

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

class BranchCalendarHistory implements JsonSerializable
{
    public function __construct(
        /** @var array<BranchCalendarWeekdayHour>|null */
        public ?array $ByWeekdayHour=null,
        /** @var array<BranchCalendarHourMean>|null */
        public ?array $ByHour=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ByWeekdayHour'])) $this->ByWeekdayHour = JsonConverters::fromArray('BranchCalendarWeekdayHour', $o['ByWeekdayHour']);
        if (isset($o['ByHour'])) $this->ByHour = JsonConverters::fromArray('BranchCalendarHourMean', $o['ByHour']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ByWeekdayHour)) $o['ByWeekdayHour'] = JsonConverters::toArray('BranchCalendarWeekdayHour', $this->ByWeekdayHour);
        if (isset($this->ByHour)) $o['ByHour'] = JsonConverters::toArray('BranchCalendarHourMean', $this->ByHour);
        return empty($o) ? new class(){} : $o;
    }
}

class BranchCalendarResponse implements JsonSerializable
{
    public function __construct(
        /** @var ResponseStatus|null */
        public ?ResponseStatus $ResponseStatus=null,
        /** @var BranchCalendarBranch|null */
        public ?BranchCalendarBranch $Branch=null,
        /** @var array<BranchCalendarLine>|null */
        public ?array $Lines=null,
        /** @var array<BranchCalendarEvent>|null */
        public ?array $Events=null,
        /** @var array<BranchCalendarStaffHour>|null */
        public ?array $Staffing=null,
        /** @var BranchCalendarHistory|null */
        public ?BranchCalendarHistory $History=null,
        /** @var bool|null */
        public ?bool $ColorByService=null,
        /** @var DateTime */
        public DateTime $ServerNowLocal=new DateTime()
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
        if (isset($o['Branch'])) $this->Branch = JsonConverters::from('BranchCalendarBranch', $o['Branch']);
        if (isset($o['Lines'])) $this->Lines = JsonConverters::fromArray('BranchCalendarLine', $o['Lines']);
        if (isset($o['Events'])) $this->Events = JsonConverters::fromArray('BranchCalendarEvent', $o['Events']);
        if (isset($o['Staffing'])) $this->Staffing = JsonConverters::fromArray('BranchCalendarStaffHour', $o['Staffing']);
        if (isset($o['History'])) $this->History = JsonConverters::from('BranchCalendarHistory', $o['History']);
        if (isset($o['ColorByService'])) $this->ColorByService = $o['ColorByService'];
        if (isset($o['ServerNowLocal'])) $this->ServerNowLocal = JsonConverters::from('DateTime', $o['ServerNowLocal']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
        if (isset($this->Branch)) $o['Branch'] = JsonConverters::to('BranchCalendarBranch', $this->Branch);
        if (isset($this->Lines)) $o['Lines'] = JsonConverters::toArray('BranchCalendarLine', $this->Lines);
        if (isset($this->Events)) $o['Events'] = JsonConverters::toArray('BranchCalendarEvent', $this->Events);
        if (isset($this->Staffing)) $o['Staffing'] = JsonConverters::toArray('BranchCalendarStaffHour', $this->Staffing);
        if (isset($this->History)) $o['History'] = JsonConverters::to('BranchCalendarHistory', $this->History);
        if (isset($this->ColorByService)) $o['ColorByService'] = $this->ColorByService;
        if (isset($this->ServerNowLocal)) $o['ServerNowLocal'] = JsonConverters::to('DateTime', $this->ServerNowLocal);
        return empty($o) ? new class(){} : $o;
    }
}

class BranchCalendarRequest implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $LocationId='',
        /** @var DateTime|null */
        public ?DateTime $From=null,
        /** @var DateTime|null */
        public ?DateTime $To=null,
        /** @var bool|null */
        public ?bool $IncludeCancelled=null
    ) {
    }

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

PHP BranchCalendarRequest DTOs

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

HTTP + JSV

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

GET /v1/queue/calendar/{LocationId} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	Branch: 
	{
		Id: 00000000000000000000000000000000,
		Name: String,
		Street: String,
		TimeZone: String,
		Windows: 0,
		Hours: 
		[
			{
				Date: String,
				Opens: String,
				Closes: String,
				Closed: False
			}
		]
	},
	Lines: 
	[
		{
			Id: 00000000000000000000000000000000,
			Name: String,
			Minutes: 0,
			Color: String
		}
	],
	Events: 
	[
		{
			CalendarEventId: 0,
			Kind: String,
			Title: String,
			StartLocal: 0001-01-01,
			EndLocal: 0001-01-01,
			AllDay: False,
			Description: String,
			Customer: 
			{
				ContactId: 0,
				ContactGuid: 00000000000000000000000000000000,
				Name: String,
				Phone: String,
				Email: String
			},
			Services: 
			[
				{
					LineId: 00000000000000000000000000000000,
					Name: String,
					Minutes: 0
				}
			],
			Status: 
			{
				State: String,
				TicketLabel: String,
				Window: String,
				ArrivedAt: 0001-01-01,
				CalledAt: 0001-01-01,
				ServedAt: 0001-01-01,
				NoShowAt: 0001-01-01,
				CancelledAt: 0001-01-01,
				CancelledBy: String,
				Source: String,
				CanCheckIn: False,
				CanNoShow: False,
				CanReopen: False,
				CanChange: False,
				CanCancel: False
			},
			CheckInId: 00000000000000000000000000000000,
			Paperwork: 
			{
				AsksQuestionnaire: False,
				AsksUpload: False,
				Submitted: False
			}
		}
	],
	Staffing: 
	[
		{
			Date: String,
			Hour: 0,
			Windows: 0,
			Source: String
		}
	],
	History: 
	{
		ByWeekdayHour: 
		[
			{
				Weekday: 0,
				Hour: 0,
				Windows: 0,
				Days: 0
			}
		],
		ByHour: 
		[
			{
				Hour: 0,
				Windows: 0,
				Days: 0
			}
		]
	},
	ColorByService: False,
	ServerNowLocal: 0001-01-01
}