export interface IEvents365Response {
all: {
control: IResponseMetadata;
data: IEventResponse[];
}
}
export interface IResponseMetadata {
page: string;
perpage: number;
totalpages: number;
totalrecords: number;
w: string;
title: string;
nearbycount: number;
datefrom: string;
dateto: string;
}
export interface IEventResponse {
id: string;
vname: string;
caption: string;
home_team_id: number;
home_team_caption: string;
away_team_id: number;
away_team_caption: string;
sportid: string;
sport: string;
tournamentid: string;
tournament: string;
tournament_vname: string;
date: string;
date_of_event: string;
time_of_event: string;
final_date: string;
final_time: string;
dateTime_boundries: null | string; // Assuming it can be a string or null
country: string;
countryid: string;
city: string;
cityid: string;
distance: number;
venueid: string;
venue: string;
venue_img: string;
venue_address: string;
venue_lat: string;
venue_lon: string;
is_group: string;
hyperlink: string;
ticketdata: ITicketResponse[];
}
export interface ITicketResponse {
ItemID: string;
Section: string;
splittedCategoryName: {
main: string;
secondary: string;
packageDetails: string;
};
purchase_alert?: string;
Price: number;
ServiceFee: number;
grossPrice: {
Price: number;
ServiceFee: number;
};
PriceComments: string;
Currency: string;
max_qty: string;
double_qty: string;
avoid1: string;
available_selling_quantities: number[];
Tags: {
[key: string]: boolean;
}[];
buy_multi: string;
buy_all: string;
stock_limit: string;
stock_qty: string;
immediate_confirmation: string;
required_purchase_fields: IRequiredPurchaseFields;
shipping_methods: IShippingMethod[];
}
export interface IRequiredPurchaseFields {
full_name: string;
birth_date: string;
nationality_country_id: string;
passport_number: string;
city_of_birth: string;
}
interface IShippingMethod {
provshipid: string;
provship_name: string;
desc_orders: string;
provship_cost: {
Rateslistshippingareas: Rateslistshippingarea;
};
shipping_id: string;
shipping_caption: string;
shipping_description: string;
shipping_cost: number;
shipping_category: string;
}
interface Rateslistshippingarea {
areaid: string;
area: string;
cost: number;
}