export interface KyeroSchema {
    root: {
        property: KyeroProperty[]
    }
}

export interface KyeroProperty {
    id: Text;
    date: Text;
    ref: CData;
    codigo_propietario: Text;
    nombre_propietario: CData;
    apellido_propietario: CData;
    dni_propietario: CData;
    telf_domicilio_propietario: Text;
    telf_movil_propietario: Text;
    telf_trabajo_propietario: Text;
    email_propietario: CData;
    razon_social_propietario: CData;
    cif_propietario: CData;
    direccion_propietario: CData;
    cp_propietario: CData;
    observaciones_propietario: CData;
    comercial_propietario: CData;
    fec_alta_propietario: Text;
    status: CData;
    price: Text;
    currency: Text;
    price_freq: Text;
    new_build: Text;
    type: Text;
    location_detail: CData;
    town: CData;
    province: CData;
    postcode: Text;
    npisosedif: Text;
    npisosbloque: Text;
    num_planta: CData;
    tipo_via: CData;
    Direccion: CData;
    num_inmueble: Text;
    puerta: Text;
    country: Text;
    agent: CData;
    beds: Text;
    baths: Text;
    pool: Text;
    surface_area: SurfaceArea;
    energy_rating: EnergyRating;
    location: Location;
    desc: Desc;
    features: Features;
    images: Images;
}

export interface CData {
    _cdata?: string;
}

export interface Text {
    _text?: string;
}

export interface Desc {
    es: CData;
    en: CData;
    de: CData;
    fr: CData;
    ca: CData;
    ru: CData;
}

export interface EnergyRating {
    consumption: Text;
    emissions: Text;
}

export interface Features {
    feature: FeatureElement[] | FeatureElement;
}

export interface FeatureElement {
    _cdata?: string;
    _text?: Feature;
}

export enum Feature {
    Aparcamiento = "Aparcamiento",
    Ascensor = "Ascensor",
    Garaje = "Garaje",
    Jardin = "Jardin",
    Terraza = "Terraza",
    Trastero = "Trastero",
}

export interface Images {
    image?: ImageElement[] | ImageElement;
}

export interface ImageElement {
    _attributes: Attributes;
    url: Text;
}

export interface Attributes {
    id: string;
}

export interface Location {
    latitude: Text;
    longitude: Text;
}

export interface SurfaceArea {
    built: Text;
    plot: Text;
}
