TicketUserServices

<back to all web services

SelfServiceTransferTargetTicketTypesRequest

Requires Authentication
The following routes are available for this service:
POST/selfService/transferTicket/targetTicketTypesTicket types on the target event a buyer may exchange into, with per-option price difference and blocking reason
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 SelfServiceTransferResultBase:
    ok: Optional[bool] = None
    status_code: Optional[int] = None
    code: Optional[str] = None
    message: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SelfServiceTargetTicketTypeOption:
    owner_ticket_type_id: Optional[int] = None
    series_ticket_type_id: Optional[int] = None
    name: Optional[str] = None
    price: Optional[Decimal] = None
    direction: Optional[str] = None
    price_difference: Optional[Decimal] = None
    name_matches_source: Optional[bool] = None
    selectable: Optional[bool] = None
    blocked_reason: Optional[str] = None
    blocked_message: Optional[str] = None
    max_tickets: Optional[int] = None
    tickets_sold: Optional[int] = None
    tickets_left: Optional[int] = 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 SelfServiceTransferTargetTicketTypesResult(SelfServiceTransferResultBase):
    source_ticket_price: Optional[Decimal] = None
    source_ticket_type_name: Optional[str] = None
    to_event_id: Optional[int] = None
    target_is_seated: Optional[bool] = None
    options: Optional[List[SelfServiceTargetTicketTypeOption]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SelfServiceTransferTargetTicketTypesRequest:
    ticket_token_id: Optional[str] = None
    buyer_phone: Optional[str] = None
    to_event_id: Optional[int] = None
    section_id: Optional[int] = None

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

{
	ticketTokenId: String,
	buyerPhone: String,
	toEventId: 0,
	sectionId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	sourceTicketPrice: 0,
	sourceTicketTypeName: String,
	toEventId: 0,
	targetIsSeated: False,
	options: 
	[
		{
			ownerTicketTypeId: 0,
			seriesTicketTypeId: 0,
			name: String,
			price: 0,
			direction: String,
			priceDifference: 0,
			nameMatchesSource: False,
			selectable: False,
			blockedReason: String,
			blockedMessage: String,
			maxTickets: 0,
			ticketsSold: 0,
			ticketsLeft: 0,
			saleStatus: String,
			saleStartsUTC: 0001-01-01,
			saleEndsUTC: 0001-01-01
		}
	],
	ok: False,
	statusCode: 0,
	code: String,
	message: String
}