Requires any of the roles: | Admin, TeamAdmin, MobileApp | Requires the permission: | ReadData |
GET POST | /ticketOrder |
---|
import Foundation
import ServiceStack
public class TicketOrder : Codable
{
public var teamPass:TeamPassType?
public var order:Ticket?
public var orderDetails:[TicketDetails] = []
public var ticketHolders:TicketHoldersList?
public var seatReservationTokenId:String?
public var cardInfo:PaymentRequestCreditCard?
public var paymentPhoneNumber:String?
public var paymentCardId:Int?
public var requestUnixUTCTimeStamp:Int?
public var signature:RequestSignature?
public var phoneVerificationNumber:String?
public var deviceId:String?
public var dontReturnTickets:Bool?
public var appMetaData:String?
public var applePayInfo:BorgunApplePayFinalInfo?
public var borgun3DFinalInfo:Borgun3DFinalRequest?
required public init(){}
}
public class TeamPassType : Codable
{
public var id:Int?
public var name:String?
public var price:Double?
public var seriesId:Int?
public var ownerId:Int?
public var seriesTicketType:Int?
public var seriesOwnerTicketType:Int?
public var isActive:Bool?
public var onlyForTeamUse:Bool?
public var timestampCreated:Date?
public var timestampLastChanged:Date?
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 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 TicketHoldersList : Codable
{
public var ticketHolders:[TicketHolderInfo] = []
public var holderInfoRequired:Bool?
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 PaymentRequestCreditCard : Codable
{
public var paymentMethod:PaymentMethodCreditCardInfo?
public var amount:Double?
public var currency:String?
public var orderId:String?
public var transActionDate:Date?
public var saveCardToToken:Bool?
required public init(){}
}
public class PaymentMethodCreditCardInfo : Codable
{
public var paymentType:String?
public var token:String?
public var pan:String?
public var expYear:String?
public var expMonth:String?
public var cvc:String?
required public init(){}
}
public class RequestSignature : Codable
{
public var systemId:String?
public var systemSecret:String?
public var signature:String?
required public init(){}
}
public class BorgunApplePayFinalInfo : Codable
{
public var orderId:String?
public var threeDSecure:BorgunApplePayThreeDSecureInfo?
required public init(){}
}
public class BorgunApplePayThreeDSecureInfo : Codable
{
public var dataType:String?
public var securityLevelInd:String?
public var cavv:String?
public var ucaf:String?
required public init(){}
}
public class Borgun3DFinalRequest : Codable
{
public var transactionType:String?
public var amount:Int?
public var currency:String?
public var transactionDate:Date?
public var orderId:String?
public var paymentMethod:Borgun3DFinalPaymentMethodInfo?
public var threeDSecure:Borgun3DFinal3DSecureInfo?
required public init(){}
}
public class Borgun3DFinalPaymentMethodInfo : Codable
{
public var paymentType:String?
public var token:String?
required public init(){}
}
public class Borgun3DFinal3DSecureInfo : Codable
{
public var dataType:String?
public var mpiToken:String?
required public init(){}
}
public class TicketOrderResult : Codable
{
public var ticketAndDetails:EventTicketWithDetails?
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 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 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(){}
}
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 /ticketOrder HTTP/1.1
Host: stubbur-autoupdates-live.smartnewapis.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"teamPass":{"id":0,"name":"String","price":0,"seriesId":0,"ownerId":0,"seriesTicketType":0,"seriesOwnerTicketType":0,"isActive":false,"onlyForTeamUse":false,"timestampCreated":"0001-01-01T00:00:00.0000000","timestampLastChanged":"0001-01-01T00:00:00.0000000"},"order":{"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},"orderDetails":[{"id":0,"ticketId":0,"eventSeriesTicketType":0,"eventSeriesOwnerTicketType":0,"ticketPrice":0,"totalPrice":0,"count":0,"ticketColor":"String","showUsedTickets":false,"ticketName":"String","ticketDisplayString":"String","ticketDetailsTransferredFrom":0,"teamPassId":0,"isSpecialTicket":false,"specialTicketId":"String","justChangedBySQL":false,"sqlJustChangedTimeStamp":"0001-01-01T00:00:00.0000000","currency":"String"}],"ticketHolders":{"ticketHolders":[{"name":"String","fullPhoneNumber":"String","holderId":"String","seatId":0,"seatDisplayString":"String"}],"holderInfoRequired":false},"seatReservationTokenId":"String","cardInfo":{"paymentMethod":{"paymentType":"String","token":"String","pan":"String","expYear":"String","expMonth":"String","cvc":"String"},"amount":0,"currency":"String","orderId":"String","transActionDate":"0001-01-01T00:00:00.0000000","saveCardToToken":false},"paymentPhoneNumber":"String","paymentCardId":0,"requestUnixUTCTimeStamp":0,"signature":{"systemId":"String","systemSecret":"String","signature":"String"},"phoneVerificationNumber":"String","deviceId":"String","dontReturnTickets":false,"appMetaData":"String","applePayInfo":{"orderId":"String","threeDSecure":{"dataType":"String","securityLevelInd":"String","cavv":"String","ucaf":"String"}},"borgun3DFinalInfo":{"transactionType":"String","amount":0,"currency":"String","transactionDate":"0001-01-01T00:00:00.0000000","orderId":"String","paymentMethod":{"paymentType":"String","token":"String"},"threeDSecure":{"dataType":"String","mpiToken":"String"}}}
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},"statusCode":0,"message":"String"}