Diferencia entre revisiones de «API Reference: Consulta de Información de un Hotel»

De Wiki PriceSurfer
Ir a la navegaciónIr a la búsqueda
Línea 54: Línea 54:
 
|Hotels || No ||  
 
|Hotels || No ||  
 
|-
 
|-
|Hotel || Sí || Se envía el codigo del hotel a consultar mediante el atributo HotelDetailId devuelto por el WebService en el resultado de la búsqueda.
+
|Hotel || Sí || Se envían los codigos de los hoteles a consultar mediante los atributos HotelDetailIds devueltos por el WebService en el resultado de la búsqueda.
Se puede realizar busquedas de varios HotelDetailId separados por coma ( ej: VE0-7NBI-3NA,VE0-7LLV-3NA,VE0-7LOB-3NA )
+
Los HotelDetailIds deben ir separados por coma ( ej: VE0-7NBI-3NA,VE0-7LLV-3NA,VE0-7LOB-3NA ) con un maximo de 20 HotelDetailsIds.
 
|}
 
|}
  

Revisión del 16:57 16 may 2019

Consulta de Información de un Hotel (AdditionalInfoQuery)

Mensaje que permite consultar la información detallada de un hotel. Esta información es sensible al proveedor, por lo tanto la información a devolver será la obtenida de los respectivos proveedores.

Esto es muy importante, ya que un mismo hotel puede existir para varios proveedores.

Por Ejemplo, el hotel identificado con <Hotel HotelCode="2411" SupplierID="GTA" Sequence="1"> no contendrá la misma información que el hotel <Hotel HotelCode="2411" SupplierID="BOL" Sequence="1"> ya que ambos son el mismo hotel pero de distintos proveedores.

Les aconsejamos que nunca cambien la información de un hotel de un proveedor por la información del mismo hotel pero de otro proveedor.


Request: AdditionalInfoQueryRQ (Estructura del Documento)

Response: AdditionalInfoQueryRS (Estructura del Documento)

Ejemplo de uso:

      • Solicitud:

<AdditionalInfoQueryRQ>

 <GeneralParameters>
   <PreferedLanguage LanguageCode="es"/>
   <PreferedCurrency CurrencyCode="ARS"/>
 </GeneralParameters>
 <Products>
   <Hotels>
     <Hotel HotelDetailId="CCL-560I-3NA"/>
   </Hotels>
 </Products>

</AdditionalInfoQueryRQ>


Parámetro Obligatorio Descripción
PreferedLanguage Establece el lenguaje requerido para la respuesta.

Atributos:

LanguageCode: Código de lenguaje correspondiente a los códigos de lenguaje estándar provistos por Nemo.

PreferedCurrency No Establece la moneda requerida para la respuesta.

Atributos:

CurrencyCode: Código de moneda correspondiente a los códigos de moneda estándar provistos. No está habilitado el uso de multimoneda. La moneda utilizada será la configurada en el contrato.

(Dicho nodo es No Obligatorio ya que la moneda utilizada actualmente es la configurada en el contrato)

Hotels No
Hotel Se envían los codigos de los hoteles a consultar mediante los atributos HotelDetailIds devueltos por el WebService en el resultado de la búsqueda.

Los HotelDetailIds deben ir separados por coma ( ej: VE0-7NBI-3NA,VE0-7LLV-3NA,VE0-7LOB-3NA ) con un maximo de 20 HotelDetailsIds.


      • Respuesta:

