GET | /ConsultantsGdsSegmentPerformance |
---|
<?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="ConsultantGdsSegmentPerformance", Namespace="schemas.agentivity.com/types")
class ConsultantGdsSegmentPerformance implements JsonSerializable
{
public function __construct(
// @DataMember(Order=10)
/** @var string|null */
public ?string $OwningConsultantID=null,
// @DataMember(Order=20)
/** @var string|null */
public ?string $OwningConsultant=null,
// @DataMember(Order=30)
/** @var string|null */
public ?string $OwningAgencyLocationID=null,
// @DataMember(Order=40)
/** @var int */
public int $AirCount=0,
// @DataMember(Order=42)
/** @var int */
public int $AirCountOnline=0,
// @DataMember(Order=50)
/** @var int */
public int $HotelCount=0,
// @DataMember(Order=52)
/** @var int */
public int $HotelCountOnline=0,
// @DataMember(Order=60)
/** @var int */
public int $CarCount=0,
// @DataMember(Order=62)
/** @var int */
public int $CarCountOnline=0,
// @DataMember(Order=70)
/** @var int */
public int $PassiveHotelCount=0,
// @DataMember(Order=72)
/** @var int */
public int $PassiveHotelCountOnline=0,
// @DataMember(Order=80)
/** @var int */
public int $PassiveCarCount=0,
// @DataMember(Order=82)
/** @var int */
public int $PassiveCarCountOnline=0,
// @DataMember(Order=90)
/** @var int */
public int $TURCount=0,
// @DataMember(Order=92)
/** @var int */
public int $TURCountOnline=0,
// @DataMember(Order=100)
/** @var int */
public int $OtherCount=0,
// @DataMember(Order=102)
/** @var int */
public int $OtherCountOnline=0,
// @DataMember(Order=110)
/** @var int */
public int $TotalBookings=0,
// @DataMember(Order=120)
/** @var string|null */
public ?string $OwningAgencyLocationCountryCode=null,
// @DataMember(Order=130)
/** @var string|null */
public ?string $OwningAgencyLocationCountryName=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['OwningConsultantID'])) $this->OwningConsultantID = $o['OwningConsultantID'];
if (isset($o['OwningConsultant'])) $this->OwningConsultant = $o['OwningConsultant'];
if (isset($o['OwningAgencyLocationID'])) $this->OwningAgencyLocationID = $o['OwningAgencyLocationID'];
if (isset($o['AirCount'])) $this->AirCount = $o['AirCount'];
if (isset($o['AirCountOnline'])) $this->AirCountOnline = $o['AirCountOnline'];
if (isset($o['HotelCount'])) $this->HotelCount = $o['HotelCount'];
if (isset($o['HotelCountOnline'])) $this->HotelCountOnline = $o['HotelCountOnline'];
if (isset($o['CarCount'])) $this->CarCount = $o['CarCount'];
if (isset($o['CarCountOnline'])) $this->CarCountOnline = $o['CarCountOnline'];
if (isset($o['PassiveHotelCount'])) $this->PassiveHotelCount = $o['PassiveHotelCount'];
if (isset($o['PassiveHotelCountOnline'])) $this->PassiveHotelCountOnline = $o['PassiveHotelCountOnline'];
if (isset($o['PassiveCarCount'])) $this->PassiveCarCount = $o['PassiveCarCount'];
if (isset($o['PassiveCarCountOnline'])) $this->PassiveCarCountOnline = $o['PassiveCarCountOnline'];
if (isset($o['TURCount'])) $this->TURCount = $o['TURCount'];
if (isset($o['TURCountOnline'])) $this->TURCountOnline = $o['TURCountOnline'];
if (isset($o['OtherCount'])) $this->OtherCount = $o['OtherCount'];
if (isset($o['OtherCountOnline'])) $this->OtherCountOnline = $o['OtherCountOnline'];
if (isset($o['TotalBookings'])) $this->TotalBookings = $o['TotalBookings'];
if (isset($o['OwningAgencyLocationCountryCode'])) $this->OwningAgencyLocationCountryCode = $o['OwningAgencyLocationCountryCode'];
if (isset($o['OwningAgencyLocationCountryName'])) $this->OwningAgencyLocationCountryName = $o['OwningAgencyLocationCountryName'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->OwningConsultantID)) $o['OwningConsultantID'] = $this->OwningConsultantID;
if (isset($this->OwningConsultant)) $o['OwningConsultant'] = $this->OwningConsultant;
if (isset($this->OwningAgencyLocationID)) $o['OwningAgencyLocationID'] = $this->OwningAgencyLocationID;
if (isset($this->AirCount)) $o['AirCount'] = $this->AirCount;
if (isset($this->AirCountOnline)) $o['AirCountOnline'] = $this->AirCountOnline;
if (isset($this->HotelCount)) $o['HotelCount'] = $this->HotelCount;
if (isset($this->HotelCountOnline)) $o['HotelCountOnline'] = $this->HotelCountOnline;
if (isset($this->CarCount)) $o['CarCount'] = $this->CarCount;
if (isset($this->CarCountOnline)) $o['CarCountOnline'] = $this->CarCountOnline;
if (isset($this->PassiveHotelCount)) $o['PassiveHotelCount'] = $this->PassiveHotelCount;
if (isset($this->PassiveHotelCountOnline)) $o['PassiveHotelCountOnline'] = $this->PassiveHotelCountOnline;
if (isset($this->PassiveCarCount)) $o['PassiveCarCount'] = $this->PassiveCarCount;
if (isset($this->PassiveCarCountOnline)) $o['PassiveCarCountOnline'] = $this->PassiveCarCountOnline;
if (isset($this->TURCount)) $o['TURCount'] = $this->TURCount;
if (isset($this->TURCountOnline)) $o['TURCountOnline'] = $this->TURCountOnline;
if (isset($this->OtherCount)) $o['OtherCount'] = $this->OtherCount;
if (isset($this->OtherCountOnline)) $o['OtherCountOnline'] = $this->OtherCountOnline;
if (isset($this->TotalBookings)) $o['TotalBookings'] = $this->TotalBookings;
if (isset($this->OwningAgencyLocationCountryCode)) $o['OwningAgencyLocationCountryCode'] = $this->OwningAgencyLocationCountryCode;
if (isset($this->OwningAgencyLocationCountryName)) $o['OwningAgencyLocationCountryName'] = $this->OwningAgencyLocationCountryName;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Namespace="schemas.agentivity.com/types")
/**
* @template TItemResponse
* @template TItem
*/
class Report2 implements JsonSerializable
{
public array $genericArgs = [];
public static function create(array $genericArgs=[]): Report2 {
$to = new Report2();
$to->genericArgs = $genericArgs;
return $to;
}
public function __construct(
// @DataMember(Order=1, EmitDefaultValue=false)
/** @var TItem|null */
public mixed $Item=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Item'])) $this->Item = JsonConverters::from($this->genericArgs[1], $o['Item']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Item)) $o['Item'] = JsonConverters::to($this->genericArgs[1], $this->Item);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract(Name="ConsultantGdsSegmentPerformance", Namespace="schemas.agentivity.com/types")
/**
* @template Report2 of ConsultantsGdsSegmentPerformanceItemResponse
* @template Report21 of ConsultantGdsSegmentPerformance
*/
class ConsultantsGdsSegmentPerformanceResponseReport extends Report2 implements JsonSerializable
{
/**
* @param TItem|null $Item
*/
public function __construct(
?TItem $Item=null
) {
parent::__construct($Item);
}
/** @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="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
* @template TReport
*/
class ItemResponse2 implements JsonSerializable
{
public array $genericArgs = [];
public static function create(array $genericArgs=[]): ItemResponse2 {
$to = new ItemResponse2();
$to->genericArgs = $genericArgs;
return $to;
}
public function __construct(
// @DataMember(Order=1)
/** @var ResponseMetadata|null */
public mixed $ResponseMetadata=null,
// @DataMember(Order=2, EmitDefaultValue=false)
/** @var TReport|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::from($this->genericArgs[1], $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::to($this->genericArgs[1], $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 ItemResponse2 of ConsultantGdsSegmentPerformance
* @template ItemResponse21 of ConsultantsGdsSegmentPerformanceResponseReport
*/
class ConsultantsGdsSegmentPerformanceItemResponse extends ItemResponse2 implements JsonSerializable
{
/**
* @param ResponseMetadata|null $ResponseMetadata
* @param TReport|null $ResponseReport
* @param AgentivityError|null $ResponseError
*/
public function __construct(
?ResponseMetadata $ResponseMetadata=null,
?TReport $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;
}
}
// @DataContract(Namespace="schemas.agentivity.com/types")
class ConsultantsGdsSegmentPerformance extends CompanyLevelRequestBase implements 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 $PNRCreationDateStart='',
/** @description Date in format YYYYMMDD */
// @DataMember
/** @var string */
public string $PNRCreationDateEnd='',
/** @description Comma Delimited List of PCCs */
// @DataMember
/** @var string[] */
public array $OwningAgencyLocationID=[]
) {
parent::__construct($Offset,$Limit,$TotalRecords,$ResponseRecords,$OwningCompanyCode,$UserName);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['PNRCreationDateStart'])) $this->PNRCreationDateStart = $o['PNRCreationDateStart'];
if (isset($o['PNRCreationDateEnd'])) $this->PNRCreationDateEnd = $o['PNRCreationDateEnd'];
if (isset($o['OwningAgencyLocationID'])) $this->OwningAgencyLocationID = JsonConverters::fromArray('string', $o['OwningAgencyLocationID']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->PNRCreationDateStart)) $o['PNRCreationDateStart'] = $this->PNRCreationDateStart;
if (isset($this->PNRCreationDateEnd)) $o['PNRCreationDateEnd'] = $this->PNRCreationDateEnd;
if (isset($this->OwningAgencyLocationID)) $o['OwningAgencyLocationID'] = JsonConverters::toArray('string', $this->OwningAgencyLocationID);
return empty($o) ? new class(){} : $o;
}
}
PHP ConsultantsGdsSegmentPerformance 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.
GET /ConsultantsGdsSegmentPerformance HTTP/1.1 Host: api.agentivity.com Accept: application/xml
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> <Item> <OwningConsultantID>String</OwningConsultantID> <OwningConsultant>String</OwningConsultant> <OwningAgencyLocationID>String</OwningAgencyLocationID> <AirCount>0</AirCount> <AirCountOnline>0</AirCountOnline> <HotelCount>0</HotelCount> <HotelCountOnline>0</HotelCountOnline> <CarCount>0</CarCount> <CarCountOnline>0</CarCountOnline> <PassiveHotelCount>0</PassiveHotelCount> <PassiveHotelCountOnline>0</PassiveHotelCountOnline> <PassiveCarCount>0</PassiveCarCount> <PassiveCarCountOnline>0</PassiveCarCountOnline> <TURCount>0</TURCount> <TURCountOnline>0</TURCountOnline> <OtherCount>0</OtherCount> <OtherCountOnline>0</OtherCountOnline> <TotalBookings>0</TotalBookings> <OwningAgencyLocationCountryCode>String</OwningAgencyLocationCountryCode> <OwningAgencyLocationCountryName>String</OwningAgencyLocationCountryName> </Item> </ResponseReport> <ResponseError> <ErrorCode>String</ErrorCode> <Message>String</Message> <StatusCode>String</StatusCode> <VerboseMessage>String</VerboseMessage> </ResponseError> </AgentivityResponse>