TicketUserServices

<back to all web services

OwnerTicketTypeLastSoldRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequired permission:Tickets.Add
The following routes are available for this service:
POST/ownerTicketType/LastSoldLast completed purchase per owner ticket typeReturns MAX(Ticket.TimestampBought) grouped by EventSeriesOwnerTicketType for all of the owner's ticket types. Live sales only (CONFIRMED/USED); ticket types never sold are omitted.
import 'package:servicestack/servicestack.dart';

class OwnerTicketTypeLastSoldInfo implements IConvertible
{
    int? ticketTypeId;
    DateTime? lastSoldAt;

    OwnerTicketTypeLastSoldInfo({this.ticketTypeId,this.lastSoldAt});
    OwnerTicketTypeLastSoldInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ticketTypeId = json['ticketTypeId'];
        lastSoldAt = JsonConverters.fromJson(json['lastSoldAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ticketTypeId': ticketTypeId,
        'lastSoldAt': JsonConverters.toJson(lastSoldAt,'DateTime',context!)
    };

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

class OwnerTicketTypeLastSoldResult implements IConvertible
{
    List<OwnerTicketTypeLastSoldInfo>? items;
    int? statusCode;
    String? message;

    OwnerTicketTypeLastSoldResult({this.items,this.statusCode,this.message});
    OwnerTicketTypeLastSoldResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        items = JsonConverters.fromJson(json['items'],'List<OwnerTicketTypeLastSoldInfo>',context!);
        statusCode = json['statusCode'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'items': JsonConverters.toJson(items,'List<OwnerTicketTypeLastSoldInfo>',context!),
        'statusCode': statusCode,
        'message': message
    };

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

class OwnerTicketTypeLastSoldRequest implements IConvertible
{
    int? ownerId;

    OwnerTicketTypeLastSoldRequest({this.ownerId});
    OwnerTicketTypeLastSoldRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'OwnerTicketTypeLastSoldInfo': TypeInfo(TypeOf.Class, create:() => OwnerTicketTypeLastSoldInfo()),
    'OwnerTicketTypeLastSoldResult': TypeInfo(TypeOf.Class, create:() => OwnerTicketTypeLastSoldResult()),
    'List<OwnerTicketTypeLastSoldInfo>': TypeInfo(TypeOf.Class, create:() => <OwnerTicketTypeLastSoldInfo>[]),
    'OwnerTicketTypeLastSoldRequest': TypeInfo(TypeOf.Class, create:() => OwnerTicketTypeLastSoldRequest()),
});

Dart OwnerTicketTypeLastSoldRequest 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 /ownerTicketType/LastSold HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ownerId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	items: 
	[
		{
			ticketTypeId: 0,
			lastSoldAt: 0001-01-01
		}
	],
	statusCode: 0,
	message: String
}