event-booking-api
Version:
Package for easy access to Event App API
357 lines (356 loc) • 8.38 kB
TypeScript
export declare const BOOLEAN_TYPE: readonly [0, 1];
export declare const TICKET_VISIBILITY: readonly ["public", "private", "event"];
export declare const TICKET_ATTENDEE_TYPE: readonly ["sp", "del", "ex"];
export declare const EVENT_TYPE: readonly ["hybrid", "virtual", "onsite"];
export type ResponsePaginationType<T> = {
data: T[];
meta: {
pagination: Pagination;
};
};
export declare const CURRENCY: {
readonly EUR: "EUR";
readonly USD: "USD";
};
export declare const CURRENCY_TYPE: readonly ["EUR", "USD"];
export type AssigneeInput = {
email: string;
first_name: string;
last_name: string;
company_name: string;
};
export type Pagination = {
total: number;
count: number;
per_page: number;
current_page: number;
total_pages: number;
links: {
previous: string;
next: string;
};
};
export type Booking = {
id: string;
code: string;
total: number;
sub_total: number;
discount_value: number;
base_price: number;
vat: number;
vat_value: number;
booking_status: string;
refund_policy: any;
booking_date: string;
currency: string;
payment_method: string;
invitation: Invitation;
invoice: Invoice;
payment_status: string;
last_payment_date: any;
payment_due_date: string;
attendees: any;
tickets: string[];
options: string[];
discounts: string[];
order: Ticket[];
event: string;
client: string;
belong_to: string;
updated_at: string;
};
export type Invitation = {
code: string;
campaign: string;
};
export type Invoice = {
salutation: string;
firstName: string;
lastName: string;
street: string;
city: string;
state: string;
postalCode: string;
country: string;
mobile: string;
phone: string;
email: string;
companyName: string;
poNumber: string;
vatId: string;
additionalDetails: string;
};
export type InvoiceInput = {
salutation?: string;
first_name?: string;
last_name?: string;
address_street?: string;
address_city?: string;
address_state?: string;
address_postal_code?: string;
address_country?: string;
contact_mobile?: string;
contact_email?: string;
company_name?: string;
};
export type Ticket = {
id: string;
code: string;
name: string;
price: number;
onsite: number;
assigned: null | Assignee;
discount: number;
basePrice: number;
reference: string;
description: string;
extra_options: ExtraOption[];
included_options: IncludedOption[];
discountValue: number;
discountAvailable: boolean;
};
export type Assignee = {
email: string;
profile: string;
last_name: string;
first_name: string;
assigned_at: string;
company_name: string;
confirmed_at: string | null;
};
export type ExtraOption = {
id: string;
name: string;
type: string;
price: number;
amount: number;
description: string;
};
export type IncludedOption = {
id: string;
name: string;
type: string;
price: number;
amount: number;
description: string;
};
export type Option = {
amount: number;
description: string;
id: string;
name: string;
price: number;
type: string;
};
export type BookingDetails = {
id: string;
name: string;
code: string;
hidden: (typeof BOOLEAN_TYPE)[number];
description: string;
price: number;
visibility: (typeof TICKET_VISIBILITY)[number];
included_options: Option[];
extra_options: Option[];
priority: number;
onsite: (typeof BOOLEAN_TYPE)[number];
attendee_type: (typeof TICKET_ATTENDEE_TYPE)[number];
total: number;
sub_total: number;
discount_value: number;
base_price: number;
vat: number;
vat_value: number;
booking_status: string;
refund_policy: any;
booking_date: string;
currency: string;
payment_method: string;
invitation: Invitation;
invoice: Invoice;
payment_status: string;
last_payment_date: any;
payment_due_date: string;
attendees: any;
tickets: string[];
options: string[];
discounts: string[];
order: Ticket[];
event: string;
client: string;
belong_to: string;
updated_at: string;
};
export type PublicEvent = {
about: string;
account: string;
address: {
city: string;
state: string;
street: string;
country: string;
postalCode: string;
};
advertisement: {
menuUrl: string;
wallUrl: string;
lobbyUrl: string;
centerUrl: string;
menuEnabled: boolean;
centerEnabled: boolean;
centerImageBig: string;
centerImageMedium: string;
centerImageSmall: string;
centerUrlEnabled: boolean;
centerUrlType: string;
lobbyEnabled: boolean;
lobbyImageBig: string;
lobbyImageMedium: string;
lobbyImageSmall: string;
lobbyUrlEnabled: boolean;
lobbyUrlType: string;
menuImageBig: string;
menuImageMedium: string;
menuImageSmall: string;
menuUrlEnabled: boolean;
menuUrlType: string;
wallEnabled: boolean;
wallImageBig: string;
wallImageMedium: string;
wallImageSmall: string;
wallUrlEnabled: boolean;
wallUrlType: string;
};
contact: {
xing: string;
email: string;
phone: string;
mobile: string;
twitter: string;
facebook: string;
instagram: string;
linkedin: string;
website1: string;
website2: string;
};
description: string;
design: {
themeColor: string;
headerColor: string;
expoLobbyImage: string;
backgroundColor: string;
headerFontColor: string;
agendaLobbyImage: string;
backgroundDesktopImage: string;
backgroundMobileImage: string;
backgroundTabletImage: string;
speakerLobbyImage: string;
startScreenMobileImage: string;
};
end_date: string;
id: string;
images: {
logo: string;
picture: string;
thumbnail: string;
logoTransparent: string;
};
language: string;
menu: any[];
name: string;
open_date: string;
slug: string;
start_date: string;
tags: string[];
timezone: string;
translation: string;
type: string;
updated_at: string;
location: EventLocation | null;
video: {
reference: string;
type: string;
};
};
export type PublicTicket = {
page?: number;
code?: string;
id?: string;
ticketCode?: string | null;
eventSlug?: string;
};
export type EventType = {
id: string;
name: string;
slug: string;
start_date: string;
end_date: string;
open_date: string;
timezone: string;
language: string;
type: (typeof EVENT_TYPE)[number];
images: EventImagesType;
address: EventAddressType;
contact: EventContactType;
location: EventLocation;
};
export type EventImagesType = {
logo: string;
picture: string;
thumbnail: string;
logoTransparent: string;
};
export type EventAddressType = {
city: string;
state: string;
street: string;
country: string;
postalCode: string;
};
export type EventContactType = {
xing: string;
email: string;
phone: string;
mobile: string;
twitter: string;
facebook: string;
linkedin: string;
website1: string;
website2: string;
instagram: string;
};
export type EventLocation = {
name: string;
marker: LocationMarker;
};
export type LocationMarker = {
latitude: string;
longitude: string;
type: string;
street: string;
city: string;
state: string;
postalCode: string;
country: string;
};
export type ErrorType = {
status: number;
message_code: number;
message: string;
invalid_fields: Record<string, string[]>;
};
export type PublicBookingsCheckInput = {
event: string;
invoice?: InvoiceInput;
discount?: string;
payment_account: string;
tickets: TicketOptionsInput[];
};
export type OptionInput = {
option?: string;
};
export type TicketOptionsInput = {
ticket: string;
options?: OptionInput[];
index?: number;
};