TicketUserServices

<back to all web services

FindTicketsRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequires the permission:ReadData
The following routes are available for this service:
GET POST/ticketOrder/find
import Foundation
import ServiceStack

public class FindTicketsRequest : Codable
{
    public var phoneVerificationNumber:String?
    public var deviceId:String?
    public var onlyFromCurrentDate:Bool?
    public var onlyUnUsed:Bool?
    public var requestUnixUTCTimeStamp:Int?
    public var signature:RequestSignature?
    public var includeTransferredTickets:Bool?
    public var fromDate:Date?

    required public init(){}
}

public class RequestSignature : Codable
{
    public var systemId:String?
    public var systemSecret:String?
    public var signature:String?

    required public init(){}
}

public class TicketOrdersResult : Codable
{
    public var ticketAndDetails:EventTicketWithDetails?
    public var ticketsAndDetails:[EventTicketWithDetails] = []
    public var needs3DVerification:Bool?
    public var redirectToACSForm:String?
    public var redirectionACSFields:[RedirectionACSField] = []
    public var statusCode:Int?
    public var message:String?

    required public init(){}
}

public class EventTicketWithDetails : Codable
{
    public var eventTicket:Ticket?
    public var eventTicketDetails:[TicketDetailsInfo] = []
    public var eventInfo:EventDetails?
    public var eventIsToday:Bool?
    public var eventisLive:Bool?
    public var minutesToEvent:Int?

    required public init(){}
}

public class Ticket : Codable
{
    public var id:Int?
    public var userId:Int?
    public var userAuthId:Int?
    public var eventId:Int?
    public var timestampBought:Date?
    public var timestampActivated:Date?
    public var timeStampOrdered:Date?
    public var deviceId:String?
    public var phoneVerificationId:Int?
    public var paymentMethodId:String?
    public var paymentReference:String?
    public var ticketStatus:String?
    public var phoneVerificationNumber:String?
    public var ticketTokenId:String?
    public var paymentPhoneNumber:String?
    public var ticketTransferredFrom:Int?
    public var originalPhoneVerificationNumber:String?
    public var teamPassId:Int?
    public var paymentId:String?
    public var isFree:Bool?
    public var freeTicketFromId:String?
    public var freeTicketFromTypeId:String?
    public var freeTicketCardTypeId:String?
    public var freeTicketCardId:Int?
    public var totalPaidForTicket:Double?
    public var seatsReservationId:String?
    public var timeStampLastStatusChange:Date?
    public var lastTicketStatus:String?
    public var scanCode:String?
    public var scanCodeType:String?
    public var scanCodeNotActive:Bool?
    public var multipleScanCodes:Bool?
    public var currency:String?
    public var ticketHasExpired:Bool?

    required public init(){}
}

public class TicketDetailsInfo : TicketDetails
{
    public var holderInfoRequired:Bool?
    public var blockTransfer:Bool?
    public var ticketTypeImageUrl:String?
    public var ticketHolders:[TicketHolderInfo] = []
    public var gateAccessCodes:[ExternalGateAccessCodeInfo] = []

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

    private enum CodingKeys : String, CodingKey {
        case holderInfoRequired
        case blockTransfer
        case ticketTypeImageUrl
        case ticketHolders
        case gateAccessCodes
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        holderInfoRequired = try container.decodeIfPresent(Bool.self, forKey: .holderInfoRequired)
        blockTransfer = try container.decodeIfPresent(Bool.self, forKey: .blockTransfer)
        ticketTypeImageUrl = try container.decodeIfPresent(String.self, forKey: .ticketTypeImageUrl)
        ticketHolders = try container.decodeIfPresent([TicketHolderInfo].self, forKey: .ticketHolders) ?? []
        gateAccessCodes = try container.decodeIfPresent([ExternalGateAccessCodeInfo].self, forKey: .gateAccessCodes) ?? []
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if holderInfoRequired != nil { try container.encode(holderInfoRequired, forKey: .holderInfoRequired) }
        if blockTransfer != nil { try container.encode(blockTransfer, forKey: .blockTransfer) }
        if ticketTypeImageUrl != nil { try container.encode(ticketTypeImageUrl, forKey: .ticketTypeImageUrl) }
        if ticketHolders.count > 0 { try container.encode(ticketHolders, forKey: .ticketHolders) }
        if gateAccessCodes.count > 0 { try container.encode(gateAccessCodes, forKey: .gateAccessCodes) }
    }
}

