export interface IAppInitResponse { LoginSystemResult: LoginSystemResult; promotion: Promotion; loyalty: Loyalty; versioning: VersioningItem[]; countries: CountriesItem[]; } export interface LoginSystemResult { secondsToReloadLocation: number; homeFPAutoRotation: boolean; amplitudeKey: string; googleTagManager: boolean; lastOrderConfirmed: boolean; countryEnabledSms: string; countryOptionalReviewComments: string; version: string; decidirOrgId: string; spanishMessage: string; noSmsFlow: boolean; oca: AppEnvironmentDependantValue; kondutoEnabled: boolean; visanet: AppEnvironmentDependantValue; selectionOptionsEnable: boolean; APIToken: string; countryEnableExitPoll: string; featuredProductsEnabled: boolean; mp: MercadoPagoCountries; mastercardUy: AppEnvironmentDependantValue; decidirEnabled: boolean; mundipaggAmexEnabled: boolean; decidirMerchantId: string; APITokenType: string; edenred: AppEnvironmentDependantValue; ingenicoEnabled: boolean; homeFPRotationDelay: number; onTimeOrFreeEnabled: boolean; cities: string; homeBannersAutoRotation: boolean; countryEnableNewCategories: string; portuguesseMessage: string; homeBannersRotationDelay: number; amplitude: boolean; } export interface AppEnvironment { enabled?: boolean; url?: string; key?: string; } export interface AppEnvironmentDependantValue { stg: AppEnvironment; prod: AppEnvironment; } export interface MercadoPagoCountries { cl: AppEnvironmentDependantValue; ar: AppEnvironmentDependantValue; br: AppEnvironmentDependantValue; } export interface Promotion { startDate: string; keepButton: string; endDate: string; emptyText: string; emptyButton: string; confirmIcon: string; cartTextSingle: string; confirmText: string; countryValues: CountryValuesItem[]; buttonIcon: string; buttonUrl: string; name: string; active: boolean; confirmTitle: string; cartTextMany: string; buttonText: string; emptyTextSubtitle: string; } export interface CountryValuesItem { name: string; value: number; } export interface Loyalty { startDate: string; StampCard: StampCardItem[]; active: boolean; endDate: string; } export interface StampCardItem { freeOrder: string; lang: string; } export interface VersioningItem { spanishMessage: string; spanishTitle: string; buttons: ButtonsItem[]; type: string; portugueseTitle: string; version: string; portugueseMessage: string; versionPopup?: string; } export interface ButtonsItem { portugueseLabel: string; action: string; spanishLabel: string; } export interface CountriesItem { id: number; currencyIsoCode: string; defaultCity: DefaultCity; currencySymbol: string; name: string; timeOffset: number; currencyRate: number; timeFormat: string; identityCardBehaviour: string; shortName: string; phonePrefix: string; url: string; } export interface DefaultCity { id: number; }