arky-sdk 0.5.13 → 0.5.15

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types/api.ts","../src/types/index.ts"],"names":["SubscriptionSource","PaymentMethodType"],"mappings":";;;AAg0BO,IAAK,kBAAA,qBAAAA,mBAAAA,KAAL;AACL,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,oBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AAHC,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;;;ACpxBL,IAAK,iBAAA,qBAAAC,kBAAAA,KAAL;AACN,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,mBAAA,YAAA,CAAA,GAAa,aAAA;AAFF,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA","file":"types.cjs","sourcesContent":["import type { Block, ZoneLocation, WorkflowNode, Status, SubscriptionPrice, Address } from \"./index\";\n\nexport interface RequestOptions<T = any> {\n headers?: Record<string, string>;\n params?: Record<string, any>;\n transformRequest?: (data: any) => any;\n onSuccess?: (ctx: {\n data: T;\n method: string;\n url: string;\n status: number;\n request?: any;\n durationMs?: number;\n requestId?: string | null;\n }) => void | Promise<void>;\n onError?: (ctx: {\n error: any;\n method: string;\n url: string;\n status?: number;\n request?: any;\n response?: any;\n durationMs?: number;\n requestId?: string | null;\n aborted?: boolean;\n }) => void | Promise<void>;\n}\n\nexport interface EshopItem {\n productId: string;\n variantId: string;\n quantity: number;\n}\n\nexport interface GetQuoteParams {\n items: EshopItem[];\n paymentMethodId?: string;\n shippingMethodId?: string;\n promoCode?: string;\n blocks?: any[];\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface OrderCheckoutParams {\n items: EshopItem[];\n paymentMethodId?: string;\n blocks?: any[];\n shippingMethodId: string;\n promoCodeId?: string;\n /** Shipping address for the order */\n shippingAddress?: Address;\n /** Billing address (defaults to shipping address if not provided) */\n billingAddress?: Address;\n}\n\nexport interface GetProductsParams {\n ids?: string[];\n blocks?: any[] | null;\n filterId?: string;\n status?: string;\n limit?: number;\n cursor?: string;\n query?: string;\n statuses?: string[];\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: number | null;\n createdAtTo?: number | null;\n}\n\nexport interface GetNodesParams {\n businessId?: string;\n parentId?: string;\n limit?: number;\n cursor?: string;\n ids?: string[];\n query?: string;\n type?: string;\n key?: string;\n statuses?: string[];\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: string;\n createdAtTo?: string;\n includeChildren?: boolean;\n}\n\nexport interface CreateNodeParams {\n businessId?: string;\n key: string;\n parentId?: string | null;\n blocks?: any[];\n slug?: Record<string, string>;\n writeAccess?: 'public' | 'private';\n audienceIds?: string[];\n status?: string;\n\n emailSubject?: Record<string, string>;\n}\n\nexport interface UpdateNodeParams {\n id: string;\n businessId?: string;\n key?: string;\n parentId?: string | null;\n blocks?: any[];\n slug?: Record<string, string>;\n writeAccess?: 'public' | 'private';\n audienceIds?: string[];\n status?: string;\n\n emailSubject?: Record<string, string>;\n}\n\nexport interface GetNodeParams {\n id?: string;\n slug?: string;\n key?: string;\n businessId?: string;\n}\n\nexport interface DeleteNodeParams {\n id: string;\n businessId?: string;\n}\n\nexport interface GetNodeChildrenParams {\n id: string;\n businessId?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface UploadBusinessMediaParams {\n businessId?: string;\n files?: File[];\n urls?: string[];\n}\n\nexport interface DeleteBusinessMediaParams {\n id: string;\n mediaId: string;\n}\n\nexport interface UpdateMediaParams {\n mediaId: string;\n businessId?: string;\n seo?: any;\n title?: string;\n description?: string;\n alt?: string;\n}\n\nexport interface GetBusinessMediaParams {\n businessId?: string;\n cursor?: string | null;\n limit: number;\n ids?: string[];\n query?: string;\n mimeType?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n}\n\nexport interface LoginAccountParams {\n email?: string;\n provider: string;\n token?: string;\n}\n\nexport interface MagicLinkRequestParams {\n email: string;\n businessId?: string;\n}\n\nexport interface MagicLinkVerifyParams {\n email: string;\n code: string;\n}\n\nexport interface AddPhoneNumberParams {\n phoneNumber: string;\n}\n\nexport interface PhoneNumberConfirmParams {\n phoneNumber: string;\n code: string;\n}\n\nexport interface GetServicesParams {\n businessId?: string;\n providerId?: string;\n filterId?: string;\n limit?: number;\n cursor?: string;\n query?: string;\n ids?: string[];\n statuses?: string[];\n blocks?: any[];\n sortField?: string;\n sortDirection?: string;\n priceFrom?: number;\n priceTo?: number;\n}\n\nexport interface BookingCheckoutParams {\n businessId?: string;\n items: any[];\n paymentMethodId?: string;\n blocks?: any[];\n promoCodeId?: string;\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface BookingQuoteItem {\n serviceId: string;\n from: number;\n to: number;\n providerId: string;\n}\n\nexport interface GetBookingQuoteParams {\n businessId?: string;\n items: BookingQuoteItem[];\n paymentMethodId?: string;\n promoCode?: string;\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface TimelinePoint {\n timestamp: number;\n concurrent: number;\n}\n\nexport interface WorkingHour {\n from: number;\n to: number;\n}\n\nexport interface WorkingDay {\n day: string;\n workingHours: WorkingHour[];\n}\n\nexport interface OutcastDate {\n month: number;\n day: number;\n workingHours: WorkingHour[];\n}\n\nexport interface SpecificDate {\n date: number;\n workingHours: WorkingHour[];\n}\n\nexport interface WorkingTime {\n workingDays: WorkingDay[];\n outcastDates: OutcastDate[];\n specificDates: SpecificDate[];\n}\n\nexport interface ServiceProvider {\n id: string;\n providerId: string;\n workingTime: WorkingTime;\n provider?: ProviderWithTimeline;\n}\n\nexport interface ProviderWithTimeline {\n id: string;\n key: string;\n businessId: string;\n seo: any;\n status: Status;\n concurrentLimit: number;\n audienceIds: string[];\n blocks: Block[];\n createdAt: number;\n updatedAt: number;\n workingTime: WorkingTime | null;\n timeline: TimelinePoint[];\n}\n\nexport interface GetAnalyticsParams {\n metrics?: string[];\n period?: string;\n startDate?: string;\n endDate?: string;\n interval?: string;\n}\n\nexport interface GetAnalyticsHealthParams {\n \n}\n\nexport interface TrackEmailOpenParams {\n trackingPixelId: string;\n}\n\nexport interface GetDeliveryStatsParams {}\n\nexport type BusinessRole = 'admin' | 'owner' | 'super';\n\nexport interface Discount {\n type: \"items_percentage\" | \"items_fixed\" | \"shipping_percentage\";\n marketId: string;\n bps?: number;\n amount?: number;\n}\n\nexport interface Condition {\n type:\n | \"products\"\n | \"services\"\n | \"min_order_amount\"\n | \"date_range\"\n | \"max_uses\"\n | \"max_uses_per_user\";\n value: string[] | number | { start?: number; end?: number };\n}\n\nexport interface CreatePromoCodeParams {\n code: string;\n discounts: Discount[];\n conditions: Condition[];\n}\n\nexport interface UpdatePromoCodeParams {\n id: string;\n code: string;\n discounts: Discount[];\n conditions: Condition[];\n status?: Status;\n}\n\nexport interface DeletePromoCodeParams {\n id: string;\n}\n\nexport interface GetPromoCodeParams {\n id: string;\n}\n\nexport interface GetPromoCodesParams {\n statuses?: string[];\n query?: string;\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: string;\n createdAtTo?: string;\n startsAtFrom?: string;\n startsAtTo?: string;\n expiresAtFrom?: string;\n expiresAtTo?: string;\n}\n\nexport interface CreateBusinessParams {\n key: string;\n slug?: string;\n description?: string;\n email?: string;\n phone?: string;\n website?: string;\n address?: any;\n settings?: any;\n [key: string]: any;\n}\n\nexport interface UpdateBusinessParams {\n id: string;\n key: string;\n networkKey: string | null;\n timezone: string;\n status: Status;\n configs: any;\n}\n\nexport interface DeleteBusinessParams {\n id: string;\n}\n\nexport interface GetBusinessParams {}\n\nexport interface GetBusinessParentsParams {}\n\nexport interface TriggerBuildsParams {\n id: string;\n}\n\nexport interface GetSubscriptionParams {}\n\nexport interface SubscribeParams {\n planId: string;\n successUrl: string;\n cancelUrl: string;\n}\n\nexport interface CreatePortalSessionParams {\n returnUrl: string;\n}\n\nexport interface InviteUserParams {\n email: string;\n role?: BusinessRole;\n}\n\nexport interface HandleInvitationParams {\n token: string;\n action: string;\n}\n\nexport interface TestWebhookParams {\n webhook: any;\n}\n\nexport interface GenerateBlocksParams {\n [key: string]: any;\n}\n\n\nexport interface AccountSubscribeParams {\n target?: string;\n identifier: string;\n planId?: string;\n successUrl?: string;\n cancelUrl?: string;\n}\n\nexport interface CreateProductParams {\n key: string;\n description?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n variants?: any[];\n status?: string;\n [key: string]: any;\n}\n\nexport interface UpdateProductParams {\n id: string;\n key?: string;\n description?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n variants?: any[];\n status?: string;\n [key: string]: any;\n}\n\nexport interface DeleteProductParams {\n id: string;\n}\n\nexport interface GetProductParams {\n id?: string;\n slug?: string;\n}\n\nexport interface GetOrderParams {\n id: string;\n}\n\nexport interface GetOrdersParams {\n accountId?: string | null;\n statuses?: string[] | null;\n productIds?: string[];\n query?: string | null;\n limit?: number | null;\n cursor?: string | null;\n sortField?: string | null;\n sortDirection?: string | null;\n createdAtFrom?: string | null;\n createdAtTo?: string | null;\n}\n\nexport interface UpdateOrderParams {\n id: string;\n status: string;\n blocks: any[];\n items: any[];\n address?: any | null;\n billingAddress?: any | null;\n payment?: any | null;\n}\n\nexport interface CreateOrderParams {\n [key: string]: any;\n}\n\nexport interface CreateBookingParams {\n businessId?: string;\n [key: string]: any;\n}\n\nexport interface UpdateBookingParams {\n id: string;\n status?: string;\n blocks?: any;\n parts?: any;\n payment?: any | null;\n [key: string]: any;\n}\n\nexport interface CreateProviderParams {\n businessId?: string;\n key: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n concurrentLimit?: number;\n status?: Status;\n [key: string]: any;\n}\n\nexport interface UpdateProviderParams {\n id: string;\n businessId?: string;\n key?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n concurrentLimit?: number;\n status?: Status;\n [key: string]: any;\n}\n\nexport interface DeleteProviderParams {\n id: string;\n businessId?: string;\n}\n\nexport interface ServiceProviderInput {\n id?: string;\n providerId: string;\n prices?: any[];\n durations?: any[];\n isApprovalRequired?: boolean;\n workingTime: WorkingTime;\n audienceIds: string[];\n}\n\nexport interface CreateServiceParams {\n businessId?: string;\n key: string;\n blocks?: any[];\n filters?: any[];\n status?: Status;\n providers?: ServiceProviderInput[];\n [key: string]: any;\n}\n\nexport interface UpdateServiceParams {\n id: string;\n businessId?: string;\n key?: string;\n blocks?: any[];\n filters?: any[];\n status?: Status;\n providers?: ServiceProviderInput[];\n [key: string]: any;\n}\n\nexport interface DeleteServiceParams {\n id: string;\n businessId?: string;\n}\n\nexport interface GetServiceParams {\n id?: string;\n slug?: string;\n businessId?: string;\n}\n\nexport interface GetProvidersParams {\n businessId?: string;\n serviceId?: string;\n filterId?: string;\n ids?: string[];\n query?: string | null;\n statuses?: string[] | null;\n limit?: number;\n cursor?: string;\n sortField?: string | null;\n sortDirection?: string | null;\n createdAtFrom?: string | null;\n createdAtTo?: string | null;\n blocks?: string | null;\n}\n\nexport interface GetProviderParams {\n id?: string;\n slug?: string;\n businessId?: string;\n}\n\nexport interface GetBusinessServiceWorkingTimeParams {\n providerId: string;\n serviceId?: string;\n}\n\nexport interface GetBookingParams {\n id: string;\n businessId?: string;\n}\n\nexport interface SearchBookingsParams {\n businessId?: string;\n query?: string;\n serviceIds?: string[];\n providerIds?: string[];\n accountId?: string;\n from?: number;\n to?: number;\n status?: string;\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortOrder?: string;\n}\n\nexport interface UpdateAccountProfileParams {\n phoneNumbers?: string[];\n addresses?: any[];\n apiTokens?: any[] | null;\n}\n\nexport interface SearchAccountsParams {\n limit?: number;\n cursor?: string | null;\n query?: string;\n owner?: string;\n}\n\nexport interface DeleteAccountParams {}\n\nexport interface TrackEmailOpenParams {\n trackingPixelId: string;\n}\n\nexport interface GetDeliveryStatsParams {}\n\nexport interface UpdateNotificationsParams {}\n\nexport interface GetMeParams {}\n\nexport interface LogoutParams {}\n\nexport interface GetBusinessesParams {\n query?: string;\n isNetwork?: boolean;\n statuses?: string[];\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: \"asc\" | \"desc\";\n}\n\nexport interface GetSubscriptionPlansParams {}\n\nexport interface SetupAnalyticsParams {\n [key: string]: any;\n}\n\nexport interface GetBusinessMediaParams2 {\n id: string;\n cursor?: string | null;\n limit: number;\n ids?: string[];\n query?: string;\n mimeType?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n}\n\nexport interface DeleteProductParams {\n id: string;\n}\n\nexport interface ProcessRefundParams {\n id: string;\n entity: string;\n amount: number;\n}\n\nexport type SystemTemplateKey =\n | \"system:booking-business-update\"\n | \"system:booking-customer-update\"\n | \"system:user-invitation\"\n | \"system:order-status-update\"\n | \"system:user-confirmation\"\n | \"system:forgot-password\";\n\nexport interface GetSlotsForDateParams {\n serviceId: string;\n date: Date;\n timezone: string;\n providerId?: string;\n}\n\nexport interface GetAvailabilityParams {\n serviceId: string;\n from: Date;\n to: Date;\n timezone: string;\n}\n\nexport interface DayAvailability {\n date: Date;\n available: boolean;\n}\n\nexport interface Slot {\n id: string;\n serviceId: string;\n providerId: string;\n from: number;\n to: number;\n timeText: string;\n dateText: string;\n}\n\nexport interface CreateWorkflowParams {\n businessId?: string;\n key: string;\n status?: Status;\n nodes: Record<string, WorkflowNode>;\n\n schedule?: string;\n}\n\nexport interface UpdateWorkflowParams {\n id: string;\n key: string;\n status?: Status;\n nodes: Record<string, WorkflowNode>;\n\n schedule?: string;\n}\n\nexport interface DeleteWorkflowParams {\n id: string;\n}\n\nexport interface GetWorkflowParams {\n id: string;\n}\n\nexport interface GetWorkflowsParams {\n businessId?: string;\n ids?: string[];\n query?: string;\n statuses?: string[];\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n createdAtFrom?: number;\n createdAtTo?: number;\n}\n\nexport interface TriggerWorkflowParams {\n\n secret: string;\n\n [key: string]: any;\n}\n\nexport interface GetWorkflowExecutionsParams {\n workflowId: string;\n businessId?: string;\n status?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface GetWorkflowExecutionParams {\n workflowId: string;\n executionId: string;\n businessId?: string;\n}\n\nexport interface CreateAudienceParams {\n key: string;\n name: string;\n prices?: SubscriptionPrice[];\n}\n\nexport interface UpdateAudienceParams {\n id: string;\n key?: string;\n name?: string;\n prices?: SubscriptionPrice[];\n status?: Status;\n}\n\nexport interface GetAudienceParams {\n id: string;\n}\n\nexport interface GetAudiencesParams {\n ids?: string[];\n statuses?: string[];\n query?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface SubscribeAudienceParams {\n id: string;\n \n priceId?: string;\n successUrl: string;\n cancelUrl: string;\n}\n\nexport interface DeleteAudienceParams {\n id: string;\n}\n\nexport interface GetAudienceSubscribersParams {\n id: string;\n limit?: number;\n cursor?: string;\n}\n\nexport enum SubscriptionSource {\n Signup = 'signup',\n Admin = 'admin',\n Import = 'import'\n}\n\nexport interface AudienceSubscriber {\n accountId: string;\n email: string;\n subscribedAt?: number;\n source?: SubscriptionSource;\n}\n\nexport interface RemoveAudienceSubscriberParams {\n id: string;\n accountId: string;\n}\n\nexport interface AddAudienceSubscriberParams {\n id: string;\n email: string;\n}\n\nexport interface AddAudienceSubscriberResponse {\n subscriber: AudienceSubscriber | null;\n skipped: boolean;\n}\n\nexport interface GetEventsParams {\n entity: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface UpdateEventParams {\n eventId: string;\n event: import('./index').EventAction;\n}\n\nexport interface OAuthConnectParams {\n businessId: string;\n provider: string;\n code: string;\n redirectUri: string;\n}\n\nexport interface OAuthDisconnectParams {\n businessId: string;\n provider: string;\n}\n\n// Shipping API Parameters\n\n/** Get shipping rates for a shipment */\nexport interface GetShippingRatesParams {\n orderId: string;\n shippingProviderId: string;\n fromAddress: Address;\n toAddress: Address;\n parcel: import('./index').Parcel;\n customsDeclaration?: import('./index').CustomsDeclaration;\n}\n\n/** Ship items: creates shipment + purchases label atomically */\nexport interface ShipParams {\n orderId: string;\n rateId: string;\n carrier: string;\n service: string;\n locationId: string;\n lines: import('./index').ShipmentLine[];\n}\n\n","export * from './api';\n\nexport interface PaymentRefund {\n\tid: string;\n\tentity: string;\n\ttotal: number;\n\tproviderRefundId?: string;\n\tstatus: string;\n\tcreatedAt: number;\n}\n\nexport interface Payment {\n\tcurrency: string;\n\tmarket: string;\n\tsubtotal: number;\n\tshipping: number;\n\tdiscount: number;\n\ttotal: number;\n\tpaid: number;\n\ttax?: {\n\t\tamount: number;\n\t\tmodeSnapshot?: string;\n\t\trateBps: number;\n\t\tlines: Array<{ rateBps: number; amount: number; label?: string; scope?: string }>;\n\t};\n\tpromoCode?: {\n\t\tid: string;\n\t\tcode: string;\n\t\ttype: string;\n\t\tvalue: number;\n\t};\n\ttype: PaymentMethodType;\n\tprovider?: {\n\t\tcustomerId: string;\n\t\tpaymentIntentId?: string;\n\t\tsubscriptionId?: string;\n\t\tpriceId?: string;\n\t};\n\trefunds: PaymentRefund[];\n\tzoneId?: string;\n\tpaymentMethodId?: string;\n\tshippingMethodId?: string;\n}\n\nexport enum PaymentMethodType {\n\tCash = \"cash\",\n\tCreditCard = \"credit_card\",\n\t// Free REMOVED - handled with logic: if total == 0, skip payment\n\t// NOTE: Apple Pay and Google Pay are NOT separate PaymentMethodTypes\n\t// They are handled automatically by Stripe's Payment Element\n}\n\nexport interface PromoCodeValidation {\n\tpromoCodeId: string;\n\tcode: string;\n\tdiscounts: any[];\n\tconditions: any[];\n}\n\nexport interface Quote {\n\tmarket: string;\n\tzone: Zone;\n\tsubtotal: number;\n\tshipping: number;\n\tdiscount: number;\n\ttax: number;\n\ttotal: number;\n\tshippingMethod: ShippingMethod | null;\n\tpaymentMethod: PaymentMethod | null;\n\tpromoCode: PromoCodeValidation | null;\n\tpayment: Payment;\n\tchargeAmount: number;\n\tid?: string;\n\texpiresAt?: number;\n}\n\n/** Price for products and services (market-based, no provider fields) */\nexport interface Price {\n\tcurrency: string;\n\tmarket: string;\n\tamount: number;\n\tcompareAt?: number;\n\taudienceId?: string;\n}\n\n/** Interval period for subscription pricing */\nexport type IntervalPeriod = 'month' | 'year';\n\n/** Subscription interval configuration */\nexport interface SubscriptionInterval {\n\tperiod: IntervalPeriod;\n\tcount: number;\n}\n\n/** Price provider configuration (e.g., Stripe) */\nexport interface PriceProvider {\n\ttype: string;\n\tid: string;\n}\n\n/** Price for audiences/subscriptions (provider-based with interval) */\nexport interface SubscriptionPrice {\n\tcurrency: string;\n\tamount: number;\n\tcompareAt?: number;\n\tinterval?: SubscriptionInterval;\n\tproviders: PriceProvider[];\n}\n\n/**\n * Full address for shipping, billing, and locations.\n * Used for order addresses and shipping labels.\n */\nexport interface Address {\n\tname: string;\n\tcompany?: string | null;\n\tstreet1: string;\n\tstreet2?: string | null;\n\tcity: string;\n\tstate: string;\n\tpostalCode: string;\n\tcountry: string;\n\tphone?: string | null;\n\temail?: string | null;\n}\n\n/**\n * Simple geo location for CMS map/location blocks.\n * Just coordinates and an optional label for display.\n */\nexport interface GeoLocation {\n\tcoordinates?: { lat: number; lon: number } | null;\n\tlabel?: string | null;\n}\n\n\n/**\n * Used for zone matching - simplified location with optional fields.\n */\nexport interface ZoneLocation {\n\tcountry?: string | null;\n\tstate?: string | null;\n\tcity?: string | null;\n\tpostalCode?: string | null;\n}\n\nexport interface EshopCartItem {\n\tid: string;\n\tproductId: string;\n\tvariantId: string;\n\tproductName: string;\n\tproductSlug: string;\n\tvariantAttributes: Record<string, any>;\n\tprice: Price;\n\tquantity: number;\n\taddedAt: number;\n}\n\nexport interface BookingCartItem {\n\tid: string;\n\tserviceId: string;\n\tserviceName: string;\n\tdate: string;\n\tfrom: number;\n\tto: number;\n\ttimeText: string;\n\tproviderId?: string;\n\tblocks: any[];\n}\n\n/** Integration status */\nexport type IntegrationStatus = 'active' | 'inactive';\n\n/** Integration provider — typed data per service */\nexport type IntegrationProvider =\n\t| { type: 'stripe'; secretKey?: string; publishableKey: string; webhookSecret?: string; currency: string }\n\t| { type: 'shippo'; apiToken?: string }\n\t| { type: 'deepseek'; apiKey?: string; baseUrl: string }\n\t| { type: 'google'; clientId?: string; clientSecret?: string; accessToken?: string; refreshToken?: string;\n\t\ttokenExpiresAt?: number; scopes: string[]; accountEmail?: string | null; connectedAt: number }\n\t| { type: 'google_analytics4'; measurementId: string };\n\n/** Unified integration — single pool for all third-party service configs */\nexport interface Integration {\n\tid: string;\n\tname: string;\n\tstatus: IntegrationStatus;\n\tprovider: IntegrationProvider;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface ShippingWeightTier {\n\tupToGrams: number;\n\tamount: number;\n}\n\nexport interface PaymentMethod {\n\tid: string;\n\tname: Record<string, string>;\n\ttype: PaymentMethodType;\n}\n\nexport interface ShippingMethod {\n\tid: string;\n\tname: Record<string, string>;\n\ttaxable: boolean;\n\tetaText: string;\n\tlocationId?: string;\n\tamount: number;\n\tfreeAbove?: number;\n\tweightTiers?: ShippingWeightTier[];\n}\n\nexport interface Location {\n\tid: string;\n\tkey: string;\n\t/** Ship-from address for shipping labels */\n\taddress: Address;\n\tisPickupLocation: boolean;\n}\n\nexport interface InventoryLevel {\n\tlocationId: string;\n\tavailable: number;\n\treserved: number;\n}\n\nexport type ZoneScope = \"all\" | \"order\" | \"booking\";\n\nexport interface Zone {\n\tid: string;\n\tname: string;\n\tmarketId: string;\n\tscope: ZoneScope;\n\tcountries: string[];\n\tstates: string[];\n\tpostalCodes: string[];\n\ttaxBps: number;\n\tpaymentMethods: PaymentMethod[];\n\tshippingMethods: ShippingMethod[];\n}\n\nexport interface Market {\n\tid: string;\n\tcurrency: string;\n\ttaxMode: \"exclusive\" | \"inclusive\";\n}\n\nexport interface Language {\n\tid: string;\n}\n\nexport interface BusinessEmails {\n\tbilling: string;\n\tsupport: string;\n}\n\nexport type WebhookEventSubscription =\n\t| { event: 'node.created'; parentKey?: string }\n\t| { event: 'node.updated'; key?: string }\n\t| { event: 'node.deleted'; key?: string }\n\t| { event: 'order.created' }\n\t| { event: 'order.updated' }\n\t| { event: 'order.status_changed' }\n\t| { event: 'order.payment_received' }\n\t| { event: 'order.payment_failed' }\n\t| { event: 'order.refunded' }\n\t| { event: 'order.completed' }\n\t| { event: 'order.cancelled' }\n\t| { event: 'order.shipment_created' }\n\t| { event: 'order.shipment_in_transit' }\n\t| { event: 'order.shipment_out_for_delivery' }\n\t| { event: 'order.shipment_delivered' }\n\t| { event: 'order.shipment_failed' }\n\t| { event: 'order.shipment_returned' }\n\t| { event: 'order.shipment_status_changed' }\n\t| { event: 'booking.created' }\n\t| { event: 'booking.updated' }\n\t| { event: 'booking.status_changed' }\n\t| { event: 'booking.payment_received' }\n\t| { event: 'booking.payment_failed' }\n\t| { event: 'booking.refunded' }\n\t| { event: 'booking.completed' }\n\t| { event: 'booking.cancelled' }\n\t| { event: 'product.created' }\n\t| { event: 'product.updated' }\n\t| { event: 'product.deleted' }\n\t| { event: 'provider.created' }\n\t| { event: 'provider.updated' }\n\t| { event: 'provider.deleted' }\n\t| { event: 'service.created' }\n\t| { event: 'service.updated' }\n\t| { event: 'service.deleted' }\n\t| { event: 'media.created' }\n\t| { event: 'media.deleted' }\n\t| { event: 'business.created' }\n\t| { event: 'business.updated' }\n\t| { event: 'business.deleted' }\n\t| { event: 'audience.created' }\n\t| { event: 'audience.updated' }\n\t| { event: 'audience.deleted' };\n\nexport interface WebhookEndpoint {\n\tid: string;\n\tname: string;\n\turl: string;\n\tevents: WebhookEventSubscription[];\n\theaders: Record<string, string>;\n\tsecret: string;\n\tenabled: boolean;\n}\n\nexport interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tlocations: Location[];\n\tbuildHooks: string[];\n\twebhooks: WebhookEndpoint[];\n\tintegrations: Integration[];\n\tpaymentId?: string | null;\n\tshippingIds: string[];\n\taiId?: string | null;\n\tanalyticsIds: string[];\n\temails: BusinessEmails;\n}\n\nexport interface Subscription {\n\tid: string;\n\ttarget: string;\n\tplanId: string;\n\tpendingPlanId: string | null;\n\tpayment: any;\n\tstatus: SubscriptionStatus;\n\tendDate: number;\n\tusage: Record<string, any>;\n\ttoken: string;\n}\n\nexport interface Business {\n\tid: string;\n\tkey: string;\n\tnetworkKey: string | null;\n\ttimezone: string;\n\tconfigs?: BusinessConfig;\n\tsubscriptions?: Subscription[];\n\tstatus: Status;\n}\n\nexport interface EshopStoreState {\n\tbusinessId: string;\n\tselectedShippingMethodId: string | null;\n\tuserToken: string | null;\n\tprocessingCheckout: boolean;\n\tloading: boolean;\n\terror: string | null;\n}\n\nexport interface Block {\n\tid: string;\n\tkey: string;\n\ttype: string;\n\tproperties?: any;\n\tvalue?: any;\n}\n\nexport interface Filter {\n\tid: string;\n\tnodeId: string;\n\tblocks: Block[];\n}\n\nexport type BlockType =\n\t| \"text\"\n\t| \"localized_text\"\n\t| \"number\"\n\t| \"boolean\"\n\t| \"list\"\n\t| \"map\"\n\t| \"relationship_entry\"\n\t| \"relationship_media\"\n\t| \"markdown\"\n\t| \"geo_location\";\n\nexport interface GeoLocationBlockProperties {}\n\n/** @deprecated Use GeoLocation instead */\nexport type GeoLocationValue = GeoLocation;\n\nexport interface GeoLocationBlock extends Block {\n\ttype: \"geo_location\";\n\tproperties: GeoLocationBlockProperties;\n\tvalue: GeoLocation | null;\n}\n\nexport type Access = 'public' | 'private';\n\nexport interface MediaResolution {\n\tid: string;\n\tsize: string;\n\turl: string;\n}\n\nexport interface Media {\n\tid: string;\n\tresolutions: { [key: string]: MediaResolution };\n\tmimeType: string;\n\ttitle?: string | null;\n\tdescription?: string | null;\n\talt?: string | null;\n\tentity: string;\n\tmetadata?: string | null;\n\tuploadedAt: string;\n\tslug: Record<string, string>;\n}\n\nexport interface ApiResponse<T> {\n\tsuccess: boolean;\n\tdata?: T;\n\terror?: string;\n\tcursor?: string;\n\ttotal?: number;\n}\n\nexport interface PaginatedResponse<T> {\n\tdata: T[];\n\tmeta?: {\n\t\ttotal: number;\n\t\tpage: number;\n\t\tper_page: number;\n\t};\n}\n\nexport interface BookingStoreState {\n\tcurrentStep: number;\n\ttotalSteps: number;\n\tsteps: Record<number, { name: string; labelKey: string }>;\n\tweekdays: string[];\n\tmonthYear: string;\n\tdays: any[];\n\tcurrent: Date;\n\tselectedDate: string | null;\n\tslots: any[];\n\tselectedSlot: any | null;\n\tselectedProvider: any | null;\n\tproviders: any[];\n\tloading: boolean;\n\tstartDate: string | null;\n\tendDate: string | null;\n\tguestToken: string | null;\n\tservice: any | null;\n\tbusiness: Business | null;\n\tcurrency: string;\n\tbookingBlocks: Block[];\n\tapiUrl: string;\n\tbusinessId: string;\n\ttimezone: string;\n\ttzGroups: any;\n\titems: BookingCartItem[];\n\tallowedPaymentMethods: string[];\n\tpaymentConfig: {\n\t\tprovider: { publishableKey: string; currency: string } | null;\n\t\tenabled: boolean;\n\t};\n}\n\nexport type Status = 'draft' | 'active' | 'archived';\n\nexport type OrderStatus = 'created' | 'pending' | 'authorized' | 'confirmed' | 'shipped' | 'completed' | 'cancelled' | 'failed';\n\nexport type BookingStatus = 'created' | 'pending' | 'authorized' | 'confirmed' | 'completed' | 'cancelled' | 'failed';\n\nexport type SubscriptionStatus = 'pending' | 'active' | 'cancellation_scheduled' | 'cancelled' | 'expired';\n\nexport interface BookingItem {\n\tid: string;\n\tserviceId: string;\n\tproviderId: string;\n\tbusinessId: string;\n\tbookingId: string;\n\taccountId: string;\n\tfrom: number;\n\tto: number;\n\tblocks: Block[];\n\tprice: Price;\n}\n\nexport interface Booking {\n\tid: string;\n\tnumber: string;\n\taccountId: string;\n\tblocks: Block[];\n\tbusinessId: string;\n\tstatus: BookingStatus;\n\tserviceIds: string[];\n\tproviderIds: string[];\n\tpayment: Payment;\n\tbusiness?: Business;\n\taccount?: any;\n\titems: BookingItem[];\n\taudienceId?: string;\n\tcreatedAt: number;\n\tlastModified: number;\n}\n\nexport interface Node {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tparentId?: string | null;\n\tblocks: Block[];\n\tstatus: Status;\n\tslug: Record<string, string>;\n\twriteAccess: Access;\n\taudienceIds: string[];\n\temailSubject?: Record<string, string>;\n\tchildren: Node[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface ServiceDuration {\n\tduration: number;\n\tisPause?: boolean;\n}\n\nexport interface ServiceProvider {\n\tid: string;\n\tproviderId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tisApprovalRequired: boolean;\n\taudienceIds: string[];\n\tworkingTime: {\n\t\tworkingDays: Array<{ day: string; workingHours: Array<{ from: number; to: number }> }>;\n\t\toutcastDates: Array<{ month: number; day: number; workingHours: Array<{ from: number; to: number }> }>;\n\t\tspecificDates: Array<{ date: number; workingHours: Array<{ from: number; to: number }> }>;\n\t};\n\tprovider?: Provider;\n}\n\nexport interface Service {\n\tid: string;\n\tkey: string;\n\tslug: Record<string, string>;\n\tbusinessId: string;\n\tblocks: Block[];\n\tfilters: Filter[];\n\tnetworkIds: string[];\n\tproviders: ServiceProvider[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tstatus: Status;\n}\n\nexport interface ProviderTimelinePoint {\n\ttimestamp: number;\n\tconcurrent: number;\n}\n\nexport interface Provider {\n\tid: string;\n\tkey: string;\n\tslug: Record<string, string>;\n\tbusinessId: string;\n\tstatus: Status;\n\tconcurrentLimit: number;\n\tnetworkIds: string[];\n\taudienceIds: string[];\n\tblocks: Block[];\n\tfilters: Filter[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface WorkflowConnection {\n\tnode: string;\n\toutput: string;\n}\n\nexport interface Workflow {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tsecret: string;\n\tstatus: Status;\n\tnodes: Record<string, WorkflowNode>;\n\n\tschedule?: string;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport type WorkflowNode =\n\t| WorkflowTriggerNode\n\t| WorkflowHttpNode\n\t| WorkflowSwitchNode\n\t| WorkflowTransformNode\n\t| WorkflowLoopNode;\n\nexport interface WorkflowTriggerNode {\n\ttype: 'trigger';\n\tevent?: string;\n\tdelayMs?: number;\n\tschema?: Block[];\n}\n\nexport interface WorkflowHttpNode {\n\ttype: 'http';\n\tmethod: WorkflowHttpMethod;\n\turl: string;\n\theaders?: Record<string, string>;\n\tbody?: any;\n\ttimeoutMs?: number;\n\tintegrationId?: string;\n\tintegrationProviderId?: string;\n\tdelayMs?: number;\n\tretries?: number;\n\tretryDelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowSwitchRule {\n\tcondition: string;\n}\n\nexport interface WorkflowSwitchNode {\n\ttype: 'switch';\n\trules: WorkflowSwitchRule[];\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowTransformNode {\n\ttype: 'transform';\n\tcode: string;\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowLoopNode {\n\ttype: 'loop';\n\texpression: string;\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n\tbackEdges?: WorkflowConnection[];\n}\n\nexport type WorkflowHttpMethod = 'get' | 'post' | 'put' | 'patch' | 'delete';\n\nexport type ExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';\n\nexport interface NodeResult {\n\toutput: any;\n\troute: string;\n\tstartedAt: number;\n\tcompletedAt: number;\n\tdurationMs: number;\n\terror?: string;\n}\n\nexport interface WorkflowExecution {\n\tid: string;\n\tworkflowId: string;\n\tbusinessId: string;\n\tstatus: ExecutionStatus;\n\tinput: Record<string, any>;\n\tresults: Record<string, NodeResult>;\n\terror?: string;\n\tscheduledAt: number;\n\tstartedAt: number;\n\tcompletedAt?: number;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface Audience {\n\tid: string;\n\tbusinessId: string;\n\tkey: string;\n\tprices: SubscriptionPrice[];\n\tstatus: Status;\n}\n\nexport interface AudienceAccessResponse {\n\thasAccess: boolean;\n\tsubscription?: Subscription;\n}\n\nexport interface AudienceSubscribeResponse {\n\tcheckoutUrl?: string;\n\tsubscription?: Subscription;\n}\n\nexport type EventAction =\n\t// Order events\n\t| { action: 'order_created' }\n\t| { action: 'order_updated' }\n\t| { action: 'order_status_changed'; data: { from: string; to: string } }\n\t| { action: 'order_payment_received'; data: { amount: number; currency: string } }\n\t| { action: 'order_payment_failed'; data: { reason?: string } }\n\t| { action: 'order_refunded'; data: { amount: number; currency: string; reason?: string } }\n\t| { action: 'order_completed' }\n\t| { action: 'order_cancelled'; data: { reason?: string } }\n\t// Order shipment events\n\t| { action: 'order_shipment_created'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_in_transit'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_out_for_delivery'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_delivered'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_failed'; data: { shipment_id: string; reason?: string } }\n\t| { action: 'order_shipment_returned'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_status_changed'; data: { shipment_id: string; from: string; to: string } }\n\t// Booking events\n\t| { action: 'booking_created' }\n\t| { action: 'booking_updated' }\n\t| { action: 'booking_status_changed'; data: { from: string; to: string } }\n\t| { action: 'booking_payment_received'; data: { amount: number; currency: string } }\n\t| { action: 'booking_payment_failed'; data: { reason?: string } }\n\t| { action: 'booking_refunded'; data: { amount: number; currency: string; reason?: string } }\n\t| { action: 'booking_completed' }\n\t| { action: 'booking_cancelled'; data: { reason?: string } }\n\t// Product events\n\t| { action: 'product_created' }\n\t| { action: 'product_updated' }\n\t| { action: 'product_deleted' }\n\t// Node events\n\t| { action: 'node_created' }\n\t| { action: 'node_updated' }\n\t| { action: 'node_deleted' }\n\t// Provider events\n\t| { action: 'provider_created' }\n\t| { action: 'provider_updated' }\n\t| { action: 'provider_deleted' }\n\t// Service events\n\t| { action: 'service_created' }\n\t| { action: 'service_updated' }\n\t| { action: 'service_deleted' }\n\t// Account events\n\t| { action: 'account_created' }\n\t| { action: 'account_updated' }\n\t| { action: 'account_deleted' }\n\t// Media events\n\t| { action: 'media_created' }\n\t| { action: 'media_deleted' }\n\t// Business events\n\t| { action: 'business_created' }\n\t| { action: 'business_updated' }\n\t| { action: 'business_deleted' }\n\t// Audience events\n\t| { action: 'audience_created' }\n\t| { action: 'audience_updated' }\n\t| { action: 'audience_deleted' };\n\nexport interface Event {\n\tid: string;\n\tentity: string;\n\tevent: EventAction;\n\tactor: string;\n\tcreatedAt: number;\n}\n\n// Shipping Types\n\n/** Shipping status for order fulfillment tracking */\nexport type ShippingStatus =\n\t| 'pending'\n\t| 'label_created'\n\t| 'in_transit'\n\t| 'out_for_delivery'\n\t| 'delivered'\n\t| 'failed'\n\t| 'returned';\n\n/** Order shipping information (legacy - kept for backward compatibility) */\nexport interface OrderShipping {\n\tcarrier: string;\n\tservice: string;\n\ttrackingNumber?: string | null;\n\ttrackingUrl?: string | null;\n\tlabelUrl?: string | null;\n\tstatus: ShippingStatus;\n}\n\n/** Line item in a shipment with quantity (for partial fulfillment) */\nexport interface ShipmentLine {\n\torderItemId: string;\n\tquantity: number;\n}\n\n/** Individual shipment for an order (ships from one location) */\nexport interface Shipment {\n\tid: string;\n\tlocationId: string;\n\tlines: ShipmentLine[]; // OrderItem IDs + quantities in this shipment\n\tcarrier?: string | null; // Set when label purchased\n\tservice?: string | null;\n\ttrackingNumber?: string | null;\n\ttrackingUrl?: string | null;\n\tlabelUrl?: string | null;\n\tstatus: ShippingStatus;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n/** Shipping rate from provider */\nexport interface ShippingRate {\n\tid: string;\n\tprovider: string;\n\tcarrier: string;\n\tservice: string;\n\tdisplayName: string;\n\tamount: number;\n\tcurrency: string;\n\testimatedDays?: number | null;\n}\n\n/**\n * @deprecated Use Address instead\n * Shipping address for rate requests\n */\nexport type ShippingAddress = Address;\n\n/** Parcel dimensions for shipping */\nexport interface Parcel {\n\tlength: number;\n\twidth: number;\n\theight: number;\n\tweight: number;\n\tdistanceUnit: 'in' | 'cm';\n\tmassUnit: 'oz' | 'lb' | 'g' | 'kg';\n}\n\n/** Result from purchasing a shipping label */\nexport interface PurchaseLabelResult {\n\ttrackingNumber: string;\n\ttrackingUrl?: string | null;\n\tlabelUrl: string;\n\tcarrier: string;\n\tservice: string;\n}\n\n/** Result from ship operation */\nexport interface ShipResult {\n\tshipmentId: string;\n\ttrackingNumber: string;\n\ttrackingUrl?: string | null;\n\tlabelUrl: string;\n}\n\n/** Individual item in a customs declaration */\nexport interface CustomsItem {\n\tdescription: string;\n\tquantity: number;\n\tnetWeight: string;\n\tmassUnit: string;\n\tvalueAmount: string;\n\tvalueCurrency: string;\n\toriginCountry: string;\n\ttariffNumber?: string | null;\n}\n\n/** Customs declaration for international shipments */\nexport interface CustomsDeclaration {\n\tcontentsType: string; // \"MERCHANDISE\" | \"GIFT\" | \"SAMPLE\" | \"DOCUMENTS\" | \"RETURN\"\n\tcontentsExplanation?: string | null;\n\tnonDeliveryOption: string; // \"RETURN\" | \"ABANDON\"\n\tcertify: boolean;\n\tcertifySigner: string;\n\titems: CustomsItem[];\n}\n\n/** @deprecated Use IntegrationStatus instead */\nexport type ShippingProviderStatus = IntegrationStatus;\n\n/** @deprecated Use Integration instead */\nexport interface ShippingProviderShippo {\n\tprovider: 'shippo';\n\tid: string;\n\tstatus: ShippingProviderStatus;\n\tapiToken: string;\n}\n\n/** @deprecated Use Integration instead */\nexport type BusinessShippingProvider = ShippingProviderShippo;\n"]}
1
+ {"version":3,"sources":["../src/types/api.ts","../src/types/index.ts"],"names":["SubscriptionSource","PaymentMethodType"],"mappings":";;;AA+zBO,IAAK,kBAAA,qBAAAA,mBAAAA,KAAL;AACL,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,oBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AAHC,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;;;ACnxBL,IAAK,iBAAA,qBAAAC,kBAAAA,KAAL;AACN,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,mBAAA,YAAA,CAAA,GAAa,aAAA;AAFF,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA","file":"types.cjs","sourcesContent":["import type { Block, ZoneLocation, WorkflowNode, Status, SubscriptionPrice, Address } from \"./index\";\n\nexport interface RequestOptions<T = any> {\n headers?: Record<string, string>;\n params?: Record<string, any>;\n transformRequest?: (data: any) => any;\n onSuccess?: (ctx: {\n data: T;\n method: string;\n url: string;\n status: number;\n request?: any;\n durationMs?: number;\n requestId?: string | null;\n }) => void | Promise<void>;\n onError?: (ctx: {\n error: any;\n method: string;\n url: string;\n status?: number;\n request?: any;\n response?: any;\n durationMs?: number;\n requestId?: string | null;\n aborted?: boolean;\n }) => void | Promise<void>;\n}\n\nexport interface EshopItem {\n productId: string;\n variantId: string;\n quantity: number;\n}\n\nexport interface GetQuoteParams {\n items: EshopItem[];\n paymentMethodId?: string;\n shippingMethodId?: string;\n promoCode?: string;\n blocks?: any[];\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface OrderCheckoutParams {\n items: EshopItem[];\n paymentMethodId?: string;\n blocks?: any[];\n shippingMethodId: string;\n promoCodeId?: string;\n /** Shipping address for the order */\n shippingAddress?: Address;\n /** Billing address (defaults to shipping address if not provided) */\n billingAddress?: Address;\n}\n\nexport interface GetProductsParams {\n ids?: string[];\n blocks?: any[] | null;\n filterId?: string;\n status?: string;\n limit?: number;\n cursor?: string;\n query?: string;\n statuses?: string[];\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: number | null;\n createdAtTo?: number | null;\n}\n\nexport interface GetNodesParams {\n businessId?: string;\n parentId?: string;\n limit?: number;\n cursor?: string;\n ids?: string[];\n query?: string;\n type?: string;\n key?: string;\n statuses?: string[];\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: string;\n createdAtTo?: string;\n includeChildren?: boolean;\n}\n\nexport interface CreateNodeParams {\n businessId?: string;\n key: string;\n parentId?: string | null;\n blocks?: any[];\n slug?: Record<string, string>;\n writeAccess?: 'public' | 'private';\n audienceIds?: string[];\n status?: string;\n\n emailSubject?: Record<string, string>;\n}\n\nexport interface UpdateNodeParams {\n id: string;\n businessId?: string;\n key?: string;\n parentId?: string | null;\n blocks?: any[];\n slug?: Record<string, string>;\n writeAccess?: 'public' | 'private';\n audienceIds?: string[];\n status?: string;\n\n emailSubject?: Record<string, string>;\n}\n\nexport interface GetNodeParams {\n id?: string;\n slug?: string;\n key?: string;\n businessId?: string;\n}\n\nexport interface DeleteNodeParams {\n id: string;\n businessId?: string;\n}\n\nexport interface GetNodeChildrenParams {\n id: string;\n businessId?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface UploadBusinessMediaParams {\n businessId?: string;\n files?: File[];\n urls?: string[];\n}\n\nexport interface DeleteBusinessMediaParams {\n id: string;\n mediaId: string;\n}\n\nexport interface UpdateMediaParams {\n mediaId: string;\n businessId?: string;\n seo?: any;\n title?: string;\n description?: string;\n alt?: string;\n}\n\nexport interface GetBusinessMediaParams {\n businessId?: string;\n cursor?: string | null;\n limit: number;\n ids?: string[];\n query?: string;\n mimeType?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n}\n\nexport interface LoginAccountParams {\n email?: string;\n provider: string;\n token?: string;\n}\n\nexport interface MagicLinkRequestParams {\n email: string;\n businessId?: string;\n}\n\nexport interface MagicLinkVerifyParams {\n email: string;\n code: string;\n}\n\nexport interface AddPhoneNumberParams {\n phoneNumber: string;\n}\n\nexport interface PhoneNumberConfirmParams {\n phoneNumber: string;\n code: string;\n}\n\nexport interface GetServicesParams {\n businessId?: string;\n providerId?: string;\n filterId?: string;\n limit?: number;\n cursor?: string;\n query?: string;\n ids?: string[];\n statuses?: string[];\n blocks?: any[];\n sortField?: string;\n sortDirection?: string;\n priceFrom?: number;\n priceTo?: number;\n}\n\nexport interface BookingCheckoutParams {\n businessId?: string;\n items: any[];\n paymentMethodId?: string;\n blocks?: any[];\n promoCodeId?: string;\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface BookingQuoteItem {\n serviceId: string;\n from: number;\n to: number;\n providerId: string;\n}\n\nexport interface GetBookingQuoteParams {\n businessId?: string;\n items: BookingQuoteItem[];\n paymentMethodId?: string;\n promoCode?: string;\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface TimelinePoint {\n timestamp: number;\n concurrent: number;\n}\n\nexport interface WorkingHour {\n from: number;\n to: number;\n}\n\nexport interface WorkingDay {\n day: string;\n workingHours: WorkingHour[];\n}\n\nexport interface OutcastDate {\n month: number;\n day: number;\n workingHours: WorkingHour[];\n}\n\nexport interface SpecificDate {\n date: number;\n workingHours: WorkingHour[];\n}\n\nexport interface WorkingTime {\n workingDays: WorkingDay[];\n outcastDates: OutcastDate[];\n specificDates: SpecificDate[];\n}\n\nexport interface ServiceProvider {\n id: string;\n providerId: string;\n workingTime: WorkingTime;\n provider?: ProviderWithTimeline;\n}\n\nexport interface ProviderWithTimeline {\n id: string;\n key: string;\n businessId: string;\n seo: any;\n status: Status;\n concurrentLimit: number;\n audienceIds: string[];\n blocks: Block[];\n createdAt: number;\n updatedAt: number;\n workingTime: WorkingTime | null;\n timeline: TimelinePoint[];\n}\n\nexport interface GetAnalyticsParams {\n metrics?: string[];\n period?: string;\n startDate?: string;\n endDate?: string;\n interval?: string;\n}\n\nexport interface GetAnalyticsHealthParams {\n \n}\n\nexport interface TrackEmailOpenParams {\n trackingPixelId: string;\n}\n\nexport interface GetDeliveryStatsParams {}\n\nexport type BusinessRole = 'admin' | 'owner' | 'super';\n\nexport interface Discount {\n type: \"items_percentage\" | \"items_fixed\" | \"shipping_percentage\";\n marketId: string;\n bps?: number;\n amount?: number;\n}\n\nexport interface Condition {\n type:\n | \"products\"\n | \"services\"\n | \"min_order_amount\"\n | \"date_range\"\n | \"max_uses\"\n | \"max_uses_per_user\";\n value: string[] | number | { start?: number; end?: number };\n}\n\nexport interface CreatePromoCodeParams {\n code: string;\n discounts: Discount[];\n conditions: Condition[];\n}\n\nexport interface UpdatePromoCodeParams {\n id: string;\n code: string;\n discounts: Discount[];\n conditions: Condition[];\n status?: Status;\n}\n\nexport interface DeletePromoCodeParams {\n id: string;\n}\n\nexport interface GetPromoCodeParams {\n id: string;\n}\n\nexport interface GetPromoCodesParams {\n statuses?: string[];\n query?: string;\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: string;\n createdAtTo?: string;\n startsAtFrom?: string;\n startsAtTo?: string;\n expiresAtFrom?: string;\n expiresAtTo?: string;\n}\n\nexport interface CreateBusinessParams {\n key: string;\n slug?: string;\n description?: string;\n email?: string;\n phone?: string;\n website?: string;\n address?: any;\n settings?: any;\n [key: string]: any;\n}\n\nexport interface UpdateBusinessParams {\n id: string;\n key: string;\n networkKey: string | null;\n timezone: string;\n status: Status;\n configs: any;\n}\n\nexport interface DeleteBusinessParams {\n id: string;\n}\n\nexport interface GetBusinessParams {}\n\nexport interface GetBusinessParentsParams {}\n\nexport interface TriggerBuildsParams {\n id: string;\n}\n\nexport interface GetSubscriptionParams {}\n\nexport interface SubscribeParams {\n planId: string;\n successUrl: string;\n cancelUrl: string;\n}\n\nexport interface CreatePortalSessionParams {\n returnUrl: string;\n}\n\nexport interface InviteUserParams {\n email: string;\n role?: BusinessRole;\n}\n\nexport interface RemoveMemberParams {\n accountId: string;\n}\n\nexport interface HandleInvitationParams {\n token: string;\n action: string;\n}\n\nexport interface TestWebhookParams {\n webhook: any;\n}\n\nexport interface AccountSubscribeParams {\n target?: string;\n identifier: string;\n planId?: string;\n successUrl?: string;\n cancelUrl?: string;\n}\n\nexport interface CreateProductParams {\n key: string;\n description?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n variants?: any[];\n status?: string;\n [key: string]: any;\n}\n\nexport interface UpdateProductParams {\n id: string;\n key?: string;\n description?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n variants?: any[];\n status?: string;\n [key: string]: any;\n}\n\nexport interface DeleteProductParams {\n id: string;\n}\n\nexport interface GetProductParams {\n id?: string;\n slug?: string;\n}\n\nexport interface GetOrderParams {\n id: string;\n}\n\nexport interface GetOrdersParams {\n accountId?: string | null;\n statuses?: string[] | null;\n productIds?: string[];\n query?: string | null;\n limit?: number | null;\n cursor?: string | null;\n sortField?: string | null;\n sortDirection?: string | null;\n createdAtFrom?: string | null;\n createdAtTo?: string | null;\n}\n\nexport interface UpdateOrderParams {\n id: string;\n status: string;\n blocks: any[];\n items: any[];\n address?: any | null;\n billingAddress?: any | null;\n payment?: any | null;\n}\n\nexport interface CreateOrderParams {\n [key: string]: any;\n}\n\nexport interface CreateBookingParams {\n businessId?: string;\n [key: string]: any;\n}\n\nexport interface UpdateBookingParams {\n id: string;\n status?: string;\n blocks?: any;\n parts?: any;\n payment?: any | null;\n [key: string]: any;\n}\n\nexport interface CreateProviderParams {\n businessId?: string;\n key: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n concurrentLimit?: number;\n status?: Status;\n [key: string]: any;\n}\n\nexport interface UpdateProviderParams {\n id: string;\n businessId?: string;\n key?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n concurrentLimit?: number;\n status?: Status;\n [key: string]: any;\n}\n\nexport interface DeleteProviderParams {\n id: string;\n businessId?: string;\n}\n\nexport interface ServiceProviderInput {\n id?: string;\n providerId: string;\n prices?: any[];\n durations?: any[];\n isApprovalRequired?: boolean;\n workingTime: WorkingTime;\n audienceIds: string[];\n}\n\nexport interface CreateServiceParams {\n businessId?: string;\n key: string;\n blocks?: any[];\n filters?: any[];\n status?: Status;\n providers?: ServiceProviderInput[];\n [key: string]: any;\n}\n\nexport interface UpdateServiceParams {\n id: string;\n businessId?: string;\n key?: string;\n blocks?: any[];\n filters?: any[];\n status?: Status;\n providers?: ServiceProviderInput[];\n [key: string]: any;\n}\n\nexport interface DeleteServiceParams {\n id: string;\n businessId?: string;\n}\n\nexport interface GetServiceParams {\n id?: string;\n slug?: string;\n businessId?: string;\n}\n\nexport interface GetProvidersParams {\n businessId?: string;\n serviceId?: string;\n filterId?: string;\n ids?: string[];\n query?: string | null;\n statuses?: string[] | null;\n limit?: number;\n cursor?: string;\n sortField?: string | null;\n sortDirection?: string | null;\n createdAtFrom?: string | null;\n createdAtTo?: string | null;\n blocks?: string | null;\n}\n\nexport interface GetProviderParams {\n id?: string;\n slug?: string;\n businessId?: string;\n}\n\nexport interface GetBusinessServiceWorkingTimeParams {\n providerId: string;\n serviceId?: string;\n}\n\nexport interface GetBookingParams {\n id: string;\n businessId?: string;\n}\n\nexport interface SearchBookingsParams {\n businessId?: string;\n query?: string;\n serviceIds?: string[];\n providerIds?: string[];\n accountId?: string;\n from?: number;\n to?: number;\n status?: string;\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortOrder?: string;\n}\n\nexport interface UpdateAccountProfileParams {\n phoneNumbers?: string[];\n addresses?: any[];\n apiTokens?: any[] | null;\n}\n\nexport interface SearchAccountsParams {\n limit?: number;\n cursor?: string | null;\n query?: string;\n owner?: string;\n}\n\nexport interface DeleteAccountParams {}\n\nexport interface TrackEmailOpenParams {\n trackingPixelId: string;\n}\n\nexport interface GetDeliveryStatsParams {}\n\nexport interface UpdateNotificationsParams {}\n\nexport interface GetMeParams {}\n\nexport interface LogoutParams {}\n\nexport interface GetBusinessesParams {\n query?: string;\n isNetwork?: boolean;\n statuses?: string[];\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: \"asc\" | \"desc\";\n}\n\nexport interface GetSubscriptionPlansParams {}\n\nexport interface SetupAnalyticsParams {\n [key: string]: any;\n}\n\nexport interface GetBusinessMediaParams2 {\n id: string;\n cursor?: string | null;\n limit: number;\n ids?: string[];\n query?: string;\n mimeType?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n}\n\nexport interface DeleteProductParams {\n id: string;\n}\n\nexport interface ProcessRefundParams {\n id: string;\n entity: string;\n amount: number;\n}\n\nexport type SystemTemplateKey =\n | \"system:booking-business-update\"\n | \"system:booking-customer-update\"\n | \"system:user-invitation\"\n | \"system:order-status-update\"\n | \"system:user-confirmation\"\n | \"system:forgot-password\";\n\nexport interface GetSlotsForDateParams {\n serviceId: string;\n date: Date;\n timezone: string;\n providerId?: string;\n}\n\nexport interface GetAvailabilityParams {\n serviceId: string;\n from: Date;\n to: Date;\n timezone: string;\n}\n\nexport interface DayAvailability {\n date: Date;\n available: boolean;\n}\n\nexport interface Slot {\n id: string;\n serviceId: string;\n providerId: string;\n from: number;\n to: number;\n timeText: string;\n dateText: string;\n}\n\nexport interface CreateWorkflowParams {\n businessId?: string;\n key: string;\n status?: Status;\n nodes: Record<string, WorkflowNode>;\n\n schedule?: string;\n}\n\nexport interface UpdateWorkflowParams {\n id: string;\n key: string;\n status?: Status;\n nodes: Record<string, WorkflowNode>;\n\n schedule?: string;\n}\n\nexport interface DeleteWorkflowParams {\n id: string;\n}\n\nexport interface GetWorkflowParams {\n id: string;\n}\n\nexport interface GetWorkflowsParams {\n businessId?: string;\n ids?: string[];\n query?: string;\n statuses?: string[];\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n createdAtFrom?: number;\n createdAtTo?: number;\n}\n\nexport interface TriggerWorkflowParams {\n\n secret: string;\n\n [key: string]: any;\n}\n\nexport interface GetWorkflowExecutionsParams {\n workflowId: string;\n businessId?: string;\n status?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface GetWorkflowExecutionParams {\n workflowId: string;\n executionId: string;\n businessId?: string;\n}\n\nexport interface CreateAudienceParams {\n key: string;\n name: string;\n prices?: SubscriptionPrice[];\n}\n\nexport interface UpdateAudienceParams {\n id: string;\n key?: string;\n name?: string;\n prices?: SubscriptionPrice[];\n status?: Status;\n}\n\nexport interface GetAudienceParams {\n id: string;\n}\n\nexport interface GetAudiencesParams {\n ids?: string[];\n statuses?: string[];\n query?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface SubscribeAudienceParams {\n id: string;\n \n priceId?: string;\n successUrl: string;\n cancelUrl: string;\n}\n\nexport interface DeleteAudienceParams {\n id: string;\n}\n\nexport interface GetAudienceSubscribersParams {\n id: string;\n limit?: number;\n cursor?: string;\n}\n\nexport enum SubscriptionSource {\n Signup = 'signup',\n Admin = 'admin',\n Import = 'import'\n}\n\nexport interface AudienceSubscriber {\n accountId: string;\n email: string;\n subscribedAt?: number;\n source?: SubscriptionSource;\n}\n\nexport interface RemoveAudienceSubscriberParams {\n id: string;\n accountId: string;\n}\n\nexport interface AddAudienceSubscriberParams {\n id: string;\n email: string;\n}\n\nexport interface AddAudienceSubscriberResponse {\n subscriber: AudienceSubscriber | null;\n skipped: boolean;\n}\n\nexport interface GetEventsParams {\n entity: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface UpdateEventParams {\n eventId: string;\n event: import('./index').EventAction;\n}\n\nexport interface OAuthConnectParams {\n businessId: string;\n provider: string;\n code: string;\n redirectUri: string;\n}\n\nexport interface OAuthDisconnectParams {\n businessId: string;\n provider: string;\n}\n\n// Shipping API Parameters\n\n/** Get shipping rates for a shipment */\nexport interface GetShippingRatesParams {\n orderId: string;\n shippingProviderId: string;\n fromAddress: Address;\n toAddress: Address;\n parcel: import('./index').Parcel;\n customsDeclaration?: import('./index').CustomsDeclaration;\n}\n\n/** Ship items: creates shipment + purchases label atomically */\nexport interface ShipParams {\n orderId: string;\n rateId: string;\n carrier: string;\n service: string;\n locationId: string;\n lines: import('./index').ShipmentLine[];\n}\n\n","export * from './api';\n\nexport interface PaymentRefund {\n\tid: string;\n\tentity: string;\n\ttotal: number;\n\tproviderRefundId?: string;\n\tstatus: string;\n\tcreatedAt: number;\n}\n\nexport interface Payment {\n\tcurrency: string;\n\tmarket: string;\n\tsubtotal: number;\n\tshipping: number;\n\tdiscount: number;\n\ttotal: number;\n\tpaid: number;\n\ttax?: {\n\t\tamount: number;\n\t\tmodeSnapshot?: string;\n\t\trateBps: number;\n\t\tlines: Array<{ rateBps: number; amount: number; label?: string; scope?: string }>;\n\t};\n\tpromoCode?: {\n\t\tid: string;\n\t\tcode: string;\n\t\ttype: string;\n\t\tvalue: number;\n\t};\n\ttype: PaymentMethodType;\n\tprovider?: {\n\t\tcustomerId: string;\n\t\tpaymentIntentId?: string;\n\t\tsubscriptionId?: string;\n\t\tpriceId?: string;\n\t};\n\trefunds: PaymentRefund[];\n\tzoneId?: string;\n\tpaymentMethodId?: string;\n\tshippingMethodId?: string;\n}\n\nexport enum PaymentMethodType {\n\tCash = \"cash\",\n\tCreditCard = \"credit_card\",\n\t// Free REMOVED - handled with logic: if total == 0, skip payment\n\t// NOTE: Apple Pay and Google Pay are NOT separate PaymentMethodTypes\n\t// They are handled automatically by Stripe's Payment Element\n}\n\nexport interface PromoCodeValidation {\n\tpromoCodeId: string;\n\tcode: string;\n\tdiscounts: any[];\n\tconditions: any[];\n}\n\nexport interface Quote {\n\tmarket: string;\n\tzone: Zone;\n\tsubtotal: number;\n\tshipping: number;\n\tdiscount: number;\n\ttax: number;\n\ttotal: number;\n\tshippingMethod: ShippingMethod | null;\n\tpaymentMethod: PaymentMethod | null;\n\tpromoCode: PromoCodeValidation | null;\n\tpayment: Payment;\n\tchargeAmount: number;\n\tid?: string;\n\texpiresAt?: number;\n}\n\n/** Price for products and services (market-based, no provider fields) */\nexport interface Price {\n\tcurrency: string;\n\tmarket: string;\n\tamount: number;\n\tcompareAt?: number;\n\taudienceId?: string;\n}\n\n/** Interval period for subscription pricing */\nexport type IntervalPeriod = 'month' | 'year';\n\n/** Subscription interval configuration */\nexport interface SubscriptionInterval {\n\tperiod: IntervalPeriod;\n\tcount: number;\n}\n\n/** Price provider configuration (e.g., Stripe) */\nexport interface PriceProvider {\n\ttype: string;\n\tid: string;\n}\n\n/** Price for audiences/subscriptions (provider-based with interval) */\nexport interface SubscriptionPrice {\n\tcurrency: string;\n\tamount: number;\n\tcompareAt?: number;\n\tinterval?: SubscriptionInterval;\n\tproviders: PriceProvider[];\n}\n\n/**\n * Full address for shipping, billing, and locations.\n * Used for order addresses and shipping labels.\n */\nexport interface Address {\n\tname: string;\n\tcompany?: string | null;\n\tstreet1: string;\n\tstreet2?: string | null;\n\tcity: string;\n\tstate: string;\n\tpostalCode: string;\n\tcountry: string;\n\tphone?: string | null;\n\temail?: string | null;\n}\n\n/**\n * Simple geo location for CMS map/location blocks.\n * Just coordinates and an optional label for display.\n */\nexport interface GeoLocation {\n\tcoordinates?: { lat: number; lon: number } | null;\n\tlabel?: string | null;\n}\n\n\n/**\n * Used for zone matching - simplified location with optional fields.\n */\nexport interface ZoneLocation {\n\tcountry?: string | null;\n\tstate?: string | null;\n\tcity?: string | null;\n\tpostalCode?: string | null;\n}\n\nexport interface EshopCartItem {\n\tid: string;\n\tproductId: string;\n\tvariantId: string;\n\tproductName: string;\n\tproductSlug: string;\n\tvariantAttributes: Record<string, any>;\n\tprice: Price;\n\tquantity: number;\n\taddedAt: number;\n}\n\nexport interface BookingCartItem {\n\tid: string;\n\tserviceId: string;\n\tserviceName: string;\n\tdate: string;\n\tfrom: number;\n\tto: number;\n\ttimeText: string;\n\tproviderId?: string;\n\tblocks: any[];\n}\n\n/** Integration status */\nexport type IntegrationStatus = 'active' | 'inactive';\n\n/** Integration provider — typed data per service */\nexport type IntegrationProvider =\n\t| { type: 'stripe'; secretKey?: string; publishableKey: string; webhookSecret?: string; currency: string }\n\t| { type: 'shippo'; apiToken?: string }\n\t| { type: 'google'; clientId?: string; clientSecret?: string; accessToken?: string; refreshToken?: string;\n\t\ttokenExpiresAt?: number; scopes: string[]; accountEmail?: string | null; connectedAt: number }\n\t| { type: 'google_analytics4'; measurementId: string };\n\n/** Unified integration — single pool for all third-party service configs */\nexport interface Integration {\n\tid: string;\n\tname: string;\n\tstatus: IntegrationStatus;\n\tprovider: IntegrationProvider;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface ShippingWeightTier {\n\tupToGrams: number;\n\tamount: number;\n}\n\nexport interface PaymentMethod {\n\tid: string;\n\tname: Record<string, string>;\n\ttype: PaymentMethodType;\n}\n\nexport interface ShippingMethod {\n\tid: string;\n\tname: Record<string, string>;\n\ttaxable: boolean;\n\tetaText: string;\n\tlocationId?: string;\n\tamount: number;\n\tfreeAbove?: number;\n\tweightTiers?: ShippingWeightTier[];\n}\n\nexport interface Location {\n\tid: string;\n\tkey: string;\n\t/** Ship-from address for shipping labels */\n\taddress: Address;\n\tisPickupLocation: boolean;\n}\n\nexport interface InventoryLevel {\n\tlocationId: string;\n\tavailable: number;\n\treserved: number;\n}\n\nexport type ZoneScope = \"all\" | \"order\" | \"booking\";\n\nexport interface Zone {\n\tid: string;\n\tname: string;\n\tmarketId: string;\n\tscope: ZoneScope;\n\tcountries: string[];\n\tstates: string[];\n\tpostalCodes: string[];\n\ttaxBps: number;\n\tpaymentMethods: PaymentMethod[];\n\tshippingMethods: ShippingMethod[];\n}\n\nexport interface Market {\n\tid: string;\n\tcurrency: string;\n\ttaxMode: \"exclusive\" | \"inclusive\";\n}\n\nexport interface Language {\n\tid: string;\n}\n\nexport interface BusinessEmails {\n\tbilling: string;\n\tsupport: string;\n}\n\nexport type WebhookEventSubscription =\n\t| { event: 'node.created'; parentKey?: string }\n\t| { event: 'node.updated'; key?: string }\n\t| { event: 'node.deleted'; key?: string }\n\t| { event: 'order.created' }\n\t| { event: 'order.updated' }\n\t| { event: 'order.status_changed' }\n\t| { event: 'order.payment_received' }\n\t| { event: 'order.payment_failed' }\n\t| { event: 'order.refunded' }\n\t| { event: 'order.completed' }\n\t| { event: 'order.cancelled' }\n\t| { event: 'order.shipment_created' }\n\t| { event: 'order.shipment_in_transit' }\n\t| { event: 'order.shipment_out_for_delivery' }\n\t| { event: 'order.shipment_delivered' }\n\t| { event: 'order.shipment_failed' }\n\t| { event: 'order.shipment_returned' }\n\t| { event: 'order.shipment_status_changed' }\n\t| { event: 'booking.created' }\n\t| { event: 'booking.updated' }\n\t| { event: 'booking.status_changed' }\n\t| { event: 'booking.payment_received' }\n\t| { event: 'booking.payment_failed' }\n\t| { event: 'booking.refunded' }\n\t| { event: 'booking.completed' }\n\t| { event: 'booking.cancelled' }\n\t| { event: 'product.created' }\n\t| { event: 'product.updated' }\n\t| { event: 'product.deleted' }\n\t| { event: 'provider.created' }\n\t| { event: 'provider.updated' }\n\t| { event: 'provider.deleted' }\n\t| { event: 'service.created' }\n\t| { event: 'service.updated' }\n\t| { event: 'service.deleted' }\n\t| { event: 'media.created' }\n\t| { event: 'media.deleted' }\n\t| { event: 'business.created' }\n\t| { event: 'business.updated' }\n\t| { event: 'business.deleted' }\n\t| { event: 'audience.created' }\n\t| { event: 'audience.updated' }\n\t| { event: 'audience.deleted' };\n\nexport interface WebhookEndpoint {\n\tid: string;\n\tname: string;\n\turl: string;\n\tevents: WebhookEventSubscription[];\n\theaders: Record<string, string>;\n\tsecret: string;\n\tenabled: boolean;\n}\n\nexport interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tlocations: Location[];\n\tbuildHooks: string[];\n\twebhooks: WebhookEndpoint[];\n\tintegrations: Integration[];\n\tpaymentId?: string | null;\n\tshippingIds: string[];\n\tanalyticsIds: string[];\n\temails: BusinessEmails;\n}\n\nexport interface Subscription {\n\tid: string;\n\ttarget: string;\n\tplanId: string;\n\tpendingPlanId: string | null;\n\tpayment: any;\n\tstatus: SubscriptionStatus;\n\tendDate: number;\n\tusage: Record<string, any>;\n\ttoken: string;\n}\n\nexport interface Business {\n\tid: string;\n\tkey: string;\n\tnetworkKey: string | null;\n\ttimezone: string;\n\tconfigs?: BusinessConfig;\n\tsubscriptions?: Subscription[];\n\tstatus: Status;\n}\n\nexport interface EshopStoreState {\n\tbusinessId: string;\n\tselectedShippingMethodId: string | null;\n\tuserToken: string | null;\n\tprocessingCheckout: boolean;\n\tloading: boolean;\n\terror: string | null;\n}\n\nexport interface Block {\n\tid: string;\n\tkey: string;\n\ttype: string;\n\tproperties?: any;\n\tvalue?: any;\n}\n\nexport interface Filter {\n\tid: string;\n\tnodeId: string;\n\tblocks: Block[];\n}\n\nexport type BlockType =\n\t| \"text\"\n\t| \"localized_text\"\n\t| \"number\"\n\t| \"boolean\"\n\t| \"list\"\n\t| \"map\"\n\t| \"relationship_entry\"\n\t| \"relationship_media\"\n\t| \"markdown\"\n\t| \"geo_location\";\n\nexport interface GeoLocationBlockProperties {}\n\n/** @deprecated Use GeoLocation instead */\nexport type GeoLocationValue = GeoLocation;\n\nexport interface GeoLocationBlock extends Block {\n\ttype: \"geo_location\";\n\tproperties: GeoLocationBlockProperties;\n\tvalue: GeoLocation | null;\n}\n\nexport type Access = 'public' | 'private';\n\nexport interface MediaResolution {\n\tid: string;\n\tsize: string;\n\turl: string;\n}\n\nexport interface Media {\n\tid: string;\n\tresolutions: { [key: string]: MediaResolution };\n\tmimeType: string;\n\ttitle?: string | null;\n\tdescription?: string | null;\n\talt?: string | null;\n\tentity: string;\n\tmetadata?: string | null;\n\tuploadedAt: string;\n\tslug: Record<string, string>;\n}\n\nexport interface ApiResponse<T> {\n\tsuccess: boolean;\n\tdata?: T;\n\terror?: string;\n\tcursor?: string;\n\ttotal?: number;\n}\n\nexport interface PaginatedResponse<T> {\n\tdata: T[];\n\tmeta?: {\n\t\ttotal: number;\n\t\tpage: number;\n\t\tper_page: number;\n\t};\n}\n\nexport interface BookingStoreState {\n\tcurrentStep: number;\n\ttotalSteps: number;\n\tsteps: Record<number, { name: string; labelKey: string }>;\n\tweekdays: string[];\n\tmonthYear: string;\n\tdays: any[];\n\tcurrent: Date;\n\tselectedDate: string | null;\n\tslots: any[];\n\tselectedSlot: any | null;\n\tselectedProvider: any | null;\n\tproviders: any[];\n\tloading: boolean;\n\tstartDate: string | null;\n\tendDate: string | null;\n\tguestToken: string | null;\n\tservice: any | null;\n\tbusiness: Business | null;\n\tcurrency: string;\n\tbookingBlocks: Block[];\n\tapiUrl: string;\n\tbusinessId: string;\n\ttimezone: string;\n\ttzGroups: any;\n\titems: BookingCartItem[];\n\tallowedPaymentMethods: string[];\n\tpaymentConfig: {\n\t\tprovider: { publishableKey: string; currency: string } | null;\n\t\tenabled: boolean;\n\t};\n}\n\nexport type Status = 'draft' | 'active' | 'archived';\n\nexport type OrderStatus = 'created' | 'pending' | 'authorized' | 'confirmed' | 'shipped' | 'completed' | 'cancelled' | 'failed';\n\nexport type BookingStatus = 'created' | 'pending' | 'authorized' | 'confirmed' | 'completed' | 'cancelled' | 'failed';\n\nexport type SubscriptionStatus = 'pending' | 'active' | 'cancellation_scheduled' | 'cancelled' | 'expired';\n\nexport interface BookingItem {\n\tid: string;\n\tserviceId: string;\n\tproviderId: string;\n\tbusinessId: string;\n\tbookingId: string;\n\taccountId: string;\n\tfrom: number;\n\tto: number;\n\tblocks: Block[];\n\tprice: Price;\n}\n\nexport interface Booking {\n\tid: string;\n\tnumber: string;\n\taccountId: string;\n\tblocks: Block[];\n\tbusinessId: string;\n\tstatus: BookingStatus;\n\tserviceIds: string[];\n\tproviderIds: string[];\n\tpayment: Payment;\n\tbusiness?: Business;\n\taccount?: any;\n\titems: BookingItem[];\n\taudienceId?: string;\n\tcreatedAt: number;\n\tlastModified: number;\n}\n\nexport interface Node {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tparentId?: string | null;\n\tblocks: Block[];\n\tstatus: Status;\n\tslug: Record<string, string>;\n\twriteAccess: Access;\n\taudienceIds: string[];\n\temailSubject?: Record<string, string>;\n\tchildren: Node[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface ServiceDuration {\n\tduration: number;\n\tisPause?: boolean;\n}\n\nexport interface ServiceProvider {\n\tid: string;\n\tproviderId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tisApprovalRequired: boolean;\n\taudienceIds: string[];\n\tworkingTime: {\n\t\tworkingDays: Array<{ day: string; workingHours: Array<{ from: number; to: number }> }>;\n\t\toutcastDates: Array<{ month: number; day: number; workingHours: Array<{ from: number; to: number }> }>;\n\t\tspecificDates: Array<{ date: number; workingHours: Array<{ from: number; to: number }> }>;\n\t};\n\tprovider?: Provider;\n}\n\nexport interface Service {\n\tid: string;\n\tkey: string;\n\tslug: Record<string, string>;\n\tbusinessId: string;\n\tblocks: Block[];\n\tfilters: Filter[];\n\tnetworkIds: string[];\n\tproviders: ServiceProvider[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tstatus: Status;\n}\n\nexport interface ProviderTimelinePoint {\n\ttimestamp: number;\n\tconcurrent: number;\n}\n\nexport interface Provider {\n\tid: string;\n\tkey: string;\n\tslug: Record<string, string>;\n\tbusinessId: string;\n\tstatus: Status;\n\tconcurrentLimit: number;\n\tnetworkIds: string[];\n\taudienceIds: string[];\n\tblocks: Block[];\n\tfilters: Filter[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface WorkflowConnection {\n\tnode: string;\n\toutput: string;\n}\n\nexport interface Workflow {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tsecret: string;\n\tstatus: Status;\n\tnodes: Record<string, WorkflowNode>;\n\n\tschedule?: string;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport type WorkflowNode =\n\t| WorkflowTriggerNode\n\t| WorkflowHttpNode\n\t| WorkflowSwitchNode\n\t| WorkflowTransformNode\n\t| WorkflowLoopNode;\n\nexport interface WorkflowTriggerNode {\n\ttype: 'trigger';\n\tevent?: string;\n\tdelayMs?: number;\n\tschema?: Block[];\n}\n\nexport interface WorkflowHttpNode {\n\ttype: 'http';\n\tmethod: WorkflowHttpMethod;\n\turl: string;\n\theaders?: Record<string, string>;\n\tbody?: any;\n\ttimeoutMs?: number;\n\tintegrationId?: string;\n\tintegrationProviderId?: string;\n\tdelayMs?: number;\n\tretries?: number;\n\tretryDelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowSwitchRule {\n\tcondition: string;\n}\n\nexport interface WorkflowSwitchNode {\n\ttype: 'switch';\n\trules: WorkflowSwitchRule[];\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowTransformNode {\n\ttype: 'transform';\n\tcode: string;\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowLoopNode {\n\ttype: 'loop';\n\texpression: string;\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n\tbackEdges?: WorkflowConnection[];\n}\n\nexport type WorkflowHttpMethod = 'get' | 'post' | 'put' | 'patch' | 'delete';\n\nexport type ExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';\n\nexport interface NodeResult {\n\toutput: any;\n\troute: string;\n\tstartedAt: number;\n\tcompletedAt: number;\n\tdurationMs: number;\n\terror?: string;\n}\n\nexport interface WorkflowExecution {\n\tid: string;\n\tworkflowId: string;\n\tbusinessId: string;\n\tstatus: ExecutionStatus;\n\tinput: Record<string, any>;\n\tresults: Record<string, NodeResult>;\n\terror?: string;\n\tscheduledAt: number;\n\tstartedAt: number;\n\tcompletedAt?: number;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface Audience {\n\tid: string;\n\tbusinessId: string;\n\tkey: string;\n\tprices: SubscriptionPrice[];\n\tstatus: Status;\n}\n\nexport interface AudienceAccessResponse {\n\thasAccess: boolean;\n\tsubscription?: Subscription;\n}\n\nexport interface AudienceSubscribeResponse {\n\tcheckoutUrl?: string;\n\tsubscription?: Subscription;\n}\n\nexport type EventAction =\n\t// Order events\n\t| { action: 'order_created' }\n\t| { action: 'order_updated' }\n\t| { action: 'order_status_changed'; data: { from: string; to: string } }\n\t| { action: 'order_payment_received'; data: { amount: number; currency: string } }\n\t| { action: 'order_payment_failed'; data: { reason?: string } }\n\t| { action: 'order_refunded'; data: { amount: number; currency: string; reason?: string } }\n\t| { action: 'order_completed' }\n\t| { action: 'order_cancelled'; data: { reason?: string } }\n\t// Order shipment events\n\t| { action: 'order_shipment_created'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_in_transit'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_out_for_delivery'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_delivered'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_failed'; data: { shipment_id: string; reason?: string } }\n\t| { action: 'order_shipment_returned'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_status_changed'; data: { shipment_id: string; from: string; to: string } }\n\t// Booking events\n\t| { action: 'booking_created' }\n\t| { action: 'booking_updated' }\n\t| { action: 'booking_status_changed'; data: { from: string; to: string } }\n\t| { action: 'booking_payment_received'; data: { amount: number; currency: string } }\n\t| { action: 'booking_payment_failed'; data: { reason?: string } }\n\t| { action: 'booking_refunded'; data: { amount: number; currency: string; reason?: string } }\n\t| { action: 'booking_completed' }\n\t| { action: 'booking_cancelled'; data: { reason?: string } }\n\t// Product events\n\t| { action: 'product_created' }\n\t| { action: 'product_updated' }\n\t| { action: 'product_deleted' }\n\t// Node events\n\t| { action: 'node_created' }\n\t| { action: 'node_updated' }\n\t| { action: 'node_deleted' }\n\t// Provider events\n\t| { action: 'provider_created' }\n\t| { action: 'provider_updated' }\n\t| { action: 'provider_deleted' }\n\t// Service events\n\t| { action: 'service_created' }\n\t| { action: 'service_updated' }\n\t| { action: 'service_deleted' }\n\t// Account events\n\t| { action: 'account_created' }\n\t| { action: 'account_updated' }\n\t| { action: 'account_deleted' }\n\t// Media events\n\t| { action: 'media_created' }\n\t| { action: 'media_deleted' }\n\t// Business events\n\t| { action: 'business_created' }\n\t| { action: 'business_updated' }\n\t| { action: 'business_deleted' }\n\t// Audience events\n\t| { action: 'audience_created' }\n\t| { action: 'audience_updated' }\n\t| { action: 'audience_deleted' };\n\nexport interface Event {\n\tid: string;\n\tentity: string;\n\tevent: EventAction;\n\tactor: string;\n\tcreatedAt: number;\n}\n\n// Shipping Types\n\n/** Shipping status for order fulfillment tracking */\nexport type ShippingStatus =\n\t| 'pending'\n\t| 'label_created'\n\t| 'in_transit'\n\t| 'out_for_delivery'\n\t| 'delivered'\n\t| 'failed'\n\t| 'returned';\n\n/** Order shipping information (legacy - kept for backward compatibility) */\nexport interface OrderShipping {\n\tcarrier: string;\n\tservice: string;\n\ttrackingNumber?: string | null;\n\ttrackingUrl?: string | null;\n\tlabelUrl?: string | null;\n\tstatus: ShippingStatus;\n}\n\n/** Line item in a shipment with quantity (for partial fulfillment) */\nexport interface ShipmentLine {\n\torderItemId: string;\n\tquantity: number;\n}\n\n/** Individual shipment for an order (ships from one location) */\nexport interface Shipment {\n\tid: string;\n\tlocationId: string;\n\tlines: ShipmentLine[]; // OrderItem IDs + quantities in this shipment\n\tcarrier?: string | null; // Set when label purchased\n\tservice?: string | null;\n\ttrackingNumber?: string | null;\n\ttrackingUrl?: string | null;\n\tlabelUrl?: string | null;\n\tstatus: ShippingStatus;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n/** Shipping rate from provider */\nexport interface ShippingRate {\n\tid: string;\n\tprovider: string;\n\tcarrier: string;\n\tservice: string;\n\tdisplayName: string;\n\tamount: number;\n\tcurrency: string;\n\testimatedDays?: number | null;\n}\n\n/**\n * @deprecated Use Address instead\n * Shipping address for rate requests\n */\nexport type ShippingAddress = Address;\n\n/** Parcel dimensions for shipping */\nexport interface Parcel {\n\tlength: number;\n\twidth: number;\n\theight: number;\n\tweight: number;\n\tdistanceUnit: 'in' | 'cm';\n\tmassUnit: 'oz' | 'lb' | 'g' | 'kg';\n}\n\n/** Result from purchasing a shipping label */\nexport interface PurchaseLabelResult {\n\ttrackingNumber: string;\n\ttrackingUrl?: string | null;\n\tlabelUrl: string;\n\tcarrier: string;\n\tservice: string;\n}\n\n/** Result from ship operation */\nexport interface ShipResult {\n\tshipmentId: string;\n\ttrackingNumber: string;\n\ttrackingUrl?: string | null;\n\tlabelUrl: string;\n}\n\n/** Individual item in a customs declaration */\nexport interface CustomsItem {\n\tdescription: string;\n\tquantity: number;\n\tnetWeight: string;\n\tmassUnit: string;\n\tvalueAmount: string;\n\tvalueCurrency: string;\n\toriginCountry: string;\n\ttariffNumber?: string | null;\n}\n\n/** Customs declaration for international shipments */\nexport interface CustomsDeclaration {\n\tcontentsType: string; // \"MERCHANDISE\" | \"GIFT\" | \"SAMPLE\" | \"DOCUMENTS\" | \"RETURN\"\n\tcontentsExplanation?: string | null;\n\tnonDeliveryOption: string; // \"RETURN\" | \"ABANDON\"\n\tcertify: boolean;\n\tcertifySigner: string;\n\titems: CustomsItem[];\n}\n\n/** @deprecated Use IntegrationStatus instead */\nexport type ShippingProviderStatus = IntegrationStatus;\n\n/** @deprecated Use Integration instead */\nexport interface ShippingProviderShippo {\n\tprovider: 'shippo';\n\tid: string;\n\tstatus: ShippingProviderStatus;\n\tapiToken: string;\n}\n\n/** @deprecated Use Integration instead */\nexport type BusinessShippingProvider = ShippingProviderShippo;\n"]}
package/dist/types.d.cts CHANGED
@@ -167,10 +167,6 @@ type IntegrationProvider = {
167
167
  } | {
168
168
  type: 'shippo';
169
169
  apiToken?: string;
170
- } | {
171
- type: 'deepseek';
172
- apiKey?: string;
173
- baseUrl: string;
174
170
  } | {
175
171
  type: 'google';
176
172
  clientId?: string;
@@ -359,7 +355,6 @@ interface BusinessConfig {
359
355
  integrations: Integration[];
360
356
  paymentId?: string | null;
361
357
  shippingIds: string[];
362
- aiId?: string | null;
363
358
  analyticsIds: string[];
364
359
  emails: BusinessEmails;
365
360
  }
@@ -1306,6 +1301,9 @@ interface InviteUserParams {
1306
1301
  email: string;
1307
1302
  role?: BusinessRole;
1308
1303
  }
1304
+ interface RemoveMemberParams {
1305
+ accountId: string;
1306
+ }
1309
1307
  interface HandleInvitationParams {
1310
1308
  token: string;
1311
1309
  action: string;
@@ -1313,9 +1311,6 @@ interface HandleInvitationParams {
1313
1311
  interface TestWebhookParams {
1314
1312
  webhook: any;
1315
1313
  }
1316
- interface GenerateBlocksParams {
1317
- [key: string]: any;
1318
- }
1319
1314
  interface AccountSubscribeParams {
1320
1315
  target?: string;
1321
1316
  identifier: string;
@@ -1726,4 +1721,4 @@ interface ShipParams {
1726
1721
  lines: ShipmentLine[];
1727
1722
  }
1728
1723
 
1729
- export { type Access, type AccountSubscribeParams, type AddAudienceSubscriberParams, type AddAudienceSubscriberResponse, type AddPhoneNumberParams, type Address, type ApiResponse, type Audience, type AudienceAccessResponse, type AudienceSubscribeResponse, type AudienceSubscriber, type Block, type BlockType, type Booking, type BookingCartItem, type BookingCheckoutParams, type BookingItem, type BookingQuoteItem, type BookingStatus, type BookingStoreState, type Business, type BusinessConfig, type BusinessEmails, type BusinessRole, type BusinessShippingProvider, type Condition, type CreateAudienceParams, type CreateBookingParams, type CreateBusinessParams, type CreateNodeParams, type CreateOrderParams, type CreatePortalSessionParams, type CreateProductParams, type CreatePromoCodeParams, type CreateProviderParams, type CreateServiceParams, type CreateWorkflowParams, type CustomsDeclaration, type CustomsItem, type DayAvailability, type DeleteAccountParams, type DeleteAudienceParams, type DeleteBusinessMediaParams, type DeleteBusinessParams, type DeleteNodeParams, type DeleteProductParams, type DeletePromoCodeParams, type DeleteProviderParams, type DeleteServiceParams, type DeleteWorkflowParams, type Discount, type EshopCartItem, type EshopItem, type EshopStoreState, type Event, type EventAction, type ExecutionStatus, type Filter, type GenerateBlocksParams, type GeoLocation, type GeoLocationBlock, type GeoLocationBlockProperties, type GeoLocationValue, type GetAnalyticsHealthParams, type GetAnalyticsParams, type GetAudienceParams, type GetAudienceSubscribersParams, type GetAudiencesParams, type GetAvailabilityParams, type GetBookingParams, type GetBookingQuoteParams, type GetBusinessMediaParams, type GetBusinessMediaParams2, type GetBusinessParams, type GetBusinessParentsParams, type GetBusinessServiceWorkingTimeParams, type GetBusinessesParams, type GetDeliveryStatsParams, type GetEventsParams, type GetMeParams, type GetNodeChildrenParams, type GetNodeParams, type GetNodesParams, type GetOrderParams, type GetOrdersParams, type GetProductParams, type GetProductsParams, type GetPromoCodeParams, type GetPromoCodesParams, type GetProviderParams, type GetProvidersParams, type GetQuoteParams, type GetServiceParams, type GetServicesParams, type GetShippingRatesParams, type GetSlotsForDateParams, type GetSubscriptionParams, type GetSubscriptionPlansParams, type GetWorkflowExecutionParams, type GetWorkflowExecutionsParams, type GetWorkflowParams, type GetWorkflowsParams, type HandleInvitationParams, type Integration, type IntegrationProvider, type IntegrationStatus, type IntervalPeriod, type InventoryLevel, type InviteUserParams, type Language, type Location, type LoginAccountParams, type LogoutParams, type MagicLinkRequestParams, type MagicLinkVerifyParams, type Market, type Media, type MediaResolution, type Node, type NodeResult, type OAuthConnectParams, type OAuthDisconnectParams, type OrderCheckoutParams, type OrderShipping, type OrderStatus, type OutcastDate, type PaginatedResponse, type Parcel, type Payment, type PaymentMethod, PaymentMethodType, type PaymentRefund, type PhoneNumberConfirmParams, type Price, type PriceProvider, type ProcessRefundParams, type PromoCodeValidation, type Provider, type ProviderTimelinePoint, type ProviderWithTimeline, type PurchaseLabelResult, type Quote, type RemoveAudienceSubscriberParams, type RequestOptions, type SearchAccountsParams, type SearchBookingsParams, type Service, type ServiceDuration, type ServiceProvider, type ServiceProviderInput, type SetupAnalyticsParams, type ShipParams, type ShipResult, type Shipment, type ShipmentLine, type ShippingAddress, type ShippingMethod, type ShippingProviderShippo, type ShippingProviderStatus, type ShippingRate, type ShippingStatus, type ShippingWeightTier, type Slot, type SpecificDate, type Status, type SubscribeAudienceParams, type SubscribeParams, type Subscription, type SubscriptionInterval, type SubscriptionPrice, SubscriptionSource, type SubscriptionStatus, type SystemTemplateKey, type TestWebhookParams, type TimelinePoint, type TrackEmailOpenParams, type TriggerBuildsParams, type TriggerWorkflowParams, type UpdateAccountProfileParams, type UpdateAudienceParams, type UpdateBookingParams, type UpdateBusinessParams, type UpdateEventParams, type UpdateMediaParams, type UpdateNodeParams, type UpdateNotificationsParams, type UpdateOrderParams, type UpdateProductParams, type UpdatePromoCodeParams, type UpdateProviderParams, type UpdateServiceParams, type UpdateWorkflowParams, type UploadBusinessMediaParams, type WebhookEndpoint, type WebhookEventSubscription, type Workflow, type WorkflowConnection, type WorkflowExecution, type WorkflowHttpMethod, type WorkflowHttpNode, type WorkflowLoopNode, type WorkflowNode, type WorkflowSwitchNode, type WorkflowSwitchRule, type WorkflowTransformNode, type WorkflowTriggerNode, type WorkingDay, type WorkingHour, type WorkingTime, type Zone, type ZoneLocation, type ZoneScope };
1724
+ export { type Access, type AccountSubscribeParams, type AddAudienceSubscriberParams, type AddAudienceSubscriberResponse, type AddPhoneNumberParams, type Address, type ApiResponse, type Audience, type AudienceAccessResponse, type AudienceSubscribeResponse, type AudienceSubscriber, type Block, type BlockType, type Booking, type BookingCartItem, type BookingCheckoutParams, type BookingItem, type BookingQuoteItem, type BookingStatus, type BookingStoreState, type Business, type BusinessConfig, type BusinessEmails, type BusinessRole, type BusinessShippingProvider, type Condition, type CreateAudienceParams, type CreateBookingParams, type CreateBusinessParams, type CreateNodeParams, type CreateOrderParams, type CreatePortalSessionParams, type CreateProductParams, type CreatePromoCodeParams, type CreateProviderParams, type CreateServiceParams, type CreateWorkflowParams, type CustomsDeclaration, type CustomsItem, type DayAvailability, type DeleteAccountParams, type DeleteAudienceParams, type DeleteBusinessMediaParams, type DeleteBusinessParams, type DeleteNodeParams, type DeleteProductParams, type DeletePromoCodeParams, type DeleteProviderParams, type DeleteServiceParams, type DeleteWorkflowParams, type Discount, type EshopCartItem, type EshopItem, type EshopStoreState, type Event, type EventAction, type ExecutionStatus, type Filter, type GeoLocation, type GeoLocationBlock, type GeoLocationBlockProperties, type GeoLocationValue, type GetAnalyticsHealthParams, type GetAnalyticsParams, type GetAudienceParams, type GetAudienceSubscribersParams, type GetAudiencesParams, type GetAvailabilityParams, type GetBookingParams, type GetBookingQuoteParams, type GetBusinessMediaParams, type GetBusinessMediaParams2, type GetBusinessParams, type GetBusinessParentsParams, type GetBusinessServiceWorkingTimeParams, type GetBusinessesParams, type GetDeliveryStatsParams, type GetEventsParams, type GetMeParams, type GetNodeChildrenParams, type GetNodeParams, type GetNodesParams, type GetOrderParams, type GetOrdersParams, type GetProductParams, type GetProductsParams, type GetPromoCodeParams, type GetPromoCodesParams, type GetProviderParams, type GetProvidersParams, type GetQuoteParams, type GetServiceParams, type GetServicesParams, type GetShippingRatesParams, type GetSlotsForDateParams, type GetSubscriptionParams, type GetSubscriptionPlansParams, type GetWorkflowExecutionParams, type GetWorkflowExecutionsParams, type GetWorkflowParams, type GetWorkflowsParams, type HandleInvitationParams, type Integration, type IntegrationProvider, type IntegrationStatus, type IntervalPeriod, type InventoryLevel, type InviteUserParams, type Language, type Location, type LoginAccountParams, type LogoutParams, type MagicLinkRequestParams, type MagicLinkVerifyParams, type Market, type Media, type MediaResolution, type Node, type NodeResult, type OAuthConnectParams, type OAuthDisconnectParams, type OrderCheckoutParams, type OrderShipping, type OrderStatus, type OutcastDate, type PaginatedResponse, type Parcel, type Payment, type PaymentMethod, PaymentMethodType, type PaymentRefund, type PhoneNumberConfirmParams, type Price, type PriceProvider, type ProcessRefundParams, type PromoCodeValidation, type Provider, type ProviderTimelinePoint, type ProviderWithTimeline, type PurchaseLabelResult, type Quote, type RemoveAudienceSubscriberParams, type RemoveMemberParams, type RequestOptions, type SearchAccountsParams, type SearchBookingsParams, type Service, type ServiceDuration, type ServiceProvider, type ServiceProviderInput, type SetupAnalyticsParams, type ShipParams, type ShipResult, type Shipment, type ShipmentLine, type ShippingAddress, type ShippingMethod, type ShippingProviderShippo, type ShippingProviderStatus, type ShippingRate, type ShippingStatus, type ShippingWeightTier, type Slot, type SpecificDate, type Status, type SubscribeAudienceParams, type SubscribeParams, type Subscription, type SubscriptionInterval, type SubscriptionPrice, SubscriptionSource, type SubscriptionStatus, type SystemTemplateKey, type TestWebhookParams, type TimelinePoint, type TrackEmailOpenParams, type TriggerBuildsParams, type TriggerWorkflowParams, type UpdateAccountProfileParams, type UpdateAudienceParams, type UpdateBookingParams, type UpdateBusinessParams, type UpdateEventParams, type UpdateMediaParams, type UpdateNodeParams, type UpdateNotificationsParams, type UpdateOrderParams, type UpdateProductParams, type UpdatePromoCodeParams, type UpdateProviderParams, type UpdateServiceParams, type UpdateWorkflowParams, type UploadBusinessMediaParams, type WebhookEndpoint, type WebhookEventSubscription, type Workflow, type WorkflowConnection, type WorkflowExecution, type WorkflowHttpMethod, type WorkflowHttpNode, type WorkflowLoopNode, type WorkflowNode, type WorkflowSwitchNode, type WorkflowSwitchRule, type WorkflowTransformNode, type WorkflowTriggerNode, type WorkingDay, type WorkingHour, type WorkingTime, type Zone, type ZoneLocation, type ZoneScope };
package/dist/types.d.ts CHANGED
@@ -167,10 +167,6 @@ type IntegrationProvider = {
167
167
  } | {
168
168
  type: 'shippo';
169
169
  apiToken?: string;
170
- } | {
171
- type: 'deepseek';
172
- apiKey?: string;
173
- baseUrl: string;
174
170
  } | {
175
171
  type: 'google';
176
172
  clientId?: string;
@@ -359,7 +355,6 @@ interface BusinessConfig {
359
355
  integrations: Integration[];
360
356
  paymentId?: string | null;
361
357
  shippingIds: string[];
362
- aiId?: string | null;
363
358
  analyticsIds: string[];
364
359
  emails: BusinessEmails;
365
360
  }
@@ -1306,6 +1301,9 @@ interface InviteUserParams {
1306
1301
  email: string;
1307
1302
  role?: BusinessRole;
1308
1303
  }
1304
+ interface RemoveMemberParams {
1305
+ accountId: string;
1306
+ }
1309
1307
  interface HandleInvitationParams {
1310
1308
  token: string;
1311
1309
  action: string;
@@ -1313,9 +1311,6 @@ interface HandleInvitationParams {
1313
1311
  interface TestWebhookParams {
1314
1312
  webhook: any;
1315
1313
  }
1316
- interface GenerateBlocksParams {
1317
- [key: string]: any;
1318
- }
1319
1314
  interface AccountSubscribeParams {
1320
1315
  target?: string;
1321
1316
  identifier: string;
@@ -1726,4 +1721,4 @@ interface ShipParams {
1726
1721
  lines: ShipmentLine[];
1727
1722
  }
1728
1723
 
1729
- export { type Access, type AccountSubscribeParams, type AddAudienceSubscriberParams, type AddAudienceSubscriberResponse, type AddPhoneNumberParams, type Address, type ApiResponse, type Audience, type AudienceAccessResponse, type AudienceSubscribeResponse, type AudienceSubscriber, type Block, type BlockType, type Booking, type BookingCartItem, type BookingCheckoutParams, type BookingItem, type BookingQuoteItem, type BookingStatus, type BookingStoreState, type Business, type BusinessConfig, type BusinessEmails, type BusinessRole, type BusinessShippingProvider, type Condition, type CreateAudienceParams, type CreateBookingParams, type CreateBusinessParams, type CreateNodeParams, type CreateOrderParams, type CreatePortalSessionParams, type CreateProductParams, type CreatePromoCodeParams, type CreateProviderParams, type CreateServiceParams, type CreateWorkflowParams, type CustomsDeclaration, type CustomsItem, type DayAvailability, type DeleteAccountParams, type DeleteAudienceParams, type DeleteBusinessMediaParams, type DeleteBusinessParams, type DeleteNodeParams, type DeleteProductParams, type DeletePromoCodeParams, type DeleteProviderParams, type DeleteServiceParams, type DeleteWorkflowParams, type Discount, type EshopCartItem, type EshopItem, type EshopStoreState, type Event, type EventAction, type ExecutionStatus, type Filter, type GenerateBlocksParams, type GeoLocation, type GeoLocationBlock, type GeoLocationBlockProperties, type GeoLocationValue, type GetAnalyticsHealthParams, type GetAnalyticsParams, type GetAudienceParams, type GetAudienceSubscribersParams, type GetAudiencesParams, type GetAvailabilityParams, type GetBookingParams, type GetBookingQuoteParams, type GetBusinessMediaParams, type GetBusinessMediaParams2, type GetBusinessParams, type GetBusinessParentsParams, type GetBusinessServiceWorkingTimeParams, type GetBusinessesParams, type GetDeliveryStatsParams, type GetEventsParams, type GetMeParams, type GetNodeChildrenParams, type GetNodeParams, type GetNodesParams, type GetOrderParams, type GetOrdersParams, type GetProductParams, type GetProductsParams, type GetPromoCodeParams, type GetPromoCodesParams, type GetProviderParams, type GetProvidersParams, type GetQuoteParams, type GetServiceParams, type GetServicesParams, type GetShippingRatesParams, type GetSlotsForDateParams, type GetSubscriptionParams, type GetSubscriptionPlansParams, type GetWorkflowExecutionParams, type GetWorkflowExecutionsParams, type GetWorkflowParams, type GetWorkflowsParams, type HandleInvitationParams, type Integration, type IntegrationProvider, type IntegrationStatus, type IntervalPeriod, type InventoryLevel, type InviteUserParams, type Language, type Location, type LoginAccountParams, type LogoutParams, type MagicLinkRequestParams, type MagicLinkVerifyParams, type Market, type Media, type MediaResolution, type Node, type NodeResult, type OAuthConnectParams, type OAuthDisconnectParams, type OrderCheckoutParams, type OrderShipping, type OrderStatus, type OutcastDate, type PaginatedResponse, type Parcel, type Payment, type PaymentMethod, PaymentMethodType, type PaymentRefund, type PhoneNumberConfirmParams, type Price, type PriceProvider, type ProcessRefundParams, type PromoCodeValidation, type Provider, type ProviderTimelinePoint, type ProviderWithTimeline, type PurchaseLabelResult, type Quote, type RemoveAudienceSubscriberParams, type RequestOptions, type SearchAccountsParams, type SearchBookingsParams, type Service, type ServiceDuration, type ServiceProvider, type ServiceProviderInput, type SetupAnalyticsParams, type ShipParams, type ShipResult, type Shipment, type ShipmentLine, type ShippingAddress, type ShippingMethod, type ShippingProviderShippo, type ShippingProviderStatus, type ShippingRate, type ShippingStatus, type ShippingWeightTier, type Slot, type SpecificDate, type Status, type SubscribeAudienceParams, type SubscribeParams, type Subscription, type SubscriptionInterval, type SubscriptionPrice, SubscriptionSource, type SubscriptionStatus, type SystemTemplateKey, type TestWebhookParams, type TimelinePoint, type TrackEmailOpenParams, type TriggerBuildsParams, type TriggerWorkflowParams, type UpdateAccountProfileParams, type UpdateAudienceParams, type UpdateBookingParams, type UpdateBusinessParams, type UpdateEventParams, type UpdateMediaParams, type UpdateNodeParams, type UpdateNotificationsParams, type UpdateOrderParams, type UpdateProductParams, type UpdatePromoCodeParams, type UpdateProviderParams, type UpdateServiceParams, type UpdateWorkflowParams, type UploadBusinessMediaParams, type WebhookEndpoint, type WebhookEventSubscription, type Workflow, type WorkflowConnection, type WorkflowExecution, type WorkflowHttpMethod, type WorkflowHttpNode, type WorkflowLoopNode, type WorkflowNode, type WorkflowSwitchNode, type WorkflowSwitchRule, type WorkflowTransformNode, type WorkflowTriggerNode, type WorkingDay, type WorkingHour, type WorkingTime, type Zone, type ZoneLocation, type ZoneScope };
1724
+ export { type Access, type AccountSubscribeParams, type AddAudienceSubscriberParams, type AddAudienceSubscriberResponse, type AddPhoneNumberParams, type Address, type ApiResponse, type Audience, type AudienceAccessResponse, type AudienceSubscribeResponse, type AudienceSubscriber, type Block, type BlockType, type Booking, type BookingCartItem, type BookingCheckoutParams, type BookingItem, type BookingQuoteItem, type BookingStatus, type BookingStoreState, type Business, type BusinessConfig, type BusinessEmails, type BusinessRole, type BusinessShippingProvider, type Condition, type CreateAudienceParams, type CreateBookingParams, type CreateBusinessParams, type CreateNodeParams, type CreateOrderParams, type CreatePortalSessionParams, type CreateProductParams, type CreatePromoCodeParams, type CreateProviderParams, type CreateServiceParams, type CreateWorkflowParams, type CustomsDeclaration, type CustomsItem, type DayAvailability, type DeleteAccountParams, type DeleteAudienceParams, type DeleteBusinessMediaParams, type DeleteBusinessParams, type DeleteNodeParams, type DeleteProductParams, type DeletePromoCodeParams, type DeleteProviderParams, type DeleteServiceParams, type DeleteWorkflowParams, type Discount, type EshopCartItem, type EshopItem, type EshopStoreState, type Event, type EventAction, type ExecutionStatus, type Filter, type GeoLocation, type GeoLocationBlock, type GeoLocationBlockProperties, type GeoLocationValue, type GetAnalyticsHealthParams, type GetAnalyticsParams, type GetAudienceParams, type GetAudienceSubscribersParams, type GetAudiencesParams, type GetAvailabilityParams, type GetBookingParams, type GetBookingQuoteParams, type GetBusinessMediaParams, type GetBusinessMediaParams2, type GetBusinessParams, type GetBusinessParentsParams, type GetBusinessServiceWorkingTimeParams, type GetBusinessesParams, type GetDeliveryStatsParams, type GetEventsParams, type GetMeParams, type GetNodeChildrenParams, type GetNodeParams, type GetNodesParams, type GetOrderParams, type GetOrdersParams, type GetProductParams, type GetProductsParams, type GetPromoCodeParams, type GetPromoCodesParams, type GetProviderParams, type GetProvidersParams, type GetQuoteParams, type GetServiceParams, type GetServicesParams, type GetShippingRatesParams, type GetSlotsForDateParams, type GetSubscriptionParams, type GetSubscriptionPlansParams, type GetWorkflowExecutionParams, type GetWorkflowExecutionsParams, type GetWorkflowParams, type GetWorkflowsParams, type HandleInvitationParams, type Integration, type IntegrationProvider, type IntegrationStatus, type IntervalPeriod, type InventoryLevel, type InviteUserParams, type Language, type Location, type LoginAccountParams, type LogoutParams, type MagicLinkRequestParams, type MagicLinkVerifyParams, type Market, type Media, type MediaResolution, type Node, type NodeResult, type OAuthConnectParams, type OAuthDisconnectParams, type OrderCheckoutParams, type OrderShipping, type OrderStatus, type OutcastDate, type PaginatedResponse, type Parcel, type Payment, type PaymentMethod, PaymentMethodType, type PaymentRefund, type PhoneNumberConfirmParams, type Price, type PriceProvider, type ProcessRefundParams, type PromoCodeValidation, type Provider, type ProviderTimelinePoint, type ProviderWithTimeline, type PurchaseLabelResult, type Quote, type RemoveAudienceSubscriberParams, type RemoveMemberParams, type RequestOptions, type SearchAccountsParams, type SearchBookingsParams, type Service, type ServiceDuration, type ServiceProvider, type ServiceProviderInput, type SetupAnalyticsParams, type ShipParams, type ShipResult, type Shipment, type ShipmentLine, type ShippingAddress, type ShippingMethod, type ShippingProviderShippo, type ShippingProviderStatus, type ShippingRate, type ShippingStatus, type ShippingWeightTier, type Slot, type SpecificDate, type Status, type SubscribeAudienceParams, type SubscribeParams, type Subscription, type SubscriptionInterval, type SubscriptionPrice, SubscriptionSource, type SubscriptionStatus, type SystemTemplateKey, type TestWebhookParams, type TimelinePoint, type TrackEmailOpenParams, type TriggerBuildsParams, type TriggerWorkflowParams, type UpdateAccountProfileParams, type UpdateAudienceParams, type UpdateBookingParams, type UpdateBusinessParams, type UpdateEventParams, type UpdateMediaParams, type UpdateNodeParams, type UpdateNotificationsParams, type UpdateOrderParams, type UpdateProductParams, type UpdatePromoCodeParams, type UpdateProviderParams, type UpdateServiceParams, type UpdateWorkflowParams, type UploadBusinessMediaParams, type WebhookEndpoint, type WebhookEventSubscription, type Workflow, type WorkflowConnection, type WorkflowExecution, type WorkflowHttpMethod, type WorkflowHttpNode, type WorkflowLoopNode, type WorkflowNode, type WorkflowSwitchNode, type WorkflowSwitchRule, type WorkflowTransformNode, type WorkflowTriggerNode, type WorkingDay, type WorkingHour, type WorkingTime, type Zone, type ZoneLocation, type ZoneScope };
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types/api.ts","../src/types/index.ts"],"names":["SubscriptionSource","PaymentMethodType"],"mappings":";AAg0BO,IAAK,kBAAA,qBAAAA,mBAAAA,KAAL;AACL,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,oBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AAHC,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;;;ACpxBL,IAAK,iBAAA,qBAAAC,kBAAAA,KAAL;AACN,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,mBAAA,YAAA,CAAA,GAAa,aAAA;AAFF,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA","file":"types.js","sourcesContent":["import type { Block, ZoneLocation, WorkflowNode, Status, SubscriptionPrice, Address } from \"./index\";\n\nexport interface RequestOptions<T = any> {\n headers?: Record<string, string>;\n params?: Record<string, any>;\n transformRequest?: (data: any) => any;\n onSuccess?: (ctx: {\n data: T;\n method: string;\n url: string;\n status: number;\n request?: any;\n durationMs?: number;\n requestId?: string | null;\n }) => void | Promise<void>;\n onError?: (ctx: {\n error: any;\n method: string;\n url: string;\n status?: number;\n request?: any;\n response?: any;\n durationMs?: number;\n requestId?: string | null;\n aborted?: boolean;\n }) => void | Promise<void>;\n}\n\nexport interface EshopItem {\n productId: string;\n variantId: string;\n quantity: number;\n}\n\nexport interface GetQuoteParams {\n items: EshopItem[];\n paymentMethodId?: string;\n shippingMethodId?: string;\n promoCode?: string;\n blocks?: any[];\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface OrderCheckoutParams {\n items: EshopItem[];\n paymentMethodId?: string;\n blocks?: any[];\n shippingMethodId: string;\n promoCodeId?: string;\n /** Shipping address for the order */\n shippingAddress?: Address;\n /** Billing address (defaults to shipping address if not provided) */\n billingAddress?: Address;\n}\n\nexport interface GetProductsParams {\n ids?: string[];\n blocks?: any[] | null;\n filterId?: string;\n status?: string;\n limit?: number;\n cursor?: string;\n query?: string;\n statuses?: string[];\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: number | null;\n createdAtTo?: number | null;\n}\n\nexport interface GetNodesParams {\n businessId?: string;\n parentId?: string;\n limit?: number;\n cursor?: string;\n ids?: string[];\n query?: string;\n type?: string;\n key?: string;\n statuses?: string[];\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: string;\n createdAtTo?: string;\n includeChildren?: boolean;\n}\n\nexport interface CreateNodeParams {\n businessId?: string;\n key: string;\n parentId?: string | null;\n blocks?: any[];\n slug?: Record<string, string>;\n writeAccess?: 'public' | 'private';\n audienceIds?: string[];\n status?: string;\n\n emailSubject?: Record<string, string>;\n}\n\nexport interface UpdateNodeParams {\n id: string;\n businessId?: string;\n key?: string;\n parentId?: string | null;\n blocks?: any[];\n slug?: Record<string, string>;\n writeAccess?: 'public' | 'private';\n audienceIds?: string[];\n status?: string;\n\n emailSubject?: Record<string, string>;\n}\n\nexport interface GetNodeParams {\n id?: string;\n slug?: string;\n key?: string;\n businessId?: string;\n}\n\nexport interface DeleteNodeParams {\n id: string;\n businessId?: string;\n}\n\nexport interface GetNodeChildrenParams {\n id: string;\n businessId?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface UploadBusinessMediaParams {\n businessId?: string;\n files?: File[];\n urls?: string[];\n}\n\nexport interface DeleteBusinessMediaParams {\n id: string;\n mediaId: string;\n}\n\nexport interface UpdateMediaParams {\n mediaId: string;\n businessId?: string;\n seo?: any;\n title?: string;\n description?: string;\n alt?: string;\n}\n\nexport interface GetBusinessMediaParams {\n businessId?: string;\n cursor?: string | null;\n limit: number;\n ids?: string[];\n query?: string;\n mimeType?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n}\n\nexport interface LoginAccountParams {\n email?: string;\n provider: string;\n token?: string;\n}\n\nexport interface MagicLinkRequestParams {\n email: string;\n businessId?: string;\n}\n\nexport interface MagicLinkVerifyParams {\n email: string;\n code: string;\n}\n\nexport interface AddPhoneNumberParams {\n phoneNumber: string;\n}\n\nexport interface PhoneNumberConfirmParams {\n phoneNumber: string;\n code: string;\n}\n\nexport interface GetServicesParams {\n businessId?: string;\n providerId?: string;\n filterId?: string;\n limit?: number;\n cursor?: string;\n query?: string;\n ids?: string[];\n statuses?: string[];\n blocks?: any[];\n sortField?: string;\n sortDirection?: string;\n priceFrom?: number;\n priceTo?: number;\n}\n\nexport interface BookingCheckoutParams {\n businessId?: string;\n items: any[];\n paymentMethodId?: string;\n blocks?: any[];\n promoCodeId?: string;\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface BookingQuoteItem {\n serviceId: string;\n from: number;\n to: number;\n providerId: string;\n}\n\nexport interface GetBookingQuoteParams {\n businessId?: string;\n items: BookingQuoteItem[];\n paymentMethodId?: string;\n promoCode?: string;\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface TimelinePoint {\n timestamp: number;\n concurrent: number;\n}\n\nexport interface WorkingHour {\n from: number;\n to: number;\n}\n\nexport interface WorkingDay {\n day: string;\n workingHours: WorkingHour[];\n}\n\nexport interface OutcastDate {\n month: number;\n day: number;\n workingHours: WorkingHour[];\n}\n\nexport interface SpecificDate {\n date: number;\n workingHours: WorkingHour[];\n}\n\nexport interface WorkingTime {\n workingDays: WorkingDay[];\n outcastDates: OutcastDate[];\n specificDates: SpecificDate[];\n}\n\nexport interface ServiceProvider {\n id: string;\n providerId: string;\n workingTime: WorkingTime;\n provider?: ProviderWithTimeline;\n}\n\nexport interface ProviderWithTimeline {\n id: string;\n key: string;\n businessId: string;\n seo: any;\n status: Status;\n concurrentLimit: number;\n audienceIds: string[];\n blocks: Block[];\n createdAt: number;\n updatedAt: number;\n workingTime: WorkingTime | null;\n timeline: TimelinePoint[];\n}\n\nexport interface GetAnalyticsParams {\n metrics?: string[];\n period?: string;\n startDate?: string;\n endDate?: string;\n interval?: string;\n}\n\nexport interface GetAnalyticsHealthParams {\n \n}\n\nexport interface TrackEmailOpenParams {\n trackingPixelId: string;\n}\n\nexport interface GetDeliveryStatsParams {}\n\nexport type BusinessRole = 'admin' | 'owner' | 'super';\n\nexport interface Discount {\n type: \"items_percentage\" | \"items_fixed\" | \"shipping_percentage\";\n marketId: string;\n bps?: number;\n amount?: number;\n}\n\nexport interface Condition {\n type:\n | \"products\"\n | \"services\"\n | \"min_order_amount\"\n | \"date_range\"\n | \"max_uses\"\n | \"max_uses_per_user\";\n value: string[] | number | { start?: number; end?: number };\n}\n\nexport interface CreatePromoCodeParams {\n code: string;\n discounts: Discount[];\n conditions: Condition[];\n}\n\nexport interface UpdatePromoCodeParams {\n id: string;\n code: string;\n discounts: Discount[];\n conditions: Condition[];\n status?: Status;\n}\n\nexport interface DeletePromoCodeParams {\n id: string;\n}\n\nexport interface GetPromoCodeParams {\n id: string;\n}\n\nexport interface GetPromoCodesParams {\n statuses?: string[];\n query?: string;\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: string;\n createdAtTo?: string;\n startsAtFrom?: string;\n startsAtTo?: string;\n expiresAtFrom?: string;\n expiresAtTo?: string;\n}\n\nexport interface CreateBusinessParams {\n key: string;\n slug?: string;\n description?: string;\n email?: string;\n phone?: string;\n website?: string;\n address?: any;\n settings?: any;\n [key: string]: any;\n}\n\nexport interface UpdateBusinessParams {\n id: string;\n key: string;\n networkKey: string | null;\n timezone: string;\n status: Status;\n configs: any;\n}\n\nexport interface DeleteBusinessParams {\n id: string;\n}\n\nexport interface GetBusinessParams {}\n\nexport interface GetBusinessParentsParams {}\n\nexport interface TriggerBuildsParams {\n id: string;\n}\n\nexport interface GetSubscriptionParams {}\n\nexport interface SubscribeParams {\n planId: string;\n successUrl: string;\n cancelUrl: string;\n}\n\nexport interface CreatePortalSessionParams {\n returnUrl: string;\n}\n\nexport interface InviteUserParams {\n email: string;\n role?: BusinessRole;\n}\n\nexport interface HandleInvitationParams {\n token: string;\n action: string;\n}\n\nexport interface TestWebhookParams {\n webhook: any;\n}\n\nexport interface GenerateBlocksParams {\n [key: string]: any;\n}\n\n\nexport interface AccountSubscribeParams {\n target?: string;\n identifier: string;\n planId?: string;\n successUrl?: string;\n cancelUrl?: string;\n}\n\nexport interface CreateProductParams {\n key: string;\n description?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n variants?: any[];\n status?: string;\n [key: string]: any;\n}\n\nexport interface UpdateProductParams {\n id: string;\n key?: string;\n description?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n variants?: any[];\n status?: string;\n [key: string]: any;\n}\n\nexport interface DeleteProductParams {\n id: string;\n}\n\nexport interface GetProductParams {\n id?: string;\n slug?: string;\n}\n\nexport interface GetOrderParams {\n id: string;\n}\n\nexport interface GetOrdersParams {\n accountId?: string | null;\n statuses?: string[] | null;\n productIds?: string[];\n query?: string | null;\n limit?: number | null;\n cursor?: string | null;\n sortField?: string | null;\n sortDirection?: string | null;\n createdAtFrom?: string | null;\n createdAtTo?: string | null;\n}\n\nexport interface UpdateOrderParams {\n id: string;\n status: string;\n blocks: any[];\n items: any[];\n address?: any | null;\n billingAddress?: any | null;\n payment?: any | null;\n}\n\nexport interface CreateOrderParams {\n [key: string]: any;\n}\n\nexport interface CreateBookingParams {\n businessId?: string;\n [key: string]: any;\n}\n\nexport interface UpdateBookingParams {\n id: string;\n status?: string;\n blocks?: any;\n parts?: any;\n payment?: any | null;\n [key: string]: any;\n}\n\nexport interface CreateProviderParams {\n businessId?: string;\n key: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n concurrentLimit?: number;\n status?: Status;\n [key: string]: any;\n}\n\nexport interface UpdateProviderParams {\n id: string;\n businessId?: string;\n key?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n concurrentLimit?: number;\n status?: Status;\n [key: string]: any;\n}\n\nexport interface DeleteProviderParams {\n id: string;\n businessId?: string;\n}\n\nexport interface ServiceProviderInput {\n id?: string;\n providerId: string;\n prices?: any[];\n durations?: any[];\n isApprovalRequired?: boolean;\n workingTime: WorkingTime;\n audienceIds: string[];\n}\n\nexport interface CreateServiceParams {\n businessId?: string;\n key: string;\n blocks?: any[];\n filters?: any[];\n status?: Status;\n providers?: ServiceProviderInput[];\n [key: string]: any;\n}\n\nexport interface UpdateServiceParams {\n id: string;\n businessId?: string;\n key?: string;\n blocks?: any[];\n filters?: any[];\n status?: Status;\n providers?: ServiceProviderInput[];\n [key: string]: any;\n}\n\nexport interface DeleteServiceParams {\n id: string;\n businessId?: string;\n}\n\nexport interface GetServiceParams {\n id?: string;\n slug?: string;\n businessId?: string;\n}\n\nexport interface GetProvidersParams {\n businessId?: string;\n serviceId?: string;\n filterId?: string;\n ids?: string[];\n query?: string | null;\n statuses?: string[] | null;\n limit?: number;\n cursor?: string;\n sortField?: string | null;\n sortDirection?: string | null;\n createdAtFrom?: string | null;\n createdAtTo?: string | null;\n blocks?: string | null;\n}\n\nexport interface GetProviderParams {\n id?: string;\n slug?: string;\n businessId?: string;\n}\n\nexport interface GetBusinessServiceWorkingTimeParams {\n providerId: string;\n serviceId?: string;\n}\n\nexport interface GetBookingParams {\n id: string;\n businessId?: string;\n}\n\nexport interface SearchBookingsParams {\n businessId?: string;\n query?: string;\n serviceIds?: string[];\n providerIds?: string[];\n accountId?: string;\n from?: number;\n to?: number;\n status?: string;\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortOrder?: string;\n}\n\nexport interface UpdateAccountProfileParams {\n phoneNumbers?: string[];\n addresses?: any[];\n apiTokens?: any[] | null;\n}\n\nexport interface SearchAccountsParams {\n limit?: number;\n cursor?: string | null;\n query?: string;\n owner?: string;\n}\n\nexport interface DeleteAccountParams {}\n\nexport interface TrackEmailOpenParams {\n trackingPixelId: string;\n}\n\nexport interface GetDeliveryStatsParams {}\n\nexport interface UpdateNotificationsParams {}\n\nexport interface GetMeParams {}\n\nexport interface LogoutParams {}\n\nexport interface GetBusinessesParams {\n query?: string;\n isNetwork?: boolean;\n statuses?: string[];\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: \"asc\" | \"desc\";\n}\n\nexport interface GetSubscriptionPlansParams {}\n\nexport interface SetupAnalyticsParams {\n [key: string]: any;\n}\n\nexport interface GetBusinessMediaParams2 {\n id: string;\n cursor?: string | null;\n limit: number;\n ids?: string[];\n query?: string;\n mimeType?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n}\n\nexport interface DeleteProductParams {\n id: string;\n}\n\nexport interface ProcessRefundParams {\n id: string;\n entity: string;\n amount: number;\n}\n\nexport type SystemTemplateKey =\n | \"system:booking-business-update\"\n | \"system:booking-customer-update\"\n | \"system:user-invitation\"\n | \"system:order-status-update\"\n | \"system:user-confirmation\"\n | \"system:forgot-password\";\n\nexport interface GetSlotsForDateParams {\n serviceId: string;\n date: Date;\n timezone: string;\n providerId?: string;\n}\n\nexport interface GetAvailabilityParams {\n serviceId: string;\n from: Date;\n to: Date;\n timezone: string;\n}\n\nexport interface DayAvailability {\n date: Date;\n available: boolean;\n}\n\nexport interface Slot {\n id: string;\n serviceId: string;\n providerId: string;\n from: number;\n to: number;\n timeText: string;\n dateText: string;\n}\n\nexport interface CreateWorkflowParams {\n businessId?: string;\n key: string;\n status?: Status;\n nodes: Record<string, WorkflowNode>;\n\n schedule?: string;\n}\n\nexport interface UpdateWorkflowParams {\n id: string;\n key: string;\n status?: Status;\n nodes: Record<string, WorkflowNode>;\n\n schedule?: string;\n}\n\nexport interface DeleteWorkflowParams {\n id: string;\n}\n\nexport interface GetWorkflowParams {\n id: string;\n}\n\nexport interface GetWorkflowsParams {\n businessId?: string;\n ids?: string[];\n query?: string;\n statuses?: string[];\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n createdAtFrom?: number;\n createdAtTo?: number;\n}\n\nexport interface TriggerWorkflowParams {\n\n secret: string;\n\n [key: string]: any;\n}\n\nexport interface GetWorkflowExecutionsParams {\n workflowId: string;\n businessId?: string;\n status?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface GetWorkflowExecutionParams {\n workflowId: string;\n executionId: string;\n businessId?: string;\n}\n\nexport interface CreateAudienceParams {\n key: string;\n name: string;\n prices?: SubscriptionPrice[];\n}\n\nexport interface UpdateAudienceParams {\n id: string;\n key?: string;\n name?: string;\n prices?: SubscriptionPrice[];\n status?: Status;\n}\n\nexport interface GetAudienceParams {\n id: string;\n}\n\nexport interface GetAudiencesParams {\n ids?: string[];\n statuses?: string[];\n query?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface SubscribeAudienceParams {\n id: string;\n \n priceId?: string;\n successUrl: string;\n cancelUrl: string;\n}\n\nexport interface DeleteAudienceParams {\n id: string;\n}\n\nexport interface GetAudienceSubscribersParams {\n id: string;\n limit?: number;\n cursor?: string;\n}\n\nexport enum SubscriptionSource {\n Signup = 'signup',\n Admin = 'admin',\n Import = 'import'\n}\n\nexport interface AudienceSubscriber {\n accountId: string;\n email: string;\n subscribedAt?: number;\n source?: SubscriptionSource;\n}\n\nexport interface RemoveAudienceSubscriberParams {\n id: string;\n accountId: string;\n}\n\nexport interface AddAudienceSubscriberParams {\n id: string;\n email: string;\n}\n\nexport interface AddAudienceSubscriberResponse {\n subscriber: AudienceSubscriber | null;\n skipped: boolean;\n}\n\nexport interface GetEventsParams {\n entity: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface UpdateEventParams {\n eventId: string;\n event: import('./index').EventAction;\n}\n\nexport interface OAuthConnectParams {\n businessId: string;\n provider: string;\n code: string;\n redirectUri: string;\n}\n\nexport interface OAuthDisconnectParams {\n businessId: string;\n provider: string;\n}\n\n// Shipping API Parameters\n\n/** Get shipping rates for a shipment */\nexport interface GetShippingRatesParams {\n orderId: string;\n shippingProviderId: string;\n fromAddress: Address;\n toAddress: Address;\n parcel: import('./index').Parcel;\n customsDeclaration?: import('./index').CustomsDeclaration;\n}\n\n/** Ship items: creates shipment + purchases label atomically */\nexport interface ShipParams {\n orderId: string;\n rateId: string;\n carrier: string;\n service: string;\n locationId: string;\n lines: import('./index').ShipmentLine[];\n}\n\n","export * from './api';\n\nexport interface PaymentRefund {\n\tid: string;\n\tentity: string;\n\ttotal: number;\n\tproviderRefundId?: string;\n\tstatus: string;\n\tcreatedAt: number;\n}\n\nexport interface Payment {\n\tcurrency: string;\n\tmarket: string;\n\tsubtotal: number;\n\tshipping: number;\n\tdiscount: number;\n\ttotal: number;\n\tpaid: number;\n\ttax?: {\n\t\tamount: number;\n\t\tmodeSnapshot?: string;\n\t\trateBps: number;\n\t\tlines: Array<{ rateBps: number; amount: number; label?: string; scope?: string }>;\n\t};\n\tpromoCode?: {\n\t\tid: string;\n\t\tcode: string;\n\t\ttype: string;\n\t\tvalue: number;\n\t};\n\ttype: PaymentMethodType;\n\tprovider?: {\n\t\tcustomerId: string;\n\t\tpaymentIntentId?: string;\n\t\tsubscriptionId?: string;\n\t\tpriceId?: string;\n\t};\n\trefunds: PaymentRefund[];\n\tzoneId?: string;\n\tpaymentMethodId?: string;\n\tshippingMethodId?: string;\n}\n\nexport enum PaymentMethodType {\n\tCash = \"cash\",\n\tCreditCard = \"credit_card\",\n\t// Free REMOVED - handled with logic: if total == 0, skip payment\n\t// NOTE: Apple Pay and Google Pay are NOT separate PaymentMethodTypes\n\t// They are handled automatically by Stripe's Payment Element\n}\n\nexport interface PromoCodeValidation {\n\tpromoCodeId: string;\n\tcode: string;\n\tdiscounts: any[];\n\tconditions: any[];\n}\n\nexport interface Quote {\n\tmarket: string;\n\tzone: Zone;\n\tsubtotal: number;\n\tshipping: number;\n\tdiscount: number;\n\ttax: number;\n\ttotal: number;\n\tshippingMethod: ShippingMethod | null;\n\tpaymentMethod: PaymentMethod | null;\n\tpromoCode: PromoCodeValidation | null;\n\tpayment: Payment;\n\tchargeAmount: number;\n\tid?: string;\n\texpiresAt?: number;\n}\n\n/** Price for products and services (market-based, no provider fields) */\nexport interface Price {\n\tcurrency: string;\n\tmarket: string;\n\tamount: number;\n\tcompareAt?: number;\n\taudienceId?: string;\n}\n\n/** Interval period for subscription pricing */\nexport type IntervalPeriod = 'month' | 'year';\n\n/** Subscription interval configuration */\nexport interface SubscriptionInterval {\n\tperiod: IntervalPeriod;\n\tcount: number;\n}\n\n/** Price provider configuration (e.g., Stripe) */\nexport interface PriceProvider {\n\ttype: string;\n\tid: string;\n}\n\n/** Price for audiences/subscriptions (provider-based with interval) */\nexport interface SubscriptionPrice {\n\tcurrency: string;\n\tamount: number;\n\tcompareAt?: number;\n\tinterval?: SubscriptionInterval;\n\tproviders: PriceProvider[];\n}\n\n/**\n * Full address for shipping, billing, and locations.\n * Used for order addresses and shipping labels.\n */\nexport interface Address {\n\tname: string;\n\tcompany?: string | null;\n\tstreet1: string;\n\tstreet2?: string | null;\n\tcity: string;\n\tstate: string;\n\tpostalCode: string;\n\tcountry: string;\n\tphone?: string | null;\n\temail?: string | null;\n}\n\n/**\n * Simple geo location for CMS map/location blocks.\n * Just coordinates and an optional label for display.\n */\nexport interface GeoLocation {\n\tcoordinates?: { lat: number; lon: number } | null;\n\tlabel?: string | null;\n}\n\n\n/**\n * Used for zone matching - simplified location with optional fields.\n */\nexport interface ZoneLocation {\n\tcountry?: string | null;\n\tstate?: string | null;\n\tcity?: string | null;\n\tpostalCode?: string | null;\n}\n\nexport interface EshopCartItem {\n\tid: string;\n\tproductId: string;\n\tvariantId: string;\n\tproductName: string;\n\tproductSlug: string;\n\tvariantAttributes: Record<string, any>;\n\tprice: Price;\n\tquantity: number;\n\taddedAt: number;\n}\n\nexport interface BookingCartItem {\n\tid: string;\n\tserviceId: string;\n\tserviceName: string;\n\tdate: string;\n\tfrom: number;\n\tto: number;\n\ttimeText: string;\n\tproviderId?: string;\n\tblocks: any[];\n}\n\n/** Integration status */\nexport type IntegrationStatus = 'active' | 'inactive';\n\n/** Integration provider — typed data per service */\nexport type IntegrationProvider =\n\t| { type: 'stripe'; secretKey?: string; publishableKey: string; webhookSecret?: string; currency: string }\n\t| { type: 'shippo'; apiToken?: string }\n\t| { type: 'deepseek'; apiKey?: string; baseUrl: string }\n\t| { type: 'google'; clientId?: string; clientSecret?: string; accessToken?: string; refreshToken?: string;\n\t\ttokenExpiresAt?: number; scopes: string[]; accountEmail?: string | null; connectedAt: number }\n\t| { type: 'google_analytics4'; measurementId: string };\n\n/** Unified integration — single pool for all third-party service configs */\nexport interface Integration {\n\tid: string;\n\tname: string;\n\tstatus: IntegrationStatus;\n\tprovider: IntegrationProvider;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface ShippingWeightTier {\n\tupToGrams: number;\n\tamount: number;\n}\n\nexport interface PaymentMethod {\n\tid: string;\n\tname: Record<string, string>;\n\ttype: PaymentMethodType;\n}\n\nexport interface ShippingMethod {\n\tid: string;\n\tname: Record<string, string>;\n\ttaxable: boolean;\n\tetaText: string;\n\tlocationId?: string;\n\tamount: number;\n\tfreeAbove?: number;\n\tweightTiers?: ShippingWeightTier[];\n}\n\nexport interface Location {\n\tid: string;\n\tkey: string;\n\t/** Ship-from address for shipping labels */\n\taddress: Address;\n\tisPickupLocation: boolean;\n}\n\nexport interface InventoryLevel {\n\tlocationId: string;\n\tavailable: number;\n\treserved: number;\n}\n\nexport type ZoneScope = \"all\" | \"order\" | \"booking\";\n\nexport interface Zone {\n\tid: string;\n\tname: string;\n\tmarketId: string;\n\tscope: ZoneScope;\n\tcountries: string[];\n\tstates: string[];\n\tpostalCodes: string[];\n\ttaxBps: number;\n\tpaymentMethods: PaymentMethod[];\n\tshippingMethods: ShippingMethod[];\n}\n\nexport interface Market {\n\tid: string;\n\tcurrency: string;\n\ttaxMode: \"exclusive\" | \"inclusive\";\n}\n\nexport interface Language {\n\tid: string;\n}\n\nexport interface BusinessEmails {\n\tbilling: string;\n\tsupport: string;\n}\n\nexport type WebhookEventSubscription =\n\t| { event: 'node.created'; parentKey?: string }\n\t| { event: 'node.updated'; key?: string }\n\t| { event: 'node.deleted'; key?: string }\n\t| { event: 'order.created' }\n\t| { event: 'order.updated' }\n\t| { event: 'order.status_changed' }\n\t| { event: 'order.payment_received' }\n\t| { event: 'order.payment_failed' }\n\t| { event: 'order.refunded' }\n\t| { event: 'order.completed' }\n\t| { event: 'order.cancelled' }\n\t| { event: 'order.shipment_created' }\n\t| { event: 'order.shipment_in_transit' }\n\t| { event: 'order.shipment_out_for_delivery' }\n\t| { event: 'order.shipment_delivered' }\n\t| { event: 'order.shipment_failed' }\n\t| { event: 'order.shipment_returned' }\n\t| { event: 'order.shipment_status_changed' }\n\t| { event: 'booking.created' }\n\t| { event: 'booking.updated' }\n\t| { event: 'booking.status_changed' }\n\t| { event: 'booking.payment_received' }\n\t| { event: 'booking.payment_failed' }\n\t| { event: 'booking.refunded' }\n\t| { event: 'booking.completed' }\n\t| { event: 'booking.cancelled' }\n\t| { event: 'product.created' }\n\t| { event: 'product.updated' }\n\t| { event: 'product.deleted' }\n\t| { event: 'provider.created' }\n\t| { event: 'provider.updated' }\n\t| { event: 'provider.deleted' }\n\t| { event: 'service.created' }\n\t| { event: 'service.updated' }\n\t| { event: 'service.deleted' }\n\t| { event: 'media.created' }\n\t| { event: 'media.deleted' }\n\t| { event: 'business.created' }\n\t| { event: 'business.updated' }\n\t| { event: 'business.deleted' }\n\t| { event: 'audience.created' }\n\t| { event: 'audience.updated' }\n\t| { event: 'audience.deleted' };\n\nexport interface WebhookEndpoint {\n\tid: string;\n\tname: string;\n\turl: string;\n\tevents: WebhookEventSubscription[];\n\theaders: Record<string, string>;\n\tsecret: string;\n\tenabled: boolean;\n}\n\nexport interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tlocations: Location[];\n\tbuildHooks: string[];\n\twebhooks: WebhookEndpoint[];\n\tintegrations: Integration[];\n\tpaymentId?: string | null;\n\tshippingIds: string[];\n\taiId?: string | null;\n\tanalyticsIds: string[];\n\temails: BusinessEmails;\n}\n\nexport interface Subscription {\n\tid: string;\n\ttarget: string;\n\tplanId: string;\n\tpendingPlanId: string | null;\n\tpayment: any;\n\tstatus: SubscriptionStatus;\n\tendDate: number;\n\tusage: Record<string, any>;\n\ttoken: string;\n}\n\nexport interface Business {\n\tid: string;\n\tkey: string;\n\tnetworkKey: string | null;\n\ttimezone: string;\n\tconfigs?: BusinessConfig;\n\tsubscriptions?: Subscription[];\n\tstatus: Status;\n}\n\nexport interface EshopStoreState {\n\tbusinessId: string;\n\tselectedShippingMethodId: string | null;\n\tuserToken: string | null;\n\tprocessingCheckout: boolean;\n\tloading: boolean;\n\terror: string | null;\n}\n\nexport interface Block {\n\tid: string;\n\tkey: string;\n\ttype: string;\n\tproperties?: any;\n\tvalue?: any;\n}\n\nexport interface Filter {\n\tid: string;\n\tnodeId: string;\n\tblocks: Block[];\n}\n\nexport type BlockType =\n\t| \"text\"\n\t| \"localized_text\"\n\t| \"number\"\n\t| \"boolean\"\n\t| \"list\"\n\t| \"map\"\n\t| \"relationship_entry\"\n\t| \"relationship_media\"\n\t| \"markdown\"\n\t| \"geo_location\";\n\nexport interface GeoLocationBlockProperties {}\n\n/** @deprecated Use GeoLocation instead */\nexport type GeoLocationValue = GeoLocation;\n\nexport interface GeoLocationBlock extends Block {\n\ttype: \"geo_location\";\n\tproperties: GeoLocationBlockProperties;\n\tvalue: GeoLocation | null;\n}\n\nexport type Access = 'public' | 'private';\n\nexport interface MediaResolution {\n\tid: string;\n\tsize: string;\n\turl: string;\n}\n\nexport interface Media {\n\tid: string;\n\tresolutions: { [key: string]: MediaResolution };\n\tmimeType: string;\n\ttitle?: string | null;\n\tdescription?: string | null;\n\talt?: string | null;\n\tentity: string;\n\tmetadata?: string | null;\n\tuploadedAt: string;\n\tslug: Record<string, string>;\n}\n\nexport interface ApiResponse<T> {\n\tsuccess: boolean;\n\tdata?: T;\n\terror?: string;\n\tcursor?: string;\n\ttotal?: number;\n}\n\nexport interface PaginatedResponse<T> {\n\tdata: T[];\n\tmeta?: {\n\t\ttotal: number;\n\t\tpage: number;\n\t\tper_page: number;\n\t};\n}\n\nexport interface BookingStoreState {\n\tcurrentStep: number;\n\ttotalSteps: number;\n\tsteps: Record<number, { name: string; labelKey: string }>;\n\tweekdays: string[];\n\tmonthYear: string;\n\tdays: any[];\n\tcurrent: Date;\n\tselectedDate: string | null;\n\tslots: any[];\n\tselectedSlot: any | null;\n\tselectedProvider: any | null;\n\tproviders: any[];\n\tloading: boolean;\n\tstartDate: string | null;\n\tendDate: string | null;\n\tguestToken: string | null;\n\tservice: any | null;\n\tbusiness: Business | null;\n\tcurrency: string;\n\tbookingBlocks: Block[];\n\tapiUrl: string;\n\tbusinessId: string;\n\ttimezone: string;\n\ttzGroups: any;\n\titems: BookingCartItem[];\n\tallowedPaymentMethods: string[];\n\tpaymentConfig: {\n\t\tprovider: { publishableKey: string; currency: string } | null;\n\t\tenabled: boolean;\n\t};\n}\n\nexport type Status = 'draft' | 'active' | 'archived';\n\nexport type OrderStatus = 'created' | 'pending' | 'authorized' | 'confirmed' | 'shipped' | 'completed' | 'cancelled' | 'failed';\n\nexport type BookingStatus = 'created' | 'pending' | 'authorized' | 'confirmed' | 'completed' | 'cancelled' | 'failed';\n\nexport type SubscriptionStatus = 'pending' | 'active' | 'cancellation_scheduled' | 'cancelled' | 'expired';\n\nexport interface BookingItem {\n\tid: string;\n\tserviceId: string;\n\tproviderId: string;\n\tbusinessId: string;\n\tbookingId: string;\n\taccountId: string;\n\tfrom: number;\n\tto: number;\n\tblocks: Block[];\n\tprice: Price;\n}\n\nexport interface Booking {\n\tid: string;\n\tnumber: string;\n\taccountId: string;\n\tblocks: Block[];\n\tbusinessId: string;\n\tstatus: BookingStatus;\n\tserviceIds: string[];\n\tproviderIds: string[];\n\tpayment: Payment;\n\tbusiness?: Business;\n\taccount?: any;\n\titems: BookingItem[];\n\taudienceId?: string;\n\tcreatedAt: number;\n\tlastModified: number;\n}\n\nexport interface Node {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tparentId?: string | null;\n\tblocks: Block[];\n\tstatus: Status;\n\tslug: Record<string, string>;\n\twriteAccess: Access;\n\taudienceIds: string[];\n\temailSubject?: Record<string, string>;\n\tchildren: Node[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface ServiceDuration {\n\tduration: number;\n\tisPause?: boolean;\n}\n\nexport interface ServiceProvider {\n\tid: string;\n\tproviderId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tisApprovalRequired: boolean;\n\taudienceIds: string[];\n\tworkingTime: {\n\t\tworkingDays: Array<{ day: string; workingHours: Array<{ from: number; to: number }> }>;\n\t\toutcastDates: Array<{ month: number; day: number; workingHours: Array<{ from: number; to: number }> }>;\n\t\tspecificDates: Array<{ date: number; workingHours: Array<{ from: number; to: number }> }>;\n\t};\n\tprovider?: Provider;\n}\n\nexport interface Service {\n\tid: string;\n\tkey: string;\n\tslug: Record<string, string>;\n\tbusinessId: string;\n\tblocks: Block[];\n\tfilters: Filter[];\n\tnetworkIds: string[];\n\tproviders: ServiceProvider[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tstatus: Status;\n}\n\nexport interface ProviderTimelinePoint {\n\ttimestamp: number;\n\tconcurrent: number;\n}\n\nexport interface Provider {\n\tid: string;\n\tkey: string;\n\tslug: Record<string, string>;\n\tbusinessId: string;\n\tstatus: Status;\n\tconcurrentLimit: number;\n\tnetworkIds: string[];\n\taudienceIds: string[];\n\tblocks: Block[];\n\tfilters: Filter[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface WorkflowConnection {\n\tnode: string;\n\toutput: string;\n}\n\nexport interface Workflow {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tsecret: string;\n\tstatus: Status;\n\tnodes: Record<string, WorkflowNode>;\n\n\tschedule?: string;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport type WorkflowNode =\n\t| WorkflowTriggerNode\n\t| WorkflowHttpNode\n\t| WorkflowSwitchNode\n\t| WorkflowTransformNode\n\t| WorkflowLoopNode;\n\nexport interface WorkflowTriggerNode {\n\ttype: 'trigger';\n\tevent?: string;\n\tdelayMs?: number;\n\tschema?: Block[];\n}\n\nexport interface WorkflowHttpNode {\n\ttype: 'http';\n\tmethod: WorkflowHttpMethod;\n\turl: string;\n\theaders?: Record<string, string>;\n\tbody?: any;\n\ttimeoutMs?: number;\n\tintegrationId?: string;\n\tintegrationProviderId?: string;\n\tdelayMs?: number;\n\tretries?: number;\n\tretryDelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowSwitchRule {\n\tcondition: string;\n}\n\nexport interface WorkflowSwitchNode {\n\ttype: 'switch';\n\trules: WorkflowSwitchRule[];\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowTransformNode {\n\ttype: 'transform';\n\tcode: string;\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowLoopNode {\n\ttype: 'loop';\n\texpression: string;\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n\tbackEdges?: WorkflowConnection[];\n}\n\nexport type WorkflowHttpMethod = 'get' | 'post' | 'put' | 'patch' | 'delete';\n\nexport type ExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';\n\nexport interface NodeResult {\n\toutput: any;\n\troute: string;\n\tstartedAt: number;\n\tcompletedAt: number;\n\tdurationMs: number;\n\terror?: string;\n}\n\nexport interface WorkflowExecution {\n\tid: string;\n\tworkflowId: string;\n\tbusinessId: string;\n\tstatus: ExecutionStatus;\n\tinput: Record<string, any>;\n\tresults: Record<string, NodeResult>;\n\terror?: string;\n\tscheduledAt: number;\n\tstartedAt: number;\n\tcompletedAt?: number;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface Audience {\n\tid: string;\n\tbusinessId: string;\n\tkey: string;\n\tprices: SubscriptionPrice[];\n\tstatus: Status;\n}\n\nexport interface AudienceAccessResponse {\n\thasAccess: boolean;\n\tsubscription?: Subscription;\n}\n\nexport interface AudienceSubscribeResponse {\n\tcheckoutUrl?: string;\n\tsubscription?: Subscription;\n}\n\nexport type EventAction =\n\t// Order events\n\t| { action: 'order_created' }\n\t| { action: 'order_updated' }\n\t| { action: 'order_status_changed'; data: { from: string; to: string } }\n\t| { action: 'order_payment_received'; data: { amount: number; currency: string } }\n\t| { action: 'order_payment_failed'; data: { reason?: string } }\n\t| { action: 'order_refunded'; data: { amount: number; currency: string; reason?: string } }\n\t| { action: 'order_completed' }\n\t| { action: 'order_cancelled'; data: { reason?: string } }\n\t// Order shipment events\n\t| { action: 'order_shipment_created'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_in_transit'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_out_for_delivery'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_delivered'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_failed'; data: { shipment_id: string; reason?: string } }\n\t| { action: 'order_shipment_returned'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_status_changed'; data: { shipment_id: string; from: string; to: string } }\n\t// Booking events\n\t| { action: 'booking_created' }\n\t| { action: 'booking_updated' }\n\t| { action: 'booking_status_changed'; data: { from: string; to: string } }\n\t| { action: 'booking_payment_received'; data: { amount: number; currency: string } }\n\t| { action: 'booking_payment_failed'; data: { reason?: string } }\n\t| { action: 'booking_refunded'; data: { amount: number; currency: string; reason?: string } }\n\t| { action: 'booking_completed' }\n\t| { action: 'booking_cancelled'; data: { reason?: string } }\n\t// Product events\n\t| { action: 'product_created' }\n\t| { action: 'product_updated' }\n\t| { action: 'product_deleted' }\n\t// Node events\n\t| { action: 'node_created' }\n\t| { action: 'node_updated' }\n\t| { action: 'node_deleted' }\n\t// Provider events\n\t| { action: 'provider_created' }\n\t| { action: 'provider_updated' }\n\t| { action: 'provider_deleted' }\n\t// Service events\n\t| { action: 'service_created' }\n\t| { action: 'service_updated' }\n\t| { action: 'service_deleted' }\n\t// Account events\n\t| { action: 'account_created' }\n\t| { action: 'account_updated' }\n\t| { action: 'account_deleted' }\n\t// Media events\n\t| { action: 'media_created' }\n\t| { action: 'media_deleted' }\n\t// Business events\n\t| { action: 'business_created' }\n\t| { action: 'business_updated' }\n\t| { action: 'business_deleted' }\n\t// Audience events\n\t| { action: 'audience_created' }\n\t| { action: 'audience_updated' }\n\t| { action: 'audience_deleted' };\n\nexport interface Event {\n\tid: string;\n\tentity: string;\n\tevent: EventAction;\n\tactor: string;\n\tcreatedAt: number;\n}\n\n// Shipping Types\n\n/** Shipping status for order fulfillment tracking */\nexport type ShippingStatus =\n\t| 'pending'\n\t| 'label_created'\n\t| 'in_transit'\n\t| 'out_for_delivery'\n\t| 'delivered'\n\t| 'failed'\n\t| 'returned';\n\n/** Order shipping information (legacy - kept for backward compatibility) */\nexport interface OrderShipping {\n\tcarrier: string;\n\tservice: string;\n\ttrackingNumber?: string | null;\n\ttrackingUrl?: string | null;\n\tlabelUrl?: string | null;\n\tstatus: ShippingStatus;\n}\n\n/** Line item in a shipment with quantity (for partial fulfillment) */\nexport interface ShipmentLine {\n\torderItemId: string;\n\tquantity: number;\n}\n\n/** Individual shipment for an order (ships from one location) */\nexport interface Shipment {\n\tid: string;\n\tlocationId: string;\n\tlines: ShipmentLine[]; // OrderItem IDs + quantities in this shipment\n\tcarrier?: string | null; // Set when label purchased\n\tservice?: string | null;\n\ttrackingNumber?: string | null;\n\ttrackingUrl?: string | null;\n\tlabelUrl?: string | null;\n\tstatus: ShippingStatus;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n/** Shipping rate from provider */\nexport interface ShippingRate {\n\tid: string;\n\tprovider: string;\n\tcarrier: string;\n\tservice: string;\n\tdisplayName: string;\n\tamount: number;\n\tcurrency: string;\n\testimatedDays?: number | null;\n}\n\n/**\n * @deprecated Use Address instead\n * Shipping address for rate requests\n */\nexport type ShippingAddress = Address;\n\n/** Parcel dimensions for shipping */\nexport interface Parcel {\n\tlength: number;\n\twidth: number;\n\theight: number;\n\tweight: number;\n\tdistanceUnit: 'in' | 'cm';\n\tmassUnit: 'oz' | 'lb' | 'g' | 'kg';\n}\n\n/** Result from purchasing a shipping label */\nexport interface PurchaseLabelResult {\n\ttrackingNumber: string;\n\ttrackingUrl?: string | null;\n\tlabelUrl: string;\n\tcarrier: string;\n\tservice: string;\n}\n\n/** Result from ship operation */\nexport interface ShipResult {\n\tshipmentId: string;\n\ttrackingNumber: string;\n\ttrackingUrl?: string | null;\n\tlabelUrl: string;\n}\n\n/** Individual item in a customs declaration */\nexport interface CustomsItem {\n\tdescription: string;\n\tquantity: number;\n\tnetWeight: string;\n\tmassUnit: string;\n\tvalueAmount: string;\n\tvalueCurrency: string;\n\toriginCountry: string;\n\ttariffNumber?: string | null;\n}\n\n/** Customs declaration for international shipments */\nexport interface CustomsDeclaration {\n\tcontentsType: string; // \"MERCHANDISE\" | \"GIFT\" | \"SAMPLE\" | \"DOCUMENTS\" | \"RETURN\"\n\tcontentsExplanation?: string | null;\n\tnonDeliveryOption: string; // \"RETURN\" | \"ABANDON\"\n\tcertify: boolean;\n\tcertifySigner: string;\n\titems: CustomsItem[];\n}\n\n/** @deprecated Use IntegrationStatus instead */\nexport type ShippingProviderStatus = IntegrationStatus;\n\n/** @deprecated Use Integration instead */\nexport interface ShippingProviderShippo {\n\tprovider: 'shippo';\n\tid: string;\n\tstatus: ShippingProviderStatus;\n\tapiToken: string;\n}\n\n/** @deprecated Use Integration instead */\nexport type BusinessShippingProvider = ShippingProviderShippo;\n"]}
1
+ {"version":3,"sources":["../src/types/api.ts","../src/types/index.ts"],"names":["SubscriptionSource","PaymentMethodType"],"mappings":";AA+zBO,IAAK,kBAAA,qBAAAA,mBAAAA,KAAL;AACL,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,oBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AAHC,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;;;ACnxBL,IAAK,iBAAA,qBAAAC,kBAAAA,KAAL;AACN,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,mBAAA,YAAA,CAAA,GAAa,aAAA;AAFF,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA","file":"types.js","sourcesContent":["import type { Block, ZoneLocation, WorkflowNode, Status, SubscriptionPrice, Address } from \"./index\";\n\nexport interface RequestOptions<T = any> {\n headers?: Record<string, string>;\n params?: Record<string, any>;\n transformRequest?: (data: any) => any;\n onSuccess?: (ctx: {\n data: T;\n method: string;\n url: string;\n status: number;\n request?: any;\n durationMs?: number;\n requestId?: string | null;\n }) => void | Promise<void>;\n onError?: (ctx: {\n error: any;\n method: string;\n url: string;\n status?: number;\n request?: any;\n response?: any;\n durationMs?: number;\n requestId?: string | null;\n aborted?: boolean;\n }) => void | Promise<void>;\n}\n\nexport interface EshopItem {\n productId: string;\n variantId: string;\n quantity: number;\n}\n\nexport interface GetQuoteParams {\n items: EshopItem[];\n paymentMethodId?: string;\n shippingMethodId?: string;\n promoCode?: string;\n blocks?: any[];\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface OrderCheckoutParams {\n items: EshopItem[];\n paymentMethodId?: string;\n blocks?: any[];\n shippingMethodId: string;\n promoCodeId?: string;\n /** Shipping address for the order */\n shippingAddress?: Address;\n /** Billing address (defaults to shipping address if not provided) */\n billingAddress?: Address;\n}\n\nexport interface GetProductsParams {\n ids?: string[];\n blocks?: any[] | null;\n filterId?: string;\n status?: string;\n limit?: number;\n cursor?: string;\n query?: string;\n statuses?: string[];\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: number | null;\n createdAtTo?: number | null;\n}\n\nexport interface GetNodesParams {\n businessId?: string;\n parentId?: string;\n limit?: number;\n cursor?: string;\n ids?: string[];\n query?: string;\n type?: string;\n key?: string;\n statuses?: string[];\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: string;\n createdAtTo?: string;\n includeChildren?: boolean;\n}\n\nexport interface CreateNodeParams {\n businessId?: string;\n key: string;\n parentId?: string | null;\n blocks?: any[];\n slug?: Record<string, string>;\n writeAccess?: 'public' | 'private';\n audienceIds?: string[];\n status?: string;\n\n emailSubject?: Record<string, string>;\n}\n\nexport interface UpdateNodeParams {\n id: string;\n businessId?: string;\n key?: string;\n parentId?: string | null;\n blocks?: any[];\n slug?: Record<string, string>;\n writeAccess?: 'public' | 'private';\n audienceIds?: string[];\n status?: string;\n\n emailSubject?: Record<string, string>;\n}\n\nexport interface GetNodeParams {\n id?: string;\n slug?: string;\n key?: string;\n businessId?: string;\n}\n\nexport interface DeleteNodeParams {\n id: string;\n businessId?: string;\n}\n\nexport interface GetNodeChildrenParams {\n id: string;\n businessId?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface UploadBusinessMediaParams {\n businessId?: string;\n files?: File[];\n urls?: string[];\n}\n\nexport interface DeleteBusinessMediaParams {\n id: string;\n mediaId: string;\n}\n\nexport interface UpdateMediaParams {\n mediaId: string;\n businessId?: string;\n seo?: any;\n title?: string;\n description?: string;\n alt?: string;\n}\n\nexport interface GetBusinessMediaParams {\n businessId?: string;\n cursor?: string | null;\n limit: number;\n ids?: string[];\n query?: string;\n mimeType?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n}\n\nexport interface LoginAccountParams {\n email?: string;\n provider: string;\n token?: string;\n}\n\nexport interface MagicLinkRequestParams {\n email: string;\n businessId?: string;\n}\n\nexport interface MagicLinkVerifyParams {\n email: string;\n code: string;\n}\n\nexport interface AddPhoneNumberParams {\n phoneNumber: string;\n}\n\nexport interface PhoneNumberConfirmParams {\n phoneNumber: string;\n code: string;\n}\n\nexport interface GetServicesParams {\n businessId?: string;\n providerId?: string;\n filterId?: string;\n limit?: number;\n cursor?: string;\n query?: string;\n ids?: string[];\n statuses?: string[];\n blocks?: any[];\n sortField?: string;\n sortDirection?: string;\n priceFrom?: number;\n priceTo?: number;\n}\n\nexport interface BookingCheckoutParams {\n businessId?: string;\n items: any[];\n paymentMethodId?: string;\n blocks?: any[];\n promoCodeId?: string;\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface BookingQuoteItem {\n serviceId: string;\n from: number;\n to: number;\n providerId: string;\n}\n\nexport interface GetBookingQuoteParams {\n businessId?: string;\n items: BookingQuoteItem[];\n paymentMethodId?: string;\n promoCode?: string;\n /** Zone location for zone/market resolution */\n location?: ZoneLocation;\n}\n\nexport interface TimelinePoint {\n timestamp: number;\n concurrent: number;\n}\n\nexport interface WorkingHour {\n from: number;\n to: number;\n}\n\nexport interface WorkingDay {\n day: string;\n workingHours: WorkingHour[];\n}\n\nexport interface OutcastDate {\n month: number;\n day: number;\n workingHours: WorkingHour[];\n}\n\nexport interface SpecificDate {\n date: number;\n workingHours: WorkingHour[];\n}\n\nexport interface WorkingTime {\n workingDays: WorkingDay[];\n outcastDates: OutcastDate[];\n specificDates: SpecificDate[];\n}\n\nexport interface ServiceProvider {\n id: string;\n providerId: string;\n workingTime: WorkingTime;\n provider?: ProviderWithTimeline;\n}\n\nexport interface ProviderWithTimeline {\n id: string;\n key: string;\n businessId: string;\n seo: any;\n status: Status;\n concurrentLimit: number;\n audienceIds: string[];\n blocks: Block[];\n createdAt: number;\n updatedAt: number;\n workingTime: WorkingTime | null;\n timeline: TimelinePoint[];\n}\n\nexport interface GetAnalyticsParams {\n metrics?: string[];\n period?: string;\n startDate?: string;\n endDate?: string;\n interval?: string;\n}\n\nexport interface GetAnalyticsHealthParams {\n \n}\n\nexport interface TrackEmailOpenParams {\n trackingPixelId: string;\n}\n\nexport interface GetDeliveryStatsParams {}\n\nexport type BusinessRole = 'admin' | 'owner' | 'super';\n\nexport interface Discount {\n type: \"items_percentage\" | \"items_fixed\" | \"shipping_percentage\";\n marketId: string;\n bps?: number;\n amount?: number;\n}\n\nexport interface Condition {\n type:\n | \"products\"\n | \"services\"\n | \"min_order_amount\"\n | \"date_range\"\n | \"max_uses\"\n | \"max_uses_per_user\";\n value: string[] | number | { start?: number; end?: number };\n}\n\nexport interface CreatePromoCodeParams {\n code: string;\n discounts: Discount[];\n conditions: Condition[];\n}\n\nexport interface UpdatePromoCodeParams {\n id: string;\n code: string;\n discounts: Discount[];\n conditions: Condition[];\n status?: Status;\n}\n\nexport interface DeletePromoCodeParams {\n id: string;\n}\n\nexport interface GetPromoCodeParams {\n id: string;\n}\n\nexport interface GetPromoCodesParams {\n statuses?: string[];\n query?: string;\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: string;\n createdAtFrom?: string;\n createdAtTo?: string;\n startsAtFrom?: string;\n startsAtTo?: string;\n expiresAtFrom?: string;\n expiresAtTo?: string;\n}\n\nexport interface CreateBusinessParams {\n key: string;\n slug?: string;\n description?: string;\n email?: string;\n phone?: string;\n website?: string;\n address?: any;\n settings?: any;\n [key: string]: any;\n}\n\nexport interface UpdateBusinessParams {\n id: string;\n key: string;\n networkKey: string | null;\n timezone: string;\n status: Status;\n configs: any;\n}\n\nexport interface DeleteBusinessParams {\n id: string;\n}\n\nexport interface GetBusinessParams {}\n\nexport interface GetBusinessParentsParams {}\n\nexport interface TriggerBuildsParams {\n id: string;\n}\n\nexport interface GetSubscriptionParams {}\n\nexport interface SubscribeParams {\n planId: string;\n successUrl: string;\n cancelUrl: string;\n}\n\nexport interface CreatePortalSessionParams {\n returnUrl: string;\n}\n\nexport interface InviteUserParams {\n email: string;\n role?: BusinessRole;\n}\n\nexport interface RemoveMemberParams {\n accountId: string;\n}\n\nexport interface HandleInvitationParams {\n token: string;\n action: string;\n}\n\nexport interface TestWebhookParams {\n webhook: any;\n}\n\nexport interface AccountSubscribeParams {\n target?: string;\n identifier: string;\n planId?: string;\n successUrl?: string;\n cancelUrl?: string;\n}\n\nexport interface CreateProductParams {\n key: string;\n description?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n variants?: any[];\n status?: string;\n [key: string]: any;\n}\n\nexport interface UpdateProductParams {\n id: string;\n key?: string;\n description?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n variants?: any[];\n status?: string;\n [key: string]: any;\n}\n\nexport interface DeleteProductParams {\n id: string;\n}\n\nexport interface GetProductParams {\n id?: string;\n slug?: string;\n}\n\nexport interface GetOrderParams {\n id: string;\n}\n\nexport interface GetOrdersParams {\n accountId?: string | null;\n statuses?: string[] | null;\n productIds?: string[];\n query?: string | null;\n limit?: number | null;\n cursor?: string | null;\n sortField?: string | null;\n sortDirection?: string | null;\n createdAtFrom?: string | null;\n createdAtTo?: string | null;\n}\n\nexport interface UpdateOrderParams {\n id: string;\n status: string;\n blocks: any[];\n items: any[];\n address?: any | null;\n billingAddress?: any | null;\n payment?: any | null;\n}\n\nexport interface CreateOrderParams {\n [key: string]: any;\n}\n\nexport interface CreateBookingParams {\n businessId?: string;\n [key: string]: any;\n}\n\nexport interface UpdateBookingParams {\n id: string;\n status?: string;\n blocks?: any;\n parts?: any;\n payment?: any | null;\n [key: string]: any;\n}\n\nexport interface CreateProviderParams {\n businessId?: string;\n key: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n concurrentLimit?: number;\n status?: Status;\n [key: string]: any;\n}\n\nexport interface UpdateProviderParams {\n id: string;\n businessId?: string;\n key?: string;\n audienceIds?: string[];\n blocks?: any[];\n filters?: any[];\n concurrentLimit?: number;\n status?: Status;\n [key: string]: any;\n}\n\nexport interface DeleteProviderParams {\n id: string;\n businessId?: string;\n}\n\nexport interface ServiceProviderInput {\n id?: string;\n providerId: string;\n prices?: any[];\n durations?: any[];\n isApprovalRequired?: boolean;\n workingTime: WorkingTime;\n audienceIds: string[];\n}\n\nexport interface CreateServiceParams {\n businessId?: string;\n key: string;\n blocks?: any[];\n filters?: any[];\n status?: Status;\n providers?: ServiceProviderInput[];\n [key: string]: any;\n}\n\nexport interface UpdateServiceParams {\n id: string;\n businessId?: string;\n key?: string;\n blocks?: any[];\n filters?: any[];\n status?: Status;\n providers?: ServiceProviderInput[];\n [key: string]: any;\n}\n\nexport interface DeleteServiceParams {\n id: string;\n businessId?: string;\n}\n\nexport interface GetServiceParams {\n id?: string;\n slug?: string;\n businessId?: string;\n}\n\nexport interface GetProvidersParams {\n businessId?: string;\n serviceId?: string;\n filterId?: string;\n ids?: string[];\n query?: string | null;\n statuses?: string[] | null;\n limit?: number;\n cursor?: string;\n sortField?: string | null;\n sortDirection?: string | null;\n createdAtFrom?: string | null;\n createdAtTo?: string | null;\n blocks?: string | null;\n}\n\nexport interface GetProviderParams {\n id?: string;\n slug?: string;\n businessId?: string;\n}\n\nexport interface GetBusinessServiceWorkingTimeParams {\n providerId: string;\n serviceId?: string;\n}\n\nexport interface GetBookingParams {\n id: string;\n businessId?: string;\n}\n\nexport interface SearchBookingsParams {\n businessId?: string;\n query?: string;\n serviceIds?: string[];\n providerIds?: string[];\n accountId?: string;\n from?: number;\n to?: number;\n status?: string;\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortOrder?: string;\n}\n\nexport interface UpdateAccountProfileParams {\n phoneNumbers?: string[];\n addresses?: any[];\n apiTokens?: any[] | null;\n}\n\nexport interface SearchAccountsParams {\n limit?: number;\n cursor?: string | null;\n query?: string;\n owner?: string;\n}\n\nexport interface DeleteAccountParams {}\n\nexport interface TrackEmailOpenParams {\n trackingPixelId: string;\n}\n\nexport interface GetDeliveryStatsParams {}\n\nexport interface UpdateNotificationsParams {}\n\nexport interface GetMeParams {}\n\nexport interface LogoutParams {}\n\nexport interface GetBusinessesParams {\n query?: string;\n isNetwork?: boolean;\n statuses?: string[];\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: \"asc\" | \"desc\";\n}\n\nexport interface GetSubscriptionPlansParams {}\n\nexport interface SetupAnalyticsParams {\n [key: string]: any;\n}\n\nexport interface GetBusinessMediaParams2 {\n id: string;\n cursor?: string | null;\n limit: number;\n ids?: string[];\n query?: string;\n mimeType?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n}\n\nexport interface DeleteProductParams {\n id: string;\n}\n\nexport interface ProcessRefundParams {\n id: string;\n entity: string;\n amount: number;\n}\n\nexport type SystemTemplateKey =\n | \"system:booking-business-update\"\n | \"system:booking-customer-update\"\n | \"system:user-invitation\"\n | \"system:order-status-update\"\n | \"system:user-confirmation\"\n | \"system:forgot-password\";\n\nexport interface GetSlotsForDateParams {\n serviceId: string;\n date: Date;\n timezone: string;\n providerId?: string;\n}\n\nexport interface GetAvailabilityParams {\n serviceId: string;\n from: Date;\n to: Date;\n timezone: string;\n}\n\nexport interface DayAvailability {\n date: Date;\n available: boolean;\n}\n\nexport interface Slot {\n id: string;\n serviceId: string;\n providerId: string;\n from: number;\n to: number;\n timeText: string;\n dateText: string;\n}\n\nexport interface CreateWorkflowParams {\n businessId?: string;\n key: string;\n status?: Status;\n nodes: Record<string, WorkflowNode>;\n\n schedule?: string;\n}\n\nexport interface UpdateWorkflowParams {\n id: string;\n key: string;\n status?: Status;\n nodes: Record<string, WorkflowNode>;\n\n schedule?: string;\n}\n\nexport interface DeleteWorkflowParams {\n id: string;\n}\n\nexport interface GetWorkflowParams {\n id: string;\n}\n\nexport interface GetWorkflowsParams {\n businessId?: string;\n ids?: string[];\n query?: string;\n statuses?: string[];\n limit?: number;\n cursor?: string;\n sortField?: string;\n sortDirection?: 'asc' | 'desc';\n createdAtFrom?: number;\n createdAtTo?: number;\n}\n\nexport interface TriggerWorkflowParams {\n\n secret: string;\n\n [key: string]: any;\n}\n\nexport interface GetWorkflowExecutionsParams {\n workflowId: string;\n businessId?: string;\n status?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface GetWorkflowExecutionParams {\n workflowId: string;\n executionId: string;\n businessId?: string;\n}\n\nexport interface CreateAudienceParams {\n key: string;\n name: string;\n prices?: SubscriptionPrice[];\n}\n\nexport interface UpdateAudienceParams {\n id: string;\n key?: string;\n name?: string;\n prices?: SubscriptionPrice[];\n status?: Status;\n}\n\nexport interface GetAudienceParams {\n id: string;\n}\n\nexport interface GetAudiencesParams {\n ids?: string[];\n statuses?: string[];\n query?: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface SubscribeAudienceParams {\n id: string;\n \n priceId?: string;\n successUrl: string;\n cancelUrl: string;\n}\n\nexport interface DeleteAudienceParams {\n id: string;\n}\n\nexport interface GetAudienceSubscribersParams {\n id: string;\n limit?: number;\n cursor?: string;\n}\n\nexport enum SubscriptionSource {\n Signup = 'signup',\n Admin = 'admin',\n Import = 'import'\n}\n\nexport interface AudienceSubscriber {\n accountId: string;\n email: string;\n subscribedAt?: number;\n source?: SubscriptionSource;\n}\n\nexport interface RemoveAudienceSubscriberParams {\n id: string;\n accountId: string;\n}\n\nexport interface AddAudienceSubscriberParams {\n id: string;\n email: string;\n}\n\nexport interface AddAudienceSubscriberResponse {\n subscriber: AudienceSubscriber | null;\n skipped: boolean;\n}\n\nexport interface GetEventsParams {\n entity: string;\n limit?: number;\n cursor?: string;\n}\n\nexport interface UpdateEventParams {\n eventId: string;\n event: import('./index').EventAction;\n}\n\nexport interface OAuthConnectParams {\n businessId: string;\n provider: string;\n code: string;\n redirectUri: string;\n}\n\nexport interface OAuthDisconnectParams {\n businessId: string;\n provider: string;\n}\n\n// Shipping API Parameters\n\n/** Get shipping rates for a shipment */\nexport interface GetShippingRatesParams {\n orderId: string;\n shippingProviderId: string;\n fromAddress: Address;\n toAddress: Address;\n parcel: import('./index').Parcel;\n customsDeclaration?: import('./index').CustomsDeclaration;\n}\n\n/** Ship items: creates shipment + purchases label atomically */\nexport interface ShipParams {\n orderId: string;\n rateId: string;\n carrier: string;\n service: string;\n locationId: string;\n lines: import('./index').ShipmentLine[];\n}\n\n","export * from './api';\n\nexport interface PaymentRefund {\n\tid: string;\n\tentity: string;\n\ttotal: number;\n\tproviderRefundId?: string;\n\tstatus: string;\n\tcreatedAt: number;\n}\n\nexport interface Payment {\n\tcurrency: string;\n\tmarket: string;\n\tsubtotal: number;\n\tshipping: number;\n\tdiscount: number;\n\ttotal: number;\n\tpaid: number;\n\ttax?: {\n\t\tamount: number;\n\t\tmodeSnapshot?: string;\n\t\trateBps: number;\n\t\tlines: Array<{ rateBps: number; amount: number; label?: string; scope?: string }>;\n\t};\n\tpromoCode?: {\n\t\tid: string;\n\t\tcode: string;\n\t\ttype: string;\n\t\tvalue: number;\n\t};\n\ttype: PaymentMethodType;\n\tprovider?: {\n\t\tcustomerId: string;\n\t\tpaymentIntentId?: string;\n\t\tsubscriptionId?: string;\n\t\tpriceId?: string;\n\t};\n\trefunds: PaymentRefund[];\n\tzoneId?: string;\n\tpaymentMethodId?: string;\n\tshippingMethodId?: string;\n}\n\nexport enum PaymentMethodType {\n\tCash = \"cash\",\n\tCreditCard = \"credit_card\",\n\t// Free REMOVED - handled with logic: if total == 0, skip payment\n\t// NOTE: Apple Pay and Google Pay are NOT separate PaymentMethodTypes\n\t// They are handled automatically by Stripe's Payment Element\n}\n\nexport interface PromoCodeValidation {\n\tpromoCodeId: string;\n\tcode: string;\n\tdiscounts: any[];\n\tconditions: any[];\n}\n\nexport interface Quote {\n\tmarket: string;\n\tzone: Zone;\n\tsubtotal: number;\n\tshipping: number;\n\tdiscount: number;\n\ttax: number;\n\ttotal: number;\n\tshippingMethod: ShippingMethod | null;\n\tpaymentMethod: PaymentMethod | null;\n\tpromoCode: PromoCodeValidation | null;\n\tpayment: Payment;\n\tchargeAmount: number;\n\tid?: string;\n\texpiresAt?: number;\n}\n\n/** Price for products and services (market-based, no provider fields) */\nexport interface Price {\n\tcurrency: string;\n\tmarket: string;\n\tamount: number;\n\tcompareAt?: number;\n\taudienceId?: string;\n}\n\n/** Interval period for subscription pricing */\nexport type IntervalPeriod = 'month' | 'year';\n\n/** Subscription interval configuration */\nexport interface SubscriptionInterval {\n\tperiod: IntervalPeriod;\n\tcount: number;\n}\n\n/** Price provider configuration (e.g., Stripe) */\nexport interface PriceProvider {\n\ttype: string;\n\tid: string;\n}\n\n/** Price for audiences/subscriptions (provider-based with interval) */\nexport interface SubscriptionPrice {\n\tcurrency: string;\n\tamount: number;\n\tcompareAt?: number;\n\tinterval?: SubscriptionInterval;\n\tproviders: PriceProvider[];\n}\n\n/**\n * Full address for shipping, billing, and locations.\n * Used for order addresses and shipping labels.\n */\nexport interface Address {\n\tname: string;\n\tcompany?: string | null;\n\tstreet1: string;\n\tstreet2?: string | null;\n\tcity: string;\n\tstate: string;\n\tpostalCode: string;\n\tcountry: string;\n\tphone?: string | null;\n\temail?: string | null;\n}\n\n/**\n * Simple geo location for CMS map/location blocks.\n * Just coordinates and an optional label for display.\n */\nexport interface GeoLocation {\n\tcoordinates?: { lat: number; lon: number } | null;\n\tlabel?: string | null;\n}\n\n\n/**\n * Used for zone matching - simplified location with optional fields.\n */\nexport interface ZoneLocation {\n\tcountry?: string | null;\n\tstate?: string | null;\n\tcity?: string | null;\n\tpostalCode?: string | null;\n}\n\nexport interface EshopCartItem {\n\tid: string;\n\tproductId: string;\n\tvariantId: string;\n\tproductName: string;\n\tproductSlug: string;\n\tvariantAttributes: Record<string, any>;\n\tprice: Price;\n\tquantity: number;\n\taddedAt: number;\n}\n\nexport interface BookingCartItem {\n\tid: string;\n\tserviceId: string;\n\tserviceName: string;\n\tdate: string;\n\tfrom: number;\n\tto: number;\n\ttimeText: string;\n\tproviderId?: string;\n\tblocks: any[];\n}\n\n/** Integration status */\nexport type IntegrationStatus = 'active' | 'inactive';\n\n/** Integration provider — typed data per service */\nexport type IntegrationProvider =\n\t| { type: 'stripe'; secretKey?: string; publishableKey: string; webhookSecret?: string; currency: string }\n\t| { type: 'shippo'; apiToken?: string }\n\t| { type: 'google'; clientId?: string; clientSecret?: string; accessToken?: string; refreshToken?: string;\n\t\ttokenExpiresAt?: number; scopes: string[]; accountEmail?: string | null; connectedAt: number }\n\t| { type: 'google_analytics4'; measurementId: string };\n\n/** Unified integration — single pool for all third-party service configs */\nexport interface Integration {\n\tid: string;\n\tname: string;\n\tstatus: IntegrationStatus;\n\tprovider: IntegrationProvider;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface ShippingWeightTier {\n\tupToGrams: number;\n\tamount: number;\n}\n\nexport interface PaymentMethod {\n\tid: string;\n\tname: Record<string, string>;\n\ttype: PaymentMethodType;\n}\n\nexport interface ShippingMethod {\n\tid: string;\n\tname: Record<string, string>;\n\ttaxable: boolean;\n\tetaText: string;\n\tlocationId?: string;\n\tamount: number;\n\tfreeAbove?: number;\n\tweightTiers?: ShippingWeightTier[];\n}\n\nexport interface Location {\n\tid: string;\n\tkey: string;\n\t/** Ship-from address for shipping labels */\n\taddress: Address;\n\tisPickupLocation: boolean;\n}\n\nexport interface InventoryLevel {\n\tlocationId: string;\n\tavailable: number;\n\treserved: number;\n}\n\nexport type ZoneScope = \"all\" | \"order\" | \"booking\";\n\nexport interface Zone {\n\tid: string;\n\tname: string;\n\tmarketId: string;\n\tscope: ZoneScope;\n\tcountries: string[];\n\tstates: string[];\n\tpostalCodes: string[];\n\ttaxBps: number;\n\tpaymentMethods: PaymentMethod[];\n\tshippingMethods: ShippingMethod[];\n}\n\nexport interface Market {\n\tid: string;\n\tcurrency: string;\n\ttaxMode: \"exclusive\" | \"inclusive\";\n}\n\nexport interface Language {\n\tid: string;\n}\n\nexport interface BusinessEmails {\n\tbilling: string;\n\tsupport: string;\n}\n\nexport type WebhookEventSubscription =\n\t| { event: 'node.created'; parentKey?: string }\n\t| { event: 'node.updated'; key?: string }\n\t| { event: 'node.deleted'; key?: string }\n\t| { event: 'order.created' }\n\t| { event: 'order.updated' }\n\t| { event: 'order.status_changed' }\n\t| { event: 'order.payment_received' }\n\t| { event: 'order.payment_failed' }\n\t| { event: 'order.refunded' }\n\t| { event: 'order.completed' }\n\t| { event: 'order.cancelled' }\n\t| { event: 'order.shipment_created' }\n\t| { event: 'order.shipment_in_transit' }\n\t| { event: 'order.shipment_out_for_delivery' }\n\t| { event: 'order.shipment_delivered' }\n\t| { event: 'order.shipment_failed' }\n\t| { event: 'order.shipment_returned' }\n\t| { event: 'order.shipment_status_changed' }\n\t| { event: 'booking.created' }\n\t| { event: 'booking.updated' }\n\t| { event: 'booking.status_changed' }\n\t| { event: 'booking.payment_received' }\n\t| { event: 'booking.payment_failed' }\n\t| { event: 'booking.refunded' }\n\t| { event: 'booking.completed' }\n\t| { event: 'booking.cancelled' }\n\t| { event: 'product.created' }\n\t| { event: 'product.updated' }\n\t| { event: 'product.deleted' }\n\t| { event: 'provider.created' }\n\t| { event: 'provider.updated' }\n\t| { event: 'provider.deleted' }\n\t| { event: 'service.created' }\n\t| { event: 'service.updated' }\n\t| { event: 'service.deleted' }\n\t| { event: 'media.created' }\n\t| { event: 'media.deleted' }\n\t| { event: 'business.created' }\n\t| { event: 'business.updated' }\n\t| { event: 'business.deleted' }\n\t| { event: 'audience.created' }\n\t| { event: 'audience.updated' }\n\t| { event: 'audience.deleted' };\n\nexport interface WebhookEndpoint {\n\tid: string;\n\tname: string;\n\turl: string;\n\tevents: WebhookEventSubscription[];\n\theaders: Record<string, string>;\n\tsecret: string;\n\tenabled: boolean;\n}\n\nexport interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tlocations: Location[];\n\tbuildHooks: string[];\n\twebhooks: WebhookEndpoint[];\n\tintegrations: Integration[];\n\tpaymentId?: string | null;\n\tshippingIds: string[];\n\tanalyticsIds: string[];\n\temails: BusinessEmails;\n}\n\nexport interface Subscription {\n\tid: string;\n\ttarget: string;\n\tplanId: string;\n\tpendingPlanId: string | null;\n\tpayment: any;\n\tstatus: SubscriptionStatus;\n\tendDate: number;\n\tusage: Record<string, any>;\n\ttoken: string;\n}\n\nexport interface Business {\n\tid: string;\n\tkey: string;\n\tnetworkKey: string | null;\n\ttimezone: string;\n\tconfigs?: BusinessConfig;\n\tsubscriptions?: Subscription[];\n\tstatus: Status;\n}\n\nexport interface EshopStoreState {\n\tbusinessId: string;\n\tselectedShippingMethodId: string | null;\n\tuserToken: string | null;\n\tprocessingCheckout: boolean;\n\tloading: boolean;\n\terror: string | null;\n}\n\nexport interface Block {\n\tid: string;\n\tkey: string;\n\ttype: string;\n\tproperties?: any;\n\tvalue?: any;\n}\n\nexport interface Filter {\n\tid: string;\n\tnodeId: string;\n\tblocks: Block[];\n}\n\nexport type BlockType =\n\t| \"text\"\n\t| \"localized_text\"\n\t| \"number\"\n\t| \"boolean\"\n\t| \"list\"\n\t| \"map\"\n\t| \"relationship_entry\"\n\t| \"relationship_media\"\n\t| \"markdown\"\n\t| \"geo_location\";\n\nexport interface GeoLocationBlockProperties {}\n\n/** @deprecated Use GeoLocation instead */\nexport type GeoLocationValue = GeoLocation;\n\nexport interface GeoLocationBlock extends Block {\n\ttype: \"geo_location\";\n\tproperties: GeoLocationBlockProperties;\n\tvalue: GeoLocation | null;\n}\n\nexport type Access = 'public' | 'private';\n\nexport interface MediaResolution {\n\tid: string;\n\tsize: string;\n\turl: string;\n}\n\nexport interface Media {\n\tid: string;\n\tresolutions: { [key: string]: MediaResolution };\n\tmimeType: string;\n\ttitle?: string | null;\n\tdescription?: string | null;\n\talt?: string | null;\n\tentity: string;\n\tmetadata?: string | null;\n\tuploadedAt: string;\n\tslug: Record<string, string>;\n}\n\nexport interface ApiResponse<T> {\n\tsuccess: boolean;\n\tdata?: T;\n\terror?: string;\n\tcursor?: string;\n\ttotal?: number;\n}\n\nexport interface PaginatedResponse<T> {\n\tdata: T[];\n\tmeta?: {\n\t\ttotal: number;\n\t\tpage: number;\n\t\tper_page: number;\n\t};\n}\n\nexport interface BookingStoreState {\n\tcurrentStep: number;\n\ttotalSteps: number;\n\tsteps: Record<number, { name: string; labelKey: string }>;\n\tweekdays: string[];\n\tmonthYear: string;\n\tdays: any[];\n\tcurrent: Date;\n\tselectedDate: string | null;\n\tslots: any[];\n\tselectedSlot: any | null;\n\tselectedProvider: any | null;\n\tproviders: any[];\n\tloading: boolean;\n\tstartDate: string | null;\n\tendDate: string | null;\n\tguestToken: string | null;\n\tservice: any | null;\n\tbusiness: Business | null;\n\tcurrency: string;\n\tbookingBlocks: Block[];\n\tapiUrl: string;\n\tbusinessId: string;\n\ttimezone: string;\n\ttzGroups: any;\n\titems: BookingCartItem[];\n\tallowedPaymentMethods: string[];\n\tpaymentConfig: {\n\t\tprovider: { publishableKey: string; currency: string } | null;\n\t\tenabled: boolean;\n\t};\n}\n\nexport type Status = 'draft' | 'active' | 'archived';\n\nexport type OrderStatus = 'created' | 'pending' | 'authorized' | 'confirmed' | 'shipped' | 'completed' | 'cancelled' | 'failed';\n\nexport type BookingStatus = 'created' | 'pending' | 'authorized' | 'confirmed' | 'completed' | 'cancelled' | 'failed';\n\nexport type SubscriptionStatus = 'pending' | 'active' | 'cancellation_scheduled' | 'cancelled' | 'expired';\n\nexport interface BookingItem {\n\tid: string;\n\tserviceId: string;\n\tproviderId: string;\n\tbusinessId: string;\n\tbookingId: string;\n\taccountId: string;\n\tfrom: number;\n\tto: number;\n\tblocks: Block[];\n\tprice: Price;\n}\n\nexport interface Booking {\n\tid: string;\n\tnumber: string;\n\taccountId: string;\n\tblocks: Block[];\n\tbusinessId: string;\n\tstatus: BookingStatus;\n\tserviceIds: string[];\n\tproviderIds: string[];\n\tpayment: Payment;\n\tbusiness?: Business;\n\taccount?: any;\n\titems: BookingItem[];\n\taudienceId?: string;\n\tcreatedAt: number;\n\tlastModified: number;\n}\n\nexport interface Node {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tparentId?: string | null;\n\tblocks: Block[];\n\tstatus: Status;\n\tslug: Record<string, string>;\n\twriteAccess: Access;\n\taudienceIds: string[];\n\temailSubject?: Record<string, string>;\n\tchildren: Node[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface ServiceDuration {\n\tduration: number;\n\tisPause?: boolean;\n}\n\nexport interface ServiceProvider {\n\tid: string;\n\tproviderId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tisApprovalRequired: boolean;\n\taudienceIds: string[];\n\tworkingTime: {\n\t\tworkingDays: Array<{ day: string; workingHours: Array<{ from: number; to: number }> }>;\n\t\toutcastDates: Array<{ month: number; day: number; workingHours: Array<{ from: number; to: number }> }>;\n\t\tspecificDates: Array<{ date: number; workingHours: Array<{ from: number; to: number }> }>;\n\t};\n\tprovider?: Provider;\n}\n\nexport interface Service {\n\tid: string;\n\tkey: string;\n\tslug: Record<string, string>;\n\tbusinessId: string;\n\tblocks: Block[];\n\tfilters: Filter[];\n\tnetworkIds: string[];\n\tproviders: ServiceProvider[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tstatus: Status;\n}\n\nexport interface ProviderTimelinePoint {\n\ttimestamp: number;\n\tconcurrent: number;\n}\n\nexport interface Provider {\n\tid: string;\n\tkey: string;\n\tslug: Record<string, string>;\n\tbusinessId: string;\n\tstatus: Status;\n\tconcurrentLimit: number;\n\tnetworkIds: string[];\n\taudienceIds: string[];\n\tblocks: Block[];\n\tfilters: Filter[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface WorkflowConnection {\n\tnode: string;\n\toutput: string;\n}\n\nexport interface Workflow {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tsecret: string;\n\tstatus: Status;\n\tnodes: Record<string, WorkflowNode>;\n\n\tschedule?: string;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport type WorkflowNode =\n\t| WorkflowTriggerNode\n\t| WorkflowHttpNode\n\t| WorkflowSwitchNode\n\t| WorkflowTransformNode\n\t| WorkflowLoopNode;\n\nexport interface WorkflowTriggerNode {\n\ttype: 'trigger';\n\tevent?: string;\n\tdelayMs?: number;\n\tschema?: Block[];\n}\n\nexport interface WorkflowHttpNode {\n\ttype: 'http';\n\tmethod: WorkflowHttpMethod;\n\turl: string;\n\theaders?: Record<string, string>;\n\tbody?: any;\n\ttimeoutMs?: number;\n\tintegrationId?: string;\n\tintegrationProviderId?: string;\n\tdelayMs?: number;\n\tretries?: number;\n\tretryDelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowSwitchRule {\n\tcondition: string;\n}\n\nexport interface WorkflowSwitchNode {\n\ttype: 'switch';\n\trules: WorkflowSwitchRule[];\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowTransformNode {\n\ttype: 'transform';\n\tcode: string;\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n}\n\nexport interface WorkflowLoopNode {\n\ttype: 'loop';\n\texpression: string;\n\tdelayMs?: number;\n\tedges?: WorkflowConnection[];\n\tbackEdges?: WorkflowConnection[];\n}\n\nexport type WorkflowHttpMethod = 'get' | 'post' | 'put' | 'patch' | 'delete';\n\nexport type ExecutionStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';\n\nexport interface NodeResult {\n\toutput: any;\n\troute: string;\n\tstartedAt: number;\n\tcompletedAt: number;\n\tdurationMs: number;\n\terror?: string;\n}\n\nexport interface WorkflowExecution {\n\tid: string;\n\tworkflowId: string;\n\tbusinessId: string;\n\tstatus: ExecutionStatus;\n\tinput: Record<string, any>;\n\tresults: Record<string, NodeResult>;\n\terror?: string;\n\tscheduledAt: number;\n\tstartedAt: number;\n\tcompletedAt?: number;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface Audience {\n\tid: string;\n\tbusinessId: string;\n\tkey: string;\n\tprices: SubscriptionPrice[];\n\tstatus: Status;\n}\n\nexport interface AudienceAccessResponse {\n\thasAccess: boolean;\n\tsubscription?: Subscription;\n}\n\nexport interface AudienceSubscribeResponse {\n\tcheckoutUrl?: string;\n\tsubscription?: Subscription;\n}\n\nexport type EventAction =\n\t// Order events\n\t| { action: 'order_created' }\n\t| { action: 'order_updated' }\n\t| { action: 'order_status_changed'; data: { from: string; to: string } }\n\t| { action: 'order_payment_received'; data: { amount: number; currency: string } }\n\t| { action: 'order_payment_failed'; data: { reason?: string } }\n\t| { action: 'order_refunded'; data: { amount: number; currency: string; reason?: string } }\n\t| { action: 'order_completed' }\n\t| { action: 'order_cancelled'; data: { reason?: string } }\n\t// Order shipment events\n\t| { action: 'order_shipment_created'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_in_transit'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_out_for_delivery'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_delivered'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_failed'; data: { shipment_id: string; reason?: string } }\n\t| { action: 'order_shipment_returned'; data: { shipment_id: string } }\n\t| { action: 'order_shipment_status_changed'; data: { shipment_id: string; from: string; to: string } }\n\t// Booking events\n\t| { action: 'booking_created' }\n\t| { action: 'booking_updated' }\n\t| { action: 'booking_status_changed'; data: { from: string; to: string } }\n\t| { action: 'booking_payment_received'; data: { amount: number; currency: string } }\n\t| { action: 'booking_payment_failed'; data: { reason?: string } }\n\t| { action: 'booking_refunded'; data: { amount: number; currency: string; reason?: string } }\n\t| { action: 'booking_completed' }\n\t| { action: 'booking_cancelled'; data: { reason?: string } }\n\t// Product events\n\t| { action: 'product_created' }\n\t| { action: 'product_updated' }\n\t| { action: 'product_deleted' }\n\t// Node events\n\t| { action: 'node_created' }\n\t| { action: 'node_updated' }\n\t| { action: 'node_deleted' }\n\t// Provider events\n\t| { action: 'provider_created' }\n\t| { action: 'provider_updated' }\n\t| { action: 'provider_deleted' }\n\t// Service events\n\t| { action: 'service_created' }\n\t| { action: 'service_updated' }\n\t| { action: 'service_deleted' }\n\t// Account events\n\t| { action: 'account_created' }\n\t| { action: 'account_updated' }\n\t| { action: 'account_deleted' }\n\t// Media events\n\t| { action: 'media_created' }\n\t| { action: 'media_deleted' }\n\t// Business events\n\t| { action: 'business_created' }\n\t| { action: 'business_updated' }\n\t| { action: 'business_deleted' }\n\t// Audience events\n\t| { action: 'audience_created' }\n\t| { action: 'audience_updated' }\n\t| { action: 'audience_deleted' };\n\nexport interface Event {\n\tid: string;\n\tentity: string;\n\tevent: EventAction;\n\tactor: string;\n\tcreatedAt: number;\n}\n\n// Shipping Types\n\n/** Shipping status for order fulfillment tracking */\nexport type ShippingStatus =\n\t| 'pending'\n\t| 'label_created'\n\t| 'in_transit'\n\t| 'out_for_delivery'\n\t| 'delivered'\n\t| 'failed'\n\t| 'returned';\n\n/** Order shipping information (legacy - kept for backward compatibility) */\nexport interface OrderShipping {\n\tcarrier: string;\n\tservice: string;\n\ttrackingNumber?: string | null;\n\ttrackingUrl?: string | null;\n\tlabelUrl?: string | null;\n\tstatus: ShippingStatus;\n}\n\n/** Line item in a shipment with quantity (for partial fulfillment) */\nexport interface ShipmentLine {\n\torderItemId: string;\n\tquantity: number;\n}\n\n/** Individual shipment for an order (ships from one location) */\nexport interface Shipment {\n\tid: string;\n\tlocationId: string;\n\tlines: ShipmentLine[]; // OrderItem IDs + quantities in this shipment\n\tcarrier?: string | null; // Set when label purchased\n\tservice?: string | null;\n\ttrackingNumber?: string | null;\n\ttrackingUrl?: string | null;\n\tlabelUrl?: string | null;\n\tstatus: ShippingStatus;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n/** Shipping rate from provider */\nexport interface ShippingRate {\n\tid: string;\n\tprovider: string;\n\tcarrier: string;\n\tservice: string;\n\tdisplayName: string;\n\tamount: number;\n\tcurrency: string;\n\testimatedDays?: number | null;\n}\n\n/**\n * @deprecated Use Address instead\n * Shipping address for rate requests\n */\nexport type ShippingAddress = Address;\n\n/** Parcel dimensions for shipping */\nexport interface Parcel {\n\tlength: number;\n\twidth: number;\n\theight: number;\n\tweight: number;\n\tdistanceUnit: 'in' | 'cm';\n\tmassUnit: 'oz' | 'lb' | 'g' | 'kg';\n}\n\n/** Result from purchasing a shipping label */\nexport interface PurchaseLabelResult {\n\ttrackingNumber: string;\n\ttrackingUrl?: string | null;\n\tlabelUrl: string;\n\tcarrier: string;\n\tservice: string;\n}\n\n/** Result from ship operation */\nexport interface ShipResult {\n\tshipmentId: string;\n\ttrackingNumber: string;\n\ttrackingUrl?: string | null;\n\tlabelUrl: string;\n}\n\n/** Individual item in a customs declaration */\nexport interface CustomsItem {\n\tdescription: string;\n\tquantity: number;\n\tnetWeight: string;\n\tmassUnit: string;\n\tvalueAmount: string;\n\tvalueCurrency: string;\n\toriginCountry: string;\n\ttariffNumber?: string | null;\n}\n\n/** Customs declaration for international shipments */\nexport interface CustomsDeclaration {\n\tcontentsType: string; // \"MERCHANDISE\" | \"GIFT\" | \"SAMPLE\" | \"DOCUMENTS\" | \"RETURN\"\n\tcontentsExplanation?: string | null;\n\tnonDeliveryOption: string; // \"RETURN\" | \"ABANDON\"\n\tcertify: boolean;\n\tcertifySigner: string;\n\titems: CustomsItem[];\n}\n\n/** @deprecated Use IntegrationStatus instead */\nexport type ShippingProviderStatus = IntegrationStatus;\n\n/** @deprecated Use Integration instead */\nexport interface ShippingProviderShippo {\n\tprovider: 'shippo';\n\tid: string;\n\tstatus: ShippingProviderStatus;\n\tapiToken: string;\n}\n\n/** @deprecated Use Integration instead */\nexport type BusinessShippingProvider = ShippingProviderShippo;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arky-sdk",
3
- "version": "0.5.13",
3
+ "version": "0.5.15",
4
4
  "description": "Official TypeScript SDK for Arky - All-in-one business platform",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",