TicketUserServices

<back to all web services

PaymentCardsRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequires the permission:ReadData
The following routes are available for this service:
POST/paymentCardsGet All Credit, Debit and KSI cards for this phone
import Foundation
import ServiceStack

public class PaymentCardsRequest : Codable
{
    public var phoneVerificationNumber:String?
    public var deviceId:String?
    public var onlyForEventId:Int?
    public var checkForExpiry:Bool?
    public var excludeHiddenCards:Bool?
    public var requestUnixUTCTimeStamp:Int?
    public var includeDeletedCards:Bool?
    public var signature:RequestSignature?

    required public init(){}
}

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

    required public init(){}
}

public class PaymentCardsResult : Codable
{
    public var cards:[BorgunSavedCards] = []
    public var ksiCards:[KsiCards] = []
    public var ownerCards:[OwnerCards] = []
    public var ksiCardInfoList:[KsiCardInfo] = []
    public var ownerCardInfoList:[OwnerCardInfo] = []
    public var statusCode:Int?
    public var message:String?

    required public init(){}
}

public class BorgunSavedCards : Codable
{
    public var id:Int?
    public var creationDate:Date?
    public var lastTokenDate:Date?
    public var isDebit:Bool?
    public var phoneVerificationNumber:String?
    public var deviceId:String?
    public var virtualCardNumber:String?
    public var panLastFour:String?
    public var expYear:String?
    public var expMonth:String?
    public var token:String?
    public var cardType:String?
    public var deletedByUser:Bool?
    public var deletedFromOrigin:Bool?
    public var dateDeletedByUser:Date?
    public var dateDeletedFromOrigin:Date?
    public var isDeleted:Bool?
    public var dateDeletedBySystem:Date?
    public var deletedBySystem:Bool?

    required public init(){}
}

public class KsiCards : Codable
{
    public var id:Int?
    public var creationDate:Date?
    public var phoneFullVerificationNumber:String?
    public var deviceId:String?
    public var ksiCardTypeId:String?
    public var ksiClubId:String?
    public var holderName:String?
    public var canTransferToPhoneFullNumber:String?
    public var canTransferToNName:String?
    public var expYear:String?
    public var expMonth:String?

    required public init(){}
}

public class OwnerCards : Codable
{
    public var id:Int?
    public var ownerId:Int?
    public var ownerCardTypeId:Int?
    public var phoneVerificationId:Int?
    public var initialMaxTickets:Int?
    public var currentAvailableTickets:Int?
    public var timeStampCreatedUTC:Date?
    public var timeStampLastChangedUTC:Date?
    public var timeStampBoughtUTC:Date?
    public var timeStampOrderedUTC:Date?
    public var cardValidFromUTC:Date?
    public var cardValidToUTC:Date?
    public var hasStoreCredit:Bool?
    public var cardPrice:Double?
    public var pricePaid:Double?
    public var initialStoreCredit:Double?
    public var currentStoreCredit:Double?
    public var phoneFullVerificationNumber:String?
    public var holderId:String?
    public var holderName:String?
    public var holderEmail:String?
    public var cardPriceCurrency:String?
    public var pricePaidCurrency:String?
    public var deviceId:String?
    public var paymentMethodId:String?
    public var paymentReference:String?
    public var phoneVerificationNumber:String?
    public var paymentPhoneNumber:String?
    public var paymentId:String?
    public var paymentStatus:String?
    public var paymentTokenId:String?
    public var maxTicketsPerEvent:Int?
    public var multiplePaymentsId:String?
    public var imageUrl:String?
    public var backgroundImageUrl:String?

    required public init(){}
}

public class KsiCardInfo : Codable
{
    public var card:KsiCards?
    public var cardType:KsiCardTypes?

    required public init(){}
}

public class KsiCardTypes : Codable
{
    public var ksiCardTypeId:String?
    public var ksiCardTypeName:String?
    public var ksiCardTypeDescription:String?
    public var cardTypeOwner:String?
    public var maxTicketsPerEvent:Int?

    required public init(){}
}

public class OwnerCardInfo : Codable
{
    public var card:OwnerCards?
    public var cardType:OwnerCardType?
    public var ownerName:String?

    required public init(){}
}

public class OwnerCardType : Codable
{
    public var id:Int?
    public var ownerId:Int?
    public var maxTickets:Int?
    public var timeStampCreatedUTC:Date?
    public var timeStampLastChangedUTC:Date?
    public var saleStartDateUTC:Date?
    public var saleEndDateUTC:Date?
    public var validStartDateForNewCardsUTC:Date?
    public var validEndDateForNewCardsUTC:Date?
    public var hasStoreCredit:Bool?
    public var isActive:Bool?
    public var onlyForTeamUse:Bool?
    public var price:Double?
    public var initialStoreCredit:Double?
    public var Description:String?
    public var name:String?
    public var imageUrl:String?
    public var currency:String?
    public var maxTicketsPerEvent:Int?
    public var backgroundImageUrl:String?
    public var validForConnectedOwners:Bool?
    public var superOwnerId:Int?

    required public init(){}
}


