arky-sdk 0.3.121 → 0.3.122
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 +2 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -24
- package/dist/index.js.map +1 -1
- package/dist/types.cjs +3 -3
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +37 -29
- package/dist/types.d.ts +37 -29
- package/dist/types.js +3 -3
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/types.cjs
CHANGED
|
@@ -10,9 +10,9 @@ var PaymentMethodType = /* @__PURE__ */ ((PaymentMethodType2) => {
|
|
|
10
10
|
var NodeType = /* @__PURE__ */ ((NodeType2) => {
|
|
11
11
|
NodeType2["CONTENT"] = "CONTENT";
|
|
12
12
|
NodeType2["CATEGORY"] = "CATEGORY";
|
|
13
|
-
NodeType2["
|
|
14
|
-
NodeType2["
|
|
15
|
-
NodeType2["
|
|
13
|
+
NodeType2["TAXONOMY_SERVICE"] = "TAXONOMY_SERVICE";
|
|
14
|
+
NodeType2["TAXONOMY_PROVIDER"] = "TAXONOMY_PROVIDER";
|
|
15
|
+
NodeType2["TAXONOMY_PRODUCT"] = "TAXONOMY_PRODUCT";
|
|
16
16
|
NodeType2["EMAIL_TEMPLATE"] = "EMAIL_TEMPLATE";
|
|
17
17
|
NodeType2["EMAIL_FORGOT_PASSWORD"] = "EMAIL_FORGOT_PASSWORD";
|
|
18
18
|
NodeType2["EMAIL_USER_CONFIRM"] = "EMAIL_USER_CONFIRM";
|
package/dist/types.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/index.ts"],"names":["PaymentMethodType","NodeType"],"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;AAmTL,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACN,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,UAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,mBAAA,CAAA,GAAoB,mBAAA;AACpB,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,UAAA,uBAAA,CAAA,GAAwB,uBAAA;AACxB,EAAAA,UAAA,oBAAA,CAAA,GAAqB,oBAAA;AACrB,EAAAA,UAAA,uBAAA,CAAA,GAAwB,uBAAA;AACxB,EAAAA,UAAA,2BAAA,CAAA,GAA4B,2BAAA;AAC5B,EAAAA,UAAA,0CAAA,CAAA,GAA2C,0CAAA;AAC3C,EAAAA,UAAA,0CAAA,CAAA,GAA2C,0CAAA;AAC3C,EAAAA,UAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,UAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,UAAA,oBAAA,CAAA,GAAqB,oBAAA;AACrB,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,MAAA,CAAA,GAAO,MAAA;AAjBI,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,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 OrderConfigs {\n\tisEmailRequired: boolean;\n\tisPhoneRequired: boolean;\n}\n\nexport interface BusinessReservationConfigs {\n\tisEmailRequired: boolean;\n\tisPhoneRequired: boolean;\n}\n\nexport interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tbuildHooks: string[];\n\twebhooks: any[];\n\torderBlocks: any[];\n\treservationBlocks: any[];\n\torderConfigs: OrderConfigs;\n\treservationConfigs: BusinessReservationConfigs;\n\tpaymentProvider?: PaymentProviderConfig;\n\taiProvider?: any;\n\temails: BusinessEmails;\n}\n\nexport interface Business {\n\tid: string;\n\tname: string;\n\tconfigs?: BusinessConfig;\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\tphoneNumber: string;\n\tphoneError: string | null;\n\tverificationCode: string;\n\tverifyError: 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 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\towner: 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\tphoneNumber: string;\n\tphoneError: string | null;\n\tphoneSuccess: string | null;\n\tverificationCode: string;\n\tverifyError: string | null;\n\tisPhoneVerified: boolean;\n\tisSendingCode: boolean;\n\tisVerifying: boolean;\n\tcodeSentAt: number | null;\n\tcanResendAt: number | 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 enum NodeType {\n\tCONTENT = 'CONTENT',\n\tCATEGORY = 'CATEGORY',\n\tSERVICE_CATEGORY = 'SERVICE_CATEGORY',\n\tPROVIDER_CATEGORY = 'PROVIDER_CATEGORY',\n\tPRODUCT_CATEGORY = 'PRODUCT_CATEGORY',\n\tEMAIL_TEMPLATE = 'EMAIL_TEMPLATE',\n\tEMAIL_FORGOT_PASSWORD = 'EMAIL_FORGOT_PASSWORD',\n\tEMAIL_USER_CONFIRM = 'EMAIL_USER_CONFIRM',\n\tEMAIL_USER_INVITATION = 'EMAIL_USER_INVITATION',\n\tEMAIL_ORDER_STATUS_UPDATE = 'EMAIL_ORDER_STATUS_UPDATE',\n\tEMAIL_RESERVATION_BUSINESS_STATUS_UPDATE = 'EMAIL_RESERVATION_BUSINESS_STATUS_UPDATE',\n\tEMAIL_RESERVATION_CUSTOMER_STATUS_UPDATE = 'EMAIL_RESERVATION_CUSTOMER_STATUS_UPDATE',\n\tNEWSLETTER = 'NEWSLETTER',\n\tNEWSLETTER_POST = 'NEWSLETTER_POST',\n\tNEWSLETTER_SEGMENT = 'NEWSLETTER_SEGMENT',\n\tNEWSLETTER_ENTRY = 'NEWSLETTER_ENTRY',\n\tFORM = 'FORM',\n}\n\nexport interface NodeConfig {\n\tisPubliclyReadable: boolean;\n\tisPubliclyWritable: boolean;\n\tisSubmissionEnabled: boolean;\n\tisCaptchaRequired: boolean;\n\tnotificationEmails: string[];\n\tunsubscribeUrl: string | null;\n}\n\nexport interface SubscriptionPlan {\n\tid: string;\n\tname: string;\n\tdescription?: string;\n\tproviderPriceId?: string;\n\tprices: Price[];\n}\n\nexport interface NodeSend {\n\tid: string;\n\trecipientSource: string;\n\tscheduledAt: number;\n\tstatus: string;\n\tsentCount: number;\n\tfailedCount: number;\n\tcreatedAt: number;\n}\n\nexport interface Node {\n\tid: string;\n\tname: string;\n\tbusinessId: string;\n\tparentId?: string;\n\tentity: string;\n\ttype: NodeType;\n\tblocks: Block[];\n\tconfig?: NodeConfig;\n\tprops?: any;\n\tplans: SubscriptionPlan[];\n\tstatuses: StatusEvent[];\n\tseo: Seo;\n\tsends: NodeSend[];\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\tname: Record<string, string>;\n\tseo: Seo;\n\tbusinessId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tcategoryFilterBlocks: Block[];\n\tcategoryIds: 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\tname: Record<string, string>;\n\tseo: Seo;\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tconcurrentLimit: number;\n\tcategoryIds: string[];\n\tcategoryFilterBlocks: Block[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/types/index.ts"],"names":["PaymentMethodType","NodeType"],"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;AAmTL,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACN,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,UAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,mBAAA,CAAA,GAAoB,mBAAA;AACpB,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,UAAA,uBAAA,CAAA,GAAwB,uBAAA;AACxB,EAAAA,UAAA,oBAAA,CAAA,GAAqB,oBAAA;AACrB,EAAAA,UAAA,uBAAA,CAAA,GAAwB,uBAAA;AACxB,EAAAA,UAAA,2BAAA,CAAA,GAA4B,2BAAA;AAC5B,EAAAA,UAAA,0CAAA,CAAA,GAA2C,0CAAA;AAC3C,EAAAA,UAAA,0CAAA,CAAA,GAA2C,0CAAA;AAC3C,EAAAA,UAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,UAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,UAAA,oBAAA,CAAA,GAAqB,oBAAA;AACrB,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,MAAA,CAAA,GAAO,MAAA;AAjBI,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,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 OrderConfigs {\n\tisEmailRequired: boolean;\n\tisPhoneRequired: boolean;\n}\n\nexport interface BusinessReservationConfigs {\n\tisEmailRequired: boolean;\n\tisPhoneRequired: boolean;\n}\n\nexport interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tbuildHooks: string[];\n\twebhooks: any[];\n\torderBlocks: any[];\n\treservationBlocks: any[];\n\torderConfigs: OrderConfigs;\n\treservationConfigs: BusinessReservationConfigs;\n\tpaymentProvider?: PaymentProviderConfig;\n\taiProvider?: any;\n\temails: BusinessEmails;\n}\n\nexport interface Business {\n\tid: string;\n\tname: string;\n\tconfigs?: BusinessConfig;\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\tphoneNumber: string;\n\tphoneError: string | null;\n\tverificationCode: string;\n\tverifyError: 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 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\towner: 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\tphoneNumber: string;\n\tphoneError: string | null;\n\tphoneSuccess: string | null;\n\tverificationCode: string;\n\tverifyError: string | null;\n\tisPhoneVerified: boolean;\n\tisSendingCode: boolean;\n\tisVerifying: boolean;\n\tcodeSentAt: number | null;\n\tcanResendAt: number | 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 enum NodeType {\n\tCONTENT = 'CONTENT',\n\tCATEGORY = 'CATEGORY',\n\tTAXONOMY_SERVICE = 'TAXONOMY_SERVICE',\n\tTAXONOMY_PROVIDER = 'TAXONOMY_PROVIDER',\n\tTAXONOMY_PRODUCT = 'TAXONOMY_PRODUCT',\n\tEMAIL_TEMPLATE = 'EMAIL_TEMPLATE',\n\tEMAIL_FORGOT_PASSWORD = 'EMAIL_FORGOT_PASSWORD',\n\tEMAIL_USER_CONFIRM = 'EMAIL_USER_CONFIRM',\n\tEMAIL_USER_INVITATION = 'EMAIL_USER_INVITATION',\n\tEMAIL_ORDER_STATUS_UPDATE = 'EMAIL_ORDER_STATUS_UPDATE',\n\tEMAIL_RESERVATION_BUSINESS_STATUS_UPDATE = 'EMAIL_RESERVATION_BUSINESS_STATUS_UPDATE',\n\tEMAIL_RESERVATION_CUSTOMER_STATUS_UPDATE = 'EMAIL_RESERVATION_CUSTOMER_STATUS_UPDATE',\n\tNEWSLETTER = 'NEWSLETTER',\n\tNEWSLETTER_POST = 'NEWSLETTER_POST',\n\tNEWSLETTER_SEGMENT = 'NEWSLETTER_SEGMENT',\n\tNEWSLETTER_ENTRY = 'NEWSLETTER_ENTRY',\n\tFORM = 'FORM',\n}\n\nexport interface NodeConfig {\n\tisPubliclyReadable: boolean;\n\tisPubliclyWritable: boolean;\n\tisSubmissionEnabled: boolean;\n\tisCaptchaRequired: boolean;\n\tnotificationEmails: string[];\n\tunsubscribeUrl: string | null;\n}\n\nexport interface SubscriptionPlan {\n\tid: string;\n\tname: string;\n\tdescription?: string;\n\tproviderPriceId?: string;\n\tprices: Price[];\n}\n\nexport interface NodeSend {\n\tid: string;\n\trecipientSource: string;\n\tscheduledAt: number;\n\tstatus: string;\n\tsentCount: number;\n\tfailedCount: number;\n\tcreatedAt: number;\n}\n\nexport interface Node {\n\tid: string;\n\tname: string;\n\tbusinessId: string;\n\tparentId?: string;\n\tentity: string;\n\ttype: NodeType;\n\tblocks: Block[];\n\tconfig?: NodeConfig;\n\tprops?: any;\n\tplans: SubscriptionPlan[];\n\tstatuses: StatusEvent[];\n\tseo: Seo;\n\tsends: NodeSend[];\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\tname: string;\n\tseo: Seo;\n\tbusinessId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tfilterBlocks: Block[];\n\ttaxonomyIds: 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\tname: string;\n\tseo: Seo;\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tconcurrentLimit: number;\n\ttaxonomyIds: string[];\n\tfilterBlocks: Block[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n"]}
|
package/dist/types.d.cts
CHANGED
|
@@ -328,9 +328,9 @@ interface Reservation {
|
|
|
328
328
|
declare enum NodeType {
|
|
329
329
|
CONTENT = "CONTENT",
|
|
330
330
|
CATEGORY = "CATEGORY",
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
331
|
+
TAXONOMY_SERVICE = "TAXONOMY_SERVICE",
|
|
332
|
+
TAXONOMY_PROVIDER = "TAXONOMY_PROVIDER",
|
|
333
|
+
TAXONOMY_PRODUCT = "TAXONOMY_PRODUCT",
|
|
334
334
|
EMAIL_TEMPLATE = "EMAIL_TEMPLATE",
|
|
335
335
|
EMAIL_FORGOT_PASSWORD = "EMAIL_FORGOT_PASSWORD",
|
|
336
336
|
EMAIL_USER_CONFIRM = "EMAIL_USER_CONFIRM",
|
|
@@ -420,13 +420,13 @@ interface ServiceProvider {
|
|
|
420
420
|
}
|
|
421
421
|
interface Service {
|
|
422
422
|
id: string;
|
|
423
|
-
name:
|
|
423
|
+
name: string;
|
|
424
424
|
seo: Seo;
|
|
425
425
|
businessId: string;
|
|
426
426
|
prices: Price[];
|
|
427
427
|
durations: ServiceDuration[];
|
|
428
|
-
|
|
429
|
-
|
|
428
|
+
filterBlocks: Block[];
|
|
429
|
+
taxonomyIds: string[];
|
|
430
430
|
isApprovalRequired: boolean;
|
|
431
431
|
providers: ServiceProvider[];
|
|
432
432
|
createdAt: number;
|
|
@@ -439,13 +439,13 @@ interface ProviderTimelinePoint {
|
|
|
439
439
|
}
|
|
440
440
|
interface Provider {
|
|
441
441
|
id: string;
|
|
442
|
-
name:
|
|
442
|
+
name: string;
|
|
443
443
|
seo: Seo;
|
|
444
444
|
businessId: string;
|
|
445
445
|
statuses: StatusEvent[];
|
|
446
446
|
concurrentLimit: number;
|
|
447
|
-
|
|
448
|
-
|
|
447
|
+
taxonomyIds: string[];
|
|
448
|
+
filterBlocks: Block[];
|
|
449
449
|
timeline: ProviderTimelinePoint[];
|
|
450
450
|
createdAt: number;
|
|
451
451
|
updatedAt: number;
|
|
@@ -500,10 +500,18 @@ interface OrderCheckoutParams {
|
|
|
500
500
|
}
|
|
501
501
|
interface GetProductsParams {
|
|
502
502
|
ids?: string[];
|
|
503
|
-
|
|
503
|
+
taxonomyIds?: string[] | null;
|
|
504
|
+
taxonomyId?: string | null;
|
|
505
|
+
filterBlocks?: any[] | null;
|
|
504
506
|
status?: string;
|
|
505
507
|
limit?: number;
|
|
506
508
|
cursor?: string;
|
|
509
|
+
query?: string;
|
|
510
|
+
statuses?: string[];
|
|
511
|
+
sortField?: string;
|
|
512
|
+
sortDirection?: string;
|
|
513
|
+
createdAtFrom?: number | null;
|
|
514
|
+
createdAtTo?: number | null;
|
|
507
515
|
}
|
|
508
516
|
interface GetNodesParams {
|
|
509
517
|
parentId?: string;
|
|
@@ -601,8 +609,8 @@ interface GetServicesParams {
|
|
|
601
609
|
query?: string;
|
|
602
610
|
ids?: string[];
|
|
603
611
|
statuses?: string[];
|
|
604
|
-
|
|
605
|
-
|
|
612
|
+
taxonomyId?: string;
|
|
613
|
+
filterBlocks?: any[];
|
|
606
614
|
sortField?: string;
|
|
607
615
|
sortDirection?: string;
|
|
608
616
|
priceFrom?: number;
|
|
@@ -657,13 +665,13 @@ interface WorkingTime {
|
|
|
657
665
|
}
|
|
658
666
|
interface ProviderWithTimeline {
|
|
659
667
|
id: string;
|
|
660
|
-
name:
|
|
668
|
+
name: string;
|
|
661
669
|
businessId: string;
|
|
662
670
|
seo: any;
|
|
663
671
|
statuses: any[];
|
|
664
672
|
concurrentLimit: number;
|
|
665
|
-
|
|
666
|
-
|
|
673
|
+
taxonomyIds: string[];
|
|
674
|
+
filterBlocks: Block[];
|
|
667
675
|
createdAt: number;
|
|
668
676
|
updatedAt: number;
|
|
669
677
|
workingTime: WorkingTime | null;
|
|
@@ -831,8 +839,8 @@ interface UserSubscribeParams {
|
|
|
831
839
|
interface CreateProductParams {
|
|
832
840
|
name: string;
|
|
833
841
|
description?: string;
|
|
834
|
-
|
|
835
|
-
|
|
842
|
+
taxonomyIds?: string[];
|
|
843
|
+
filterBlocks?: any[];
|
|
836
844
|
variants?: any[];
|
|
837
845
|
status?: string;
|
|
838
846
|
[key: string]: any;
|
|
@@ -841,8 +849,8 @@ interface UpdateProductParams {
|
|
|
841
849
|
id: string;
|
|
842
850
|
name?: string;
|
|
843
851
|
description?: string;
|
|
844
|
-
|
|
845
|
-
|
|
852
|
+
taxonomyIds?: string[];
|
|
853
|
+
filterBlocks?: any[];
|
|
846
854
|
variants?: any[];
|
|
847
855
|
status?: string;
|
|
848
856
|
[key: string]: any;
|
|
@@ -891,8 +899,8 @@ interface UpdateReservationParams {
|
|
|
891
899
|
}
|
|
892
900
|
interface CreateProviderParams {
|
|
893
901
|
name: string;
|
|
894
|
-
|
|
895
|
-
|
|
902
|
+
taxonomyIds?: string[];
|
|
903
|
+
filterBlocks?: any[];
|
|
896
904
|
concurrentLimit?: number;
|
|
897
905
|
statuses?: any[];
|
|
898
906
|
[key: string]: any;
|
|
@@ -900,8 +908,8 @@ interface CreateProviderParams {
|
|
|
900
908
|
interface UpdateProviderParams {
|
|
901
909
|
id: string;
|
|
902
910
|
name?: string;
|
|
903
|
-
|
|
904
|
-
|
|
911
|
+
taxonomyIds?: string[];
|
|
912
|
+
filterBlocks?: any[];
|
|
905
913
|
concurrentLimit?: number;
|
|
906
914
|
statuses?: any[];
|
|
907
915
|
[key: string]: any;
|
|
@@ -916,8 +924,8 @@ interface ServiceProviderInput {
|
|
|
916
924
|
}
|
|
917
925
|
interface CreateServiceParams {
|
|
918
926
|
name: string;
|
|
919
|
-
|
|
920
|
-
|
|
927
|
+
taxonomyIds?: string[];
|
|
928
|
+
filterBlocks?: any[];
|
|
921
929
|
prices?: any[];
|
|
922
930
|
durations?: any[];
|
|
923
931
|
isApprovalRequired?: boolean;
|
|
@@ -928,8 +936,8 @@ interface CreateServiceParams {
|
|
|
928
936
|
interface UpdateServiceParams {
|
|
929
937
|
id: string;
|
|
930
938
|
name?: string;
|
|
931
|
-
|
|
932
|
-
|
|
939
|
+
taxonomyIds?: string[];
|
|
940
|
+
filterBlocks?: any[];
|
|
933
941
|
prices?: any[];
|
|
934
942
|
durations?: any[];
|
|
935
943
|
isApprovalRequired?: boolean;
|
|
@@ -959,8 +967,8 @@ interface GetProvidersParams {
|
|
|
959
967
|
sortDirection?: string | null;
|
|
960
968
|
createdAtFrom?: string | null;
|
|
961
969
|
createdAtTo?: string | null;
|
|
962
|
-
|
|
963
|
-
|
|
970
|
+
taxonomyId?: string | null;
|
|
971
|
+
filterBlocks?: string | null;
|
|
964
972
|
}
|
|
965
973
|
interface GetProviderParams {
|
|
966
974
|
id: string;
|
package/dist/types.d.ts
CHANGED
|
@@ -328,9 +328,9 @@ interface Reservation {
|
|
|
328
328
|
declare enum NodeType {
|
|
329
329
|
CONTENT = "CONTENT",
|
|
330
330
|
CATEGORY = "CATEGORY",
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
331
|
+
TAXONOMY_SERVICE = "TAXONOMY_SERVICE",
|
|
332
|
+
TAXONOMY_PROVIDER = "TAXONOMY_PROVIDER",
|
|
333
|
+
TAXONOMY_PRODUCT = "TAXONOMY_PRODUCT",
|
|
334
334
|
EMAIL_TEMPLATE = "EMAIL_TEMPLATE",
|
|
335
335
|
EMAIL_FORGOT_PASSWORD = "EMAIL_FORGOT_PASSWORD",
|
|
336
336
|
EMAIL_USER_CONFIRM = "EMAIL_USER_CONFIRM",
|
|
@@ -420,13 +420,13 @@ interface ServiceProvider {
|
|
|
420
420
|
}
|
|
421
421
|
interface Service {
|
|
422
422
|
id: string;
|
|
423
|
-
name:
|
|
423
|
+
name: string;
|
|
424
424
|
seo: Seo;
|
|
425
425
|
businessId: string;
|
|
426
426
|
prices: Price[];
|
|
427
427
|
durations: ServiceDuration[];
|
|
428
|
-
|
|
429
|
-
|
|
428
|
+
filterBlocks: Block[];
|
|
429
|
+
taxonomyIds: string[];
|
|
430
430
|
isApprovalRequired: boolean;
|
|
431
431
|
providers: ServiceProvider[];
|
|
432
432
|
createdAt: number;
|
|
@@ -439,13 +439,13 @@ interface ProviderTimelinePoint {
|
|
|
439
439
|
}
|
|
440
440
|
interface Provider {
|
|
441
441
|
id: string;
|
|
442
|
-
name:
|
|
442
|
+
name: string;
|
|
443
443
|
seo: Seo;
|
|
444
444
|
businessId: string;
|
|
445
445
|
statuses: StatusEvent[];
|
|
446
446
|
concurrentLimit: number;
|
|
447
|
-
|
|
448
|
-
|
|
447
|
+
taxonomyIds: string[];
|
|
448
|
+
filterBlocks: Block[];
|
|
449
449
|
timeline: ProviderTimelinePoint[];
|
|
450
450
|
createdAt: number;
|
|
451
451
|
updatedAt: number;
|
|
@@ -500,10 +500,18 @@ interface OrderCheckoutParams {
|
|
|
500
500
|
}
|
|
501
501
|
interface GetProductsParams {
|
|
502
502
|
ids?: string[];
|
|
503
|
-
|
|
503
|
+
taxonomyIds?: string[] | null;
|
|
504
|
+
taxonomyId?: string | null;
|
|
505
|
+
filterBlocks?: any[] | null;
|
|
504
506
|
status?: string;
|
|
505
507
|
limit?: number;
|
|
506
508
|
cursor?: string;
|
|
509
|
+
query?: string;
|
|
510
|
+
statuses?: string[];
|
|
511
|
+
sortField?: string;
|
|
512
|
+
sortDirection?: string;
|
|
513
|
+
createdAtFrom?: number | null;
|
|
514
|
+
createdAtTo?: number | null;
|
|
507
515
|
}
|
|
508
516
|
interface GetNodesParams {
|
|
509
517
|
parentId?: string;
|
|
@@ -601,8 +609,8 @@ interface GetServicesParams {
|
|
|
601
609
|
query?: string;
|
|
602
610
|
ids?: string[];
|
|
603
611
|
statuses?: string[];
|
|
604
|
-
|
|
605
|
-
|
|
612
|
+
taxonomyId?: string;
|
|
613
|
+
filterBlocks?: any[];
|
|
606
614
|
sortField?: string;
|
|
607
615
|
sortDirection?: string;
|
|
608
616
|
priceFrom?: number;
|
|
@@ -657,13 +665,13 @@ interface WorkingTime {
|
|
|
657
665
|
}
|
|
658
666
|
interface ProviderWithTimeline {
|
|
659
667
|
id: string;
|
|
660
|
-
name:
|
|
668
|
+
name: string;
|
|
661
669
|
businessId: string;
|
|
662
670
|
seo: any;
|
|
663
671
|
statuses: any[];
|
|
664
672
|
concurrentLimit: number;
|
|
665
|
-
|
|
666
|
-
|
|
673
|
+
taxonomyIds: string[];
|
|
674
|
+
filterBlocks: Block[];
|
|
667
675
|
createdAt: number;
|
|
668
676
|
updatedAt: number;
|
|
669
677
|
workingTime: WorkingTime | null;
|
|
@@ -831,8 +839,8 @@ interface UserSubscribeParams {
|
|
|
831
839
|
interface CreateProductParams {
|
|
832
840
|
name: string;
|
|
833
841
|
description?: string;
|
|
834
|
-
|
|
835
|
-
|
|
842
|
+
taxonomyIds?: string[];
|
|
843
|
+
filterBlocks?: any[];
|
|
836
844
|
variants?: any[];
|
|
837
845
|
status?: string;
|
|
838
846
|
[key: string]: any;
|
|
@@ -841,8 +849,8 @@ interface UpdateProductParams {
|
|
|
841
849
|
id: string;
|
|
842
850
|
name?: string;
|
|
843
851
|
description?: string;
|
|
844
|
-
|
|
845
|
-
|
|
852
|
+
taxonomyIds?: string[];
|
|
853
|
+
filterBlocks?: any[];
|
|
846
854
|
variants?: any[];
|
|
847
855
|
status?: string;
|
|
848
856
|
[key: string]: any;
|
|
@@ -891,8 +899,8 @@ interface UpdateReservationParams {
|
|
|
891
899
|
}
|
|
892
900
|
interface CreateProviderParams {
|
|
893
901
|
name: string;
|
|
894
|
-
|
|
895
|
-
|
|
902
|
+
taxonomyIds?: string[];
|
|
903
|
+
filterBlocks?: any[];
|
|
896
904
|
concurrentLimit?: number;
|
|
897
905
|
statuses?: any[];
|
|
898
906
|
[key: string]: any;
|
|
@@ -900,8 +908,8 @@ interface CreateProviderParams {
|
|
|
900
908
|
interface UpdateProviderParams {
|
|
901
909
|
id: string;
|
|
902
910
|
name?: string;
|
|
903
|
-
|
|
904
|
-
|
|
911
|
+
taxonomyIds?: string[];
|
|
912
|
+
filterBlocks?: any[];
|
|
905
913
|
concurrentLimit?: number;
|
|
906
914
|
statuses?: any[];
|
|
907
915
|
[key: string]: any;
|
|
@@ -916,8 +924,8 @@ interface ServiceProviderInput {
|
|
|
916
924
|
}
|
|
917
925
|
interface CreateServiceParams {
|
|
918
926
|
name: string;
|
|
919
|
-
|
|
920
|
-
|
|
927
|
+
taxonomyIds?: string[];
|
|
928
|
+
filterBlocks?: any[];
|
|
921
929
|
prices?: any[];
|
|
922
930
|
durations?: any[];
|
|
923
931
|
isApprovalRequired?: boolean;
|
|
@@ -928,8 +936,8 @@ interface CreateServiceParams {
|
|
|
928
936
|
interface UpdateServiceParams {
|
|
929
937
|
id: string;
|
|
930
938
|
name?: string;
|
|
931
|
-
|
|
932
|
-
|
|
939
|
+
taxonomyIds?: string[];
|
|
940
|
+
filterBlocks?: any[];
|
|
933
941
|
prices?: any[];
|
|
934
942
|
durations?: any[];
|
|
935
943
|
isApprovalRequired?: boolean;
|
|
@@ -959,8 +967,8 @@ interface GetProvidersParams {
|
|
|
959
967
|
sortDirection?: string | null;
|
|
960
968
|
createdAtFrom?: string | null;
|
|
961
969
|
createdAtTo?: string | null;
|
|
962
|
-
|
|
963
|
-
|
|
970
|
+
taxonomyId?: string | null;
|
|
971
|
+
filterBlocks?: string | null;
|
|
964
972
|
}
|
|
965
973
|
interface GetProviderParams {
|
|
966
974
|
id: string;
|
package/dist/types.js
CHANGED
|
@@ -8,9 +8,9 @@ var PaymentMethodType = /* @__PURE__ */ ((PaymentMethodType2) => {
|
|
|
8
8
|
var NodeType = /* @__PURE__ */ ((NodeType2) => {
|
|
9
9
|
NodeType2["CONTENT"] = "CONTENT";
|
|
10
10
|
NodeType2["CATEGORY"] = "CATEGORY";
|
|
11
|
-
NodeType2["
|
|
12
|
-
NodeType2["
|
|
13
|
-
NodeType2["
|
|
11
|
+
NodeType2["TAXONOMY_SERVICE"] = "TAXONOMY_SERVICE";
|
|
12
|
+
NodeType2["TAXONOMY_PROVIDER"] = "TAXONOMY_PROVIDER";
|
|
13
|
+
NodeType2["TAXONOMY_PRODUCT"] = "TAXONOMY_PRODUCT";
|
|
14
14
|
NodeType2["EMAIL_TEMPLATE"] = "EMAIL_TEMPLATE";
|
|
15
15
|
NodeType2["EMAIL_FORGOT_PASSWORD"] = "EMAIL_FORGOT_PASSWORD";
|
|
16
16
|
NodeType2["EMAIL_USER_CONFIRM"] = "EMAIL_USER_CONFIRM";
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/index.ts"],"names":["PaymentMethodType","NodeType"],"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;AAmTL,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACN,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,UAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,mBAAA,CAAA,GAAoB,mBAAA;AACpB,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,UAAA,uBAAA,CAAA,GAAwB,uBAAA;AACxB,EAAAA,UAAA,oBAAA,CAAA,GAAqB,oBAAA;AACrB,EAAAA,UAAA,uBAAA,CAAA,GAAwB,uBAAA;AACxB,EAAAA,UAAA,2BAAA,CAAA,GAA4B,2BAAA;AAC5B,EAAAA,UAAA,0CAAA,CAAA,GAA2C,0CAAA;AAC3C,EAAAA,UAAA,0CAAA,CAAA,GAA2C,0CAAA;AAC3C,EAAAA,UAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,UAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,UAAA,oBAAA,CAAA,GAAqB,oBAAA;AACrB,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,MAAA,CAAA,GAAO,MAAA;AAjBI,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,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 OrderConfigs {\n\tisEmailRequired: boolean;\n\tisPhoneRequired: boolean;\n}\n\nexport interface BusinessReservationConfigs {\n\tisEmailRequired: boolean;\n\tisPhoneRequired: boolean;\n}\n\nexport interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tbuildHooks: string[];\n\twebhooks: any[];\n\torderBlocks: any[];\n\treservationBlocks: any[];\n\torderConfigs: OrderConfigs;\n\treservationConfigs: BusinessReservationConfigs;\n\tpaymentProvider?: PaymentProviderConfig;\n\taiProvider?: any;\n\temails: BusinessEmails;\n}\n\nexport interface Business {\n\tid: string;\n\tname: string;\n\tconfigs?: BusinessConfig;\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\tphoneNumber: string;\n\tphoneError: string | null;\n\tverificationCode: string;\n\tverifyError: 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 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\towner: 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\tphoneNumber: string;\n\tphoneError: string | null;\n\tphoneSuccess: string | null;\n\tverificationCode: string;\n\tverifyError: string | null;\n\tisPhoneVerified: boolean;\n\tisSendingCode: boolean;\n\tisVerifying: boolean;\n\tcodeSentAt: number | null;\n\tcanResendAt: number | 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 enum NodeType {\n\tCONTENT = 'CONTENT',\n\tCATEGORY = 'CATEGORY',\n\tSERVICE_CATEGORY = 'SERVICE_CATEGORY',\n\tPROVIDER_CATEGORY = 'PROVIDER_CATEGORY',\n\tPRODUCT_CATEGORY = 'PRODUCT_CATEGORY',\n\tEMAIL_TEMPLATE = 'EMAIL_TEMPLATE',\n\tEMAIL_FORGOT_PASSWORD = 'EMAIL_FORGOT_PASSWORD',\n\tEMAIL_USER_CONFIRM = 'EMAIL_USER_CONFIRM',\n\tEMAIL_USER_INVITATION = 'EMAIL_USER_INVITATION',\n\tEMAIL_ORDER_STATUS_UPDATE = 'EMAIL_ORDER_STATUS_UPDATE',\n\tEMAIL_RESERVATION_BUSINESS_STATUS_UPDATE = 'EMAIL_RESERVATION_BUSINESS_STATUS_UPDATE',\n\tEMAIL_RESERVATION_CUSTOMER_STATUS_UPDATE = 'EMAIL_RESERVATION_CUSTOMER_STATUS_UPDATE',\n\tNEWSLETTER = 'NEWSLETTER',\n\tNEWSLETTER_POST = 'NEWSLETTER_POST',\n\tNEWSLETTER_SEGMENT = 'NEWSLETTER_SEGMENT',\n\tNEWSLETTER_ENTRY = 'NEWSLETTER_ENTRY',\n\tFORM = 'FORM',\n}\n\nexport interface NodeConfig {\n\tisPubliclyReadable: boolean;\n\tisPubliclyWritable: boolean;\n\tisSubmissionEnabled: boolean;\n\tisCaptchaRequired: boolean;\n\tnotificationEmails: string[];\n\tunsubscribeUrl: string | null;\n}\n\nexport interface SubscriptionPlan {\n\tid: string;\n\tname: string;\n\tdescription?: string;\n\tproviderPriceId?: string;\n\tprices: Price[];\n}\n\nexport interface NodeSend {\n\tid: string;\n\trecipientSource: string;\n\tscheduledAt: number;\n\tstatus: string;\n\tsentCount: number;\n\tfailedCount: number;\n\tcreatedAt: number;\n}\n\nexport interface Node {\n\tid: string;\n\tname: string;\n\tbusinessId: string;\n\tparentId?: string;\n\tentity: string;\n\ttype: NodeType;\n\tblocks: Block[];\n\tconfig?: NodeConfig;\n\tprops?: any;\n\tplans: SubscriptionPlan[];\n\tstatuses: StatusEvent[];\n\tseo: Seo;\n\tsends: NodeSend[];\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\tname: Record<string, string>;\n\tseo: Seo;\n\tbusinessId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tcategoryFilterBlocks: Block[];\n\tcategoryIds: 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\tname: Record<string, string>;\n\tseo: Seo;\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tconcurrentLimit: number;\n\tcategoryIds: string[];\n\tcategoryFilterBlocks: Block[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/types/index.ts"],"names":["PaymentMethodType","NodeType"],"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;AAmTL,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACN,EAAAA,UAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,UAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,mBAAA,CAAA,GAAoB,mBAAA;AACpB,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,gBAAA,CAAA,GAAiB,gBAAA;AACjB,EAAAA,UAAA,uBAAA,CAAA,GAAwB,uBAAA;AACxB,EAAAA,UAAA,oBAAA,CAAA,GAAqB,oBAAA;AACrB,EAAAA,UAAA,uBAAA,CAAA,GAAwB,uBAAA;AACxB,EAAAA,UAAA,2BAAA,CAAA,GAA4B,2BAAA;AAC5B,EAAAA,UAAA,0CAAA,CAAA,GAA2C,0CAAA;AAC3C,EAAAA,UAAA,0CAAA,CAAA,GAA2C,0CAAA;AAC3C,EAAAA,UAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,UAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,UAAA,oBAAA,CAAA,GAAqB,oBAAA;AACrB,EAAAA,UAAA,kBAAA,CAAA,GAAmB,kBAAA;AACnB,EAAAA,UAAA,MAAA,CAAA,GAAO,MAAA;AAjBI,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,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 OrderConfigs {\n\tisEmailRequired: boolean;\n\tisPhoneRequired: boolean;\n}\n\nexport interface BusinessReservationConfigs {\n\tisEmailRequired: boolean;\n\tisPhoneRequired: boolean;\n}\n\nexport interface BusinessConfig {\n\tlanguages: Language[];\n\tmarkets: Market[];\n\tzones: Zone[];\n\tbuildHooks: string[];\n\twebhooks: any[];\n\torderBlocks: any[];\n\treservationBlocks: any[];\n\torderConfigs: OrderConfigs;\n\treservationConfigs: BusinessReservationConfigs;\n\tpaymentProvider?: PaymentProviderConfig;\n\taiProvider?: any;\n\temails: BusinessEmails;\n}\n\nexport interface Business {\n\tid: string;\n\tname: string;\n\tconfigs?: BusinessConfig;\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\tphoneNumber: string;\n\tphoneError: string | null;\n\tverificationCode: string;\n\tverifyError: 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 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\towner: 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\tphoneNumber: string;\n\tphoneError: string | null;\n\tphoneSuccess: string | null;\n\tverificationCode: string;\n\tverifyError: string | null;\n\tisPhoneVerified: boolean;\n\tisSendingCode: boolean;\n\tisVerifying: boolean;\n\tcodeSentAt: number | null;\n\tcanResendAt: number | 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 enum NodeType {\n\tCONTENT = 'CONTENT',\n\tCATEGORY = 'CATEGORY',\n\tTAXONOMY_SERVICE = 'TAXONOMY_SERVICE',\n\tTAXONOMY_PROVIDER = 'TAXONOMY_PROVIDER',\n\tTAXONOMY_PRODUCT = 'TAXONOMY_PRODUCT',\n\tEMAIL_TEMPLATE = 'EMAIL_TEMPLATE',\n\tEMAIL_FORGOT_PASSWORD = 'EMAIL_FORGOT_PASSWORD',\n\tEMAIL_USER_CONFIRM = 'EMAIL_USER_CONFIRM',\n\tEMAIL_USER_INVITATION = 'EMAIL_USER_INVITATION',\n\tEMAIL_ORDER_STATUS_UPDATE = 'EMAIL_ORDER_STATUS_UPDATE',\n\tEMAIL_RESERVATION_BUSINESS_STATUS_UPDATE = 'EMAIL_RESERVATION_BUSINESS_STATUS_UPDATE',\n\tEMAIL_RESERVATION_CUSTOMER_STATUS_UPDATE = 'EMAIL_RESERVATION_CUSTOMER_STATUS_UPDATE',\n\tNEWSLETTER = 'NEWSLETTER',\n\tNEWSLETTER_POST = 'NEWSLETTER_POST',\n\tNEWSLETTER_SEGMENT = 'NEWSLETTER_SEGMENT',\n\tNEWSLETTER_ENTRY = 'NEWSLETTER_ENTRY',\n\tFORM = 'FORM',\n}\n\nexport interface NodeConfig {\n\tisPubliclyReadable: boolean;\n\tisPubliclyWritable: boolean;\n\tisSubmissionEnabled: boolean;\n\tisCaptchaRequired: boolean;\n\tnotificationEmails: string[];\n\tunsubscribeUrl: string | null;\n}\n\nexport interface SubscriptionPlan {\n\tid: string;\n\tname: string;\n\tdescription?: string;\n\tproviderPriceId?: string;\n\tprices: Price[];\n}\n\nexport interface NodeSend {\n\tid: string;\n\trecipientSource: string;\n\tscheduledAt: number;\n\tstatus: string;\n\tsentCount: number;\n\tfailedCount: number;\n\tcreatedAt: number;\n}\n\nexport interface Node {\n\tid: string;\n\tname: string;\n\tbusinessId: string;\n\tparentId?: string;\n\tentity: string;\n\ttype: NodeType;\n\tblocks: Block[];\n\tconfig?: NodeConfig;\n\tprops?: any;\n\tplans: SubscriptionPlan[];\n\tstatuses: StatusEvent[];\n\tseo: Seo;\n\tsends: NodeSend[];\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\tname: string;\n\tseo: Seo;\n\tbusinessId: string;\n\tprices: Price[];\n\tdurations: ServiceDuration[];\n\tfilterBlocks: Block[];\n\ttaxonomyIds: 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\tname: string;\n\tseo: Seo;\n\tbusinessId: string;\n\tstatuses: StatusEvent[];\n\tconcurrentLimit: number;\n\ttaxonomyIds: string[];\n\tfilterBlocks: Block[];\n\ttimeline: ProviderTimelinePoint[];\n\tcreatedAt: number;\n\tupdatedAt: number;\n}\n"]}
|