Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@findhotel/sapi

Package Overview
Dependencies
Maintainers
3
Versions
194
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@findhotel/sapi - npm Package Compare versions

Comparing version 0.23.5 to 0.23.6

dist/types/packages/core/src/hotel.d.ts

6

CHANGELOG.md

@@ -0,1 +1,7 @@

## [0.23.6](https://github.com/FindHotel/sapi/compare/v0.23.5...v0.23.6) (2022-03-21)
### Added
- `hotel()` method to get complete hotel information by hotelId
- `sapiOverride` parameter
## [0.23.5](https://github.com/FindHotel/sapi/compare/v0.23.4...v0.23.5) (2022-03-04)

@@ -2,0 +8,0 @@ ### Added

4

dist/types/packages/core/src/app-config.d.ts

@@ -6,3 +6,3 @@ import { ProfileKey, IndexVariation } from './types';

export declare const PRICE_BUCKET_COUNT = 31;
declare type Features = 'offers' | 'search' | 'suggests' | 'configs' | 'rooms';
export declare type Features = 'offers' | 'search' | 'suggests' | 'configs' | 'rooms' | 'get-hotel';
export interface AppConfig {

@@ -24,2 +24,3 @@ daedalus: {

search: string;
hotel: string;
};

@@ -43,2 +44,1 @@ };

export declare function getAppConfig(profileKey: ProfileKey, initWithAppConfig?: Partial<AppConfig>): AppConfig;
export {};
import { Base, ProfileKey } from '.';
import { SearchResults, SearchFn, SearchFnParameters } from './search';
import { SearchResults, SearchHandler, SearchFnParameters } from './search';
import { SearchParameters } from './types';

@@ -13,3 +13,3 @@ declare type AttributesToRetrieve = keyof SearchResults;

export declare function createRequestString({ profileKey, searchParameters, options, offset, attributes }: RequestParameters): string;
export declare function backendSearch({ getFeatureEnabled, profileKey, appConfig, offersClient, options }: SearchFnParameters): SearchFn;
export declare function backendSearch({ getFeatureEnabled, profileKey, appConfig, offersClient, options }: SearchFnParameters): SearchHandler;
export {};
import { BaseWithConfig } from '.';
import { RoomsRequestParameters, RoomsRequestOptions, RoomsResults } from './types';
export declare type RoomsFn = (parameters: RoomsRequestParameters) => Promise<RoomsResults>;
export declare type RoomsHandler = (parameters: RoomsRequestParameters) => Promise<RoomsResults>;
/**

@@ -8,3 +8,3 @@ * Creates rooms request string.

* @param parameters - Rooms request parameters - dynamic parameters that change search
* @param options - Rooms request options - persistent within single SAPI instance
* @param options - Rooms request options - persistent within single SAPI instance
*

@@ -42,2 +42,2 @@ * @returns request string

*/
export declare function rooms({ appConfig, options }: Pick<BaseWithConfig, 'options' | 'appConfig'>): RoomsFn;
export declare function rooms({ appConfig, options }: Pick<BaseWithConfig, 'options' | 'appConfig'>): RoomsHandler;

@@ -5,4 +5,4 @@ import { SearchClient } from 'algoliasearch';

import { Configs } from './algolia';
import { AppConfig } from './app-config';
import { ProfileKey, ClientOptions, SapiClient, SapiFeature, Language, Logger } from './types';
import { AppConfig, Features } from './app-config';
import { ProfileKey, ClientOptions, SapiClient, Language, Logger } from './types';
export declare type AlgoliaClient = Pick<SearchClient, 'search'>;