Swift PaymentCardsRequest DTOs

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

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /paymentCards HTTP/1.1 
Host: stubbur-autoupdates-live.smartnewapis.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	phoneVerificationNumber: String,
	deviceId: String,
	onlyForEventId: 0,
	checkForExpiry: False,
	excludeHiddenCards: False,
	requestUnixUTCTimeStamp: 0,
	includeDeletedCards: False,
	signature: 
	{
		systemId: String,
		systemSecret: String,
		signature: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	cards: 
	[
		{
			id: 0,
			creationDate: 0001-01-01,
			lastTokenDate: 0001-01-01,
			isDebit: False,
			phoneVerificationNumber: String,
			deviceId: String,
			virtualCardNumber: String,
			panLastFour: String,
			expYear: String,
			expMonth: String,
			token: String,
			cardType: String,
			deletedByUser: False,
			deletedFromOrigin: False,
			dateDeletedByUser: 0001-01-01,
			dateDeletedFromOrigin: 0001-01-01,
			isDeleted: False,
			dateDeletedBySystem: 0001-01-01,
			deletedBySystem: False
		}
	],
	ksiCards: 
	[
		{
			id: 0,
			creationDate: 0001-01-01,
			phoneFullVerificationNumber: String,
			deviceId: String,
			ksiCardTypeId: String,
			ksiClubId: String,
			holderName: String,
			canTransferToPhoneFullNumber: String,
			canTransferToNName: String,
			expYear: String,
			expMonth: String
		}
	],
	ownerCards: 
	[
		{
			id: 0,
			ownerId: 0,
			ownerCardTypeId: 0,
			phoneVerificationId: 0,
			initialMaxTickets: 0,
			currentAvailableTickets: 0,
			timeStampCreatedUTC: 0001-01-01,
			timeStampLastChangedUTC: 0001-01-01,
			timeStampBoughtUTC: 0001-01-01,
			timeStampOrderedUTC: 0001-01-01,
			cardValidFromUTC: 0001-01-01,
			cardValidToUTC: 0001-01-01,
			hasStoreCredit: False,
			cardPrice: 0,
			pricePaid: 0,
			initialStoreCredit: 0,
			currentStoreCredit: 0,
			phoneFullVerificationNumber: String,
			holderId: String,
			holderName: String,
			holderEmail: String,
			cardPriceCurrency: String,
			pricePaidCurrency: String,
			deviceId: String,
			paymentMethodId: String,
			paymentReference: String,
			phoneVerificationNumber: String,
			paymentPhoneNumber: String,
			paymentId: String,
			paymentStatus: String,
			paymentTokenId: String,
			maxTicketsPerEvent: 0,
			multiplePaymentsId: String,
			imageUrl: String,
			backgroundImageUrl: String
		}
	],
	ksiCardInfoList: 
	[
		{
			card: 
			{
				id: 0,
				creationDate: 0001-01-01,
				phoneFullVerificationNumber: String,
				deviceId: String,
				ksiCardTypeId: String,
				ksiClubId: String,
				holderName: String,
				canTransferToPhoneFullNumber: String,
				canTransferToNName: String,
				expYear: String,
				expMonth: String
			},
			cardType: 
			{
				ksiCardTypeId: String,
				ksiCardTypeName: String,
				ksiCardTypeDescription: String,
				cardTypeOwner: String,
				maxTicketsPerEvent: 0
			}
		}
	],
	ownerCardInfoList: 
	[
		{
			card: 
			{
				id: 0,
				ownerId: 0,
				ownerCardTypeId: 0,
				phoneVerificationId: 0,
				initialMaxTickets: 0,
				currentAvailableTickets: 0,
				timeStampCreatedUTC: 0001-01-01,
				timeStampLastChangedUTC: 0001-01-01,
				timeStampBoughtUTC: 0001-01-01,
				timeStampOrderedUTC: 0001-01-01,
				cardValidFromUTC: 0001-01-01,
				cardValidToUTC: 0001-01-01,
				hasStoreCredit: False,
				cardPrice: 0,
				pricePaid: 0,
				initialStoreCredit: 0,
				currentStoreCredit: 0,
				phoneFullVerificationNumber: String,
				holderId: String,
				holderName: String,
				holderEmail: String,
				cardPriceCurrency: String,
				pricePaidCurrency: String,
				deviceId: String,
				paymentMethodId: String,
				paymentReference: String,
				phoneVerificationNumber: String,
				paymentPhoneNumber: String,
				paymentId: String,
				paymentStatus: String,
				paymentTokenId: String,
				maxTicketsPerEvent: 0,
				multiplePaymentsId: String,
				imageUrl: String,
				backgroundImageUrl: String
			},
			cardType: 
			{
				id: 0,
				ownerId: 0,
				maxTickets: 0,
				timeStampCreatedUTC: 0001-01-01,
				timeStampLastChangedUTC: 0001-01-01,
				saleStartDateUTC: 0001-01-01,
				saleEndDateUTC: 0001-01-01,
				validStartDateForNewCardsUTC: 0001-01-01,
				validEndDateForNewCardsUTC: 0001-01-01,
				hasStoreCredit: False,
				isActive: False,
				onlyForTeamUse: False,
				price: 0,
				initialStoreCredit: 0,
				description: String,
				name: String,
				imageUrl: String,
				currency: String,
				maxTicketsPerEvent: 0,
				backgroundImageUrl: String,
				validForConnectedOwners: False,
				superOwnerId: 0
			},
			ownerName: String
		}
	],
	statusCode: 0,
	message: String
}