@qite/tide-booking-component
Version:
React Booking wizard & Booking product component for Tide
45 lines (39 loc) • 1.65 kB
text/typescript
import { agents, details, generateBookingAccommodations, getCountries } from '@qite/tide-client';
import {
BookingPackage,
BookingPackageDetailsRequest,
BookingPackageRequest,
BookingTravelAgent,
GenerateBookingAccommodationRequest,
TideResponse
} from '@qite/tide-client/build/types';
import { ApiSettingsState } from '../../../shared/types';
import { buildTideClientConfig } from '../../../shared/utils/tide-api-utils';
const fetchDetails = async (
request: BookingPackageRequest<BookingPackageDetailsRequest>,
signal: AbortSignal,
languageCode?: string,
apiSettings?: ApiSettingsState
): Promise<TideResponse<BookingPackage>> => {
const tideClientConfig = buildTideClientConfig(apiSettings);
return await details(tideClientConfig, request, signal, languageCode);
};
const fetchAgents = async (signal: AbortSignal, apiSettings?: ApiSettingsState): Promise<BookingTravelAgent[]> => {
const tideClientConfig = buildTideClientConfig(apiSettings);
return await agents(tideClientConfig, signal);
};
const fetchAccommodationViews = async (request: GenerateBookingAccommodationRequest, signal: AbortSignal, apiSettings?: ApiSettingsState) => {
const tideClientConfig = buildTideClientConfig(apiSettings);
return await generateBookingAccommodations(tideClientConfig, request, signal);
};
const fetchCountries = async (signal: AbortSignal, apiSettings?: ApiSettingsState) => {
const tideClientConfig = buildTideClientConfig(apiSettings);
return await getCountries(tideClientConfig, signal);
};
const packageApi = {
fetchDetails,
fetchAgents,
fetchAccommodationViews,
fetchCountries
};
export default packageApi;