GET | /HotelSegments |
---|
namespace AgentivityAPI.ServiceModel
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<DataContract(Name="CustomField", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type CustomFieldData() =
[<DataMember(Order=20)>]
member val FieldName:String = null with get,set
[<DataMember(Order=30)>]
member val FieldValue:String = null with get,set
[<AllowNullLiteral>]
type CustomFieldsCollection() =
inherit ResizeArray<CustomFieldData>()
[<DataContract(Name="Segment", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type HotelSegment() =
[<DataMember(Order=10)>]
member val AgentivityRef:Int32 = new Int32() with get,set
[<DataMember(Order=15)>]
member val PNRCreationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember(Order=20)>]
member val HotelSegmentNbr:String = null with get,set
[<DataMember(Order=30)>]
member val RecordLocator:String = null with get,set
[<DataMember(Order=50)>]
member val OwningAgencyLocationID:String = null with get,set
[<DataMember(Order=60)>]
member val Account:String = null with get,set
[<DataMember(Order=70)>]
member val OwningConsultantID:String = null with get,set
[<DataMember(Order=80)>]
member val OwningConsultant:String = null with get,set
[<DataMember(Order=90)>]
member val StatusCode:String = null with get,set
[<DataMember(Order=95)>]
member val SegmentCreationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember(Order=100)>]
member val ArrivalDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember(Order=110)>]
member val DepartureDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataMember(Order=120)>]
member val NbrNights:Int32 = new Int32() with get,set
[<DataMember(Order=130)>]
member val VendorCode:String = null with get,set
[<DataMember(Order=140)>]
member val PropertyName:String = null with get,set
[<DataMember(Order=150)>]
member val PropertyNbr:String = null with get,set
[<DataMember(Order=160)>]
member val PropertyAddress:String = null with get,set
[<DataMember(Order=145)>]
member val PropertyPhoneNbr:String = null with get,set
[<DataMember(Order=170)>]
member val CityCode:String = null with get,set
[<DataMember(Order=170)>]
member val CityName:String = null with get,set
[<DataMember(Order=180)>]
member val CountryCode:String = null with get,set
[<DataMember(Order=190)>]
member val CountryName:String = null with get,set
[<DataMember(Order=200)>]
member val Passenger:String = null with get,set
[<DataMember(Order=210)>]
member val ConfirmationNbr:String = null with get,set
[<DataMember(Order=220)>]
member val RateAccessCode:String = null with get,set
[<DataMember(Order=230)>]
member val RoomBookingCode:String = null with get,set
[<DataMember(Order=240)>]
member val CurrencyCode:String = null with get,set
[<DataMember(Order=250)>]
member val RateAmount:String = null with get,set
[<DataMember(Order=260)>]
member val NbrRooms:Int32 = new Int32() with get,set
[<DataMember(Order=270)>]
member val BookedInName:String = null with get,set
[<DataMember(Order=275)>]
member val ServiceInformation:String = null with get,set
[<DataMember(Order=280)>]
member val TotalAirSegs:String = null with get,set
[<DataMember(Order=290)>]
member val CreatingAgencyIata:String = null with get,set
[<DataMember(Order=310)>]
member val IsCommissionable:Nullable<Boolean> = new Nullable<Boolean>() with get,set
[<DataMember(Order=320)>]
member val Commission:String = null with get,set
[<DataMember(Order=330)>]
member val IsPassive:Boolean = new Boolean() with get,set
[<DataMember(Order=340)>]
member val CustomFields:CustomFieldsCollection = null with get,set
[<DataMember(Order=350)>]
member val HotelNotepad:String = null with get,set
[<DataContract(Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type Report<TItemResponse, TItem>() =
[<DataMember(Order=1, EmitDefaultValue=false)>]
member val Item:TItem = null with get,set
[<DataContract(Name="HotelSegment", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type HotelSegmentsResponseReport() =
inherit Report<HotelSegmentsItemResponse, HotelSegment>()
[<DataContract(Name="CacheMetadata", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type CacheMetadata() =
[<DataMember(Order=1)>]
member val CachedAt:DateTime = new DateTime() with get,set
[<DataMember(Order=2)>]
member val CacheExpiresAt:DateTime = new DateTime() with get,set
[<DataMember(Order=0)>]
member val IsFromCache:Boolean = new Boolean() with get,set
[<DataContract(Name="Metadata", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type PagingMetadata() =
///<summary>
///Starting Record
///</summary>
[<DataMember>]
[<ApiMember(DataType="string", Description="Starting Record", Name="Offset", ParameterType="query")>]
member val Offset:String = null with get,set
///<summary>
///Number of records to return (PageSize)
///</summary>
[<DataMember>]
[<ApiMember(DataType="string", Description="Number of records to return (PageSize)", Name="Limit", ParameterType="query")>]
member val Limit:String = null with get,set
///<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")>]
member val TotalRecords:Int32 = new Int32() with get,set
///<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")>]
member val ResponseRecords:Int32 = new Int32() with get,set
[<DataContract(Name="ResponseMetadata", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type ResponseMetadata() =
[<DataMember(Order=0)>]
member val Success:Boolean = new Boolean() with get,set
[<DataMember(Order=1)>]
member val HasCache:Boolean = new Boolean() with get,set
[<DataMember(Order=2)>]
member val HasPaging:Boolean = new Boolean() with get,set
[<DataMember(Order=3, EmitDefaultValue=false)>]
member val CacheMetadata:CacheMetadata = null with get,set
[<DataMember(Order=4, EmitDefaultValue=false)>]
member val PagingMetadata:PagingMetadata = null with get,set
[<DataContract(Name="ResponseMetadata", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type AgentivityError() =
[<DataMember>]
member val ErrorCode:String = null with get,set
[<DataMember>]
member val Message:String = null with get,set
[<DataMember>]
member val StatusCode:String = null with get,set
[<DataMember>]
member val VerboseMessage:String = null with get,set
[<DataContract(Name="AgentivityResponse", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type ItemResponse<TItem, TReport>() =
[<DataMember(Order=1)>]
member val ResponseMetadata:ResponseMetadata = null with get,set
[<DataMember(Order=2, EmitDefaultValue=false)>]
member val ResponseReport:TReport = null with get,set
[<DataMember(Order=3, EmitDefaultValue=false)>]
member val ResponseError:AgentivityError = null with get,set
[<DataContract(Name="AgentivityResponse", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type HotelSegmentsItemResponse() =
inherit ItemResponse<HotelSegment, HotelSegmentsResponseReport>()
[<DataContract(Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type CompanyLevelRequestBase() =
inherit PagingMetadata()
///<summary>
///Comma Delimited List of Owning Company Codes
///</summary>
[<DataMember>]
member val OwningCompanyCode:String[] = null with get,set
///<summary>
///UserName in form of an email address
///</summary>
[<DataMember>]
member val UserName:String = null with get,set
[<DataContract(Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type GetHotelSegments() =
inherit CompanyLevelRequestBase()
///<summary>
///Date in format YYYYMMDD
///</summary>
[<DataMember>]
member val DateStart:String = null with get,set
///<summary>
///Date in format YYYYMMDD
///</summary>
[<DataMember>]
member val DateEnd:String = null with get,set
///<summary>
///Comma Delimited List of Accounts
///</summary>
[<DataMember>]
member val Account:String[] = null with get,set
///<summary>
///3 letter city code
///</summary>
[<DataMember>]
member val CityCode:String = null with get,set
///<summary>
///Include Notepad Entry: 1=Yes
///</summary>
[<DataMember>]
member val WithNotepad:String = null with get,set
///<summary>
///Comma Delimited List of PCCs
///</summary>
[<DataMember>]
member val OwningAgencyLocationID:String[] = null with get,set
///<summary>
///Comma Delimited List of CountryCodes
///</summary>
[<DataMember>]
member val OwningAgencyCountryCode:String[] = null with get,set
///<summary>
///Date search type option, a single character (A to search by Arrival dates, C to search by booking creation dates, S to search by segment creation dates).
///</summary>
[<DataMember>]
member val DateSearchType:String = null with get,set
///<summary>
///IsGDS=0 (bookings from Non-GDS eg Supplier Direct). IsGDS=1 (bookings from GDS).
///</summary>
[<DataMember>]
member val IsGDS:String = null with get,set
///<summary>
///IsPassive=0 (only include non-passive segments). IsPassive=1 (only include passive segments).
///</summary>
[<DataMember>]
member val IsPassive:String = null with get,set
///<summary>
///Comma Delimited List of Custom Fields
///</summary>
[<DataMember>]
member val CustomField:String[] = null with get,set
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 /HotelSegments 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> <AgentivityRef>0</AgentivityRef> <PNRCreationDate>0001-01-01T00:00:00</PNRCreationDate> <HotelSegmentNbr>String</HotelSegmentNbr> <RecordLocator>String</RecordLocator> <OwningAgencyLocationID>String</OwningAgencyLocationID> <Account>String</Account> <OwningConsultantID>String</OwningConsultantID> <OwningConsultant>String</OwningConsultant> <StatusCode>String</StatusCode> <SegmentCreationDate>0001-01-01T00:00:00</SegmentCreationDate> <ArrivalDate>0001-01-01T00:00:00</ArrivalDate> <DepartureDate>0001-01-01T00:00:00</DepartureDate> <NbrNights>0</NbrNights> <VendorCode>String</VendorCode> <PropertyName>String</PropertyName> <PropertyPhoneNbr>String</PropertyPhoneNbr> <PropertyNbr>String</PropertyNbr> <PropertyAddress>String</PropertyAddress> <CityCode>String</CityCode> <CityName>String</CityName> <CountryCode>String</CountryCode> <CountryName>String</CountryName> <Passenger>String</Passenger> <ConfirmationNbr>String</ConfirmationNbr> <RateAccessCode>String</RateAccessCode> <RoomBookingCode>String</RoomBookingCode> <CurrencyCode>String</CurrencyCode> <RateAmount>String</RateAmount> <NbrRooms>0</NbrRooms> <BookedInName>String</BookedInName> <ServiceInformation>String</ServiceInformation> <TotalAirSegs>String</TotalAirSegs> <CreatingAgencyIata>String</CreatingAgencyIata> <IsCommissionable>false</IsCommissionable> <Commission>String</Commission> <IsPassive>false</IsPassive> <CustomFields> <CustomField> <FieldName>String</FieldName> <FieldValue>String</FieldValue> </CustomField> </CustomFields> <HotelNotepad>String</HotelNotepad> </Item> </ResponseReport> <ResponseError> <ErrorCode>String</ErrorCode> <Message>String</Message> <StatusCode>String</StatusCode> <VerboseMessage>String</VerboseMessage> </ResponseError> </AgentivityResponse>