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 'package:servicestack/servicestack.dart';

class SupportTicketRow implements IConvertible
{
    int? ticketId;
    String? ticketTokenId;
    int? eventId;
    String? event;
    DateTime? timeOfEventUTC;
    int? eventOwnerId;
    String? eventOwnerName;
    String? ticketStatus;
    String? ticketName;
    String? paymentMethodId;
    String? paymentId;
    String? paymentReference;
    DateTime? timestampBought;
    DateTime? timestampActivated;
    String? holderName;
    String? phoneVerificationNumber;
    String? paymentPhoneNumber;
    String? seatDisplayString;
    String? sectionName;
    String? rowName;
    String? seatName;
    double? totalPrice;
    int? count;
    int? ticketTransferredFrom;
    String? originalPhoneVerificationNumber;
    String? deviceId;
    bool? neverOpened;

    SupportTicketRow({this.ticketId,this.ticketTokenId,this.eventId,this.event,this.timeOfEventUTC,this.eventOwnerId,this.eventOwnerName,this.ticketStatus,this.ticketName,this.paymentMethodId,this.paymentId,this.paymentReference,this.timestampBought,this.timestampActivated,this.holderName,this.phoneVerificationNumber,this.paymentPhoneNumber,this.seatDisplayString,this.sectionName,this.rowName,this.seatName,this.totalPrice,this.count,this.ticketTransferredFrom,this.originalPhoneVerificationNumber,this.deviceId,this.neverOpened});
    SupportTicketRow.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ticketId = json['ticketId'];
        ticketTokenId = json['ticketTokenId'];
        eventId = json['eventId'];
        event = json['event'];
        timeOfEventUTC = JsonConverters.fromJson(json['timeOfEventUTC'],'DateTime',context!);
        eventOwnerId = json['eventOwnerId'];
        eventOwnerName = json['eventOwnerName'];
        ticketStatus = json['ticketStatus'];
        ticketName = json['ticketName'];
        paymentMethodId = json['paymentMethodId'];
        paymentId = json['paymentId'];
        paymentReference = json['paymentReference'];
        timestampBought = JsonConverters.fromJson(json['timestampBought'],'DateTime',context!);
        timestampActivated = JsonConverters.fromJson(json['timestampActivated'],'DateTime',context!);
        holderName = json['holderName'];
        phoneVerificationNumber = json['phoneVerificationNumber'];
        paymentPhoneNumber = json['paymentPhoneNumber'];
        seatDisplayString = json['seatDisplayString'];
        sectionName = json['sectionName'];
        rowName = json['rowName'];
        seatName = json['seatName'];
        totalPrice = JsonConverters.toDouble(json['totalPrice']);
        count = json['count'];
        ticketTransferredFrom = json['ticketTransferredFrom'];
        originalPhoneVerificationNumber = json['originalPhoneVerificationNumber'];
        deviceId = json['deviceId'];
        neverOpened = json['neverOpened'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ticketId': ticketId,
        'ticketTokenId': ticketTokenId,
        'eventId': eventId,
        'event': event,
        'timeOfEventUTC': JsonConverters.toJson(timeOfEventUTC,'DateTime',context!),
        'eventOwnerId': eventOwnerId,
        'eventOwnerName': eventOwnerName,
        'ticketStatus': ticketStatus,
        'ticketName': ticketName,
        'paymentMethodId': paymentMethodId,
        'paymentId': paymentId,
        'paymentReference': paymentReference,
        'timestampBought': JsonConverters.toJson(timestampBought,'DateTime',context!),
        'timestampActivated': JsonConverters.toJson(timestampActivated,'DateTime',context!),
        'holderName': holderName,
        'phoneVerificationNumber': phoneVerificationNumber,
        'paymentPhoneNumber': paymentPhoneNumber,
        'seatDisplayString': seatDisplayString,
        'sectionName': sectionName,
        'rowName': rowName,
        'seatName': seatName,
        'totalPrice': totalPrice,
        'count': count,
        'ticketTransferredFrom': ticketTransferredFrom,
        'originalPhoneVerificationNumber': originalPhoneVerificationNumber,
        'deviceId': deviceId,
        'neverOpened': neverOpened
    };

    getTypeName() => "SupportTicketRow";
    TypeContext? context = _ctx;
}

