TicketUserServices

<back to all web services

GetEventDetailsAndPrices

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileApp
The following routes are available for this service:
GET POST/eventDetailsAndPrices/{Id}
GET POST/eventDetailsAndPrices/Reference/{ReferenceId}
import 'package:servicestack/servicestack.dart';

class EventDetails implements IConvertible
{
    int? id;
    String? name;
    String? description;
    String? externalReference;
    DateTime? timeOfEvent;
    int? eventLocationId;
    int? eventSeriesId;
    int? eventOwnerId;
    bool? eventActive;
    String? eventOwnerName;
    String? externalOwnerId;
    String? teamAwayId;
    String? teamAwayName;
    String? eventSeriesName;
    String? eventLocationName;
    double? latitude;
    double? longitude;
    String? defaultValues;
    String? externalReferenceType;
    bool? eventSeriesActive;
    String? allowedKsiCard;
    String? seriesId;
    bool? seriesShowByDefault;
    bool? postponedNoDate;
    String? awayTeamExternalId;
    String? sportGenderId;
    String? externalIdType;
    bool? seriesEventSaleSuspended;
    DateTime? seriesSaleSuspensionEventStartDate;
    DateTime? seriesSaleSuspensionEventEndDate;
    bool? saleIsActive;
    bool? hideEvent;
    String? imageUrl2;
    String? directAccessCode;
    String? imageUrl;
    String? detailedDescription;
    String? ownerImageUrl;
    String? ownerImageUrl2;
    bool? ownerCardsNotAllowed;
    String? seatingImageUrl;
    DateTime? endOfEvent;
    DateTime? endOfEventUTC;
    String? timeZone;
    DateTime? timeOfEventUTC;

