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
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using TicketUserServices.ServiceModel;
using TicketUserServices.ServiceModel.Types;

namespace TicketUserServices.ServiceModel
{
    public partial class SupportCustomer360Request
    {
        public virtual string Phone { get; set; }
        public virtual string Email { get; set; }
    }

    public partial class SupportCustomer360Result
    {
        public SupportCustomer360Result()
        {
            Tickets = new List<SupportTicketRow>{};
            OwnerCards = new List<SupportOwnerCardRow>{};
            WebshopOrders = new List<SupportWebshopOrderRow>{};
            GiftCards = new List<SupportGiftCardRow>{};
            SharedTicketLinks = new List<SupportSharedLinkRow>{};
            Warnings = new List<string>{};
        }

        public virtual string Phone { get; set; }
        public virtual string Email { get; set; }
        public virtual List<SupportTicketRow> Tickets { get; set; }
        public virtual List<SupportOwnerCardRow> OwnerCards { get; set; }
        public virtual List<SupportWebshopOrderRow> WebshopOrders { get; set; }
        public virtual List<SupportGiftCardRow> GiftCards { get; set; }
        public virtual List<SupportSharedLinkRow> SharedTicketLinks { get; set; }
        public virtual SupportCustomerTotals Totals { get; set; }
        public virtual List<string> Warnings { get; set; }
        public virtual int StatusCode { get; set; }
        public virtual string Message { get; set; }
    }

    public partial class SupportCustomerTotals
    {
        public virtual decimal TicketSpend { get; set; }
        public virtual decimal TicketSpendLive { get; set; }
        public virtual long WebshopSpendMinor { get; set; }
        public virtual long GiftCardSpendMinor { get; set; }
    }

    public partial class SupportGiftCardRow
    {
        public virtual int ID { get; set; }
        public virtual string CodeLast4 { get; set; }
        public virtual string CodeMasked { get; set; }
        public virtual string Status { get; set; }
        public virtual string Scope { get; set; }
        public virtual int? ScopeOwnerId { get; set; }
        public virtual string ScopeOwnerName { get; set; }
        public virtual int? PurchaseOwnerId { get; set; }
        public virtual string PurchaseOwnerName { get; set; }
        public virtual string Currency { get; set; }
        public virtual int InitialValueMinor { get; set; }
        public virtual int CurrentBalanceMinor { get; set; }
        public virtual DateTime? CreatedAt { get; set; }
        public virtual DateTime? ActivatedAt { get; set; }
        public virtual DateTime? ExpiresAt { get; set; }
        public virtual string PurchasePaymentReference { get; set; }
        public virtual string PaymentId { get; set; }
        public virtual string PaymentMethodId { get; set; }
        public virtual string BuyerName { get; set; }
        public virtual string BuyerEmail { get; set; }
        public virtual string BuyerPhone { get; set; }
    }

    public partial class SupportOwnerCardRow
    {
        public virtual int ID { get; set; }
        public virtual int OwnerId { get; set; }
        public virtual string OwnerName { get; set; }
        public virtual int? OwnerCardTypeId { get; set; }
        public virtual string OwnerCardTypeName { get; set; }
        public virtual string HolderName { get; set; }
        public virtual string HolderEmail { get; set; }
        public virtual string PhoneVerificationNumber { get; set; }
        public virtual string PaymentPhoneNumber { get; set; }
        public virtual string PaymentStatus { get; set; }
        public virtual string PaymentMethodId { get; set; }
        public virtual string PaymentId { get; set; }
        public virtual string PaymentReference { get; set; }
        public virtual DateTime? TimeStampBoughtUTC { get; set; }
        public virtual DateTime? CardValidFromUTC { get; set; }
        public virtual DateTime? CardValidToUTC { get; set; }
        public virtual int? InitialMaxTickets { get; set; }
        public virtual int? CurrentAvailableTickets { get; set; }
        public virtual decimal? CardPrice { get; set; }
        public virtual decimal? PricePaid { get; set; }
        public virtual decimal? CurrentStoreCredit { get; set; }
    }

    public partial class SupportSharedLinkRow
    {
        public virtual int ID { get; set; }
        public virtual int EventId { get; set; }
        public virtual string EventName { get; set; }
        public virtual int EventOwnerId { get; set; }
        public virtual string EventOwnerName { get; set; }
        public virtual string Status { get; set; }
        public virtual string RecipientPhone { get; set; }
        public virtual string RecipientEmail { get; set; }
        public virtual int TicketCount { get; set; }
        public virtual DateTime? CreatedAt { get; set; }
        public virtual DateTime? ValidTo { get; set; }
        public virtual DateTime? SoldAt { get; set; }
        public virtual int? SoldTicketOrderId { get; set; }
    }