class SupportOwnerCardRow implements IConvertible
{
    int? id;
    int? ownerId;
    String? ownerName;
    int? ownerCardTypeId;
    String? ownerCardTypeName;
    String? holderName;
    String? holderEmail;
    String? phoneVerificationNumber;
    String? paymentPhoneNumber;
    String? paymentStatus;
    String? paymentMethodId;
    String? paymentId;
    String? paymentReference;
    DateTime? timeStampBoughtUTC;
    DateTime? cardValidFromUTC;
    DateTime? cardValidToUTC;
    int? initialMaxTickets;
    int? currentAvailableTickets;
    double? cardPrice;
    double? pricePaid;
    double? currentStoreCredit;

    SupportOwnerCardRow({this.id,this.ownerId,this.ownerName,this.ownerCardTypeId,this.ownerCardTypeName,this.holderName,this.holderEmail,this.phoneVerificationNumber,this.paymentPhoneNumber,this.paymentStatus,this.paymentMethodId,this.paymentId,this.paymentReference,this.timeStampBoughtUTC,this.cardValidFromUTC,this.cardValidToUTC,this.initialMaxTickets,this.currentAvailableTickets,this.cardPrice,this.pricePaid,this.currentStoreCredit});
    SupportOwnerCardRow.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        ownerId = json['ownerId'];
        ownerName = json['ownerName'];
        ownerCardTypeId = json['ownerCardTypeId'];
        ownerCardTypeName = json['ownerCardTypeName'];
        holderName = json['holderName'];
        holderEmail = json['holderEmail'];
        phoneVerificationNumber = json['phoneVerificationNumber'];
        paymentPhoneNumber = json['paymentPhoneNumber'];
        paymentStatus = json['paymentStatus'];
        paymentMethodId = json['paymentMethodId'];
        paymentId = json['paymentId'];
        paymentReference = json['paymentReference'];
        timeStampBoughtUTC = JsonConverters.fromJson(json['timeStampBoughtUTC'],'DateTime',context!);
        cardValidFromUTC = JsonConverters.fromJson(json['cardValidFromUTC'],'DateTime',context!);
        cardValidToUTC = JsonConverters.fromJson(json['cardValidToUTC'],'DateTime',context!);
        initialMaxTickets = json['initialMaxTickets'];
        currentAvailableTickets = json['currentAvailableTickets'];
        cardPrice = JsonConverters.toDouble(json['cardPrice']);
        pricePaid = JsonConverters.toDouble(json['pricePaid']);
        currentStoreCredit = JsonConverters.toDouble(json['currentStoreCredit']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'ownerId': ownerId,
        'ownerName': ownerName,
        'ownerCardTypeId': ownerCardTypeId,
        'ownerCardTypeName': ownerCardTypeName,
        'holderName': holderName,
        'holderEmail': holderEmail,
        'phoneVerificationNumber': phoneVerificationNumber,
        'paymentPhoneNumber': paymentPhoneNumber,
        'paymentStatus': paymentStatus,
        'paymentMethodId': paymentMethodId,
        'paymentId': paymentId,
        'paymentReference': paymentReference,
        'timeStampBoughtUTC': JsonConverters.toJson(timeStampBoughtUTC,'DateTime',context!),
        'cardValidFromUTC': JsonConverters.toJson(cardValidFromUTC,'DateTime',context!),
        'cardValidToUTC': JsonConverters.toJson(cardValidToUTC,'DateTime',context!),
        'initialMaxTickets': initialMaxTickets,
        'currentAvailableTickets': currentAvailableTickets,
        'cardPrice': cardPrice,
        'pricePaid': pricePaid,
        'currentStoreCredit': currentStoreCredit
    };

    getTypeName() => "SupportOwnerCardRow";
    TypeContext? context = _ctx;
}

class WebshopOrderLine implements IConvertible
{
    int? id;
    int? orderId;
    int? productId;
    int? variantId;
    // @StringLength(200)
    String? productName;

    // @StringLength(50)
    String? size;

    // @StringLength(50)
    String? color;

    int? unitPriceMinor;
    int? quantity;
    int? lineTotalMinor;
    // @StringLength(20)
    String? status;

    int? legacyDetailId;
    DateTime? createdAt;

