types-salon-management 1.0.18 → 1.0.20

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.
Files changed (41) hide show
  1. package/dist/api/index.d.ts +2 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +2 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/service-categories/index.d.ts +3 -0
  6. package/dist/api/service-categories/index.d.ts.map +1 -0
  7. package/dist/api/service-categories/index.js +3 -0
  8. package/dist/api/service-categories/index.js.map +1 -0
  9. package/dist/api/service-categories/service-category.dto.d.ts +15 -0
  10. package/dist/api/service-categories/service-category.dto.d.ts.map +1 -0
  11. package/dist/api/service-categories/service-category.dto.js +3 -0
  12. package/dist/api/service-categories/service-category.dto.js.map +1 -0
  13. package/dist/api/service-categories/service-category.requests.d.ts +17 -0
  14. package/dist/api/service-categories/service-category.requests.d.ts.map +1 -0
  15. package/dist/api/service-categories/service-category.requests.js +3 -0
  16. package/dist/api/service-categories/service-category.requests.js.map +1 -0
  17. package/dist/api/services/index.d.ts +4 -0
  18. package/dist/api/services/index.d.ts.map +1 -0
  19. package/dist/api/services/index.js +18 -0
  20. package/dist/api/services/index.js.map +1 -0
  21. package/dist/api/services/service.dto.d.ts +81 -0
  22. package/dist/api/services/service.dto.d.ts.map +1 -0
  23. package/dist/api/services/service.dto.js +3 -0
  24. package/dist/api/services/service.dto.js.map +1 -0
  25. package/dist/api/services/service.enums.d.ts +39 -0
  26. package/dist/api/services/service.enums.d.ts.map +1 -0
  27. package/dist/api/services/service.enums.js +36 -0
  28. package/dist/api/services/service.enums.js.map +1 -0
  29. package/dist/api/services/service.requests.d.ts +56 -0
  30. package/dist/api/services/service.requests.d.ts.map +1 -0
  31. package/dist/api/services/service.requests.js +3 -0
  32. package/dist/api/services/service.requests.js.map +1 -0
  33. package/package.json +1 -1
  34. package/src/api/index.ts +2 -0
  35. package/src/api/service-categories/index.ts +9 -0
  36. package/src/api/service-categories/service-category.dto.ts +16 -0
  37. package/src/api/service-categories/service-category.requests.ts +15 -0
  38. package/src/api/services/index.ts +25 -0
  39. package/src/api/services/service.dto.ts +100 -0
  40. package/src/api/services/service.enums.ts +52 -0
  41. package/src/api/services/service.requests.ts +69 -0
@@ -15,6 +15,8 @@ export * from './company-settings/index';
15
15
  export * from './staff/index';
16
16
  export * from './resources/index';
17
17
  export * from './contraindications/index';
18
+ export * from './service-categories/index';
19
+ export * from './services/index';
18
20
  export * from './user-roles/index';
19
21
  export * from './permissions/index';
20
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
package/dist/api/index.js CHANGED
@@ -31,6 +31,8 @@ __exportStar(require("./company-settings/index"), exports);
31
31
  __exportStar(require("./staff/index"), exports);
32
32
  __exportStar(require("./resources/index"), exports);
33
33
  __exportStar(require("./contraindications/index"), exports);
34
+ __exportStar(require("./service-categories/index"), exports);
35
+ __exportStar(require("./services/index"), exports);
34
36
  __exportStar(require("./user-roles/index"), exports);
35
37
  __exportStar(require("./permissions/index"), exports);
