@qite/tide-booking-component
Version:
React Booking wizard & Booking product component for Tide
50 lines (45 loc) • 1.44 kB
text/typescript
import {
agents,
details,
generateBookingAccommodations,
} 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 packageApi = {
fetchDetails,
fetchAgents,
fetchAccommodationViews,
};
export default packageApi;