    WebshopOrderLine({this.id,this.orderId,this.productId,this.variantId,this.productName,this.size,this.color,this.unitPriceMinor,this.quantity,this.lineTotalMinor,this.status,this.legacyDetailId,this.createdAt});
    WebshopOrderLine.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        orderId = json['orderId'];
        productId = json['productId'];
        variantId = json['variantId'];
        productName = json['productName'];
        size = json['size'];
        color = json['color'];
        unitPriceMinor = json['unitPriceMinor'];
        quantity = json['quantity'];
        lineTotalMinor = json['lineTotalMinor'];
        status = json['status'];
        legacyDetailId = json['legacyDetailId'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'orderId': orderId,
        'productId': productId,
        'variantId': variantId,
        'productName': productName,
        'size': size,
        'color': color,
        'unitPriceMinor': unitPriceMinor,
        'quantity': quantity,
        'lineTotalMinor': lineTotalMinor,
        'status': status,
        'legacyDetailId': legacyDetailId,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!)
    };

    getTypeName() => "WebshopOrderLine";
    TypeContext? context = _ctx;
}

class SupportWebshopOrderRow implements IConvertible
{
    int? id;
    String? orderReference;
    int? ownerId;
    String? ownerName;
    String? status;
    int? totalMinor;
    int? deliveryFeeMinor;
    int? totalDiscountMinor;
    int? giftPaidMinor;
    String? currency;
    String? deliveryType;
    String? paymentMethodId;
    String? paymentId;
    String? paymentReference;
    DateTime? createdAt;
    DateTime? updatedAt;
    String? buyerName;
    String? buyerEmail;
    String? buyerPhone;
    List<WebshopOrderLine>? lines;

    SupportWebshopOrderRow({this.id,this.orderReference,this.ownerId,this.ownerName,this.status,this.totalMinor,this.deliveryFeeMinor,this.totalDiscountMinor,this.giftPaidMinor,this.currency,this.deliveryType,this.paymentMethodId,this.paymentId,this.paymentReference,this.createdAt,this.updatedAt,this.buyerName,this.buyerEmail,this.buyerPhone,this.lines});
    SupportWebshopOrderRow.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        orderReference = json['orderReference'];
        ownerId = json['ownerId'];
        ownerName = json['ownerName'];
        status = json['status'];
        totalMinor = json['totalMinor'];
        deliveryFeeMinor = json['deliveryFeeMinor'];
        totalDiscountMinor = json['totalDiscountMinor'];
        giftPaidMinor = json['giftPaidMinor'];
        currency = json['currency'];
        deliveryType = json['deliveryType'];
        paymentMethodId = json['paymentMethodId'];
        paymentId = json['paymentId'];
        paymentReference = json['paymentReference'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!);
        buyerName = json['buyerName'];
        buyerEmail = json['buyerEmail'];
        buyerPhone = json['buyerPhone'];
        lines = JsonConverters.fromJson(json['lines'],'List<WebshopOrderLine>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'orderReference': orderReference,
        'ownerId': ownerId,
        'ownerName': ownerName,
        'status': status,
        'totalMinor': totalMinor,
        'deliveryFeeMinor': deliveryFeeMinor,
        'totalDiscountMinor': totalDiscountMinor,
        'giftPaidMinor': giftPaidMinor,
        'currency': currency,
        'deliveryType': deliveryType,
        'paymentMethodId': paymentMethodId,
        'paymentId': paymentId,
        'paymentReference': paymentReference,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!),
        'buyerName': buyerName,
        'buyerEmail': buyerEmail,
        'buyerPhone': buyerPhone,
        'lines': JsonConverters.toJson(lines,'List<WebshopOrderLine>',context!)
    };

    getTypeName() => "SupportWebshopOrderRow";
    TypeContext? context = _ctx;
}

class SupportGiftCardRow implements IConvertible
{
    int? id;
    String? codeLast4;
    String? codeMasked;
    String? status;
    String? scope;
    int? scopeOwnerId;
    String? scopeOwnerName;
    int? purchaseOwnerId;
    String? purchaseOwnerName;
    String? currency;
    int? initialValueMinor;
    int? currentBalanceMinor;
    DateTime? createdAt;
    DateTime? activatedAt;
    DateTime? expiresAt;
    String? purchasePaymentReference;
    String? paymentId;
    String? paymentMethodId;
    String? buyerName;
    String? buyerEmail;
    String? buyerPhone;

