| 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: servicestack.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>