// Add to Cart interface ICartData { alternative_view_id: string | null; product_cart_quantity: number; product_id: string | number; product_options: { [key: string]: string | number; }; ticket_types: { [key: string]: { product_options: { [key: string]: string | number; ticket_price: string | number; }; quantity: number; }; }; } interface ICartRequestData { attributes: ICartData; } interface ICart { id: string; price: number; quantity: number; } interface ICartResponseData { ageRequired: boolean; namesRequired: boolean; phoneRequired: boolean; skipBillingPage: boolean; minimumAge?: string | null; cart?: ICart[]; } interface ICartResponseExtendedData extends ICartResponseData { eventId: number; hash?: string; total?: string | number; } interface ICartResponse extends IAxiosResponseData { data: { attributes: ICartResponseData; relationships: Array; type: string; cart: ICart[]; }; } // Get cart data interface IGetCartData { cartName: string; quantity: number; } interface IGetCartAttributes { cart: Array; hideTtfOptIn: boolean; optedIn: boolean; ttfOptIn: boolean; } interface IGetCartResponse { data: { relationships: Array; type: string; attributes: IGetCartAttributes; }; }