<AdditionalInfoQueryRS>

  <Details>
     <Products>
        <Hotels>
           <Hotel SupplierID="BOL" HotelCode="221743" HotelDetailId="CCL-560I-3NA">
              <HotelName>Miami Springs Inn</HotelName>
              <HotelDescriptions>
                 <HotelDescription HotelDescriptionType="General">Este agradable hotel boutique de gestión familiar se encuentra cruzando la calle desde el aeropuerto interncional de Miami, con fácil acceso a Miami Beach, a South Beach y al centro de Miami con el transporte público. La ubicación está a una distancia perfecta desde cualquier lugar al que se quisiera ir de Miami. Las habitaciones son elegantes y tienen todas las comodidades necesarias para una estancia confortable y cuenta con dos maravillosos restaurantes en el propio hotel. Después de la completa renovación que el hotel atravesó en 2011 se ha convertido en un pequeño hotel boutique con una atmósfera y estilo muy moderno.</HotelDescription>
              </HotelDescriptions>
              <LocationDetails>
                 <Location LocationCode="G1000">General</Location>
              </LocationDetails>
              <Amenities>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC"/>
                    <Description AmenityCode="2">Año de construcción</Description>
                    <Value>1950</Value>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC"/>
                    <Description AmenityCode="3">Año de última reforma</Description>
                    <Value>2011</Value>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC"/>
                    <Description AmenityCode="5">Número de pisos (edificio principal)</Description>
                    <Value>2</Value>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC"/>
                    <Description AmenityCode="6">Número de pisos (edificio anexo)</Description>
                    <Value>2</Value>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC"/>
                    <Description AmenityCode="8">Habitaciones individuales</Description>
                    <Value>20</Value>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.LOC"/>
                    <Description AmenityCode="9">Habitaciones dobles</Description>
                    <Value>20</Value>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">NO Habitaciones comunicadas</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTT"/>
                    <Description AmenityCode="1">Hotel</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.MOP"/>
                    <Description AmenityCode="1">American Express</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.MOP"/>
                    <Description AmenityCode="2">EC</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.MOP"/>
                    <Description AmenityCode="3">JCB</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.MOP"/>
                    <Description AmenityCode="4">Diners Club</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.MOP"/>
                    <Description AmenityCode="5">MasterCard</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.MOP"/>
                    <Description AmenityCode="6">Visa</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">Número de dormitorios</Description>
                    <Value>1</Value>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">NO Baño para minusválidos</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR"/>
                    <Description AmenityCode="2">Ducha</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">Wi-fi</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTR"/>
                    <Description AmenityCode="17">Microondas</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">NO Accesible para minusválidos</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">SI Habitaciones para fumadores</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">NO Se admiten animales -5kg</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">NO Se admiten animales +5kg</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">NO Accesible para minusválidos</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">SI Aparcamiento</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">NO Garaje</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL"/>
                    <Description AmenityCode="4">Recepción 24h</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">Wi-fi</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.FCL"/>
                    <Description AmenityCode="33">Servicio de lavandería</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">Jardín</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">Bar</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">Restaurante</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">Zona no fumador</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">Zona fumadores</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.HTL"/>
                    <Description AmenityCode="666">Aire acondicionado en restaurante</Description>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST"/>
                    <Description AmenityCode="1">Centro ciudad</Description>
                    <DistanceList>
                       <Distance>
                          <DistanceValue>14400</DistanceValue>
                          <UnitOfMeasure UnitOfMeasureCode="3">Metros</UnitOfMeasure>
                       </Distance>
                    </DistanceList>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST"/>
                    <Description AmenityCode="2">Parada de bus/metro más cercana</Description>
                    <DistanceList>
                       <Distance>
                          <DistanceValue>40000</DistanceValue>
                          <UnitOfMeasure UnitOfMeasureCode="3">Metros</UnitOfMeasure>
                       </Distance>
                    </DistanceList>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST"/>
                    <Description AmenityCode="4">Playa</Description>
                    <DistanceList>
                       <Distance>
                          <DistanceValue>16000</DistanceValue>
                          <UnitOfMeasure UnitOfMeasureCode="3">Metros</UnitOfMeasure>
                       </Distance>
                    </DistanceList>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.DST"/>
                    <Description AmenityCode="14">Campo de golf</Description>
                    <DistanceList>
                       <Distance>
                          <DistanceValue>1931</DistanceValue>
                          <UnitOfMeasure UnitOfMeasureCode="3">Metros</UnitOfMeasure>
                       </Distance>
                    </DistanceList>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.POI"/>
                    <Description AmenityCode="666">1-Miami Beach/South Beach</Description>
                    <DistanceList>
                       <Distance>
                          <DistanceValue>16000</DistanceValue>
                          <UnitOfMeasure UnitOfMeasureCode="3">Metros</UnitOfMeasure>
                       </Distance>
                    </DistanceList>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.POI"/>
                    <Description AmenityCode="666">2-Downtown Miami</Description>
                    <DistanceList>
                       <Distance>
                          <DistanceValue>16000</DistanceValue>
                          <UnitOfMeasure UnitOfMeasureCode="3">Metros</UnitOfMeasure>
                       </Distance>
                    </DistanceList>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.POI"/>
                    <Description AmenityCode="666">3-Design District</Description>
                    <DistanceList>
                       <Distance>
                          <DistanceValue>14000</DistanceValue>
                          <UnitOfMeasure UnitOfMeasureCode="3">Metros</UnitOfMeasure>
                       </Distance>
                    </DistanceList>
                 </Amenity>
                 <Amenity Fee="No">
                    <AmenityGroup AmenityGroupCode="NMO.HTL.AMT.POI"/>
                    <Description AmenityCode="666">4-Miami Airport</Description>
                    <DistanceList>
                       <Distance>
                          <DistanceValue>160</DistanceValue>
                          <UnitOfMeasure UnitOfMeasureCode="3">Metros</UnitOfMeasure>
                       </Distance>
                    </DistanceList>
                 </Amenity>
              </Amenities>
              <Addresses>
                 <Address>
                    <AddressLines>
                       <AddressLine>661 EAST DRIVE</AddressLine>
                       <AddressLine>(33166) MIAMI SPRINGS</AddressLine>
                    </AddressLines>
                    <TelephoneNumbers>
                       <TelephoneNumber>
                          <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.TE1"/>
                          <TelephoneNumberValue>0013053810743</TelephoneNumberValue>
                       </TelephoneNumber>
                       <TelephoneNumber>
                          <TelephoneNumberType TelephoneNumberType="NMO.GBL.TLT.OFF"/>
                          <TelephoneNumberValue>0013055312222</TelephoneNumberValue>
                       </TelephoneNumber>
                    </TelephoneNumbers>
                    <PostalCode CountryCode="US">33166</PostalCode>
                    <Destinations>
                       <Destination DestinationType="NMO.HTL.DST.CTY" DestinationCode="4490" Sequence="1">Miami</Destination>
                       <Destination DestinationType="NMO.HTL.DST.CTR" DestinationCode="174" Sequence="2">Estados Unidos</Destination>
                       <Destination DestinationType="NMO.HTL.DST.CNT" DestinationCode="13" Sequence="3">America del Norte</Destination>
                    </Destinations>
                 </Address>
              </Addresses>
              <Position>
                 <Latitude>25.808753</Latitude>
                 <Longitude>-80.272528</Longitude>
              </Position>
              <HotelRating HotelRatingType="NMO.HTL.RTT.STR" HotelRatingCode="NMO.HTL.RTN.2ST">
                 <RatingDescription>2 Estrellas</RatingDescription>
                 <RatingValue>2.0</RatingValue>
              </HotelRating>
              <ImageLinks>
                 <ImageLink>
                    <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Vista general</ImageDescription>
                    <DisplayOrder>1</DisplayOrder>                     
       <ImageURL>https://images.psurfer.net/0BOL2/221743/bHR0cDovL3Bo/3Rvcy5o/3Rl/GJlZHMuY29tL2dpYXRhLzE3LzE3MTg4Ni8xNzE4ODZhX2hiX2FfMDAxLmpwZwaa.01.jpg</ImageURL>                     
       <ThumbnailURL>https://images.psurfer.net/0BOL2/221743/bHR0cDovL3Bo/3Rvcy5o/3Rl/GJlZHMuY29tL2dpYXRhLzE3LzE3MTg4Ni8xNzE4ODZhX2hiX2FfMDAxLmpwZwaa.02.jpg</ThumbnailURL>
                 </ImageLink>
                 <ImageLink>
                    <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Vista general</ImageDescription>
                    <DisplayOrder>2</DisplayOrder>                     
       <ImageURL>https://images.psurfer.net/0BOL3/221743/bHR0cDovL3Bo/3Rvcy5o/3Rl/GJlZHMuY29tL2dpYXRhLzE3LzE3MTg4Ni8xNzE4ODZhX2hiX2FfMDAyLmpwZwaa.01.jpg</ImageURL>                     
       <ThumbnailURL>https://images.psurfer.net/0BOL3/221743/bHR0cDovL3Bo/3Rvcy5o/3Rl/GJlZHMuY29tL2dpYXRhLzE3LzE3MTg4Ni8xNzE4ODZhX2hiX2FfMDAyLmpwZwaa.02.jpg</ThumbnailURL>
                 </ImageLink>
                 <ImageLink>
                    <ImageDescription ImageDisplayType="NMO.GBL.IMG.IMG">Vista general</ImageDescription>
                    <DisplayOrder>3</DisplayOrder>
       <ImageURL>https://images.psurfer.net/0BOL9/221743/bHR0cDovL3Bo/3Rvcy5o/3Rl/GJlZHMuY29tL2dpYXRhLzE3LzE3MTg4Ni8xNzE4ODZhX2hiX2FfMDAzLmpwZwaa.01.jpg</ImageURL>
       <ThumbnailURL>https://images.psurfer.net/0BOL9/221743/bHR0cDovL3Bo/3Rvcy5o/3Rl/GJlZHMuY29tL2dpYXRhLzE3LzE3MTg4Ni8xNzE4ODZhX2hiX2FfMDAzLmpwZwaa.02.jpg</ThumbnailURL>
                 </ImageLink>
              </ImageLinks>
              <TripAdvisor>
                 <LocationId>2509229</LocationId>
                 <ImagePath>http://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/2.0-26812-5.png</ImagePath>
                 <CategoryValue>2.0</CategoryValue>
                 <Reviews>107</Reviews>
              </TripAdvisor>
           </Hotel>
        </Hotels>
     </Products>
  </Details>

