types-salon-management 1.0.35 → 1.0.37

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 (42) hide show
  1. package/dist/api/index.d.ts +1 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +1 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/invoices/invoice.requests.d.ts +2 -0
  6. package/dist/api/invoices/invoice.requests.d.ts.map +1 -1
  7. package/dist/api/service-combos/index.d.ts +4 -0
  8. package/dist/api/service-combos/index.d.ts.map +1 -0
  9. package/dist/api/service-combos/index.js +20 -0
  10. package/dist/api/service-combos/index.js.map +1 -0
  11. package/dist/api/service-combos/service-combo.dto.d.ts +72 -0
  12. package/dist/api/service-combos/service-combo.dto.d.ts.map +1 -0
  13. package/dist/api/service-combos/service-combo.dto.js +3 -0
  14. package/dist/api/service-combos/service-combo.dto.js.map +1 -0
  15. package/dist/api/service-combos/service-combo.enums.d.ts +27 -0
  16. package/dist/api/service-combos/service-combo.enums.d.ts.map +1 -0
  17. package/dist/api/service-combos/service-combo.enums.js +25 -0
  18. package/dist/api/service-combos/service-combo.enums.js.map +1 -0
  19. package/dist/api/service-combos/service-combo.requests.d.ts +54 -0
  20. package/dist/api/service-combos/service-combo.requests.d.ts.map +1 -0
  21. package/dist/api/service-combos/service-combo.requests.js +3 -0
  22. package/dist/api/service-combos/service-combo.requests.js.map +1 -0
  23. package/dist/api/services/service.dto.d.ts +3 -1
  24. package/dist/api/services/service.dto.d.ts.map +1 -1
  25. package/dist/api/services/service.enums.d.ts +8 -0
  26. package/dist/api/services/service.enums.d.ts.map +1 -1
  27. package/dist/api/services/service.enums.js +7 -1
  28. package/dist/api/services/service.enums.js.map +1 -1
  29. package/dist/consts/permission-config.d.ts +0 -4
  30. package/dist/consts/permission-config.d.ts.map +1 -1
  31. package/dist/consts/permission-config.js +0 -4
  32. package/dist/consts/permission-config.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/api/index.ts +1 -0
  35. package/src/api/invoices/invoice.requests.ts +2 -0
  36. package/src/api/service-combos/index.ts +3 -0
  37. package/src/api/service-combos/service-combo.dto.ts +81 -0
  38. package/src/api/service-combos/service-combo.enums.ts +35 -0
  39. package/src/api/service-combos/service-combo.requests.ts +67 -0
  40. package/src/api/services/service.dto.ts +3 -0
  41. package/src/api/services/service.enums.ts +12 -0
  42. package/src/consts/permission-config.ts +0 -4
@@ -18,6 +18,7 @@ export * from './resources/index';
18
18
  export * from './contraindications/index';
19
19
  export * from './service-categories/index';
20
20
  export * from './services/index';
21
+ export * from './service-combos/index';
21
22
  export * from './user-roles/index';
22
23
  export * from './permissions/index';
23
24
  export * from './payment-methods/index';
@@ -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,mBAAmB,CAAC;AAClC,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;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,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,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
package/dist/api/index.js CHANGED
@@ -34,6 +34,7 @@ __exportStar(require("./resources/index"), exports);
34
34
  __exportStar(require("./contraindications/index"), exports);
35
35
  __exportStar(require("./service-categories/index"), exports);
36
36
  __exportStar(require("./services/index"), exports);
37
+ __exportStar(require("./service-combos/index"), exports);
37
38
  __exportStar(require("./user-roles/index"), exports);
38
39
  __exportStar(require("./permissions/index"), exports);
39
40
  __exportStar(require("./payment-methods/index"), exports);
