arky-sdk 0.3.147 → 0.3.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +7 -16
- package/dist/types.d.ts +7 -16
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/types.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/index.ts"],"names":["PaymentMethodType"],"mappings":";;;AA4CO,IAAK,iBAAA,qBAAAA,kBAAAA,KAAL;AACN,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,mBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AAHI,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA","file":"types.cjs","sourcesContent":["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\tFree = \"FREE\",\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\nexport interface Price {\n\tmarket: string;\n\tamount: number;\n\tcompareAt?: number;\n}\n\nexport interface Location {\n\tcountry?: string | null;\n\taddress?: string | null;\n\tcity?: string | null;\n\tstate?: string | null;\n\tpostalCode?: string | null;\n\tcoordinates?: { lat: number; lon: number } | 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 ReservationCartItem {\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\nexport interface PaymentProviderConfig {\n\ttype: \"STRIPE\";\n\tpublicKey: string;\n\tsecretKey: string;\n\twebhookSecret: string;\n}\n\nexport interface ShippingWeightTier {\n\tupToGrams: number;\n\tamount: number;\n}\n\nexport interface PaymentMethod {\n\tid: string;\n\ttype: PaymentMethodType;\n}\n\nexport interface ShippingMethod {\n\tid: string;\n\ttaxable: boolean;\n\tetaText: string;\n\tpickupLocation?: Location;\n\tamount: number;\n\tfreeAbove?: number;\n\tweightTiers?: ShippingWeightTier[];\n}\n\nexport type ZoneScope = \"ORDER\" | \"RESERVATION\";\n\nexport interface Zone {\n\tid: 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 interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tbuildHooks: string[];\n\twebhooks: any[];\n\tpaymentProvider?: PaymentProviderConfig;\n\taiProvider?: any;\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\tstatuses: StatusEvent[];\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\tstatuses?: StatusEvent[];\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 type BlockType =\n\t| \"TEXT\"\n\t| \"LOCALIZED_TEXT\"\n\t| \"NUMBER\"\n\t| \"BOOLEAN\"\n\t| \"BLOCK\"\n\t| \"RELATIONSHIP_ENTRY\"\n\t| \"RELATIONSHIP_MEDIA\"\n\t| \"MARKDOWN\"\n\t| \"EMAIL\"\n\t| \"PHONE\"\n\t| \"ADDRESS\";\n\nexport type AddressType = \"SHIPPING\" | \"BILLING\";\n\nexport interface EmailBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\tisNotificationTarget?: boolean;\n}\n\nexport interface PhoneBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\tisNotificationTarget?: boolean;\n}\n\nexport interface AddressBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\taddressType: AddressType;\n}\n\nexport interface GeoLocationValue {\n\tcountry?: string | null;\n\taddress?: string | null;\n\tcity?: string | null;\n\tstate?: string | null;\n\tpostalCode?: string | null;\n\tcoordinates?: { lat: number; lon: number } | null;\n}\n\nexport interface EmailBlock extends Block {\n\ttype: \"EMAIL\";\n\tproperties: EmailBlockProperties;\n\tvalue: string[];\n}\n\nexport interface PhoneBlock extends Block {\n\ttype: \"PHONE\";\n\tproperties: PhoneBlockProperties;\n\tvalue: string[];\n}\n\nexport interface AddressBlock extends Block {\n\ttype: \"ADDRESS\";\n\tproperties: AddressBlockProperties;\n\tvalue: GeoLocationValue[];\n}\n\nexport interface Seo {\n\tslug: Record<string, string>;\n\tmetaTitle: Record<string, string>;\n\tmetaDescription: Record<string, string>;\n\tcanonicalUrl: Record<string, string>;\n\togImage: string;\n}\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\tseo: Seo;\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 ReservationStoreState {\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\treservationBlocks: Block[];\n\tapiUrl: string;\n\tbusinessId: string;\n\ttimezone: string;\n\ttzGroups: any;\n\titems: ReservationCartItem[];\n\tallowedPaymentMethods: string[];\n\tpaymentConfig: {\n\t\tprovider: PaymentProviderConfig | null;\n\t\tenabled: boolean;\n\t};\n}\n\nexport interface StatusEvent {\n\tid: string;\n\tchangedBy: 'BUSINESS' | 'USER' | 'SYSTEM';\n\tuserId?: string;\n\tstatus: string;\n\tnote?: string;\n\ttimestamp: number;\n}\n\nexport interface ReservationItem {\n\tid: string;\n\tserviceId: string;\n\tproviderId: string;\n\tbusinessId: string;\n\treservationId: string;\n\tuserId: string;\n\tfrom: number;\n\tto: number;\n\tblocks: Block[];\n\tprice: Price;\n}\n\nexport interface Reservation {\n\tid: string;\n\tnumber: string;\n\tuserId: string;\n\tblocks: Block[];\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tserviceIds: string[];\n\tproviderIds: string[];\n\tpayment: Payment;\n\tbusiness?: Business;\n\tuser?: any;\n\titems: ReservationItem[];\n\temail?: string;\n\tphone?: string;\n\tcreatedAt: number;\n\tlastModified: number;\n}\n\n// ===== CMS Types =====\n\nexport interface NodeNotifications {\n\temails: string[];\n}\n\nexport interface NodeConfig {\n\tparentId?: string | null;\n\tisPubliclyReadable: boolean;\n\tisPubliclyWritable: boolean;\n}\n\nexport interface SubscriptionPlan {\n\tid: string;\n\tproviderPriceId?: string;\n\tproviderProductId?: string;\n\tname: string;\n\ttier: number;\n\tamount: number;\n\tcurrency: string;\n\tinterval: string;\n\tintervalCount: number;\n\ttrialPeriodDays: number;\n\tfeatures: Record<string, any>;\n}\n\nexport type SendStatus = 'SCHEDULED' | 'SENDING' | 'SENT' | 'CANCELLED' | 'FAILED';\n\nexport interface NodeSend {\n\tid: string;\n\tscheduledAt: number;\n\tstatus: SendStatus;\n\tsentCount: number;\n\tfailedCount: number;\n\tcreatedAt: number;\n}\n\nexport interface Node {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tblocks: Block[];\n\tstatuses: StatusEvent[];\n\tseo: Seo;\n\tnotifications: NodeNotifications;\n\tconfig: NodeConfig;\n\temailSubject?: Record<string, string>;\n\tplans: SubscriptionPlan[];\n\tsends: NodeSend[];\n\tchildren: Node[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n// ===== Reservation Domain Types =====\n\nexport interface ServiceDuration {\n\tduration: number;\n\tisPause?: boolean;\n}\n\nexport interface ServiceProvider {\n\tid: string;\n\tproviderId: 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\tseo: Seo;\n\tbusinessId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tblocks: Block[];\n\tnodeIds: string[];\n\tisApprovalRequired: boolean;\n\tproviders: ServiceProvider[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tstatuses: StatusEvent[];\n}\n\nexport interface ProviderTimelinePoint {\n\ttimestamp: number;\n\tconcurrent: number;\n}\n\nexport interface Provider {\n\tid: string;\n\tkey: string;\n\tseo: Seo;\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tconcurrentLimit: number;\n\tnodeIds: string[];\n\tblocks: Block[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n// ===== Workflow Types =====\n\nexport interface Workflow {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tsecret: string;\n\tstatuses: StatusEvent[];\n\tnodes: Record<string, WorkflowNode>;\n\tedges: WorkflowEdge[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface WorkflowEdge {\n\tid: string;\n\tsource: string;\n\tsourceOutput: string;\n\ttarget: string;\n}\n\nexport type WorkflowNode =\n\t| WorkflowTriggerNode\n\t| WorkflowHttpNode\n\t| WorkflowIfNode\n\t| WorkflowLoopNode\n\t| WorkflowWaitNode;\n\nexport interface WorkflowTriggerNode {\n\ttype: 'trigger';\n\tevent?: string;\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}\n\nexport interface WorkflowIfNode {\n\ttype: 'if';\n\tcondition: string;\n}\n\nexport interface WorkflowLoopNode {\n\ttype: 'loop';\n\tarray: string;\n}\n\nexport interface WorkflowWaitNode {\n\ttype: 'wait';\n\tduration: string;\n}\n\nexport type WorkflowHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';\n\nexport type ExecutionStatus = 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'WAITING';\n\nexport interface WorkflowExecution {\n\tid: string;\n\tworkflowId: string;\n\tbusinessId: string;\n\tstatus: ExecutionStatus;\n\tinput: Record<string, any>;\n\tnodeOutputs: Record<string, any>;\n\tcurrentNode?: string;\n\terror?: string;\n\tscheduledAt: number;\n\tstartedAt: number;\n\tcompletedAt?: number;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/types/index.ts"],"names":["PaymentMethodType"],"mappings":";;;AA4CO,IAAK,iBAAA,qBAAAA,kBAAAA,KAAL;AACN,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,mBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AAHI,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA","file":"types.cjs","sourcesContent":["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\tFree = \"FREE\",\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\nexport interface Price {\n\tmarket: string;\n\tamount: number;\n\tcompareAt?: number;\n}\n\nexport interface Location {\n\tcountry?: string | null;\n\taddress?: string | null;\n\tcity?: string | null;\n\tstate?: string | null;\n\tpostalCode?: string | null;\n\tcoordinates?: { lat: number; lon: number } | 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 ReservationCartItem {\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\nexport interface PaymentProviderConfig {\n\ttype: \"STRIPE\";\n\tpublicKey: string;\n\tsecretKey: string;\n\twebhookSecret: string;\n}\n\nexport interface ShippingWeightTier {\n\tupToGrams: number;\n\tamount: number;\n}\n\nexport interface PaymentMethod {\n\tid: string;\n\ttype: PaymentMethodType;\n}\n\nexport interface ShippingMethod {\n\tid: string;\n\ttaxable: boolean;\n\tetaText: string;\n\tpickupLocation?: Location;\n\tamount: number;\n\tfreeAbove?: number;\n\tweightTiers?: ShippingWeightTier[];\n}\n\nexport type ZoneScope = \"ORDER\" | \"RESERVATION\";\n\nexport interface Zone {\n\tid: 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 interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tbuildHooks: string[];\n\twebhooks: any[];\n\tpaymentProvider?: PaymentProviderConfig;\n\taiProvider?: any;\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\tstatuses: StatusEvent[];\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\tstatuses?: StatusEvent[];\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 type BlockType =\n\t| \"TEXT\"\n\t| \"LOCALIZED_TEXT\"\n\t| \"NUMBER\"\n\t| \"BOOLEAN\"\n\t| \"BLOCK\"\n\t| \"RELATIONSHIP_ENTRY\"\n\t| \"RELATIONSHIP_MEDIA\"\n\t| \"MARKDOWN\"\n\t| \"EMAIL\"\n\t| \"PHONE\"\n\t| \"ADDRESS\";\n\nexport type AddressType = \"SHIPPING\" | \"BILLING\";\n\nexport interface EmailBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\tisNotificationTarget?: boolean;\n}\n\nexport interface PhoneBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\tisNotificationTarget?: boolean;\n}\n\nexport interface AddressBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\taddressType: AddressType;\n}\n\nexport interface GeoLocationValue {\n\tcountry?: string | null;\n\taddress?: string | null;\n\tcity?: string | null;\n\tstate?: string | null;\n\tpostalCode?: string | null;\n\tcoordinates?: { lat: number; lon: number } | null;\n}\n\nexport interface EmailBlock extends Block {\n\ttype: \"EMAIL\";\n\tproperties: EmailBlockProperties;\n\tvalue: string[];\n}\n\nexport interface PhoneBlock extends Block {\n\ttype: \"PHONE\";\n\tproperties: PhoneBlockProperties;\n\tvalue: string[];\n}\n\nexport interface AddressBlock extends Block {\n\ttype: \"ADDRESS\";\n\tproperties: AddressBlockProperties;\n\tvalue: GeoLocationValue[];\n}\n\nexport interface Seo {\n\tslug: Record<string, string>;\n\tmetaTitle: Record<string, string>;\n\tmetaDescription: Record<string, string>;\n\tcanonicalUrl: Record<string, string>;\n\togImage: string;\n}\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\tseo: Seo;\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 ReservationStoreState {\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\treservationBlocks: Block[];\n\tapiUrl: string;\n\tbusinessId: string;\n\ttimezone: string;\n\ttzGroups: any;\n\titems: ReservationCartItem[];\n\tallowedPaymentMethods: string[];\n\tpaymentConfig: {\n\t\tprovider: PaymentProviderConfig | null;\n\t\tenabled: boolean;\n\t};\n}\n\nexport interface StatusEvent {\n\tid: string;\n\tchangedBy: 'BUSINESS' | 'USER' | 'SYSTEM';\n\tuserId?: string;\n\tstatus: string;\n\tnote?: string;\n\ttimestamp: number;\n}\n\nexport interface ReservationItem {\n\tid: string;\n\tserviceId: string;\n\tproviderId: string;\n\tbusinessId: string;\n\treservationId: string;\n\tuserId: string;\n\tfrom: number;\n\tto: number;\n\tblocks: Block[];\n\tprice: Price;\n}\n\nexport interface Reservation {\n\tid: string;\n\tnumber: string;\n\tuserId: string;\n\tblocks: Block[];\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tserviceIds: string[];\n\tproviderIds: string[];\n\tpayment: Payment;\n\tbusiness?: Business;\n\tuser?: any;\n\titems: ReservationItem[];\n\temail?: string;\n\tphone?: string;\n\tcreatedAt: number;\n\tlastModified: number;\n}\n\n// ===== CMS Types =====\n\nexport interface NodeConfig {\n\tparentId?: string | null;\n\tisPubliclyReadable: boolean;\n\tisPubliclyWritable: boolean;\n}\n\nexport interface SubscriptionPlan {\n\tid: string;\n\tproviderPriceId?: string;\n\tproviderProductId?: string;\n\tname: string;\n\ttier: number;\n\tamount: number;\n\tcurrency: string;\n\tinterval: string;\n\tintervalCount: number;\n\ttrialPeriodDays: number;\n\tfeatures: Record<string, any>;\n}\n\nexport type SendStatus = 'SCHEDULED' | 'SENDING' | 'SENT' | 'CANCELLED' | 'FAILED';\n\nexport interface NodeSend {\n\tid: string;\n\tscheduledAt: number;\n\tstatus: SendStatus;\n\tsentCount: number;\n\tfailedCount: number;\n\tcreatedAt: number;\n}\n\nexport interface Node {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tblocks: Block[];\n\tstatuses: StatusEvent[];\n\tseo: Seo;\n\tconfig: NodeConfig;\n\tplans: SubscriptionPlan[];\n\tsends: NodeSend[];\n\tchildren: Node[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n// ===== Reservation Domain Types =====\n\nexport interface ServiceDuration {\n\tduration: number;\n\tisPause?: boolean;\n}\n\nexport interface ServiceProvider {\n\tid: string;\n\tproviderId: 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\tseo: Seo;\n\tbusinessId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tblocks: Block[];\n\tnodeIds: string[];\n\tisApprovalRequired: boolean;\n\tproviders: ServiceProvider[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tstatuses: StatusEvent[];\n}\n\nexport interface ProviderTimelinePoint {\n\ttimestamp: number;\n\tconcurrent: number;\n}\n\nexport interface Provider {\n\tid: string;\n\tkey: string;\n\tseo: Seo;\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tconcurrentLimit: number;\n\tnodeIds: string[];\n\tblocks: Block[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n// ===== Workflow Types =====\n\nexport interface Workflow {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tsecret: string;\n\tstatuses: StatusEvent[];\n\tnodes: Record<string, WorkflowNode>;\n\tedges: WorkflowEdge[];\n\t/** Optional cron schedule expression (e.g., \"0 9 * * *\" for 9am daily) */\n\tschedule?: string;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface WorkflowEdge {\n\tid: string;\n\tsource: string;\n\tsourceOutput: string;\n\ttarget: string;\n}\n\nexport type WorkflowNode =\n\t| WorkflowTriggerNode\n\t| WorkflowHttpNode\n\t| WorkflowIfNode\n\t| WorkflowLoopNode\n\t| WorkflowWaitNode;\n\nexport interface WorkflowTriggerNode {\n\ttype: 'trigger';\n\tevent?: string;\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}\n\nexport interface WorkflowIfNode {\n\ttype: 'if';\n\tcondition: string;\n}\n\nexport interface WorkflowLoopNode {\n\ttype: 'loop';\n\tarray: string;\n}\n\nexport interface WorkflowWaitNode {\n\ttype: 'wait';\n\tduration: string;\n}\n\nexport type WorkflowHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';\n\nexport type ExecutionStatus = 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'WAITING';\n\nexport interface WorkflowExecution {\n\tid: string;\n\tworkflowId: string;\n\tbusinessId: string;\n\tstatus: ExecutionStatus;\n\tinput: Record<string, any>;\n\tnodeOutputs: Record<string, any>;\n\tcurrentNode?: string;\n\terror?: string;\n\tscheduledAt: number;\n\tstartedAt: number;\n\tcompletedAt?: number;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n"]}
|
package/dist/types.d.cts
CHANGED
|
@@ -357,9 +357,6 @@ interface Reservation {
|
|
|
357
357
|
createdAt: number;
|
|
358
358
|
lastModified: number;
|
|
359
359
|
}
|
|
360
|
-
interface NodeNotifications {
|
|
361
|
-
emails: string[];
|
|
362
|
-
}
|
|
363
360
|
interface NodeConfig {
|
|
364
361
|
parentId?: string | null;
|
|
365
362
|
isPubliclyReadable: boolean;
|
|
@@ -394,9 +391,7 @@ interface Node {
|
|
|
394
391
|
blocks: Block[];
|
|
395
392
|
statuses: StatusEvent[];
|
|
396
393
|
seo: Seo;
|
|
397
|
-
notifications: NodeNotifications;
|
|
398
394
|
config: NodeConfig;
|
|
399
|
-
emailSubject?: Record<string, string>;
|
|
400
395
|
plans: SubscriptionPlan[];
|
|
401
396
|
sends: NodeSend[];
|
|
402
397
|
children: Node[];
|
|
@@ -476,6 +471,8 @@ interface Workflow {
|
|
|
476
471
|
statuses: StatusEvent[];
|
|
477
472
|
nodes: Record<string, WorkflowNode>;
|
|
478
473
|
edges: WorkflowEdge[];
|
|
474
|
+
/** Optional cron schedule expression (e.g., "0 9 * * *" for 9am daily) */
|
|
475
|
+
schedule?: string;
|
|
479
476
|
createdAt: number;
|
|
480
477
|
updatedAt: number;
|
|
481
478
|
}
|
|
@@ -609,16 +606,11 @@ interface CreateNodeParams {
|
|
|
609
606
|
blocks?: any[];
|
|
610
607
|
seo?: any;
|
|
611
608
|
status?: string;
|
|
612
|
-
notifications?: {
|
|
613
|
-
emails?: string[];
|
|
614
|
-
};
|
|
615
609
|
config?: {
|
|
616
610
|
parentId?: string | null;
|
|
617
611
|
isPubliclyReadable?: boolean;
|
|
618
612
|
isPubliclyWritable?: boolean;
|
|
619
613
|
};
|
|
620
|
-
/** Email subject for email template nodes */
|
|
621
|
-
emailSubject?: string;
|
|
622
614
|
}
|
|
623
615
|
interface UpdateNodeParams {
|
|
624
616
|
id: string;
|
|
@@ -627,16 +619,11 @@ interface UpdateNodeParams {
|
|
|
627
619
|
blocks?: any[];
|
|
628
620
|
seo?: any;
|
|
629
621
|
status?: string;
|
|
630
|
-
notifications?: {
|
|
631
|
-
emails?: string[];
|
|
632
|
-
};
|
|
633
622
|
config?: {
|
|
634
623
|
parentId?: string | null;
|
|
635
624
|
isPubliclyReadable?: boolean;
|
|
636
625
|
isPubliclyWritable?: boolean;
|
|
637
626
|
};
|
|
638
|
-
/** Email subject for email template nodes */
|
|
639
|
-
emailSubject?: string;
|
|
640
627
|
}
|
|
641
628
|
interface GetNodeParams {
|
|
642
629
|
id?: string;
|
|
@@ -1303,6 +1290,8 @@ interface CreateWorkflowParams {
|
|
|
1303
1290
|
statuses?: StatusEvent[];
|
|
1304
1291
|
nodes: Record<string, WorkflowNode>;
|
|
1305
1292
|
edges: WorkflowEdge[];
|
|
1293
|
+
/** Optional cron schedule expression (e.g., "0 9 * * *" for 9am daily) */
|
|
1294
|
+
schedule?: string;
|
|
1306
1295
|
}
|
|
1307
1296
|
interface UpdateWorkflowParams {
|
|
1308
1297
|
id: string;
|
|
@@ -1310,6 +1299,8 @@ interface UpdateWorkflowParams {
|
|
|
1310
1299
|
statuses?: StatusEvent[];
|
|
1311
1300
|
nodes: Record<string, WorkflowNode>;
|
|
1312
1301
|
edges: WorkflowEdge[];
|
|
1302
|
+
/** Optional cron schedule expression (e.g., "0 9 * * *" for 9am daily) */
|
|
1303
|
+
schedule?: string;
|
|
1313
1304
|
}
|
|
1314
1305
|
interface DeleteWorkflowParams {
|
|
1315
1306
|
id: string;
|
|
@@ -1336,4 +1327,4 @@ interface TriggerWorkflowParams {
|
|
|
1336
1327
|
[key: string]: any;
|
|
1337
1328
|
}
|
|
1338
1329
|
|
|
1339
|
-
export { type AddPhoneNumberParams, type AddressBlock, type AddressBlockProperties, type AddressType, type ApiResponse, type Block, type BlockType, type BulkScheduleParams, type Business, type BusinessConfig, type BusinessEmails, type CancelSendParams, type Condition, type ConfirmUserParams, type CreateBusinessParams, type CreateFeatureFlagParams, type CreateNodeParams, type CreateOrderParams, type CreatePortalSessionParams, type CreateProductParams, type CreatePromoCodeParams, type CreateProviderParams, type CreateReservationParams, type CreateRoleParams, type CreateServiceParams, type CreateWorkflowParams, type DayAvailability, type DeleteBusinessMediaParams, type DeleteBusinessParams, type DeleteFeatureFlagParams, type DeleteNodeParams, type DeleteProductParams, type DeletePromoCodeParams, type DeleteProviderParams, type DeleteRoleParams, type DeleteServiceParams, type DeleteUserParams, type DeleteWorkflowParams, type Discount, type EmailBlock, type EmailBlockProperties, type EshopCartItem, type EshopItem, type EshopStoreState, type ExecutionStatus, type FeatureFlag, type FeatureFlagStatus, type FlagResults, type ForgotPasswordParams, type GenerateBlocksParams, type GeoLocationValue, type GetAnalyticsHealthParams, type GetAnalyticsParams, type GetAvailabilityParams, type GetBusinessMediaParams, type GetBusinessMediaParams2, type GetBusinessParams, type GetBusinessParentsParams, type GetBusinessServiceWorkingTimeParams, type GetBusinessesParams, type GetDeliveryStatsParams, type GetFeatureFlagParams, type GetFeatureFlagResultsParams, type GetFeatureFlagsParams, type GetLoginUrlParams, 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 GetReservationParams, type GetReservationQuoteParams, type GetRoleParams, type GetRolesParams, type GetServiceParams, type GetServicesParams, type GetSlotsForDateParams, type GetSubscribersParams, type GetSubscriptionParams, type GetSubscriptionPlansParams, type GetVariableMetadataParams, type GetVariantParams, type GetVariantResponse, type GetWorkflowParams, type GetWorkflowsParams, type HandleInvitationParams, type InviteUserParams, type Language, type Location, type LoginUserParams, type LogoutParams, type Market, type Media, type MediaResolution, type Node, type NodeConfig, type
|
|
1330
|
+
export { type AddPhoneNumberParams, type AddressBlock, type AddressBlockProperties, type AddressType, type ApiResponse, type Block, type BlockType, type BulkScheduleParams, type Business, type BusinessConfig, type BusinessEmails, type CancelSendParams, type Condition, type ConfirmUserParams, type CreateBusinessParams, type CreateFeatureFlagParams, type CreateNodeParams, type CreateOrderParams, type CreatePortalSessionParams, type CreateProductParams, type CreatePromoCodeParams, type CreateProviderParams, type CreateReservationParams, type CreateRoleParams, type CreateServiceParams, type CreateWorkflowParams, type DayAvailability, type DeleteBusinessMediaParams, type DeleteBusinessParams, type DeleteFeatureFlagParams, type DeleteNodeParams, type DeleteProductParams, type DeletePromoCodeParams, type DeleteProviderParams, type DeleteRoleParams, type DeleteServiceParams, type DeleteUserParams, type DeleteWorkflowParams, type Discount, type EmailBlock, type EmailBlockProperties, type EshopCartItem, type EshopItem, type EshopStoreState, type ExecutionStatus, type FeatureFlag, type FeatureFlagStatus, type FlagResults, type ForgotPasswordParams, type GenerateBlocksParams, type GeoLocationValue, type GetAnalyticsHealthParams, type GetAnalyticsParams, type GetAvailabilityParams, type GetBusinessMediaParams, type GetBusinessMediaParams2, type GetBusinessParams, type GetBusinessParentsParams, type GetBusinessServiceWorkingTimeParams, type GetBusinessesParams, type GetDeliveryStatsParams, type GetFeatureFlagParams, type GetFeatureFlagResultsParams, type GetFeatureFlagsParams, type GetLoginUrlParams, 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 GetReservationParams, type GetReservationQuoteParams, type GetRoleParams, type GetRolesParams, type GetServiceParams, type GetServicesParams, type GetSlotsForDateParams, type GetSubscribersParams, type GetSubscriptionParams, type GetSubscriptionPlansParams, type GetVariableMetadataParams, type GetVariantParams, type GetVariantResponse, type GetWorkflowParams, type GetWorkflowsParams, type HandleInvitationParams, type InviteUserParams, type Language, type Location, type LoginUserParams, type LogoutParams, type Market, type Media, type MediaResolution, type Node, type NodeConfig, type NodeSend, type OrderCheckoutParams, type OutcastDate, type Paginated, type PaginatedResponse, type Payment, type PaymentMethod, PaymentMethodType, type PaymentProviderConfig, type PaymentRefund, type PhoneBlock, type PhoneBlockProperties, type PhoneNumberConfirmParams, type Price, type ProcessRefundParams, type PromoCodeValidation, type Provider, type ProviderTimelinePoint, type ProviderWithTimeline, type Quote, type RegisterUserParams, type RequestOptions, type Reservation, type ReservationCartItem, type ReservationCheckoutParams, type ReservationItem, type ReservationQuoteItem, type ReservationStoreState, type ResetForgotPasswordParams, type ResetPasswordParams, type ScheduleSendParams, type SearchReservationsParams, type SearchUsersParams, type SendStatus, type Seo, type Service, type ServiceDuration, type ServiceProvider, type ServiceProviderInput, type SetRoleParams, type SetupAnalyticsParams, type ShippingMethod, type ShippingWeightTier, type Slot, type SpecificDate, type StatusEvent, type SubscribeParams, type Subscription, type SubscriptionPlan, type SystemTemplateKey, type TestWebhookParams, type TimelinePoint, type TrackEmailOpenParams, type TrackEventParams, type TrackEventResponse, type TriggerBuildsParams, type TriggerWorkflowParams, type UpdateBusinessParams, type UpdateFeatureFlagParams, type UpdateMediaParams, type UpdateNodeParams, type UpdateNotificationsParams, type UpdateOrderParams, type UpdateProductParams, type UpdatePromoCodeParams, type UpdateProviderParams, type UpdateReservationParams, type UpdateRoleParams, type UpdateServiceParams, type UpdateUserProfileParams, type UpdateWorkflowParams, type UploadBusinessMediaParams, type UserSubscribeParams, type Variant, type VariantInput, type VariantResult, type Workflow, type WorkflowEdge, type WorkflowExecution, type WorkflowHttpMethod, type WorkflowHttpNode, type WorkflowIfNode, type WorkflowLoopNode, type WorkflowNode, type WorkflowTriggerNode, type WorkflowWaitNode, type WorkingDay, type WorkingHour, type WorkingTime, type Zone, type ZoneScope };
|
package/dist/types.d.ts
CHANGED
|
@@ -357,9 +357,6 @@ interface Reservation {
|
|
|
357
357
|
createdAt: number;
|
|
358
358
|
lastModified: number;
|
|
359
359
|
}
|
|
360
|
-
interface NodeNotifications {
|
|
361
|
-
emails: string[];
|
|
362
|
-
}
|
|
363
360
|
interface NodeConfig {
|
|
364
361
|
parentId?: string | null;
|
|
365
362
|
isPubliclyReadable: boolean;
|
|
@@ -394,9 +391,7 @@ interface Node {
|
|
|
394
391
|
blocks: Block[];
|
|
395
392
|
statuses: StatusEvent[];
|
|
396
393
|
seo: Seo;
|
|
397
|
-
notifications: NodeNotifications;
|
|
398
394
|
config: NodeConfig;
|
|
399
|
-
emailSubject?: Record<string, string>;
|
|
400
395
|
plans: SubscriptionPlan[];
|
|
401
396
|
sends: NodeSend[];
|
|
402
397
|
children: Node[];
|
|
@@ -476,6 +471,8 @@ interface Workflow {
|
|
|
476
471
|
statuses: StatusEvent[];
|
|
477
472
|
nodes: Record<string, WorkflowNode>;
|
|
478
473
|
edges: WorkflowEdge[];
|
|
474
|
+
/** Optional cron schedule expression (e.g., "0 9 * * *" for 9am daily) */
|
|
475
|
+
schedule?: string;
|
|
479
476
|
createdAt: number;
|
|
480
477
|
updatedAt: number;
|
|
481
478
|
}
|
|
@@ -609,16 +606,11 @@ interface CreateNodeParams {
|
|
|
609
606
|
blocks?: any[];
|
|
610
607
|
seo?: any;
|
|
611
608
|
status?: string;
|
|
612
|
-
notifications?: {
|
|
613
|
-
emails?: string[];
|
|
614
|
-
};
|
|
615
609
|
config?: {
|
|
616
610
|
parentId?: string | null;
|
|
617
611
|
isPubliclyReadable?: boolean;
|
|
618
612
|
isPubliclyWritable?: boolean;
|
|
619
613
|
};
|
|
620
|
-
/** Email subject for email template nodes */
|
|
621
|
-
emailSubject?: string;
|
|
622
614
|
}
|
|
623
615
|
interface UpdateNodeParams {
|
|
624
616
|
id: string;
|
|
@@ -627,16 +619,11 @@ interface UpdateNodeParams {
|
|
|
627
619
|
blocks?: any[];
|
|
628
620
|
seo?: any;
|
|
629
621
|
status?: string;
|
|
630
|
-
notifications?: {
|
|
631
|
-
emails?: string[];
|
|
632
|
-
};
|
|
633
622
|
config?: {
|
|
634
623
|
parentId?: string | null;
|
|
635
624
|
isPubliclyReadable?: boolean;
|
|
636
625
|
isPubliclyWritable?: boolean;
|
|
637
626
|
};
|
|
638
|
-
/** Email subject for email template nodes */
|
|
639
|
-
emailSubject?: string;
|
|
640
627
|
}
|
|
641
628
|
interface GetNodeParams {
|
|
642
629
|
id?: string;
|
|
@@ -1303,6 +1290,8 @@ interface CreateWorkflowParams {
|
|
|
1303
1290
|
statuses?: StatusEvent[];
|
|
1304
1291
|
nodes: Record<string, WorkflowNode>;
|
|
1305
1292
|
edges: WorkflowEdge[];
|
|
1293
|
+
/** Optional cron schedule expression (e.g., "0 9 * * *" for 9am daily) */
|
|
1294
|
+
schedule?: string;
|
|
1306
1295
|
}
|
|
1307
1296
|
interface UpdateWorkflowParams {
|
|
1308
1297
|
id: string;
|
|
@@ -1310,6 +1299,8 @@ interface UpdateWorkflowParams {
|
|
|
1310
1299
|
statuses?: StatusEvent[];
|
|
1311
1300
|
nodes: Record<string, WorkflowNode>;
|
|
1312
1301
|
edges: WorkflowEdge[];
|
|
1302
|
+
/** Optional cron schedule expression (e.g., "0 9 * * *" for 9am daily) */
|
|
1303
|
+
schedule?: string;
|
|
1313
1304
|
}
|
|
1314
1305
|
interface DeleteWorkflowParams {
|
|
1315
1306
|
id: string;
|
|
@@ -1336,4 +1327,4 @@ interface TriggerWorkflowParams {
|
|
|
1336
1327
|
[key: string]: any;
|
|
1337
1328
|
}
|
|
1338
1329
|
|
|
1339
|
-
export { type AddPhoneNumberParams, type AddressBlock, type AddressBlockProperties, type AddressType, type ApiResponse, type Block, type BlockType, type BulkScheduleParams, type Business, type BusinessConfig, type BusinessEmails, type CancelSendParams, type Condition, type ConfirmUserParams, type CreateBusinessParams, type CreateFeatureFlagParams, type CreateNodeParams, type CreateOrderParams, type CreatePortalSessionParams, type CreateProductParams, type CreatePromoCodeParams, type CreateProviderParams, type CreateReservationParams, type CreateRoleParams, type CreateServiceParams, type CreateWorkflowParams, type DayAvailability, type DeleteBusinessMediaParams, type DeleteBusinessParams, type DeleteFeatureFlagParams, type DeleteNodeParams, type DeleteProductParams, type DeletePromoCodeParams, type DeleteProviderParams, type DeleteRoleParams, type DeleteServiceParams, type DeleteUserParams, type DeleteWorkflowParams, type Discount, type EmailBlock, type EmailBlockProperties, type EshopCartItem, type EshopItem, type EshopStoreState, type ExecutionStatus, type FeatureFlag, type FeatureFlagStatus, type FlagResults, type ForgotPasswordParams, type GenerateBlocksParams, type GeoLocationValue, type GetAnalyticsHealthParams, type GetAnalyticsParams, type GetAvailabilityParams, type GetBusinessMediaParams, type GetBusinessMediaParams2, type GetBusinessParams, type GetBusinessParentsParams, type GetBusinessServiceWorkingTimeParams, type GetBusinessesParams, type GetDeliveryStatsParams, type GetFeatureFlagParams, type GetFeatureFlagResultsParams, type GetFeatureFlagsParams, type GetLoginUrlParams, 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 GetReservationParams, type GetReservationQuoteParams, type GetRoleParams, type GetRolesParams, type GetServiceParams, type GetServicesParams, type GetSlotsForDateParams, type GetSubscribersParams, type GetSubscriptionParams, type GetSubscriptionPlansParams, type GetVariableMetadataParams, type GetVariantParams, type GetVariantResponse, type GetWorkflowParams, type GetWorkflowsParams, type HandleInvitationParams, type InviteUserParams, type Language, type Location, type LoginUserParams, type LogoutParams, type Market, type Media, type MediaResolution, type Node, type NodeConfig, type
|
|
1330
|
+
export { type AddPhoneNumberParams, type AddressBlock, type AddressBlockProperties, type AddressType, type ApiResponse, type Block, type BlockType, type BulkScheduleParams, type Business, type BusinessConfig, type BusinessEmails, type CancelSendParams, type Condition, type ConfirmUserParams, type CreateBusinessParams, type CreateFeatureFlagParams, type CreateNodeParams, type CreateOrderParams, type CreatePortalSessionParams, type CreateProductParams, type CreatePromoCodeParams, type CreateProviderParams, type CreateReservationParams, type CreateRoleParams, type CreateServiceParams, type CreateWorkflowParams, type DayAvailability, type DeleteBusinessMediaParams, type DeleteBusinessParams, type DeleteFeatureFlagParams, type DeleteNodeParams, type DeleteProductParams, type DeletePromoCodeParams, type DeleteProviderParams, type DeleteRoleParams, type DeleteServiceParams, type DeleteUserParams, type DeleteWorkflowParams, type Discount, type EmailBlock, type EmailBlockProperties, type EshopCartItem, type EshopItem, type EshopStoreState, type ExecutionStatus, type FeatureFlag, type FeatureFlagStatus, type FlagResults, type ForgotPasswordParams, type GenerateBlocksParams, type GeoLocationValue, type GetAnalyticsHealthParams, type GetAnalyticsParams, type GetAvailabilityParams, type GetBusinessMediaParams, type GetBusinessMediaParams2, type GetBusinessParams, type GetBusinessParentsParams, type GetBusinessServiceWorkingTimeParams, type GetBusinessesParams, type GetDeliveryStatsParams, type GetFeatureFlagParams, type GetFeatureFlagResultsParams, type GetFeatureFlagsParams, type GetLoginUrlParams, 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 GetReservationParams, type GetReservationQuoteParams, type GetRoleParams, type GetRolesParams, type GetServiceParams, type GetServicesParams, type GetSlotsForDateParams, type GetSubscribersParams, type GetSubscriptionParams, type GetSubscriptionPlansParams, type GetVariableMetadataParams, type GetVariantParams, type GetVariantResponse, type GetWorkflowParams, type GetWorkflowsParams, type HandleInvitationParams, type InviteUserParams, type Language, type Location, type LoginUserParams, type LogoutParams, type Market, type Media, type MediaResolution, type Node, type NodeConfig, type NodeSend, type OrderCheckoutParams, type OutcastDate, type Paginated, type PaginatedResponse, type Payment, type PaymentMethod, PaymentMethodType, type PaymentProviderConfig, type PaymentRefund, type PhoneBlock, type PhoneBlockProperties, type PhoneNumberConfirmParams, type Price, type ProcessRefundParams, type PromoCodeValidation, type Provider, type ProviderTimelinePoint, type ProviderWithTimeline, type Quote, type RegisterUserParams, type RequestOptions, type Reservation, type ReservationCartItem, type ReservationCheckoutParams, type ReservationItem, type ReservationQuoteItem, type ReservationStoreState, type ResetForgotPasswordParams, type ResetPasswordParams, type ScheduleSendParams, type SearchReservationsParams, type SearchUsersParams, type SendStatus, type Seo, type Service, type ServiceDuration, type ServiceProvider, type ServiceProviderInput, type SetRoleParams, type SetupAnalyticsParams, type ShippingMethod, type ShippingWeightTier, type Slot, type SpecificDate, type StatusEvent, type SubscribeParams, type Subscription, type SubscriptionPlan, type SystemTemplateKey, type TestWebhookParams, type TimelinePoint, type TrackEmailOpenParams, type TrackEventParams, type TrackEventResponse, type TriggerBuildsParams, type TriggerWorkflowParams, type UpdateBusinessParams, type UpdateFeatureFlagParams, type UpdateMediaParams, type UpdateNodeParams, type UpdateNotificationsParams, type UpdateOrderParams, type UpdateProductParams, type UpdatePromoCodeParams, type UpdateProviderParams, type UpdateReservationParams, type UpdateRoleParams, type UpdateServiceParams, type UpdateUserProfileParams, type UpdateWorkflowParams, type UploadBusinessMediaParams, type UserSubscribeParams, type Variant, type VariantInput, type VariantResult, type Workflow, type WorkflowEdge, type WorkflowExecution, type WorkflowHttpMethod, type WorkflowHttpNode, type WorkflowIfNode, type WorkflowLoopNode, type WorkflowNode, type WorkflowTriggerNode, type WorkflowWaitNode, type WorkingDay, type WorkingHour, type WorkingTime, type Zone, type ZoneScope };
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/index.ts"],"names":["PaymentMethodType"],"mappings":";AA4CO,IAAK,iBAAA,qBAAAA,kBAAAA,KAAL;AACN,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,mBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AAHI,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA","file":"types.js","sourcesContent":["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\tFree = \"FREE\",\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\nexport interface Price {\n\tmarket: string;\n\tamount: number;\n\tcompareAt?: number;\n}\n\nexport interface Location {\n\tcountry?: string | null;\n\taddress?: string | null;\n\tcity?: string | null;\n\tstate?: string | null;\n\tpostalCode?: string | null;\n\tcoordinates?: { lat: number; lon: number } | 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 ReservationCartItem {\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\nexport interface PaymentProviderConfig {\n\ttype: \"STRIPE\";\n\tpublicKey: string;\n\tsecretKey: string;\n\twebhookSecret: string;\n}\n\nexport interface ShippingWeightTier {\n\tupToGrams: number;\n\tamount: number;\n}\n\nexport interface PaymentMethod {\n\tid: string;\n\ttype: PaymentMethodType;\n}\n\nexport interface ShippingMethod {\n\tid: string;\n\ttaxable: boolean;\n\tetaText: string;\n\tpickupLocation?: Location;\n\tamount: number;\n\tfreeAbove?: number;\n\tweightTiers?: ShippingWeightTier[];\n}\n\nexport type ZoneScope = \"ORDER\" | \"RESERVATION\";\n\nexport interface Zone {\n\tid: 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 interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tbuildHooks: string[];\n\twebhooks: any[];\n\tpaymentProvider?: PaymentProviderConfig;\n\taiProvider?: any;\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\tstatuses: StatusEvent[];\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\tstatuses?: StatusEvent[];\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 type BlockType =\n\t| \"TEXT\"\n\t| \"LOCALIZED_TEXT\"\n\t| \"NUMBER\"\n\t| \"BOOLEAN\"\n\t| \"BLOCK\"\n\t| \"RELATIONSHIP_ENTRY\"\n\t| \"RELATIONSHIP_MEDIA\"\n\t| \"MARKDOWN\"\n\t| \"EMAIL\"\n\t| \"PHONE\"\n\t| \"ADDRESS\";\n\nexport type AddressType = \"SHIPPING\" | \"BILLING\";\n\nexport interface EmailBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\tisNotificationTarget?: boolean;\n}\n\nexport interface PhoneBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\tisNotificationTarget?: boolean;\n}\n\nexport interface AddressBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\taddressType: AddressType;\n}\n\nexport interface GeoLocationValue {\n\tcountry?: string | null;\n\taddress?: string | null;\n\tcity?: string | null;\n\tstate?: string | null;\n\tpostalCode?: string | null;\n\tcoordinates?: { lat: number; lon: number } | null;\n}\n\nexport interface EmailBlock extends Block {\n\ttype: \"EMAIL\";\n\tproperties: EmailBlockProperties;\n\tvalue: string[];\n}\n\nexport interface PhoneBlock extends Block {\n\ttype: \"PHONE\";\n\tproperties: PhoneBlockProperties;\n\tvalue: string[];\n}\n\nexport interface AddressBlock extends Block {\n\ttype: \"ADDRESS\";\n\tproperties: AddressBlockProperties;\n\tvalue: GeoLocationValue[];\n}\n\nexport interface Seo {\n\tslug: Record<string, string>;\n\tmetaTitle: Record<string, string>;\n\tmetaDescription: Record<string, string>;\n\tcanonicalUrl: Record<string, string>;\n\togImage: string;\n}\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\tseo: Seo;\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 ReservationStoreState {\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\treservationBlocks: Block[];\n\tapiUrl: string;\n\tbusinessId: string;\n\ttimezone: string;\n\ttzGroups: any;\n\titems: ReservationCartItem[];\n\tallowedPaymentMethods: string[];\n\tpaymentConfig: {\n\t\tprovider: PaymentProviderConfig | null;\n\t\tenabled: boolean;\n\t};\n}\n\nexport interface StatusEvent {\n\tid: string;\n\tchangedBy: 'BUSINESS' | 'USER' | 'SYSTEM';\n\tuserId?: string;\n\tstatus: string;\n\tnote?: string;\n\ttimestamp: number;\n}\n\nexport interface ReservationItem {\n\tid: string;\n\tserviceId: string;\n\tproviderId: string;\n\tbusinessId: string;\n\treservationId: string;\n\tuserId: string;\n\tfrom: number;\n\tto: number;\n\tblocks: Block[];\n\tprice: Price;\n}\n\nexport interface Reservation {\n\tid: string;\n\tnumber: string;\n\tuserId: string;\n\tblocks: Block[];\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tserviceIds: string[];\n\tproviderIds: string[];\n\tpayment: Payment;\n\tbusiness?: Business;\n\tuser?: any;\n\titems: ReservationItem[];\n\temail?: string;\n\tphone?: string;\n\tcreatedAt: number;\n\tlastModified: number;\n}\n\n// ===== CMS Types =====\n\nexport interface NodeNotifications {\n\temails: string[];\n}\n\nexport interface NodeConfig {\n\tparentId?: string | null;\n\tisPubliclyReadable: boolean;\n\tisPubliclyWritable: boolean;\n}\n\nexport interface SubscriptionPlan {\n\tid: string;\n\tproviderPriceId?: string;\n\tproviderProductId?: string;\n\tname: string;\n\ttier: number;\n\tamount: number;\n\tcurrency: string;\n\tinterval: string;\n\tintervalCount: number;\n\ttrialPeriodDays: number;\n\tfeatures: Record<string, any>;\n}\n\nexport type SendStatus = 'SCHEDULED' | 'SENDING' | 'SENT' | 'CANCELLED' | 'FAILED';\n\nexport interface NodeSend {\n\tid: string;\n\tscheduledAt: number;\n\tstatus: SendStatus;\n\tsentCount: number;\n\tfailedCount: number;\n\tcreatedAt: number;\n}\n\nexport interface Node {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tblocks: Block[];\n\tstatuses: StatusEvent[];\n\tseo: Seo;\n\tnotifications: NodeNotifications;\n\tconfig: NodeConfig;\n\temailSubject?: Record<string, string>;\n\tplans: SubscriptionPlan[];\n\tsends: NodeSend[];\n\tchildren: Node[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n// ===== Reservation Domain Types =====\n\nexport interface ServiceDuration {\n\tduration: number;\n\tisPause?: boolean;\n}\n\nexport interface ServiceProvider {\n\tid: string;\n\tproviderId: 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\tseo: Seo;\n\tbusinessId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tblocks: Block[];\n\tnodeIds: string[];\n\tisApprovalRequired: boolean;\n\tproviders: ServiceProvider[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tstatuses: StatusEvent[];\n}\n\nexport interface ProviderTimelinePoint {\n\ttimestamp: number;\n\tconcurrent: number;\n}\n\nexport interface Provider {\n\tid: string;\n\tkey: string;\n\tseo: Seo;\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tconcurrentLimit: number;\n\tnodeIds: string[];\n\tblocks: Block[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n// ===== Workflow Types =====\n\nexport interface Workflow {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tsecret: string;\n\tstatuses: StatusEvent[];\n\tnodes: Record<string, WorkflowNode>;\n\tedges: WorkflowEdge[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface WorkflowEdge {\n\tid: string;\n\tsource: string;\n\tsourceOutput: string;\n\ttarget: string;\n}\n\nexport type WorkflowNode =\n\t| WorkflowTriggerNode\n\t| WorkflowHttpNode\n\t| WorkflowIfNode\n\t| WorkflowLoopNode\n\t| WorkflowWaitNode;\n\nexport interface WorkflowTriggerNode {\n\ttype: 'trigger';\n\tevent?: string;\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}\n\nexport interface WorkflowIfNode {\n\ttype: 'if';\n\tcondition: string;\n}\n\nexport interface WorkflowLoopNode {\n\ttype: 'loop';\n\tarray: string;\n}\n\nexport interface WorkflowWaitNode {\n\ttype: 'wait';\n\tduration: string;\n}\n\nexport type WorkflowHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';\n\nexport type ExecutionStatus = 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'WAITING';\n\nexport interface WorkflowExecution {\n\tid: string;\n\tworkflowId: string;\n\tbusinessId: string;\n\tstatus: ExecutionStatus;\n\tinput: Record<string, any>;\n\tnodeOutputs: Record<string, any>;\n\tcurrentNode?: string;\n\terror?: string;\n\tscheduledAt: number;\n\tstartedAt: number;\n\tcompletedAt?: number;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/types/index.ts"],"names":["PaymentMethodType"],"mappings":";AA4CO,IAAK,iBAAA,qBAAAA,kBAAAA,KAAL;AACN,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,mBAAA,YAAA,CAAA,GAAa,aAAA;AACb,EAAAA,mBAAA,MAAA,CAAA,GAAO,MAAA;AAHI,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA","file":"types.js","sourcesContent":["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\tFree = \"FREE\",\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\nexport interface Price {\n\tmarket: string;\n\tamount: number;\n\tcompareAt?: number;\n}\n\nexport interface Location {\n\tcountry?: string | null;\n\taddress?: string | null;\n\tcity?: string | null;\n\tstate?: string | null;\n\tpostalCode?: string | null;\n\tcoordinates?: { lat: number; lon: number } | 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 ReservationCartItem {\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\nexport interface PaymentProviderConfig {\n\ttype: \"STRIPE\";\n\tpublicKey: string;\n\tsecretKey: string;\n\twebhookSecret: string;\n}\n\nexport interface ShippingWeightTier {\n\tupToGrams: number;\n\tamount: number;\n}\n\nexport interface PaymentMethod {\n\tid: string;\n\ttype: PaymentMethodType;\n}\n\nexport interface ShippingMethod {\n\tid: string;\n\ttaxable: boolean;\n\tetaText: string;\n\tpickupLocation?: Location;\n\tamount: number;\n\tfreeAbove?: number;\n\tweightTiers?: ShippingWeightTier[];\n}\n\nexport type ZoneScope = \"ORDER\" | \"RESERVATION\";\n\nexport interface Zone {\n\tid: 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 interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tbuildHooks: string[];\n\twebhooks: any[];\n\tpaymentProvider?: PaymentProviderConfig;\n\taiProvider?: any;\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\tstatuses: StatusEvent[];\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\tstatuses?: StatusEvent[];\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 type BlockType =\n\t| \"TEXT\"\n\t| \"LOCALIZED_TEXT\"\n\t| \"NUMBER\"\n\t| \"BOOLEAN\"\n\t| \"BLOCK\"\n\t| \"RELATIONSHIP_ENTRY\"\n\t| \"RELATIONSHIP_MEDIA\"\n\t| \"MARKDOWN\"\n\t| \"EMAIL\"\n\t| \"PHONE\"\n\t| \"ADDRESS\";\n\nexport type AddressType = \"SHIPPING\" | \"BILLING\";\n\nexport interface EmailBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\tisNotificationTarget?: boolean;\n}\n\nexport interface PhoneBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\tisNotificationTarget?: boolean;\n}\n\nexport interface AddressBlockProperties {\n\tminValues?: number;\n\tmaxValues?: number;\n\taddressType: AddressType;\n}\n\nexport interface GeoLocationValue {\n\tcountry?: string | null;\n\taddress?: string | null;\n\tcity?: string | null;\n\tstate?: string | null;\n\tpostalCode?: string | null;\n\tcoordinates?: { lat: number; lon: number } | null;\n}\n\nexport interface EmailBlock extends Block {\n\ttype: \"EMAIL\";\n\tproperties: EmailBlockProperties;\n\tvalue: string[];\n}\n\nexport interface PhoneBlock extends Block {\n\ttype: \"PHONE\";\n\tproperties: PhoneBlockProperties;\n\tvalue: string[];\n}\n\nexport interface AddressBlock extends Block {\n\ttype: \"ADDRESS\";\n\tproperties: AddressBlockProperties;\n\tvalue: GeoLocationValue[];\n}\n\nexport interface Seo {\n\tslug: Record<string, string>;\n\tmetaTitle: Record<string, string>;\n\tmetaDescription: Record<string, string>;\n\tcanonicalUrl: Record<string, string>;\n\togImage: string;\n}\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\tseo: Seo;\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 ReservationStoreState {\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\treservationBlocks: Block[];\n\tapiUrl: string;\n\tbusinessId: string;\n\ttimezone: string;\n\ttzGroups: any;\n\titems: ReservationCartItem[];\n\tallowedPaymentMethods: string[];\n\tpaymentConfig: {\n\t\tprovider: PaymentProviderConfig | null;\n\t\tenabled: boolean;\n\t};\n}\n\nexport interface StatusEvent {\n\tid: string;\n\tchangedBy: 'BUSINESS' | 'USER' | 'SYSTEM';\n\tuserId?: string;\n\tstatus: string;\n\tnote?: string;\n\ttimestamp: number;\n}\n\nexport interface ReservationItem {\n\tid: string;\n\tserviceId: string;\n\tproviderId: string;\n\tbusinessId: string;\n\treservationId: string;\n\tuserId: string;\n\tfrom: number;\n\tto: number;\n\tblocks: Block[];\n\tprice: Price;\n}\n\nexport interface Reservation {\n\tid: string;\n\tnumber: string;\n\tuserId: string;\n\tblocks: Block[];\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tserviceIds: string[];\n\tproviderIds: string[];\n\tpayment: Payment;\n\tbusiness?: Business;\n\tuser?: any;\n\titems: ReservationItem[];\n\temail?: string;\n\tphone?: string;\n\tcreatedAt: number;\n\tlastModified: number;\n}\n\n// ===== CMS Types =====\n\nexport interface NodeConfig {\n\tparentId?: string | null;\n\tisPubliclyReadable: boolean;\n\tisPubliclyWritable: boolean;\n}\n\nexport interface SubscriptionPlan {\n\tid: string;\n\tproviderPriceId?: string;\n\tproviderProductId?: string;\n\tname: string;\n\ttier: number;\n\tamount: number;\n\tcurrency: string;\n\tinterval: string;\n\tintervalCount: number;\n\ttrialPeriodDays: number;\n\tfeatures: Record<string, any>;\n}\n\nexport type SendStatus = 'SCHEDULED' | 'SENDING' | 'SENT' | 'CANCELLED' | 'FAILED';\n\nexport interface NodeSend {\n\tid: string;\n\tscheduledAt: number;\n\tstatus: SendStatus;\n\tsentCount: number;\n\tfailedCount: number;\n\tcreatedAt: number;\n}\n\nexport interface Node {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tblocks: Block[];\n\tstatuses: StatusEvent[];\n\tseo: Seo;\n\tconfig: NodeConfig;\n\tplans: SubscriptionPlan[];\n\tsends: NodeSend[];\n\tchildren: Node[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n// ===== Reservation Domain Types =====\n\nexport interface ServiceDuration {\n\tduration: number;\n\tisPause?: boolean;\n}\n\nexport interface ServiceProvider {\n\tid: string;\n\tproviderId: 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\tseo: Seo;\n\tbusinessId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tblocks: Block[];\n\tnodeIds: string[];\n\tisApprovalRequired: boolean;\n\tproviders: ServiceProvider[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n\tstatuses: StatusEvent[];\n}\n\nexport interface ProviderTimelinePoint {\n\ttimestamp: number;\n\tconcurrent: number;\n}\n\nexport interface Provider {\n\tid: string;\n\tkey: string;\n\tseo: Seo;\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tconcurrentLimit: number;\n\tnodeIds: string[];\n\tblocks: Block[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\n// ===== Workflow Types =====\n\nexport interface Workflow {\n\tid: string;\n\tkey: string;\n\tbusinessId: string;\n\tsecret: string;\n\tstatuses: StatusEvent[];\n\tnodes: Record<string, WorkflowNode>;\n\tedges: WorkflowEdge[];\n\t/** Optional cron schedule expression (e.g., \"0 9 * * *\" for 9am daily) */\n\tschedule?: string;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n\nexport interface WorkflowEdge {\n\tid: string;\n\tsource: string;\n\tsourceOutput: string;\n\ttarget: string;\n}\n\nexport type WorkflowNode =\n\t| WorkflowTriggerNode\n\t| WorkflowHttpNode\n\t| WorkflowIfNode\n\t| WorkflowLoopNode\n\t| WorkflowWaitNode;\n\nexport interface WorkflowTriggerNode {\n\ttype: 'trigger';\n\tevent?: string;\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}\n\nexport interface WorkflowIfNode {\n\ttype: 'if';\n\tcondition: string;\n}\n\nexport interface WorkflowLoopNode {\n\ttype: 'loop';\n\tarray: string;\n}\n\nexport interface WorkflowWaitNode {\n\ttype: 'wait';\n\tduration: string;\n}\n\nexport type WorkflowHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';\n\nexport type ExecutionStatus = 'PENDING' | 'RUNNING' | 'COMPLETED' | 'FAILED' | 'WAITING';\n\nexport interface WorkflowExecution {\n\tid: string;\n\tworkflowId: string;\n\tbusinessId: string;\n\tstatus: ExecutionStatus;\n\tinput: Record<string, any>;\n\tnodeOutputs: Record<string, any>;\n\tcurrentNode?: string;\n\terror?: string;\n\tscheduledAt: number;\n\tstartedAt: number;\n\tcompletedAt?: number;\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n"]}
|