    public partial class SupportTicketRow
    {
        public virtual int? TicketId { get; set; }
        public virtual string TicketTokenId { get; set; }
        public virtual int? EventId { get; set; }
        public virtual string Event { get; set; }
        public virtual DateTime? TimeOfEventUTC { get; set; }
        public virtual int? EventOwnerId { get; set; }
        public virtual string EventOwnerName { get; set; }
        public virtual string TicketStatus { get; set; }
        public virtual string TicketName { get; set; }
        public virtual string PaymentMethodId { get; set; }
        public virtual string PaymentId { get; set; }
        public virtual string PaymentReference { get; set; }
        public virtual DateTime? TimestampBought { get; set; }
        public virtual DateTime? TimestampActivated { get; set; }
        public virtual string HolderName { get; set; }
        public virtual string PhoneVerificationNumber { get; set; }
        public virtual string PaymentPhoneNumber { get; set; }
        public virtual string SeatDisplayString { get; set; }
        public virtual string SectionName { get; set; }
        public virtual string RowName { get; set; }
        public virtual string SeatName { get; set; }
        public virtual decimal? TotalPrice { get; set; }
        public virtual int? Count { get; set; }
        public virtual int? TicketTransferredFrom { get; set; }
        public virtual string OriginalPhoneVerificationNumber { get; set; }
        public virtual string DeviceId { get; set; }
        public virtual bool NeverOpened { get; set; }
    }

    public partial class SupportWebshopOrderRow
    {
        public SupportWebshopOrderRow()
        {
            Lines = new List<WebshopOrderLine>{};
        }

        public virtual int ID { get; set; }
        public virtual string OrderReference { get; set; }
        public virtual int OwnerId { get; set; }
        public virtual string OwnerName { get; set; }
        public virtual string Status { get; set; }
        public virtual int TotalMinor { get; set; }
        public virtual int DeliveryFeeMinor { get; set; }
        public virtual int TotalDiscountMinor { get; set; }
        public virtual int GiftPaidMinor { get; set; }
        public virtual string Currency { get; set; }
        public virtual string DeliveryType { get; set; }
        public virtual string PaymentMethodId { get; set; }
        public virtual string PaymentId { get; set; }
        public virtual string PaymentReference { get; set; }
        public virtual DateTime? CreatedAt { get; set; }
        public virtual DateTime? UpdatedAt { get; set; }
        public virtual string BuyerName { get; set; }
        public virtual string BuyerEmail { get; set; }
        public virtual string BuyerPhone { get; set; }
        public virtual List<WebshopOrderLine> Lines { get; set; }
    }

}

namespace TicketUserServices.ServiceModel.Types
{
    public partial class WebshopOrderLine
    {
        public virtual int ID { get; set; }
        public virtual int OrderId { get; set; }
        public virtual int ProductId { get; set; }
        public virtual int VariantId { get; set; }
        [StringLength(200)]
        public virtual string ProductName { get; set; }

        [StringLength(50)]
        public virtual string Size { get; set; }

        [StringLength(50)]
        public virtual string Color { get; set; }

        public virtual int UnitPriceMinor { get; set; }
        public virtual int Quantity { get; set; }
        public virtual int LineTotalMinor { get; set; }
        [StringLength(20)]
        public virtual string Status { get; set; }

        public virtual int? LegacyDetailId { get; set; }
        public virtual DateTime CreatedAt { get; set; }
    }

}

C# SupportCustomer360Request 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 /Support/Customer360 HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	phone: String,
	email: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	phone: String,
	email: String,
	tickets: 
	[
		{
			ticketId: 0,
			ticketTokenId: String,
			eventId: 0,
			event: String,
			timeOfEventUTC: 0001-01-01,
			eventOwnerId: 0,
			eventOwnerName: String,
			ticketStatus: String,
			ticketName: String,
			paymentMethodId: String,
			paymentId: String,
			paymentReference: String,
			timestampBought: 0001-01-01,
			timestampActivated: 0001-01-01,
			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-01,
			cardValidFromUTC: 0001-01-01,
			cardValidToUTC: 0001-01-01,
			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-01,
			updatedAt: 0001-01-01,
			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-01
				}
			]
		}
	],
	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-01,
			activatedAt: 0001-01-01,
			expiresAt: 0001-01-01,
			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-01,
			validTo: 0001-01-01,
			soldAt: 0001-01-01,
			soldTicketOrderId: 0
		}
	],
	totals: 
	{
		ticketSpend: 0,
		ticketSpendLive: 0,
		webshopSpendMinor: 0,
		giftCardSpendMinor: 0
	},
	warnings: 
	[
		String
	],
	statusCode: 0,
	message: String
}