All Verbs | /Churns |
---|
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="Churn", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type Churn() =
[<DataMember(Order=10)>]
member val Recordlocator:String = null with get,set
[<DataMember(Order=20)>]
member val PNRCreationDate:DateTime = new DateTime() with get,set
[<DataMember(Order=30)>]
member val OwningAgencyLocationID:String = null with get,set
[<DataMember(Order=40)>]
member val Account:String = null with get,set
[<DataMember(Order=50)>]
member val OwningConsultantID:String = null with get,set
[<DataMember(Order=60)>]
member val OwningConsultant:String = null with get,set
[<DataMember(Order=70)>]
member val PNRTicketed:String = null with get,set
[<DataMember(Order=80)>]
member val AirlineCode:String = null with get,set
[<DataMember(Order=90)>]
member val FirstDetectedDate:DateTime = new DateTime() with get,set
[<DataMember(Order=100)>]
member val LastDetectedDateTime:DateTime = new DateTime() with get,set
[<DataMember(Order=110)>]
member val DetectedCount:Int32 = new Int32() 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="Churn", Namespace="schemas.agentivity.com/types")>]
[<AllowNullLiteral>]
type ChurnsResponseReport() =
inherit Report<ChurnsItemResponse, Churn>()
[<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 ChurnsItemResponse() =
inherit ItemResponse<Churn, ChurnsResponseReport>()
[<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 GetChurns() =
inherit CompanyLevelRequestBase()
///<summary>
///Date in format YYYYMMDD
///</summary>
[<DataMember>]
member val ChurnDateStart:String = null with get,set
///<summary>
///Date in format YYYYMMDD
///</summary>
[<DataMember>]
member val ChurnDateEnd:String = null with get,set
///<summary>
///Return only PNRs that are ticketed/all
///</summary>
[<DataMember>]
member val PNRTicketed:String = null with get,set
///<summary>
///Two letter airline code
///</summary>
[<DataMember>]
member val AirlineCode:String = null with get,set
///<summary>
///Two letter Segment Status
///</summary>
[<DataMember>]
member val SegmentStatus:String = null with get,set
///<summary>
///Comma Delimited List of PCCs
///</summary>
[<DataMember>]
member val OwningAgencyLocationID:String[] = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Churns HTTP/1.1
Host: api.agentivity.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"ChurnDateStart":"String","ChurnDateEnd":"String","PNRTicketed":"String","AirlineCode":"String","SegmentStatus":"String","OwningAgencyLocationID":["String"],"OwningCompanyCode":["String"],"UserName":"String","Offset":"String","Limit":"String","TotalRecords":0,"ResponseRecords":0}
HTTP/1.1 200 OK Content-Type: text/csv 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":{"Recordlocator":"String","PNRCreationDate":"\/Date(-62135596800000-0000)\/","OwningAgencyLocationID":"String","Account":"String","OwningConsultantID":"String","OwningConsultant":"String","PNRTicketed":"String","AirlineCode":"String","FirstDetectedDate":"\/Date(-62135596800000-0000)\/","LastDetectedDateTime":"\/Date(-62135596800000-0000)\/","DetectedCount":0}},"ResponseError":{"ErrorCode":"String","Message":"String","StatusCode":"String","VerboseMessage":"String"}}