TicketUserServices

<back to all web services

SupportCustomer360Request

Requires Authentication
Requires the role:AdminRequires the permission:ReadData
The following routes are available for this service:
POST/Support/Customer360
import java.math.*
import java.util.*
import net.servicestack.client.*


open class SupportCustomer360Request
{
    var phone:String? = null
    var email:String? = null
}

open class SupportCustomer360Result
{
    var phone:String? = null
    var email:String? = null
    var tickets:ArrayList<SupportTicketRow> = ArrayList<SupportTicketRow>()
    var ownerCards:ArrayList<SupportOwnerCardRow> = ArrayList<SupportOwnerCardRow>()
    var webshopOrders:ArrayList<SupportWebshopOrderRow> = ArrayList<SupportWebshopOrderRow>()
    var giftCards:ArrayList<SupportGiftCardRow> = ArrayList<SupportGiftCardRow>()
    var sharedTicketLinks:ArrayList<SupportSharedLinkRow> = ArrayList<SupportSharedLinkRow>()
    var totals:SupportCustomerTotals? = null
    var warnings:ArrayList<String> = ArrayList<String>()
    var statusCode:Int? = null
    var message:String? = null
}

open class SupportTicketRow
{
    var ticketId:Int? = null
    var ticketTokenId:String? = null
    var eventId:Int? = null
    var event:String? = null
    var timeOfEventUTC:Date? = null
    var eventOwnerId:Int? = null
    var eventOwnerName:String? = null
    var ticketStatus:String? = null
    var ticketName:String? = null
    var paymentMethodId:String? = null
    var paymentId:String? = null
    var paymentReference:String? = null
    var timestampBought:Date? = null
    var timestampActivated:Date? = null
    var holderName:String? = null
    var phoneVerificationNumber:String? = null
    var paymentPhoneNumber:String? = null
    var seatDisplayString:String? = null
    var sectionName:String? = null
    var rowName:String? = null
    var seatName:String? = null
    var totalPrice:BigDecimal? = null
    var count:Int? = null
    var ticketTransferredFrom:Int? = null
    var originalPhoneVerificationNumber:String? = null
    var deviceId:String? = null
    var neverOpened:Boolean? = null
}

open class SupportOwnerCardRow
{
    var id:Int? = null
    var ownerId:Int? = null
    var ownerName:String? = null
    var ownerCardTypeId:Int? = null
    var ownerCardTypeName:String? = null
    var holderName:String? = null
    var holderEmail:String? = null
    var phoneVerificationNumber:String? = null
    var paymentPhoneNumber:String? = null
    var paymentStatus:String? = null
    var paymentMethodId:String? = null
    var paymentId:String? = null
    var paymentReference:String? = null
    var timeStampBoughtUTC:Date? = null
    var cardValidFromUTC:Date? = null
    var cardValidToUTC:Date? = null
    var initialMaxTickets:Int? = null
    var currentAvailableTickets:Int? = null
    var cardPrice:BigDecimal? = null
    var pricePaid:BigDecimal? = null
    var currentStoreCredit:BigDecimal? = null
}

open class SupportWebshopOrderRow
{
    var id:Int? = null
    var orderReference:String? = null
    var ownerId:Int? = null
    var ownerName:String? = null
    var status:String? = null
    var totalMinor:Int? = null
    var deliveryFeeMinor:Int? = null
    var totalDiscountMinor:Int? = null
    var giftPaidMinor:Int? = null
    var currency:String? = null
    var deliveryType:String? = null
    var paymentMethodId:String? = null
    var paymentId:String? = null
    var paymentReference:String? = null
    var createdAt:Date? = null
    var updatedAt:Date? = null
    var buyerName:String? = null
    var buyerEmail:String? = null
    var buyerPhone:String? = null
    var lines:ArrayList<WebshopOrderLine> = ArrayList<WebshopOrderLine>()
}

open class WebshopOrderLine
{
    var id:Int? = null
    var orderId:Int? = null
    var productId:Int? = null
    var variantId:Int? = null
    @StringLength(200)
    var productName:String? = null

    @StringLength(50)
    var size:String? = null

    @StringLength(50)
    var color:String? = null

    var unitPriceMinor:Int? = null
    var quantity:Int? = null
    var lineTotalMinor:Int? = null
    @StringLength(20)
    var status:String? = null

    var legacyDetailId:Int? = null
    var createdAt:Date? = null
}

open class SupportGiftCardRow
{
    var id:Int? = null
    var codeLast4:String? = null
    var codeMasked:String? = null
    var status:String? = null
    var scope:String? = null
    var scopeOwnerId:Int? = null
    var scopeOwnerName:String? = null
    var purchaseOwnerId:Int? = null
    var purchaseOwnerName:String? = null
    var currency:String? = null
    var initialValueMinor:Int? = null
    var currentBalanceMinor:Int? = null
    var createdAt:Date? = null
    var activatedAt:Date? = null
    var expiresAt:Date? = null
    var purchasePaymentReference:String? = null
    var paymentId:String? = null
    var paymentMethodId:String? = null
    var buyerName:String? = null
    var buyerEmail:String? = null
    var buyerPhone:String? = null
}

