@wishcbg/bobcode
Version:
基於店家同步功能的需求,讓店家能夠在不同的店家之間同步各項功能設定,並且能夠檢視各項功能的異動情況。 規劃出一套店家設定即程式碼的機制,讓店家能夠以 config file (.sac) 來定義各項功能設定,並且能夠還原店家各項功能設定。 暫且稱這個機制為「Settings as Code」「店家設定即程式碼」。
1,079 lines • 61.4 kB
TypeScript
export declare const allResourceSchemas: {
appointmentCategory: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
name: import("zod").ZodString;
order: import("zod").ZodOptional<import("zod").ZodNumber>;
isPublic: import("zod").ZodOptional<import("zod").ZodBoolean>;
isPubApt: import("zod").ZodOptional<import("zod").ZodBoolean>;
imageId: import("zod").ZodOptional<import("zod").ZodString>;
appointmentServiceLogicIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
}, "strip", import("zod").ZodTypeAny, {
name: string;
order?: number | undefined;
isPublic?: boolean | undefined;
isPubApt?: boolean | undefined;
imageId?: string | undefined;
appointmentServiceLogicIds?: string[] | undefined;
}, {
name: string;
order?: number | undefined;
isPublic?: boolean | undefined;
isPubApt?: boolean | undefined;
imageId?: string | undefined;
appointmentServiceLogicIds?: string[] | undefined;
}>>;
appointmentService: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
name: import("zod").ZodString;
description: import("zod").ZodOptional<import("zod").ZodString>;
price: import("zod").ZodNumber;
showPrice: import("zod").ZodOptional<import("zod").ZodString>;
showTime: import("zod").ZodOptional<import("zod").ZodNumber>;
bookingTime: import("zod").ZodNumber;
order: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNumber>>;
isPublic: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
isPubApt: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
enableSubService: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
enableSubServiceClientHide: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
enableClassTicket: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
requiredClassTicket: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
enableAppointmentUnit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
enableResourceItem: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
attachServiceSettings: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
appointmentServiceAttachLogicId: import("zod").ZodString;
enableResourceItemBooking: import("zod").ZodDefault<import("zod").ZodBoolean>;
}, "strip", import("zod").ZodTypeAny, {
appointmentServiceAttachLogicId: string;
enableResourceItemBooking: boolean;
}, {
appointmentServiceAttachLogicId: string;
enableResourceItemBooking?: boolean | undefined;
}>, "many">>>;
imageId: import("zod").ZodOptional<import("zod").ZodString>;
wideImageId: import("zod").ZodOptional<import("zod").ZodString>;
appointmentUnitLogicIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
resourceItemLogicIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
appointmentCategorieLogicIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
appointmentServiceAttacheLogicIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
appointmentSubServices: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
logicId: import("zod").ZodOptional<import("zod").ZodString>;
name: import("zod").ZodString;
description: import("zod").ZodOptional<import("zod").ZodString>;
price: import("zod").ZodNumber;
showPrice: import("zod").ZodOptional<import("zod").ZodString>;
bookingTime: import("zod").ZodNumber;
showTime: import("zod").ZodOptional<import("zod").ZodNumber>;
order: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodNumber>>;
allAppointmentUnit: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
allResourceItem: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodBoolean>>;
imageId: import("zod").ZodOptional<import("zod").ZodString>;
appointmentUnitLogicIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
resourceItemLogicIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
}, "strip", import("zod").ZodTypeAny, {
name: string;
price: number;
bookingTime: number;
logicId?: string | undefined;
description?: string | undefined;
order?: number | undefined;
imageId?: string | undefined;
showPrice?: string | undefined;
showTime?: number | undefined;
allAppointmentUnit?: boolean | undefined;
allResourceItem?: boolean | undefined;
appointmentUnitLogicIds?: string[] | undefined;
resourceItemLogicIds?: string[] | undefined;
}, {
name: string;
price: number;
bookingTime: number;
logicId?: string | undefined;
description?: string | undefined;
order?: number | undefined;
imageId?: string | undefined;
showPrice?: string | undefined;
showTime?: number | undefined;
allAppointmentUnit?: boolean | undefined;
allResourceItem?: boolean | undefined;
appointmentUnitLogicIds?: string[] | undefined;
resourceItemLogicIds?: string[] | undefined;
}>, "many">>;
classTicketLogicIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
}, "strip", import("zod").ZodTypeAny, {
name: string;
price: number;
bookingTime: number;
description?: string | undefined;
order?: number | undefined;
isPublic?: boolean | undefined;
isPubApt?: boolean | undefined;
imageId?: string | undefined;
showPrice?: string | undefined;
showTime?: number | undefined;
appointmentUnitLogicIds?: string[] | undefined;
resourceItemLogicIds?: string[] | undefined;
enableSubService?: boolean | undefined;
enableSubServiceClientHide?: boolean | undefined;
enableClassTicket?: boolean | undefined;
requiredClassTicket?: boolean | undefined;
enableAppointmentUnit?: boolean | undefined;
enableResourceItem?: boolean | undefined;
attachServiceSettings?: {
appointmentServiceAttachLogicId: string;
enableResourceItemBooking: boolean;
}[] | undefined;
wideImageId?: string | undefined;
appointmentCategorieLogicIds?: string[] | undefined;
appointmentServiceAttacheLogicIds?: string[] | undefined;
appointmentSubServices?: {
name: string;
price: number;
bookingTime: number;
logicId?: string | undefined;
description?: string | undefined;
order?: number | undefined;
imageId?: string | undefined;
showPrice?: string | undefined;
showTime?: number | undefined;
allAppointmentUnit?: boolean | undefined;
allResourceItem?: boolean | undefined;
appointmentUnitLogicIds?: string[] | undefined;
resourceItemLogicIds?: string[] | undefined;
}[] | undefined;
classTicketLogicIds?: string[] | undefined;
}, {
name: string;
price: number;
bookingTime: number;
description?: string | undefined;
order?: number | undefined;
isPublic?: boolean | undefined;
isPubApt?: boolean | undefined;
imageId?: string | undefined;
showPrice?: string | undefined;
showTime?: number | undefined;
appointmentUnitLogicIds?: string[] | undefined;
resourceItemLogicIds?: string[] | undefined;
enableSubService?: boolean | undefined;
enableSubServiceClientHide?: boolean | undefined;
enableClassTicket?: boolean | undefined;
requiredClassTicket?: boolean | undefined;
enableAppointmentUnit?: boolean | undefined;
enableResourceItem?: boolean | undefined;
attachServiceSettings?: {
appointmentServiceAttachLogicId: string;
enableResourceItemBooking?: boolean | undefined;
}[] | undefined;
wideImageId?: string | undefined;
appointmentCategorieLogicIds?: string[] | undefined;
appointmentServiceAttacheLogicIds?: string[] | undefined;
appointmentSubServices?: {
name: string;
price: number;
bookingTime: number;
logicId?: string | undefined;
description?: string | undefined;
order?: number | undefined;
imageId?: string | undefined;
showPrice?: string | undefined;
showTime?: number | undefined;
allAppointmentUnit?: boolean | undefined;
allResourceItem?: boolean | undefined;
appointmentUnitLogicIds?: string[] | undefined;
resourceItemLogicIds?: string[] | undefined;
}[] | undefined;
classTicketLogicIds?: string[] | undefined;
}>>;
appointmentServiceAttach: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
name: import("zod").ZodString;
price: import("zod").ZodNumber;
showPrice: import("zod").ZodString;
showTime: import("zod").ZodNumber;
bookingTime: import("zod").ZodNumber;
order: import("zod").ZodDefault<import("zod").ZodNumber>;
isPublic: import("zod").ZodDefault<import("zod").ZodBoolean>;
isPubApt: import("zod").ZodDefault<import("zod").ZodBoolean>;
appointmentServiceLogicIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
}, "strip", import("zod").ZodTypeAny, {
name: string;
order: number;
isPublic: boolean;
isPubApt: boolean;
price: number;
showPrice: string;
bookingTime: number;
showTime: number;
appointmentServiceLogicIds?: string[] | undefined;
}, {
name: string;
price: number;
showPrice: string;
bookingTime: number;
showTime: number;
order?: number | undefined;
isPublic?: boolean | undefined;
isPubApt?: boolean | undefined;
appointmentServiceLogicIds?: string[] | undefined;
}>>;
lineConfig: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
lineId: import("zod").ZodString;
channelId: import("zod").ZodString;
channelSecret: import("zod").ZodString;
channelAccessToken: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
lineId: string;
channelId: string;
channelSecret: string;
channelAccessToken: string;
}, {
lineId: string;
channelId: string;
channelSecret: string;
channelAccessToken: string;
}>>;
memberLevelConfig: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
level: import("zod").ZodNumber;
name: import("zod").ZodString;
validTimeUnit: import("zod").ZodEnum<["forever", "month"]>;
validTime: import("zod").ZodOptional<import("zod").ZodNumber>;
image: import("zod").ZodOptional<import("zod").ZodString>;
color: import("zod").ZodOptional<import("zod").ZodString>;
levelUpCondition: import("zod").ZodEnum<["none", "onceAmount", "periodCount", "periodAmount"]>;
levelUpPeriod: import("zod").ZodOptional<import("zod").ZodNumber>;
levelUpThreshold: import("zod").ZodOptional<import("zod").ZodNumber>;
levelUpSources: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<["appointment", "eCommerce", "memberStore", "saleRecord", "externalTransaction"]>, "many">>;
levelRemainCondition: import("zod").ZodEnum<["none", "onceAmount", "periodCount", "periodAmount"]>;
levelRemainPeriod: import("zod").ZodOptional<import("zod").ZodNumber>;
levelRemainThreshold: import("zod").ZodOptional<import("zod").ZodNumber>;
levelRemainSources: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<["appointment", "eCommerce", "memberStore", "saleRecord", "externalTransaction"]>, "many">>;
}, "strip", import("zod").ZodTypeAny, {
name: string;
level: number;
validTimeUnit: "forever" | "month";
levelUpCondition: "none" | "onceAmount" | "periodCount" | "periodAmount";
levelRemainCondition: "none" | "onceAmount" | "periodCount" | "periodAmount";
image?: string | undefined;
validTime?: number | undefined;
color?: string | undefined;
levelUpPeriod?: number | undefined;
levelUpThreshold?: number | undefined;
levelUpSources?: ("appointment" | "eCommerce" | "memberStore" | "saleRecord" | "externalTransaction")[] | undefined;
levelRemainPeriod?: number | undefined;
levelRemainThreshold?: number | undefined;
levelRemainSources?: ("appointment" | "eCommerce" | "memberStore" | "saleRecord" | "externalTransaction")[] | undefined;
}, {
name: string;
level: number;
validTimeUnit: "forever" | "month";
levelUpCondition: "none" | "onceAmount" | "periodCount" | "periodAmount";
levelRemainCondition: "none" | "onceAmount" | "periodCount" | "periodAmount";
image?: string | undefined;
validTime?: number | undefined;
color?: string | undefined;
levelUpPeriod?: number | undefined;
levelUpThreshold?: number | undefined;
levelUpSources?: ("appointment" | "eCommerce" | "memberStore" | "saleRecord" | "externalTransaction")[] | undefined;
levelRemainPeriod?: number | undefined;
levelRemainThreshold?: number | undefined;
levelRemainSources?: ("appointment" | "eCommerce" | "memberStore" | "saleRecord" | "externalTransaction")[] | undefined;
}>>;
memberStorePointConfig: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
pointExchangeDisplayName: import("zod").ZodString;
pointExchangeRecordDisplayName: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
pointExchangeDisplayName: string;
pointExchangeRecordDisplayName: string;
}, {
pointExchangeDisplayName: string;
pointExchangeRecordDisplayName: string;
}>>;
coupon: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
type: import("zod").ZodEnum<["coupon", "exchange"]>;
name: import("zod").ZodString;
expType: import("zod").ZodDefault<import("zod").ZodEnum<["expAt", "expDay", "endOfPeriod"]>>;
expDay: import("zod").ZodOptional<import("zod").ZodNumber>;
expAt: import("zod").ZodOptional<import("zod").ZodDate>;
endOfPeriodUnit: import("zod").ZodOptional<import("zod").ZodEnum<["day", "week", "month", "quarter", "year"]>>;
showMinute: import("zod").ZodOptional<import("zod").ZodNumber>;
notice: import("zod").ZodOptional<import("zod").ZodString>;
exchangeLink: import("zod").ZodOptional<import("zod").ZodString>;
exchangeType: import("zod").ZodOptional<import("zod").ZodEnum<["share", "single"]>>;
systemRedeem: import("zod").ZodDefault<import("zod").ZodBoolean>;
sentCount: import("zod").ZodDefault<import("zod").ZodNumber>;
firstSentLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
sentLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
extraStatus: import("zod").ZodOptional<import("zod").ZodObject<{
opentixEcouponId: import("zod").ZodOptional<import("zod").ZodString>;
opentixIsDisabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
pospalEcouponId: import("zod").ZodOptional<import("zod").ZodString>;
pospalIsDisabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
}, "strip", import("zod").ZodTypeAny, {
opentixEcouponId?: string | undefined;
opentixIsDisabled?: boolean | undefined;
pospalEcouponId?: string | undefined;
pospalIsDisabled?: boolean | undefined;
}, {
opentixEcouponId?: string | undefined;
opentixIsDisabled?: boolean | undefined;
pospalEcouponId?: string | undefined;
pospalIsDisabled?: boolean | undefined;
}>>;
extraSetting: import("zod").ZodOptional<import("zod").ZodObject<{
openTixConfig: import("zod").ZodOptional<import("zod").ZodObject<{
startTime: import("zod").ZodDate;
endTime: import("zod").ZodDate;
currentDiscount: import("zod").ZodOptional<import("zod").ZodNumber>;
currentPrice: import("zod").ZodOptional<import("zod").ZodNumber>;
quantityPerMember: import("zod").ZodNumber;
priceMinLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
priceMaxLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
description: import("zod").ZodOptional<import("zod").ZodString>;
note: import("zod").ZodOptional<import("zod").ZodString>;
organizers: import("zod").ZodArray<import("zod").ZodString, "many">;
programs: import("zod").ZodArray<import("zod").ZodString, "many">;
events: import("zod").ZodArray<import("zod").ZodString, "many">;
}, "strip", import("zod").ZodTypeAny, {
startTime: Date;
endTime: Date;
quantityPerMember: number;
organizers: string[];
programs: string[];
events: string[];
description?: string | undefined;
currentDiscount?: number | undefined;
currentPrice?: number | undefined;
priceMinLimit?: number | undefined;
priceMaxLimit?: number | undefined;
note?: string | undefined;
}, {
startTime: Date;
endTime: Date;
quantityPerMember: number;
organizers: string[];
programs: string[];
events: string[];
description?: string | undefined;
currentDiscount?: number | undefined;
currentPrice?: number | undefined;
priceMinLimit?: number | undefined;
priceMaxLimit?: number | undefined;
note?: string | undefined;
}>>;
posPalConfig: import("zod").ZodOptional<import("zod").ZodObject<{
couponDataHash: import("zod").ZodString;
startDate: import("zod").ZodDate;
endDate: import("zod").ZodDate;
description: import("zod").ZodOptional<import("zod").ZodString>;
beginDays: import("zod").ZodNumber;
avaliableDays: import("zod").ZodNumber;
avaliableQuantity: import("zod").ZodNumber;
usedQuantity: import("zod").ZodNumber;
createdQuantity: import("zod").ZodNumber;
usageLimitType: import("zod").ZodOptional<import("zod").ZodString>;
usageLimitTimes: import("zod").ZodNumber;
usageLimitAmountType: import("zod").ZodOptional<import("zod").ZodBoolean>;
usageLimitAmount: import("zod").ZodNumber;
makeStartDate: import("zod").ZodDate;
makeEndDate: import("zod").ZodDate;
}, "strip", import("zod").ZodTypeAny, {
couponDataHash: string;
startDate: Date;
endDate: Date;
beginDays: number;
avaliableDays: number;
avaliableQuantity: number;
usedQuantity: number;
createdQuantity: number;
usageLimitTimes: number;
usageLimitAmount: number;
makeStartDate: Date;
makeEndDate: Date;
description?: string | undefined;
usageLimitType?: string | undefined;
usageLimitAmountType?: boolean | undefined;
}, {
couponDataHash: string;
startDate: Date;
endDate: Date;
beginDays: number;
avaliableDays: number;
avaliableQuantity: number;
usedQuantity: number;
createdQuantity: number;
usageLimitTimes: number;
usageLimitAmount: number;
makeStartDate: Date;
makeEndDate: Date;
description?: string | undefined;
usageLimitType?: string | undefined;
usageLimitAmountType?: boolean | undefined;
}>>;
}, "strip", import("zod").ZodTypeAny, {
openTixConfig?: {
startTime: Date;
endTime: Date;
quantityPerMember: number;
organizers: string[];
programs: string[];
events: string[];
description?: string | undefined;
currentDiscount?: number | undefined;
currentPrice?: number | undefined;
priceMinLimit?: number | undefined;
priceMaxLimit?: number | undefined;
note?: string | undefined;
} | undefined;
posPalConfig?: {
couponDataHash: string;
startDate: Date;
endDate: Date;
beginDays: number;
avaliableDays: number;
avaliableQuantity: number;
usedQuantity: number;
createdQuantity: number;
usageLimitTimes: number;
usageLimitAmount: number;
makeStartDate: Date;
makeEndDate: Date;
description?: string | undefined;
usageLimitType?: string | undefined;
usageLimitAmountType?: boolean | undefined;
} | undefined;
}, {
openTixConfig?: {
startTime: Date;
endTime: Date;
quantityPerMember: number;
organizers: string[];
programs: string[];
events: string[];
description?: string | undefined;
currentDiscount?: number | undefined;
currentPrice?: number | undefined;
priceMinLimit?: number | undefined;
priceMaxLimit?: number | undefined;
note?: string | undefined;
} | undefined;
posPalConfig?: {
couponDataHash: string;
startDate: Date;
endDate: Date;
beginDays: number;
avaliableDays: number;
avaliableQuantity: number;
usedQuantity: number;
createdQuantity: number;
usageLimitTimes: number;
usageLimitAmount: number;
makeStartDate: Date;
makeEndDate: Date;
description?: string | undefined;
usageLimitType?: string | undefined;
usageLimitAmountType?: boolean | undefined;
} | undefined;
}>>;
imageId: import("zod").ZodOptional<import("zod").ZodString>;
}, "strip", import("zod").ZodTypeAny, {
type: "coupon" | "exchange";
name: string;
expType: "expAt" | "expDay" | "endOfPeriod";
systemRedeem: boolean;
sentCount: number;
imageId?: string | undefined;
expAt?: Date | undefined;
expDay?: number | undefined;
endOfPeriodUnit?: "month" | "day" | "week" | "quarter" | "year" | undefined;
showMinute?: number | undefined;
notice?: string | undefined;
exchangeLink?: string | undefined;
exchangeType?: "single" | "share" | undefined;
firstSentLimit?: number | undefined;
sentLimit?: number | undefined;
extraStatus?: {
opentixEcouponId?: string | undefined;
opentixIsDisabled?: boolean | undefined;
pospalEcouponId?: string | undefined;
pospalIsDisabled?: boolean | undefined;
} | undefined;
extraSetting?: {
openTixConfig?: {
startTime: Date;
endTime: Date;
quantityPerMember: number;
organizers: string[];
programs: string[];
events: string[];
description?: string | undefined;
currentDiscount?: number | undefined;
currentPrice?: number | undefined;
priceMinLimit?: number | undefined;
priceMaxLimit?: number | undefined;
note?: string | undefined;
} | undefined;
posPalConfig?: {
couponDataHash: string;
startDate: Date;
endDate: Date;
beginDays: number;
avaliableDays: number;
avaliableQuantity: number;
usedQuantity: number;
createdQuantity: number;
usageLimitTimes: number;
usageLimitAmount: number;
makeStartDate: Date;
makeEndDate: Date;
description?: string | undefined;
usageLimitType?: string | undefined;
usageLimitAmountType?: boolean | undefined;
} | undefined;
} | undefined;
}, {
type: "coupon" | "exchange";
name: string;
imageId?: string | undefined;
expAt?: Date | undefined;
expDay?: number | undefined;
expType?: "expAt" | "expDay" | "endOfPeriod" | undefined;
endOfPeriodUnit?: "month" | "day" | "week" | "quarter" | "year" | undefined;
showMinute?: number | undefined;
notice?: string | undefined;
exchangeLink?: string | undefined;
exchangeType?: "single" | "share" | undefined;
systemRedeem?: boolean | undefined;
sentCount?: number | undefined;
firstSentLimit?: number | undefined;
sentLimit?: number | undefined;
extraStatus?: {
opentixEcouponId?: string | undefined;
opentixIsDisabled?: boolean | undefined;
pospalEcouponId?: string | undefined;
pospalIsDisabled?: boolean | undefined;
} | undefined;
extraSetting?: {
openTixConfig?: {
startTime: Date;
endTime: Date;
quantityPerMember: number;
organizers: string[];
programs: string[];
events: string[];
description?: string | undefined;
currentDiscount?: number | undefined;
currentPrice?: number | undefined;
priceMinLimit?: number | undefined;
priceMaxLimit?: number | undefined;
note?: string | undefined;
} | undefined;
posPalConfig?: {
couponDataHash: string;
startDate: Date;
endDate: Date;
beginDays: number;
avaliableDays: number;
avaliableQuantity: number;
usedQuantity: number;
createdQuantity: number;
usageLimitTimes: number;
usageLimitAmount: number;
makeStartDate: Date;
makeEndDate: Date;
description?: string | undefined;
usageLimitType?: string | undefined;
usageLimitAmountType?: boolean | undefined;
} | undefined;
} | undefined;
}>>;
resourceItemCategory: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
name: import("zod").ZodString;
order: import("zod").ZodDefault<import("zod").ZodNumber>;
resourceItemLogicIds: import("zod").ZodArray<import("zod").ZodString, "many">;
}, "strip", import("zod").ZodTypeAny, {
name: string;
order: number;
resourceItemLogicIds: string[];
}, {
name: string;
resourceItemLogicIds: string[];
order?: number | undefined;
}>>;
customCardTemplate: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
name: import("zod").ZodString;
cardSettings: import("zod").ZodArray<import("zod").ZodObject<{
level: import("zod").ZodNumber;
style: import("zod").ZodEnum<["classic", "peaceful", "lively", "nature", "fresh", "simple", "custom"]>;
customImageId: import("zod").ZodOptional<import("zod").ZodString>;
}, "strip", import("zod").ZodTypeAny, {
level: number;
style: "custom" | "classic" | "peaceful" | "lively" | "nature" | "fresh" | "simple";
customImageId?: string | undefined;
}, {
level: number;
style: "custom" | "classic" | "peaceful" | "lively" | "nature" | "fresh" | "simple";
customImageId?: string | undefined;
}>, "many">;
}, "strip", import("zod").ZodTypeAny, {
name: string;
cardSettings: {
level: number;
style: "custom" | "classic" | "peaceful" | "lively" | "nature" | "fresh" | "simple";
customImageId?: string | undefined;
}[];
}, {
name: string;
cardSettings: {
level: number;
style: "custom" | "classic" | "peaceful" | "lively" | "nature" | "fresh" | "simple";
customImageId?: string | undefined;
}[];
}>>;
resourceItem: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
enabled: import("zod").ZodBoolean;
name: import("zod").ZodString;
bookingMax: import("zod").ZodNumber;
enableTimeOff: import("zod").ZodDefault<import("zod").ZodBoolean>;
businessTimeBy: import("zod").ZodEnum<["shop", "branch"]>;
timeOffConfig: import("zod").ZodOptional<import("zod").ZodObject<{
months: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNumber, "many">>;
weekdays: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNumber, "many">>;
dateRangeSettings: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
start: import("zod").ZodDate;
end: import("zod").ZodDate;
}, "strip", import("zod").ZodTypeAny, {
start: Date;
end: Date;
}, {
start: Date;
end: Date;
}>, "many">>;
timeRangeSettings: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
start: import("zod").ZodDate;
end: import("zod").ZodDate;
}, "strip", import("zod").ZodTypeAny, {
start: Date;
end: Date;
}, {
start: Date;
end: Date;
}>, "many">>;
}, "strip", import("zod").ZodTypeAny, {
months: number[];
weekdays: number[];
dateRangeSettings: {
start: Date;
end: Date;
}[];
timeRangeSettings: {
start: Date;
end: Date;
}[];
}, {
months?: number[] | undefined;
weekdays?: number[] | undefined;
dateRangeSettings?: {
start: Date;
end: Date;
}[] | undefined;
timeRangeSettings?: {
start: Date;
end: Date;
}[] | undefined;
}>>;
excludeTimeRules: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
type: import("zod").ZodEnum<["once", "weekly", "monthly", "yearly"]>;
onceSetting: import("zod").ZodOptional<import("zod").ZodObject<{
startAt: import("zod").ZodDate;
endAt: import("zod").ZodDate;
}, "strip", import("zod").ZodTypeAny, {
startAt: Date;
endAt: Date;
}, {
startAt: Date;
endAt: Date;
}>>;
weeklySetting: import("zod").ZodOptional<import("zod").ZodObject<{
week: import("zod").ZodNumber;
startTime: import("zod").ZodNumber;
endTime: import("zod").ZodNumber;
}, "strip", import("zod").ZodTypeAny, {
week: number;
startTime: number;
endTime: number;
}, {
week: number;
startTime: number;
endTime: number;
}>>;
monthlySetting: import("zod").ZodOptional<import("zod").ZodObject<{
startDay: import("zod").ZodNumber;
startTime: import("zod").ZodNumber;
endDay: import("zod").ZodNumber;
endTime: import("zod").ZodNumber;
}, "strip", import("zod").ZodTypeAny, {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
}, {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
}>>;
yearlySetting: import("zod").ZodOptional<import("zod").ZodObject<{
startMonth: import("zod").ZodNumber;
startDay: import("zod").ZodNumber;
startTime: import("zod").ZodNumber;
endMonth: import("zod").ZodNumber;
endDay: import("zod").ZodNumber;
endTime: import("zod").ZodNumber;
}, "strip", import("zod").ZodTypeAny, {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
startMonth: number;
endMonth: number;
}, {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
startMonth: number;
endMonth: number;
}>>;
}, "strip", import("zod").ZodTypeAny, {
type: "once" | "weekly" | "monthly" | "yearly";
onceSetting?: {
startAt: Date;
endAt: Date;
} | undefined;
weeklySetting?: {
week: number;
startTime: number;
endTime: number;
} | undefined;
monthlySetting?: {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
} | undefined;
yearlySetting?: {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
startMonth: number;
endMonth: number;
} | undefined;
}, {
type: "once" | "weekly" | "monthly" | "yearly";
onceSetting?: {
startAt: Date;
endAt: Date;
} | undefined;
weeklySetting?: {
week: number;
startTime: number;
endTime: number;
} | undefined;
monthlySetting?: {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
} | undefined;
yearlySetting?: {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
startMonth: number;
endMonth: number;
} | undefined;
}>, "many">>;
order: import("zod").ZodOptional<import("zod").ZodNumber>;
image: import("zod").ZodOptional<import("zod").ZodString>;
appointmentServiceLogicIds: import("zod").ZodArray<import("zod").ZodString, "many">;
resourceItemCategoryLogicIds: import("zod").ZodArray<import("zod").ZodString, "many">;
businessTimeBranchLogicId: import("zod").ZodString;
}, "strip", import("zod").ZodTypeAny, {
name: string;
appointmentServiceLogicIds: string[];
enabled: boolean;
bookingMax: number;
enableTimeOff: boolean;
businessTimeBy: "shop" | "branch";
resourceItemCategoryLogicIds: string[];
businessTimeBranchLogicId: string;
order?: number | undefined;
image?: string | undefined;
timeOffConfig?: {
months: number[];
weekdays: number[];
dateRangeSettings: {
start: Date;
end: Date;
}[];
timeRangeSettings: {
start: Date;
end: Date;
}[];
} | undefined;
excludeTimeRules?: {
type: "once" | "weekly" | "monthly" | "yearly";
onceSetting?: {
startAt: Date;
endAt: Date;
} | undefined;
weeklySetting?: {
week: number;
startTime: number;
endTime: number;
} | undefined;
monthlySetting?: {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
} | undefined;
yearlySetting?: {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
startMonth: number;
endMonth: number;
} | undefined;
}[] | undefined;
}, {
name: string;
appointmentServiceLogicIds: string[];
enabled: boolean;
bookingMax: number;
businessTimeBy: "shop" | "branch";
resourceItemCategoryLogicIds: string[];
businessTimeBranchLogicId: string;
order?: number | undefined;
image?: string | undefined;
enableTimeOff?: boolean | undefined;
timeOffConfig?: {
months?: number[] | undefined;
weekdays?: number[] | undefined;
dateRangeSettings?: {
start: Date;
end: Date;
}[] | undefined;
timeRangeSettings?: {
start: Date;
end: Date;
}[] | undefined;
} | undefined;
excludeTimeRules?: {
type: "once" | "weekly" | "monthly" | "yearly";
onceSetting?: {
startAt: Date;
endAt: Date;
} | undefined;
weeklySetting?: {
week: number;
startTime: number;
endTime: number;
} | undefined;
monthlySetting?: {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
} | undefined;
yearlySetting?: {
startTime: number;
endTime: number;
startDay: number;
endDay: number;
startMonth: number;
endMonth: number;
} | undefined;
}[] | undefined;
}>>;
linePushConfig: import("./base.js").BaseResourceSchema<import("zod").ZodObject<{
appointmentOpen: import("zod").ZodDefault<import("zod").ZodBoolean>;
appointmentChangeTime: import("zod").ZodDefault<import("zod").ZodBoolean>;
appointmentCancel: import("zod").ZodDefault<import("zod").ZodBoolean>;
appointmentTomorrow: import("zod").ZodDefault<import("zod").ZodBoolean>;
appointmentEnd: import("zod").ZodDefault<import("zod").ZodBoolean>;
appointmentDepositRefund: import("zod").ZodDefault<import("zod").ZodBoolean>;
walletDeposit: import("zod").ZodDefault<import("zod").ZodBoolean>;
walletUse: import("zod").ZodDefault<import("zod").ZodBoolean>;
classTicketOpen: import("zod").ZodDefault<import("zod").ZodBoolean>;
classTicketUse: import("zod").ZodDefault<import("zod").ZodBoolean>;
cancelClassTicket: import("zod").ZodDefault<import("zod").ZodBoolean>;
cancelClassTicketUse: import("zod").ZodDefault<import("zod").ZodBoolean>;
phoneVerifyHelp: import("zod").ZodDefault<import("zod").ZodBoolean>;
allianceActivityAddQualification: import("zod").ZodDefault<import("zod").ZodBoolean>;
couponRecordOpen: import("zod").ZodDefault<import("zod").ZodBoolean>;
couponRecordExpireNotification: import("zod").ZodDefault<import("zod").ZodBoolean>;
shopCashbackExpirationNotify: import("zod").ZodDefault<import("zod").ZodBoolean>;
shopCashbackAddPoint: import("zod").ZodDefault<import("zod").ZodBoolean>;
shopCashbackUsePoint: import("zod").ZodDefault<import("zod").ZodBoolean>;
shopCashbackCancelPoint: import("zod").ZodDefault<import("zod").ZodBoolean>;
classTicketExpireNotification: import("zod").ZodDefault<import("zod").ZodBoolean>;
shopPointExpirationNotify: import("zod").ZodDefault<import("zod").ZodBoolean>;
shopPointAddPoint: import("zod").ZodDefault<import("zod").ZodBoolean>;
shopPointUsePoint: import("zod").ZodDefault<import("zod").ZodBoolean>;
shopPointCancelPoint: import("zod").ZodDefault<import("zod").ZodBoolean>;
memberLevelUp: import("zod").ZodDefault<import("zod").ZodBoolean>;
memberLevelDown: import("zod").ZodDefault<import("zod").ZodBoolean>;
memberLevelRemain: import("zod").ZodDefault<import("zod").ZodBoolean>;
memberLevelExpire: import("zod").ZodDefault<import("zod").ZodBoolean>;
memberSuccessReferral: import("zod").ZodDefault<import("zod").ZodBoolean>;
punchCardOpen: import("zod").ZodDefault<import("zod").ZodBoolean>;
punchCardUse: import("zod").ZodDefault<import("zod").ZodBoolean>;
punchCardExpireNotification: import("zod").ZodDefault<import("zod").ZodBoolean>;
pointCardOpen: import("zod").ZodDefault<import("zod").ZodBoolean>;
pointCardUse: import("zod").ZodDefault<import("zod").ZodBoolean>;
pointCardExpireNotification: import("zod").ZodDefault<import("zod").ZodBoolean>;
periodicBenefitRecordOpen: import("zod").ZodDefault<import("zod").ZodBoolean>;
periodicBenefitRecordPause: import("zod").ZodDefault<import("zod").ZodBoolean>;
periodicBenefitRecordTerminate: import("zod").ZodDefault<import("zod").ZodBoolean>;
bindLineVisibleNotify: import("zod").ZodDefault<import("zod").ZodBoolean>;
couponRecordOpenAdvancedSetting: import("zod").ZodObject<{
defaultCouponSetting: import("zod").ZodOptional<import("zod").ZodObject<{
notify: import("zod").ZodOptional<import("zod").ZodBoolean>;
}, "strip", import("zod").ZodTypeAny, {
notify?: boolean | undefined;
}, {
notify?: boolean | undefined;
}>>;
couponSettings: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodOptional<import("zod").ZodObject<{
couponId: import("zod").ZodOptional<import("zod").ZodString>;
notify: import("zod").ZodOptional<import("zod").ZodBoolean>;
}, "strip", import("zod").ZodTypeAny, {
couponId?: string | undefined;
notify?: boolean | undefined;
}, {
couponId?: string | undefined;
notify?: boolean | undefined;
}>>, "many">>;
}, "strip", import("zod").ZodTypeAny, {
defaultCouponSetting?: {
notify?: boolean | undefined;
} | undefined;
couponSettings?: ({
couponId?: string | undefined;
notify?: boolean | undefined;
} | undefined)[] | undefined;
}, {
defaultCouponSetting?: {
notify?: boolean | undefined;
} | undefined;
couponSettings?: ({
couponId?: string | undefined;
notify?: boolean | undefined;
} | undefined)[] | undefined;
}>;
couponRecordExpireNotificationAdvancedSetting: import("zod").ZodObject<{
defaultCouponSetting: import("zod").ZodOptional<import("zod").ZodObject<{
notify: import("zod").ZodOptional<import("zod").ZodBoolean>;
}, "strip", import("zod").ZodTypeAny, {
notify?: boolean | undefined;
}, {
notify?: boolean | undefined;
}>>;
couponSettings: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodOptional<import("zod").ZodObject<{
couponId: import("zod").ZodOptional<import("zod").ZodString>;
notify: import("zod").ZodOptional<import("zod").ZodBoolean>;
}, "strip", import("zod").ZodTypeAny, {
couponId?: string | undefined;
notify?: boolean | undefined;
}, {
couponId?: string | undefined;
notify?: boolean | undefined;
}>>, "many">>;
}, "strip", import("zod").ZodTypeAny, {
defaultCouponSetting?: {
notify?: boolean | undefined;
} | undefined;
couponSettings?: ({
couponId?: string | undefined;
notify?: boolean | undefined;
} | undefined)[] | undefined;
}, {
defaultCouponSetting?: {
notify?: boolean | undefined;
} | undefined;
couponSettings?: ({
couponId?: string | undefined;
notify?: boolean | undefined;
} | undefined)[] | undefined;
}>;
courseOrderConfirm: import("zod").ZodDefault<import("zod").ZodBoolean>;
courseOrderCancel: import("zod").ZodDefault<import("zod").ZodBoolean>;
courseOrderChange: import("zod").ZodDefault<import("zod").ZodBoolean>;
courseSessionCancel: import("zod").ZodDefault<import("zod").ZodBoolean>;
courseOrderRefundSuccess: import("zod").ZodDefault<import("zod").ZodBoolean>;
courseOrderRefundFail: import("zod").ZodDefault<import("zod").ZodBoolean>;
}, "strip", import("zod").ZodTypeAny, {
appointmentOpen: boolean;
appointmentChangeTime: boolean;
appointmentCancel: boolean;
appointmentTomorrow: boolean;
appointmentEnd: boolean;
appointmentDepositRefund: boolean;
walletDeposit: boolean;
walletUse: boolean;
classTicketOpen: boolean;
classTicketUse: boolean;
cancelClassTicket: boolean;
cancelClassTicketUse: boolean;
phoneVerifyHelp: boolean;
allianceActivityAddQualification: boolean;
couponRecordOpen: boolean;
couponRecordExpireNotification: boolean;
shopCashbackExpirationNotify: boolean;
shopCashbackAddPoint: boolean;
shopCashbackUsePoint: boolean;
shopCashbackCancelPoint: boolean;
classTicketExpireNotification: boolean;
shopPointExpirationNotify: boolean;
shopPointAddPoint: boolean;
shopPointUsePoint: boolean;
shopPointCancelPoint: boolean;
memberLevelUp: boolean;
memberLevelDown: boolean;
memberLevelRemain: boolean;
memberLevelExpire: boolean;
memberSuccessReferral: boolean;
punchCardOpen: boolean;
punchCardUse: boolean;
punchCardExpireNotification: boolean;
pointCardOpen: boolean;
pointCardUse: boolean;
pointCardExpireNotification: boolean;
periodicBenefitRecordOpen: boolean;
periodicBenefitRecordPause: boolean;
periodicBenefitRecordTerminate: boolean;
bindLineVisibleNotify: boolean;
couponRecordOpenAdvancedSetting: {
defaultCouponSetting?: {
notify?: boolean | undefined;
} | undefined;
couponSettings?: ({
couponId?: string | undefined;
notify?: boolean | undefined;
} | undefined)[] | undefined;
};
couponRecordExpireNotificationAdvancedSetting: {
defaultCouponSetting?: {
notify?: boolean | undefined;
} | undefined;
couponSettings?: ({
couponId?: string | undefined;
notify?: boolean | undefined;
} | undefined)[] | undefined;
};
courseOrderConfirm: boolean;
courseOrderCancel: boolean;
courseOrderChange: boolean;
courseSessionCancel: boolean;
courseOrderRefundSu