    SupportGiftCardRow({this.id,this.codeLast4,this.codeMasked,this.status,this.scope,this.scopeOwnerId,this.scopeOwnerName,this.purchaseOwnerId,this.purchaseOwnerName,this.currency,this.initialValueMinor,this.currentBalanceMinor,this.createdAt,this.activatedAt,this.expiresAt,this.purchasePaymentReference,this.paymentId,this.paymentMethodId,this.buyerName,this.buyerEmail,this.buyerPhone});
    SupportGiftCardRow.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        codeLast4 = json['codeLast4'];
        codeMasked = json['codeMasked'];
        status = json['status'];
        scope = json['scope'];
        scopeOwnerId = json['scopeOwnerId'];
        scopeOwnerName = json['scopeOwnerName'];
        purchaseOwnerId = json['purchaseOwnerId'];
        purchaseOwnerName = json['purchaseOwnerName'];
        currency = json['currency'];
        initialValueMinor = json['initialValueMinor'];
        currentBalanceMinor = json['currentBalanceMinor'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        activatedAt = JsonConverters.fromJson(json['activatedAt'],'DateTime',context!);
        expiresAt = JsonConverters.fromJson(json['expiresAt'],'DateTime',context!);
        purchasePaymentReference = json['purchasePaymentReference'];
        paymentId = json['paymentId'];
        paymentMethodId = json['paymentMethodId'];
        buyerName = json['buyerName'];
        buyerEmail = json['buyerEmail'];
        buyerPhone = json['buyerPhone'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'codeLast4': codeLast4,
        'codeMasked': codeMasked,
        'status': status,
        'scope': scope,
        'scopeOwnerId': scopeOwnerId,
        'scopeOwnerName': scopeOwnerName,
        'purchaseOwnerId': purchaseOwnerId,
        'purchaseOwnerName': purchaseOwnerName,
        'currency': currency,
        'initialValueMinor': initialValueMinor,
        'currentBalanceMinor': currentBalanceMinor,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'activatedAt': JsonConverters.toJson(activatedAt,'DateTime',context!),
        'expiresAt': JsonConverters.toJson(expiresAt,'DateTime',context!),
        'purchasePaymentReference': purchasePaymentReference,
        'paymentId': paymentId,
        'paymentMethodId': paymentMethodId,
        'buyerName': buyerName,
        'buyerEmail': buyerEmail,
        'buyerPhone': buyerPhone
    };

    getTypeName() => "SupportGiftCardRow";
    TypeContext? context = _ctx;
}

class SupportSharedLinkRow implements IConvertible
{
    int? id;
    int? eventId;
    String? eventName;
    int? eventOwnerId;
    String? eventOwnerName;
    String? status;
    String? recipientPhone;
    String? recipientEmail;
    int? ticketCount;
    DateTime? createdAt;
    DateTime? validTo;
    DateTime? soldAt;
    int? soldTicketOrderId;

    SupportSharedLinkRow({this.id,this.eventId,this.eventName,this.eventOwnerId,this.eventOwnerName,this.status,this.recipientPhone,this.recipientEmail,this.ticketCount,this.createdAt,this.validTo,this.soldAt,this.soldTicketOrderId});
    SupportSharedLinkRow.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        eventId = json['eventId'];
        eventName = json['eventName'];
        eventOwnerId = json['eventOwnerId'];
        eventOwnerName = json['eventOwnerName'];
        status = json['status'];
        recipientPhone = json['recipientPhone'];
        recipientEmail = json['recipientEmail'];
        ticketCount = json['ticketCount'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        validTo = JsonConverters.fromJson(json['validTo'],'DateTime',context!);
        soldAt = JsonConverters.fromJson(json['soldAt'],'DateTime',context!);
        soldTicketOrderId = json['soldTicketOrderId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'eventId': eventId,
        'eventName': eventName,
        'eventOwnerId': eventOwnerId,
        'eventOwnerName': eventOwnerName,
        'status': status,
        'recipientPhone': recipientPhone,
        'recipientEmail': recipientEmail,
        'ticketCount': ticketCount,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'validTo': JsonConverters.toJson(validTo,'DateTime',context!),
        'soldAt': JsonConverters.toJson(soldAt,'DateTime',context!),
        'soldTicketOrderId': soldTicketOrderId
    };

    getTypeName() => "SupportSharedLinkRow";
    TypeContext? context = _ctx;
}

class SupportCustomerTotals implements IConvertible
{
    double? ticketSpend;
    double? ticketSpendLive;
    int? webshopSpendMinor;
    int? giftCardSpendMinor;

