| Requires any of the roles: | Admin, TeamAdmin, MobileApp | Requires the permission: | ReadData |
| POST | /EventSeatingFindAndReserve | Find best available seats and reserve them atomically |
|---|
namespace TicketUserServices.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type FoundSeat() =
member val Id:Int32 = new Int32() with get,set
member val Name:String = null with get,set
member val RowName:String = null with get,set
member val SectionName:String = null with get,set
member val SectionId:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type EventSeatingFindAndReserveResult() =
member val StatusCode:Int32 = new Int32() with get,set
member val Message:String = null with get,set
member val ReservationTokenId:String = null with get,set
member val TotalCandidates:Int32 = new Int32() with get,set
member val Seats:ResizeArray<FoundSeat> = new ResizeArray<FoundSeat>() with get,set
[<AllowNullLiteral>]
type RequestSignature() =
member val SystemId:String = null with get,set
member val SystemSecret:String = null with get,set
member val Signature:String = null with get,set
[<AllowNullLiteral>]
type EventSeatingFindAndReserveRequest() =
member val EventId:Int32 = new Int32() with get,set
member val Quantity:Int32 = new Int32() with get,set
member val SectionId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val ReservationTokenId:String = null with get,set
member val PhoneVerificationNumber:String = null with get,set
member val SkipIndex:Int32 = new Int32() with get,set
member val DeviceId:String = null with get,set
member val RequestUnixUTCTimeStamp:Int64 = new Int64() with get,set
member val Signature:RequestSignature = null with get,set
F# 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
}
]
}