public class TicketDetails : Codable
{
    public var id:Int?
    public var ticketId:Int?
    public var eventSeriesTicketType:Int?
    public var eventSeriesOwnerTicketType:Int?
    public var ticketPrice:Double?
    public var totalPrice:Double?
    public var count:Int?
    public var ticketColor:String?
    public var showUsedTickets:Bool?
    public var ticketName:String?
    public var ticketDisplayString:String?
    public var ticketDetailsTransferredFrom:Int?
    public var teamPassId:Int?
    public var isSpecialTicket:Bool?
    public var specialTicketId:String?
    public var justChangedBySQL:Bool?
    public var sqlJustChangedTimeStamp:Date?
    public var currency:String?

    required public init(){}
}

public class TicketHolderInfo : Codable
{
    public var name:String?
    public var fullPhoneNumber:String?
    public var holderId:String?
    public var seatId:Int?
    public var seatDisplayString:String?

    required public init(){}
}

public class ExternalGateAccessCodeInfo : Codable
{
    public var code:String?
    public var codeType:String?
    public var codeUrl:String?
    public var validFrom:Date?
    public var validTo:Date?

    required public init(){}
}

public class EventDetails : Codable
{
    public var id:Int?
    public var name:String?
    public var Description:String?
    public var externalReference:String?
    public var timeOfEvent:Date?
    public var eventLocationId:Int?
    public var eventSeriesId:Int?
    public var eventOwnerId:Int?
    public var eventActive:Bool?
    public var eventOwnerName:String?
    public var externalOwnerId:String?
    public var teamAwayId:String?
    public var teamAwayName:String?
    public var eventSeriesName:String?
    public var eventLocationName:String?
    public var latitude:Double?
    public var longitude:Double?
    public var defaultValues:String?
    public var externalReferenceType:String?
    public var eventSeriesActive:Bool?
    public var allowedKsiCard:String?
    public var seriesId:String?
    public var seriesShowByDefault:Bool?
    public var postponedNoDate:Bool?
    public var awayTeamExternalId:String?
    public var sportGenderId:String?
    public var externalIdType:String?
    public var seriesEventSaleSuspended:Bool?
    public var seriesSaleSuspensionEventStartDate:Date?
    public var seriesSaleSuspensionEventEndDate:Date?
    public var saleIsActive:Bool?
    public var hideEvent:Bool?
    public var imageUrl2:String?
    public var directAccessCode:String?
    public var imageUrl:String?
    public var detailedDescription:String?
    public var ownerImageUrl:String?
    public var ownerImageUrl2:String?
    public var ownerCardsNotAllowed:Bool?
    public var seatingImageUrl:String?
    public var endOfEvent:Date?
    public var endOfEventUTC:Date?
    public var timeZone:String?
    public var timeOfEventUTC:Date?

    required public init(){}
}

public class RedirectionACSField : Codable
{
    public var name:String?
    public var value:String?

    required public init(){}
}