    SupportCustomerTotals({this.ticketSpend,this.ticketSpendLive,this.webshopSpendMinor,this.giftCardSpendMinor});
    SupportCustomerTotals.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ticketSpend = JsonConverters.toDouble(json['ticketSpend']);
        ticketSpendLive = JsonConverters.toDouble(json['ticketSpendLive']);
        webshopSpendMinor = json['webshopSpendMinor'];
        giftCardSpendMinor = json['giftCardSpendMinor'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ticketSpend': ticketSpend,
        'ticketSpendLive': ticketSpendLive,
        'webshopSpendMinor': webshopSpendMinor,
        'giftCardSpendMinor': giftCardSpendMinor
    };

    getTypeName() => "SupportCustomerTotals";
    TypeContext? context = _ctx;
}

class SupportCustomer360Result implements IConvertible
{
    String? phone;
    String? email;
    List<SupportTicketRow>? tickets;
    List<SupportOwnerCardRow>? ownerCards;
    List<SupportWebshopOrderRow>? webshopOrders;
    List<SupportGiftCardRow>? giftCards;
    List<SupportSharedLinkRow>? sharedTicketLinks;
    SupportCustomerTotals? totals;
    List<String>? warnings;
    int? statusCode;
    String? message;

    SupportCustomer360Result({this.phone,this.email,this.tickets,this.ownerCards,this.webshopOrders,this.giftCards,this.sharedTicketLinks,this.totals,this.warnings,this.statusCode,this.message});
    SupportCustomer360Result.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        phone = json['phone'];
        email = json['email'];
        tickets = JsonConverters.fromJson(json['tickets'],'List<SupportTicketRow>',context!);
        ownerCards = JsonConverters.fromJson(json['ownerCards'],'List<SupportOwnerCardRow>',context!);
        webshopOrders = JsonConverters.fromJson(json['webshopOrders'],'List<SupportWebshopOrderRow>',context!);
        giftCards = JsonConverters.fromJson(json['giftCards'],'List<SupportGiftCardRow>',context!);
        sharedTicketLinks = JsonConverters.fromJson(json['sharedTicketLinks'],'List<SupportSharedLinkRow>',context!);
        totals = JsonConverters.fromJson(json['totals'],'SupportCustomerTotals',context!);
        warnings = JsonConverters.fromJson(json['warnings'],'List<String>',context!);
        statusCode = json['statusCode'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'phone': phone,
        'email': email,
        'tickets': JsonConverters.toJson(tickets,'List<SupportTicketRow>',context!),
        'ownerCards': JsonConverters.toJson(ownerCards,'List<SupportOwnerCardRow>',context!),
        'webshopOrders': JsonConverters.toJson(webshopOrders,'List<SupportWebshopOrderRow>',context!),
        'giftCards': JsonConverters.toJson(giftCards,'List<SupportGiftCardRow>',context!),
        'sharedTicketLinks': JsonConverters.toJson(sharedTicketLinks,'List<SupportSharedLinkRow>',context!),
        'totals': JsonConverters.toJson(totals,'SupportCustomerTotals',context!),
        'warnings': JsonConverters.toJson(warnings,'List<String>',context!),
        'statusCode': statusCode,
        'message': message
    };

    getTypeName() => "SupportCustomer360Result";
    TypeContext? context = _ctx;
}

class SupportCustomer360Request implements IConvertible
{
    String? phone;
    String? email;

    SupportCustomer360Request({this.phone,this.email});
    SupportCustomer360Request.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        phone = json['phone'];
        email = json['email'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'phone': phone,
        'email': email
    };

