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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<OwnerCardsUpgradeRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
  <Borgun3DFinalInfo xmlns:d2p1="http://schemas.datacontract.org/2004/07/BorgunRPGData">
    <d2p1:Amount>0</d2p1:Amount>
    <d2p1:Currency>String</d2p1:Currency>
    <d2p1:OrderId>String</d2p1:OrderId>
    <d2p1:PaymentMethod>
      <d2p1:ExpMonth>String</d2p1:ExpMonth>
      <d2p1:ExpYear>String</d2p1:ExpYear>
      <d2p1:PanLastFour>String</d2p1:PanLastFour>
      <d2p1:PaymentType>String</d2p1:PaymentType>
      <d2p1:Token>String</d2p1:Token>
      <d2p1:VirtualNumber>String</d2p1:VirtualNumber>
    </d2p1:PaymentMethod>
    <d2p1:ThreeDSecure>
      <d2p1:DataType>String</d2p1:DataType>
      <d2p1:MpiToken>String</d2p1:MpiToken>
    </d2p1:ThreeDSecure>
    <d2p1:TransactionDate>0001-01-01T00:00:00</d2p1:TransactionDate>
    <d2p1:TransactionType>String</d2p1:TransactionType>
  </Borgun3DFinalInfo>
  <BuyerPhone>String</BuyerPhone>
  <DeviceId>String</DeviceId>
  <HolderEmail>String</HolderEmail>
  <HolderName>String</HolderName>
  <IdempotencyKey>String</IdempotencyKey>
  <PaymentMethodId>String</PaymentMethodId>
  <ReturnCards>false</ReturnCards>
  <SourceOwnerCardId>0</SourceOwnerCardId>
  <TargetOwnerCardTypeId>0</TargetOwnerCardTypeId>
  <Tenders>
    <OrderTender>
      <AmountMinor>0</AmountMinor>
      <AppliedMinor>0</AppliedMinor>
      <Code>String</Code>
      <HoldId>0</HoldId>
      <IdempotencyKey>String</IdempotencyKey>
      <Kind>String</Kind>
    </OrderTender>
  </Tenders>
</OwnerCardsUpgradeRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<OwnerCardsUpgradeResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
  <Message>String</Message>
  <OrderTokenId>String</OrderTokenId>
  <PaymentIsPending>false</PaymentIsPending>
  <StatusCode>0</StatusCode>
  <Success>false</Success>
  <Cards xmlns:d2p1="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel.Types">
    <d2p1:OwnerCards>
      <d2p1:BackgroundImageUrl>String</d2p1:BackgroundImageUrl>
      <d2p1:CardPrice>0</d2p1:CardPrice>
      <d2p1:CardPriceCurrency>String</d2p1:CardPriceCurrency>
      <d2p1:CardValidFromUTC>0001-01-01T00:00:00</d2p1:CardValidFromUTC>
      <d2p1:CardValidToUTC>0001-01-01T00:00:00</d2p1:CardValidToUTC>
      <d2p1:CurrentAvailableTickets>0</d2p1:CurrentAvailableTickets>
      <d2p1:CurrentStoreCredit>0</d2p1:CurrentStoreCredit>
      <d2p1:DeviceId>String</d2p1:DeviceId>
      <d2p1:HasStoreCredit>false</d2p1:HasStoreCredit>
      <d2p1:HolderEmail>String</d2p1:HolderEmail>
      <d2p1:HolderId>String</d2p1:HolderId>
      <d2p1:HolderName>String</d2p1:HolderName>
      <d2p1:ID>0</d2p1:ID>
      <d2p1:ImageUrl>String</d2p1:ImageUrl>
      <d2p1:InitialMaxTickets>0</d2p1:InitialMaxTickets>
      <d2p1:InitialStoreCredit>0</d2p1:InitialStoreCredit>
      <d2p1:MaxTicketsPerEvent>0</d2p1:MaxTicketsPerEvent>
      <d2p1:MultiplePaymentsId>String</d2p1:MultiplePaymentsId>
      <d2p1:OrderReference>String</d2p1:OrderReference>
      <d2p1:OwnerCardTypeId>0</d2p1:OwnerCardTypeId>
      <d2p1:OwnerId>0</d2p1:OwnerId>
      <d2p1:PaymentId>String</d2p1:PaymentId>
      <d2p1:PaymentMethodId>String</d2p1:PaymentMethodId>
      <d2p1:PaymentPhoneNumber>String</d2p1:PaymentPhoneNumber>
      <d2p1:PaymentReference>String</d2p1:PaymentReference>
      <d2p1:PaymentStatus>String</d2p1:PaymentStatus>
      <d2p1:PaymentTokenId>String</d2p1:PaymentTokenId>
      <d2p1:PhoneFullVerificationNumber>String</d2p1:PhoneFullVerificationNumber>
      <d2p1:PhoneVerificationId>0</d2p1:PhoneVerificationId>
      <d2p1:PhoneVerificationNumber>String</d2p1:PhoneVerificationNumber>
      <d2p1:PricePaid>0</d2p1:PricePaid>
      <d2p1:PricePaidCurrency>String</d2p1:PricePaidCurrency>
      <d2p1:TimeStampBoughtUTC>0001-01-01T00:00:00</d2p1:TimeStampBoughtUTC>
      <d2p1:TimeStampCreatedUTC>0001-01-01T00:00:00</d2p1:TimeStampCreatedUTC>
      <d2p1:TimeStampLastChangedUTC>0001-01-01T00:00:00</d2p1:TimeStampLastChangedUTC>
      <d2p1:TimeStampOrderedUTC>0001-01-01T00:00:00</d2p1:TimeStampOrderedUTC>
      <d2p1:UpgradedFromOwnerCardId>0</d2p1:UpgradedFromOwnerCardId>
    </d2p1:OwnerCards>
  </Cards>
  <ChargedAmount>0</ChargedAmount>
  <DiscountAmount>0</DiscountAmount>
  <DonationAmount>0</DonationAmount>
  <GiftCardAmount>0</GiftCardAmount>
  <IsSubscription>false</IsSubscription>
  <MonthlyPrice>0</MonthlyPrice>
  <Months>0</Months>
  <OrderReference>String</OrderReference>
  <PaymentTokenId>String</PaymentTokenId>
  <PriceTotal>0</PriceTotal>
  <Reason>String</Reason>
  <SubscriptionTokenMissing>false</SubscriptionTokenMissing>
  <TransactionFee>0</TransactionFee>
  <NewOwnerCardId>0</NewOwnerCardId>
  <PaymentReference>String</PaymentReference>
  <RefundPending>false</RefundPending>
  <RelinkedTickets>0</RelinkedTickets>
  <SourceOwnerCardId>0</SourceOwnerCardId>
  <SourceOwnerCardTypeId>0</SourceOwnerCardTypeId>
  <SourceTypeName>String</SourceTypeName>
  <TargetOwnerCardTypeId>0</TargetOwnerCardTypeId>
  <TargetTypeName>String</TargetTypeName>
</OwnerCardsUpgradeResult>