@qite/tide-booking-component
Version:
React Booking wizard & Booking product component for Tide
46 lines (41 loc) • 1.48 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;