@@ -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,oDAAkC;AAClC,gDAA8B;AAC9B,oDAAkC;AAClC,4DAA0C;AAC1C,6DAA2C;AAC3C,mDAAiC;AACjC,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,kDAAgC;AAChC,mDAAiC"}
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,oDAAkC;AAClC,gDAA8B;AAC9B,oDAAkC;AAClC,4DAA0C;AAC1C,6DAA2C;AAC3C,mDAAiC;AACjC,yDAAuC;AACvC,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,kDAAgC;AAChC,mDAAiC"}
@@ -34,6 +34,8 @@ export interface FinalizeInvoiceLineRequest {
34
34
  quantity: string;
35
35
  sortOrder: number;
36
36
  durationMinutes?: number | null;
37
+ comboId?: string | null;
38
+ comboName?: string | null;
37
39
  unitPrice: string;
38
40
  lineDiscountType?: DiscountType | null;
39
41
  lineDiscountValue?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.requests.d.ts","sourceRoot":"","sources":["../../../src/api/invoices/invoice.requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvF,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,eAAe,GACf,OAAO,GACP,mBAAmB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;AAEnE,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,0BAA0B,CAAC;CACrC;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,cAAc,EAAE,qBAAqB,CAAC;IACtC,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAC3C,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEnD,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAC,qBAAqB,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC;IACnE,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"invoice.requests.d.ts","sourceRoot":"","sources":["../../../src/api/invoices/invoice.requests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './service-combo.enums';
2
+ export * from './service-combo.dto';
3
+ export * from './service-combo.requests';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/service-combos/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,20 @@
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-combo.enums"), exports);
18
+ __exportStar(require("./service-combo.dto"), exports);
19
+ __exportStar(require("./service-combo.requests"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/service-combos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,sDAAoC;AACpC,2DAAyC"}
@@ -0,0 +1,72 @@
1
+ import type { AuditActor } from '../audit';
2
+ import type { ServiceAudience, ServiceTaxMode, ServiceVariantPriceType } from '../services/service.enums';
3
+ import type { ServiceComboBookingType, ServiceComboDisplayPricePrefix, ServiceComboPricingType } from './service-combo.enums';
4
+ export interface ServiceComboItemDto {
5
+ id: string;
6
+ variantId: string;
7
+ serviceId: string;
8
+ serviceName: string;
9
+ variantName: string | null;
10
+ sortOrder: number;
11
+ referencePrice: string;
12
+ durationMinutes: number;
13
+ }
14
+ export interface ServiceComboSummaryDto {
15
+ id: string;
16
+ name: string;
17
+ description: string | null;
18
+ serviceFor: ServiceAudience;
19
+ bookingType: ServiceComboBookingType;
20
+ pricingType: ServiceComboPricingType;
21
+ customPrice: string | null;
22
+ percentageOff: string | null;
23
+ sortOrder: number;
24
+ comboImageUrl: string | null;
25
+ itemCount: number;
26
+ displayPrice: string;
27
+ displayPricePrefix: ServiceComboDisplayPricePrefix;
28
+ lastKnownReferenceTotal: string | null;
29
+ createdAt: string;
30
+ updatedAt: string | null;
31
+ createdBy: AuditActor | null;
32
+ updatedBy: AuditActor | null;
33
+ deletedBy: AuditActor | null;
34
+ }
35
+ export interface ServiceComboDetailDto extends ServiceComboSummaryDto {
36
+ items: ServiceComboItemDto[];
37
+ availableLocationIds: string[];
38
+ }
39
+ export interface ServiceComboPickerItemDto {
40
+ id: string;
41
+ name: string;
42
+ description: string | null;
43
+ serviceFor: ServiceAudience;
44
+ bookingType: ServiceComboBookingType;
45
+ pricingType: ServiceComboPricingType;
46
+ itemCount: number;
47
+ displayPrice: string;
48
+ displayPricePrefix: ServiceComboDisplayPricePrefix;
49
+ }
50
+ export interface ResolvedServiceComboLineDto {
51
+ variantId: string;
52
+ serviceId: string;
53
+ serviceName: string;
54
+ variantName: string | null;
55
+ unitPrice: string;
56
+ priceType: ServiceVariantPriceType;
57
+ referencePrice: string;
58
+ requiresTwoStaffs: boolean;
59
+ sortOrder: number;
60
+ durationMinutes: number;
61
+ taxMode: ServiceTaxMode;
62
+ locationTaxId: string | null;
63
+ }
64
+ export interface ResolvedServiceComboPriceDto {
65
+ comboId: string;
66
+ comboName: string;
67
+ pricingType: ServiceComboPricingType;
68
+ comboTotal: string;
69
+ referenceTotal: string;
70
+ lines: ResolvedServiceComboLineDto[];
71
+ }
72
+ //# sourceMappingURL=service-combo.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-combo.dto.d.ts","sourceRoot":"","sources":["../../../src/api/service-combos/service-combo.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC1G,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,uBAAuB,CAAC;IACrC,WAAW,EAAE,uBAAuB,CAAC;IACrC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,8BAA8B,CAAC;IACnD,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,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,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,uBAAuB,CAAC;IACrC,WAAW,EAAE,uBAAuB,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,8BAA8B,CAAC;CACpD;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,uBAAuB,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,uBAAuB,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,2BAA2B,EAAE,CAAC;CACtC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=service-combo.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-combo.dto.js","sourceRoot":"","sources":["../../../src/api/service-combos/service-combo.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ /** How combo services are scheduled when booked. */
2
+ export declare const ServiceComboBookingType: {
3
+ readonly Sequence: "sequence";
4
+ readonly Parallel: "parallel";
5
+ };
6
+ export type ServiceComboBookingType = (typeof ServiceComboBookingType)[keyof typeof ServiceComboBookingType];
7
+ /** How a service combo total price is determined. */
8
+ export declare const ServiceComboPricingType: {
9
+ readonly Service: "service";
10
+ readonly Custom: "custom";
11
+ readonly Free: "free";
12
+ readonly PercentageOff: "percentage_off";
13
+ };
14
+ export type ServiceComboPricingType = (typeof ServiceComboPricingType)[keyof typeof ServiceComboPricingType];
15
+ /**
16
+ * UI hint for list/picker price labels (e.g. "From $X").
17
+ * Distinct from `ServiceVariantPriceType`, which describes variant price semantics.
18
+ */
19
+ export declare const ServiceComboDisplayPricePrefix: {
20
+ readonly From: "from";
21
+ readonly Fixed: "fixed";
22
+ readonly Free: "free";
23
+ };
24
+ export type ServiceComboDisplayPricePrefixValue = (typeof ServiceComboDisplayPricePrefix)[keyof typeof ServiceComboDisplayPricePrefix];
25
+ /** `null` means no prefix label — show price only. */
26
+ export type ServiceComboDisplayPricePrefix = ServiceComboDisplayPricePrefixValue | null;
27
+ //# sourceMappingURL=service-combo.enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-combo.enums.d.ts","sourceRoot":"","sources":["../../../src/api/service-combos/service-combo.enums.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,eAAO,MAAM,uBAAuB;;;CAG1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE,qDAAqD;AACrD,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;CAIjC,CAAC;AAEX,MAAM,MAAM,mCAAmC,GAC7C,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,OAAO,8BAA8B,CAAC,CAAC;AAEvF,sDAAsD;AACtD,MAAM,MAAM,8BAA8B,GAAG,mCAAmC,GAAG,IAAI,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceComboDisplayPricePrefix = exports.ServiceComboPricingType = exports.ServiceComboBookingType = void 0;
4
+ /** How combo services are scheduled when booked. */
5
+ exports.ServiceComboBookingType = {
6
+ Sequence: 'sequence',
7
+ Parallel: 'parallel',
8
+ };
9
+ /** How a service combo total price is determined. */
10
+ exports.ServiceComboPricingType = {
11
+ Service: 'service',
12
+ Custom: 'custom',
13
+ Free: 'free',
14
+ PercentageOff: 'percentage_off',
15
+ };
16
+ /**
17
+ * UI hint for list/picker price labels (e.g. "From $X").
18
+ * Distinct from `ServiceVariantPriceType`, which describes variant price semantics.
19
+ */
20
+ exports.ServiceComboDisplayPricePrefix = {
21
+ From: 'from',
22
+ Fixed: 'fixed',
23
+ Free: 'free',
24
+ };
25
+ //# sourceMappingURL=service-combo.enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-combo.enums.js","sourceRoot":"","sources":["../../../src/api/service-combos/service-combo.enums.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACvC,QAAA,uBAAuB,GAAG;IACrC,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAKX,qDAAqD;AACxC,QAAA,uBAAuB,GAAG;IACrC,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,gBAAgB;CACvB,CAAC;AAKX;;;GAGG;AACU,QAAA,8BAA8B,GAAG;IAC5C,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACJ,CAAC"}
@@ -0,0 +1,54 @@
1
+ import type { PaginatedResult } from '../pagination';
2
+ import type { ServiceAudience } from '../services/service.enums';
3
+ import type { ServiceComboBookingType, ServiceComboPricingType } from './service-combo.enums';
4
+ import type { ResolvedServiceComboPriceDto, ServiceComboDetailDto, ServiceComboPickerItemDto, ServiceComboSummaryDto } from './service-combo.dto';
5
+ export interface ServiceComboItemInput {
6
+ variantId: string;
7
+ sortOrder: number;
8
+ }
9
+ export interface CreateServiceComboRequest {
10
+ name: string;
11
+ description?: string | null;
12
+ serviceFor: ServiceAudience;
13
+ bookingType: ServiceComboBookingType;
14
+ pricingType: ServiceComboPricingType;
15
+ customPrice?: string | null;
16
+ percentageOff?: string | null;
17
+ comboImageUrl?: string | null;
18
+ items: ServiceComboItemInput[];
19
+ }
20
+ export interface UpdateServiceComboRequest {
21
+ name?: string;
22
+ description?: string | null;
23
+ serviceFor?: ServiceAudience;
24
+ bookingType?: ServiceComboBookingType;
25
+ pricingType?: ServiceComboPricingType;
26
+ customPrice?: string | null;
27
+ percentageOff?: string | null;
28
+ comboImageUrl?: string | null;
29
+ items?: ServiceComboItemInput[];
30
+ }
31
+ export interface ListServiceCombosQuery {
32
+ search?: string;
33
+ serviceFor?: ServiceAudience;
34
+ page?: number;
35
+ pageSize?: number;
36
+ }
37
+ export interface SearchServiceComboPickerQuery {
38
+ search?: string;
39
+ locationId: string;
40
+ serviceFor?: ServiceAudience;
41
+ page?: number;
42
+ pageSize?: number;
43
+ }
44
+ export interface ResolveServiceComboPriceQuery {
45
+ locationId: string;
46
+ staffId?: string;
47
+ }
48
+ export interface ReorderServiceCombosRequest {
49
+ orderedIds: string[];
50
+ }
51
+ export type ServiceComboListResult = PaginatedResult<ServiceComboSummaryDto>;
52
+ export type ServiceComboPickerResult = PaginatedResult<ServiceComboPickerItemDto>;
53
+ export type { ServiceComboDetailDto, ResolvedServiceComboPriceDto };
54
+ //# sourceMappingURL=service-combo.requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-combo.requests.d.ts","sourceRoot":"","sources":["../../../src/api/service-combos/service-combo.requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,KAAK,EACV,4BAA4B,EAC5B,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,uBAAuB,CAAC;IACrC,WAAW,EAAE,uBAAuB,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,qBAAqB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;AAC7E,MAAM,MAAM,wBAAwB,GAAG,eAAe,CAAC,yBAAyB,CAAC,CAAC;AAElF,YAAY,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=service-combo.requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-combo.requests.js","sourceRoot":"","sources":["../../../src/api/service-combos/service-combo.requests.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import type { AuditActor } from '../audit';
2
2
  import type { PaginatedResult } from '../pagination';
3
- import type { FollowUpReminderUnit, OnlineVisibility, ServiceAudience, ServiceDurationSegmentType, ServiceTaxMode, ServiceVariantPriceType } from './service.enums';
3
+ import type { FollowUpReminderUnit, OnlineVisibility, ServiceAudience, ServiceDisplayPricePrefix, ServiceDurationSegmentType, ServiceTaxMode, ServiceVariantPriceType } from './service.enums';
4
4
  export interface ServiceCategoryRefDto {
5
5
  id: string;
6
6
  name: string;
@@ -63,6 +63,8 @@ export interface ServiceSummaryDto {
63
63
  serviceFor: ServiceAudience;
64
64
  active: boolean;
65
65
  onlineVisibility: OnlineVisibility;
66
+ displayPrice: string;
67
+ displayPricePrefix: ServiceDisplayPricePrefix;
66
68
  createdAt: string;
67
69
  updatedAt: string | null;
68
70
  createdBy: AuditActor | null;
@@ -1 +1 @@
1
- {"version":3,"file":"service.dto.d.ts","sourceRoot":"","sources":["../../../src/api/services/service.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.dto.d.ts","sourceRoot":"","sources":["../../../src/api/services/service.dto.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,14 @@ export declare const ServiceVariantPriceType: {
22
22
  readonly Fixed: "fixed";
23
23
  };
24
24
  export type ServiceVariantPriceType = (typeof ServiceVariantPriceType)[keyof typeof ServiceVariantPriceType];
25
+ /** UI hint for service list price labels (e.g. "From $X"). */
26
+ export declare const ServiceDisplayPricePrefix: {
27
+ readonly From: "from";
28
+ readonly Fixed: "fixed";
29
+ readonly Free: "free";
30
+ };
31
+ export type ServiceDisplayPricePrefixValue = (typeof ServiceDisplayPricePrefix)[keyof typeof ServiceDisplayPricePrefix];
32
+ export type ServiceDisplayPricePrefix = ServiceDisplayPricePrefixValue;
25
33
  /** Duration segment kinds for a service variant. */
26
34
  export declare const ServiceDurationSegmentType: {
27
35
  readonly ServicingTime: "servicing_time";
@@ -1 +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"}
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,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,MAAM,MAAM,8BAA8B,GACxC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AAEvE,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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FollowUpReminderUnit = exports.ServiceDurationSegmentType = exports.ServiceVariantPriceType = exports.ServiceTaxMode = exports.OnlineVisibility = exports.ServiceAudience = void 0;
3
+ exports.FollowUpReminderUnit = exports.ServiceDurationSegmentType = exports.ServiceDisplayPricePrefix = exports.ServiceVariantPriceType = exports.ServiceTaxMode = exports.OnlineVisibility = exports.ServiceAudience = void 0;
4
4
  /** Postgres service audience enum (`service_for` column). */
5
5
  exports.ServiceAudience = {
6
6
  Man: 'man',
@@ -21,6 +21,12 @@ exports.ServiceVariantPriceType = {
21
21
  StartAt: 'start_at',
22
22
  Fixed: 'fixed',
23
23
  };
24
+ /** UI hint for service list price labels (e.g. "From $X"). */
25
+ exports.ServiceDisplayPricePrefix = {
26
+ From: 'from',
27
+ Fixed: 'fixed',
28
+ Free: 'free',
29
+ };
24
30
  /** Duration segment kinds for a service variant. */
25
31
  exports.ServiceDurationSegmentType = {
26
32
  ServicingTime: 'servicing_time',
@@ -1 +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"}
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,8DAA8D;AACjD,QAAA,yBAAyB,GAAG;IACvC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACJ,CAAC;AAOX,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"}
@@ -151,10 +151,6 @@ export declare const permissionConfig: {
151
151
  readonly key: "MANAGE_STAFF_COMMISSION";
152
152
  readonly formattedPermission: "Can Manage Staff Commission";
153
153
  };
154
- readonly MANAGE_STAFF_ADVANCE_PAYMENTS: {
155
- readonly key: "MANAGE_STAFF_ADVANCE_PAYMENTS";
156
- readonly formattedPermission: "Can Manage Staff Advance Payments";
157
- };
158
154
  readonly MANAGE_STAFF_PAYROLLS: {
159
155
  readonly key: "MANAGE_STAFF_PAYROLLS";
160
156
  readonly formattedPermission: "Can Manage Staff Payrolls";
@@ -1 +1 @@
1
- {"version":3,"file":"permission-config.d.ts","sourceRoot":"","sources":["../../src/consts/permission-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqPnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,OAAO,gBAAgB,CAAC,cAAc,CAAC,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAA;CAChB,CAAC"}
1
+ {"version":3,"file":"permission-config.d.ts","sourceRoot":"","sources":["../../src/consts/permission-config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiPnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,OAAO,gBAAgB,CAAC,cAAc,CAAC,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAA;CAChB,CAAC"}
@@ -154,10 +154,6 @@ exports.permissionConfig = {
154
154
  key: 'MANAGE_STAFF_COMMISSION',
155
155
  formattedPermission: 'Can Manage Staff Commission',
156
156
  },
157
- 'MANAGE_STAFF_ADVANCE_PAYMENTS': {
158
- key: 'MANAGE_STAFF_ADVANCE_PAYMENTS',
159
- formattedPermission: 'Can Manage Staff Advance Payments',
160
- },
161
157
  'MANAGE_STAFF_PAYROLLS': {
162
158
  key: 'MANAGE_STAFF_PAYROLLS',
163
159
  formattedPermission: 'Can Manage Staff Payrolls',
@@ -1 +1 @@
1
- {"version":3,"file":"permission-config.js","sourceRoot":"","sources":["../../src/consts/permission-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-config.js","sourceRoot":"","sources":["../../src/consts/permission-config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "types-salon-management",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
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
@@ -18,6 +18,7 @@ export * from './resources/index';
18
18
  export * from './contraindications/index';
19
19
  export * from './service-categories/index';
20
20
  export * from './services/index';
21
+ export * from './service-combos/index';
21
22
  export * from './user-roles/index';
22
23
  export * from './permissions/index';
23
24
  export * from './payment-methods/index';
@@ -44,6 +44,8 @@ export interface FinalizeInvoiceLineRequest {
44
44
  quantity: string;
45
45
  sortOrder: number;
46
46
  durationMinutes?: number | null;
47
+ comboId?: string | null;
48
+ comboName?: string | null;
47
49
  unitPrice: string;
48
50
  lineDiscountType?: DiscountType | null;
49
51
  lineDiscountValue?: string | null;
@@ -0,0 +1,3 @@
1
+ export * from './service-combo.enums';
2
+ export * from './service-combo.dto';
3
+ export * from './service-combo.requests';
@@ -0,0 +1,81 @@
1
+ import type { AuditActor } from '../audit';
2
+ import type { ServiceAudience, ServiceTaxMode, ServiceVariantPriceType } from '../services/service.enums';
3
+ import type {
4
+ ServiceComboBookingType,
5
+ ServiceComboDisplayPricePrefix,
6
+ ServiceComboPricingType,
7
+ } from './service-combo.enums';
8
+
9
+ export interface ServiceComboItemDto {
10
+ id: string;
11
+ variantId: string;
12
+ serviceId: string;
13
+ serviceName: string;
14
+ variantName: string | null;
15
+ sortOrder: number;
16
+ referencePrice: string;
17
+ durationMinutes: number;
18
+ }
19
+
20
+ export interface ServiceComboSummaryDto {
21
+ id: string;
22
+ name: string;
23
+ description: string | null;
24
+ serviceFor: ServiceAudience;
25
+ bookingType: ServiceComboBookingType;
26
+ pricingType: ServiceComboPricingType;
27
+ customPrice: string | null;
28
+ percentageOff: string | null;
29
+ sortOrder: number;
30
+ comboImageUrl: string | null;
31
+ itemCount: number;
32
+ displayPrice: string;
33
+ displayPricePrefix: ServiceComboDisplayPricePrefix;
34
+ lastKnownReferenceTotal: string | null;
35
+ createdAt: string;
36
+ updatedAt: string | null;
37
+ createdBy: AuditActor | null;
38
+ updatedBy: AuditActor | null;
39
+ deletedBy: AuditActor | null;
40
+ }
41
+
42
+ export interface ServiceComboDetailDto extends ServiceComboSummaryDto {
43
+ items: ServiceComboItemDto[];
44
+ availableLocationIds: string[];
45
+ }
46
+
47
+ export interface ServiceComboPickerItemDto {
48
+ id: string;
49
+ name: string;
50
+ description: string | null;
51
+ serviceFor: ServiceAudience;
52
+ bookingType: ServiceComboBookingType;
53
+ pricingType: ServiceComboPricingType;
54
+ itemCount: number;
55
+ displayPrice: string;
56
+ displayPricePrefix: ServiceComboDisplayPricePrefix;
57
+ }
58
+
59
+ export interface ResolvedServiceComboLineDto {
60
+ variantId: string;
61
+ serviceId: string;
62
+ serviceName: string;
63
+ variantName: string | null;
64
+ unitPrice: string;
65
+ priceType: ServiceVariantPriceType;
66
+ referencePrice: string;
67
+ requiresTwoStaffs: boolean;
68
+ sortOrder: number;
69
+ durationMinutes: number;
70
+ taxMode: ServiceTaxMode;
71
+ locationTaxId: string | null;
72
+ }
73
+
74
+ export interface ResolvedServiceComboPriceDto {
75
+ comboId: string;
76
+ comboName: string;
77
+ pricingType: ServiceComboPricingType;
78
+ comboTotal: string;
79
+ referenceTotal: string;
80
+ lines: ResolvedServiceComboLineDto[];
81
+ }
@@ -0,0 +1,35 @@
1
+ /** How combo services are scheduled when booked. */
2
+ export const ServiceComboBookingType = {
3
+ Sequence: 'sequence',
4
+ Parallel: 'parallel',
5
+ } as const;
6
+
7
+ export type ServiceComboBookingType =
8
+ (typeof ServiceComboBookingType)[keyof typeof ServiceComboBookingType];
9
+
10
+ /** How a service combo total price is determined. */
11
+ export const ServiceComboPricingType = {
12
+ Service: 'service',
13
+ Custom: 'custom',
14
+ Free: 'free',
15
+ PercentageOff: 'percentage_off',
16
+ } as const;
17
+
18
+ export type ServiceComboPricingType =
19
+ (typeof ServiceComboPricingType)[keyof typeof ServiceComboPricingType];
20
+
21
+ /**
22
+ * UI hint for list/picker price labels (e.g. "From $X").
23
+ * Distinct from `ServiceVariantPriceType`, which describes variant price semantics.
24
+ */
25
+ export const ServiceComboDisplayPricePrefix = {
26
+ From: 'from',
27
+ Fixed: 'fixed',
28
+ Free: 'free',
29
+ } as const;
30
+
31
+ export type ServiceComboDisplayPricePrefixValue =
32
+ (typeof ServiceComboDisplayPricePrefix)[keyof typeof ServiceComboDisplayPricePrefix];
33
+
34
+ /** `null` means no prefix label — show price only. */
35
+ export type ServiceComboDisplayPricePrefix = ServiceComboDisplayPricePrefixValue | null;
@@ -0,0 +1,67 @@
1
+ import type { PaginatedResult } from '../pagination';
2
+ import type { ServiceAudience } from '../services/service.enums';
3
+ import type { ServiceComboBookingType, ServiceComboPricingType } from './service-combo.enums';
4
+ import type {
5
+ ResolvedServiceComboPriceDto,
6
+ ServiceComboDetailDto,
7
+ ServiceComboPickerItemDto,
8
+ ServiceComboSummaryDto,
9
+ } from './service-combo.dto';
10
+
11
+ export interface ServiceComboItemInput {
12
+ variantId: string;
13
+ sortOrder: number;
14
+ }
15
+
16
+ export interface CreateServiceComboRequest {
17
+ name: string;
18
+ description?: string | null;
19
+ serviceFor: ServiceAudience;
20
+ bookingType: ServiceComboBookingType;
21
+ pricingType: ServiceComboPricingType;
22
+ customPrice?: string | null;
23
+ percentageOff?: string | null;
24
+ comboImageUrl?: string | null;
25
+ items: ServiceComboItemInput[];
26
+ }
27
+
28
+ export interface UpdateServiceComboRequest {
29
+ name?: string;
30
+ description?: string | null;
31
+ serviceFor?: ServiceAudience;
32
+ bookingType?: ServiceComboBookingType;
33
+ pricingType?: ServiceComboPricingType;
34
+ customPrice?: string | null;
35
+ percentageOff?: string | null;
36
+ comboImageUrl?: string | null;
37
+ items?: ServiceComboItemInput[];
38
+ }
39
+
40
+ export interface ListServiceCombosQuery {
41
+ search?: string;
42
+ serviceFor?: ServiceAudience;
43
+ page?: number;
44
+ pageSize?: number;
45
+ }
46
+
47
+ export interface SearchServiceComboPickerQuery {
48
+ search?: string;
49
+ locationId: string;
50
+ serviceFor?: ServiceAudience;
51
+ page?: number;
52
+ pageSize?: number;
53
+ }
54
+
55
+ export interface ResolveServiceComboPriceQuery {
56
+ locationId: string;
57
+ staffId?: string;
58
+ }
59
+
60
+ export interface ReorderServiceCombosRequest {
61
+ orderedIds: string[];
62
+ }
63
+
64
+ export type ServiceComboListResult = PaginatedResult<ServiceComboSummaryDto>;
65
+ export type ServiceComboPickerResult = PaginatedResult<ServiceComboPickerItemDto>;
66
+
67
+ export type { ServiceComboDetailDto, ResolvedServiceComboPriceDto };
@@ -4,6 +4,7 @@ import type {
4
4
  FollowUpReminderUnit,
5
5
  OnlineVisibility,
6
6
  ServiceAudience,
7
+ ServiceDisplayPricePrefix,
7
8
  ServiceDurationSegmentType,
8
9
  ServiceTaxMode,
9
10
  ServiceVariantPriceType,
@@ -82,6 +83,8 @@ export interface ServiceSummaryDto {
82
83
  serviceFor: ServiceAudience;
83
84
  active: boolean;
84
85
  onlineVisibility: OnlineVisibility;
86
+ displayPrice: string;
87
+ displayPricePrefix: ServiceDisplayPricePrefix;
85
88
  createdAt: string;
86
89
  updatedAt: string | null;
87
90
  createdBy: AuditActor | null;
@@ -31,6 +31,18 @@ export const ServiceVariantPriceType = {
31
31
  export type ServiceVariantPriceType =
32
32
  (typeof ServiceVariantPriceType)[keyof typeof ServiceVariantPriceType];
33
33
 
34
+ /** UI hint for service list price labels (e.g. "From $X"). */
35
+ export const ServiceDisplayPricePrefix = {
36
+ From: 'from',
37
+ Fixed: 'fixed',
38
+ Free: 'free',
39
+ } as const;
40
+
41
+ export type ServiceDisplayPricePrefixValue =
42
+ (typeof ServiceDisplayPricePrefix)[keyof typeof ServiceDisplayPricePrefix];
43
+
44
+ export type ServiceDisplayPricePrefix = ServiceDisplayPricePrefixValue;
45
+
34
46
  /** Duration segment kinds for a service variant. */
35
47
  export const ServiceDurationSegmentType = {
36
48
  ServicingTime: 'servicing_time',
@@ -151,10 +151,6 @@ export const permissionConfig = {
151
151
  key: 'MANAGE_STAFF_COMMISSION',
152
152
  formattedPermission: 'Can Manage Staff Commission',
153
153
  },
154
- 'MANAGE_STAFF_ADVANCE_PAYMENTS': {
155
- key: 'MANAGE_STAFF_ADVANCE_PAYMENTS',
156
- formattedPermission: 'Can Manage Staff Advance Payments',
157
- },
158
154
  'MANAGE_STAFF_PAYROLLS': {
159
155
  key: 'MANAGE_STAFF_PAYROLLS',
160
156
  formattedPermission: 'Can Manage Staff Payrolls',