UNPKG

tickethead-sdk

Version:

SDK for the Tickethead API

168 lines 4.82 kB
import { OrderAttribute } from '../common/attributes'; import { IdParam, PagingQuery } from '../common/types'; import { Ticket } from '../event/types'; export type TicketFormatType = 'PDF' | 'SECURE' | 'PKPASS'; /** * Payload for order creation * * @param orderItem Array of `OrderItem`s * @param format Format of the tickets (PDF, SECURE or PKPASS) * @param holdToken Hold token for seat reservation generated on Seats.io (if seating chart is used) * @param accessCode Presale access code, if the event is currently in its presale period * @param referralCode Can be used to specify a conversion source for the user */ export interface OrderRequest { orderItem: OrderItemRequest[]; format: TicketFormatType; holdToken?: string; discountCode?: string; accessCode?: string; referralCode?: string; orderContact?: OrderContactRequest; sendConfirmationEmail?: boolean; } /** * Single order item inside the order * * @param quantity Number of tickets inside the order item * @param ticketConfigId Id of the ticket configuration * @param timeslotId Id of the timeslot where the ticket is reserved * @param sectorId Id of the sector where the ticket is reserved * @param ticketDiscount Array of ticket discount IDs applied to the order item * @param selectedSeats Array of seat labels generated on Seats.io (if seating chart is used) */ export interface OrderItemRequest { quantity: number; ticketConfigId: number; timeslotId?: number; sectorId?: number; ticketDiscount?: number[]; selectedSeats?: string[]; } export interface OrderContactRequest { firstName: string; lastName: string; email: string; billingEmail: string; phone?: string; street1?: string; street2?: string; city?: string; zip?: string; state?: string; country?: string; vatNumber?: string; businessName?: string; } export interface OrderItem { id: number; price: number; ticket: Ticket[]; } export interface Order { id: number; ownerId: string; ownerType: string; paymentId?: string; organizerId?: string; format: string; status?: OrderStatus; total?: number; refundedAmount?: number; platformFee: number; absorbedFee: number; passedOnFee: number; feeTaxRate?: number; paymentProviderFee?: number; paymentProviderNet?: number; tax: number; paymentCreatedAt?: Date; createdAt: Date; updatedAt: Date; currency?: string; holdToken?: string; orderItem?: OrderItem[]; orderContact?: OrderContact; referralCode?: string; insuranceQuoteId?: string; insuranceRefundUrl?: string; insuranceCost?: number; insuranceSold?: boolean; refundSource?: string; sendConfirmationEmail?: boolean; } export interface OrderContact extends OrderContactRequest { id: number; } export interface OrderGet extends IdParam { with?: OrderAttribute; } export declare enum OrderStatus { /** * Initial order state */ Draft = "draft", /** * The state of the payment after a payment is associated to it */ PaymentProcessing = "payment_processing", /** * The state of the order after the payment wasn't made in the payment window * or if the payment has timed out * or if the payment has been manually canceled * This is an end state */ Canceled = "payment_failed", /** * State after a successful payment confirmation */ Paid = "paid", /** * State when some tickets were refunded, but not all * The only further state is `refunded` */ PartiallyRefunded = "partially_refunded", /** * State of order after its payment is refunded * Should release the associated tickets * This is an end state */ Refunded = "refunded" } export interface OrderListQuery extends PagingQuery { organizer_id?: string; include_not_owned?: boolean; id?: number; contact_email?: string; event_id?: number; sort_by?: string; with?: OrderAttribute; } /** * @field `ticketIds` - If you want to only refund some of the tickets in the order. * @field `refundPlatformFee` - To refund or not to refund the platform fee. Defaults to true. */ export interface RefundOrderBody { ticketIds?: number[]; refundPlatformFee?: boolean; } export declare enum ConvertOrderFormat { Pdf = "PDF" } export interface ConvertOrderBody { format?: ConvertOrderFormat; } export interface ResendTicketParams { orderId: number; id: number; } export interface TicketInOrderId { orderId: number; orderItemId: number; id: number; } export interface GeneratePdfTokenResponse { pdfDownloadToken: string; pdfDownloadTokenExpiresAt: Date; } //# sourceMappingURL=types.d.ts.map