ProfesionalesPublica tu anuncio
+
es
¿Eres nuevo?Regístrate Gratis
¿Profesional?Acceso Profesionales
EspañolInglésAlemánFrancésItalianoRusoHolandésSuecoDanésFinlandésChinoÁrabe

XML para Carteras de Propiedades Inmobiliarias
(Documentación del formato)

Antes de empezar

Este documento lo puede encontrar on-line en la siguiente dirección web: http://www.entersoftweb.com/xcp/sh/doc/xcp-info.pdf (PDF con esta documentación) en él se intenta describir de una forma simple y concreta el formato a utilizar para construir un XML que contenga la información de propiedades.

Este documento está dirigido a todos aquellos que quieran desarrollar un sistema automatizado para la creación de dicho XML. Suponemos que el lector tiene conocimientos en sistemas de información relacionados con los lenguajes XML y los elementos de validación XML Schema, así como estar familiarizado con el diseño de bases de datos y tipos de datos.

En los elementos utilizados en la estructura del documento XML no hemos querido utilizar abreviaturas, entedemos que algunas veces las abreviaturas pueden llevar a confusiones y que el objecto de estructura es que sea creada de forma automatizada así que pensamos que no deber ser ningún problema utilizar elementos con palabras completas, aunque la longitud final de caracteres en el elemento sea grande. Para las uniones de palabras utilizamos una inicial mayúscula. Así tendremos elementos tales como <observacionesCaracteristicas> o <centrosComerciales> y no <observ-caract> o <centcomerc> difíciles en lectura o recordar donde comienza o termina la abreviatura.

Para más información sobre XML y XML Schema puede consultar la siguiente dirección, http://www.w3c.org/XML Info sobre XML y http://www.w3c.org/XML/Schema Info sobre esquemas XSD

También podrá contar con una serie de documentos adicionales que complementan la información aquí expuesta:

http://www.entersoftweb.com/xcp/sh/examples/cartera.xml
XML ejemplo

http://www.entersoftweb.com/xcp/sh/xsd/cartera.xsd
XML Schema (.XSD)

http://www.entersoftweb.com/xcp/sh/doc/xcp-campos.pdf
Listado de campos

http://www.entersoftweb.com/xcp/sh/helpers/main.xml
XML con tablas de campos codificados

http://www.entersoftweb.com/xcp/sh/helpers/ubicaciones.xml
XML con tablas de ubicaciones

Estructura básica del XML

La estructura básica e inicial para el documento XML del traspaso de propiedades es la siguiente:

<carteraPropiedades>
    <fecha>2008-05-20T012:23:00</fecha>
    <listaPropiedades>
        <propiedad>
	     ...
	     ...
	 </propiedad>
        <propiedad>
	     ...
	     ...
	 </propiedad>
        <propiedad>
	     ...
	     ...
	 </propiedad>
   </listaPropiedades>
</carteraPropiedades>

Si quiere enlazar el documento XML con nuestro esquema XSD de validación puede utilizar:

<carteraPropiedades
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="http://www.entersoftweb.com/xcp/sh/xsd/cartera.xsd">

como elemento inicial del documento.

La estructura del documento es muy simple. Tenemos un elemento contenedor <carteraPropiedades> que está compuesto por 2 elementos:

<fecha>
obligatorio y que indica la fecha y hora de creación del documento XML, el campo debe tener el siguiente formato 'aaaa-mm-ddThh:mm:ss' donde aaaa es el año expresado en 4 dígitos, mm el número del mes, dd el número del día, T es un separador, hh es la hora, mm los minutos y ss los segundos
<listaPropiedades>
opcional y que es un elemento contenedor a su vez de elementos <propiedad> en los cuales se describen cada una de las propiedades que conforma la cartera total a volcar.

Dentro de la lista de propiedades nos podemos encontrar un número ilimitado de propiedades, la cantidad sólo estará restringida por el número de propiedades contratadas y asignadas en nuestros sistemas.