open class SupportSharedLinkRow
{
    var id:Int? = null
    var eventId:Int? = null
    var eventName:String? = null
    var eventOwnerId:Int? = null
    var eventOwnerName:String? = null
    var status:String? = null
    var recipientPhone:String? = null
    var recipientEmail:String? = null
    var ticketCount:Int? = null
    var createdAt:Date? = null
    var validTo:Date? = null
    var soldAt:Date? = null
    var soldTicketOrderId:Int? = null
}

open class SupportCustomerTotals
{
    var ticketSpend:BigDecimal? = null
    var ticketSpendLive:BigDecimal? = null
    var webshopSpendMinor:Long? = null
    var giftCardSpendMinor:Long? = null
}

Kotlin SupportCustomer360Request DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /Support/Customer360 HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"phone":"String","email":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"phone":"String","email":"String","tickets":[{"ticketId":0,"ticketTokenId":"String","eventId":0,"event":"String","timeOfEventUTC":"0001-01-01T00:00:00.0000000","eventOwnerId":0,"eventOwnerName":"String","ticketStatus":"String","ticketName":"String","paymentMethodId":"String","paymentId":"String","paymentReference":"String","timestampBought":"0001-01-01T00:00:00.0000000","timestampActivated":"0001-01-01T00:00:00.0000000","holderName":"String","phoneVerificationNumber":"String","paymentPhoneNumber":"String","seatDisplayString":"String","sectionName":"String","rowName":"String","seatName":"String","totalPrice":0,"count":0,"ticketTransferredFrom":0,"originalPhoneVerificationNumber":"String","deviceId":"String","neverOpened":false}],"ownerCards":[{"id":0,"ownerId":0,"ownerName":"String","ownerCardTypeId":0,"ownerCardTypeName":"String","holderName":"String","holderEmail":"String","phoneVerificationNumber":"String","paymentPhoneNumber":"String","paymentStatus":"String","paymentMethodId":"String","paymentId":"String","paymentReference":"String","timeStampBoughtUTC":"0001-01-01T00:00:00.0000000","cardValidFromUTC":"0001-01-01T00:00:00.0000000","cardValidToUTC":"0001-01-01T00:00:00.0000000","initialMaxTickets":0,"currentAvailableTickets":0,"cardPrice":0,"pricePaid":0,"currentStoreCredit":0}],"webshopOrders":[{"id":0,"orderReference":"String","ownerId":0,"ownerName":"String","status":"String","totalMinor":0,"deliveryFeeMinor":0,"totalDiscountMinor":0,"giftPaidMinor":0,"currency":"String","deliveryType":"String","paymentMethodId":"String","paymentId":"String","paymentReference":"String","createdAt":"0001-01-01T00:00:00.0000000","updatedAt":"0001-01-01T00:00:00.0000000","buyerName":"String","buyerEmail":"String","buyerPhone":"String","lines":[{"id":0,"orderId":0,"productId":0,"variantId":0,"productName":"String","size":"String","color":"String","unitPriceMinor":0,"quantity":0,"lineTotalMinor":0,"status":"String","legacyDetailId":0,"createdAt":"0001-01-01T00:00:00.0000000"}]}],"giftCards":[{"id":0,"codeLast4":"String","codeMasked":"String","status":"String","scope":"String","scopeOwnerId":0,"scopeOwnerName":"String","purchaseOwnerId":0,"purchaseOwnerName":"String","currency":"String","initialValueMinor":0,"currentBalanceMinor":0,"createdAt":"0001-01-01T00:00:00.0000000","activatedAt":"0001-01-01T00:00:00.0000000","expiresAt":"0001-01-01T00:00:00.0000000","purchasePaymentReference":"String","paymentId":"String","paymentMethodId":"String","buyerName":"String","buyerEmail":"String","buyerPhone":"String"}],"sharedTicketLinks":[{"id":0,"eventId":0,"eventName":"String","eventOwnerId":0,"eventOwnerName":"String","status":"String","recipientPhone":"String","recipientEmail":"String","ticketCount":0,"createdAt":"0001-01-01T00:00:00.0000000","validTo":"0001-01-01T00:00:00.0000000","soldAt":"0001-01-01T00:00:00.0000000","soldTicketOrderId":0}],"totals":{"ticketSpend":0,"ticketSpendLive":0,"webshopSpendMinor":0,"giftCardSpendMinor":0},"warnings":["String"],"statusCode":0,"message":"String"}