| Requires any of the roles: | Admin, TeamAdmin, MobileApp | Requires the permission: | ReadData |
| POST | /EventSeatingFindAndReserve | Find best available seats and reserve them atomically |
|---|
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 FoundSeat:
id: Optional[int] = None
name: Optional[str] = None
row_name: Optional[str] = None
section_name: Optional[str] = None
section_id: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EventSeatingFindAndReserveResult:
status_code: Optional[int] = None
message: Optional[str] = None
reservation_token_id: Optional[str] = None
total_candidates: Optional[int] = None
seats: Optional[List[FoundSeat]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RequestSignature:
system_id: Optional[str] = None
system_secret: Optional[str] = None
signature: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EventSeatingFindAndReserveRequest:
event_id: Optional[int] = None
quantity: Optional[int] = None
section_id: Optional[int] = None
reservation_token_id: Optional[str] = None
phone_verification_number: Optional[str] = None
skip_index: Optional[int] = None
device_id: Optional[str] = None
request_unix_u_t_c_time_stamp: Optional[int] = None
signature: Optional[RequestSignature] = None
Python EventSeatingFindAndReserveRequest 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 /EventSeatingFindAndReserve HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
eventId: 0,
quantity: 0,
sectionId: 0,
reservationTokenId: String,
phoneVerificationNumber: String,
skipIndex: 0,
deviceId: 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,
totalCandidates: 0,
seats:
[
{
id: 0,
name: String,
rowName: String,
sectionName: String,
sectionId: 0
}
]
}