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 java.math.*
import java.util.*
import net.servicestack.client.*


open class PaymentCardsRequest
{
    var phoneVerificationNumber:String? = null
    var deviceId:String? = null
    var onlyForEventId:Int? = null
    var checkForExpiry:Boolean? = null
    var excludeHiddenCards:Boolean? = null
    var requestUnixUTCTimeStamp:Long? = null
    var includeDeletedCards:Boolean? = null
    var signature:RequestSignature? = null
}

open class RequestSignature
{
    var systemId:String? = null
    var systemSecret:String? = null
    var signature:String? = null
}

open class PaymentCardsResult
{
    var cards:ArrayList<BorgunSavedCards> = ArrayList<BorgunSavedCards>()
    var ksiCards:ArrayList<KsiCards> = ArrayList<KsiCards>()
    var ownerCards:ArrayList<OwnerCards> = ArrayList<OwnerCards>()
    var ksiCardInfoList:ArrayList<KsiCardInfo> = ArrayList<KsiCardInfo>()
    var ownerCardInfoList:ArrayList<OwnerCardInfo> = ArrayList<OwnerCardInfo>()
    var statusCode:Int? = null
    var message:String? = null
}

open class BorgunSavedCards
{
    var id:Int? = null
    var creationDate:Date? = null
    var lastTokenDate:Date? = null
    var isDebit:Boolean? = null
    var phoneVerificationNumber:String? = null
    var deviceId:String? = null
    var virtualCardNumber:String? = null
    var panLastFour:String? = null
    var expYear:String? = null
    var expMonth:String? = null
    var token:String? = null
    var cardType:String? = null
    var deletedByUser:Boolean? = null
    var deletedFromOrigin:Boolean? = null
    var dateDeletedByUser:Date? = null
    var dateDeletedFromOrigin:Date? = null
    var isDeleted:Boolean? = null
    var dateDeletedBySystem:Date? = null
    var deletedBySystem:Boolean? = null
}

open class KsiCards
{
    var id:Int? = null
    var creationDate:Date? = null
    var phoneFullVerificationNumber:String? = null
    var deviceId:String? = null
    var ksiCardTypeId:String? = null
    var ksiClubId:String? = null
    var holderName:String? = null
    var canTransferToPhoneFullNumber:String? = null
    var canTransferToNName:String? = null
    var expYear:String? = null
    var expMonth:String? = null
}

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

open class KsiCardInfo
{
    var card:KsiCards? = null
    var cardType:KsiCardTypes? = null
}

open class KsiCardTypes
{
    var ksiCardTypeId:String? = null
    var ksiCardTypeName:String? = null
    var ksiCardTypeDescription:String? = null
    var cardTypeOwner:String? = null
    var maxTicketsPerEvent:Int? = null
}

open class OwnerCardInfo
{
    var card:OwnerCards? = null
    var cardType:OwnerCardType? = null
    var ownerName:String? = null
}

open class OwnerCardType
{
    var id:Int? = null
    var ownerId:Int? = null
    var maxTickets:Int? = null
    var timeStampCreatedUTC:Date? = null
    var timeStampLastChangedUTC:Date? = null
    var saleStartDateUTC:Date? = null
    var saleEndDateUTC:Date? = null
    var validStartDateForNewCardsUTC:Date? = null
    var validEndDateForNewCardsUTC:Date? = null
    var hasStoreCredit:Boolean? = null
    var isActive:Boolean? = null
    var onlyForTeamUse:Boolean? = null
    var price:BigDecimal? = null
    var initialStoreCredit:BigDecimal? = null
    var description:String? = null
    var name:String? = null
    var imageUrl:String? = null
    var currency:String? = null
    var maxTicketsPerEvent:Int? = null
    var backgroundImageUrl:String? = null
    var validForConnectedOwners:Boolean? = null
    var superOwnerId:Int? = null
}

Kotlin 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
}