    EventDetails({this.id,this.name,this.description,this.externalReference,this.timeOfEvent,this.eventLocationId,this.eventSeriesId,this.eventOwnerId,this.eventActive,this.eventOwnerName,this.externalOwnerId,this.teamAwayId,this.teamAwayName,this.eventSeriesName,this.eventLocationName,this.latitude,this.longitude,this.defaultValues,this.externalReferenceType,this.eventSeriesActive,this.allowedKsiCard,this.seriesId,this.seriesShowByDefault,this.postponedNoDate,this.awayTeamExternalId,this.sportGenderId,this.externalIdType,this.seriesEventSaleSuspended,this.seriesSaleSuspensionEventStartDate,this.seriesSaleSuspensionEventEndDate,this.saleIsActive,this.hideEvent,this.imageUrl2,this.directAccessCode,this.imageUrl,this.detailedDescription,this.ownerImageUrl,this.ownerImageUrl2,this.ownerCardsNotAllowed,this.seatingImageUrl,this.endOfEvent,this.endOfEventUTC,this.timeZone,this.timeOfEventUTC});
    EventDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        description = json['description'];
        externalReference = json['externalReference'];
        timeOfEvent = JsonConverters.fromJson(json['timeOfEvent'],'DateTime',context!);
        eventLocationId = json['eventLocationId'];
        eventSeriesId = json['eventSeriesId'];
        eventOwnerId = json['eventOwnerId'];
        eventActive = json['eventActive'];
        eventOwnerName = json['eventOwnerName'];
        externalOwnerId = json['externalOwnerId'];
        teamAwayId = json['teamAwayId'];
        teamAwayName = json['teamAwayName'];
        eventSeriesName = json['eventSeriesName'];
        eventLocationName = json['eventLocationName'];
        latitude = JsonConverters.toDouble(json['latitude']);
        longitude = JsonConverters.toDouble(json['longitude']);
        defaultValues = json['defaultValues'];
        externalReferenceType = json['externalReferenceType'];
        eventSeriesActive = json['eventSeriesActive'];
        allowedKsiCard = json['allowedKsiCard'];
        seriesId = json['seriesId'];
        seriesShowByDefault = json['seriesShowByDefault'];
        postponedNoDate = json['postponedNoDate'];
        awayTeamExternalId = json['awayTeamExternalId'];
        sportGenderId = json['sportGenderId'];
        externalIdType = json['externalIdType'];
        seriesEventSaleSuspended = json['seriesEventSaleSuspended'];
        seriesSaleSuspensionEventStartDate = JsonConverters.fromJson(json['seriesSaleSuspensionEventStartDate'],'DateTime',context!);
        seriesSaleSuspensionEventEndDate = JsonConverters.fromJson(json['seriesSaleSuspensionEventEndDate'],'DateTime',context!);
        saleIsActive = json['saleIsActive'];
        hideEvent = json['hideEvent'];
        imageUrl2 = json['imageUrl2'];
        directAccessCode = json['directAccessCode'];
        imageUrl = json['imageUrl'];
        detailedDescription = json['detailedDescription'];
        ownerImageUrl = json['ownerImageUrl'];
        ownerImageUrl2 = json['ownerImageUrl2'];
        ownerCardsNotAllowed = json['ownerCardsNotAllowed'];
        seatingImageUrl = json['seatingImageUrl'];
        endOfEvent = JsonConverters.fromJson(json['endOfEvent'],'DateTime',context!);
        endOfEventUTC = JsonConverters.fromJson(json['endOfEventUTC'],'DateTime',context!);
        timeZone = json['timeZone'];
        timeOfEventUTC = JsonConverters.fromJson(json['timeOfEventUTC'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'description': description,
        'externalReference': externalReference,
        'timeOfEvent': JsonConverters.toJson(timeOfEvent,'DateTime',context!),
        'eventLocationId': eventLocationId,
        'eventSeriesId': eventSeriesId,
        'eventOwnerId': eventOwnerId,
        'eventActive': eventActive,
        'eventOwnerName': eventOwnerName,
        'externalOwnerId': externalOwnerId,
        'teamAwayId': teamAwayId,
        'teamAwayName': teamAwayName,
        'eventSeriesName': eventSeriesName,
        'eventLocationName': eventLocationName,
        'latitude': latitude,
        'longitude': longitude,
        'defaultValues': defaultValues,
        'externalReferenceType': externalReferenceType,
        'eventSeriesActive': eventSeriesActive,
        'allowedKsiCard': allowedKsiCard,
        'seriesId': seriesId,
        'seriesShowByDefault': seriesShowByDefault,
        'postponedNoDate': postponedNoDate,
        'awayTeamExternalId': awayTeamExternalId,
        'sportGenderId': sportGenderId,
        'externalIdType': externalIdType,
        'seriesEventSaleSuspended': seriesEventSaleSuspended,
        'seriesSaleSuspensionEventStartDate': JsonConverters.toJson(seriesSaleSuspensionEventStartDate,'DateTime',context!),
        'seriesSaleSuspensionEventEndDate': JsonConverters.toJson(seriesSaleSuspensionEventEndDate,'DateTime',context!),
        'saleIsActive': saleIsActive,
        'hideEvent': hideEvent,
        'imageUrl2': imageUrl2,
        'directAccessCode': directAccessCode,
        'imageUrl': imageUrl,
        'detailedDescription': detailedDescription,
        'ownerImageUrl': ownerImageUrl,
        'ownerImageUrl2': ownerImageUrl2,
        'ownerCardsNotAllowed': ownerCardsNotAllowed,
        'seatingImageUrl': seatingImageUrl,
        'endOfEvent': JsonConverters.toJson(endOfEvent,'DateTime',context!),
        'endOfEventUTC': JsonConverters.toJson(endOfEventUTC,'DateTime',context!),
        'timeZone': timeZone,
        'timeOfEventUTC': JsonConverters.toJson(timeOfEventUTC,'DateTime',context!)
    };

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

class EventTicketPriceInfo implements IConvertible
{
    double? price;
    int? ticketTypeId;
    int? ticketOwnerTypeId;
    String? name;
    int? eventId;
    bool? hidden;
    bool? soldOut;
    int? ticketsLeft;
    bool? isActive;
    bool? limitedTickets;
    int? sortOrder;
    String? specialTicketId;
    String? imageUrl;
    bool? holderInfoRequired;
    int? totalTickets;
    bool? canOnlyBeBought;
    bool? canNotBeBought;
    bool? canOnlyBeBoughtWithTeamPass;
    bool? blockTransfer;
    int? maxTicketsPerTransaction;
    String? currency;
    String? ticketColor;
    int? onlyForEvent;

    EventTicketPriceInfo({this.price,this.ticketTypeId,this.ticketOwnerTypeId,this.name,this.eventId,this.hidden,this.soldOut,this.ticketsLeft,this.isActive,this.limitedTickets,this.sortOrder,this.specialTicketId,this.imageUrl,this.holderInfoRequired,this.totalTickets,this.canOnlyBeBought,this.canNotBeBought,this.canOnlyBeBoughtWithTeamPass,this.blockTransfer,this.maxTicketsPerTransaction,this.currency,this.ticketColor,this.onlyForEvent});
    EventTicketPriceInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        price = JsonConverters.toDouble(json['price']);
        ticketTypeId = json['ticketTypeId'];
        ticketOwnerTypeId = json['ticketOwnerTypeId'];
        name = json['name'];
        eventId = json['eventId'];
        hidden = json['hidden'];
        soldOut = json['soldOut'];
        ticketsLeft = json['ticketsLeft'];
        isActive = json['isActive'];
        limitedTickets = json['limitedTickets'];
        sortOrder = json['sortOrder'];
        specialTicketId = json['specialTicketId'];
        imageUrl = json['imageUrl'];
        holderInfoRequired = json['holderInfoRequired'];
        totalTickets = json['totalTickets'];
        canOnlyBeBought = json['canOnlyBeBought'];
        canNotBeBought = json['canNotBeBought'];
        canOnlyBeBoughtWithTeamPass = json['canOnlyBeBoughtWithTeamPass'];
        blockTransfer = json['blockTransfer'];
        maxTicketsPerTransaction = json['maxTicketsPerTransaction'];
        currency = json['currency'];
        ticketColor = json['ticketColor'];
        onlyForEvent = json['onlyForEvent'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'price': price,
        'ticketTypeId': ticketTypeId,
        'ticketOwnerTypeId': ticketOwnerTypeId,
        'name': name,
        'eventId': eventId,
        'hidden': hidden,
        'soldOut': soldOut,
        'ticketsLeft': ticketsLeft,
        'isActive': isActive,
        'limitedTickets': limitedTickets,
        'sortOrder': sortOrder,
        'specialTicketId': specialTicketId,
        'imageUrl': imageUrl,
        'holderInfoRequired': holderInfoRequired,
        'totalTickets': totalTickets,
        'canOnlyBeBought': canOnlyBeBought,
        'canNotBeBought': canNotBeBought,
        'canOnlyBeBoughtWithTeamPass': canOnlyBeBoughtWithTeamPass,
        'blockTransfer': blockTransfer,
        'maxTicketsPerTransaction': maxTicketsPerTransaction,
        'currency': currency,
        'ticketColor': ticketColor,
        'onlyForEvent': onlyForEvent
    };

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

class EventDetailsAndPrices implements IConvertible
{
    EventDetails? eventDetails;
    List<EventTicketPriceInfo>? prices;

    EventDetailsAndPrices({this.eventDetails,this.prices});
    EventDetailsAndPrices.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        eventDetails = JsonConverters.fromJson(json['eventDetails'],'EventDetails',context!);
        prices = JsonConverters.fromJson(json['prices'],'List<EventTicketPriceInfo>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'eventDetails': JsonConverters.toJson(eventDetails,'EventDetails',context!),
        'prices': JsonConverters.toJson(prices,'List<EventTicketPriceInfo>',context!)
    };

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

class GetEventDetailsAndPrices implements IConvertible
{
    int? version;
    String? phoneVerificationNumber;
    String? deviceId;
    int? id;
    String? referenceId;
    bool? returnSoldOutTickets;
    String? directAccessCode;
    bool? dontReturnCards;

    GetEventDetailsAndPrices({this.version,this.phoneVerificationNumber,this.deviceId,this.id,this.referenceId,this.returnSoldOutTickets,this.directAccessCode,this.dontReturnCards});
    GetEventDetailsAndPrices.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        version = json['version'];
        phoneVerificationNumber = json['phoneVerificationNumber'];
        deviceId = json['deviceId'];
        id = json['id'];
        referenceId = json['referenceId'];
        returnSoldOutTickets = json['returnSoldOutTickets'];
        directAccessCode = json['directAccessCode'];
        dontReturnCards = json['dontReturnCards'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'version': version,
        'phoneVerificationNumber': phoneVerificationNumber,
        'deviceId': deviceId,
        'id': id,
        'referenceId': referenceId,
        'returnSoldOutTickets': returnSoldOutTickets,
        'directAccessCode': directAccessCode,
        'dontReturnCards': dontReturnCards
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_autoupdates_live.smartnewapis.com', types: <String, TypeInfo> {
    'EventDetails': TypeInfo(TypeOf.Class, create:() => EventDetails()),
    'EventTicketPriceInfo': TypeInfo(TypeOf.Class, create:() => EventTicketPriceInfo()),
    'EventDetailsAndPrices': TypeInfo(TypeOf.Class, create:() => EventDetailsAndPrices()),
    'List<EventTicketPriceInfo>': TypeInfo(TypeOf.Class, create:() => <EventTicketPriceInfo>[]),
    'GetEventDetailsAndPrices': TypeInfo(TypeOf.Class, create:() => GetEventDetailsAndPrices()),
});

Dart GetEventDetailsAndPrices 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 /eventDetailsAndPrices/{Id} HTTP/1.1 
Host: stubbur-autoupdates-live.smartnewapis.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	version: 0,
	phoneVerificationNumber: String,
	deviceId: String,
	id: 0,
	referenceId: String,
	returnSoldOutTickets: False,
	directAccessCode: String,
	dontReturnCards: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	eventDetails: 
	{
		id: 0,
		name: String,
		description: String,
		externalReference: String,
		timeOfEvent: 0001-01-01,
		eventLocationId: 0,
		eventSeriesId: 0,
		eventOwnerId: 0,
		eventActive: False,
		eventOwnerName: String,
		externalOwnerId: String,
		teamAwayId: String,
		teamAwayName: String,
		eventSeriesName: String,
		eventLocationName: String,
		latitude: 0,
		longitude: 0,
		defaultValues: String,
		externalReferenceType: String,
		eventSeriesActive: False,
		allowedKsiCard: String,
		seriesId: String,
		seriesShowByDefault: False,
		postponedNoDate: False,
		awayTeamExternalId: String,
		sportGenderId: String,
		externalIdType: String,
		seriesEventSaleSuspended: False,
		seriesSaleSuspensionEventStartDate: 0001-01-01,
		seriesSaleSuspensionEventEndDate: 0001-01-01,
		saleIsActive: False,
		hideEvent: False,
		imageUrl2: String,
		directAccessCode: String,
		imageUrl: String,
		detailedDescription: String,
		ownerImageUrl: String,
		ownerImageUrl2: String,
		ownerCardsNotAllowed: False,
		seatingImageUrl: String,
		endOfEvent: 0001-01-01,
		endOfEventUTC: 0001-01-01,
		timeZone: String,
		timeOfEventUTC: 0001-01-01
	},
	prices: 
	[
		{
			price: 0,
			ticketTypeId: 0,
			ticketOwnerTypeId: 0,
			name: String,
			eventId: 0,
			hidden: False,
			soldOut: False,
			ticketsLeft: 0,
			isActive: False,
			limitedTickets: False,
			sortOrder: 0,
			specialTicketId: String,
			imageUrl: String,
			holderInfoRequired: False,
			totalTickets: 0,
			canOnlyBeBought: False,
			canNotBeBought: False,
			canOnlyBeBoughtWithTeamPass: False,
			blockTransfer: False,
			maxTicketsPerTransaction: 0,
			currency: String,
			ticketColor: String,
			onlyForEvent: 0
		}
	]
}