Requires any of the roles: | Admin, TeamAdmin, MobileApp |
GET POST | /eventDetailsAndPrices/{Id} | ||
---|---|---|---|
GET POST | /eventDetailsAndPrices/Reference/{ReferenceId} |
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 EventDetails:
id: Optional[int] = None
name: Optional[str] = None
description: Optional[str] = None
external_reference: Optional[str] = None
time_of_event: Optional[datetime.datetime] = None
event_location_id: Optional[int] = None
event_series_id: Optional[int] = None
event_owner_id: Optional[int] = None
event_active: Optional[bool] = None
event_owner_name: Optional[str] = None
external_owner_id: Optional[str] = None
team_away_id: Optional[str] = None
team_away_name: Optional[str] = None
event_series_name: Optional[str] = None
event_location_name: Optional[str] = None
latitude: Optional[Decimal] = None
longitude: Optional[Decimal] = None
default_values: Optional[str] = None
external_reference_type: Optional[str] = None
event_series_active: Optional[bool] = None
allowed_ksi_card: Optional[str] = None
series_id: Optional[str] = None
series_show_by_default: Optional[bool] = None
postponed_no_date: Optional[bool] = None
away_team_external_id: Optional[str] = None
sport_gender_id: Optional[str] = None
external_id_type: Optional[str] = None
series_event_sale_suspended: Optional[bool] = None
series_sale_suspension_event_start_date: Optional[datetime.datetime] = None
series_sale_suspension_event_end_date: Optional[datetime.datetime] = None
sale_is_active: Optional[bool] = None
hide_event: Optional[bool] = None
image_url2: Optional[str] = None
direct_access_code: Optional[str] = None
image_url: Optional[str] = None
detailed_description: Optional[str] = None
owner_image_url: Optional[str] = None
owner_image_url2: Optional[str] = None
owner_cards_not_allowed: Optional[bool] = None
seating_image_url: Optional[str] = None
end_of_event: Optional[datetime.datetime] = None
end_of_event_u_t_c: Optional[datetime.datetime] = None
time_zone: Optional[str] = None
time_of_event_u_t_c: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EventTicketPriceInfo:
price: Optional[Decimal] = None
ticket_type_id: Optional[int] = None
ticket_owner_type_id: Optional[int] = None
name: Optional[str] = None
event_id: Optional[int] = None
hidden: Optional[bool] = None
sold_out: Optional[bool] = None
tickets_left: Optional[int] = None
is_active: Optional[bool] = None
limited_tickets: Optional[bool] = None
sort_order: Optional[int] = None
special_ticket_id: Optional[str] = None
image_url: Optional[str] = None
holder_info_required: Optional[bool] = None
total_tickets: Optional[int] = None
can_only_be_bought: Optional[bool] = None
can_not_be_bought: Optional[bool] = None
can_only_be_bought_with_team_pass: Optional[bool] = None
block_transfer: Optional[bool] = None
max_tickets_per_transaction: Optional[int] = None
currency: Optional[str] = None
ticket_color: Optional[str] = None
only_for_event: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EventDetailsAndPrices:
event_details: Optional[EventDetails] = None
prices: Optional[List[EventTicketPriceInfo]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetEventDetailsAndPrices:
version: Optional[int] = None
phone_verification_number: Optional[str] = None
device_id: Optional[str] = None
id: Optional[int] = None
reference_id: Optional[str] = None
return_sold_out_tickets: Optional[bool] = None
direct_access_code: Optional[str] = None
dont_return_cards: Optional[bool] = None
Python GetEventDetailsAndPrices DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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 } ] }