All Verbs | /Churns |
---|
"use strict";
export class PagingMetadata {
/** @param {{Offset?:string,Limit?:string,TotalRecords?:number,ResponseRecords?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Starting Record */
Offset;
/**
* @type {string}
* @description Number of records to return (PageSize) */
Limit;
/**
* @type {number}
* @description Total Number of Records in a Full Reponse (if no paging) */
TotalRecords;
/**
* @type {number}
* @description Total Number of Records in this Reponse (on this page) */
ResponseRecords;
}
export class CompanyLevelRequestBase extends PagingMetadata {
/** @param {{OwningCompanyCode?:string[],UserName?:string,Offset?:string,Limit?:string,TotalRecords?:number,ResponseRecords?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string[]}
* @description Comma Delimited List of Owning Company Codes */
OwningCompanyCode;
/**
* @type {string}
* @description UserName in form of an email address */
UserName;
}
export class Churn {
/** @param {{Recordlocator?:string,PNRCreationDate?:string,OwningAgencyLocationID?:string,Account?:string,OwningConsultantID?:string,OwningConsultant?:string,PNRTicketed?:string,AirlineCode?:string,FirstDetectedDate?:string,LastDetectedDateTime?:string,DetectedCount?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
Recordlocator;
/** @type {string} */
PNRCreationDate;
/** @type {string} */
OwningAgencyLocationID;
/** @type {string} */
Account;
/** @type {string} */
OwningConsultantID;
/** @type {string} */
OwningConsultant;
/** @type {string} */
PNRTicketed;
/** @type {string} */
AirlineCode;
/** @type {string} */
FirstDetectedDate;
/** @type {string} */
LastDetectedDateTime;
/** @type {number} */
DetectedCount;
}
/** @typedef TItemResponse {any} */
/** @typedef TItem {any} */
export class Report {
/** @param {{Item?:TItem}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {TItem} */
Item;
}
export class ChurnsResponseReport extends Report {
/** @param {{Item?:TItem}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
export class CacheMetadata {
/** @param {{CachedAt?:string,CacheExpiresAt?:string,IsFromCache?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
CachedAt;
/** @type {string} */
CacheExpiresAt;
/** @type {boolean} */
IsFromCache;
}
export class ResponseMetadata {
/** @param {{Success?:boolean,HasCache?:boolean,HasPaging?:boolean,CacheMetadata?:CacheMetadata,PagingMetadata?:PagingMetadata}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
Success;
/** @type {boolean} */
HasCache;
/** @type {boolean} */
HasPaging;
/** @type {CacheMetadata} */
CacheMetadata;
/** @type {PagingMetadata} */
PagingMetadata;
}
export class AgentivityError {
/** @param {{ErrorCode?:string,Message?:string,StatusCode?:string,VerboseMessage?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
ErrorCode;
/** @type {string} */
Message;
/** @type {string} */
StatusCode;
/** @type {string} */
VerboseMessage;
}
/** @typedef TItem {any} */
/** @typedef TReport {any} */
export class ItemResponse {
/** @param {{ResponseMetadata?:ResponseMetadata,ResponseReport?:TReport,ResponseError?:AgentivityError}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ResponseMetadata} */
ResponseMetadata;
/** @type {TReport} */
ResponseReport;
/** @type {AgentivityError} */
ResponseError;
}
export class ChurnsItemResponse extends ItemResponse {
/** @param {{ResponseMetadata?:ResponseMetadata,ResponseReport?:TReport,ResponseError?:AgentivityError}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
export class GetChurns extends CompanyLevelRequestBase {
/** @param {{ChurnDateStart?:string,ChurnDateEnd?:string,PNRTicketed?:string,AirlineCode?:string,SegmentStatus?:string,OwningAgencyLocationID?:string[],OwningCompanyCode?:string[],UserName?:string,Offset?:string,Limit?:string,TotalRecords?:number,ResponseRecords?:number}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string}
* @description Date in format YYYYMMDD */
ChurnDateStart;
/**
* @type {string}
* @description Date in format YYYYMMDD */
ChurnDateEnd;
/**
* @type {string}
* @description Return only PNRs that are ticketed/all */
PNRTicketed;
/**
* @type {string}
* @description Two letter airline code */
AirlineCode;
/**
* @type {string}
* @description Two letter Segment Status */
SegmentStatus;
/**
* @type {string[]}
* @description Comma Delimited List of PCCs */
OwningAgencyLocationID;
}
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"}}