36
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAqE;AACrE,0CAAwB;AACxB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,2CAAyB;AACzB,+CAA6B;AAC7B,8CAA4B;AAC5B,qDAAmC;AACnC,wDAAsC;AACtC,6CAA2B;AAC3B,mDAAiC;AACjC,+CAA6B;AAC7B,2DAAyC;AACzC,gDAA8B;AAC9B,oDAAkC;AAClC,4DAA0C;AAC1C,qDAAmC;AACnC,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAqE;AACrE,0CAAwB;AACxB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,2CAAyB;AACzB,+CAA6B;AAC7B,8CAA4B;AAC5B,qDAAmC;AACnC,wDAAsC;AACtC,6CAA2B;AAC3B,mDAAiC;AACjC,+CAA6B;AAC7B,2DAAyC;AACzC,gDAA8B;AAC9B,oDAAkC;AAClC,4DAA0C;AAC1C,6DAA2C;AAC3C,mDAAiC;AACjC,qDAAmC;AACnC,sDAAoC"}
@@ -0,0 +1,3 @@
1
+ export type { ServiceCategoryDetailDto, ServiceCategorySummaryDto, } from './service-category.dto';
2
+ export type { CreateServiceCategoryRequest, ReorderServiceCategoriesRequest, UpdateServiceCategoryRequest, } from './service-category.requests';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/service-categories/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/service-categories/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type { AuditActor } from '../audit';
2
+ export interface ServiceCategorySummaryDto {
3
+ id: string;
4
+ name: string;
5
+ sortOrder: number;
6
+ active: boolean;
7
+ onlineBooking: boolean;
8
+ createdAt: string;
9
+ updatedAt: string | null;
10
+ createdBy: AuditActor | null;
11
+ updatedBy: AuditActor | null;
12
+ deletedBy: AuditActor | null;
13
+ }
14
+ export type ServiceCategoryDetailDto = ServiceCategorySummaryDto;
15
+ //# sourceMappingURL=service-category.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-category.dto.d.ts","sourceRoot":"","sources":["../../../src/api/service-categories/service-category.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,wBAAwB,GAAG,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=service-category.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-category.dto.js","sourceRoot":"","sources":["../../../src/api/service-categories/service-category.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ export interface CreateServiceCategoryRequest {
2
+ name: string;
3
+ active?: boolean;
4
+ onlineBooking?: boolean;
5
+ }
6
+ export interface UpdateServiceCategoryRequest {
7
+ name?: string;
8
+ active?: boolean;
9
+ onlineBooking?: boolean;
10
+ }
11
+ export interface ReorderServiceCategoriesRequest {
12
+ updates: Array<{
13
+ id: string;
14
+ sortOrder: number;
15
+ }>;
16
+ }
17
+ //# sourceMappingURL=service-category.requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-category.requests.d.ts","sourceRoot":"","sources":["../../../src/api/service-categories/service-category.requests.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=service-category.requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-category.requests.js","sourceRoot":"","sources":["../../../src/api/service-categories/service-category.requests.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './service.enums';
2
+ export type { ServiceCategoryRefDto, ServiceContraindicationRefDto, ServiceDetailDto, ServiceListResult, ServiceLocationRefDto, ServiceLocationTaxDto, ServicePhotoDto, ServiceResourceRefDto, ServiceStaffRefDto, ServiceSummaryDto, ServiceVariantDetailDto, ServiceVariantDurationSegmentDto, ServiceVariantSummaryDto, } from './service.dto';
3
+ export type { CreateServiceRequest, ListServicesQuery, ServiceLocationTaxInput, ServicePhotoInput, ServiceVariantDurationSegmentInput, ServiceVariantInput, UpdateServiceRequest, } from './service.requests';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,YAAY,EACV,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,kCAAkC,EAClC,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./service.enums"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
@@ -0,0 +1,81 @@
1
+ import type { AuditActor } from '../audit';
2
+ import type { PaginatedResult } from '../pagination';
3
+ import type { FollowUpReminderUnit, OnlineVisibility, ServiceAudience, ServiceDurationSegmentType, ServiceTaxMode, ServiceVariantPriceType } from './service.enums';
4
+ export interface ServiceCategoryRefDto {
5
+ id: string;
6
+ name: string;
7
+ }
8
+ export interface ServiceLocationRefDto {
9
+ id: string;
10
+ name: string;
11
+ }
12
+ export interface ServiceStaffRefDto {
13
+ id: string;
14
+ name: string;
15
+ }
16
+ export interface ServiceResourceRefDto {
17
+ id: string;
18
+ name: string;
19
+ }
20
+ export interface ServiceContraindicationRefDto {
21
+ id: string;
22
+ name: string;
23
+ }
24
+ export interface ServiceLocationTaxDto {
25
+ locationId: string;
26
+ taxId: string;
27
+ }
28
+ export interface ServicePhotoDto {
29
+ id: string;
30
+ url: string;
31
+ sortOrder: number;
32
+ }
33
+ export interface ServiceVariantDurationSegmentDto {
34
+ id: string;
35
+ segmentType: ServiceDurationSegmentType;
36
+ durationMinutes: number;
37
+ sortOrder: number;
38
+ }
39
+ export interface ServiceVariantSummaryDto {
40
+ id: string;
41
+ name: string | null;
42
+ description: string | null;
43
+ price: string;
44
+ priceType: ServiceVariantPriceType;
45
+ sortOrder: number;
46
+ hasAdvancePrice: boolean;
47
+ }
48
+ export interface ServiceVariantDetailDto extends ServiceVariantSummaryDto {
49
+ durationSegments: ServiceVariantDurationSegmentDto[];
50
+ }
51
+ export interface ServiceSummaryDto {
52
+ id: string;
53
+ name: string;
54
+ category: ServiceCategoryRefDto;
55
+ serviceFor: ServiceAudience;
56
+ active: boolean;
57
+ onlineVisibility: OnlineVisibility;
58
+ createdAt: string;
59
+ updatedAt: string | null;
60
+ createdBy: AuditActor | null;
61
+ updatedBy: AuditActor | null;
62
+ deletedBy: AuditActor | null;
63
+ }
64
+ export interface ServiceDetailDto extends ServiceSummaryDto {
65
+ description: string | null;
66
+ color: string | null;
67
+ taxMode: ServiceTaxMode;
68
+ requiresTwoStaffs: boolean;
69
+ followUpReminderEnabled: boolean;
70
+ followUpReminderValue: number | null;
71
+ followUpReminderUnit: FollowUpReminderUnit | null;
72
+ locationIds: string[];
73
+ staffIds: string[];
74
+ resourceIds: string[];
75
+ contraindicationIds: string[];
76
+ locationTaxes: ServiceLocationTaxDto[];
77
+ photos: ServicePhotoDto[];
78
+ variants: ServiceVariantDetailDto[];
79
+ }
80
+ export type ServiceListResult = PaginatedResult<ServiceSummaryDto>;
81
+ //# sourceMappingURL=service.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.dto.d.ts","sourceRoot":"","sources":["../../../src/api/services/service.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=service.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.dto.js","sourceRoot":"","sources":["../../../src/api/services/service.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ /** Postgres service audience enum (`service_for` column). */
2
+ export declare const ServiceAudience: {
3
+ readonly Man: "man";
4
+ readonly Woman: "woman";
5
+ readonly Everyone: "everyone";
6
+ };
7
+ export type ServiceAudience = (typeof ServiceAudience)[keyof typeof ServiceAudience];
8
+ export declare const OnlineVisibility: {
9
+ readonly Hide: "hide";
10
+ readonly ServiceOnly: "service_only";
11
+ readonly ServiceAndPrice: "service_and_price";
12
+ };
13
+ export type OnlineVisibility = (typeof OnlineVisibility)[keyof typeof OnlineVisibility];
14
+ export declare const ServiceTaxMode: {
15
+ readonly Default: "default";
16
+ readonly Custom: "custom";
17
+ };
18
+ export type ServiceTaxMode = (typeof ServiceTaxMode)[keyof typeof ServiceTaxMode];
19
+ export declare const ServiceVariantPriceType: {
20
+ readonly Free: "free";
21
+ readonly StartAt: "start_at";
22
+ readonly Fixed: "fixed";
23
+ };
24
+ export type ServiceVariantPriceType = (typeof ServiceVariantPriceType)[keyof typeof ServiceVariantPriceType];
25
+ /** Duration segment kinds for a service variant. */
26
+ export declare const ServiceDurationSegmentType: {
27
+ readonly ServicingTime: "servicing_time";
28
+ readonly ExtraServicingTime: "extra_servicing_time";
29
+ readonly ProcessingTime: "processing_time";
30
+ readonly BlockTime: "block_time";
31
+ };
32
+ export type ServiceDurationSegmentType = (typeof ServiceDurationSegmentType)[keyof typeof ServiceDurationSegmentType];
33
+ export declare const FollowUpReminderUnit: {
34
+ readonly Day: "day";
35
+ readonly Week: "week";
36
+ readonly Month: "month";
37
+ };
38
+ export type FollowUpReminderUnit = (typeof FollowUpReminderUnit)[keyof typeof FollowUpReminderUnit];
39
+ //# sourceMappingURL=service.enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.enums.d.ts","sourceRoot":"","sources":["../../../src/api/services/service.enums.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAExF,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE,oDAAoD;AACpD,eAAO,MAAM,0BAA0B;;;;;CAK7B,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,OAAO,0BAA0B,CAAC,CAAC;AAE/E,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FollowUpReminderUnit = exports.ServiceDurationSegmentType = exports.ServiceVariantPriceType = exports.ServiceTaxMode = exports.OnlineVisibility = exports.ServiceAudience = void 0;
4
+ /** Postgres service audience enum (`service_for` column). */
5
+ exports.ServiceAudience = {
6
+ Man: 'man',
7
+ Woman: 'woman',
8
+ Everyone: 'everyone',
9
+ };
10
+ exports.OnlineVisibility = {
11
+ Hide: 'hide',
12
+ ServiceOnly: 'service_only',
13
+ ServiceAndPrice: 'service_and_price',
14
+ };
15
+ exports.ServiceTaxMode = {
16
+ Default: 'default',
17
+ Custom: 'custom',
18
+ };
19
+ exports.ServiceVariantPriceType = {
20
+ Free: 'free',
21
+ StartAt: 'start_at',
22
+ Fixed: 'fixed',
23
+ };
24
+ /** Duration segment kinds for a service variant. */
25
+ exports.ServiceDurationSegmentType = {
26
+ ServicingTime: 'servicing_time',
27
+ ExtraServicingTime: 'extra_servicing_time',
28
+ ProcessingTime: 'processing_time',
29
+ BlockTime: 'block_time',
30
+ };
31
+ exports.FollowUpReminderUnit = {
32
+ Day: 'day',
33
+ Week: 'week',
34
+ Month: 'month',
35
+ };
36
+ //# sourceMappingURL=service.enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.enums.js","sourceRoot":"","sources":["../../../src/api/services/service.enums.ts"],"names":[],"mappings":";;;AAAA,6DAA6D;AAChD,QAAA,eAAe,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;CACZ,CAAC;AAIE,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,cAAc;IAC3B,eAAe,EAAE,mBAAmB;CAC5B,CAAC;AAIE,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAIE,QAAA,uBAAuB,GAAG;IACrC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,OAAO;CACN,CAAC;AAKX,oDAAoD;AACvC,QAAA,0BAA0B,GAAG;IACxC,aAAa,EAAE,gBAAgB;IAC/B,kBAAkB,EAAE,sBAAsB;IAC1C,cAAc,EAAE,iBAAiB;IACjC,SAAS,EAAE,YAAY;CACf,CAAC;AAKE,QAAA,oBAAoB,GAAG;IAClC,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { FollowUpReminderUnit, OnlineVisibility, ServiceAudience, ServiceDurationSegmentType, ServiceTaxMode, ServiceVariantPriceType } from './service.enums';
2
+ export interface ServiceVariantDurationSegmentInput {
3
+ segmentType: ServiceDurationSegmentType;
4
+ durationMinutes: number;
5
+ sortOrder: number;
6
+ }
7
+ export interface ServiceVariantInput {
8
+ id?: string;
9
+ name?: string | null;
10
+ description?: string | null;
11
+ price: string;
12
+ priceType: ServiceVariantPriceType;
13
+ sortOrder: number;
14
+ durationSegments: ServiceVariantDurationSegmentInput[];
15
+ }
16
+ export interface ServiceLocationTaxInput {
17
+ locationId: string;
18
+ taxId: string;
19
+ }
20
+ export interface ServicePhotoInput {
21
+ url: string;
22
+ sortOrder: number;
23
+ }
24
+ export interface CreateServiceRequest {
25
+ categoryId: string;
26
+ name: string;
27
+ description?: string | null;
28
+ color?: string | null;
29
+ serviceFor: ServiceAudience;
30
+ active?: boolean;
31
+ onlineVisibility?: OnlineVisibility;
32
+ taxMode?: ServiceTaxMode;
33
+ requiresTwoStaffs?: boolean;
34
+ followUpReminderEnabled?: boolean;
35
+ followUpReminderValue?: number | null;
36
+ followUpReminderUnit?: FollowUpReminderUnit | null;
37
+ locationIds: string[];
38
+ staffIds: string[];
39
+ resourceIds?: string[];
40
+ contraindicationIds?: string[];
41
+ locationTaxes?: ServiceLocationTaxInput[];
42
+ photos?: ServicePhotoInput[];
43
+ variants: ServiceVariantInput[];
44
+ }
45
+ export type UpdateServiceRequest = Partial<Omit<CreateServiceRequest, 'variants'>> & {
46
+ variants?: ServiceVariantInput[];
47
+ };
48
+ export interface ListServicesQuery {
49
+ search?: string;
50
+ categoryId?: string;
51
+ serviceFor?: ServiceAudience;
52
+ locationIds?: string[];
53
+ page?: number;
54
+ pageSize?: number;
55
+ }
56
+ //# sourceMappingURL=service.requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.requests.d.ts","sourceRoot":"","sources":["../../../src/api/services/service.requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,kCAAkC;IACjD,WAAW,EAAE,0BAA0B,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,uBAAuB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,kCAAkC,EAAE,CAAC;CACxD;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC1C,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,GAAG;IACnF,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=service.requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.requests.js","sourceRoot":"","sources":["../../../src/api/services/service.requests.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "types-salon-management",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "description": "Types for Salon Management",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/api/index.ts CHANGED
@@ -15,5 +15,7 @@ export * from './company-settings/index';
15
15
  export * from './staff/index';
