/** * MicDrop Public Checkout API * * This module provides a complete API layer for the public checkout flow: * - Order creation and management * - Payment processing with Stripe * - Promo code validation * - Event and venue data fetching * - Session management * * All endpoints are public (no authentication required) and use * the /api/v2/public base path. * * @example * ```typescript * import { * createPaymentIntent, * validatePromoCode, * transformOrder, * } from '@getmicdrop/venue-calendar/api'; * * // Create payment intent * const intent = await createPaymentIntent(cartId, { 123: 2 }); * * // Validate promo code * const promo = await validatePromoCode(eventId, 'DISCOUNT10'); * * // Transform order for display * const order = transformOrder(apiResponse); * ``` */ export { configureApi, getApiConfig, getPublicBaseUrl, getLegacyPublicUrl, getOrdersV2Url, getClientIP, apiGet, apiPost, apiPut, apiDelete, } from './client.js'; export { createPaymentIntent, submitCheckoutAnswers, validatePaymentIntent, updateCartQuantities, getCartByUUID, createOrder, getOrder, completeReservation, cancelReservation, extendCheckoutSession, getSessionStatus, initiateOrder, trackUTMSource, } from './orders.js'; export type { CartReservationView, CartView, CheckoutAnswersResult, } from './orders.js'; export { validatePromoCode, hasPromoCodes, applyPromoCode, removePromoCode, } from './promo.js'; export { fetchEventDetails, fetchEventTickets, fetchEventPerformers, fetchAllVenues, fetchVenueEvents, getMonthEvents, getOrgMonthEvents, getSeriesOccurrences, fetchSeriesOccurrences, fetchPublicCollection, resolvePublicEntity, checkEventPassword, checkCollectionPassword, testNetworkConnection, fetchEventDetailsResult, fetchEventTicketsResult, fetchEventPerformersResult, fetchAllVenuesResult, fetchVenueEventsResult, getMonthEventsResult, getOrgMonthEventsResult, getSeriesOccurrencesResult, fetchSeriesOccurrencesResult, } from './events.js'; export { ok, err, errNotFound, isOk, isErr, unwrapOr, type Result, } from './result.js'; export { getVenue, getVenueFees, getVenueBySlug, hasPublishedSite, } from './venues.js'; export { createGiftCardPurchase, applyGiftCard, removeGiftCard, completeGiftCardPayment, } from './gift-cards.js'; export type { GiftCardPurchaseRequest, GiftCardPurchaseResponse, ApplyGiftCardResult, RemoveGiftCardResult, CompleteGiftCardPaymentInput, CompleteGiftCardPaymentResult, } from './gift-cards.js'; export { updateCartAddOns } from './cart-addons.js'; export type { CartAddOnLine, CartAddOnsResult } from './cart-addons.js'; export { joinWaitlist, getWaitlistStatus, validateWaitlistToken, requeueWaitlistToFront, formatWaitlistWindow, } from './waitlist.js'; export type { JoinWaitlistResult, WaitlistStatusResult, ValidateWaitlistTokenResult, RequeueWaitlistResult, } from './waitlist.js'; export { computeCtaState } from './cta.js'; export type { CtaState, CtaStateOptions } from './cta.js'; export { transformOrder, transformTicket, transformOrderForDisplay, transformEvent, transformEventData, transformAvailableTicket, getCDNImageUrl, getEventImageUrl, calculateCtaState, transformVenue, extractVenueFees, formatVenueAddress, } from './transformers/index.js'; export type { ApiConfig, ApiResponse, PaymentIntentRequest, PaymentIntentResponse, CompleteReservationResponse, CancelReservationResponse, CreateOrderRequest, CreateOrderResponse, ValidatePaymentRequest, ValidatePaymentResponse, AttendeeInfo, ExtendSessionRequest, ExtendSessionResponse, SessionStatus, PromoValidationResponse, HasPromoCodesResponse, Order, PurchasedTicket, Event, AvailableTicket, EventPerformersResponse, Performer, Venue, SeriesOccurrence, SeriesOccurrencesResponse, SeriesPageData, PublicCollectionData, } from './types.js';