@wallfar/ocd-studio-core-sdk
Version:
Helper SDK for our OneClick Studio modules
34 lines (31 loc) • 1.42 kB
TypeScript
import { D as ReservationData, e as BookingAdjustment, j as BookingOrderRequestData } from './shared/ocd-studio-core-sdk.ShBMfdE2.js';
import 'vue';
import '@internationalized/date';
import 'firebase-admin/firestore';
import 'firebase-functions/v2/firestore';
type DraftMetadata = Record<string, any>;
type DraftOrder = {
reservations: DraftReservation[];
adjustments: BookingAdjustment[];
metadata: DraftMetadata;
customerInfo: BookingOrderRequestData['customerInfo'];
paymentType: BookingOrderRequestData['paymentType'];
};
type DraftReservation = Omit<ReservationData, 'adjustments' | 'metadata'> & {
adjustments: BookingAdjustment[];
metadata: DraftMetadata;
};
type DraftTarget = DraftOrder | DraftReservation;
type CalculatedReservation = DraftReservation & {
finalPrice: number;
};
type CalculatedOrder = DraftOrder & {
reservations: CalculatedReservation[];
total: number;
};
declare function createDraftOrder(input: BookingOrderRequestData): DraftOrder;
declare function addFixed(target: DraftTarget, amount: number, label: string): void;
declare function addPercent(target: DraftTarget, percent: number, label: string): void;
declare function calculateTotals(order: DraftOrder): CalculatedOrder;
export { addFixed, addPercent, calculateTotals, createDraftOrder };
export type { CalculatedOrder, CalculatedReservation, DraftMetadata, DraftOrder, DraftReservation };