GET | /SegmentsQC |
---|
<?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;
}
}
enum QcCheck : string
{
case Missing = 'Missing';
case Warning = 'Warning';
case Valid = 'Valid';
case Denied = 'Denied';
}
// @DataContract(Name="SegmentQC", Namespace="schemas.agentivity.com/types")
class SegmentQC implements 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=30)
/** @var string|null */
public ?string $OwningConsultant=null,
// @DataMember(Order=40)
/** @var string|null */
public ?string $Passenger=null,
// @DataMember(Order=45)
/** @var string|null */
public ?string $Account=null,
// @DataMember(Order=50)
/** @var string|null */
public ?string $BoardPoint=null,
// @DataMember(Order=50)
/** @var string|null */
public ?string $OffPoint=null,
// @DataMember(Order=60)
/** @var string|null */
public ?string $DepartureTime=null,
// @DataMember(Order=70)
/** @var string|null */
public ?string $BookingClass=null,
// @DataMember(Order=80)
/** @var string|null */
public ?string $SegmentStatus=null,
// @DataMember(Order=90)
/** @var string|null */
public ?string $CarrierCode=null,
// @DataMember(Order=100)
/** @var string|null */
public ?string $FlightNbr=null,
// @DataMember(Order=105)
/** @var string|null */
public ?string $FlightNumberFromatted=null,
// @DataMember(Order=110)
/** @var QcCheck|null */
public ?QcCheck $SeatCheck=null,
// @DataMember(Order=120)
/** @var string|null */
public ?string $SeatFormatted=null,
// @DataMember(Order=130)
/** @var QcCheck|null */
public ?QcCheck $MealCheck=null,
// @DataMember(Order=155)
/** @var string|null */
public ?string $MealFormatted=null,
// @DataMember(Order=160)
/** @var string|null */
public ?string $ChauffeurDesc=null,
// @DataMember(Order=170)
/** @var string|null */
public ?string $TransferDesc=null,
// @DataMember(Order=180)
/** @var string|null */
public ?string $CarsFormatted=null,
// @DataMember(Order=190)
/** @var QcCheck|null */
public ?QcCheck $HoteCheck=null,
// @DataMember(Order=200)
/** @var string|null */
public ?string $Hotels=null,
// @DataMember(Order=210)
/** @var string|null */
public ?string $ShuttleDesc=null,
// @DataMember(Order=220)
/** @var string|null */
public ?string $TourDesc=null,
// @DataMember(Order=230)
/** @var string|null */
public ?string $FrequentFlyerNumbers=null,
// @DataMember(Order=240)
/** @var string|null */
public ?string $PnrTicketed=null,
// @DataMember(Order=250)
/** @var string|null */
public ?string $TicketNumber=null,
// @DataMember(Order=260)
/** @var string|null */
public ?string $Comments=null,
// @DataMember(Order=270)
/** @var string|null */
public ?string $OpsComments=null,
// @DataMember(Order=280)
/** @var bool|null */
public ?bool $IsVip=null,
// @DataMember(Order=290)
/** @var string|null */
public ?string $CorporateFFs=null,
// @DataMember(Order=300)
/** @var string|null */
public ?string $VendorLocator=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['OwningConsultant'])) $this->OwningConsultant = $o['OwningConsultant'];
if (isset($o['Passenger'])) $this->Passenger = $o['Passenger'];
if (isset($o['Account'])) $this->Account = $o['Account'];
if (isset($o['BoardPoint'])) $this->BoardPoint = $o['BoardPoint'];
if (isset($o['OffPoint'])) $this->OffPoint = $o['OffPoint'];
if (isset($o['DepartureTime'])) $this->DepartureTime = $o['DepartureTime'];
if (isset($o['BookingClass'])) $this->BookingClass = $o['BookingClass'];
if (isset($o['SegmentStatus'])) $this->SegmentStatus = $o['SegmentStatus'];
if (isset($o['CarrierCode'])) $this->CarrierCode = $o['CarrierCode'];
if (isset($o['FlightNbr'])) $this->FlightNbr = $o['FlightNbr'];
if (isset($o['FlightNumberFromatted'])) $this->FlightNumberFromatted = $o['FlightNumberFromatted'];
if (isset($o['SeatCheck'])) $this->SeatCheck = JsonConverters::from('QcCheck', $o['SeatCheck']);
if (isset($o['SeatFormatted'])) $this->SeatFormatted = $o['SeatFormatted'];
if (isset($o['MealCheck'])) $this->MealCheck = JsonConverters::from('QcCheck', $o['MealCheck']);
if (isset($o['MealFormatted'])) $this->MealFormatted = $o['MealFormatted'];
if (isset($o['ChauffeurDesc'])) $this->ChauffeurDesc = $o['ChauffeurDesc'];
if (isset($o['TransferDesc'])) $this->TransferDesc = $o['TransferDesc'];
if (isset($o['CarsFormatted'])) $this->CarsFormatted = $o['CarsFormatted'];
if (isset($o['HoteCheck'])) $this->HoteCheck = JsonConverters::from('QcCheck', $o['HoteCheck']);
if (isset($o['Hotels'])) $this->Hotels = $o['Hotels'];
if (isset($o['ShuttleDesc'])) $this->ShuttleDesc = $o['ShuttleDesc'];
if (isset($o['TourDesc'])) $this->TourDesc = $o['TourDesc'];
if (isset($o['FrequentFlyerNumbers'])) $this->FrequentFlyerNumbers = $o['FrequentFlyerNumbers'];
if (isset($o['PnrTicketed'])) $this->PnrTicketed = $o['PnrTicketed'];
if (isset($o['TicketNumber'])) $this->TicketNumber = $o['TicketNumber'];
if (isset($o['Comments'])) $this->Comments = $o['Comments'];
if (isset($o['OpsComments'])) $this->OpsComments = $o['OpsComments'];
if (isset($o['IsVip'])) $this->IsVip = $o['IsVip'];
if (isset($o['CorporateFFs'])) $this->CorporateFFs = $o['CorporateFFs'];
if (isset($o['VendorLocator'])) $this->VendorLocator = $o['VendorLocator'];
}
/** @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->OwningConsultant)) $o['OwningConsultant'] = $this->OwningConsultant;
if (isset($this->Passenger)) $o['Passenger'] = $this->Passenger;
if (isset($this->Account)) $o['Account'] = $this->Account;
if (isset($this->BoardPoint)) $o['BoardPoint'] = $this->BoardPoint;
if (isset($this->OffPoint)) $o['OffPoint'] = $this->OffPoint;
if (isset($this->DepartureTime)) $o['DepartureTime'] = $this->DepartureTime;
if (isset($this->BookingClass)) $o['BookingClass'] = $this->BookingClass;
if (isset($this->SegmentStatus)) $o['SegmentStatus'] = $this->SegmentStatus;
if (isset($this->CarrierCode)) $o['CarrierCode'] = $this->CarrierCode;
if (isset($this->FlightNbr)) $o['FlightNbr'] = $this->FlightNbr;
if (isset($this->FlightNumberFromatted)) $o['FlightNumberFromatted'] = $this->FlightNumberFromatted;
if (isset($this->SeatCheck)) $o['SeatCheck'] = JsonConverters::to('QcCheck', $this->SeatCheck);
if (isset($this->SeatFormatted)) $o['SeatFormatted'] = $this->SeatFormatted;
if (isset($this->MealCheck)) $o['MealCheck'] = JsonConverters::to('QcCheck', $this->MealCheck);
if (isset($this->MealFormatted)) $o['MealFormatted'] = $this->MealFormatted;
if (isset($this->ChauffeurDesc)) $o['ChauffeurDesc'] = $this->ChauffeurDesc;
if (isset($this->TransferDesc)) $o['TransferDesc'] = $this->TransferDesc;
if (isset($this->CarsFormatted)) $o['CarsFormatted'] = $this->CarsFormatted;
if (isset($this->HoteCheck)) $o['HoteCheck'] = JsonConverters::to('QcCheck', $this->HoteCheck);
if (isset($this->Hotels)) $o['Hotels'] = $this->Hotels;
if (isset($this->ShuttleDesc)) $o['ShuttleDesc'] = $this->ShuttleDesc;
if (isset($this->TourDesc)) $o['TourDesc'] = $this->TourDesc;
if (isset($this->FrequentFlyerNumbers)) $o['FrequentFlyerNumbers'] = $this->FrequentFlyerNumbers;
if (isset($this->PnrTicketed)) $o['PnrTicketed'] = $this->PnrTicketed;
if (isset($this->TicketNumber)) $o['TicketNumber'] = $this->TicketNumber;
if (isset($this->Comments)) $o['Comments'] = $this->Comments;
if (isset($this->OpsComments)) $o['OpsComments'] = $this->OpsComments;
if (isset($this->IsVip)) $o['IsVip'] = $this->IsVip;
if (isset($this->CorporateFFs)) $o['CorporateFFs'] = $this->CorporateFFs;
if (isset($this->VendorLocator)) $o['VendorLocator'] = $this->VendorLocator;
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="SegmentQC", Namespace="schemas.agentivity.com/types")
/**
* @template Report2 of SegmentsQCItemResponse
* @template Report21 of SegmentQC
*/
class SegmentsQCResponseReport 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 SegmentQC
* @template ItemResponse21 of SegmentsQCResponseReport
*/
class SegmentsQCItemResponse 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 SegmentsQC 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 Comma Delimited List of Accounts */
// @DataMember
/** @var string[]|null */
public ?array $Account=null,
/** @description Date in format YYYYMMDD */
// @DataMember
/** @var string */
public string $DepartureDateStart='',
/** @description Date in format YYYYMMDD */
// @DataMember
/** @var string|null */
public ?string $DepartureDateEnd=null,
/** @description Return only segments that are flagged as VIP only */
// @DataMember
/** @var bool|null */
public ?bool $VipOnly=null
) {
parent::__construct($Offset,$Limit,$TotalRecords,$ResponseRecords,$OwningCompanyCode,$UserName);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['Account'])) $this->Account = JsonConverters::fromArray('string', $o['Account']);
if (isset($o['DepartureDateStart'])) $this->DepartureDateStart = $o['DepartureDateStart'];
if (isset($o['DepartureDateEnd'])) $this->DepartureDateEnd = $o['DepartureDateEnd'];
if (isset($o['VipOnly'])) $this->VipOnly = $o['VipOnly'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->Account)) $o['Account'] = JsonConverters::toArray('string', $this->Account);
if (isset($this->DepartureDateStart)) $o['DepartureDateStart'] = $this->DepartureDateStart;
if (isset($this->DepartureDateEnd)) $o['DepartureDateEnd'] = $this->DepartureDateEnd;
if (isset($this->VipOnly)) $o['VipOnly'] = $this->VipOnly;
return empty($o) ? new class(){} : $o;
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /SegmentsQC HTTP/1.1 Host: api.agentivity.com Accept: text/csv
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"ResponseMetadata":{"Success":false,"HasCache":false,"HasPaging":false,"CacheMetadata":{"IsFromCache":false,"CachedAt":"\/Date(-62135596800000-0000)\/","CacheExpiresAt":"\/Date(-62135596800000-0000)\/"},"PagingMetadata":{"Offset":"String","Limit":"String","TotalRecords":0,"ResponseRecords":0}},"ResponseReport":{"Item":{"AgentivityRef":0,"RecordLocator":"String","OwningConsultant":"String","Passenger":"String","Account":"String","BoardPoint":"String","OffPoint":"String","DepartureTime":"String","BookingClass":"String","SegmentStatus":"String","CarrierCode":"String","FlightNbr":"String","FlightNumberFromatted":"String","SeatCheck":"Missing","SeatFormatted":"String","MealCheck":"Missing","MealFormatted":"String","ChauffeurDesc":"String","TransferDesc":"String","CarsFormatted":"String","HoteCheck":"Missing","Hotels":"String","ShuttleDesc":"String","TourDesc":"String","FrequentFlyerNumbers":"String","PnrTicketed":"String","TicketNumber":"String","Comments":"String","OpsComments":"String","IsVip":false,"CorporateFFs":"String","VendorLocator":"String"}},"ResponseError":{"ErrorCode":"String","Message":"String","StatusCode":"String","VerboseMessage":"String"}}