TicketUserServices

<back to all web services

OwnerCardsOrderRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileApp, Admin, TeamAdmin, MobileAppRequires any of the permissions:ReadData, ReadData
The following routes are available for this service:
POST/OrderOwnerCards
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GeneralOrderResponse:
    status_code: Optional[int] = None
    message: Optional[str] = None
    success: Optional[bool] = None
    payment_is_pending: Optional[bool] = None
    order_token_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OwnerCards:
    id: Optional[int] = None
    owner_id: Optional[int] = None
    owner_card_type_id: Optional[int] = None
    phone_verification_id: Optional[int] = None
    initial_max_tickets: Optional[int] = None
    current_available_tickets: Optional[int] = None
    time_stamp_created_u_t_c: Optional[datetime.datetime] = None
    time_stamp_last_changed_u_t_c: Optional[datetime.datetime] = None
    time_stamp_bought_u_t_c: Optional[datetime.datetime] = None
    time_stamp_ordered_u_t_c: Optional[datetime.datetime] = None
    card_valid_from_u_t_c: Optional[datetime.datetime] = None
    card_valid_to_u_t_c: Optional[datetime.datetime] = None
    has_store_credit: Optional[bool] = None
    card_price: Optional[Decimal] = None
    price_paid: Optional[Decimal] = None
    initial_store_credit: Optional[Decimal] = None
    current_store_credit: Optional[Decimal] = None
    phone_full_verification_number: Optional[str] = None
    holder_id: Optional[str] = None
    holder_name: Optional[str] = None
    holder_email: Optional[str] = None
    card_price_currency: Optional[str] = None
    price_paid_currency: Optional[str] = None
    device_id: Optional[str] = None
    payment_method_id: Optional[str] = None
    payment_reference: Optional[str] = None
    phone_verification_number: Optional[str] = None
    payment_phone_number: Optional[str] = None
    payment_id: Optional[str] = None
    payment_status: Optional[str] = None
    payment_token_id: Optional[str] = None
    max_tickets_per_event: Optional[int] = None
    multiple_payments_id: Optional[str] = None
    image_url: Optional[str] = None
    background_image_url: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OwnerCardsOrderResult(GeneralOrderResponse):
    cards: Optional[List[OwnerCards]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentMethodCreditCardInfo:
    payment_type: Optional[str] = None
    token: Optional[str] = None
    pan: Optional[str] = None
    exp_year: Optional[str] = None
    exp_month: Optional[str] = None
    cvc: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaymentRequestCreditCard:
    payment_method: Optional[PaymentMethodCreditCardInfo] = None
    amount: Optional[Decimal] = None
    currency: Optional[str] = None
    order_id: Optional[str] = None
    trans_action_date: Optional[datetime.datetime] = None
    save_card_to_token: Optional[bool] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BorgunApplePayThreeDSecureInfo:
    data_type: Optional[str] = None
    security_level_ind: Optional[str] = None
    cavv: Optional[str] = None
    ucaf: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BorgunApplePayFinalInfo:
    order_id: Optional[str] = None
    three_d_secure: Optional[BorgunApplePayThreeDSecureInfo] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Borgun3DFinalPaymentMethodInfo:
    payment_type: Optional[str] = None
    token: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Borgun3DFinal3DSecureInfo:
    data_type: Optional[str] = None
    mpi_token: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Borgun3DFinalRequest:
    transaction_type: Optional[str] = None
    amount: Optional[int] = None
    currency: Optional[str] = None
    transaction_date: Optional[datetime.datetime] = None
    order_id: Optional[str] = None
    payment_method: Optional[Borgun3DFinalPaymentMethodInfo] = None
    three_d_secure: Optional[Borgun3DFinal3DSecureInfo] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RequestSignature:
    system_id: Optional[str] = None
    system_secret: Optional[str] = None
    signature: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OwnerCardsOrderRequest:
    owner_card_type_ids: Optional[List[int]] = None
    payment_method_id: Optional[str] = None
    card_info: Optional[PaymentRequestCreditCard] = None
    apple_pay_info: Optional[BorgunApplePayFinalInfo] = None
    borgun3_d_final_info: Optional[Borgun3DFinalRequest] = None
    payment_phone_number: Optional[str] = None
    app_meta_data: Optional[str] = None
    holder_id: Optional[str] = None
    holder_name: Optional[str] = None
    holder_email: Optional[str] = None
    return_cards: Optional[bool] = None
    phone_verification_number: Optional[str] = None
    device_id: Optional[str] = None
    request_unix_u_t_c_time_stamp: Optional[int] = None
    signature: Optional[RequestSignature] = None

Python OwnerCardsOrderRequest 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 /OrderOwnerCards HTTP/1.1 
Host: stubbur-autoupdates-live.smartnewapis.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ownerCardTypeIds: 
	[
		0
	],
	paymentMethodId: String,
	cardInfo: 
	{
		paymentMethod: 
		{
			paymentType: String,
			token: String,
			pan: String,
			expYear: String,
			expMonth: String,
			cvc: String
		},
		amount: 0,
		currency: String,
		orderId: String,
		transActionDate: 0001-01-01,
		saveCardToToken: False
	},
	applePayInfo: 
	{
		orderId: String,
		threeDSecure: 
		{
			dataType: String,
			securityLevelInd: String,
			cavv: String,
			ucaf: String
		}
	},
	borgun3DFinalInfo: 
	{
		transactionType: String,
		amount: 0,
		currency: String,
		transactionDate: 0001-01-01,
		orderId: String,
		paymentMethod: 
		{
			paymentType: String,
			token: String
		},
		threeDSecure: 
		{
			dataType: String,
			mpiToken: String
		}
	},
	paymentPhoneNumber: String,
	appMetaData: String,
	holderId: String,
	holderName: String,
	holderEmail: String,
	returnCards: False,
	phoneVerificationNumber: String,
	deviceId: String,
	requestUnixUTCTimeStamp: 0,
	signature: 
	{
		systemId: String,
		systemSecret: String,
		signature: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	cards: 
	[
		{
			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
		}
	],
	statusCode: 0,
	message: String,
	success: False,
	paymentIsPending: False,
	orderTokenId: String
}