TicketUserServices

<back to all web services

OwnerCardsUpgradeRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdminRequires the permission:ReadData
The following routes are available for this service:
POST/OrderOwnerCards/upgradeCharge the delta, issue the target card (PricePaid = delta), revoke the source card, re-link future tickets — one transaction, idempotent
import java.math.*
import java.util.*
import net.servicestack.client.*


open class OwnerCardsUpgradeRequest
{
    var buyerPhone:String? = null
    var sourceOwnerCardId:Int? = null
    var targetOwnerCardTypeId:Int? = null
    var idempotencyKey:String? = null
    var paymentMethodId:String? = null
    var borgun3DFinalInfo:Borgun3DFinalRequest? = null
    var tenders:ArrayList<OrderTender> = ArrayList<OrderTender>()
    var holderName:String? = null
    var holderEmail:String? = null
    var deviceId:String? = null
    var returnCards:Boolean? = null
}

open class Borgun3DFinalRequest
{
    var transactionType:String? = null
    var amount:Int? = null
    var currency:String? = null
    var transactionDate:Date? = null
    var orderId:String? = null
    var paymentMethod:Borgun3DFinalPaymentMethodInfo? = null
    var threeDSecure:Borgun3DFinal3DSecureInfo? = null
}

open class Borgun3DFinalPaymentMethodInfo
{
    var paymentType:String? = null
    var token:String? = null
    var virtualNumber:String? = null
    var expYear:String? = null
    var expMonth:String? = null
    var panLastFour:String? = null
}

open class Borgun3DFinal3DSecureInfo
{
    var dataType:String? = null
    var mpiToken:String? = null
}

open class OrderTender
{
    var kind:String? = null
    var code:String? = null
    var amountMinor:Int? = null
    var idempotencyKey:String? = null
    var holdId:Int? = null
    var appliedMinor:Int? = null
}

open class OwnerCardsUpgradeResult : OwnerCardsOrderResult()
{
    var sourceOwnerCardId:Int? = null
    var sourceOwnerCardTypeId:Int? = null
    var sourceTypeName:String? = null
    var newOwnerCardId:Int? = null
    var targetOwnerCardTypeId:Int? = null
    var targetTypeName:String? = null
    var relinkedTickets:Int? = null
    var paymentReference:String? = null
    var refundPending:Boolean? = null
}

open class OwnerCardsOrderResult : GeneralOrderResponse()
{
    var cards:ArrayList<OwnerCards> = ArrayList<OwnerCards>()
    var orderReference:String? = null
    var isSubscription:Boolean? = null
    var monthlyPrice:BigDecimal? = null
    var transactionFee:BigDecimal? = null
    var months:Int? = null
    var paymentTokenId:String? = null
    var subscriptionTokenMissing:Boolean? = null
    var priceTotal:Int? = null
    var discountAmount:Int? = null
    var giftCardAmount:Int? = null
    var donationAmount:Int? = null
    var chargedAmount:Int? = null
    var reason:String? = null
}

open class GeneralOrderResponse
{
    var statusCode:Int? = null
    var message:String? = null
    var success:Boolean? = null
    var paymentIsPending:Boolean? = null
    var orderTokenId: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
    var orderReference:String? = null
    var upgradedFromOwnerCardId:Int? = null
}

Kotlin OwnerCardsUpgradeRequest 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 /OrderOwnerCards/upgrade HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"buyerPhone":"String","sourceOwnerCardId":0,"targetOwnerCardTypeId":0,"idempotencyKey":"String","paymentMethodId":"String","borgun3DFinalInfo":{"transactionType":"String","amount":0,"currency":"String","transactionDate":"0001-01-01T00:00:00.0000000","orderId":"String","paymentMethod":{"paymentType":"String","token":"String","virtualNumber":"String","expYear":"String","expMonth":"String","panLastFour":"String"},"threeDSecure":{"dataType":"String","mpiToken":"String"}},"tenders":[{"kind":"String","code":"String","amountMinor":0,"idempotencyKey":"String","holdId":0,"appliedMinor":0}],"holderName":"String","holderEmail":"String","deviceId":"String","returnCards":false}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"sourceOwnerCardId":0,"sourceOwnerCardTypeId":0,"sourceTypeName":"String","newOwnerCardId":0,"targetOwnerCardTypeId":0,"targetTypeName":"String","relinkedTickets":0,"paymentReference":"String","refundPending":false,"cards":[{"id":0,"ownerId":0,"ownerCardTypeId":0,"phoneVerificationId":0,"initialMaxTickets":0,"currentAvailableTickets":0,"timeStampCreatedUTC":"0001-01-01T00:00:00.0000000","timeStampLastChangedUTC":"0001-01-01T00:00:00.0000000","timeStampBoughtUTC":"0001-01-01T00:00:00.0000000","timeStampOrderedUTC":"0001-01-01T00:00:00.0000000","cardValidFromUTC":"0001-01-01T00:00:00.0000000","cardValidToUTC":"0001-01-01T00:00:00.0000000","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","orderReference":"String","upgradedFromOwnerCardId":0}],"orderReference":"String","isSubscription":false,"monthlyPrice":0,"transactionFee":0,"months":0,"paymentTokenId":"String","subscriptionTokenMissing":false,"priceTotal":0,"discountAmount":0,"giftCardAmount":0,"donationAmount":0,"chargedAmount":0,"reason":"String","statusCode":0,"message":"String","success":false,"paymentIsPending":false,"orderTokenId":"String"}