TicketUserServices

<back to all web services

AppEventSeatingAtEventTicketTypesSearchRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequires the permission:ReadData
The following routes are available for this service:
POST/AppSeatingTicketTypesAtEventSearch
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EventSeriesOwnerTicketType:
    id: Optional[int] = None
    name: Optional[str] = None
    default_price: Optional[Decimal] = None
    series_id: Optional[int] = None
    owner_id: Optional[int] = None
    ticket_type_list_order: Optional[int] = None
    is_active: Optional[bool] = None
    max_tickets: Optional[int] = None
    ticket_color: Optional[str] = None
    show_used_tickets: Optional[bool] = None
    can_only_be_bought_with_team_pass: Optional[bool] = None
    is_special_ticket: Optional[bool] = None
    special_ticket_id: Optional[str] = None
    only_for_ksi: Optional[bool] = None
    timestamp_created: Optional[datetime.datetime] = None
    timestamp_last_changed: Optional[datetime.datetime] = None
    tickets_for_sale_per_event: Optional[bool] = None
    image_url: Optional[str] = None
    holder_info_required: Optional[bool] = None
    event_series_owner_seating_section_id: Optional[int] = None
    can_only_be_bought: Optional[bool] = None
    can_not_be_bought: Optional[bool] = None
    block_transfer: Optional[bool] = None
    max_tickets_per_transaction: Optional[int] = None
    force_single_tickets: Optional[bool] = None
    only_for_event: Optional[int] = None
    currency: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MyOwnerCards:
    id: Optional[int] = None
    phone_full_verification_number: Optional[str] = None
    owner_id: Optional[int] = None
    card_type_id: Optional[int] = None
    name: Optional[str] = None
    image_url: Optional[str] = None
    description: Optional[str] = None
    ticket_type_max_tickets: Optional[int] = None
    card_valid_from_u_t_c: Optional[datetime.datetime] = None
    card_valid_to_u_t_c: Optional[datetime.datetime] = None
    current_available_tickets: Optional[int] = None
    initial_max_tickets: Optional[int] = None
    device_id: Optional[str] = None
    holder_id: Optional[str] = None
    holder_name: Optional[str] = None
    holder_email: Optional[str] = None
    initial_store_credit: Optional[Decimal] = None
    current_store_credit: Optional[Decimal] = None
    has_store_credit: Optional[bool] = None
    time_stamp_bought_u_t_c: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AppEventSeatingSectionOwnerTicketTypesItem:
    ticket_type: Optional[EventSeriesOwnerTicketType] = None
    my_cards: Optional[List[MyOwnerCards]] = None
    connection_id: Optional[int] = None
    hidden_from_sale: Optional[bool] = None
    is_presale_price: Optional[bool] = None
    regular_price: Optional[Decimal] = None
    presale_ends_u_t_c: Optional[datetime.datetime] = None
    sale_status: Optional[str] = None
    sale_starts_u_t_c: Optional[datetime.datetime] = None
    sale_ends_u_t_c: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EventSeriesTicketType:
    id: Optional[int] = None
    name: Optional[str] = None
    default_price: Optional[Decimal] = None
    series_id: Optional[int] = None
    ticket_type_list_order: Optional[int] = None
    is_active: Optional[bool] = None
    ticket_color: Optional[str] = None
    show_used_tickets: Optional[bool] = None
    is_special_ticket: Optional[bool] = None
    special_ticket_id: Optional[str] = None
    only_for_ksi: Optional[bool] = None
    holder_info_required: Optional[bool] = None
    block_transfer: Optional[bool] = None
    max_tickets_per_transaction: Optional[int] = None
    currency: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MySeriesControllerCards:
    id: Optional[int] = None
    phone_full_verification_number: Optional[str] = None
    owner_id: Optional[str] = None
    card_type_id: Optional[str] = None
    name: Optional[str] = None
    description: Optional[str] = None
    card_type_owner: Optional[str] = None
    max_tickets_per_event: Optional[int] = None
    creation_date: Optional[datetime.datetime] = None
    device_id: Optional[str] = None
    holder_name: Optional[str] = None
    can_transfer_to_name: Optional[str] = None
    can_transfer_to_phone_full_number: Optional[str] = None
    exp_year: Optional[str] = None
    exp_month: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AppEventSeatingSectionSeriesTicketTypesItem:
    ticket_type: Optional[EventSeriesTicketType] = None
    my_cards: Optional[List[MySeriesControllerCards]] = None
    connection_id: Optional[int] = None
    hidden_from_sale: Optional[bool] = None
    is_presale_price: Optional[bool] = None
    regular_price: Optional[Decimal] = None
    presale_ends_u_t_c: Optional[datetime.datetime] = None
    sale_status: Optional[str] = None
    sale_starts_u_t_c: Optional[datetime.datetime] = None
    sale_ends_u_t_c: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AppEventSeatingSectionTicketTypesGroup:
    event_section_id: Optional[int] = None
    owner_ticket_types: Optional[List[AppEventSeatingSectionOwnerTicketTypesItem]] = None
    series_ticket_types: Optional[List[AppEventSeatingSectionSeriesTicketTypesItem]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AppEventSeatingAtEventTicketTypesSearchResult:
    status_code: Optional[int] = None
    message: Optional[str] = None
    sections: Optional[List[AppEventSeatingSectionTicketTypesGroup]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AppEventSeatingAtEventTicketTypesSearchRequest:
    event_id: Optional[int] = None
    include_hidden_from_sale: Optional[bool] = None

Python AppEventSeatingAtEventTicketTypesSearchRequest 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 /AppSeatingTicketTypesAtEventSearch HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	eventId: 0,
	includeHiddenFromSale: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	statusCode: 0,
	message: String,
	sections: 
	[
		{
			eventSectionId: 0,
			ownerTicketTypes: 
			[
				{
					ticketType: 
					{
						id: 0,
						name: String,
						defaultPrice: 0,
						seriesId: 0,
						ownerId: 0,
						ticketTypeListOrder: 0,
						isActive: False,
						maxTickets: 0,
						ticketColor: String,
						showUsedTickets: False,
						canOnlyBeBoughtWithTeamPass: False,
						isSpecialTicket: False,
						specialTicketId: String,
						onlyForKsi: False,
						timestampCreated: 0001-01-01,
						timestampLastChanged: 0001-01-01,
						ticketsForSalePerEvent: False,
						imageUrl: String,
						holderInfoRequired: False,
						eventSeriesOwnerSeatingSectionId: 0,
						canOnlyBeBought: False,
						canNotBeBought: False,
						blockTransfer: False,
						maxTicketsPerTransaction: 0,
						forceSingleTickets: False,
						onlyForEvent: 0,
						currency: String
					},
					myCards: 
					[
						{
							id: 0,
							phoneFullVerificationNumber: String,
							ownerId: 0,
							cardTypeId: 0,
							name: String,
							imageUrl: String,
							description: String,
							ticketTypeMaxTickets: 0,
							cardValidFromUTC: 0001-01-01,
							cardValidToUTC: 0001-01-01,
							currentAvailableTickets: 0,
							initialMaxTickets: 0,
							deviceId: String,
							holderId: String,
							holderName: String,
							holderEmail: String,
							initialStoreCredit: 0,
							currentStoreCredit: 0,
							hasStoreCredit: False,
							timeStampBoughtUTC: 0001-01-01
						}
					],
					connectionId: 0,
					hiddenFromSale: False,
					isPresalePrice: False,
					regularPrice: 0,
					presaleEndsUTC: 0001-01-01,
					saleStatus: String,
					saleStartsUTC: 0001-01-01,
					saleEndsUTC: 0001-01-01
				}
			],
			seriesTicketTypes: 
			[
				{
					ticketType: 
					{
						id: 0,
						name: String,
						defaultPrice: 0,
						seriesId: 0,
						ticketTypeListOrder: 0,
						isActive: False,
						ticketColor: String,
						showUsedTickets: False,
						isSpecialTicket: False,
						specialTicketId: String,
						onlyForKsi: False,
						holderInfoRequired: False,
						blockTransfer: False,
						maxTicketsPerTransaction: 0,
						currency: String
					},
					myCards: 
					[
						{
							id: 0,
							phoneFullVerificationNumber: String,
							ownerId: String,
							cardTypeId: String,
							name: String,
							description: String,
							cardTypeOwner: String,
							maxTicketsPerEvent: 0,
							creationDate: 0001-01-01,
							deviceId: String,
							holderName: String,
							canTransferToName: String,
							canTransferToPhoneFullNumber: String,
							expYear: String,
							expMonth: String
						}
					],
					connectionId: 0,
					hiddenFromSale: False,
					isPresalePrice: False,
					regularPrice: 0,
					presaleEndsUTC: 0001-01-01,
					saleStatus: String,
					saleStartsUTC: 0001-01-01,
					saleEndsUTC: 0001-01-01
				}
			]
		}
	]
}