Agentivity API

<back to all web services

GetPNRSegments

The following routes are available for this service:
GET/PNRSegments

// @DataContract(Name="Metadata", Namespace="schemas.agentivity.com/types")
export class PagingMetadata
{
    /** @description Starting Record */
    // @DataMember
    // @ApiMember(DataType="string", Description="Starting Record", Name="Offset", ParameterType="query")
    public Offset: string;

    /** @description Number of records to return (PageSize) */
    // @DataMember
    // @ApiMember(DataType="string", Description="Number of records to return (PageSize)", Name="Limit", ParameterType="query")
    public Limit: string;

    /** @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")
    public TotalRecords: number;

    /** @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")
    public ResponseRecords: number;

    public constructor(init?: Partial<PagingMetadata>) { (Object as any).assign(this, init); }
}

// @DataContract(Namespace="schemas.agentivity.com/types")
export class HostSystem
{
    // @DataMember(Order=1)
    public Vendor: string;

    // @DataMember(Order=2)
    public VendorLocator: string;

    public constructor(init?: Partial<HostSystem>) { (Object as any).assign(this, init); }
}

export class AirlineReferences extends Array<HostSystem>
{

    public constructor(init?: Partial<AirlineReferences>) { super(); (Object as any).assign(this, init); }
}

// @DataContract(Namespace="schemas.agentivity.com/types")
export class PassengerName
{
    // @DataMember(Order=1)
    public LastName: string;

    // @DataMember(Order=2)
    public FirstName: string;

    public constructor(init?: Partial<PassengerName>) { (Object as any).assign(this, init); }
}

// @DataContract(Namespace="schemas.agentivity.com/types")
export class Coupon
{
    // @DataMember(Order=1)
    public CouponSequenceNbr: string;

    // @DataMember(Order=2)
    public CouponBoardPoint: string;

    // @DataMember(Order=3)
    public CouponOffPoint: string;

    // @DataMember(Order=4)
    public Carrier: string;

    // @DataMember(Order=5)
    public FlightNbr: string;

    // @DataMember(Order=6)
    public FlightDate: string;

    // @DataMember(Order=7)
    public FlightTime: string;

    public constructor(init?: Partial<Coupon>) { (Object as any).assign(this, init); }
}

export class Coupons extends Array<Coupon>
{

    public constructor(init?: Partial<Coupons>) { super(); (Object as any).assign(this, init); }
}

// @DataContract(Namespace="schemas.agentivity.com/types")
export class PNRSummaryTicket
{
    // @DataMember(Order=1)
    public TktNumber: string;

    // @DataMember(Order=2)
    public Passenger: PassengerName;

    // @DataMember(Order=3)
    public Coupons: Coupons;

    public constructor(init?: Partial<PNRSummaryTicket>) { (Object as any).assign(this, init); }
}

export class PNRSummaryTickets extends Array<PNRSummaryTicket>
{

    public constructor(init?: Partial<PNRSummaryTickets>) { super(); (Object as any).assign(this, init); }
}

// @DataContract(Name="PNRSummary", Namespace="schemas.agentivity.com/types")
export class PNRSummary
{
    // @DataMember(Order=1)
    public RecordLocator: string;

    // @DataMember(Order=2)
    public AirlineReferences: AirlineReferences;

    // @DataMember(Order=3)
    public Tickets: PNRSummaryTickets;

    public constructor(init?: Partial<PNRSummary>) { (Object as any).assign(this, init); }
}

// @DataContract(Namespace="schemas.agentivity.com/types")
export class Seat
{
    // @DataMember(Order=1)
    public SeatLocation: string;

    // @DataMember(Order=2)
    public SeatStatusCode: string;

    public constructor(init?: Partial<Seat>) { (Object as any).assign(this, init); }
}

export class SeatingData extends Array<Seat>
{

    public constructor(init?: Partial<SeatingData>) { super(); (Object as any).assign(this, init); }
}

// @DataContract(Name="AirSegment", Namespace="schemas.agentivity.com/types")
export class AirSegment
{
    // @DataMember
    public AirSegmentNbr: number;

    // @DataMember
    public SegmentStatus: string;

    // @DataMember
    public DepartureDate: string;

    // @DataMember
    public DepartureTime: string;

    // @DataMember
    public CarrierCode: string;

    // @DataMember
    public BoardPoint: string;

    // @DataMember
    public OffPoint: string;

    // @DataMember
    public FlightNbr: string;

    // @DataMember
    public BookingCode: string;

    // @DataMember
    public ArrivalTime: string;

    // @DataMember
    public ChangeOfDay: string;

    // @DataMember
    public ConnectionIndicator: string;

    // @DataMember
    public OperatingCarrierCode: string;

    // @DataMember
    public OperatingCarrierName: string;

    // @DataMember
    public JourneyTime: string;

    // @DataMember
    public NbrSeats: number;

    // @DataMember(EmitDefaultValue=false)
    public SeatingData: SeatingData;

    public constructor(init?: Partial<AirSegment>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="CarSegment", Namespace="schemas.agentivity.com/types")
export class CarSegment
{
    // @DataMember
    public CarSegmentNbr: number;

    // @DataMember
    public SegmentStatus: string;

    // @DataMember
    public PickUpDate: string;

    // @DataMember
    public PickUpTime: string;

    // @DataMember
    public AirportCode: string;

    // @DataMember
    public CarLocationCategory: string;

    // @DataMember
    public DropOffDate: string;

    // @DataMember
    public DropOffTime: string;

    // @DataMember
    public ConfirmationNbr: string;

    // @DataMember
    public CarVendorCode: string;

    // @DataMember
    public CarRateType: string;

    // @DataMember
    public CarRateCode: string;

    // @DataMember
    public CarType: string;

    // @DataMember
    public CarYieldManagementNbr: string;

    // @DataMember
    public RateAmount: string;

    // @DataMember
    public RateGuaranteeIndicator: string;

    // @DataMember
    public MilesKilometerIndicator: string;

    // @DataMember
    public DistanceAllowance: string;

    // @DataMember
    public DistanceRateAmount: string;

    // @DataMember
    public CurrencyCode: string;

    // @DataMember
    public NbrOfCars: number;

    public constructor(init?: Partial<CarSegment>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="Segment", Namespace="schemas.agentivity.com/types")
export class HotelSegmentDepreciated
{
    // @DataMember(Order=1)
    public HotelSegmentNbr: string;

    // @DataMember(Order=4)
    public StatusCode: string;

    // @DataMember(Order=5)
    public ArrivalDate: string;

    // @DataMember(Order=6)
    public DepartureDate: string;

    // @DataMember(Order=7)
    public PropertyName: string;

    // @DataMember(Order=16)
    public ConfirmationNbr: string;

    // @DataMember(Order=17)
    public Currency: string;

    // @DataMember(Order=18)
    public Rate: string;

    // @DataMember(Order=19)
    public RoomBookingCode: string;

    // @DataMember(Order=20)
    public NbrNights: number;

    // @DataMember(Order=21)
    public MultiLevelRateCode: string;

    // @DataMember(Order=22)
    public NbrRooms: number;

    // @DataMember(Order=23)
    public BookedInName: string;

    // @DataMember(Order=24)
    public ServiceInformation: string;

    // @DataMember(Order=25)
    public PropertyCityCode: string;

    // @DataMember(Order=26)
    public SegmentStatus: string;

    // @DataMember(Order=27)
    public HotelVendorCode: string;

    public constructor(init?: Partial<HotelSegmentDepreciated>) { (Object as any).assign(this, init); }
}

// @DataContract(Namespace="schemas.agentivity.com/types")
export class PassiveSegment
{
    // @DataMember
    public SegmentStatus: string;

    // @DataMember
    public StartDate: string;

    // @DataMember
    public DepartureDate: string;

    // @DataMember
    public NbrNights: string;

    // @DataMember
    public VendorCode: string;

    // @DataMember
    public CityCode: string;

    // @DataMember
    public SegmentType: string;

    // @DataMember
    public Text: string;

    // @DataMember
    public Passenger: string;

    // @DataMember
    public Address: string;

    // @DataMember
    public BookingReasonCode: string;

    // @DataMember
    public BookingSource: string;

    // @DataMember
    public CommissionInformation: string;

    // @DataMember
    public ConfirmationNumber: string;

    // @DataMember
    public RateCode: string;

    // @DataMember
    public RateQuoted: string;

    // @DataMember
    public RateAccessCode: string;

    // @DataMember
    public PropertyName: string;

    // @DataMember
    public PropertyNumber: string;

    // @DataMember
    public ServiceInformation: string;

    public constructor(init?: Partial<PassiveSegment>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="Segments", Namespace="schemas.agentivity.com/types")
export class Segments
{
    // @DataMember(Order=2, EmitDefaultValue=false)
    public AirSegments: AirSegment[];

    // @DataMember(Order=3, EmitDefaultValue=false)
    public CarSegments: CarSegment[];

    // @DataMember(Order=4, EmitDefaultValue=false)
    public HotelSegments: HotelSegmentDepreciated[];

    // @DataMember(Order=5, EmitDefaultValue=false)
    public PassiveSegments: PassiveSegment[];

    public constructor(init?: Partial<Segments>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="PNRSegments", Namespace="schemas.agentivity.com/types")
export class PNRSegments
{
    // @DataMember(Order=10)
    public Summary: PNRSummary;

    // @DataMember(Order=20)
    public Segments: Segments;

    public constructor(init?: Partial<PNRSegments>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="CacheMetadata", Namespace="schemas.agentivity.com/types")
export class CacheMetadata
{
    // @DataMember(Order=1)
    public CachedAt: string;

    // @DataMember(Order=2)
    public CacheExpiresAt: string;

    // @DataMember(Order=0)
    public IsFromCache: boolean;

    public constructor(init?: Partial<CacheMetadata>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="ResponseMetadata", Namespace="schemas.agentivity.com/types")
export class ResponseMetadata
{
    // @DataMember(Order=0)
    public Success: boolean;

    // @DataMember(Order=1)
    public HasCache: boolean;

    // @DataMember(Order=2)
    public HasPaging: boolean;

    // @DataMember(Order=3, EmitDefaultValue=false)
    public CacheMetadata: CacheMetadata;

    // @DataMember(Order=4, EmitDefaultValue=false)
    public PagingMetadata: PagingMetadata;

    public constructor(init?: Partial<ResponseMetadata>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="ApiRequestPerHour", Namespace="schemas.agentivity.com/types")
export class ApiRequestPerHour
{
    // @DataMember(Order=10)
    public RequestDate: string;

    // @DataMember(Order=100)
    public Hour0: number;

    // @DataMember(Order=110)
    public Hour1: number;

    // @DataMember(Order=120)
    public Hour2: number;

    // @DataMember(Order=130)
    public Hour3: number;

    // @DataMember(Order=140)
    public Hour4: number;

    // @DataMember(Order=150)
    public Hour5: number;

    // @DataMember(Order=160)
    public Hour6: number;

    // @DataMember(Order=170)
    public Hour7: number;

    // @DataMember(Order=180)
    public Hour8: number;

    // @DataMember(Order=190)
    public Hour9: number;

    // @DataMember(Order=200)
    public Hour10: number;

    // @DataMember(Order=210)
    public Hour11: number;

    // @DataMember(Order=220)
    public Hour12: number;

    // @DataMember(Order=230)
    public Hour13: number;

    // @DataMember(Order=240)
    public Hour14: number;

    // @DataMember(Order=250)
    public Hour15: number;

    // @DataMember(Order=260)
    public Hour16: number;

    // @DataMember(Order=270)
    public Hour17: number;

    // @DataMember(Order=280)
    public Hour18: number;

    // @DataMember(Order=290)
    public Hour19: number;

    // @DataMember(Order=300)
    public Hour20: number;

    // @DataMember(Order=310)
    public Hour21: number;

    // @DataMember(Order=320)
    public Hour22: number;

    // @DataMember(Order=330)
    public Hour23: number;

    public constructor(init?: Partial<ApiRequestPerHour>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="ResponseMetadata", Namespace="schemas.agentivity.com/types")
export class AgentivityError
{
    // @DataMember
    public ErrorCode: string;

    // @DataMember
    public Message: string;

    // @DataMember
    public StatusCode: string;

    // @DataMember
    public VerboseMessage: string;

    public constructor(init?: Partial<AgentivityError>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="AgentivityResponse", Namespace="schemas.agentivity.com/types")
export class CollectionResponse<TItem>
{
    // @DataMember(Order=1)
    public ResponseMetadata: ResponseMetadata;

    // @DataMember(Order=2, EmitDefaultValue=false)
    public ResponseReport: ApiRequestPerHour[];

    // @DataMember(Order=3, EmitDefaultValue=false)
    public ResponseError: AgentivityError;

    public constructor(init?: Partial<CollectionResponse<TItem>>) { (Object as any).assign(this, init); }
}

// @DataContract(Name="AgentivityResponse", Namespace="schemas.agentivity.com/types")
export class GetPNRSegmentsResponse extends CollectionResponse<PNRSegments>
{

    public constructor(init?: Partial<GetPNRSegmentsResponse>) { super(init); (Object as any).assign(this, init); }
}

// @DataContract(Namespace="schemas.agentivity.com/types")
export class GetPNRSegments extends PagingMetadata
{
    /** @description Record locator */
    // @DataMember
    public RecordLocator: string;

