Agentivity API

<back to all web services

GetBookingsCreatedAndSegments

The following routes are available for this service:
All Verbs/BookingsCreatedAndSegments
import Foundation
import ServiceStack

// @DataContract(Namespace="schemas.agentivity.com/types")
public class GetBookingsCreatedAndSegments : CompanyLevelRequestBase
{
    /**
    * Comma Delimited List of PCCs
    */
    // @DataMember
    public var owningAgencyLocationID:[String]

    /**
    * Date in format YYYYMMDD
    */
    // @DataMember
    public var pnrCreationDateStart:String

    /**
    * Date in format YYYYMMDD
    */
    // @DataMember
    public var pnrCreationDateEnd:String

    /**
    * When set to true, filters the results to only include air segments where the associated PNR has been ticketed. Other segments types are unaffected by this filter
    */
    // @DataMember
    public var airSegmentsMustBeTicketed:Bool

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case owningAgencyLocationID
        case pnrCreationDateStart
        case pnrCreationDateEnd
        case airSegmentsMustBeTicketed
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        owningAgencyLocationID = try container.decodeIfPresent([String].self, forKey: .owningAgencyLocationID) ?? []
        pnrCreationDateStart = try container.decodeIfPresent(String.self, forKey: .pnrCreationDateStart)
        pnrCreationDateEnd = try container.decodeIfPresent(String.self, forKey: .pnrCreationDateEnd)
        airSegmentsMustBeTicketed = try container.decodeIfPresent(Bool.self, forKey: .airSegmentsMustBeTicketed)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if owningAgencyLocationID != nil { try container.encode(owningAgencyLocationID, forKey: .owningAgencyLocationID) }
        if pnrCreationDateStart != nil { try container.encode(pnrCreationDateStart, forKey: .pnrCreationDateStart) }
        if pnrCreationDateEnd != nil { try container.encode(pnrCreationDateEnd, forKey: .pnrCreationDateEnd) }
        if airSegmentsMustBeTicketed != nil { try container.encode(airSegmentsMustBeTicketed, forKey: .airSegmentsMustBeTicketed) }
    }
}

// @DataContract(Namespace="schemas.agentivity.com/types")
public class CompanyLevelRequestBase : PagingMetadata, IMemberUsername, IMemberOwningCompanyCode
{
    /**
    * Comma Delimited List of Owning Company Codes
    */
    // @DataMember
    public var owningCompanyCode:[String]

    /**
    * UserName in form of an email address
    */
    // @DataMember
    public var userName:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case owningCompanyCode
        case userName
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        owningCompanyCode = try container.decodeIfPresent([String].self, forKey: .owningCompanyCode) ?? []
        userName = try container.decodeIfPresent(String.self, forKey: .userName)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if owningCompanyCode != nil { try container.encode(owningCompanyCode, forKey: .owningCompanyCode) }
        if userName != nil { try container.encode(userName, forKey: .userName) }
    }
}

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

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

    /**
    * 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 var totalRecords:Int

    /**
    * 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 var responseRecords:Int

    required public init(){}
}


Swift GetBookingsCreatedAndSegments 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 /BookingsCreatedAndSegments HTTP/1.1 
Host: apidemo.agentivity.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"OwningAgencyLocationID":["String"],"PNRCreationDateStart":"String","PNRCreationDateEnd":"String","AirSegmentsMustBeTicketed":false,"OwningCompanyCode":["String"],"UserName":"String","Offset":"String","Limit":"String","TotalRecords":0,"ResponseRecords":0}