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 .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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/json
HTTP/1.1 200 OK Content-Type: application/json 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,"PNRCreationDate":"\/Date(-62135596800000-0000)\/","HotelSegmentNbr":"String","RecordLocator":"String","OwningAgencyLocationID":"String","Account":"String","OwningConsultantID":"String","OwningConsultant":"String","StatusCode":"String","SegmentCreationDate":"\/Date(-62135596800000-0000)\/","ArrivalDate":"\/Date(-62135596800000-0000)\/","DepartureDate":"\/Date(-62135596800000-0000)\/","NbrNights":0,"VendorCode":"String","PropertyName":"String","PropertyPhoneNbr":"String","PropertyNbr":"String","PropertyAddress":"String","CityCode":"String","CityName":"String","CountryCode":"String","CountryName":"String","Passenger":"String","ConfirmationNbr":"String","RateAccessCode":"String","RoomBookingCode":"String","CurrencyCode":"String","RateAmount":"String","NbrRooms":0,"BookedInName":"String","ServiceInformation":"String","TotalAirSegs":"String","CreatingAgencyIata":"String","IsCommissionable":false,"Commission":"String","IsPassive":false,"CustomFields":[{"FieldName":"String","FieldValue":"String"}],"HotelNotepad":"String"}},"ResponseError":{"ErrorCode":"String","Message":"String","StatusCode":"String","VerboseMessage":"String"}}