Swift FindTicketsRequest 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 /ticketOrder/find HTTP/1.1 
Host: stubbur-autoupdates-live.smartnewapis.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"phoneVerificationNumber":"String","deviceId":"String","onlyFromCurrentDate":false,"onlyUnUsed":false,"requestUnixUTCTimeStamp":0,"signature":{"systemId":"String","systemSecret":"String","signature":"String"},"includeTransferredTickets":false,"fromDate":"0001-01-01T00:00:00.0000000"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"ticketAndDetails":{"eventTicket":{"id":0,"userId":0,"userAuthId":0,"eventId":0,"timestampBought":"0001-01-01T00:00:00.0000000","timestampActivated":"0001-01-01T00:00:00.0000000","timeStampOrdered":"0001-01-01T00:00:00.0000000","deviceId":"String","phoneVerificationId":0,"paymentMethodId":"String","paymentReference":"String","ticketStatus":"String","phoneVerificationNumber":"String","ticketTokenId":"String","paymentPhoneNumber":"String","ticketTransferredFrom":0,"originalPhoneVerificationNumber":"String","teamPassId":0,"paymentId":"String","isFree":false,"freeTicketFromId":"String","freeTicketFromTypeId":"String","freeTicketCardTypeId":"String","freeTicketCardId":0,"totalPaidForTicket":0,"seatsReservationId":"String","timeStampLastStatusChange":"0001-01-01T00:00:00.0000000","lastTicketStatus":"String","scanCode":"String","scanCodeType":"String","scanCodeNotActive":false,"multipleScanCodes":false,"currency":"String","ticketHasExpired":false},"eventTicketDetails":[{}],"eventInfo":{"id":0,"name":"String","description":"String","externalReference":"String","timeOfEvent":"0001-01-01T00:00:00.0000000","eventLocationId":0,"eventSeriesId":0,"eventOwnerId":0,"eventActive":false,"eventOwnerName":"String","externalOwnerId":"String","teamAwayId":"String","teamAwayName":"String","eventSeriesName":"String","eventLocationName":"String","latitude":0,"longitude":0,"defaultValues":"String","externalReferenceType":"String","eventSeriesActive":false,"allowedKsiCard":"String","seriesId":"String","seriesShowByDefault":false,"postponedNoDate":false,"awayTeamExternalId":"String","sportGenderId":"String","externalIdType":"String","seriesEventSaleSuspended":false,"seriesSaleSuspensionEventStartDate":"0001-01-01T00:00:00.0000000","seriesSaleSuspensionEventEndDate":"0001-01-01T00:00:00.0000000","saleIsActive":false,"hideEvent":false,"imageUrl2":"String","directAccessCode":"String","imageUrl":"String","detailedDescription":"String","ownerImageUrl":"String","ownerImageUrl2":"String","ownerCardsNotAllowed":false,"seatingImageUrl":"String","endOfEvent":"0001-01-01T00:00:00.0000000","endOfEventUTC":"0001-01-01T00:00:00.0000000","timeZone":"String","timeOfEventUTC":"0001-01-01T00:00:00.0000000"},"eventIsToday":false,"eventisLive":false,"minutesToEvent":0},"ticketsAndDetails":[{"eventTicket":{"id":0,"userId":0,"userAuthId":0,"eventId":0,"timestampBought":"0001-01-01T00:00:00.0000000","timestampActivated":"0001-01-01T00:00:00.0000000","timeStampOrdered":"0001-01-01T00:00:00.0000000","deviceId":"String","phoneVerificationId":0,"paymentMethodId":"String","paymentReference":"String","ticketStatus":"String","phoneVerificationNumber":"String","ticketTokenId":"String","paymentPhoneNumber":"String","ticketTransferredFrom":0,"originalPhoneVerificationNumber":"String","teamPassId":0,"paymentId":"String","isFree":false,"freeTicketFromId":"String","freeTicketFromTypeId":"String","freeTicketCardTypeId":"String","freeTicketCardId":0,"totalPaidForTicket":0,"seatsReservationId":"String","timeStampLastStatusChange":"0001-01-01T00:00:00.0000000","lastTicketStatus":"String","scanCode":"String","scanCodeType":"String","scanCodeNotActive":false,"multipleScanCodes":false,"currency":"String","ticketHasExpired":false},"eventTicketDetails":[{}],"eventInfo":{"id":0,"name":"String","description":"String","externalReference":"String","timeOfEvent":"0001-01-01T00:00:00.0000000","eventLocationId":0,"eventSeriesId":0,"eventOwnerId":0,"eventActive":false,"eventOwnerName":"String","externalOwnerId":"String","teamAwayId":"String","teamAwayName":"String","eventSeriesName":"String","eventLocationName":"String","latitude":0,"longitude":0,"defaultValues":"String","externalReferenceType":"String","eventSeriesActive":false,"allowedKsiCard":"String","seriesId":"String","seriesShowByDefault":false,"postponedNoDate":false,"awayTeamExternalId":"String","sportGenderId":"String","externalIdType":"String","seriesEventSaleSuspended":false,"seriesSaleSuspensionEventStartDate":"0001-01-01T00:00:00.0000000","seriesSaleSuspensionEventEndDate":"0001-01-01T00:00:00.0000000","saleIsActive":false,"hideEvent":false,"imageUrl2":"String","directAccessCode":"String","imageUrl":"String","detailedDescription":"String","ownerImageUrl":"String","ownerImageUrl2":"String","ownerCardsNotAllowed":false,"seatingImageUrl":"String","endOfEvent":"0001-01-01T00:00:00.0000000","endOfEventUTC":"0001-01-01T00:00:00.0000000","timeZone":"String","timeOfEventUTC":"0001-01-01T00:00:00.0000000"},"eventIsToday":false,"eventisLive":false,"minutesToEvent":0}],"needs3DVerification":false,"redirectToACSForm":"String","redirectionACSFields":[{"name":"String","value":"String"}],"statusCode":0,"message":"String"}