Agentivity API

<back to all web services

GetChurns

The following routes are available for this service:
All Verbs/Churns
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    @DataContract(Namespace="schemas.agentivity.com/types")
    public static class GetChurns extends CompanyLevelRequestBase
    {
        /**
        * Date in format YYYYMMDD
        */
        @DataMember
        public String ChurnDateStart = null;

        /**
        * Date in format YYYYMMDD
        */
        @DataMember
        public String ChurnDateEnd = null;

        /**
        * Return only PNRs that are ticketed/all
        */
        @DataMember
        public String PNRTicketed = null;

        /**
        * Two letter airline code
        */
        @DataMember
        public String AirlineCode = null;

        /**
        * Two letter Segment Status
        */
        @DataMember
        public String SegmentStatus = null;

        /**
        * Comma Delimited List of PCCs
        */
        @DataMember
        public ArrayList<String> OwningAgencyLocationID = null;
        
        public String getChurnDateStart() { return ChurnDateStart; }
        public GetChurns setChurnDateStart(String value) { this.ChurnDateStart = value; return this; }
        public String getChurnDateEnd() { return ChurnDateEnd; }
        public GetChurns setChurnDateEnd(String value) { this.ChurnDateEnd = value; return this; }
        public String getPnrTicketed() { return PNRTicketed; }
        public GetChurns setPnrTicketed(String value) { this.PNRTicketed = value; return this; }
        public String getAirlineCode() { return AirlineCode; }
        public GetChurns setAirlineCode(String value) { this.AirlineCode = value; return this; }
        public String getSegmentStatus() { return SegmentStatus; }
        public GetChurns setSegmentStatus(String value) { this.SegmentStatus = value; return this; }
        public ArrayList<String> getOwningAgencyLocationID() { return OwningAgencyLocationID; }
        public GetChurns setOwningAgencyLocationID(ArrayList<String> value) { this.OwningAgencyLocationID = value; return this; }
    }

    @DataContract(Namespace="schemas.agentivity.com/types")
    public static class CompanyLevelRequestBase extends PagingMetadata implements IMemberUsername, IMemberOwningCompanyCode
    {
        /**
        * Comma Delimited List of Owning Company Codes
        */
        @DataMember
        public ArrayList<String> OwningCompanyCode = null;

        /**
        * UserName in form of an email address
        */
        @DataMember
        public String UserName = null;
        
        public ArrayList<String> getOwningCompanyCode() { return OwningCompanyCode; }
        public CompanyLevelRequestBase setOwningCompanyCode(ArrayList<String> value) { this.OwningCompanyCode = value; return this; }
        public String getUserName() { return UserName; }
        public CompanyLevelRequestBase setUserName(String value) { this.UserName = value; return this; }
    }

    @DataContract(Name="Metadata", Namespace="schemas.agentivity.com/types")
    public static class PagingMetadata
    {
        /**
        * Starting Record
        */
        @DataMember
        @ApiMember(DataType="string", Description="Starting Record", Name="Offset", ParameterType="query")
        public String Offset = null;

        /**
        * Number of records to return (PageSize)
        */
        @DataMember
        @ApiMember(DataType="string", Description="Number of records to return (PageSize)", Name="Limit", ParameterType="query")
        public String Limit = null;

        /**
        * Total Number of Records in a Full Reponse (if no paging)
        */
        @DataMember
        @ApiMember(DataType="string", Description="Total Number of Records in a Full Reponse (if no paging)", Name="TotalRecords", ParameterType="query")
        public Integer TotalRecords = null;

        /**
        * Total Number of Records in this Reponse (on this page)
        */
        @DataMember
        @ApiMember(DataType="string", Description="Total Number of Records in this Reponse (on this page)", Name="ResponseRecords", ParameterType="query")
        public Integer ResponseRecords = null;
        
        public String getOffset() { return Offset; }
        public PagingMetadata setOffset(String value) { this.Offset = value; return this; }
        public String getLimit() { return Limit; }
        public PagingMetadata setLimit(String value) { this.Limit = value; return this; }
        public Integer getTotalRecords() { return TotalRecords; }
        public PagingMetadata setTotalRecords(Integer value) { this.TotalRecords = value; return this; }
        public Integer getResponseRecords() { return ResponseRecords; }
        public PagingMetadata setResponseRecords(Integer value) { this.ResponseRecords = value; return this; }
    }

    @DataContract(Name="AgentivityResponse", Namespace="schemas.agentivity.com/types")
    public static class ChurnsItemResponse extends ItemResponse<Churn, ChurnsResponseReport>
    {
        
    }

    @DataContract(Name="AgentivityResponse", Namespace="schemas.agentivity.com/types")
    public static class ItemResponse<TItem, TReport>
    {
        @DataMember(Order=1)
        public ResponseMetadata ResponseMetadata = null;

        @DataMember(Order=2, EmitDefaultValue=false)
        public TReport ResponseReport = null;

        @DataMember(Order=3, EmitDefaultValue=false)
        public AgentivityError ResponseError = null;
        
        public ResponseMetadata getResponseMetadata() { return ResponseMetadata; }
        public ItemResponse<TItem, TReport> setResponseMetadata(ResponseMetadata value) { this.ResponseMetadata = value; return this; }
        public TReport getResponseReport() { return ResponseReport; }
        public ItemResponse<TItem, TReport> setResponseReport(TReport value) { this.ResponseReport = value; return this; }
        public AgentivityError getResponseError() { return ResponseError; }
        public ItemResponse<TItem, TReport> setResponseError(AgentivityError value) { this.ResponseError = value; return this; }
    }

    @DataContract(Name="ResponseMetadata", Namespace="schemas.agentivity.com/types")
    public static class ResponseMetadata
    {
        @DataMember(Order=0)
        public Boolean Success = null;

        @DataMember(Order=1)
        public Boolean HasCache = null;

        @DataMember(Order=2)
        public Boolean HasPaging = null;

        @DataMember(Order=3, EmitDefaultValue=false)
        public CacheMetadata CacheMetadata = null;

        @DataMember(Order=4, EmitDefaultValue=false)
        public PagingMetadata PagingMetadata = null;
        
        public Boolean isSuccess() { return Success; }
        public ResponseMetadata setSuccess(Boolean value) { this.Success = value; return this; }
        public Boolean isHasCache() { return HasCache; }
        public ResponseMetadata setHasCache(Boolean value) { this.HasCache = value; return this; }
        public Boolean isHasPaging() { return HasPaging; }
        public ResponseMetadata setHasPaging(Boolean value) { this.HasPaging = value; return this; }
        public CacheMetadata getCacheMetadata() { return CacheMetadata; }
        public ResponseMetadata setCacheMetadata(CacheMetadata value) { this.CacheMetadata = value; return this; }
        public PagingMetadata getPagingMetadata() { return PagingMetadata; }
        public ResponseMetadata setPagingMetadata(PagingMetadata value) { this.PagingMetadata = value; return this; }
    }

    @DataContract(Name="CacheMetadata", Namespace="schemas.agentivity.com/types")
    public static class CacheMetadata
    {
        @DataMember(Order=1)
        public Date CachedAt = null;

        @DataMember(Order=2)
        public Date CacheExpiresAt = null;

        @DataMember(Order=0)
        public Boolean IsFromCache = null;
        
        public Date getCachedAt() { return CachedAt; }
        public CacheMetadata setCachedAt(Date value) { this.CachedAt = value; return this; }
        public Date getCacheExpiresAt() { return CacheExpiresAt; }
        public CacheMetadata setCacheExpiresAt(Date value) { this.CacheExpiresAt = value; return this; }
        public Boolean getIsFromCache() { return IsFromCache; }
        public CacheMetadata setIsFromCache(Boolean value) { this.IsFromCache = value; return this; }
    }

    @DataContract(Name="ResponseMetadata", Namespace="schemas.agentivity.com/types")
    public static class AgentivityError
    {
        @DataMember
        public String ErrorCode = null;

        @DataMember
        public String Message = null;

        @DataMember
        public String StatusCode = null;

        @DataMember
        public String VerboseMessage = null;
        
        public String getErrorCode() { return ErrorCode; }
        public AgentivityError setErrorCode(String value) { this.ErrorCode = value; return this; }
        public String getMessage() { return Message; }
        public AgentivityError setMessage(String value) { this.Message = value; return this; }
        public String getStatusCode() { return StatusCode; }
        public AgentivityError setStatusCode(String value) { this.StatusCode = value; return this; }
        public String getVerboseMessage() { return VerboseMessage; }
        public AgentivityError setVerboseMessage(String value) { this.VerboseMessage = value; return this; }
    }

    @DataContract(Name="Churn", Namespace="schemas.agentivity.com/types")
    public static class Churn
    {
        @DataMember(Order=10)
        public String Recordlocator = null;

        @DataMember(Order=20)
        public Date PNRCreationDate = null;

        @DataMember(Order=30)
        public String OwningAgencyLocationID = null;

        @DataMember(Order=40)
        public String Account = null;

        @DataMember(Order=50)
        public String OwningConsultantID = null;

        @DataMember(Order=60)
        public String OwningConsultant = null;

        @DataMember(Order=70)
        public String PNRTicketed = null;

        @DataMember(Order=80)
        public String AirlineCode = null;

        @DataMember(Order=90)
        public Date FirstDetectedDate = null;

        @DataMember(Order=100)
        public Date LastDetectedDateTime = null;

        @DataMember(Order=110)
        public Integer DetectedCount = null;
        
        public String getRecordlocator() { return Recordlocator; }
        public Churn setRecordlocator(String value) { this.Recordlocator = value; return this; }
        public Date getPnrCreationDate() { return PNRCreationDate; }
        public Churn setPnrCreationDate(Date value) { this.PNRCreationDate = value; return this; }
        public String getOwningAgencyLocationID() { return OwningAgencyLocationID; }
        public Churn setOwningAgencyLocationID(String value) { this.OwningAgencyLocationID = value; return this; }
        public String getAccount() { return Account; }
        public Churn setAccount(String value) { this.Account = value; return this; }
        public String getOwningConsultantID() { return OwningConsultantID; }
        public Churn setOwningConsultantID(String value) { this.OwningConsultantID = value; return this; }
        public String getOwningConsultant() { return OwningConsultant; }
        public Churn setOwningConsultant(String value) { this.OwningConsultant = value; return this; }
        public String getPnrTicketed() { return PNRTicketed; }
        public Churn setPnrTicketed(String value) { this.PNRTicketed = value; return this; }
        public String getAirlineCode() { return AirlineCode; }
        public Churn setAirlineCode(String value) { this.AirlineCode = value; return this; }
        public Date getFirstDetectedDate() { return FirstDetectedDate; }
        public Churn setFirstDetectedDate(Date value) { this.FirstDetectedDate = value; return this; }
        public Date getLastDetectedDateTime() { return LastDetectedDateTime; }
        public Churn setLastDetectedDateTime(Date value) { this.LastDetectedDateTime = value; return this; }
        public Integer getDetectedCount() { return DetectedCount; }
        public Churn setDetectedCount(Integer value) { this.DetectedCount = value; return this; }
    }

    @DataContract(Name="Churn", Namespace="schemas.agentivity.com/types")
    public static class ChurnsResponseReport extends Report<ChurnsItemResponse, Churn>
    {
        
    }

    @DataContract(Namespace="schemas.agentivity.com/types")
    public static class Report<TItemResponse, TItem>
    {
        @DataMember(Order=1, EmitDefaultValue=false)
        public TItem Item = null;
        
        public TItem getItem() { return Item; }
        public Report<TItemResponse, TItem> setItem(TItem value) { this.Item = value; return this; }
    }

}

Java GetChurns DTOs

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

HTTP + 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"}}