@@ -13,3 +13,3 @@ export interface Base {

/** Check if SAPI feature is enabled */
getFeatureEnabled: (feature: SapiFeature) => boolean;
getFeatureEnabled: (feature: Features) => boolean;
/** Instance of Algolia Client */

@@ -16,0 +16,0 @@ algoliaClient: AlgoliaClient;

@@ -34,3 +34,3 @@ import { Except } from 'type-fest';

}
export declare type SearchFn = (parameters: ApiSearchParameters, callbacks?: {
export declare type SearchHandler = (parameters: ApiSearchParameters, callbacks?: {
onStart?: OnStart;

@@ -48,3 +48,3 @@ onAnchorReceived?: OnAnchorReceived;

export declare type SearchFnParameters = Pick<BaseWithConfig, 'profileKey' | 'options' | 'appConfig' | 'algoliaClient' | 'offersClient' | 'configs' | 'getFeatureEnabled'>;
export declare function search({ getFeatureEnabled, appConfig, algoliaClient, offersClient, options, configs }: SearchFnParameters): SearchFn;
export declare function search({ getFeatureEnabled, appConfig, algoliaClient, offersClient, options, configs }: SearchFnParameters): SearchHandler;
export {};
import { Base } from '.';
import { Suggestion } from './types';
export declare type SuggestFn = (query: string, suggestsCount?: number) => Promise<Suggestion[]>;
export declare function suggest(base: Base): SuggestFn;
export declare type SuggestHandler = (query: string, suggestsCount?: number) => Promise<Suggestion[]>;
export declare function suggest(base: Base): SuggestHandler;
export * from './types';
export * from './rooms';
export * from './sapi-client';
export * from './sapi-configs';
import { AlgoliaSearchOptions } from 'algoliasearch';
import { AnonymousId, Language, Currency, Country, DeviceType, Brand } from './types';
import { AppConfig } from '../app-config';
import { SearchFn } from '../search';
import { RoomsFn } from '../rooms';
import { SuggestFn } from '../suggest';
import { SearchHandler } from '../search';
import { RoomsHandler } from '../rooms';
import { HotelHandler } from '../hotel';
import { SuggestHandler } from '../suggest';
import { Configs } from '../algolia';

@@ -17,5 +18,6 @@ export declare type ProfileKey = 'findhotel-website' | 'findhotel-website-e2e' | 'findhotel-website-stg' | 'findhotel-website-ci' | 'findhotel-website-dev' | 'findhotel-checkout' | 'findhotel-checkout-e2e' | 'findhotel-checkout-stg';

export interface SapiClient {
rooms: RoomsFn;
search: SearchFn;
suggest: SuggestFn;
rooms: RoomsHandler;
search: SearchHandler;
suggest: SuggestHandler;
hotel: HotelHandler;
}

@@ -22,0 +24,0 @@ /** Options for initializing the Search API client. Persistent within single SAPI instance but may vary for different users */

@@ -0,1 +1,6 @@

export interface IndexVariation {
name: string;
objectID?: string;
variationID?: string;
}
/**

@@ -139,3 +144,3 @@ * Unique ID identifying users

export declare type SuggestHit = HotelSuggestHit | PlaceSuggestHit;
/** Hit */
/** Search Hit */
export interface Hit {

@@ -167,2 +172,14 @@ address: TranslatedString;

*/
export interface LOVItem {
importance?: number;
categoryID?: number;
id: number;
value: TranslatedString;
}
export interface TranslatedLOVItem {
importance?: number;
categoryID?: number;
id: number;
value: string;
}
export interface Hotel extends Omit<Hit, 'hotelName' | 'address' | 'placeDN' | 'placeADName'> {

@@ -174,2 +191,35 @@ displayAddress: string;

}
export interface ContentHotel {
objectID: HotelId;
_geoloc: Location;
hotelName: string;
imageURIs: string[];
guestType: GuestType;
guestRating: GuestRating;
isDeleted?: boolean;
propertyTypeId?: number;
starRating?: number;
feesOpt?: string;
checkInSpInst?: string;
policies?: string;
phone?: string;
checkInTime?: string;
checkInInst?: string;
checkInMinAge?: number;
reviewCount?: number;
chainID?: string;
checkInEnd?: string;
lastBooked?: number;
checkOutTime?: string;
feesMnd?: string;
reviewCountBkt?: number;
placeID?: string;
pricing?: Pricing;
placeDisplayName?: string;
displayAddress?: string;
facilities?: TranslatedLOVItem[];
themes?: TranslatedLOVItem[];
propertyType?: TranslatedLOVItem;
sentiments?: TranslatedLOVItem[];
}
export interface HotelAnchor extends Omit<HotelAnchorHit, 'hotelName' | 'placeADN' | 'placeDN'> {

@@ -176,0 +226,0 @@ placeDisplayName: string;

{
"name": "@findhotel/sapi",
"version": "0.23.5",
"version": "0.23.6",
"description": "FindHotel Search API",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

@@ -9,3 +9,4 @@

1. [Hotels search](#tutorial-hotels-search)
2. [Get rooms](#tutorial-get-rooms)
2. [Get rooms data](#tutorial-get-rooms)
3. [Get hotel](#tutorial-get-hotel)
3. [API Reference](#api-reference)

@@ -25,2 +26,5 @@ 1. [SAPI client](#sapi-client)

2. [Response](#rooms-response)
5. [`hotel()` method](#hotel-method)
1. [Hotel parameters](#hotel-parameters)
2. [Response](#hotel-response)

@@ -117,3 +121,3 @@ SDK provides a high level TypeScript/JavaScript API for searching

### Get rooms
### Get rooms data

@@ -132,2 +136,13 @@ Get rooms and rooms' offers:

<a id="tutorial-get-hotel"></a>
### Get hotel
Get hotel by id:
const hotel = await sapiClient.hotel('1196472')
For full documentation, check [hotel method api](#hotel-method).
<a id="api-reference"></a>

@@ -687,3 +702,3 @@

const rooms = sapiClient.rooms({
const rooms = await sapiClient.rooms({
hotelId: '47319',

@@ -790,1 +805,141 @@ checkIn: '2021-10-10',

<a id="hotel-method"></a>
## `hotel()` method
Hotel is a method of **sapiClient** for retrieving a single hotel by id
const hotel = await sapiClient.hotel('1196472')
<a id="hotel-parameters"></a>
### Hotel parameters
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">name</th>
<th scope="col" class="org-left">type</th>
<th scope="col" class="org-left">description</th>
<th scope="col" class="org-left">required</th>
<th scope="col" class="org-left">example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">`hotelId`</td>
<td class="org-left">`string`</td>
<td class="org-left">Hotel Id</td>
<td class="org-left">yes</td>
<td class="org-left">`1196472`</td>
</tr>
</tbody>
</table>
<a id="hotel-response"></a>
### Response
An example of the response for request with `hotelId` 1196472 and "pt-BR" `language`
{
"objectID": "1196472",
"guestRating": {
"cleanliness": 8.82,
"dining": 8.73,
"facilities": 8.73,
"location": 8.8,
"overall": 8.54,
"pricing": 4.49,
"rooms": 8.82,
"service": 8.67
},
"isDeleted": false,
"starRating": 4,
"_geoloc": {
"lat": 52.377805,
"lon": 4.914172
},
"feesOpt": "<p>Os seguintes depósitos e taxas são cobrados pelo hotel no momento do serviço prestado, durante o check-in ou check-out. </p> <ul> <li>Taxa para café da manhã em estilo buffet: EUR 25.00 por pessoa (aproximadamente)</li> <li>Taxa para o acesso à internet com fio no quarto: EUR 15 por dia (as tarifas podem variar)</li> <li>Taxa para o acesso à internet com fio em áreas comuns: EUR 15 por dia (as tarifas podem variar)</li> <li>Taxa para estacionamento coberto sem manobrista: EUR 38.00 por dia</li> <li>Estacionamento pago nos arredores: EUR 15 por dia (aberto 24 horas)</li> </ul> <p>A lista acima pode estar incompleta. As taxas e os depósitos podem não incluir impostos e estão sujeitos a mudanças. </p>",
"checkInSpInst": "O funcionário da recepção receberá os hóspedes na chegada. Para mais informações, entre em contato com o estabelecimento usando os dados que estão na confirmação da reserva. Os hóspedes que forem usar o traslado da Estação Central de Amsterdã devem entrar em contato com o estabelecimento com antecedência. Devido à COVID-19, as opções de comida e bebida deste estabelecimento podem estar limitadas de acordo com os regulamentos locais.",
"policies": "<ul> <li>Este estabelecimento oferece transporte da estação de trem. Os hóspedes devem entrar em contato com o estabelecimento antes da viagem com os detalhes da chegada usando as informações para contato presentes na confirmação da reserva. </li> <li>É necessário reservar os seguintes serviços: serviços de massagem. As reservas podem ser feitas contatando este hotel antes da viagem usando as informações para contato fornecidas na confirmação da reserva. </li> <li>Somente hóspedes registrados podem ter acesso aos quartos. </li><li>O estabelecimento possui quartos conectados ou adjacentes, que podem ser solicitados entrando-se em contato diretamente com o estabelecimento, através do número fornecido na confirmação da reserva. </li><li>Não há necessidade de carro para o transporte de/para o estabelecimento. </li><p>Há restrições de altura no estacionamento. </p><li>Medidas de limpeza aprimorada e segurança dos hóspedes estão atualmente em vigor nesta acomodação.</li><li>A limpeza do estabelecimento é feita com desinfetante, as superfícies tocadas regularmente são desinfetadas entre as estadias e os lençóis e as toalhas são lavados a uma temperatura mínima de 60 °C.</li><li>Equipamentos de proteção individuais , como máscaras, vão estar disponíveis para os hóspedes.</li><li>Medidas de distanciamento social estão em vigor; os funcionários utilizam equipamento de proteção individual no estabelecimento; há um painel protetor de acrílico entre funcionários e hóspedes nas principais áreas de contato; os hóspedes recebem álcool em gel.</li><li>Há possibilidade de check-in sem contato e check-out sem contato.</li><li>Cada quarto permanece vazio por um mínimo de 24 horas entre as estadias.</li><li> Este estabelecimento recebe hóspedes de todas as orientações sexuais e identidades de gênero (LGBTQ friendly). </li> </ul>",
"phone": "+31205191200",
"imageURIs": [
"https://i.travelapi.com/hotels/2000000/1460000/1452100/1452083/a39e2fc8_w.jpg",
"https://i.travelapi.com/hotels/2000000/1460000/1452100/1452083/3892e861_w.jpg",
"https://i.travelapi.com/hotels/2000000/1460000/1452100/1452083/aed25438_w.jpg"
],
"checkInTime": "15:00",
"checkInInst": "<ul> <li>Pessoas extras podem incorrer em taxas adicionais que variam dependendo da política do estabelecimento</li><li>Documento de identificação oficial com foto e cartão de crédito, cartão de débito ou depósito em dinheiro podem ser exigidos no momento do check-in para despesas extras.</li><li>Solicitações especiais estão sujeitas à disponibilidade no momento do check-in e podem incorrer em taxas adicionais. Essas solicitações não estão garantidas</li><li>Políticas de cancelamento ou cobranças especiais podem se aplicar a reservas de grupos (mais de 8 quartos para o mesmo estabelecimento/mesmas datas)</li><li>Este estabelecimento aceita cartões de crédito – não são aceitos pagamentos em dinheiro.</li><li>Os recursos de segurança disponíveis no estabelecimento incluem itens como detector de fumaça</li><li>As normas culturais e políticas de hóspedes podem variar conforme o país e o estabelecimento. As políticas listadas são fornecidas pelo estabelecimento</li> </ul>",
"reviewCount": 17538,
"chainID": "2101",
"checkInEnd": "01:00",
"lastBooked": 1608030831,
"checkOutTime": "12:00",
"feesMnd": "<p>Você deverá pagar os seguintes encargos no estabelecimento:</p> <ul><li>Depósito: EUR 50 por noite</li><li>A cidade cobra um imposto de EUR 3.00 por pessoa, por noite até 21 noites. Esse imposto não se aplica a crianças de até 16 anos. </li><li>Será cobrado um imposto municipal/local de 6.422 %</li></ul> <p>Incluímos todas as cobranças que o estabelecimento nos forneceu. No entanto, as cobranças podem variar com base, por exemplo, na duração da estadia ou no tipo de quarto reservado. </p>",
"reviewCountBkt": 9,
"hotelName": "Movenpick Hotel Amsterdam City Centre",
"sentiments": [{
"value": "Gostou do bar",
"id": 46
},
{
"value": "Processo rápido de check-in/check-out",
"id": 180
}
],
"facilities": [{
"categoryID": 4,
"importance": 2,
"value": "Centro de Negócios",
"id": 1
},
{
"categoryID": 17,
"importance": 2,
"value": "Serviço de quarto",
"id": 2
}
],
"placeID": "311007",
"guestType": {
"business": 1333,
"couples": 3125,
"families": 1484,
"groups": 1121,
"solo": 206
},
"themes": [{
"value": "Cidade",
"id": 2
},
{
"value": "Empresarial",
"id": 12
}
],
"propertyType": {
"value": "Hotel",
"id": 0
},
"placeDisplayName": "Oostelijk Havengebied, Amsterdã",
"displayAddress": "Piet Heinkade 11, Oostelijk Havengebied, Amsterdã, Holanda"
}

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc