All Verbs | /PNRInformation |
---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports AgentivityAPI.ServiceModelInternal
Imports AgentivityAPI.ServiceModel.Types
Imports AgentivityAPI.ServiceModel
Namespace Global
Namespace AgentivityAPI.ServiceModel
<DataContract(Name:="AgentivityResponse", Namespace:="schemas.agentivity.com/types")>
Public Partial Class CollectionResponse(Of TItem)
<DataMember(Order:=1)>
Public Overridable Property ResponseMetadata As ResponseMetadata
<DataMember(Order:=2, EmitDefaultValue:=false)>
Public Overridable Property ResponseReport As List(Of ApiRequestPerHour)
<DataMember(Order:=3, EmitDefaultValue:=false)>
Public Overridable Property ResponseError As AgentivityError
End Class
End Namespace
Namespace AgentivityAPI.ServiceModel.Types
<DataContract(Name:="ResponseMetadata", Namespace:="schemas.agentivity.com/types")>
Public Partial Class AgentivityError
<DataMember>
Public Overridable Property ErrorCode As String
<DataMember>
Public Overridable Property Message As String
<DataMember>
Public Overridable Property StatusCode As String
<DataMember>
Public Overridable Property VerboseMessage As String
End Class
<DataContract(Name:="ApiRequestPerHour", Namespace:="schemas.agentivity.com/types")>
Public Partial Class ApiRequestPerHour
<DataMember(Order:=10)>
Public Overridable Property RequestDate As Date
<DataMember(Order:=100)>
Public Overridable Property Hour0 As Integer
<DataMember(Order:=110)>
Public Overridable Property Hour1 As Integer
<DataMember(Order:=120)>
Public Overridable Property Hour2 As Integer
<DataMember(Order:=130)>
Public Overridable Property Hour3 As Integer
<DataMember(Order:=140)>
Public Overridable Property Hour4 As Integer
<DataMember(Order:=150)>
Public Overridable Property Hour5 As Integer
<DataMember(Order:=160)>
Public Overridable Property Hour6 As Integer
<DataMember(Order:=170)>
Public Overridable Property Hour7 As Integer
<DataMember(Order:=180)>
Public Overridable Property Hour8 As Integer
<DataMember(Order:=190)>
Public Overridable Property Hour9 As Integer
<DataMember(Order:=200)>
Public Overridable Property Hour10 As Integer
<DataMember(Order:=210)>
Public Overridable Property Hour11 As Integer
<DataMember(Order:=220)>
Public Overridable Property Hour12 As Integer
<DataMember(Order:=230)>
Public Overridable Property Hour13 As Integer
<DataMember(Order:=240)>
Public Overridable Property Hour14 As Integer
<DataMember(Order:=250)>
Public Overridable Property Hour15 As Integer
<DataMember(Order:=260)>
Public Overridable Property Hour16 As Integer
<DataMember(Order:=270)>
Public Overridable Property Hour17 As Integer
<DataMember(Order:=280)>
Public Overridable Property Hour18 As Integer
<DataMember(Order:=290)>
Public Overridable Property Hour19 As Integer
<DataMember(Order:=300)>
Public Overridable Property Hour20 As Integer
<DataMember(Order:=310)>
Public Overridable Property Hour21 As Integer
<DataMember(Order:=320)>
Public Overridable Property Hour22 As Integer
<DataMember(Order:=330)>
Public Overridable Property Hour23 As Integer
End Class
<DataContract(Name:="CacheMetadata", Namespace:="schemas.agentivity.com/types")>
Public Partial Class CacheMetadata
<DataMember(Order:=1)>
Public Overridable Property CachedAt As Date
<DataMember(Order:=2)>
Public Overridable Property CacheExpiresAt As Date
<DataMember(Order:=0)>
Public Overridable Property IsFromCache As Boolean
End Class
<DataContract(Name:="Metadata", Namespace:="schemas.agentivity.com/types")>
Public Partial Class PagingMetadata
'''<Summary>
'''Starting Record
'''</Summary>
<DataMember>
<ApiMember(DataType:="string", Description:="Starting Record", Name:="Offset", ParameterType:="query")>
Public Overridable Property Offset As String
'''<Summary>
'''Number of records to return (PageSize)
'''</Summary>
<DataMember>
<ApiMember(DataType:="string", Description:="Number of records to return (PageSize)", Name:="Limit", ParameterType:="query")>
Public Overridable Property Limit As String
'''<Summary>
'''Total Number of Records in a Full Reponse (if no paging)
'''</Summary>
<DataMember>
<ApiMember(DataType:="string", Description:="Total Number of Records in a Full Reponse (if no paging)", Name:="TotalRecords", ParameterType:="query")>
Public Overridable Property TotalRecords As Integer
'''<Summary>
'''Total Number of Records in this Reponse (on this page)
'''</Summary>
<DataMember>
<ApiMember(DataType:="string", Description:="Total Number of Records in this Reponse (on this page)", Name:="ResponseRecords", ParameterType:="query")>
Public Overridable Property ResponseRecords As Integer
End Class
<DataContract(Name:="ResponseMetadata", Namespace:="schemas.agentivity.com/types")>
Public Partial Class ResponseMetadata
<DataMember(Order:=0)>
Public Overridable Property Success As Boolean
<DataMember(Order:=1)>
Public Overridable Property HasCache As Boolean
<DataMember(Order:=2)>
Public Overridable Property HasPaging As Boolean
<DataMember(Order:=3, EmitDefaultValue:=false)>
Public Overridable Property CacheMetadata As CacheMetadata
<DataMember(Order:=4, EmitDefaultValue:=false)>
Public Overridable Property PagingMetadata As PagingMetadata
End Class
End Namespace
Namespace AgentivityAPI.ServiceModelInternal
<DataContract(Namespace:="schemas.agentivity.com/types")>
Public Partial Class GetPnrInfo
Inherits PagingMetadata
Implements IRequestConsultantID
'''<Summary>
'''Record locator
'''</Summary>
<DataMember>
Public Overridable Property RecordLocator As String
'''<Summary>
'''Date in format YYYYMMDD
'''</Summary>
<DataMember>
Public Overridable Property PNRCreationDate As String
'''<Summary>
'''Request Consultant ID (sign on)
'''</Summary>
<DataMember>
Public Overridable Property RequestConsultantID As String Implements IRequestConsultantID.RequestConsultantID
End Class
<DataContract(Name:="AgentivityResponse", Namespace:="schemas.agentivity.com/types")>
Public Partial Class GetPnrInfoResponse
Inherits CollectionResponse(Of PnrInfo)
End Class
<DataContract(Name:="PNRInformation", Namespace:="schemas.agentivity.com/types")>
Public Partial Class PnrInfo
<DataMember(Order:=10)>
Public Overridable Property AgentivityRef As Integer?
<DataMember(Order:=20)>
Public Overridable Property RecordLocator As String
<DataMember(Order:=30)>
Public Overridable Property PNRCreationDate As Date?
<DataMember(Order:=35)>
Public Overridable Property PNRTicketed As String
<DataMember(Order:=40)>
Public Overridable Property OwningConsultantID As String
<DataMember(Order:=45)>
Public Overridable Property OwningConsultant As String
<DataMember(Order:=50)>
Public Overridable Property OwningAgencyLocationID As String
<DataMember(Order:=60)>
Public Overridable Property Account As String
<DataMember(Order:=80)>
Public Overridable Property HasDocs As Boolean
<DataMember(Order:=90)>
Public Overridable Property CountryCount As Integer
<DataMember(Order:=100)>
Public Overridable Property Mobile As String
<DataMember(Order:=110)>
Public Overridable Property CTCMMobile As String
<DataMember(Order:=120)>
Public Overridable Property CTCE As String
<DataMember(Order:=200)>
Public Overridable Property OutOfHoursServicedIndicator As Integer
<DataMember(Order:=210)>
Public Overridable Property ChangeCount As Integer
<DataMember(Order:=220)>
Public Overridable Property ItineraryChanges As Integer
<DataMember(Order:=230)>
Public Overridable Property TripID As String
<DataMember(Order:=235)>
Public Overridable Property AirlineTicketingDues As List(Of PnrInfoAirlineTicketingDue)
<DataMember(Order:=240)>
Public Overridable Property AgentivityWarnings As List(Of PnrInfoAgentivityWarning)
<DataMember(Order:=250)>
Public Overridable Property Cabin As String
<DataMember(Order:=300)>
Public Overridable Property SuspectedDupeCount As Integer
<DataMember(Order:=310)>
Public Overridable Property SuspectedDupes As List(Of PnrInfoSuspectedDuplicate)
<DataMember(Order:=320)>
Public Overridable Property CarbonTonnage As Double?
<DataMember(Order:=330)>
Public Overridable Property TravellerGUID As String
End Class
<DataContract(Name:="Warning", Namespace:="schemas.agentivity.com/types")>
Public Partial Class PnrInfoAgentivityWarning
<DataMember(Order:=10)>
Public Overridable Property Message As String
<DataMember(Order:=20)>
Public Overridable Property Vendor As String
<DataMember(Order:=30)>
Public Overridable Property Timestamp As Date?
<DataMember(Order:=40)>
Public Overridable Property Details As String
End Class
<DataContract(Name:="TicketingDue", Namespace:="schemas.agentivity.com/types")>
Public Partial Class PnrInfoAirlineTicketingDue
<DataMember(Order:=10)>
Public Overridable Property Airline As String
<DataMember(Order:=20)>
Public Overridable Property DueDate As Date?
<DataMember(Order:=30)>
Public Overridable Property DueTime As String
End Class
<DataContract(Name:="SuspectedDupe", Namespace:="schemas.agentivity.com/types")>
Public Partial Class PnrInfoSuspectedDuplicate
<DataMember(Order:=10)>
Public Overridable Property AgentivityRef As Integer
<DataMember(Order:=20)>
Public Overridable Property RecordLocator As String
<DataMember(Order:=30)>
Public Overridable Property PNRCreationDate As Date?
<DataMember(Order:=40)>
Public Overridable Property DestinationCities As String
<DataMember(Order:=50)>
Public Overridable Property Ticketed As String
End Class
End Namespace
End Namespace
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 /PNRInformation HTTP/1.1
Host: api.agentivity.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetPnrInfo 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>
<PNRCreationDate>String</PNRCreationDate>
<RecordLocator>String</RecordLocator>
<RequestConsultantID>String</RequestConsultantID>
</GetPnrInfo>
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> <PNRInformation> <AgentivityRef>0</AgentivityRef> <RecordLocator>String</RecordLocator> <PNRCreationDate>0001-01-01T00:00:00</PNRCreationDate> <PNRTicketed>String</PNRTicketed> <OwningConsultantID>String</OwningConsultantID> <OwningConsultant>String</OwningConsultant> <OwningAgencyLocationID>String</OwningAgencyLocationID> <Account>String</Account> <HasDocs>false</HasDocs> <CountryCount>0</CountryCount> <Mobile>String</Mobile> <CTCMMobile>String</CTCMMobile> <CTCE>String</CTCE> <OutOfHoursServicedIndicator>0</OutOfHoursServicedIndicator> <ChangeCount>0</ChangeCount> <ItineraryChanges>0</ItineraryChanges> <TripID>String</TripID> <AirlineTicketingDues> <TicketingDue> <Airline>String</Airline> <DueDate>0001-01-01T00:00:00</DueDate> <DueTime>String</DueTime> </TicketingDue> </AirlineTicketingDues> <AgentivityWarnings> <Warning> <Message>String</Message> <Vendor>String</Vendor> <Timestamp>0001-01-01T00:00:00</Timestamp> <Details>String</Details> </Warning> </AgentivityWarnings> <Cabin>String</Cabin> <SuspectedDupeCount>0</SuspectedDupeCount> <SuspectedDupes> <SuspectedDupe> <AgentivityRef>0</AgentivityRef> <RecordLocator>String</RecordLocator> <PNRCreationDate>0001-01-01T00:00:00</PNRCreationDate> <DestinationCities>String</DestinationCities> <Ticketed>String</Ticketed> </SuspectedDupe> </SuspectedDupes> <CarbonTonnage>0</CarbonTonnage> <TravellerGUID>String</TravellerGUID> </PNRInformation> </ResponseReport> <ResponseError> <ErrorCode>String</ErrorCode> <Message>String</Message> <StatusCode>String</StatusCode> <VerboseMessage>String</VerboseMessage> </ResponseError> </AgentivityResponse>