16
16
  export * from './resources/index';
17
17
  export * from './contraindications/index';
18
+ export * from './service-categories/index';
19
+ export * from './services/index';
18
20
  export * from './user-roles/index';
19
21
  export * from './permissions/index';
@@ -0,0 +1,9 @@
1
+ export type {
2
+ ServiceCategoryDetailDto,
3
+ ServiceCategorySummaryDto,
4
+ } from './service-category.dto';
5
+ export type {
6
+ CreateServiceCategoryRequest,
7
+ ReorderServiceCategoriesRequest,
8
+ UpdateServiceCategoryRequest,
9
+ } from './service-category.requests';
@@ -0,0 +1,16 @@
1
+ import type { AuditActor } from '../audit';
2
+
3
+ export interface ServiceCategorySummaryDto {
4
+ id: string;
5
+ name: string;
6
+ sortOrder: number;
7
+ active: boolean;
8
+ onlineBooking: boolean;
9
+ createdAt: string;
10
+ updatedAt: string | null;
11
+ createdBy: AuditActor | null;
12
+ updatedBy: AuditActor | null;
13
+ deletedBy: AuditActor | null;
14
+ }
15
+
16
+ export type ServiceCategoryDetailDto = ServiceCategorySummaryDto;
@@ -0,0 +1,15 @@
1
+ export interface CreateServiceCategoryRequest {
2
+ name: string;
3
+ active?: boolean;
4
+ onlineBooking?: boolean;
5
+ }
6
+
7
+ export interface UpdateServiceCategoryRequest {
8
+ name?: string;
9
+ active?: boolean;
10
+ onlineBooking?: boolean;
11
+ }
12
+
13
+ export interface ReorderServiceCategoriesRequest {
14
+ updates: Array<{ id: string; sortOrder: number }>;
15
+ }
@@ -0,0 +1,25 @@
1
+ export * from './service.enums';
2
+ export type {
3
+ ServiceCategoryRefDto,
4
+ ServiceContraindicationRefDto,
5
+ ServiceDetailDto,
6
+ ServiceListResult,
7
+ ServiceLocationRefDto,
8
+ ServiceLocationTaxDto,
9
+ ServicePhotoDto,
10
+ ServiceResourceRefDto,
11
+ ServiceStaffRefDto,
12
+ ServiceSummaryDto,
13
+ ServiceVariantDetailDto,
14
+ ServiceVariantDurationSegmentDto,
15
+ ServiceVariantSummaryDto,
16
+ } from './service.dto';
17
+ export type {
18
+ CreateServiceRequest,
19
+ ListServicesQuery,
20
+ ServiceLocationTaxInput,
21
+ ServicePhotoInput,
22
+ ServiceVariantDurationSegmentInput,
23
+ ServiceVariantInput,
24
+ UpdateServiceRequest,
25
+ } from './service.requests';
@@ -0,0 +1,100 @@
1
+ import type { AuditActor } from '../audit';
2
+ import type { PaginatedResult } from '../pagination';
3
+ import type {
4
+ FollowUpReminderUnit,
5
+ OnlineVisibility,
6
+ ServiceAudience,
7
+ ServiceDurationSegmentType,
8
+ ServiceTaxMode,
9
+ ServiceVariantPriceType,
10
+ } from './service.enums';
11
+
12
+ export interface ServiceCategoryRefDto {
13
+ id: string;
14
+ name: string;
15
+ }
16
+
17
+ export interface ServiceLocationRefDto {
18
+ id: string;
19
+ name: string;
20
+ }
21
+
22
+ export interface ServiceStaffRefDto {
23
+ id: string;
24
+ name: string;
25
+ }
26
+
27
+ export interface ServiceResourceRefDto {
28
+ id: string;
29
+ name: string;
30
+ }
31
+
32
+ export interface ServiceContraindicationRefDto {
33
+ id: string;
34
+ name: string;
35
+ }
36
+
37
+ export interface ServiceLocationTaxDto {
38
+ locationId: string;
39
+ taxId: string;
40
+ }
41
+
42
+ export interface ServicePhotoDto {
43
+ id: string;
44
+ url: string;
45
+ sortOrder: number;
46
+ }
47
+
48
+ export interface ServiceVariantDurationSegmentDto {
49
+ id: string;
50
+ segmentType: ServiceDurationSegmentType;
51
+ durationMinutes: number;
52
+ sortOrder: number;
53
+ }
54
+
55
+ export interface ServiceVariantSummaryDto {
56
+ id: string;
57
+ name: string | null;
58
+ description: string | null;
59
+ price: string;
60
+ priceType: ServiceVariantPriceType;
61
+ sortOrder: number;
62
+ hasAdvancePrice: boolean;
63
+ }
64
+
65
+ export interface ServiceVariantDetailDto extends ServiceVariantSummaryDto {
66
+ durationSegments: ServiceVariantDurationSegmentDto[];
67
+ }
68
+
69
+ export interface ServiceSummaryDto {
70
+ id: string;
71
+ name: string;
72
+ category: ServiceCategoryRefDto;
73
+ serviceFor: ServiceAudience;
74
+ active: boolean;
75
+ onlineVisibility: OnlineVisibility;
76
+ createdAt: string;
77
+ updatedAt: string | null;
78
+ createdBy: AuditActor | null;
79
+ updatedBy: AuditActor | null;
80
+ deletedBy: AuditActor | null;
81
+ }
82
+
83
+ export interface ServiceDetailDto extends ServiceSummaryDto {
84
+ description: string | null;
85
+ color: string | null;
86
+ taxMode: ServiceTaxMode;
87
+ requiresTwoStaffs: boolean;
88
+ followUpReminderEnabled: boolean;
89
+ followUpReminderValue: number | null;
90
+ followUpReminderUnit: FollowUpReminderUnit | null;
91
+ locationIds: string[];
92
+ staffIds: string[];
93
+ resourceIds: string[];
94
+ contraindicationIds: string[];
95
+ locationTaxes: ServiceLocationTaxDto[];
96
+ photos: ServicePhotoDto[];
97
+ variants: ServiceVariantDetailDto[];
98
+ }
99
+
100
+ export type ServiceListResult = PaginatedResult<ServiceSummaryDto>;
@@ -0,0 +1,52 @@
1
+ /** Postgres service audience enum (`service_for` column). */
2
+ export const ServiceAudience = {
3
+ Man: 'man',
4
+ Woman: 'woman',
5
+ Everyone: 'everyone',
6
+ } as const;
7
+
8
+ export type ServiceAudience = (typeof ServiceAudience)[keyof typeof ServiceAudience];
9
+
10
+ export const OnlineVisibility = {
11
+ Hide: 'hide',
12
+ ServiceOnly: 'service_only',
13
+ ServiceAndPrice: 'service_and_price',
14
+ } as const;
15
+
16
+ export type OnlineVisibility = (typeof OnlineVisibility)[keyof typeof OnlineVisibility];
17
+
18
+ export const ServiceTaxMode = {
19
+ Default: 'default',
20
+ Custom: 'custom',
21
+ } as const;
22
+
23
+ export type ServiceTaxMode = (typeof ServiceTaxMode)[keyof typeof ServiceTaxMode];
24
+
25
+ export const ServiceVariantPriceType = {
26
+ Free: 'free',
27
+ StartAt: 'start_at',
28
+ Fixed: 'fixed',
29
+ } as const;
30
+
31
+ export type ServiceVariantPriceType =
32
+ (typeof ServiceVariantPriceType)[keyof typeof ServiceVariantPriceType];
33
+
34
+ /** Duration segment kinds for a service variant. */
35
+ export const ServiceDurationSegmentType = {
36
+ ServicingTime: 'servicing_time',
37
+ ExtraServicingTime: 'extra_servicing_time',
38
+ ProcessingTime: 'processing_time',
39
+ BlockTime: 'block_time',
40
+ } as const;
41
+
42
+ export type ServiceDurationSegmentType =
43
+ (typeof ServiceDurationSegmentType)[keyof typeof ServiceDurationSegmentType];
44
+
45
+ export const FollowUpReminderUnit = {
46
+ Day: 'day',
47
+ Week: 'week',
48
+ Month: 'month',
49
+ } as const;
50
+
51
+ export type FollowUpReminderUnit =
52
+ (typeof FollowUpReminderUnit)[keyof typeof FollowUpReminderUnit];
@@ -0,0 +1,69 @@
1
+ import type {
2
+ FollowUpReminderUnit,
3
+ OnlineVisibility,
4
+ ServiceAudience,
5
+ ServiceDurationSegmentType,
6
+ ServiceTaxMode,
7
+ ServiceVariantPriceType,
8
+ } from './service.enums';
9
+
10
+ export interface ServiceVariantDurationSegmentInput {
11
+ segmentType: ServiceDurationSegmentType;
12
+ durationMinutes: number;
13
+ sortOrder: number;
14
+ }
15
+
16
+ export interface ServiceVariantInput {
17
+ id?: string;
18
+ name?: string | null;
19
+ description?: string | null;
20
+ price: string;
21
+ priceType: ServiceVariantPriceType;
22
+ sortOrder: number;
23
+ durationSegments: ServiceVariantDurationSegmentInput[];
24
+ }
25
+
26
+ export interface ServiceLocationTaxInput {
27
+ locationId: string;
28
+ taxId: string;
29
+ }
30
+
31
+ export interface ServicePhotoInput {
32
+ url: string;
33
+ sortOrder: number;
34
+ }
35
+
36
+ export interface CreateServiceRequest {
37
+ categoryId: string;
38
+ name: string;
39
+ description?: string | null;
40
+ color?: string | null;
41
+ serviceFor: ServiceAudience;
42
+ active?: boolean;
43
+ onlineVisibility?: OnlineVisibility;
44
+ taxMode?: ServiceTaxMode;
45
+ requiresTwoStaffs?: boolean;
46
+ followUpReminderEnabled?: boolean;
47
+ followUpReminderValue?: number | null;
48
+ followUpReminderUnit?: FollowUpReminderUnit | null;
49
+ locationIds: string[];
50
+ staffIds: string[];
51
+ resourceIds?: string[];
52
+ contraindicationIds?: string[];
53
+ locationTaxes?: ServiceLocationTaxInput[];
54
+ photos?: ServicePhotoInput[];
55
+ variants: ServiceVariantInput[];
56
+ }
57
+
58
+ export type UpdateServiceRequest = Partial<Omit<CreateServiceRequest, 'variants'>> & {
59
+ variants?: ServiceVariantInput[];
60
+ };
61
+
62
+ export interface ListServicesQuery {
63
+ search?: string;
64
+ categoryId?: string;
65
+ serviceFor?: ServiceAudience;
66
+ locationIds?: string[];
67
+ page?: number;
68
+ pageSize?: number;
69
+ }