</AdditionalInfoQueryRS>


Parámetro Obligatorio Descripción
Notifications No
Notification Nodo que informa cuando ocurre algún error o excepción. En el atributo TripNumber se indica el trip al cual se refiere la notificación.
NotificationId Identificador de la notificación. Las mismas serán provistas por Nemo.
NotificationType Tipo de notificación.
NotificationMessage Mensaje de notificación.
Details
Products
Hotels No
Hotel Información de un Hotel reportada por el proveedor asociado.

Atributos:

HotelCode: Código del hotel de los provistos por Nemo.

SupplierID: Código del proveedor correspondiente a los códigos de proveedor estándar provistos por Nemo.

HotelName Nombre del hotel.
AccomodationType No Indica si es hotel, hostel, camping, etc. Tabla de Códigos
HotelDescriptions No
HotelDescription No Descripción del hotel.

Atributos:

HotelDescriptionType: Tipo de descripción correspondiente a los tipos de descripción estándar provistos.

HotelContracts No Contratos del hotel
LocationDetails No
Location No Descripción del área en la que se localiza el hotel.

Atributos:

LocationCode: Código de área provisto por el proveedor.

Amenities No Lista de servicios e instalaciones brindadas por el hotel.
Amenity No Servicio/Instalación brindada por el hotel.

