All Verbs | /ConsultantWorkUpcomingPaxDepartures |
---|
<?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};
// @DataContract(Name="Metadata", Namespace="schemas.agentivity.com/types")
class PagingMetadata implements JsonSerializable
{
public function __construct(
/** @description Starting Record */
// @DataMember
// @ApiMember(DataType="string", Description="Starting Record", Name="Offset", ParameterType="query")
/** @var string|null */
public ?string $Offset=null,
/** @description Number of records to return (PageSize) */
// @DataMember
// @ApiMember(DataType="string", Description="Number of records to return (PageSize)", Name="Limit", ParameterType="query")
/** @var string|null */
public ?string $Limit=null,
/** @description Total Number of Records in a Full Reponse (if no paging) */
// @DataMember
// @ApiMember(DataType="string", Description="Total Number of Records in a Full Reponse (if no paging)", Name="TotalRecords", ParameterType="query")
/** @var int */
public int $TotalRecords=0,
/** @description Total Number of Records in this Reponse (on this page) */
// @DataMember
// @ApiMember(DataType="string", Description="Total Number of Records in this Reponse (on this page)", Name="ResponseRecords", ParameterType="query")
/** @var int */
public int $ResponseRecords=0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Offset'])) $this->Offset = $o['Offset'];
if (isset($o['Limit'])) $this->Limit = $o['Limit'];
if (isset($o['TotalRecords'])) $this->TotalRecords = $o['TotalRecords'];
if (isset($o['ResponseRecords'])) $this->ResponseRecords = $o['ResponseRecords'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Offset)) $o['Offset'] = $this->Offset;
if (isset($this->Limit)) $o['Limit'] = $this->Limit;
if (isset($this->TotalRecords)) $o['TotalRecords'] = $this->TotalRecords;
if (isset($this->ResponseRecords)) $o['ResponseRecords'] = $this->ResponseRecords;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Namespace="schemas.agentivity.com/types")
class CompanyLevelRequestBase extends PagingMetadata implements IMemberUsername, IMemberOwningCompanyCode, JsonSerializable
{
/**
* @param string|null $Offset
* @param string|null $Limit
* @param int $TotalRecords
* @param int $ResponseRecords
*/
public function __construct(
?string $Offset=null,
?string $Limit=null,
int $TotalRecords=0,
int $ResponseRecords=0,
/** @description Comma Delimited List of Owning Company Codes */
// @DataMember
/** @var string[]|null */
public ?array $OwningCompanyCode=null,
/** @description UserName in form of an email address */
// @DataMember
/** @var string|null */
public ?string $UserName=null
) {
parent::__construct($Offset,$Limit,$TotalRecords,$ResponseRecords);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['OwningCompanyCode'])) $this->OwningCompanyCode = JsonConverters::fromArray('string', $o['OwningCompanyCode']);
if (isset($o['UserName'])) $this->UserName = $o['UserName'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->OwningCompanyCode)) $o['OwningCompanyCode'] = JsonConverters::toArray('string', $this->OwningCompanyCode);
if (isset($this->UserName)) $o['UserName'] = $this->UserName;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Name="ItinerarySegment", Namespace="schemas.agentivity.com/types")
class ItinerarySegment implements JsonSerializable
{
public function __construct(
// @DataMember
/** @var string|null */
public ?string $SegmentType=null,
// @DataMember
/** @var int */
public int $SegmentNbr=0,
// @DataMember
/** @var string|null */
public ?string $BoardPoint=null,
// @DataMember
/** @var string|null */
public ?string $OffPoint=null,
// @DataMember
/** @var string|null */
public ?string $OperatorCode=null,
// @DataMember
/** @var string|null */
public ?string $OperatorService=null,
// @DataMember
/** @var string|null */
public ?string $SegmentStatus=null,
// @DataMember
/** @var string|null */
public ?string $DepartureTimeFormatted=null,
// @DataMember
/** @var string|null */
public ?string $ArrivalTimeFormatted=null,
// @DataMember
/** @var string|null */
public ?string $ChangeOfDayFormatted=null,
// @DataMember
/** @var string|null */
public ?string $ServiceCode=null,
// @DataMember
/** @var string|null */
public ?string $StartDate=null,
// @DataMember
/** @var string|null */
public ?string $EndDate=null,
// @DataMember
/** @var string|null */
public ?string $TicketNumber=null,
/** @description Comma separated list of vendor locators */
// @DataMember
/** @var string|null */
public ?string $VendorLocators=null,
// @DataMember
/** @var string|null */
public ?string $EquipmentCode=null,
// @DataMember
/** @var string|null */
public ?string $Equipment=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['SegmentType'])) $this->SegmentType = $o['SegmentType'];
if (isset($o['SegmentNbr'])) $this->SegmentNbr = $o['SegmentNbr'];
if (isset($o['BoardPoint'])) $this->BoardPoint = $o['BoardPoint'];
if (isset($o['OffPoint'])) $this->OffPoint = $o['OffPoint'];
if (isset($o['OperatorCode'])) $this->OperatorCode = $o['OperatorCode'];
if (isset($o['OperatorService'])) $this->OperatorService = $o['OperatorService'];
if (isset($o['SegmentStatus'])) $this->SegmentStatus = $o['SegmentStatus'];
if (isset($o['DepartureTimeFormatted'])) $this->DepartureTimeFormatted = $o['DepartureTimeFormatted'];
if (isset($o['ArrivalTimeFormatted'])) $this->ArrivalTimeFormatted = $o['ArrivalTimeFormatted'];
if (isset($o['ChangeOfDayFormatted'])) $this->ChangeOfDayFormatted = $o['ChangeOfDayFormatted'];
if (isset($o['ServiceCode'])) $this->ServiceCode = $o['ServiceCode'];
if (isset($o['StartDate'])) $this->StartDate = $o['StartDate'];
if (isset($o['EndDate'])) $this->EndDate = $o['EndDate'];
if (isset($o['TicketNumber'])) $this->TicketNumber = $o['TicketNumber'];
if (isset($o['VendorLocators'])) $this->VendorLocators = $o['VendorLocators'];
if (isset($o['EquipmentCode'])) $this->EquipmentCode = $o['EquipmentCode'];
if (isset($o['Equipment'])) $this->Equipment = $o['Equipment'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->SegmentType)) $o['SegmentType'] = $this->SegmentType;
if (isset($this->SegmentNbr)) $o['SegmentNbr'] = $this->SegmentNbr;
if (isset($this->BoardPoint)) $o['BoardPoint'] = $this->BoardPoint;
if (isset($this->OffPoint)) $o['OffPoint'] = $this->OffPoint;
if (isset($this->OperatorCode)) $o['OperatorCode'] = $this->OperatorCode;
if (isset($this->OperatorService)) $o['OperatorService'] = $this->OperatorService;
if (isset($this->SegmentStatus)) $o['SegmentStatus'] = $this->SegmentStatus;
if (isset($this->DepartureTimeFormatted)) $o['DepartureTimeFormatted'] = $this->DepartureTimeFormatted;
if (isset($this->ArrivalTimeFormatted)) $o['ArrivalTimeFormatted'] = $this->ArrivalTimeFormatted;
if (isset($this->ChangeOfDayFormatted)) $o['ChangeOfDayFormatted'] = $this->ChangeOfDayFormatted;
if (isset($this->ServiceCode)) $o['ServiceCode'] = $this->ServiceCode;
if (isset($this->StartDate)) $o['StartDate'] = $this->StartDate;
if (isset($this->EndDate)) $o['EndDate'] = $this->EndDate;
if (isset($this->TicketNumber)) $o['TicketNumber'] = $this->TicketNumber;
if (isset($this->VendorLocators)) $o['VendorLocators'] = $this->VendorLocators;
if (isset($this->EquipmentCode)) $o['EquipmentCode'] = $this->EquipmentCode;
if (isset($this->Equipment)) $o['Equipment'] = $this->Equipment;
return empty($o) ? new class(){} : $o;
}
}
/**
* @template array of ItinerarySegment
*/
class ItinerarySegmentsCollection extends \ArrayObject implements JsonSerializable
{
public function __construct(ItinerarySegment ...$items) {
parent::__construct($items, \ArrayObject::STD_PROP_LIST);
}
/** @throws \Exception */
public function append($value): void {
if ($value instanceof ItinerarySegment)
parent::append($value);
else
throw new \Exception("Can only append a ItinerarySegment to " . __CLASS__);
}
/** @throws Exception */
public function fromMap($o): void {
foreach ($o as $item) {
$el = new ItinerarySegment();
$el->fromMap($item);
$this->append($el);
}
}
/** @throws Exception */
public function jsonSerialize(): array {
return parent::getArrayCopy();
}
}
// @DataContract(Name="PassengerDeparture", Namespace="schemas.agentivity.com/types")
class PassengerDeparture implements IBookingItinerary, JsonSerializable
{
public function __construct(
// @DataMember(Order=10)
/** @var int */
public int $AgentivityRef=0,
// @DataMember(Order=20)
/** @var string|null */
public ?string $RecordLocator=null,
// @DataMember(Order=25)
/** @var string|null */
public ?string $OwningAgencyLocationID=null,
// @DataMember(Order=30)
/** @var string|null */
public ?string $OwningConsultant=null,
// @DataMember(Order=35)
/** @var string|null */
public ?string $OwningConsultantID=null,
// @DataMember(Order=40)
/** @var string|null */
public ?string $GdsCode=null,
// @DataMember(Order=45)
/** @var string|null */
public ?string $Passenger=null,
// @DataMember(Order=50)
/** @var string|null */
public ?string $Account=null,
// @DataMember(Order=60)
/** @var DateTime|null */
public ?DateTime $TravelDate=null,
// @DataMember(Order=70)
/** @var string|null */
public ?string $TicketedStatusCode=null,
// @DataMember(Order=75)
/** @var string|null */
public ?string $TicketedStatus=null,
// @DataMember(Order=80)
/** @var string|null */
public ?string $SupplierReference=null,
// @DataMember(Order=85)
/** @var string|null */
public ?string $SMS=null,
// @DataMember(Order=90)
/** @var string|null */
public ?string $Vouchers=null,
// @DataMember(Order=100)
/** @var string|null */
public ?string $Transfers=null,
// @DataMember(Order=110)
/** @var bool|null */
public ?bool $IsVip=null,
// @DataMember(Order=120)
/** @var string|null */
public ?string $PhoneNbr=null,
// @DataMember(Order=130)
/** @var string|null */
public ?string $EmailAddress=null,
// @DataMember(Order=140)
/** @var string|null */
public ?string $DestinationCities=null,
// @DataMember(Order=150)
/** @var string|null */
public ?string $DestinationCountries=null,
// @DataMember(Order=160)
/** @var string|null */
public ?string $Connections=null,
// @DataMember(Order=200)
/** @var ItinerarySegmentsCollection|null */
public ?ItinerarySegmentsCollection $Itinerary=null,
// @DataMember(Order=210)
/** @var string|null */
public ?string $ItineraryFormatted=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['AgentivityRef'])) $this->AgentivityRef = $o['AgentivityRef'];
if (isset($o['RecordLocator'])) $this->RecordLocator = $o['RecordLocator'];
if (isset($o['OwningAgencyLocationID'])) $this->OwningAgencyLocationID = $o['OwningAgencyLocationID'];
if (isset($o['OwningConsultant'])) $this->OwningConsultant = $o['OwningConsultant'];
if (isset($o['OwningConsultantID'])) $this->OwningConsultantID = $o['OwningConsultantID'];
if (isset($o['GdsCode'])) $this->GdsCode = $o['GdsCode'];
if (isset($o['Passenger'])) $this->Passenger = $o['Passenger'];
if (isset($o['Account'])) $this->Account = $o['Account'];
if (isset($o['TravelDate'])) $this->TravelDate = JsonConverters::from('DateTime', $o['TravelDate']);
if (isset($o['TicketedStatusCode'])) $this->TicketedStatusCode = $o['TicketedStatusCode'];
if (isset($o['TicketedStatus'])) $this->TicketedStatus = $o['TicketedStatus'];
if (isset($o['SupplierReference'])) $this->SupplierReference = $o['SupplierReference'];
if (isset($o['SMS'])) $this->SMS = $o['SMS'];
if (isset($o['Vouchers'])) $this->Vouchers = $o['Vouchers'];
if (isset($o['Transfers'])) $this->Transfers = $o['Transfers'];
if (isset($o['IsVip'])) $this->IsVip = $o['IsVip'];
if (isset($o['PhoneNbr'])) $this->PhoneNbr = $o['PhoneNbr'];
if (isset($o['EmailAddress'])) $this->EmailAddress = $o['EmailAddress'];
if (isset($o['DestinationCities'])) $this->DestinationCities = $o['DestinationCities'];
if (isset($o['DestinationCountries'])) $this->DestinationCountries = $o['DestinationCountries'];
if (isset($o['Connections'])) $this->Connections = $o['Connections'];
if (isset($o['Itinerary'])) $this->Itinerary = JsonConverters::from('ItinerarySegmentsCollection', $o['Itinerary']);
if (isset($o['ItineraryFormatted'])) $this->ItineraryFormatted = $o['ItineraryFormatted'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->AgentivityRef)) $o['AgentivityRef'] = $this->AgentivityRef;
if (isset($this->RecordLocator)) $o['RecordLocator'] = $this->RecordLocator;
if (isset($this->OwningAgencyLocationID)) $o['OwningAgencyLocationID'] = $this->OwningAgencyLocationID;
if (isset($this->OwningConsultant)) $o['OwningConsultant'] = $this->OwningConsultant;
if (isset($this->OwningConsultantID)) $o['OwningConsultantID'] = $this->OwningConsultantID;
if (isset($this->GdsCode)) $o['GdsCode'] = $this->GdsCode;
if (isset($this->Passenger)) $o['Passenger'] = $this->Passenger;
if (isset($this->Account)) $o['Account'] = $this->Account;
if (isset($this->TravelDate)) $o['TravelDate'] = JsonConverters::to('DateTime', $this->TravelDate);
if (isset($this->TicketedStatusCode)) $o['TicketedStatusCode'] = $this->TicketedStatusCode;
if (isset($this->TicketedStatus)) $o['TicketedStatus'] = $this->TicketedStatus;
if (isset($this->SupplierReference)) $o['SupplierReference'] = $this->SupplierReference;
if (isset($this->SMS)) $o['SMS'] = $this->SMS;
if (isset($this->Vouchers)) $o['Vouchers'] = $this->Vouchers;
if (isset($this->Transfers)) $o['Transfers'] = $this->Transfers;
if (isset($this->IsVip)) $o['IsVip'] = $this->IsVip;
if (isset($this->PhoneNbr)) $o['PhoneNbr'] = $this->PhoneNbr;
if (isset($this->EmailAddress)) $o['EmailAddress'] = $this->EmailAddress;
if (isset($this->DestinationCities)) $o['DestinationCities'] = $this->DestinationCities;
if (isset($this->DestinationCountries)) $o['DestinationCountries'] = $this->DestinationCountries;
if (isset($this->Connections)) $o['Connections'] = $this->Connections;
if (isset($this->Itinerary)) $o['Itinerary'] = JsonConverters::to('ItinerarySegmentsCollection', $this->Itinerary);
if (isset($this->ItineraryFormatted)) $o['ItineraryFormatted'] = $this->ItineraryFormatted;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Name="ConsultantUpcomingPaxDeparture", Namespace="schemas.agentivity.com/types")
class ConsultantUpcomingPaxDeparture extends PassengerDeparture implements JsonSerializable
{
/**
* @param int $AgentivityRef
* @param string|null $RecordLocator
* @param string|null $OwningAgencyLocationID
* @param string|null $OwningConsultant
* @param string|null $OwningConsultantID
* @param string|null $GdsCode
* @param string|null $Passenger
* @param string|null $Account
* @param DateTime|null $TravelDate
* @param string|null $TicketedStatusCode
* @param string|null $TicketedStatus
* @param string|null $SupplierReference
* @param string|null $SMS
* @param string|null $Vouchers
* @param string|null $Transfers
* @param bool|null $IsVip
* @param string|null $PhoneNbr
* @param string|null $EmailAddress
* @param string|null $DestinationCities
* @param string|null $DestinationCountries
* @param string|null $Connections
* @param ItinerarySegmentsCollection|null $Itinerary
* @param string|null $ItineraryFormatted
*/
public function __construct(
int $AgentivityRef=0,
?string $RecordLocator=null,
?string $OwningAgencyLocationID=null,
?string $OwningConsultant=null,
?string $OwningConsultantID=null,
?string $GdsCode=null,
?string $Passenger=null,
?string $Account=null,
?DateTime $TravelDate=null,
?string $TicketedStatusCode=null,
?string $TicketedStatus=null,
?string $SupplierReference=null,
?string $SMS=null,
?string $Vouchers=null,
?string $Transfers=null,
?bool $IsVip=null,
?string $PhoneNbr=null,
?string $EmailAddress=null,
?string $DestinationCities=null,
?string $DestinationCountries=null,
?string $Connections=null,
?ItinerarySegmentsCollection $Itinerary=null,
?string $ItineraryFormatted=null
) {
parent::__construct($AgentivityRef,$RecordLocator,$OwningAgencyLocationID,$OwningConsultant,$OwningConsultantID,$GdsCode,$Passenger,$Account,$TravelDate,$TicketedStatusCode,$TicketedStatus,$SupplierReference,$SMS,$Vouchers,$Transfers,$IsVip,$PhoneNbr,$EmailAddress,$DestinationCities,$DestinationCountries,$Connections,$Itinerary,$ItineraryFormatted);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Name="CacheMetadata", Namespace="schemas.agentivity.com/types")
class CacheMetadata implements JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var DateTime */
public DateTime $CachedAt=new DateTime(),
// @DataMember(Order=2)
/** @var DateTime */
public DateTime $CacheExpiresAt=new DateTime(),
// @DataMember(Order=0)
/** @var bool|null */
public ?bool $IsFromCache=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['CachedAt'])) $this->CachedAt = JsonConverters::from('DateTime', $o['CachedAt']);
if (isset($o['CacheExpiresAt'])) $this->CacheExpiresAt = JsonConverters::from('DateTime', $o['CacheExpiresAt']);
if (isset($o['IsFromCache'])) $this->IsFromCache = $o['IsFromCache'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->CachedAt)) $o['CachedAt'] = JsonConverters::to('DateTime', $this->CachedAt);
if (isset($this->CacheExpiresAt)) $o['CacheExpiresAt'] = JsonConverters::to('DateTime', $this->CacheExpiresAt);
if (isset($this->IsFromCache)) $o['IsFromCache'] = $this->IsFromCache;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Name="ResponseMetadata", Namespace="schemas.agentivity.com/types")
class ResponseMetadata implements JsonSerializable
{
public function __construct(
// @DataMember(Order=0)
/** @var bool|null */
public ?bool $Success=null,
// @DataMember(Order=1)
/** @var bool|null */
public ?bool $HasCache=null,
// @DataMember(Order=2)
/** @var bool|null */
public ?bool $HasPaging=null,
// @DataMember(Order=3, EmitDefaultValue=false)
/** @var CacheMetadata|null */
public ?CacheMetadata $CacheMetadata=null,
// @DataMember(Order=4, EmitDefaultValue=false)
/** @var PagingMetadata|null */
public ?PagingMetadata $PagingMetadata=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Success'])) $this->Success = $o['Success'];
if (isset($o['HasCache'])) $this->HasCache = $o['HasCache'];
if (isset($o['HasPaging'])) $this->HasPaging = $o['HasPaging'];
if (isset($o['CacheMetadata'])) $this->CacheMetadata = JsonConverters::from('CacheMetadata', $o['CacheMetadata']);
if (isset($o['PagingMetadata'])) $this->PagingMetadata = JsonConverters::from('PagingMetadata', $o['PagingMetadata']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Success)) $o['Success'] = $this->Success;
if (isset($this->HasCache)) $o['HasCache'] = $this->HasCache;
if (isset($this->HasPaging)) $o['HasPaging'] = $this->HasPaging;
if (isset($this->CacheMetadata)) $o['CacheMetadata'] = JsonConverters::to('CacheMetadata', $this->CacheMetadata);
if (isset($this->PagingMetadata)) $o['PagingMetadata'] = JsonConverters::to('PagingMetadata', $this->PagingMetadata);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Name="ApiRequestPerHour", Namespace="schemas.agentivity.com/types")
class ApiRequestPerHour implements JsonSerializable
{
public function __construct(
// @DataMember(Order=10)
/** @var DateTime */
public DateTime $RequestDate=new DateTime(),
// @DataMember(Order=100)
/** @var int */
public int $Hour0=0,
// @DataMember(Order=110)
/** @var int */
public int $Hour1=0,
// @DataMember(Order=120)
/** @var int */
public int $Hour2=0,
// @DataMember(Order=130)
/** @var int */
public int $Hour3=0,
// @DataMember(Order=140)
/** @var int */
public int $Hour4=0,
// @DataMember(Order=150)
/** @var int */
public int $Hour5=0,
// @DataMember(Order=160)
/** @var int */
public int $Hour6=0,
// @DataMember(Order=170)
/** @var int */
public int $Hour7=0,
// @DataMember(Order=180)
/** @var int */
public int $Hour8=0,
// @DataMember(Order=190)
/** @var int */
public int $Hour9=0,
// @DataMember(Order=200)
/** @var int */
public int $Hour10=0,
// @DataMember(Order=210)
/** @var int */
public int $Hour11=0,
// @DataMember(Order=220)
/** @var int */
public int $Hour12=0,
// @DataMember(Order=230)
/** @var int */
public int $Hour13=0,
// @DataMember(Order=240)
/** @var int */
public int $Hour14=0,
// @DataMember(Order=250)
/** @var int */
public int $Hour15=0,
// @DataMember(Order=260)
/** @var int */
public int $Hour16=0,
// @DataMember(Order=270)
/** @var int */
public int $Hour17=0,
// @DataMember(Order=280)
/** @var int */
public int $Hour18=0,
// @DataMember(Order=290)
/** @var int */
public int $Hour19=0,
// @DataMember(Order=300)
/** @var int */
public int $Hour20=0,
// @DataMember(Order=310)
/** @var int */
public int $Hour21=0,
// @DataMember(Order=320)
/** @var int */
public int $Hour22=0,
// @DataMember(Order=330)
/** @var int */
public int $Hour23=0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['RequestDate'])) $this->RequestDate = JsonConverters::from('DateTime', $o['RequestDate']);
if (isset($o['Hour0'])) $this->Hour0 = $o['Hour0'];
if (isset($o['Hour1'])) $this->Hour1 = $o['Hour1'];
if (isset($o['Hour2'])) $this->Hour2 = $o['Hour2'];
if (isset($o['Hour3'])) $this->Hour3 = $o['Hour3'];
if (isset($o['Hour4'])) $this->Hour4 = $o['Hour4'];
if (isset($o['Hour5'])) $this->Hour5 = $o['Hour5'];
if (isset($o['Hour6'])) $this->Hour6 = $o['Hour6'];
if (isset($o['Hour7'])) $this->Hour7 = $o['Hour7'];
if (isset($o['Hour8'])) $this->Hour8 = $o['Hour8'];
if (isset($o['Hour9'])) $this->Hour9 = $o['Hour9'];
if (isset($o['Hour10'])) $this->Hour10 = $o['Hour10'];
if (isset($o['Hour11'])) $this->Hour11 = $o['Hour11'];
if (isset($o['Hour12'])) $this->Hour12 = $o['Hour12'];
if (isset($o['Hour13'])) $this->Hour13 = $o['Hour13'];
if (isset($o['Hour14'])) $this->Hour14 = $o['Hour14'];
if (isset($o['Hour15'])) $this->Hour15 = $o['Hour15'];
if (isset($o['Hour16'])) $this->Hour16 = $o['Hour16'];
if (isset($o['Hour17'])) $this->Hour17 = $o['Hour17'];
if (isset($o['Hour18'])) $this->Hour18 = $o['Hour18'];
if (isset($o['Hour19'])) $this->Hour19 = $o['Hour19'];
if (isset($o['Hour20'])) $this->Hour20 = $o['Hour20'];
if (isset($o['Hour21'])) $this->Hour21 = $o['Hour21'];
if (isset($o['Hour22'])) $this->Hour22 = $o['Hour22'];
if (isset($o['Hour23'])) $this->Hour23 = $o['Hour23'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->RequestDate)) $o['RequestDate'] = JsonConverters::to('DateTime', $this->RequestDate);
if (isset($this->Hour0)) $o['Hour0'] = $this->Hour0;
if (isset($this->Hour1)) $o['Hour1'] = $this->Hour1;
if (isset($this->Hour2)) $o['Hour2'] = $this->Hour2;
if (isset($this->Hour3)) $o['Hour3'] = $this->Hour3;
if (isset($this->Hour4)) $o['Hour4'] = $this->Hour4;
if (isset($this->Hour5)) $o['Hour5'] = $this->Hour5;
if (isset($this->Hour6)) $o['Hour6'] = $this->Hour6;
if (isset($this->Hour7)) $o['Hour7'] = $this->Hour7;
if (isset($this->Hour8)) $o['Hour8'] = $this->Hour8;
if (isset($this->Hour9)) $o['Hour9'] = $this->Hour9;
if (isset($this->Hour10)) $o['Hour10'] = $this->Hour10;
if (isset($this->Hour11)) $o['Hour11'] = $this->Hour11;
if (isset($this->Hour12)) $o['Hour12'] = $this->Hour12;
if (isset($this->Hour13)) $o['Hour13'] = $this->Hour13;
if (isset($this->Hour14)) $o['Hour14'] = $this->Hour14;
if (isset($this->Hour15)) $o['Hour15'] = $this->Hour15;
if (isset($this->Hour16)) $o['Hour16'] = $this->Hour16;
if (isset($this->Hour17)) $o['Hour17'] = $this->Hour17;
if (isset($this->Hour18)) $o['Hour18'] = $this->Hour18;
if (isset($this->Hour19)) $o['Hour19'] = $this->Hour19;
if (isset($this->Hour20)) $o['Hour20'] = $this->Hour20;
if (isset($this->Hour21)) $o['Hour21'] = $this->Hour21;
if (isset($this->Hour22)) $o['Hour22'] = $this->Hour22;
if (isset($this->Hour23)) $o['Hour23'] = $this->Hour23;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Name="ResponseMetadata", Namespace="schemas.agentivity.com/types")
class AgentivityError implements JsonSerializable
{
public function __construct(
// @DataMember
/** @var string|null */
public ?string $ErrorCode=null,
// @DataMember
/** @var string|null */
public ?string $Message=null,
// @DataMember
/** @var string|null */
public ?string $StatusCode=null,
// @DataMember
/** @var string|null */
public ?string $VerboseMessage=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ErrorCode'])) $this->ErrorCode = $o['ErrorCode'];
if (isset($o['Message'])) $this->Message = $o['Message'];
if (isset($o['StatusCode'])) $this->StatusCode = $o['StatusCode'];
if (isset($o['VerboseMessage'])) $this->VerboseMessage = $o['VerboseMessage'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ErrorCode)) $o['ErrorCode'] = $this->ErrorCode;
if (isset($this->Message)) $o['Message'] = $this->Message;
if (isset($this->StatusCode)) $o['StatusCode'] = $this->StatusCode;
if (isset($this->VerboseMessage)) $o['VerboseMessage'] = $this->VerboseMessage;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Name="AgentivityResponse", Namespace="schemas.agentivity.com/types")
/**
* @template TItem
*/
class CollectionResponse implements JsonSerializable
{
public array $genericArgs = [];
public static function create(array $genericArgs=[]): CollectionResponse {
$to = new CollectionResponse();
$to->genericArgs = $genericArgs;
return $to;
}
public function __construct(
// @DataMember(Order=1)
/** @var ResponseMetadata|null */
public mixed $ResponseMetadata=null,
// @DataMember(Order=2, EmitDefaultValue=false)
/** @var array<ApiRequestPerHour>|null */
public mixed $ResponseReport=null,
// @DataMember(Order=3, EmitDefaultValue=false)
/** @var AgentivityError|null */
public mixed $ResponseError=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ResponseMetadata'])) $this->ResponseMetadata = JsonConverters::from('ResponseMetadata', $o['ResponseMetadata']);
if (isset($o['ResponseReport'])) $this->ResponseReport = JsonConverters::fromArray('ApiRequestPerHour', $o['ResponseReport']);
if (isset($o['ResponseError'])) $this->ResponseError = JsonConverters::from('AgentivityError', $o['ResponseError']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ResponseMetadata)) $o['ResponseMetadata'] = JsonConverters::to('ResponseMetadata', $this->ResponseMetadata);
if (isset($this->ResponseReport)) $o['ResponseReport'] = JsonConverters::toArray('ApiRequestPerHour', $this->ResponseReport);
if (isset($this->ResponseError)) $o['ResponseError'] = JsonConverters::to('AgentivityError', $this->ResponseError);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Name="AgentivityResponse", Namespace="schemas.agentivity.com/types")
/**
* @template CollectionResponse of ConsultantUpcomingPaxDeparture
*/
class GetConsultantWorkUpcomingPaxDeparturesResponse extends CollectionResponse implements JsonSerializable
{
/**
* @param ResponseMetadata|null $ResponseMetadata
* @param array<ApiRequestPerHour>|null $ResponseReport
* @param AgentivityError|null $ResponseError
*/
public function __construct(
?ResponseMetadata $ResponseMetadata=null,
?array $ResponseReport=null,
?AgentivityError $ResponseError=null
) {
parent::__construct($ResponseMetadata,$ResponseReport,$ResponseError);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
return empty($o) ? new class(){} : $o;
}
}
// @Flags()
enum FormattingStyle : int
{
case None = 0;
case Html = 1;
case Charting = 2;
}
// @DataContract(Namespace="schemas.agentivity.com/types")
class GetConsultantWorkUpcomingPaxDepartures extends CompanyLevelRequestBase implements IRequestConsultantID, IMemberOwningConsultantIDList, JsonSerializable
{
/**
* @param string|null $Offset
* @param string|null $Limit
* @param int $TotalRecords
* @param int $ResponseRecords
* @param string[]|null $OwningCompanyCode
* @param string|null $UserName
*/
public function __construct(
?string $Offset=null,
?string $Limit=null,
int $TotalRecords=0,
int $ResponseRecords=0,
?array $OwningCompanyCode=null,
?string $UserName=null,
/** @description Date in format YYYYMMDD */
// @DataMember
/** @var string */
public string $TravelDateStart='',
/** @description Date in format YYYYMMDD */
// @DataMember
/** @var string */
public string $TravelDateEnd='',
/** @description Comma Delimited List of Accounts */
// @DataMember
/** @var string[]|null */
public ?array $Account=null,
/** @description Include Itinerary in the response */
// @DataMember
/** @var bool|null */
public ?bool $IncludeItinerary=null,
/** @description Indicates the required formatting: 0=None(Default); 1= Html; 2 = Chart */
// @DataMember
/** @var FormattingStyle|null */
public ?FormattingStyle $ItineraryFormatting=null,
/** @description Comma delimited list of owning consultants ids */
// @DataMember
/** @var string[] */
public array $OwningConsultantID=[],
/** @description Request Consultant ID (sign on) */
// @DataMember
/** @var string|null */
public ?string $RequestConsultantID=null
) {
parent::__construct($Offset,$Limit,$TotalRecords,$ResponseRecords,$OwningCompanyCode,$UserName);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['TravelDateStart'])) $this->TravelDateStart = $o['TravelDateStart'];
if (isset($o['TravelDateEnd'])) $this->TravelDateEnd = $o['TravelDateEnd'];
if (isset($o['Account'])) $this->Account = JsonConverters::fromArray('string', $o['Account']);
if (isset($o['IncludeItinerary'])) $this->IncludeItinerary = $o['IncludeItinerary'];
if (isset($o['ItineraryFormatting'])) $this->ItineraryFormatting = JsonConverters::from('FormattingStyle', $o['ItineraryFormatting']);
if (isset($o['OwningConsultantID'])) $this->OwningConsultantID = JsonConverters::fromArray('string', $o['OwningConsultantID']);
if (isset($o['RequestConsultantID'])) $this->RequestConsultantID = $o['RequestConsultantID'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->TravelDateStart)) $o['TravelDateStart'] = $this->TravelDateStart;
if (isset($this->TravelDateEnd)) $o['TravelDateEnd'] = $this->TravelDateEnd;
if (isset($this->Account)) $o['Account'] = JsonConverters::toArray('string', $this->Account);
if (isset($this->IncludeItinerary)) $o['IncludeItinerary'] = $this->IncludeItinerary;
if (isset($this->ItineraryFormatting)) $o['ItineraryFormatting'] = JsonConverters::to('FormattingStyle', $this->ItineraryFormatting);
if (isset($this->OwningConsultantID)) $o['OwningConsultantID'] = JsonConverters::toArray('string', $this->OwningConsultantID);
if (isset($this->RequestConsultantID)) $o['RequestConsultantID'] = $this->RequestConsultantID;
return empty($o) ? new class(){} : $o;
}
}
PHP GetConsultantWorkUpcomingPaxDepartures DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /ConsultantWorkUpcomingPaxDepartures HTTP/1.1
Host: api.agentivity.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetConsultantWorkUpcomingPaxDepartures xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="schemas.agentivity.com/types">
<Limit>String</Limit>
<Offset>String</Offset>
<ResponseRecords>0</ResponseRecords>
<TotalRecords>0</TotalRecords>
<OwningCompanyCode xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</OwningCompanyCode>
<UserName>String</UserName>
<Account xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Account>
<IncludeItinerary>false</IncludeItinerary>
<ItineraryFormatting>None</ItineraryFormatting>
<OwningConsultantID xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</OwningConsultantID>
<RequestConsultantID>String</RequestConsultantID>
<TravelDateEnd>String</TravelDateEnd>
<TravelDateStart>String</TravelDateStart>
</GetConsultantWorkUpcomingPaxDepartures>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <AgentivityResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="schemas.agentivity.com/types"> <ResponseMetadata> <Success>false</Success> <HasCache>false</HasCache> <HasPaging>false</HasPaging> <CacheMetadata> <IsFromCache>false</IsFromCache> <CachedAt>0001-01-01T00:00:00</CachedAt> <CacheExpiresAt>0001-01-01T00:00:00</CacheExpiresAt> </CacheMetadata> <PagingMetadata> <Limit>String</Limit> <Offset>String</Offset> <ResponseRecords>0</ResponseRecords> <TotalRecords>0</TotalRecords> </PagingMetadata> </ResponseMetadata> <ResponseReport> <ConsultantUpcomingPaxDeparture> <AgentivityRef>0</AgentivityRef> <RecordLocator>String</RecordLocator> <OwningAgencyLocationID>String</OwningAgencyLocationID> <OwningConsultant>String</OwningConsultant> <OwningConsultantID>String</OwningConsultantID> <GdsCode>String</GdsCode> <Passenger>String</Passenger> <Account>String</Account> <TravelDate>0001-01-01T00:00:00</TravelDate> <TicketedStatusCode>String</TicketedStatusCode> <TicketedStatus>String</TicketedStatus> <SupplierReference>String</SupplierReference> <SMS>String</SMS> <Vouchers>String</Vouchers> <Transfers>String</Transfers> <IsVip>false</IsVip> <PhoneNbr>String</PhoneNbr> <EmailAddress>String</EmailAddress> <DestinationCities>String</DestinationCities> <DestinationCountries>String</DestinationCountries> <Connections>String</Connections> <Itinerary> <ItinerarySegment> <ArrivalTimeFormatted>String</ArrivalTimeFormatted> <BoardPoint>String</BoardPoint> <ChangeOfDayFormatted>String</ChangeOfDayFormatted> <DepartureTimeFormatted>String</DepartureTimeFormatted> <EndDate>String</EndDate> <Equipment>String</Equipment> <EquipmentCode>String</EquipmentCode> <OffPoint>String</OffPoint> <OperatorCode>String</OperatorCode> <OperatorService>String</OperatorService> <SegmentNbr>0</SegmentNbr> <SegmentStatus>String</SegmentStatus> <SegmentType>String</SegmentType> <ServiceCode>String</ServiceCode> <StartDate>String</StartDate> <TicketNumber>String</TicketNumber> <VendorLocators>String</VendorLocators> </ItinerarySegment> </Itinerary> <ItineraryFormatted>String</ItineraryFormatted> </ConsultantUpcomingPaxDeparture> </ResponseReport> <ResponseError> <ErrorCode>String</ErrorCode> <Message>String</Message> <StatusCode>String</StatusCode> <VerboseMessage>String</VerboseMessage> </ResponseError> </AgentivityResponse>