interface IPaymentCartData { cartName: string; options: { ticketType: string; }; productId: string; product_name: string; quantity: number | string; } interface IPaymentOrderDetails { currency: string; customerId: string; id: string; order_hash: string; total: number | string; tickets: Array<{ id: string; name: string; price: number | string; cost: number | string; quantity: number | string; guest_count?: string | number; }>; add_ons?: Array; pay_now?: string | number; guest_count?: string | number; debt?: number; subtotal?: number | string; fees?: number | string; } interface IPaymentMethodData { id: string; name: string; stripe_client_secret: string; stripe_payment_plan_enabled: boolean; stripe_payment_plan_configuration: any; stripeConnectedAccount: string; stripe_publishable_key: string; payment_method_types?: string[]; } interface IShippingBillingInfoData { city: string; company: string; country: string | number; email: string; firstName: string; lastName: string; phone: string | number; state: string | number; streetAddress: string; zip: string | number; } interface IEventDetails { flagSeatMapAllowed: boolean; slug: string; } interface IPaymentData { expires_at: number; cart: IPaymentCartData[]; order_details: IPaymentOrderDetails; payment_method: IPaymentMethodData; shipping_info: IShippingBillingInfoData; billing_info: IShippingBillingInfoData; event_details: IEventDetails; } interface IPaymentDataResponse extends IAxiosResponseData { data: { attributes: IPaymentData; relationships: Array; type: string; }; } // Conditions interface IConditionsAdaptedData { id: string; text: string; checked: boolean; } interface IConditionsDataResponse extends IAxiosResponseData { data: { attributes: string[] | null; relationships: Array; type: string; }; } interface IConditionsAdaptedDataResponse extends IAxiosResponseData { data: { attributes: IConditionsAdaptedData[]; relationships: Array; type: string; }; } // Payment Success interface IPaymentSuccessData { clientSecret: string; paymentIntentId: string; status: string; } interface IPaymentSuccessDataResponse extends IAxiosResponseData { data: { attributes: IPaymentSuccessData; relationships: Array; type: string; }; } // Free Registration interface IFreeRegistrationData { currency: string; customerId: string; id: string; orderHash: string; total: string; tickets: Array<{ id: string; name: string; price: number | string; quantity: number | string; }>; } interface IFreeRegistrationDataResponse extends IAxiosResponseData { data: { attributes: IFreeRegistrationData; relationships: Array; type: string; }; } // Checkout Complete interface IPersonalShareSaleData { price: number | string; label: string; subLabel?: string; sales?: number; } interface ICheckoutCompleteData { product_id: string; customer_id: string; product_name: string; product_image: string; product_price: number; product_url: string; event_date: string; event_description: string | null; order_total: number; order_id: string | number; order_hash: string; currency: { currency: string; decimalPlaces: number; symbol: string; }; conversion_pixels: string | null; disable_referral: boolean; twitter_hashtag: string | null; event_type: string; custom_confirmation_page_text: string | null; custom_confirmation_page_text_full_replacement: boolean; personal_share_link: string; message: string | null; personal_share_sales: Array; attach_tickets: boolean; is_payment_plan: boolean; } interface ICheckoutCompleteDataResponse extends IAxiosResponseData { data: { attributes: ICheckoutCompleteData; relationships: Array; type: string; }; }