@cimplify/sdk 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2329,7 +2329,11 @@ declare class SchedulingService {
2329
2329
  private client;
2330
2330
  constructor(client: CimplifyClient);
2331
2331
  getServices(): Promise<Service[]>;
2332
- getService(serviceId: string): Promise<Service>;
2332
+ /**
2333
+ * Get a specific service by ID
2334
+ * Note: Filters from all services client-side (no single-service endpoint)
2335
+ */
2336
+ getService(serviceId: string): Promise<Service | null>;
2333
2337
  getAvailableSlots(input: GetAvailableSlotsInput): Promise<AvailableSlot[]>;
2334
2338
  checkSlotAvailability(input: CheckSlotAvailabilityInput): Promise<{
2335
2339
  available: boolean;
@@ -2555,12 +2559,360 @@ declare const ORDER_MUTATION: {
2555
2559
  declare const DEFAULT_CURRENCY = "GHS";
2556
2560
  declare const DEFAULT_COUNTRY = "GHA";
2557
2561
 
2558
- /** Currency symbol mapping */
2562
+ /**
2563
+ * Price Types
2564
+ *
2565
+ * Types for price parsing, formatting, and display utilities.
2566
+ */
2567
+ /**
2568
+ * Individual tax component (e.g., VAT, NHIL, GETFund)
2569
+ */
2570
+ interface TaxComponent {
2571
+ /** Tax component name */
2572
+ name: string;
2573
+ /** Tax rate as percentage (e.g., 15.0 for 15%) */
2574
+ rate: number;
2575
+ }
2576
+ /**
2577
+ * Complete tax information from a price path
2578
+ */
2579
+ interface TaxInfo {
2580
+ /** Total tax rate as percentage */
2581
+ taxRate: number;
2582
+ /** Calculated tax amount */
2583
+ taxAmount: number;
2584
+ /** Whether tax is included in the displayed price */
2585
+ isInclusive: boolean;
2586
+ /** Individual tax components that make up the total */
2587
+ components: TaxComponent[];
2588
+ }
2589
+ /**
2590
+ * Price information in snake_case format (as returned from backend)
2591
+ * Used by components that work with raw API responses
2592
+ */
2593
+ interface PriceInfo {
2594
+ /** Original price before markup/discount */
2595
+ base_price: number;
2596
+ /** Final price after all adjustments */
2597
+ final_price: number;
2598
+ /** Markup percentage if applicable */
2599
+ markup_percentage?: number;
2600
+ /** Markup amount if applicable */
2601
+ markup_amount?: number;
2602
+ /** Currency code (e.g., "GHS", "USD") */
2603
+ currency?: string;
2604
+ /** Tax information */
2605
+ tax_info?: TaxInfo;
2606
+ /** Decision path showing pricing adjustments */
2607
+ decision_path?: string;
2608
+ }
2609
+ /**
2610
+ * Parsed price from a signed price path
2611
+ * Contains all extracted pricing information with validation status
2612
+ */
2613
+ interface ParsedPrice {
2614
+ /** Original price before markup/discount */
2615
+ basePrice: number;
2616
+ /** Final price after all adjustments */
2617
+ finalPrice: number;
2618
+ /** Currency code (e.g., "GHS", "USD") */
2619
+ currency: string;
2620
+ /** Decision path showing how price was calculated */
2621
+ decisionPath: string;
2622
+ /** Discount percentage if final < base */
2623
+ discountPercentage?: number;
2624
+ /** Markup percentage if final > base */
2625
+ markupPercentage?: number;
2626
+ /** Markup amount if final > base */
2627
+ markupAmount?: number;
2628
+ /** Tax information extracted from the path */
2629
+ taxInfo?: TaxInfo;
2630
+ /** Whether the price path is valid and not expired */
2631
+ isValid: boolean;
2632
+ /** Whether the price path has expired */
2633
+ isExpired: boolean;
2634
+ /** Unix timestamp when the price expires */
2635
+ expiryTimestamp?: number;
2636
+ }
2637
+ /**
2638
+ * Minimal product shape for price utilities
2639
+ * Allows extracting price from either price_path or price_info
2640
+ */
2641
+ interface ProductWithPrice {
2642
+ /** Signed price path from backend */
2643
+ price_path?: string | null;
2644
+ /** Pre-parsed price info */
2645
+ price_info?: PriceInfo;
2646
+ }
2647
+ /**
2648
+ * Options for price formatting functions
2649
+ */
2650
+ interface FormatPriceOptions {
2651
+ /** Currency code (default: "GHS") */
2652
+ currency?: string;
2653
+ /** Locale for Intl.NumberFormat (default: "en-US") */
2654
+ locale?: string;
2655
+ /** Minimum fraction digits (default: 2) */
2656
+ minimumFractionDigits?: number;
2657
+ /** Maximum fraction digits (default: 2) */
2658
+ maximumFractionDigits?: number;
2659
+ }
2660
+ /**
2661
+ * Options for compact price formatting
2662
+ */
2663
+ interface FormatCompactOptions {
2664
+ /** Currency code (default: "GHS") */
2665
+ currency?: string;
2666
+ /** Number of decimal places for compact notation (default: 1) */
2667
+ decimals?: number;
2668
+ }
2669
+
2670
+ /**
2671
+ * Price Utilities
2672
+ *
2673
+ * Comprehensive utilities for parsing, formatting, and displaying prices.
2674
+ * Handles signed price paths from the backend, currency formatting,
2675
+ * and product price helpers.
2676
+ *
2677
+ * @example
2678
+ * ```typescript
2679
+ * import {
2680
+ * formatPrice,
2681
+ * formatPriceCompact,
2682
+ * parsePricePath,
2683
+ * isOnSale,
2684
+ * getDiscountPercentage
2685
+ * } from '@cimplify/sdk';
2686
+ *
2687
+ * // Format prices
2688
+ * formatPrice(29.99, 'USD'); // "$29.99"
2689
+ * formatPrice(29.99, 'GHS'); // "GH₵29.99"
2690
+ * formatPriceCompact(1500000, 'USD'); // "$1.5M"
2691
+ *
2692
+ * // Check for discounts
2693
+ * if (isOnSale(product)) {
2694
+ * console.log(`${getDiscountPercentage(product)}% off!`);
2695
+ * }
2696
+ * ```
2697
+ */
2698
+
2699
+ /**
2700
+ * Currency code to symbol mapping
2701
+ * Includes major world currencies and African currencies
2702
+ */
2559
2703
  declare const CURRENCY_SYMBOLS: Record<string, string>;
2560
2704
  /**
2561
- * Format a money value with currency symbol
2705
+ * Get currency symbol for a currency code
2706
+ * @param currencyCode - ISO 4217 currency code (e.g., "USD", "GHS")
2707
+ * @returns Currency symbol or the code itself if not found
2708
+ *
2709
+ * @example
2710
+ * getCurrencySymbol('USD') // "$"
2711
+ * getCurrencySymbol('GHS') // "GH₵"
2712
+ * getCurrencySymbol('XYZ') // "XYZ"
2713
+ */
2714
+ declare function getCurrencySymbol(currencyCode: string): string;
2715
+ /**
2716
+ * Format a number compactly with K/M/B suffixes
2717
+ * @param value - Number to format
2718
+ * @param decimals - Decimal places (default: 1)
2719
+ * @returns Compact string representation
2720
+ *
2721
+ * @example
2722
+ * formatNumberCompact(1234) // "1.2K"
2723
+ * formatNumberCompact(1500000) // "1.5M"
2724
+ * formatNumberCompact(2500000000) // "2.5B"
2725
+ */
2726
+ declare function formatNumberCompact(value: number, decimals?: number): string;
2727
+ /**
2728
+ * Format a price with locale-aware currency formatting
2729
+ * Uses Intl.NumberFormat for proper localization
2730
+ *
2731
+ * @param amount - Price amount (number or string)
2732
+ * @param currency - ISO 4217 currency code (default: "GHS")
2733
+ * @param locale - BCP 47 locale string (default: "en-US")
2734
+ * @returns Formatted price string
2735
+ *
2736
+ * @example
2737
+ * formatPrice(29.99, 'USD') // "$29.99"
2738
+ * formatPrice(29.99, 'GHS') // "GH₵29.99"
2739
+ * formatPrice('29.99', 'EUR') // "€29.99"
2740
+ * formatPrice(1234.56, 'USD', 'de-DE') // "1.234,56 $"
2741
+ */
2742
+ declare function formatPrice(amount: number | string, currency?: string, locale?: string): string;
2743
+ /**
2744
+ * Format a price with +/- sign for adjustments
2745
+ * Useful for showing price changes, modifiers, or discounts
2746
+ *
2747
+ * @param amount - Adjustment amount (positive or negative)
2748
+ * @param currency - ISO 4217 currency code (default: "GHS")
2749
+ * @param locale - BCP 47 locale string (default: "en-US")
2750
+ * @returns Formatted adjustment string with sign
2751
+ *
2752
+ * @example
2753
+ * formatPriceAdjustment(5.00, 'USD') // "+$5.00"
2754
+ * formatPriceAdjustment(-3.50, 'GHS') // "-GH₵3.50"
2755
+ * formatPriceAdjustment(0, 'EUR') // "€0.00"
2756
+ */
2757
+ declare function formatPriceAdjustment(amount: number, currency?: string, locale?: string): string;
2758
+ /**
2759
+ * Format a price compactly for large numbers
2760
+ * Uses K/M/B suffixes for thousands, millions, billions
2761
+ *
2762
+ * @param amount - Price amount (number or string)
2763
+ * @param currency - ISO 4217 currency code (default: "GHS")
2764
+ * @param decimals - Decimal places for compact notation (default: 1)
2765
+ * @returns Compact formatted price
2766
+ *
2767
+ * @example
2768
+ * formatPriceCompact(999, 'USD') // "$999.00"
2769
+ * formatPriceCompact(1500, 'GHS') // "GH₵1.5K"
2770
+ * formatPriceCompact(2500000, 'USD') // "$2.5M"
2771
+ * formatPriceCompact(1200000000, 'EUR') // "€1.2B"
2772
+ */
2773
+ declare function formatPriceCompact(amount: number | string, currency?: string, decimals?: number): string;
2774
+ /**
2775
+ * Simple currency symbol + amount format
2776
+ * Lighter alternative to formatPrice without Intl
2777
+ *
2778
+ * @param amount - Price amount (number or string)
2779
+ * @param currency - ISO 4217 currency code (default: "GHS")
2780
+ * @returns Simple formatted price
2781
+ *
2782
+ * @example
2783
+ * formatMoney(29.99, 'USD') // "$29.99"
2784
+ * formatMoney('15.00', 'GHS') // "GH₵15.00"
2562
2785
  */
2563
2786
  declare function formatMoney(amount: string | number, currency?: string): string;
2787
+ /**
2788
+ * Parse a price string or number to a numeric value
2789
+ * Handles various input formats gracefully
2790
+ *
2791
+ * @param value - Value to parse (string, number, or undefined)
2792
+ * @returns Parsed numeric value, or 0 if invalid
2793
+ *
2794
+ * @example
2795
+ * parsePrice('29.99') // 29.99
2796
+ * parsePrice(29.99) // 29.99
2797
+ * parsePrice('$29.99') // 29.99 (strips non-numeric prefix)
2798
+ * parsePrice(undefined) // 0
2799
+ * parsePrice('invalid') // 0
2800
+ */
2801
+ declare function parsePrice(value: string | number | undefined | null): number;
2802
+ /**
2803
+ * Parse a signed price path from the backend
2804
+ *
2805
+ * Price paths are HMAC-SHA256 signed and contain:
2806
+ * - Base price (original price before markup)
2807
+ * - Final price (what customer pays)
2808
+ * - Currency
2809
+ * - Tax information
2810
+ * - Decision path (pricing adjustments trail)
2811
+ *
2812
+ * Format: "base_price|final_price|currency|tax_info|decision_path§expiry§signature"
2813
+ *
2814
+ * @param signedPricePath - The signed price path from backend
2815
+ * @returns ParsedPrice object with extracted pricing information
2816
+ *
2817
+ * @example
2818
+ * const parsed = parsePricePath(product.price_path);
2819
+ * console.log(parsed.finalPrice); // 29.99
2820
+ * console.log(parsed.currency); // "GHS"
2821
+ * console.log(parsed.isValid); // true
2822
+ * console.log(parsed.taxInfo); // { taxRate: 15, ... }
2823
+ */
2824
+ declare function parsePricePath(signedPricePath: string | undefined | null): ParsedPrice;
2825
+ /**
2826
+ * Convert a ParsedPrice to PriceInfo format
2827
+ * Useful for compatibility with components expecting snake_case format
2828
+ *
2829
+ * @param parsedPrice - The parsed price object
2830
+ * @returns PriceInfo object in snake_case format
2831
+ */
2832
+ declare function parsedPriceToPriceInfo(parsedPrice: ParsedPrice): PriceInfo;
2833
+ /**
2834
+ * Extract PriceInfo directly from a signed price path
2835
+ * Convenience function that parses and converts in one step
2836
+ *
2837
+ * @param signedPricePath - The signed price path from backend
2838
+ * @returns PriceInfo object ready for use in components
2839
+ *
2840
+ * @example
2841
+ * const priceInfo = extractPriceInfo(product.price_path);
2842
+ * console.log(priceInfo.final_price); // 29.99
2843
+ */
2844
+ declare function extractPriceInfo(signedPricePath: string | undefined | null): PriceInfo;
2845
+ /**
2846
+ * Get the display price from a product
2847
+ * Handles both price_path and pre-parsed price_info
2848
+ *
2849
+ * @param product - Product with price_path or price_info
2850
+ * @returns The final price to display
2851
+ *
2852
+ * @example
2853
+ * const price = getDisplayPrice(product);
2854
+ * console.log(formatPrice(price, 'GHS')); // "GH₵29.99"
2855
+ */
2856
+ declare function getDisplayPrice(product: ProductWithPrice): number;
2857
+ /**
2858
+ * Get the base price from a product (before markup/discount)
2859
+ *
2860
+ * @param product - Product with price_path or price_info
2861
+ * @returns The base price before adjustments
2862
+ */
2863
+ declare function getBasePrice(product: ProductWithPrice): number;
2864
+ /**
2865
+ * Check if a product is on sale (discounted)
2866
+ *
2867
+ * @param product - Product with price_path or price_info
2868
+ * @returns True if the final price is less than the base price
2869
+ *
2870
+ * @example
2871
+ * if (isOnSale(product)) {
2872
+ * return <Badge>Sale!</Badge>;
2873
+ * }
2874
+ */
2875
+ declare function isOnSale(product: ProductWithPrice): boolean;
2876
+ /**
2877
+ * Get the discount percentage for a product on sale
2878
+ *
2879
+ * @param product - Product with price_path or price_info
2880
+ * @returns Discount percentage (0-100), or 0 if not on sale
2881
+ *
2882
+ * @example
2883
+ * const discount = getDiscountPercentage(product);
2884
+ * if (discount > 0) {
2885
+ * return <Badge>{discount}% OFF</Badge>;
2886
+ * }
2887
+ */
2888
+ declare function getDiscountPercentage(product: ProductWithPrice): number;
2889
+ /**
2890
+ * Get the markup percentage for a product
2891
+ *
2892
+ * @param product - Product with price_path or price_info
2893
+ * @returns Markup percentage, or 0 if no markup
2894
+ */
2895
+ declare function getMarkupPercentage(product: ProductWithPrice): number;
2896
+ /**
2897
+ * Get the currency for a product
2898
+ *
2899
+ * @param product - Product with price_path or price_info
2900
+ * @returns Currency code (default: "GHS")
2901
+ */
2902
+ declare function getProductCurrency(product: ProductWithPrice): string;
2903
+ /**
2904
+ * Format a product's display price
2905
+ * Convenience function combining getDisplayPrice and formatPrice
2906
+ *
2907
+ * @param product - Product with price_path or price_info
2908
+ * @param locale - BCP 47 locale string (default: "en-US")
2909
+ * @returns Formatted price string
2910
+ *
2911
+ * @example
2912
+ * <span>{formatProductPrice(product)}</span> // "GH₵29.99"
2913
+ */
2914
+ declare function formatProductPrice(product: ProductWithPrice, locale?: string): string;
2915
+
2564
2916
  /**
2565
2917
  * Categorize payment errors into user-friendly messages
2566
2918
  */
@@ -2617,4 +2969,4 @@ interface ApiResponse<T> {
2617
2969
  metadata?: ResponseMetadata;
2618
2970
  }
2619
2971
 
2620
- export { AUTHORIZATION_TYPE, AUTH_MUTATION, type AddOn, type AddOnDetails, type AddOnGroupDetails, type AddOnOption, type AddOnOptionDetails, type AddOnOptionPrice, type AddOnWithOptions, type AddToCartInput, type AddressData, type AdjustmentType, type AmountToPay, type ApiError, type ApiResponse, type AppliedDiscount, type AuthResponse, AuthService, type AuthStatus, type AuthorizationType, type AvailabilityCheck, type AvailabilityResult, type AvailableSlot, type BenefitType, type Booking, type BookingRequirementOverride, type BookingStatus, type BookingWithDetails, type BufferTimes, type Bundle, type BundleComponentData, type BundleComponentInfo, type BundlePriceType, type BundleProduct, type BundleSelectionData, type BundleSelectionInput, type BundleStoredSelection, type BundleSummary, type BundleWithDetails, type Business, type BusinessHours, type BusinessPreferences, BusinessService, type BusinessSettings, type BusinessType, type BusinessWithLocations, CHECKOUT_MODE, CHECKOUT_MUTATION, CHECKOUT_STEP, CURRENCY_SYMBOLS, type CancelBookingInput, type CancelOrderInput, type CancellationPolicy, type Cart, type CartAddOn, type CartChannel, type CartItem, type CartItemDetails, CartOperations, type CartStatus, type CartSummary, type CartTotals, CatalogueQueries, type Category, type CategoryInfo, type CategorySummary, type ChangePasswordInput, type CheckSlotAvailabilityInput, type CheckoutAddressInfo, type CheckoutCustomerInfo, type CheckoutFormData, type CheckoutInput, type CheckoutMode, CheckoutService as CheckoutOperations, type CheckoutOrderType, type CheckoutPaymentMethod, type CheckoutResult, CheckoutService, type CheckoutStep, type ChosenPrice, CimplifyClient, type CimplifyConfig, CimplifyError, type Collection, type CollectionProduct, type CollectionSummary, type ComponentGroup, type ComponentGroupWithComponents, type ComponentPriceBreakdown, type ComponentSelectionInput, type ComponentSourceType, type Composite, type CompositeComponent, type CompositePriceBreakdown, type CompositePriceResult, type CompositePricingMode, type CompositeSelectionData, type ComponentSelectionInput as CompositeSelectionInput, type CompositeStoredSelection, type CompositeWithDetails, type ContactType, type CreateAddressInput, type CreateMobileMoneyInput, type Currency, type Customer, type CustomerAddress, type CustomerLinkPreferences, type CustomerMobileMoney, type CustomerServicePreferences, DEFAULT_COUNTRY, DEFAULT_CURRENCY, type DayAvailability, type DepositResult, type DepositType, type DeviceType, type DigitalProductType, type DiscountBreakdown, type DiscountDetails, type DisplayAddOn, type DisplayAddOnOption, type DisplayCart, type DisplayCartItem, type EnrollAndLinkOrderInput, type EnrollAndLinkOrderResult, type EnrollmentData, type FeeBearerType, type FulfillmentLink, type FulfillmentStatus, type FulfillmentType, type GetAvailableSlotsInput, type GetOrdersOptions, type GetProductsOptions, type GroupPricingBehavior, type InitializePaymentResult, InventoryService, type InventorySummary, type InventoryType, type KitchenOrderItem, type KitchenOrderResult, LINK_MUTATION, LINK_QUERY, type LineConfiguration, type LineItem, type LineType, type LinkData, type LinkEnrollResult, LinkService, type LinkSession, type LinkStatusResult, type LiteBootstrap, LiteService, type Location, type LocationAppointment, type LocationProductPrice, type LocationStock, type LocationTaxBehavior, type LocationTaxOverrides, type LocationTimeProfile, type LocationWithDetails, MOBILE_MONEY_PROVIDER, MOBILE_MONEY_PROVIDERS, type MobileMoneyData, type MobileMoneyDetails, type MobileMoneyProvider, type Money, type MutationRequest, ORDER_MUTATION, ORDER_TYPE, type Order, type OrderChannel, type OrderFilter, type OrderFulfillmentSummary, type OrderGroup, type OrderGroupDetails, type OrderGroupPayment, type OrderGroupPaymentState, type OrderGroupPaymentSummary, type OrderHistory, type OrderLineState, type OrderLineStatus, type OrderPaymentEvent, OrderQueries, type OrderSplitDetail, type OrderStatus, type OtpResult, PAYMENT_METHOD, PAYMENT_MUTATION, PAYMENT_STATE, PICKUP_TIME_TYPE, type Pagination, type PaginationParams, type Payment, type PaymentErrorDetails, type PaymentMethod, type PaymentMethodType, type PaymentProcessingState, type PaymentProvider, type PaymentResponse, type PaymentState, type PaymentStatus, type PaymentStatusResponse, type PickupTime, type PickupTimeType, type Price, type PriceAdjustment, type PriceDecisionPath, type PriceEntryType, type PricePathTaxInfo, type PriceSource, type PricingOverrides, type Product, type ProductAddOn, type ProductAvailability, type ProductStock, type ProductTimeProfile, type ProductType, type ProductVariant, type ProductVariantValue, type ProductWithDetails, QueryBuilder, type QueryRequest, type RefundOrderInput, type ReminderMethod, type ReminderSettings, type RequestOtpInput, type RescheduleBookingInput, type ResourceAssignment, type ResourceAvailabilityException, type ResourceAvailabilityRule, type ResourceType, type ResponseMetadata, type RevokeAllSessionsResult, type RevokeSessionResult, type Room, type SalesChannel, type SchedulingMetadata, type SchedulingResult, SchedulingService, type SearchOptions, type SelectedAddOnOption, type Service, type ServiceAvailabilityException, type ServiceAvailabilityParams, type ServiceAvailabilityResult, type ServiceAvailabilityRule, type ServiceCharge, type ServiceNotes, type ServiceScheduleRequest, type ServiceStaffRequirement, type ServiceStatus, type ServiceWithStaff, type Staff, type StaffAssignment, type StaffAvailabilityException, type StaffAvailabilityRule, type StaffBookingProfile, type StaffRole, type StaffScheduleItem, type Stock, type StockLevel, type StockOwnershipType, type StockStatus, type StorefrontBootstrap, type SubmitAuthorizationInput, type Table, type TableInfo, type TaxPathComponent, type TimeRange, type TimeRanges, type TimeSlot, type UICart, type UICartBusiness, type UICartCustomer, type UICartLocation, type UICartPricing, type UpdateAddressInput, type UpdateCartItemInput, type UpdateOrderStatusInput, type UpdateProfileInput, type VariantAxis, type VariantAxisSelection, type VariantAxisValue, type VariantAxisWithValues, type VariantDetails, type VariantDetailsDTO, type VariantDisplayAttribute, type VariantLocationAvailability, type VariantStock, type VariantStrategy, type VerifyOtpInput, categorizePaymentError, createCimplifyClient, detectMobileMoneyProvider, formatMoney, normalizePaymentResponse, normalizeStatusResponse, query };
2972
+ export { AUTHORIZATION_TYPE, AUTH_MUTATION, type AddOn, type AddOnDetails, type AddOnGroupDetails, type AddOnOption, type AddOnOptionDetails, type AddOnOptionPrice, type AddOnWithOptions, type AddToCartInput, type AddressData, type AdjustmentType, type AmountToPay, type ApiError, type ApiResponse, type AppliedDiscount, type AuthResponse, AuthService, type AuthStatus, type AuthorizationType, type AvailabilityCheck, type AvailabilityResult, type AvailableSlot, type BenefitType, type Booking, type BookingRequirementOverride, type BookingStatus, type BookingWithDetails, type BufferTimes, type Bundle, type BundleComponentData, type BundleComponentInfo, type BundlePriceType, type BundleProduct, type BundleSelectionData, type BundleSelectionInput, type BundleStoredSelection, type BundleSummary, type BundleWithDetails, type Business, type BusinessHours, type BusinessPreferences, BusinessService, type BusinessSettings, type BusinessType, type BusinessWithLocations, CHECKOUT_MODE, CHECKOUT_MUTATION, CHECKOUT_STEP, CURRENCY_SYMBOLS, type CancelBookingInput, type CancelOrderInput, type CancellationPolicy, type Cart, type CartAddOn, type CartChannel, type CartItem, type CartItemDetails, CartOperations, type CartStatus, type CartSummary, type CartTotals, CatalogueQueries, type Category, type CategoryInfo, type CategorySummary, type ChangePasswordInput, type CheckSlotAvailabilityInput, type CheckoutAddressInfo, type CheckoutCustomerInfo, type CheckoutFormData, type CheckoutInput, type CheckoutMode, CheckoutService as CheckoutOperations, type CheckoutOrderType, type CheckoutPaymentMethod, type CheckoutResult, CheckoutService, type CheckoutStep, type ChosenPrice, CimplifyClient, type CimplifyConfig, CimplifyError, type Collection, type CollectionProduct, type CollectionSummary, type ComponentGroup, type ComponentGroupWithComponents, type ComponentPriceBreakdown, type ComponentSelectionInput, type ComponentSourceType, type Composite, type CompositeComponent, type CompositePriceBreakdown, type CompositePriceResult, type CompositePricingMode, type CompositeSelectionData, type ComponentSelectionInput as CompositeSelectionInput, type CompositeStoredSelection, type CompositeWithDetails, type ContactType, type CreateAddressInput, type CreateMobileMoneyInput, type Currency, type Customer, type CustomerAddress, type CustomerLinkPreferences, type CustomerMobileMoney, type CustomerServicePreferences, DEFAULT_COUNTRY, DEFAULT_CURRENCY, type DayAvailability, type DepositResult, type DepositType, type DeviceType, type DigitalProductType, type DiscountBreakdown, type DiscountDetails, type DisplayAddOn, type DisplayAddOnOption, type DisplayCart, type DisplayCartItem, type EnrollAndLinkOrderInput, type EnrollAndLinkOrderResult, type EnrollmentData, type FeeBearerType, type FormatCompactOptions, type FormatPriceOptions, type FulfillmentLink, type FulfillmentStatus, type FulfillmentType, type GetAvailableSlotsInput, type GetOrdersOptions, type GetProductsOptions, type GroupPricingBehavior, type InitializePaymentResult, InventoryService, type InventorySummary, type InventoryType, type KitchenOrderItem, type KitchenOrderResult, LINK_MUTATION, LINK_QUERY, type LineConfiguration, type LineItem, type LineType, type LinkData, type LinkEnrollResult, LinkService, type LinkSession, type LinkStatusResult, type LiteBootstrap, LiteService, type Location, type LocationAppointment, type LocationProductPrice, type LocationStock, type LocationTaxBehavior, type LocationTaxOverrides, type LocationTimeProfile, type LocationWithDetails, MOBILE_MONEY_PROVIDER, MOBILE_MONEY_PROVIDERS, type MobileMoneyData, type MobileMoneyDetails, type MobileMoneyProvider, type Money, type MutationRequest, ORDER_MUTATION, ORDER_TYPE, type Order, type OrderChannel, type OrderFilter, type OrderFulfillmentSummary, type OrderGroup, type OrderGroupDetails, type OrderGroupPayment, type OrderGroupPaymentState, type OrderGroupPaymentSummary, type OrderHistory, type OrderLineState, type OrderLineStatus, type OrderPaymentEvent, OrderQueries, type OrderSplitDetail, type OrderStatus, type OtpResult, PAYMENT_METHOD, PAYMENT_MUTATION, PAYMENT_STATE, PICKUP_TIME_TYPE, type Pagination, type PaginationParams, type ParsedPrice, type Payment, type PaymentErrorDetails, type PaymentMethod, type PaymentMethodType, type PaymentProcessingState, type PaymentProvider, type PaymentResponse, type PaymentState, type PaymentStatus, type PaymentStatusResponse, type PickupTime, type PickupTimeType, type Price, type PriceAdjustment, type PriceDecisionPath, type PriceEntryType, type PriceInfo, type PricePathTaxInfo, type PriceSource, type PricingOverrides, type Product, type ProductAddOn, type ProductAvailability, type ProductStock, type ProductTimeProfile, type ProductType, type ProductVariant, type ProductVariantValue, type ProductWithDetails, type ProductWithPrice, QueryBuilder, type QueryRequest, type RefundOrderInput, type ReminderMethod, type ReminderSettings, type RequestOtpInput, type RescheduleBookingInput, type ResourceAssignment, type ResourceAvailabilityException, type ResourceAvailabilityRule, type ResourceType, type ResponseMetadata, type RevokeAllSessionsResult, type RevokeSessionResult, type Room, type SalesChannel, type SchedulingMetadata, type SchedulingResult, SchedulingService, type SearchOptions, type SelectedAddOnOption, type Service, type ServiceAvailabilityException, type ServiceAvailabilityParams, type ServiceAvailabilityResult, type ServiceAvailabilityRule, type ServiceCharge, type ServiceNotes, type ServiceScheduleRequest, type ServiceStaffRequirement, type ServiceStatus, type ServiceWithStaff, type Staff, type StaffAssignment, type StaffAvailabilityException, type StaffAvailabilityRule, type StaffBookingProfile, type StaffRole, type StaffScheduleItem, type Stock, type StockLevel, type StockOwnershipType, type StockStatus, type StorefrontBootstrap, type SubmitAuthorizationInput, type Table, type TableInfo, type TaxComponent, type TaxInfo, type TaxPathComponent, type TimeRange, type TimeRanges, type TimeSlot, type UICart, type UICartBusiness, type UICartCustomer, type UICartLocation, type UICartPricing, type UpdateAddressInput, type UpdateCartItemInput, type UpdateOrderStatusInput, type UpdateProfileInput, type VariantAxis, type VariantAxisSelection, type VariantAxisValue, type VariantAxisWithValues, type VariantDetails, type VariantDetailsDTO, type VariantDisplayAttribute, type VariantLocationAvailability, type VariantStock, type VariantStrategy, type VerifyOtpInput, categorizePaymentError, createCimplifyClient, detectMobileMoneyProvider, extractPriceInfo, formatMoney, formatNumberCompact, formatPrice, formatPriceAdjustment, formatPriceCompact, formatProductPrice, getBasePrice, getCurrencySymbol, getDiscountPercentage, getDisplayPrice, getMarkupPercentage, getProductCurrency, isOnSale, normalizePaymentResponse, normalizeStatusResponse, parsePrice, parsePricePath, parsedPriceToPriceInfo, query };