bam-ticketing-sdk
Version:
SDK for B.A.M Ticketing API
128 lines (114 loc) • 2.24 kB
text/typescript
import { PagingQuery } from '../common/types'
export interface PdfTemplate {
id: number
/**
* User specific name of the PDF template
*/
name: string
/**
* The HTML content used for rendering PDFs. Scriban syntax is used for the data templates. See here: https://github.com/scriban/scriban
* The template should contain the {{ticket.qr_code_link}} required image.
*/
content: string
/**
* Flag indicates if this PDF template should be used as the default one, if none is specified.
*/
isDefault: boolean
}
export interface CreatePdfTemplate {
name: string
content: string
isDefault: boolean
}
export interface UpdatePdfTemplate {
name?: string
content?: string
isDefault?: boolean
}
export interface ListPdfTemplatesQuery extends PagingQuery {
name?: string
}
export interface ListPdfTemplatesResponse {
data: PdfTemplate[]
limit: number
offset: number
total: number
}
export type PdfOrderContact = {
email: string
phone: string
firstName: string
lastName: string
billingEmail: string
street1: string
street2: string
city: string
state: string
country: string
zip: string
}
export type PdfOrganizer = {
name: string
displayName?: string
taxNumber?: string
address?: {
street1?: string
city?: string
country?: string
zip?: string
}
contact?: {
email?: string
phone?: string
}
}
export type PdfVenue = {
name?: string
address?: {
street1?: string
city?: string
country?: string
zip?: string
}
}
export type PdfEvent = {
name: string
description?: string
venue?: PdfVenue
startAt?: string
endAt?: string
gateTime?: string
}
export type PdfTicketHolder = {
honorific?: string
firstName?: string
lastName?: string
address?: {
street1?: string
city?: string
country?: string
zip?: string
}
}
export type PdfTicket = {
purchaseDate: string
ticketId: string
qrCodeLink: string
person?: PdfTicketHolder
ticketCategory?: string
price?: number
currency?: string
sector?: string
row?: string
seat?: string
}
export interface PdfTicketData {
event: PdfEvent
organizer: PdfOrganizer
tickets: PdfTicket[]
contact: Partial<PdfOrderContact>
}
export interface RenderPdfWithCustomTemplateRequest {
template: string
pdfTicket: PdfTicketData
}