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 Foundation
import ServiceStack

public class SupportCustomer360Request : Codable
{
    public var phone:String?
    public var email:String?

    required public init(){}
}

public class SupportCustomer360Result : Codable
{
    public var phone:String?
    public var email:String?
    public var tickets:[SupportTicketRow] = []
    public var ownerCards:[SupportOwnerCardRow] = []
    public var webshopOrders:[SupportWebshopOrderRow] = []
    public var giftCards:[SupportGiftCardRow] = []
    public var sharedTicketLinks:[SupportSharedLinkRow] = []
    public var totals:SupportCustomerTotals?
    public var warnings:[String] = []
    public var statusCode:Int?
    public var message:String?

    required public init(){}
}

public class SupportTicketRow : Codable
{
    public var ticketId:Int?
    public var ticketTokenId:String?
    public var eventId:Int?
    public var event:String?
    public var timeOfEventUTC:Date?
    public var eventOwnerId:Int?
    public var eventOwnerName:String?
    public var ticketStatus:String?
    public var ticketName:String?
    public var paymentMethodId:String?
    public var paymentId:String?
    public var paymentReference:String?
    public var timestampBought:Date?
    public var timestampActivated:Date?
    public var holderName:String?
    public var phoneVerificationNumber:String?
    public var paymentPhoneNumber:String?
    public var seatDisplayString:String?
    public var sectionName:String?
    public var rowName:String?
    public var seatName:String?
    public var totalPrice:Double?
    public var count:Int?
    public var ticketTransferredFrom:Int?
    public var originalPhoneVerificationNumber:String?
    public var deviceId:String?
    public var neverOpened:Bool?

    required public init(){}
}

public class SupportOwnerCardRow : Codable
{
    public var id:Int?
    public var ownerId:Int?
    public var ownerName:String?
    public var ownerCardTypeId:Int?
    public var ownerCardTypeName:String?
    public var holderName:String?
    public var holderEmail:String?
    public var phoneVerificationNumber:String?
    public var paymentPhoneNumber:String?
    public var paymentStatus:String?
    public var paymentMethodId:String?
    public var paymentId:String?
    public var paymentReference:String?
    public var timeStampBoughtUTC:Date?
    public var cardValidFromUTC:Date?
    public var cardValidToUTC:Date?
    public var initialMaxTickets:Int?
    public var currentAvailableTickets:Int?
    public var cardPrice:Double?
    public var pricePaid:Double?
    public var currentStoreCredit:Double?

    required public init(){}
}

public class SupportWebshopOrderRow : Codable
{
    public var id:Int?
    public var orderReference:String?
    public var ownerId:Int?
    public var ownerName:String?
    public var status:String?
    public var totalMinor:Int?
    public var deliveryFeeMinor:Int?
    public var totalDiscountMinor:Int?
    public var giftPaidMinor:Int?
    public var currency:String?
    public var deliveryType:String?
    public var paymentMethodId:String?
    public var paymentId:String?
    public var paymentReference:String?
    public var createdAt:Date?
    public var updatedAt:Date?
    public var buyerName:String?
    public var buyerEmail:String?
    public var buyerPhone:String?
    public var lines:[WebshopOrderLine] = []

    required public init(){}
}

public class WebshopOrderLine : Codable
{
    public var id:Int?
    public var orderId:Int?
    public var productId:Int?
    public var variantId:Int?
    // @StringLength(200)
    public var productName:String?

    // @StringLength(50)
    public var size:String?

    // @StringLength(50)
    public var color:String?

    public var unitPriceMinor:Int?
    public var quantity:Int?
    public var lineTotalMinor:Int?
    // @StringLength(20)
    public var status:String?

    public var legacyDetailId:Int?
    public var createdAt:Date?

    required public init(){}
}

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

    required public init(){}
}

public class SupportSharedLinkRow : Codable
{
    public var id:Int?
    public var eventId:Int?
    public var eventName:String?
    public var eventOwnerId:Int?
    public var eventOwnerName:String?
    public var status:String?
    public var recipientPhone:String?
    public var recipientEmail:String?
    public var ticketCount:Int?
    public var createdAt:Date?
    public var validTo:Date?
    public var soldAt:Date?
    public var soldTicketOrderId:Int?

    required public init(){}
}

public class SupportCustomerTotals : Codable
{
    public var ticketSpend:Double?
    public var ticketSpendLive:Double?
    public var webshopSpendMinor:Int?
    public var giftCardSpendMinor:Int?

    required public init(){}
}


Swift 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"}