Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
2.4 kB
1
Indexable

export interface IEvents {
    events: IEventsInfo;
}
export interface IEventsInfo {
    metadata: IMetadata;
    events: IEventInfo[];
}

export interface IMetadata {
    page: string;
    perpage: number;
    totalpages: number;
    totalrecords: number;
}

export interface IEvent {
    event: IEventInfo;
}

export interface IEventInfo {
    id: string;
    caption: string;
    home_team: {
        name: string;
        id: number;
    };
    away_team: {
        name: string;
        id: number;
    };
    sport: {
        name: string;
        id: string;
    };
    tournament: {
        name: string;
        id: string;
    };
    date: IMatchDate;
    location: ILocation;
    tickets: ITicketOffer[];
}

export interface ITicketOffer {
    ItemID: string;
    section: ISection;
    priceInfo: IPriceInfo;
    ticketsConstraints: ITicketsConstraints;
    immediate_confirmation: string;
    required_purchase_fields:IRequiredPurchaseFields;
    shipping_methods: IShippingMethod[];
}

interface IMatchDate {
    date: string;
    time: string;
    final_date: string;
    final_time: string;
    dateTime_boundries: null | string; // Assuming it can be a string or null
}

interface ILocation {
    country: {
        name: string;
        id: string;
    };
    city: {
        name: string;
        id: string;
    };
    venue: IVenue;
}

interface IVenue {
    venue: string;
    img: string;
    address: string;
}

interface ISection {
    full_section_name: string;
    mainSection: string;
    locationInSection: string;
    packageDescription: string; 
}

interface IPriceInfo {
    price: number;
    currency: string;
}

interface ITicketsConstraints {
    max_qty: string;
    available_selling_quantities: number[];
    stock_limit: string;
    stock_qty: string;
    purchase_alert?: string;
}

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: IRatesListShippingArea;
    };
    shipping_id: string;
    shipping_caption: string;
    shipping_description: string;
    shipping_cost: number;
    shipping_category: string;
}

interface IRatesListShippingArea {
    areaid: string;
    area: string;
    cost: number;
}