Agentivity API

<back to all web services

BookingDetailsByRef

The following routes are available for this service:
GET/BookingDetails
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="FrequentFlyer", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type FrequentFlyerDetails() = 
        [<DataMember(Order=10)>]
        member val Vendor:String = null with get,set

        [<DataMember(Order=20)>]
        member val Number:String = null with get,set

        [<DataMember(Order=30)>]
        member val FullNumber:String = null with get,set

    [<DataContract(Name="Passenger", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type PassengerDetails() = 
        [<DataMember(Order=10)>]
        member val Id:Int32 = new Int32() with get,set

        [<DataMember(Order=20)>]
        member val FirstName:String = null with get,set

        [<DataMember(Order=30)>]
        member val LastName:String = null with get,set

        [<DataMember(Order=40)>]
        member val FrequentFlyers:ResizeArray<FrequentFlyerDetails> = null with get,set

        [<DataMember(Order=50)>]
        member val SequenceNbr:Int32 = new Int32() with get,set

        [<DataMember(Order=60)>]
        member val LastNameElement:Int32 = new Int32() with get,set

        [<DataMember(Order=70)>]
        member val IsVip:Boolean = new Boolean() with get,set

        [<DataMember(Order=80)>]
        member val TravellerGUID:String = null with get,set

    [<DataContract(Name="Phone", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingPhone() = 
        [<DataMember(Order=10)>]
        member val PhoneType:String = null with get,set

        [<DataMember(Order=20)>]
        member val City:String = null with get,set

        [<DataMember(Order=30)>]
        member val Number:String = null with get,set

        [<DataMember(Order=40)>]
        member val SequenceNbr:Int32 = new Int32() with get,set

    [<DataContract(Name="Notepad", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingNotepad() = 
        [<DataMember(Order=10)>]
        member val Remark:String = null with get,set

        [<DataMember(Order=20)>]
        member val CreatedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=30)>]
        member val CreatedTime:String = null with get,set

        [<DataMember(Order=30)>]
        member val Qualifier:String = null with get,set

        [<DataMember(Order=40)>]
        member val SequenceNbr:Int32 = new Int32() with get,set

    [<DataContract(Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type VendorRemarkBase() = 
        [<DataMember>]
        member val TravelOrderIdentifier:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val RmkNum:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember>]
        member val DateStamp:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember>]
        member val TimeStamp:String = null with get,set

        [<DataMember>]
        member val RemarkType:String = null with get,set

        [<DataMember>]
        member val VendorType:String = null with get,set

        [<DataMember>]
        member val Vendor:String = null with get,set

        [<DataMember>]
        member val Remark:String = null with get,set

    [<DataContract(Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type VendorRemark() = 
        inherit VendorRemarkBase()
        [<DataMember>]
        member val VendorRemarkID:Int32 = new Int32() with get,set

    [<DataContract(Name="DIEntry", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type DiEntry() = 
        [<DataMember(Order=10)>]
        member val SequenceNbr:Int32 = new Int32() with get,set

        [<DataMember(Order=20)>]
        member val Keyword:String = null with get,set

        [<DataMember(Order=30)>]
        member val Remark:String = null with get,set

    [<DataContract(Name="Ticket", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingTicket() = 
        [<DataMember(Order=10)>]
        member val SegmentNbr:Int32 = new Int32() with get,set

        [<DataMember(Order=20)>]
        member val TicketNumber:String = null with get,set

        [<DataMember(Order=30)>]
        member val TicketType:String = null with get,set

        [<DataMember(Order=40)>]
        member val TicketDetailsAvailable:Boolean = new Boolean() with get,set

    [<DataContract(Name="Version", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingVersion() = 
        [<DataMember(Order=10)>]
        member val AgentivityRef:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=20)>]
        member val DataBaseTimeStamp:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=30)>]
        member val EventType:String = null with get,set

        [<DataMember(Order=40)>]
        member val PnrTicketed:String = null with get,set

        [<DataMember(Order=50)>]
        member val LastActionAgentId:String = null with get,set

        [<DataMember(Order=60)>]
        member val AirSegs:Int32 = new Int32() with get,set

        [<DataMember(Order=70)>]
        member val AirPSegs:Int32 = new Int32() with get,set

        [<DataMember(Order=80)>]
        member val HtlSegs:Int32 = new Int32() with get,set

        [<DataMember(Order=90)>]
        member val HtlPSegs:Int32 = new Int32() with get,set

        [<DataMember(Order=100)>]
        member val CarSegs:Int32 = new Int32() with get,set

        [<DataMember(Order=110)>]
        member val CarPSegs:Int32 = new Int32() with get,set

        [<DataMember(Order=120)>]
        member val TrnPSegs:Int32 = new Int32() with get,set

        [<DataMember(Order=130)>]
        member val OwningAgencyLocationID:String = null with get,set

    [<DataContract(Name="VendorLocator", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingVendorLocator() = 
        [<DataMember(Order=10)>]
        member val AirSegmentNbr:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=20)>]
        member val CarrierCode:String = null with get,set

        [<DataMember(Order=30)>]
        member val VendorLocator:String = null with get,set

    [<DataContract(Name="CustomFieldValue", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type CustomFieldValue() = 
        [<DataMember(Order=10)>]
        member val PNRPropertiesCustomFieldID:String = null with get,set

        [<DataMember(Order=20)>]
        member val RecordLocator:String = null with get,set

        [<DataMember(Order=30)>]
        member val PNRCreationDate:DateTime = new DateTime() with get,set

        [<DataMember(Order=40)>]
        member val FieldName:String = null with get,set

        [<DataMember(Order=50)>]
        member val FieldValue:String = null with get,set

        [<DataMember(Order=60)>]
        member val CustomFieldID:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=70)>]
        member val CreationDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=80)>]
        member val ElementNumber:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=90)>]
        member val GDS:String = null with get,set

    [<DataContract(Name="Email", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingEmail() = 
        [<DataMember(Order=10)>]
        member val SequenceNbr:Int32 = new Int32() with get,set

        [<DataMember(Order=20)>]
        member val EmailType:String = null with get,set

        [<DataMember(Order=30)>]
        member val Email:String = null with get,set

    [<DataContract(Name="EventDetail", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingEventDetail() = 
        [<DataMember(Order=10)>]
        member val ItineraryEventTypeDetailID:Int32 = new Int32() with get,set

        [<DataMember(Order=20)>]
        member val AgentivityRef:Int32 = new Int32() with get,set

        [<DataMember(Order=30)>]
        member val EventTypeDetail:String = null with get,set

        [<DataMember(Order=40)>]
        member val OldData:String = null with get,set

        [<DataMember(Order=50)>]
        member val NewData:String = null with get,set

        [<DataMember(Order=60)>]
        member val DateTimeStamp:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=70)>]
        member val EventTypeDetailID:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<DataContract(Name="AccountLocation", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingAccountLocation() = 
        [<DataMember(Order=10)>]
        member val PrimaryAccountLocation:String = null with get,set

        [<DataMember(Order=20)>]
        member val SecondaryAccountLocation:String = null with get,set

        [<DataMember(Order=30)>]
        member val Valid:Boolean = new Boolean() with get,set

        [<DataMember(Order=40)>]
        member val ExactMatch:Boolean = new Boolean() with get,set

        [<DataMember(Order=50)>]
        member val GDS:String = null with get,set

    [<DataContract(Name="BookingEmailTrail", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingEmailTrail() = 
        [<DataMember(Order=10)>]
        member val RecipientEmail:String = null with get,set

        [<DataMember(Order=20)>]
        member val DeliveryDetails:String = null with get,set

        [<DataMember(Order=30)>]
        member val MailSentDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=40)>]
        member val RecipientLastActivityEvent:String = null with get,set

        [<DataMember(Order=50)>]
        member val EmailId:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=60)>]
        member val UserId:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=70)>]
        member val SentResponseMessage:String = null with get,set

        [<DataMember(Order=80)>]
        member val SentResponseErrorCode:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=90)>]
        member val DeliveredBookingID:Int32 = new Int32() with get,set

    [<DataContract(Name="Property", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingWarningProperty() = 
        [<DataMember(Order=10)>]
        member val Name:String = null with get,set

        [<DataMember(Order=20)>]
        member val Value:String = null with get,set

    [<DataContract(Name="Warning", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingDetailsWarning() = 
        [<DataMember(Order=10)>]
        member val Message:String = null with get,set

        [<DataMember(Order=20)>]
        member val Vendor:String = null with get,set

        [<DataMember(Order=30)>]
        member val WarningDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=40)>]
        member val OriginalRemark:String = null with get,set

        [<DataMember(Order=50)>]
        member val ClearedDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=60)>]
        member val ClearedByConsultantID:String = null with get,set

        [<DataMember(Order=70)>]
        member val PropertiesList:ResizeArray<BookingWarningProperty> = null with get,set

    [<DataContract(Name="TicketingDue", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingDetailsAirTicketingDue() = 
        [<DataMember(Order=10)>]
        member val Airline:String = null with get,set

        [<DataMember(Order=20)>]
        member val DueDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=30)>]
        member val DueTime:String = null with get,set

    [<DataContract(Name="MeasurementUnit", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type MeasurementUnit() = 
        [<DataMember(Order=10)>]
        member val Id:Int16 = new Int16() with get,set

        [<DataMember(Order=20)>]
        member val Symbol:String = null with get,set

        [<DataMember(Order=30)>]
        member val Name:String = null with get,set

    [<DataContract(Name="AssessmentProvider", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type AssessmentProvider() = 
        [<DataMember(Order=10)>]
        member val Id:Int16 = new Int16() with get,set

        [<DataMember(Order=20)>]
        member val Name:String = null with get,set

        [<DataMember(Order=30)>]
        member val Description:String = null with get,set

        [<DataMember(Order=40)>]
        member val LogoPath:String = null with get,set

    [<DataContract(Name="CarbonCalculationDetails", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type CarbonCalculationDetails() = 
        [<DataMember(Order=10)>]
        member val Id:Int16 = new Int16() with get,set

        [<DataMember(Order=20)>]
        member val Name:String = null with get,set

    [<DataContract(Name="CarbonEmission", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type CarbonEmission() = 
        [<DataMember(Order=10)>]
        member val Value:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember(Order=20)>]
        member val Unit:MeasurementUnit = null with get,set

        [<DataMember(Order=30)>]
        member val Provider:AssessmentProvider = null with get,set

        [<DataMember(Order=40)>]
        member val CalculationDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=50)>]
        member val CalculationDetails:CarbonCalculationDetails = null with get,set

    [<DataContract(Name="ItinerarySegment", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type ItinerarySegment() = 
        [<DataMember>]
        member val SegmentType:String = null with get,set

        [<DataMember>]
        member val SegmentNbr:Int32 = new Int32() with get,set

        [<DataMember>]
        member val BoardPoint:String = null with get,set

        [<DataMember>]
        member val OffPoint:String = null with get,set

        [<DataMember>]
        member val OperatorCode:String = null with get,set

        [<DataMember>]
        member val OperatorService:String = null with get,set

        [<DataMember>]
        member val SegmentStatus:String = null with get,set

        [<DataMember>]
        member val DepartureTimeFormatted:String = null with get,set

        [<DataMember>]
        member val ArrivalTimeFormatted:String = null with get,set

        [<DataMember>]
        member val ChangeOfDayFormatted:String = null with get,set

        [<DataMember>]
        member val ServiceCode:String = null with get,set

        [<DataMember>]
        member val StartDate:String = null with get,set

        [<DataMember>]
        member val EndDate:String = null with get,set

        [<DataMember>]
        member val TicketNumber:String = null with get,set

        ///<summary>
        ///Comma separated list of vendor locators
        ///</summary>
        [<DataMember>]
        member val VendorLocators:String = null with get,set

        [<DataMember>]
        member val EquipmentCode:String = null with get,set

        [<DataMember>]
        member val Equipment:String = null with get,set

    [<AllowNullLiteral>]
    type ItinerarySegmentsCollection() = 
        inherit ResizeArray<ItinerarySegment>()

    [<DataContract(Name="BookingDetails", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingDetails() = 
        [<DataMember(Order=20)>]
        member val RecordLocator:String = null with get,set

        [<DataMember(Order=30)>]
        member val PNRCreationDate:String = null with get,set

        [<DataMember(Order=35)>]
        member val CreationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=40)>]
        member val PNRTicketed:String = null with get,set

        [<DataMember(Order=50)>]
        member val Account:String = null with get,set

        [<DataMember(Order=60)>]
        member val OwningConsultantID:String = null with get,set

        [<DataMember(Order=70)>]
        member val OwningConsultant:String = null with get,set

        [<DataMember(Order=80)>]
        member val CrsDescription:String = null with get,set

        [<DataMember(Order=90)>]
        member val LastActionConsultantID:String = null with get,set

        [<DataMember(Order=100)>]
        member val LastActionAgencyLocationID:String = null with get,set

        [<DataMember(Order=110)>]
        member val OwningAgencyLocationID:String = null with get,set

        [<DataMember(Order=120)>]
        member val CreatingAgencyIata:String = null with get,set

        [<DataMember(Order=130)>]
        member val CompanyID:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=200)>]
        member val Passengers:ResizeArray<PassengerDetails> = null with get,set

        [<DataMember(Order=210)>]
        member val Phones:ResizeArray<BookingPhone> = null with get,set

        [<DataMember(Order=220)>]
        member val Notepads:ResizeArray<BookingNotepad> = null with get,set

        [<DataMember(Order=230)>]
        member val VendorRemarks:ResizeArray<VendorRemark> = null with get,set

        [<DataMember(Order=240)>]
        member val DiEntries:ResizeArray<DiEntry> = null with get,set

        [<DataMember(Order=250)>]
        member val Tickets:ResizeArray<BookingTicket> = null with get,set

        [<DataMember(Order=260)>]
        member val Versions:ResizeArray<BookingVersion> = null with get,set

        [<DataMember(Order=270)>]
        member val VendorLocators:ResizeArray<BookingVendorLocator> = null with get,set

        [<DataMember(Order=280)>]
        member val CustomFields:ResizeArray<CustomFieldValue> = null with get,set

        [<DataMember(Order=290)>]
        member val Emails:ResizeArray<BookingEmail> = null with get,set

        [<DataMember(Order=300)>]
        member val EventDetails:ResizeArray<BookingEventDetail> = null with get,set

        [<DataMember(Order=310)>]
        member val AccountLocations:ResizeArray<BookingAccountLocation> = null with get,set

        [<DataMember(Order=320)>]
        member val EmailTrails:ResizeArray<BookingEmailTrail> = null with get,set

        [<DataMember(Order=330)>]
        member val AgentivityWarnings:ResizeArray<BookingDetailsWarning> = null with get,set

        [<DataMember(Order=340)>]
        member val AirlineTicketingDues:ResizeArray<BookingDetailsAirTicketingDue> = null with get,set

        [<DataMember(Order=350)>]
        member val CTCE:String = null with get,set

        [<DataMember(Order=360)>]
        member val CTCM:String = null with get,set

        [<DataMember(Order=370)>]
        member val CarbonTonnage:Nullable<Double> = new Nullable<Double>() with get,set

        [<DataMember(Order=380)>]
        member val CarbonEmissions:ResizeArray<CarbonEmission> = null with get,set

        [<DataMember(Order=500)>]
        member val OwningCompanyCode:String = null with get,set

        [<DataMember(Order=10)>]
        member val AgentivityRef:Int32 = new Int32() with get,set

        [<DataMember(Order=1000)>]
        member val Itinerary:ItinerarySegmentsCollection = null with get,set

        [<DataMember(Order=1010)>]
        member val ItineraryFormatted:String = null with get,set

    [<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="ApiRequestPerHour", Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type ApiRequestPerHour() = 
        [<DataMember(Order=10)>]
        member val RequestDate:DateTime = new DateTime() with get,set

        [<DataMember(Order=100)>]
        member val Hour0:Int32 = new Int32() with get,set

        [<DataMember(Order=110)>]
        member val Hour1:Int32 = new Int32() with get,set

        [<DataMember(Order=120)>]
        member val Hour2:Int32 = new Int32() with get,set

        [<DataMember(Order=130)>]
        member val Hour3:Int32 = new Int32() with get,set

        [<DataMember(Order=140)>]
        member val Hour4:Int32 = new Int32() with get,set

        [<DataMember(Order=150)>]
        member val Hour5:Int32 = new Int32() with get,set

        [<DataMember(Order=160)>]
        member val Hour6:Int32 = new Int32() with get,set

        [<DataMember(Order=170)>]
        member val Hour7:Int32 = new Int32() with get,set

        [<DataMember(Order=180)>]
        member val Hour8:Int32 = new Int32() with get,set

        [<DataMember(Order=190)>]
        member val Hour9:Int32 = new Int32() with get,set

        [<DataMember(Order=200)>]
        member val Hour10:Int32 = new Int32() with get,set

        [<DataMember(Order=210)>]
        member val Hour11:Int32 = new Int32() with get,set

        [<DataMember(Order=220)>]
        member val Hour12:Int32 = new Int32() with get,set

        [<DataMember(Order=230)>]
        member val Hour13:Int32 = new Int32() with get,set

        [<DataMember(Order=240)>]
        member val Hour14:Int32 = new Int32() with get,set

        [<DataMember(Order=250)>]
        member val Hour15:Int32 = new Int32() with get,set

        [<DataMember(Order=260)>]
        member val Hour16:Int32 = new Int32() with get,set

        [<DataMember(Order=270)>]
        member val Hour17:Int32 = new Int32() with get,set

        [<DataMember(Order=280)>]
        member val Hour18:Int32 = new Int32() with get,set

        [<DataMember(Order=290)>]
        member val Hour19:Int32 = new Int32() with get,set

        [<DataMember(Order=300)>]
        member val Hour20:Int32 = new Int32() with get,set

        [<DataMember(Order=310)>]
        member val Hour21:Int32 = new Int32() with get,set

        [<DataMember(Order=320)>]
        member val Hour22:Int32 = new Int32() with get,set

        [<DataMember(Order=330)>]
        member val Hour23:Int32 = new Int32() 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 CollectionResponse<TItem>() = 
        [<DataMember(Order=1)>]
        member val ResponseMetadata:ResponseMetadata = null with get,set

        [<DataMember(Order=2, EmitDefaultValue=false)>]
        member val ResponseReport:ResizeArray<ApiRequestPerHour> = 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 BookingDetailsByRefResponse() = 
        inherit CollectionResponse<BookingDetails>()

    [<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

    [<Flags>]
    type BookingDetailsOptions =
        | None = 0
        | Passengers = 1
        | Itinerary = 2
        | PassengersItinerary = 3
        | DiEntries = 4
        | Phones = 8
        | Notepads = 16
        | VendorRemarks = 32
        | Tickets = 64
        | Versions = 128
        | VendorLocators = 256
        | CustomFields = 512
        | Emails = 1024
        | ContactFields = 1032
        | AccountValue = 2048
        | EventDetails = 4096
        | History = 4224
        | EmailTrails = 8192
        | AgentivityWarnings = 16384
        | AirTicketingDueDates = 32768
        | All = 65535

    [<DataContract(Namespace="schemas.agentivity.com/types")>]
    [<AllowNullLiteral>]
    type BookingDetailsByRef() = 
        inherit CompanyLevelRequestBase()
        ///<summary>
        ///Agentivity Booking Reference
        ///</summary>
        [<DataMember>]
        member val AgentivityRef:Int32 = new Int32() with get,set

        ///<summary>
        ///Options to retrieve booking details (valid values are: Passengers, Itinerary, DiEntries, Phones, Notepads, VendorRemarks, Tickets, Versions, VendorLocators, CustomFields, Emails, AccountValue, EventDetails or EmailTrails). The option All can be used to get entire booking data.
        ///</summary>
        [<DataMember>]
        member val LoadOptions:BookingDetailsOptions = new BookingDetailsOptions() with get,set

        ///<summary>
        ///Record locator
        ///</summary>
        [<DataMember>]
        member val RecordLocator:String = null with get,set

        ///<summary>
        ///Date in format YYYYMMDD
        ///</summary>
        [<DataMember>]
        member val PNRCreationDate:String = null with get,set

        ///<summary>
        ///Request Consultant ID (sign on)
        ///</summary>
        [<DataMember>]
        member val RequestConsultantID:String = null with get,set

F# BookingDetailsByRef DTOs

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

HTTP + XML

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

GET /BookingDetails 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>
    <BookingDetails>
      <AgentivityRef>0</AgentivityRef>
      <RecordLocator>String</RecordLocator>
      <PNRCreationDate>String</PNRCreationDate>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <PNRTicketed>String</PNRTicketed>
      <Account>String</Account>
      <OwningConsultantID>String</OwningConsultantID>
      <OwningConsultant>String</OwningConsultant>
      <CrsDescription>String</CrsDescription>
      <LastActionConsultantID>String</LastActionConsultantID>
      <LastActionAgencyLocationID>String</LastActionAgencyLocationID>
      <OwningAgencyLocationID>String</OwningAgencyLocationID>
      <CreatingAgencyIata>String</CreatingAgencyIata>
      <CompanyID>0</CompanyID>
      <Passengers>
        <Passenger>
          <Id>0</Id>
          <FirstName>String</FirstName>
          <LastName>String</LastName>
          <FrequentFlyers>
            <FrequentFlyer>
              <Vendor>String</Vendor>
              <Number>String</Number>
              <FullNumber>String</FullNumber>
            </FrequentFlyer>
          </FrequentFlyers>
          <SequenceNbr>0</SequenceNbr>
          <LastNameElement>0</LastNameElement>
          <IsVip>false</IsVip>
          <TravellerGUID>String</TravellerGUID>
        </Passenger>
      </Passengers>
      <Phones>
        <Phone>
          <PhoneType>String</PhoneType>
          <City>String</City>
          <Number>String</Number>
          <SequenceNbr>0</SequenceNbr>
        </Phone>
      </Phones>
      <Notepads>
        <Notepad>
          <Remark>String</Remark>
          <CreatedDate>0001-01-01T00:00:00</CreatedDate>
          <CreatedTime>String</CreatedTime>
          <Qualifier>String</Qualifier>
          <SequenceNbr>0</SequenceNbr>
        </Notepad>
      </Notepads>
      <VendorRemarks>
        <VendorRemark>
          <DateStamp>0001-01-01T00:00:00</DateStamp>
          <Remark>String</Remark>
          <RemarkType>String</RemarkType>
          <RmkNum>0</RmkNum>
          <TimeStamp>String</TimeStamp>
          <TravelOrderIdentifier>0</TravelOrderIdentifier>
          <Vendor>String</Vendor>
          <VendorType>String</VendorType>
          <VendorRemarkID>0</VendorRemarkID>
        </VendorRemark>
      </VendorRemarks>
      <DiEntries>
        <DIEntry>
          <SequenceNbr>0</SequenceNbr>
          <Keyword>String</Keyword>
          <Remark>String</Remark>
        </DIEntry>
      </DiEntries>
      <Tickets>
        <Ticket>
          <SegmentNbr>0</SegmentNbr>
          <TicketNumber>String</TicketNumber>
          <TicketType>String</TicketType>
          <TicketDetailsAvailable>false</TicketDetailsAvailable>
        </Ticket>
      </Tickets>
      <Versions>
        <Version>
          <AgentivityRef>0</AgentivityRef>
          <DataBaseTimeStamp>0001-01-01T00:00:00</DataBaseTimeStamp>
          <EventType>String</EventType>
          <PnrTicketed>String</PnrTicketed>
          <LastActionAgentId>String</LastActionAgentId>
          <AirSegs>0</AirSegs>
          <AirPSegs>0</AirPSegs>
          <HtlSegs>0</HtlSegs>
          <HtlPSegs>0</HtlPSegs>
          <CarSegs>0</CarSegs>
          <CarPSegs>0</CarPSegs>
          <TrnPSegs>0</TrnPSegs>
          <OwningAgencyLocationID>String</OwningAgencyLocationID>
        </Version>
      </Versions>
      <VendorLocators>
        <VendorLocator>
          <AirSegmentNbr>0</AirSegmentNbr>
          <CarrierCode>String</CarrierCode>
          <VendorLocator>String</VendorLocator>
        </VendorLocator>
      </VendorLocators>
      <CustomFields>
        <CustomFieldValue>
          <PNRPropertiesCustomFieldID>String</PNRPropertiesCustomFieldID>
          <RecordLocator>String</RecordLocator>
          <PNRCreationDate>0001-01-01T00:00:00</PNRCreationDate>
          <FieldName>String</FieldName>
          <FieldValue>String</FieldValue>
          <CustomFieldID>0</CustomFieldID>
          <CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
          <ElementNumber>0</ElementNumber>
          <GDS>String</GDS>
        </CustomFieldValue>
      </CustomFields>
      <Emails>
        <Email>
          <SequenceNbr>0</SequenceNbr>
          <EmailType>String</EmailType>
          <Email>String</Email>
        </Email>
      </Emails>
      <EventDetails>
        <EventDetail>
          <ItineraryEventTypeDetailID>0</ItineraryEventTypeDetailID>
          <AgentivityRef>0</AgentivityRef>
          <EventTypeDetail>String</EventTypeDetail>
          <OldData>String</OldData>
          <NewData>String</NewData>
          <DateTimeStamp>0001-01-01T00:00:00</DateTimeStamp>
          <EventTypeDetailID>0</EventTypeDetailID>
        </EventDetail>
      </EventDetails>
      <AccountLocations>
        <AccountLocation>
          <PrimaryAccountLocation>String</PrimaryAccountLocation>
          <SecondaryAccountLocation>String</SecondaryAccountLocation>
          <Valid>false</Valid>
          <ExactMatch>false</ExactMatch>
          <GDS>String</GDS>
        </AccountLocation>
      </AccountLocations>
      <EmailTrails>
        <BookingEmailTrail>
          <RecipientEmail>String</RecipientEmail>
          <DeliveryDetails>String</DeliveryDetails>
          <MailSentDateTime>0001-01-01T00:00:00</MailSentDateTime>
          <RecipientLastActivityEvent>String</RecipientLastActivityEvent>
          <EmailId>0</EmailId>
          <UserId>0</UserId>
          <SentResponseMessage>String</SentResponseMessage>
          <SentResponseErrorCode>0</SentResponseErrorCode>
          <DeliveredBookingID>0</DeliveredBookingID>
        </BookingEmailTrail>
      </EmailTrails>
      <AgentivityWarnings>
        <Warning>
          <Message>String</Message>
          <Vendor>String</Vendor>
          <WarningDateTime>0001-01-01T00:00:00</WarningDateTime>
          <OriginalRemark>String</OriginalRemark>
          <ClearedDateTime>0001-01-01T00:00:00</ClearedDateTime>
          <ClearedByConsultantID>String</ClearedByConsultantID>
          <PropertiesList>
            <Property>
              <Name>String</Name>
              <Value>String</Value>
            </Property>
          </PropertiesList>
        </Warning>
      </AgentivityWarnings>
      <AirlineTicketingDues>
        <TicketingDue>
          <Airline>String</Airline>
          <DueDate>0001-01-01T00:00:00</DueDate>
          <DueTime>String</DueTime>
        </TicketingDue>
      </AirlineTicketingDues>
      <CTCE>String</CTCE>
      <CTCM>String</CTCM>
      <CarbonTonnage>0</CarbonTonnage>
      <CarbonEmissions>
        <CarbonEmission>
          <Value>0</Value>
          <Unit>
            <Id>0</Id>
            <Symbol>String</Symbol>
            <Name>String</Name>
          </Unit>
          <Provider>
            <Id>0</Id>
            <Name>String</Name>
            <Description>String</Description>
            <LogoPath>String</LogoPath>
          </Provider>
          <CalculationDateTime>0001-01-01T00:00:00</CalculationDateTime>
          <CalculationDetails>
            <Id>0</Id>
            <Name>String</Name>
          </CalculationDetails>
        </CarbonEmission>
      </CarbonEmissions>
      <OwningCompanyCode>String</OwningCompanyCode>
      <Itinerary>
        <ItinerarySegment>
          <ArrivalTimeFormatted>String</ArrivalTimeFormatted>
          <BoardPoint>String</BoardPoint>
          <ChangeOfDayFormatted>String</ChangeOfDayFormatted>
          <DepartureTimeFormatted>String</DepartureTimeFormatted>
          <EndDate>String</EndDate>
          <Equipment>String</Equipment>
          <EquipmentCode>String</EquipmentCode>
          <OffPoint>String</OffPoint>
          <OperatorCode>String</OperatorCode>
          <OperatorService>String</OperatorService>
          <SegmentNbr>0</SegmentNbr>
          <SegmentStatus>String</SegmentStatus>
          <SegmentType>String</SegmentType>
          <ServiceCode>String</ServiceCode>
          <StartDate>String</StartDate>
          <TicketNumber>String</TicketNumber>
          <VendorLocators>String</VendorLocators>
        </ItinerarySegment>
      </Itinerary>
      <ItineraryFormatted>String</ItineraryFormatted>
    </BookingDetails>
  </ResponseReport>
  <ResponseError>
    <ErrorCode>String</ErrorCode>
    <Message>String</Message>
    <StatusCode>String</StatusCode>
    <VerboseMessage>String</VerboseMessage>
  </ResponseError>
</AgentivityResponse>