TicketUserServices

<back to all web services

SharedTicketLinkSearchRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdminRequired permission:Tickets.Add
The following routes are available for this service:
POST/SharedTicketLink/Search
import 'package:servicestack/servicestack.dart';

class SharedTicketLinkSeatInfo implements IConvertible
{
    int? seatId;
    String? sectionName;
    String? rowName;
    String? seatName;

    SharedTicketLinkSeatInfo({this.seatId,this.sectionName,this.rowName,this.seatName});
    SharedTicketLinkSeatInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        seatId = json['seatId'];
        sectionName = json['sectionName'];
        rowName = json['rowName'];
        seatName = json['seatName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'seatId': seatId,
        'sectionName': sectionName,
        'rowName': rowName,
        'seatName': seatName
    };

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

class SharedTicketLinkSummary implements IConvertible
{
    int? id;
    String? token;
    String? url;
    int? eventId;
    int? eventOwnerId;
    int? ticketOwnerTypeId;
    int? count;
    int? sectionId;
    String? status;
    DateTime? validTo;
    DateTime? createdAt;
    String? createdBy;
    String? recipientEmail;
    String? recipientPhone;
    int? soldTicketOrderId;
    DateTime? soldAt;
    List<SharedTicketLinkSeatInfo>? seats;

    SharedTicketLinkSummary({this.id,this.token,this.url,this.eventId,this.eventOwnerId,this.ticketOwnerTypeId,this.count,this.sectionId,this.status,this.validTo,this.createdAt,this.createdBy,this.recipientEmail,this.recipientPhone,this.soldTicketOrderId,this.soldAt,this.seats});
    SharedTicketLinkSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        token = json['token'];
        url = json['url'];
        eventId = json['eventId'];
        eventOwnerId = json['eventOwnerId'];
        ticketOwnerTypeId = json['ticketOwnerTypeId'];
        count = json['count'];
        sectionId = json['sectionId'];
        status = json['status'];
        validTo = JsonConverters.fromJson(json['validTo'],'DateTime',context!);
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        createdBy = json['createdBy'];
        recipientEmail = json['recipientEmail'];
        recipientPhone = json['recipientPhone'];
        soldTicketOrderId = json['soldTicketOrderId'];
        soldAt = JsonConverters.fromJson(json['soldAt'],'DateTime',context!);
        seats = JsonConverters.fromJson(json['seats'],'List<SharedTicketLinkSeatInfo>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'token': token,
        'url': url,
        'eventId': eventId,
        'eventOwnerId': eventOwnerId,
        'ticketOwnerTypeId': ticketOwnerTypeId,
        'count': count,
        'sectionId': sectionId,
        'status': status,
        'validTo': JsonConverters.toJson(validTo,'DateTime',context!),
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'createdBy': createdBy,
        'recipientEmail': recipientEmail,
        'recipientPhone': recipientPhone,
        'soldTicketOrderId': soldTicketOrderId,
        'soldAt': JsonConverters.toJson(soldAt,'DateTime',context!),
        'seats': JsonConverters.toJson(seats,'List<SharedTicketLinkSeatInfo>',context!)
    };

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

class SharedTicketLinkSearchResult implements IConvertible
{
    List<SharedTicketLinkSummary>? items;
    int? statusCode;
    String? message;

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

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

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

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

class SharedTicketLinkSearchRequest implements IConvertible
{
    int? eventOwnerId;
    int? eventId;
    String? status;

    SharedTicketLinkSearchRequest({this.eventOwnerId,this.eventId,this.status});
    SharedTicketLinkSearchRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'eventOwnerId': eventOwnerId,
        'eventId': eventId,
        'status': status
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'SharedTicketLinkSeatInfo': TypeInfo(TypeOf.Class, create:() => SharedTicketLinkSeatInfo()),
    'SharedTicketLinkSummary': TypeInfo(TypeOf.Class, create:() => SharedTicketLinkSummary()),
    'List<SharedTicketLinkSeatInfo>': TypeInfo(TypeOf.Class, create:() => <SharedTicketLinkSeatInfo>[]),
    'SharedTicketLinkSearchResult': TypeInfo(TypeOf.Class, create:() => SharedTicketLinkSearchResult()),
    'List<SharedTicketLinkSummary>': TypeInfo(TypeOf.Class, create:() => <SharedTicketLinkSummary>[]),
    'SharedTicketLinkSearchRequest': TypeInfo(TypeOf.Class, create:() => SharedTicketLinkSearchRequest()),
});

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

{
	eventOwnerId: 0,
	eventId: 0,
	status: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	items: 
	[
		{
			id: 0,
			token: String,
			url: String,
			eventId: 0,
			eventOwnerId: 0,
			ticketOwnerTypeId: 0,
			count: 0,
			sectionId: 0,
			status: String,
			validTo: 0001-01-01,
			createdAt: 0001-01-01,
			createdBy: String,
			recipientEmail: String,
			recipientPhone: String,
			soldTicketOrderId: 0,
			soldAt: 0001-01-01,
			seats: 
			[
				{
					seatId: 0,
					sectionName: String,
					rowName: String,
					seatName: String
				}
			]
		}
	],
	statusCode: 0,
	message: String
}