@hubs101/booking-api-skd-client
Version:
Package for easy access to Event App API
871 lines (870 loc) • 20.8 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", "de", "ex"];
export declare const EVENT_TYPE: readonly ["hybrid", "virtual", "onsite"];
export declare const LANGUAGE_TYPE: readonly ["de", "en"];
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 BookingCheckDetails = {
base_price: number;
currency: string;
discount_value: number;
order: OrderedTicket[];
payment_method: string;
sub_total: number;
total: number;
vat: number;
vat_value: number;
};
export type Booking = BookingCheckDetails & {
id: string;
code: string;
booking_status: string;
refund_policy: any;
booking_date: string;
invitation: Invitation;
invoice: Invoice;
payment_status: string;
last_payment_date: any;
payment_due_date: string;
attendees: any;
tickets: string[];
options: string[];
discounts: string[];
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;
priority: number;
};
export type OrderedTicket = {
id: string;
code: string;
name: string;
price: number;
onsite: number;
assigned: null | Assignee;
discount: number;
basePrice: number;
reference: string;
description: string;
extraOptions: ExtraOption[];
includedOptions: 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: OrderedTicket[];
event: string;
client: string;
belong_to: string;
updated_at: string;
payment_url?: string;
};
export type PublicEvent = {
about: string;
account: string;
address: Address;
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: Contact;
description: string;
design: {
themeColor: string;
secondaryThemeColor: 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: Address;
contact: Contact;
location: EventLocation;
};
export type EventImagesType = {
logo: string;
picture: string;
thumbnail: string;
logoTransparent: string;
};
export type EventLocation = {
id: string;
name: string;
images: EventImagesType;
marker: LocationMarker;
description: string;
};
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;
statusText?: string;
invalid_fields?: Record<string, string[]>;
};
export type SuccessType1<T> = {
result?: T;
};
export type SuccessType2<T> = {
result?: {
data: T;
};
};
export type SuccessType3 = {
message?: string;
};
export type SuccessType4<T> = {
data?: T;
};
export type CustomResponseType1<T> = ErrorType & SuccessType1<T>;
export type CustomResponseType2<T> = ErrorType & SuccessType2<T>;
export type CustomResponseType3 = ErrorType & SuccessType3;
export type CustomResponseType4<T> = ErrorType & SuccessType4<T>;
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;
};
export type QueryResponseType<T> = {
data: T;
loading?: boolean;
error?: string;
mutate?: () => void;
isSuccess?: boolean;
};
export type DiscountType = {
id: string;
code: string;
category: string;
value: number;
max_ticket: number;
min_ticket: number;
expire_at: string | null;
tickets: string[];
};
export type PaymentMethodType = {
currency: string;
id: string;
type: string;
};
export type BookingsFormInput = {
salutation: string;
first_name: string;
last_name: string;
job_title: string;
job_level: string;
job_responsibility: string;
company_size: string;
company_industry: string;
address_country: string;
contact_email: string;
type_of_business: string;
invoice_full_name: string;
company_name: string;
vat_id: string;
address_street: string;
additional_details: string;
address_postal_code: string;
address_city: string;
card_number: string;
card_holder: string;
expiry_date: string;
cvc: string;
contact_phone: string;
po_number: string;
};
export type TicketItem = {
code?: string | null;
id: string | null;
quantity: number;
discountCode?: string;
extraOptions?: string[];
discountValue?: number;
};
export type TicketGroup = {
id: string;
name: string;
type: string;
event: string;
style: string;
order: number;
list: string[];
slug: string;
};
export type Design = {
primaryColor: string;
secondaryColor: string;
logoPosImage: string;
logoNegImage: string;
backgroundDesktopImage: string;
backgroundTabletImage: string;
backgroundMobileImage: string;
videoUrl: string;
videoImage: string;
backgroundColor: string;
backgroundSvgImage: string;
};
export type Contact = {
email: string;
mobile: string;
phone: string;
linkedin: string;
twitter: string;
xing: string;
instagram: string;
facebook: string;
youtube: string;
website1: string;
website2: string;
};
export type Address = {
street: string;
city: string;
state: string;
postalCode: string;
country: string;
};
export type ImagesPortfolio = {
picture: string;
logo: string;
thumbnail: string;
};
export type AccountPortfolio = {
id: string;
name: string;
slug: string;
address: Address;
images: ImagesPortfolio;
contact: Contact;
};
export type PortfolioEventDetails = {
id: string;
name: string;
slug: string;
description_de: string;
description_en: string;
tags_de: string[];
tags_en: string[];
design: Design;
account: AccountPortfolio;
};
export type Portfolio = PortfolioEventDetails & {
website: string;
details: {
blogpostGroup: string;
exhibitorGroup: string;
sessionGroup: string;
speakerGroup: string;
};
};
export type PublicEventDetails = {
account: AccountPortfolio;
event: PublicEvent;
portfolio: {
id: string;
name: string;
slug: string;
description_de: string;
description_en: string;
tags_de: string[];
tags_en: string[];
design: Design;
account: PortfolioEventDetails;
};
};
export type MenuItem = {
icon: string;
label: string;
level: string;
subtitle: string;
order: number;
styling: string;
type: string;
url: string;
isDesktopDisabled: boolean;
isMobileDisabled: boolean;
isTabletDisabled: boolean;
};
export type Citation = {
first_name: string;
last_name: string;
jobtitle: string;
company: string;
citation: string;
};
export declare const REGION_TYPE: readonly ["asia", "europe", "usa"];
export type PublicEventDetailsResponse = {
id: string;
name: string;
slug: string;
start_date: string;
end_date: string;
open_date: string;
language: (typeof LANGUAGE_TYPE)[number];
type: string;
about: string;
timezone: string;
webinar: boolean;
description: string;
account: string;
tags: string[];
updated_at: string;
address: Address;
contact: Contact;
images: EventImagesType;
colocated: boolean;
location: EventLocation | null;
region: (typeof REGION_TYPE)[number] | null;
design: {
themeColor: string;
secondaryThemeColor: string;
backgroundColor: string;
headerColor: string;
headerFontColor: string;
backgroundDesktopImage: string;
backgroundMobileImage: string;
backgroundTabletImage: string;
agendaLobbyImage: string;
speakerLobbyImage: string;
expoLobbyImage: string;
startScreenMobileImage: string;
eventLogoNegSvg: string;
eventLogoPosSvg: 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;
};
translation: {
languagesTranslations: string[];
};
website_menu: {
name: string;
type: string;
id: string;
items: MenuItem[];
}[];
video: {
reference: string;
type: string;
};
menu: {
items: any[];
};
portfolio: {
id: string;
name: string;
slug: string;
website: string;
};
website_content: {
keytopics: any[];
targetgroups: any[];
testimonials: any[];
whoattend: any[];
citation: Citation[];
};
};
export type Job = {
title: string;
responsibility: string;
level: string;
};
export type AgendaSpeaker = {
first_name: string;
last_name: string;
salutation: string;
images: {
picture: string;
thumbnail: string;
};
job: Job;
company: {
name: string;
about: string;
linkedin: string;
twitter: string;
facebook: string;
instagram: string;
website1: string;
logo: string;
thumbnail: string;
};
about: string;
tags: string[];
updated_at: string;
profile: string;
};
export type PublicSessionItem = {
id: string;
start_date: string;
end_date: string;
title: string;
sub_title: string;
description: string;
images: {
image: string;
};
tags: any;
virtual: boolean;
type: string;
advertisement: {
videoType: string;
videoUrl: string;
};
priority: number;
updated_at: string;
event: string;
location: EventLocation;
speakers: AgendaSpeaker[];
reserved_list: string[];
watch_list: string[];
tracks: string[];
};
export type PublicTrackItem = {
id: string;
name: string;
main: number;
};
export type AgendaItem = {
sessions: PublicSessionItem[];
tracks: PublicTrackItem[];
};
export type Page = {
id: string;
slug: string;
content_html: string;
content_structure: string;
type: string;
language: string;
created_at: string;
updated_at: string;
tags: string[];
settings: {
name: string;
subject: string;
};
documents: string[];
};
export type Group = {
id: string;
account: string;
name: string;
type: string;
style: string;
slug: string;
list: any[];
};
export type PublicAttendee = {
first_name: string;
last_name: string;
event: string;
profile: string;
roles: string[];
onsite: boolean;
priority: 5;
job: Job;
images: ImagesPortfolio;
company: {
name: string;
size: string;
industry: string;
typeOfBusiness: string;
logo: string;
thumbnail: string;
about: string;
linkedin: string;
twitter: string;
xing: string;
facebook: string;
instagram: string;
website1: string;
};
address: {
city: string;
country: string;
postalCode: string;
state: string;
street: string;
};
};
export type Company = {
name: string;
size: string;
industry: string;
typeOfBusiness: string;
logo: string;
thumbnail: string;
about: string;
website1: string;
linkedin: string;
twitter: string;
xing: string;
facebook: string;
instagram: string;
};
export type PublicExhibitionItem = {
id: string;
name: string;
slug: string;
company: Company;
address: Address;
contact: Contact;
images: {
picture: string;
};
tags: string[];
video: {
videoType: string;
videoUrl: string;
};
session: [];
updated_at: string;
products: string;
location: LocationMarker[];
};
export type VisitorDataInput = {
update: boolean;
gdpr: string;
chipped?: boolean;
salutation?: string;
first_name?: string;
last_name?: string;
email?: string;
contact_mobile?: string;
contact_phone?: string;
job_title?: string;
company_name?: string;
job_responsibility?: string;
job_level?: string;
company_size?: string;
company_type_of_business?: string;
address_street?: string;
address_city?: string;
address_country?: string;
address_state?: string;
address_postal_code?: string;
company_industry?: string;
contact_linkedin?: string;
contact_twitter?: string;
contact_xing?: string;
contact_instagram?: string;
contact_facebook?: string;
contact_website1?: string;
company_linkedin?: string;
company_twitter?: string;
company_xing?: string;
company_instagram?: string;
company_facebook?: string;
company_website1?: string;
};
export type VisitorDetails = {
id: string;
date: string;
secret: string;
verified: string;
chipped: boolean;
};
export declare const INBOUND_ACTIONS: {
readonly DOWNLOAD_ATTENDEE_LIST: "download_attendee_list";
readonly DOWNLOAD_WHITE_PAPER: "download_whitepaper";
readonly DOWNLOAD_MEDIA_PACKAGE: "download_mediapackage";
readonly DOWNLOAD_AGENDA: "download_agenda";
readonly WEBAPP_PARTNER: "webapp_partner";
readonly WEBAPP_SPEAKER: "webapp_speaker";
readonly WEBAPP_FREE_TICKET_ONSITE: "webapp_freeticket_onsite";
readonly VIDEO_CONTENT: "video_content";
readonly TRIAL_ACCOUNT: "trial_account";
readonly NEWSLETTER: "newsletter";
readonly INQUIRY: "inquiry";
readonly CONTACT_FORM: "contact_form";
readonly SURVEY_MONKEY: "survey_monkey";
readonly PODCAST_CONTENT: "podcast_content";
readonly PAGE_VIEW: "page_view";
readonly DOWNLOAD_BP_PACKAGES: "download_bp_packages";
};
export type InboundAction = (typeof INBOUND_ACTIONS)[keyof typeof INBOUND_ACTIONS];
export type InboundData = {
url: string;
action: InboundAction;
event: string;
visitor: string;
confirmed: boolean;
forcemail: boolean;
customtemplate: any;
contact_type?: string;
ticketurl?: string;
file_link?: string;
message?: string;
successurl?: string;
dinner?: number;
icebreaker?: number;
typeform?: string;
contactType?: string;
pageLink?: string;
source?: string;
bookingpackage?: any;
};