Cada propiedad debe venir descrita por uno y sólo un elemento <propiedad> que contiene a su vez una serie de elementos, cada uno de ellos asociados con un campo que van a describir a la propiedad en nuestra base de datos.

Pueden consultar la lista de campos en el siguiente documento disponible on-line en http://www.entersoftweb.com/xcp/sh/doc/xcp-campos.pdf (Listado de campos). De la totalidad de campos hay un pequeño conjunto de ellos que son obligatorios y que deben aparecer en en cada uno de los elementos <propiedad> sin excepción. Pasamos a describir cada uno de los campos obligatorios.

Campos obligatorios

Necesitamos un pequeño conjunto de campos para describir a cada una de las propiedades que incorporamos en nuestros sistemas. Dichos campos obligatorios son los siguientes:

referencia
cadena de caracteres para indicar la referencia que el cliente utiliza para designar la propiedad. Dicha referencia es obligatoria y nuestro sistema podrá identificar la propiedad dentro de la totalidad de la cartera y así poder determinar posibles borrados y eliminaciones de propiedades. Ya que cada propiedad va identificada por la referencia, no permitimos duplicados.
fecha
campo de tipo fecha-hora utilizando el formato 'aaaa-mm-ddThh:mm:ss' anteriormente comentado para la fecha del documento XML. Este campo debe expresar la fecha y hora de la última modificación que se ha realizado en los restantes campos del inmueble. Si el inmueble es nuevo, deberá indicar la fecha y hora de inserción en sus sistemas.
tipoInmueble
campo numérico que indica el tipo de propiedad que vamos a describir y que cuyos valores podemos encontrar en la correspondiente tabla disponible en el archivo helper.xml
tipoOferta
campo numérico que indica el tipo de oferta (venta o alquiler) en el que se encuentra la propiedad.
precio
campo numérico para indicar el precio de la propiedad en euros. Debe ser una cantidad positiva y distinta de cero.
provincia
campo de texto donde se indica la provincia donde está ubicado el inmueble. Se aconseja utilizar el nombre castellanizado de la provincia como norma general.
localidad
campo de texto donde indicar la localidad donde está ubicado el inmueble. Como ocurre en el caso de la provincia, aconsejamos el nombre castellanizado de la localidad.
geoLocalizacion
campo de texto para indicar las geo-coordenadas de las propiedad, expresadas como par de números decimales separados por coma (sin dejar espacios en blanco). Ejemplo: “32.4234233,-4.434219”.
direccion
campo de texto para indicar la dirección de la propiedad. Si no queremos que se muestre la dirección de la propiedad a los navegantes de nuestra web en el área pública puede utilizar el elemento <mostrarDireccion> con el valor 0.
descripcionPrincipal
este campo tiene un tipo que se explica más adelante. Lo utilizamos para la descripción en texto de la propiedad. Necesitamos al menos descripción en al menos un idioma.

Eficiencia Energética

Para expresar la eficiencia energética de una propiedades, vamos a emplear 2 elementos en el XML:

calificacionEnergetica
La calificación obtenida en la certificación oficial que será una letra entre la A y la G. En un principio este valor no va a ser obligatorio, aunque con el tiempo lo será ya que por ley hay que indicar esta calificación y la publicación de las características de una propiedad.
consumoEnergetico
El valor del consumo de energía anual por metro cuadrado de superficie de la propiedad, medidos en Kw/h / m2 anuales. También es un valor opcional, aunque aconsejamos indicarlo para dar una información más completa de la propiedad.

Índice de referencia de precios

Hemos incluido un campo para indicar el índice de referencia de precios en propiedades en alquiler de larga duración. El valor de este dato es un valor decimal con 2 posiciones decimales. Recordamos que el separador para decimales es el carácter del punto “.” El valor de este campo sólo se tendrá en cuenta en propiedades en alquiler y es obligatorio para propiedades en Cataluña. Más info http://agenciahabitatge.gencat.cat/indexdelloguer/ (Agencia del Alquiler en Cataluña)

Registro de turismo