    /** @description Date in format YYYYMMDD */
    // @DataMember
    public PNRCreationDate: string;

    /** @description Type of segment */
    // @DataMember
    public SegmentType: string[];

    /** @description Type of passive segment */
    // @DataMember
    public PassiveSegmentType: string[];

    public constructor(init?: Partial<GetPNRSegments>) { super(init); (Object as any).assign(this, init); }
}

TypeScript GetPNRSegments DTOs

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

HTTP + OTHER

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

GET /PNRSegments HTTP/1.1 
Host: api.agentivity.com 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
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":[{"Summary":{"RecordLocator":"String","AirlineReferences":[{"Vendor":"String","VendorLocator":"String"}],"Tickets":[{"TktNumber":"String","Passenger":{"LastName":"String","FirstName":"String"},"Coupons":[{"CouponSequenceNbr":"String","CouponBoardPoint":"String","CouponOffPoint":"String","Carrier":"String","FlightNbr":"String","FlightDate":"String","FlightTime":"String"}]}]},"Segments":{"AirSegments":[{"AirSegmentNbr":0,"SegmentStatus":"String","DepartureDate":"String","DepartureTime":"String","CarrierCode":"String","BoardPoint":"String","OffPoint":"String","FlightNbr":"String","BookingCode":"String","ArrivalTime":"String","ChangeOfDay":"String","ConnectionIndicator":"String","OperatingCarrierCode":"String","OperatingCarrierName":"String","JourneyTime":"String","NbrSeats":0,"SeatingData":[{"SeatLocation":"String","SeatStatusCode":"String"}]}],"CarSegments":[{"CarSegmentNbr":0,"SegmentStatus":"String","PickUpDate":"String","PickUpTime":"String","AirportCode":"String","CarLocationCategory":"String","DropOffDate":"String","DropOffTime":"String","ConfirmationNbr":"String","CarVendorCode":"String","CarRateType":"String","CarRateCode":"String","CarType":"String","CarYieldManagementNbr":"String","RateAmount":"String","RateGuaranteeIndicator":"String","MilesKilometerIndicator":"String","DistanceAllowance":"String","DistanceRateAmount":"String","CurrencyCode":"String","NbrOfCars":0}],"HotelSegments":[{"HotelSegmentNbr":"String","StatusCode":"String","ArrivalDate":"String","DepartureDate":"String","PropertyName":"String","ConfirmationNbr":"String","Currency":"String","Rate":"String","RoomBookingCode":"String","NbrNights":0,"MultiLevelRateCode":"String","NbrRooms":0,"BookedInName":"String","ServiceInformation":"String","PropertyCityCode":"String","SegmentStatus":"String","HotelVendorCode":"String"}],"PassiveSegments":[{"SegmentStatus":"String","StartDate":"String","DepartureDate":"String","NbrNights":"String","VendorCode":"String","CityCode":"String","SegmentType":"String","Text":"String","Passenger":"String","Address":"String","BookingReasonCode":"String","BookingSource":"String","CommissionInformation":"String","ConfirmationNumber":"String","RateCode":"String","RateQuoted":"String","RateAccessCode":"String","PropertyName":"String","PropertyNumber":"String","ServiceInformation":"String"}]}}],"ResponseError":{"ErrorCode":"String","Message":"String","StatusCode":"String","VerboseMessage":"String"}}