Atributos:

Fee: Bandera que indica si el servicio/instalación tiene cargo por huésped o no.

AmenityGroup Descripción del grupo de servicio/instalación.

Atributos:

AmenityGroupCode: Código del tipo de servicio/instalación. Tabla de Códigos

Description Descripción del servicio/instalación ofrecida por el hotel.

Atributos:

AmenityCode: Código de servicio/instalación. Tabla de Códigos

Value No Valor del amenity
DistanceList No Metricas en distancias del amenity
Address Dirección del hotel
AddressLines Líneas que componen la dirección del hotel.
AddressLine Indica la dirección del hotel.
TelephoneNumbers No Lista de números telefónicos disponibles para el hotel.
TelephoneNumber
TelephoneNumberType Tipo de número telefónico.

Atributos:

TelephoneNumberType: Tipo de número telefónico. Tabla de Códigos

TelephoneNumberValue Número telefónico.
Destination Localización geográfica detallada del hotel.

Atributos:

DestinationType: Tipo de destino(continente, país, región/provincia/estado, ciudad). Tabla de Códigos

DestinationCode: Código de destino. Destinos

Position No Coordenadas del hotel: Latitud y Longitud.
HotelRating Categoría del hotel.

Atributos:

HotelRatingCode: Código de la categoría. Tabla de Códigos

HotelRatingType: Tipo de la categoría. Tabla de Códigos

RatingValue Valoración de la categoría del hotel expresada en el tipo de categoría indicado en el nodo padre.
ImageLinks No Conjunto de imágenes del hotel
ImageLink
ImageDescription Descripción de la imagen

Atributos:

-ImageDisplayType: Tipo de imagen correspondiente a los tipos de imágenes estándar provistos por Nemo.

DisplayOrder No Orden del la imagen.
ImageURL URL de la imagen
ThumbnailURL No URL de la imagen en miniatura
ImageHeight No Alto de la imagen
ImageWidth No Ancho de la imagen
GuestAgeRangeDescriptions No Descripciones de rangos de edades de pasajeros
HotelLicense No Licencia que posee el hotel
AreaDetails No
AreaDetail No Referencia al área en el que se localiza el hotel
HotelRoomTypeDescriptions No Detalle de los tipos de habitación con los que cuenta el hotel.
Copyright No Declaración de derechos de autor del proveedor de la información del hotel.
Emails No Conjunto de emails del hotel
Email No
EmailType Tipo de email

Atributos:

-EmailType: Tipo de email. Tabla de Códigos

EmailValue Email (dirección de correo electrónico en sí misma)
URLs No Conjunto de URLs del hotel
URL Una URL del hotel

Atributos:

-URLType: Tipo de URL. Valores posibles: "Web" ó "web"

HotelChain No Cadena hotelera
HotelIssues No Conjunto de issues del hotel
HotelIssue Si Informacion referida a issues del hotel.

Atributos: IssueDescription - IssueFromDate - IssueToDate

TripAdvisor No Informacion referida a TripAdvisor

Atributos: LocationId - ImagePath - CategoryValue - Reviews

Exceptions No Si no se puede armar el nodo Details se arma un nodo Exceptions con las notificaciones correspondientes.