Si una propiedad en modalidad de alquiler de vacaciones está inscrita en el Registro de Turismo de la comunidad que corresponda, podemos incluir el código de inscripción. En el caso de propiedades de la comunidad de Navarra, este código de inscripción es obligatorio y debe constar para todos los alquileres turísticos (para más información http://www.navarra.es/home_es/Servicios/ficha/4126/registro-de-turismo (Registro de Turismo de Navarra))

Campos codificados

Muchos de los valores de los campos que describen una propiedad están codificados para facilitar su implementación en nuestra base de datos y permitir su manipulación, búsqueda y actualización de una forma simple. Por este motivo muchos de los campos susceptibles de ser almacenados en tipos de datos de tipo cadena de caracteres están codificados en valores numéricos.

Para conocer el significado de dichos valores codificados están disponibles una serie de tablas en el documento helper.xml que se puede descargar de la dirección http://www.entersoftweb.com/xcp/sh/helpers/main.xml (Listado de códigos y valores) y que contienen información para los siguientes campos:

tipoInmuebletipoPlayatipoPorteria
tipoInmuebleExt tipoGaraje tipoSoleria
tipoOferta tipoOrientacion tipoCarpinteria
tipoUnidades tipoCalefaccion tipoAcristalamiento
tipoArea tipoAireAcondicionado tipoGas
tipoZona tipoAguaCaliente

Como se puede observar todos los campos codificados mediante tablas tiene el prefijo tipo en su nombre para indicar y recordar el carácter especial del campo. Así pues si consultamos la información disponible en el archivo helper.xml podremos ver que un valor de 3 en el campo tipoSoleria se corresponde con el valor de moqueta en el tipo de suelo.

Ubicación geográfica

Para ubicar geográficamente las propiedades vamos a utilizar inicialmente dos de los campos obligatorios que son la provincia y la localidad, aunque tenemos dos campos adicionales para concretar, se tratan de los distritos y barrios. Dichos campos son campos codificados y opcionales en contraposición con los de localidad y provincia que son cadenas de caracteres y obligatorios.

En la actualidad tenemos codificados los distritos y barrios de las principales capitales de provincia de España y que son:

AlgecirasAlicanteAlmería
Barcelona Bilbao Cádiz
Castellón* CórdobaGranada
Huelva JaénJerez de la Fra.
Madrid Málaga Sevilla
Soria* Valencia Zaragoza
* Sólo disponemos de distritos

Iremos ampliando en un futuro la lista de distritos y barrios a otras capitales de provincia.

Si desea ubicar la propiedad en un distrito o en un barrio en concreto puede utilizar los códigos suministrados en las tablas del documento ubicaciones.xml, disponible en http://www.entersoftweb.com/xcp/sh/helpers/ubicaciones.xml (Listado de municipios, localidades y provincias)

También requerimos de los campos obligatorios <codigoPostal>, <direccion> y <geoLocalizacion>

La información geográfica se complementa con campos como:

zona
para indicar alguna información relevante de donde está ubicada la propiedad, como por ejemplo 'Playa del Inglés'.
tipoArea
campo codificado para poder indicar el carácter del área donde se encuentra la propiedad como por ejemplo 'Área Rural'.
tipoZona
campo codificado para poder indicar el carácter de la zona donde se encuentra la propiedad como por ejemplo 'Zona Residencial'.
inGolf
campo lógico para indicar si la propiedad está ubicada dentro de un campo de golf.
tipoPlaya
campo codificado para poder indicar información relevante a la ubicación de la propiedad respecto a playa, como por ejemplo '1ª línea de playa'.
montaña campo lógico para poder indicar si la propiedad se halla en zona de montaña.

Campos especiales

La mayoría de los campos que describen una propiedad son opcionales y por lo tanto la descripción de una propiedad se puede hacer de una forma muy simple o por el contrario si utilizamos la mayoría de los campos podemos describir la propiedad de una forma precisa para nuestra base de datos.

Existen unos campos que tienen un carácter especial o un tratamiento distinto dependiendo de ciertas condiciones de la propiedad. Pasamos a explicar a continuación dichos campos y sus peculiaridades.

Campo ofertaBanco.
Si la propiedad proviene de un banco, podemos indicarlo con esta campo. Tenemos implementados filtros específicos para este tipo de propiedades y los navegantes de nuestro portal podrán encontrarlas fácilmente.
Campos despachos y escaparates.
Dichos campos sólo tiene sentido en ciertos tipos de inmuebles, como por ejemplo las oficinas o las naves industriales.
Campos agua, luz y telefono.
Suponemos que hoy en día la inmensa mayoría de las viviendas disponen de estos servicios, con lo cual estos campos no son relevantes ni útiles en los tipos de inmeubles referidos a viviendas. Pero sí son importantes en otros tipos como por ejemplo, fincas.
Campo tipoInmuebleExt.
Es un campo que complementa la información de los inmuebles de tipo vivienda. Si se trata de una vivienda horizontal podremos indicar si es una vivienda independiente, pareada o adosado. Si es una vivienda vertical podremos indicar en la planta en la que está situada.
Campo tipoOfertaExt.
Es un campo que complementa la información proporcionada por el campo tipoOferta. Aconsejamos incluir en la medida de lo posible la información de tipoOfertaExt.
Campos precio y todas sus variantes.
Todos los precios deben ser expresados en euros y en valores enteros (no consideramos céntimos en los precios). En el caso de las viviendas en régimen de alquiler en largas temporadas y en venta, se espera recibir la información del precio en el campo precio, ignorando el resto de campos (en el caso de alquileres en larga temporada, el precio será un valor de alquiler de precio al mes). Para propiedades en régimen de alquiler con opción a compra, puede especificarse además el precio de venta en el campo precioVenta. En el caso de los alquileres vacacionales podemos indicar distintos valores según la duración del alquiler con los campos precioPorMes, precioPorQuincena, precioPorSemana, precioPorFinde, precioPorDia.
Campos de superficies.
Podemos indicar distintos tipos de superficies para una propiedad. Todos los campos pueden ser expresados con valores de 2 decimales. En el caso de propiedades de terrenos, como fincas, parcelas o solares podemos indicar la unidad en la que están expresadas las superficies. En las propiedades verticales el valor de superficieTotal será ignorado. En el caso de propiedades horizontales dicho campo significará la totalidad de la superficie de la parcela donde está la propiedad.
Campo comentarioPrivado.
Podemos incluir un comentario privado para una propiedad y que no es público para los navegantes del portal. Dicho campos sólo es visible dentro del Área de Gestión Privada del portal y por lo tanto como tiene carácter privado no tiene distintas versiones según idioma.
Campos viaPrincipal, localidadCercana, aeropuerto.
Son campos de tipo cadena de caracteres que pueden contener información relevante para el entorno del inmueble y así podemos indicar un aeropuerto cercano, o una localidad o una vía principal como una autopista. Cada uno de estos 3 campos van acompañados de otros 2 con los que van relacionados y son los campos de distancia y minutos (es decir si no existe valor para viaPrincipal, se ignoran los campos minutosViaPrincipal y distanciaViaPrincipal) y que indican con valores enteros la distancia en kilómetros y minutos. Se ha elegido la implementación de todos estos campos como elementos independientes rechazando la idea de elementos con atributos, ya que los sistemas de volcado de bases de datos a XML no suelen utilizar atributos.

Campos con idiomas

Existen varios campos en los cuales se pueden suministrar diferentes versiones para diferentes idiomas.

En la actualidad, nuestro sistema es capaz de manejar textos en 12 idiomas: Español (es), Inglés (en), Alemán (de), Francés (fr), Italiano (it), Ruso (ru), Holandés o Neerlandés (nl), Finés o Finlandés (fi), Sueco (sv), Danés (da), Chino simplificado (zh) y Árabe (ar).

Los campos que pueden tener distintas versiones según los idiomas son los siguientes:

descripcionPrincpal areasComunes
observacionesCaracteristicasvistas
observacionesCalidadesposibleUso
observacionesEntornoultimoUso
zona

Estos campos van expresados en el documento XML como elementos del tipo tipoDescripcion. Dichos elementos pueden contener una única cadena de caracteres. En dicho caso se considerará el texto en español y sin ninguna versión en otro idioma.

Si se desea incluir versiones para un texto en más de un idioma, se debe utilizar una lista de elementos descripcion, una por cada idioma (si existe más de un elemento para un idioma, sólo se utilizará el último)

Imágenes de las propiedades

Cada una de las propiedades puede ir acompañada de un conjunto de imágenes. Nuestro sistema en un principio puede mostrar en el portal web un número ilimitado de imágenes.

En el documento XML de cartera de propiedades, cada propiedad puede ir acompañada de un número ilimitado de imágenes.

Para especificar las distintas imágenes de una propiedad, el sistema espera esta información en expresado bajo el elemento listaImagenes (opcional) y que no es más que un contenedor de elementos imagen, uno para cada imagen en cuestión.

Esperamos recibir en cada uno de los elementos imagen, la URL de ubicación del archivo de imágenes que tiene que aparecer con la propiedad. Para ello el elemento imagen, no es ni más ni menos que un bloque de otros 3 elementos: url, miniatura y comentarios.

url
elementos principal y obligatorio en la estructura imagen y que contendrá la dirección del archivo imagen a mostrar.
miniatura
si el sistema dispone de la correspondiente imagen en miniatura, aquí podemos expresar la URL para dicha miniatura. Esperamos recibir al menos una miniatura por cada propiedad. Si no recibimos ninguna miniatura, crearemos una miniatura para la propiedad a partir de las URL recibidas, eligiendo una al azar.
listaComentarios
estructura de bloque para poder expresar un comentario para la imagen con versiones en distintos idiomas.

Vídeos de las propiedades

Además de imágenes, las propiedades pueden ir acompañadas de vídeos. Se puede especificar un número ilimitado de vídeos en el documento XML, de la misma forma que especificamos las imágenes según el apartado anterior. En un principio aceptamos vídeos en formato .FLV, aunque pronto podremos aceptar otros formatos para el vídeo.

Disponemos del elemento listaVideos (opcional) para que funcione de contenedor de la información de la lista de vídeos.

Cada vídeo vendrá expresado en una estructura video para describir la información asociadad a él. Cada elemento video es una estructura con los siguientes elementos:

url
elemento principal y obligatorio del elemento video y que es de tipo URL para contener la dirección del archivo de video a mostrar.
ImagenPreview
elemento obligatorio de tipo URL para la imagen asociada al vídeo.
listaComentarios
estructura de bloque similar al que tenemos con las imágenes para poder expresar un comentario para el vídeo con versiones en distintos idiomas.

Tours virtuales

Recientemente hemos implementado la posibilidad de incluir tours virtuales o en 3D en las propiedades. Al igual que en las imágenes y vídeos, se pueden incluir un número ilimitados de tours virtuales.

Disponemos del elemento listaToursVirtuales (opcional) para que funcione de contenedor de cada tourVirtual. El tag <tourVirtual> contiene la URL que contiene el tour.

Histórico de cambios

        28-09-2021   v3.0 Versión online disponible desde la web

        05-03-2021   v2.5 Revisión de la info para el índice de referencia de precios de alquileres
        11-01-2021   v2.4 Revisión de la listas de tipos de inmuebles para XCP
        13-11-2020   v2.3 Incluimos campo para índice de referencia de precios de alquileres
        24-04-2020   v2.1 Integración de tours virtuales
        25-06-2018   v2.0 Revisión de la documentación

        01-10-2015   v1.5 Actualización del tipoIdiomas en el XSD de XCP para incluir los nuevos idiomas del portal
        12-01-2015   v1.4 Incluimos nuevo campo en la documentación de XCP para el Registro de Turismo

        28-06-2013   v1.3 Cambio para incluir el campo "ofertaBanco"
        23-05-2013   v1.1 Ampliación de XCP para SH contemplando los campos para la certificación energética
        29-01-2013   v1.0 Revisión inicial del formato y su documentación la documentación