    getTypeName() => "SupportCustomer360Request";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'SupportTicketRow': TypeInfo(TypeOf.Class, create:() => SupportTicketRow()),
    'SupportOwnerCardRow': TypeInfo(TypeOf.Class, create:() => SupportOwnerCardRow()),
    'WebshopOrderLine': TypeInfo(TypeOf.Class, create:() => WebshopOrderLine()),
    'SupportWebshopOrderRow': TypeInfo(TypeOf.Class, create:() => SupportWebshopOrderRow()),
    'List<WebshopOrderLine>': TypeInfo(TypeOf.Class, create:() => <WebshopOrderLine>[]),
    'SupportGiftCardRow': TypeInfo(TypeOf.Class, create:() => SupportGiftCardRow()),
    'SupportSharedLinkRow': TypeInfo(TypeOf.Class, create:() => SupportSharedLinkRow()),
    'SupportCustomerTotals': TypeInfo(TypeOf.Class, create:() => SupportCustomerTotals()),
    'SupportCustomer360Result': TypeInfo(TypeOf.Class, create:() => SupportCustomer360Result()),
    'List<SupportTicketRow>': TypeInfo(TypeOf.Class, create:() => <SupportTicketRow>[]),
    'List<SupportOwnerCardRow>': TypeInfo(TypeOf.Class, create:() => <SupportOwnerCardRow>[]),
    'List<SupportWebshopOrderRow>': TypeInfo(TypeOf.Class, create:() => <SupportWebshopOrderRow>[]),
    'List<SupportGiftCardRow>': TypeInfo(TypeOf.Class, create:() => <SupportGiftCardRow>[]),
    'List<SupportSharedLinkRow>': TypeInfo(TypeOf.Class, create:() => <SupportSharedLinkRow>[]),
    'SupportCustomer360Request': TypeInfo(TypeOf.Class, create:() => SupportCustomer360Request()),
});

Dart SupportCustomer360Request 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 /Support/Customer360 HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<SupportCustomer360Request xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
  <Email>String</Email>
  <Phone>String</Phone>
</SupportCustomer360Request>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SupportCustomer360Result xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
  <Email>String</Email>
  <GiftCards>
    <SupportGiftCardRow>
      <ActivatedAt>0001-01-01T00:00:00</ActivatedAt>
      <BuyerEmail>String</BuyerEmail>
      <BuyerName>String</BuyerName>
      <BuyerPhone>String</BuyerPhone>
      <CodeLast4>String</CodeLast4>
      <CodeMasked>String</CodeMasked>
      <CreatedAt>0001-01-01T00:00:00</CreatedAt>
      <Currency>String</Currency>
      <CurrentBalanceMinor>0</CurrentBalanceMinor>
      <ExpiresAt>0001-01-01T00:00:00</ExpiresAt>
      <ID>0</ID>
      <InitialValueMinor>0</InitialValueMinor>
      <PaymentId>String</PaymentId>
      <PaymentMethodId>String</PaymentMethodId>
      <PurchaseOwnerId>0</PurchaseOwnerId>
      <PurchaseOwnerName>String</PurchaseOwnerName>
      <PurchasePaymentReference>String</PurchasePaymentReference>
      <Scope>String</Scope>
      <ScopeOwnerId>0</ScopeOwnerId>
      <ScopeOwnerName>String</ScopeOwnerName>
      <Status>String</Status>
    </SupportGiftCardRow>
  </GiftCards>
  <Message>String</Message>
  <OwnerCards>
    <SupportOwnerCardRow>
      <CardPrice>0</CardPrice>
      <CardValidFromUTC>0001-01-01T00:00:00</CardValidFromUTC>
      <CardValidToUTC>0001-01-01T00:00:00</CardValidToUTC>
      <CurrentAvailableTickets>0</CurrentAvailableTickets>
      <CurrentStoreCredit>0</CurrentStoreCredit>
      <HolderEmail>String</HolderEmail>
      <HolderName>String</HolderName>
      <ID>0</ID>
      <InitialMaxTickets>0</InitialMaxTickets>
      <OwnerCardTypeId>0</OwnerCardTypeId>
      <OwnerCardTypeName>String</OwnerCardTypeName>
      <OwnerId>0</OwnerId>
      <OwnerName>String</OwnerName>
      <PaymentId>String</PaymentId>
      <PaymentMethodId>String</PaymentMethodId>
      <PaymentPhoneNumber>String</PaymentPhoneNumber>
      <PaymentReference>String</PaymentReference>
      <PaymentStatus>String</PaymentStatus>
      <PhoneVerificationNumber>String</PhoneVerificationNumber>
      <PricePaid>0</PricePaid>
      <TimeStampBoughtUTC>0001-01-01T00:00:00</TimeStampBoughtUTC>
    </SupportOwnerCardRow>
  </OwnerCards>
  <Phone>String</Phone>
  <SharedTicketLinks>
    <SupportSharedLinkRow>
      <CreatedAt>0001-01-01T00:00:00</CreatedAt>
      <EventId>0</EventId>
      <EventName>String</EventName>
      <EventOwnerId>0</EventOwnerId>
      <EventOwnerName>String</EventOwnerName>
      <ID>0</ID>
      <RecipientEmail>String</RecipientEmail>
      <RecipientPhone>String</RecipientPhone>
      <SoldAt>0001-01-01T00:00:00</SoldAt>
      <SoldTicketOrderId>0</SoldTicketOrderId>
      <Status>String</Status>
      <TicketCount>0</TicketCount>
      <ValidTo>0001-01-01T00:00:00</ValidTo>
    </SupportSharedLinkRow>
  </SharedTicketLinks>
  <StatusCode>0</StatusCode>
  <Tickets>
    <SupportTicketRow>
      <Count>0</Count>
      <DeviceId>String</DeviceId>
      <Event>String</Event>
      <EventId>0</EventId>
      <EventOwnerId>0</EventOwnerId>
      <EventOwnerName>String</EventOwnerName>
      <HolderName>String</HolderName>
      <NeverOpened>false</NeverOpened>
      <OriginalPhoneVerificationNumber>String</OriginalPhoneVerificationNumber>
      <PaymentId>String</PaymentId>
      <PaymentMethodId>String</PaymentMethodId>
      <PaymentPhoneNumber>String</PaymentPhoneNumber>
      <PaymentReference>String</PaymentReference>
      <PhoneVerificationNumber>String</PhoneVerificationNumber>
      <RowName>String</RowName>
      <SeatDisplayString>String</SeatDisplayString>
      <SeatName>String</SeatName>
      <SectionName>String</SectionName>
      <TicketId>0</TicketId>
      <TicketName>String</TicketName>
      <TicketStatus>String</TicketStatus>
      <TicketTokenId>String</TicketTokenId>
      <TicketTransferredFrom>0</TicketTransferredFrom>
      <TimeOfEventUTC>0001-01-01T00:00:00</TimeOfEventUTC>
      <TimestampActivated>0001-01-01T00:00:00</TimestampActivated>
      <TimestampBought>0001-01-01T00:00:00</TimestampBought>
      <TotalPrice>0</TotalPrice>
    </SupportTicketRow>
  </Tickets>
  <Totals>
    <GiftCardSpendMinor>0</GiftCardSpendMinor>
    <TicketSpend>0</TicketSpend>
    <TicketSpendLive>0</TicketSpendLive>
    <WebshopSpendMinor>0</WebshopSpendMinor>
  </Totals>
  <Warnings xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Warnings>
  <WebshopOrders>
    <SupportWebshopOrderRow>
      <BuyerEmail>String</BuyerEmail>
      <BuyerName>String</BuyerName>
      <BuyerPhone>String</BuyerPhone>
      <CreatedAt>0001-01-01T00:00:00</CreatedAt>
      <Currency>String</Currency>
      <DeliveryFeeMinor>0</DeliveryFeeMinor>
      <DeliveryType>String</DeliveryType>
      <GiftPaidMinor>0</GiftPaidMinor>
      <ID>0</ID>
      <Lines xmlns:d4p1="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel.Types">
        <d4p1:WebshopOrderLine>
          <d4p1:Color>String</d4p1:Color>
          <d4p1:CreatedAt>0001-01-01T00:00:00</d4p1:CreatedAt>
          <d4p1:ID>0</d4p1:ID>
          <d4p1:LegacyDetailId>0</d4p1:LegacyDetailId>
          <d4p1:LineTotalMinor>0</d4p1:LineTotalMinor>
          <d4p1:OrderId>0</d4p1:OrderId>
          <d4p1:ProductId>0</d4p1:ProductId>
          <d4p1:ProductName>String</d4p1:ProductName>
          <d4p1:Quantity>0</d4p1:Quantity>
          <d4p1:Size>String</d4p1:Size>
          <d4p1:Status>String</d4p1:Status>
          <d4p1:UnitPriceMinor>0</d4p1:UnitPriceMinor>
          <d4p1:VariantId>0</d4p1:VariantId>
        </d4p1:WebshopOrderLine>
      </Lines>
      <OrderReference>String</OrderReference>
      <OwnerId>0</OwnerId>
      <OwnerName>String</OwnerName>
      <PaymentId>String</PaymentId>
      <PaymentMethodId>String</PaymentMethodId>
      <PaymentReference>String</PaymentReference>
      <Status>String</Status>
      <TotalDiscountMinor>0</TotalDiscountMinor>
      <TotalMinor>0</TotalMinor>
      <UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
    </SupportWebshopOrderRow>
  </WebshopOrders>
</SupportCustomer360Result>