TicketUserServices

<back to all web services

TicketHoldReleaseRequest

The following routes are available for this service:
POST/ticketHold/release
import 'package:servicestack/servicestack.dart';

class CategoryHoldLine implements IConvertible
{
    int? eventSeriesTicketType;
    int? eventSeriesOwnerTicketType;
    int? quantity;

    CategoryHoldLine({this.eventSeriesTicketType,this.eventSeriesOwnerTicketType,this.quantity});
    CategoryHoldLine.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'eventSeriesTicketType': eventSeriesTicketType,
        'eventSeriesOwnerTicketType': eventSeriesOwnerTicketType,
        'quantity': quantity
    };

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

class CategoryAvailability implements IConvertible
{
    int? eventSeriesTicketType;
    int? eventSeriesOwnerTicketType;
    int? maxTickets;
    int? remaining;

    CategoryAvailability({this.eventSeriesTicketType,this.eventSeriesOwnerTicketType,this.maxTickets,this.remaining});
    CategoryAvailability.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        eventSeriesTicketType = json['eventSeriesTicketType'];
        eventSeriesOwnerTicketType = json['eventSeriesOwnerTicketType'];
        maxTickets = json['maxTickets'];
        remaining = json['remaining'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'eventSeriesTicketType': eventSeriesTicketType,
        'eventSeriesOwnerTicketType': eventSeriesOwnerTicketType,
        'maxTickets': maxTickets,
        'remaining': remaining
    };

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

class TicketHoldResult implements IConvertible
{
    int? statusCode;
    String? message;
    String? reservationTokenId;
    DateTime? expiresUtc;
    List<CategoryHoldLine>? lines;
    List<CategoryAvailability>? perCategory;
    bool? scarcity;

    TicketHoldResult({this.statusCode,this.message,this.reservationTokenId,this.expiresUtc,this.lines,this.perCategory,this.scarcity});
    TicketHoldResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        statusCode = json['statusCode'];
        message = json['message'];
        reservationTokenId = json['reservationTokenId'];
        expiresUtc = JsonConverters.fromJson(json['expiresUtc'],'DateTime',context!);
        lines = JsonConverters.fromJson(json['lines'],'List<CategoryHoldLine>',context!);
        perCategory = JsonConverters.fromJson(json['perCategory'],'List<CategoryAvailability>',context!);
        scarcity = json['scarcity'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'statusCode': statusCode,
        'message': message,
        'reservationTokenId': reservationTokenId,
        'expiresUtc': JsonConverters.toJson(expiresUtc,'DateTime',context!),
        'lines': JsonConverters.toJson(lines,'List<CategoryHoldLine>',context!),
        'perCategory': JsonConverters.toJson(perCategory,'List<CategoryAvailability>',context!),
        'scarcity': scarcity
    };

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

class RequestSignature implements IConvertible
{
    String? systemId;
    String? systemSecret;
    String? signature;

    RequestSignature({this.systemId,this.systemSecret,this.signature});
    RequestSignature.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'systemId': systemId,
        'systemSecret': systemSecret,
        'signature': signature
    };

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

class TicketHoldReleaseRequest implements IConvertible
{
    String? reservationTokenId;
    int? requestUnixUTCTimeStamp;
    RequestSignature? signature;

    TicketHoldReleaseRequest({this.reservationTokenId,this.requestUnixUTCTimeStamp,this.signature});
    TicketHoldReleaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        reservationTokenId = json['reservationTokenId'];
        requestUnixUTCTimeStamp = json['requestUnixUTCTimeStamp'];
        signature = JsonConverters.fromJson(json['signature'],'RequestSignature',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'reservationTokenId': reservationTokenId,
        'requestUnixUTCTimeStamp': requestUnixUTCTimeStamp,
        'signature': JsonConverters.toJson(signature,'RequestSignature',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'CategoryHoldLine': TypeInfo(TypeOf.Class, create:() => CategoryHoldLine()),
    'CategoryAvailability': TypeInfo(TypeOf.Class, create:() => CategoryAvailability()),
    'TicketHoldResult': TypeInfo(TypeOf.Class, create:() => TicketHoldResult()),
    'List<CategoryHoldLine>': TypeInfo(TypeOf.Class, create:() => <CategoryHoldLine>[]),
    'List<CategoryAvailability>': TypeInfo(TypeOf.Class, create:() => <CategoryAvailability>[]),
    'RequestSignature': TypeInfo(TypeOf.Class, create:() => RequestSignature()),
    'TicketHoldReleaseRequest': TypeInfo(TypeOf.Class, create:() => TicketHoldReleaseRequest()),
});

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

{
	reservationTokenId: String,
	requestUnixUTCTimeStamp: 0,
	signature: 
	{
		systemId: String,
		systemSecret: String,
		signature: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	statusCode: 0,
	message: String,
	reservationTokenId: String,
	expiresUtc: 0001-01-01,
	lines: 
	[
		{
			eventSeriesTicketType: 0,
			eventSeriesOwnerTicketType: 0,
			quantity: 0
		}
	],
	perCategory: 
	[
		{
			eventSeriesTicketType: 0,
			eventSeriesOwnerTicketType: 0,
			maxTickets: 0,
			remaining: 0
		}
	],
	scarcity: False
}