types-salon-management 1.0.20 → 1.0.22

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.
@@ -1,4 +1,5 @@
1
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';
2
+ export type { ServiceCategoryRefDto, ServiceContraindicationRefDto, ServiceDetailDto, ServiceListResult, ServiceLocationRefDto, ServiceLocationTaxDto, ServicePhotoDto, ServiceResourceRefDto, ServiceStaffRefDto, ServiceSummaryDto, ServiceVariantDetailDto, ServiceVariantDurationSegmentDto, ServiceVariantPriceOverrideDto, ServiceVariantSummaryDto, } from './service.dto';
3
+ export type { ResolvedVariantPriceDto, ResolveVariantPriceQuery, SearchServicePickerQuery, ServicePickerDurationSegmentDto, ServicePickerItemDto, ServicePickerResult, } from './service.picker';
4
+ export type { CreateServiceRequest, ListServicesQuery, ServiceLocationTaxInput, ServicePhotoInput, ServiceVariantDurationSegmentInput, ServiceVariantInput, ServiceVariantPriceOverrideInput, UpdateServiceRequest, } from './service.requests';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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,8BAA8B,EAC9B,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,kCAAkC,EAClC,mBAAmB,EACnB,gCAAgC,EAChC,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
@@ -36,6 +36,13 @@ export interface ServiceVariantDurationSegmentDto {
36
36
  durationMinutes: number;
37
37
  sortOrder: number;
38
38
  }
39
+ /** Sparse override returned on variant detail; frontend merges into full grid. */
40
+ export interface ServiceVariantPriceOverrideDto {
41
+ locationId: string;
42
+ staffId: string | null;
43
+ price: string;
44
+ priceType: ServiceVariantPriceType;
45
+ }
39
46
  export interface ServiceVariantSummaryDto {
40
47
  id: string;
41
48
  name: string | null;
@@ -47,6 +54,7 @@ export interface ServiceVariantSummaryDto {
47
54
  }
48
55
  export interface ServiceVariantDetailDto extends ServiceVariantSummaryDto {
49
56
  durationSegments: ServiceVariantDurationSegmentDto[];
57
+ priceOverrides: ServiceVariantPriceOverrideDto[];
50
58
  }
51
59
  export interface ServiceSummaryDto {
52
60
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"service.dto.d.ts","sourceRoot":"","sources":["../../../src/api/services/service.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,0BAA0B,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,uBAAuB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,gBAAgB,EAAE,gCAAgC,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,qBAAqB,CAAC;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,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,gBAAiB,SAAQ,iBAAiB;IACzD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;IACjC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,uBAAuB,EAAE,CAAC;CACrC;AAED,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC"}
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,49 @@
1
+ import type { PaginatedResult } from '../pagination';
2
+ import type { ServiceAudience, ServiceDurationSegmentType, ServiceTaxMode, ServiceVariantPriceType } from './service.enums';
3
+ export interface SearchServicePickerQuery {
4
+ search?: string;
5
+ locationId: string;
6
+ categoryId?: string;
7
+ serviceFor?: ServiceAudience;
8
+ active?: boolean;
9
+ page?: number;
10
+ pageSize?: number;
11
+ }
12
+ export interface ServicePickerDurationSegmentDto {
13
+ id: string;
14
+ segmentType: ServiceDurationSegmentType;
15
+ durationMinutes: number;
16
+ sortOrder: number;
17
+ }
18
+ export interface ServicePickerItemDto {
19
+ id: string;
20
+ name: string;
21
+ serviceFor: ServiceAudience;
22
+ category: {
23
+ id: string;
24
+ name: string;
25
+ };
26
+ requiresTwoStaffs: boolean;
27
+ taxMode: ServiceTaxMode;
28
+ locationTaxId: string | null;
29
+ variantId: string;
30
+ variantName: string | null;
31
+ price: string;
32
+ priceType: ServiceVariantPriceType;
33
+ hasAdvancePrice: boolean;
34
+ durationSegments: ServicePickerDurationSegmentDto[];
35
+ qualifiedStaffIds: string[];
36
+ resourceIds: string[];
37
+ displayPrice: string;
38
+ displayPriceType: ServiceVariantPriceType;
39
+ }
40
+ export type ServicePickerResult = PaginatedResult<ServicePickerItemDto>;
41
+ export interface ResolveVariantPriceQuery {
42
+ locationId: string;
43
+ staffId?: string;
44
+ }
45
+ export interface ResolvedVariantPriceDto {
46
+ price: string;
47
+ priceType: ServiceVariantPriceType;
48
+ }
49
+ //# sourceMappingURL=service.picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.picker.d.ts","sourceRoot":"","sources":["../../../src/api/services/service.picker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,0BAA0B,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,uBAAuB,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,+BAA+B,EAAE,CAAC;IACpD,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,uBAAuB,CAAC;CAC3C;AAED,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC;AAExE,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,uBAAuB,CAAC;CACpC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=service.picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.picker.js","sourceRoot":"","sources":["../../../src/api/services/service.picker.ts"],"names":[],"mappings":""}
@@ -4,6 +4,14 @@ export interface ServiceVariantDurationSegmentInput {
4
4
  durationMinutes: number;
5
5
  sortOrder: number;
6
6
  }
7
+ /** Sparse override row; omit rows that match the variant base price. */
8
+ export interface ServiceVariantPriceOverrideInput {
9
+ locationId: string;
10
+ /** Omit or null for location-level override. */
11
+ staffId?: string | null;
12
+ price: string;
13
+ priceType: ServiceVariantPriceType;
14
+ }
7
15
  export interface ServiceVariantInput {
8
16
  id?: string;
9
17
  name?: string | null;
@@ -12,6 +20,8 @@ export interface ServiceVariantInput {
12
20
  priceType: ServiceVariantPriceType;
13
21
  sortOrder: number;
14
22
  durationSegments: ServiceVariantDurationSegmentInput[];
23
+ /** Sparse overrides only; replace-all on save. */
24
+ priceOverrides?: ServiceVariantPriceOverrideInput[];
15
25
  }
16
26
  export interface ServiceLocationTaxInput {
17
27
  locationId: string;
@@ -1 +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"}
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,wEAAwE;AACxE,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,uBAAuB,CAAC;CACpC;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;IACvD,kDAAkD;IAClD,cAAc,CAAC,EAAE,gCAAgC,EAAE,CAAC;CACrD;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "types-salon-management",
3
- "version": "1.0.20",
3
+ "version": "1.0.22",
4
4
  "description": "Types for Salon Management",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "type": "git",
22
22
  "url": "git@gitlab.com:frontendmantra/types-salon-management.git"
23
23
  },
24
- "author": "Salon Management",
24
+ "author": "Salon Management Software",
25
25
  "license": "ISC",
26
26
  "bugs": {
27
27
  "url": "git@gitlab.com:frontendmantra/types-salon-management.gits"
@@ -12,8 +12,17 @@ export type {
12
12
  ServiceSummaryDto,
13
13
  ServiceVariantDetailDto,
14
14
  ServiceVariantDurationSegmentDto,
15
+ ServiceVariantPriceOverrideDto,
15
16
  ServiceVariantSummaryDto,
16
17
  } from './service.dto';
18
+ export type {
19
+ ResolvedVariantPriceDto,
20
+ ResolveVariantPriceQuery,
21
+ SearchServicePickerQuery,
22
+ ServicePickerDurationSegmentDto,
23
+ ServicePickerItemDto,
24
+ ServicePickerResult,
25
+ } from './service.picker';
17
26
  export type {
18
27
  CreateServiceRequest,
19
28
  ListServicesQuery,
@@ -21,5 +30,6 @@ export type {
21
30
  ServicePhotoInput,
22
31
  ServiceVariantDurationSegmentInput,
23
32
  ServiceVariantInput,
33
+ ServiceVariantPriceOverrideInput,
24
34
  UpdateServiceRequest,
25
35
  } from './service.requests';
@@ -52,6 +52,14 @@ export interface ServiceVariantDurationSegmentDto {
52
52
  sortOrder: number;
53
53
  }
54
54
 
55
+ /** Sparse override returned on variant detail; frontend merges into full grid. */
56
+ export interface ServiceVariantPriceOverrideDto {
57
+ locationId: string;
58
+ staffId: string | null;
59
+ price: string;
60
+ priceType: ServiceVariantPriceType;
61
+ }
62
+
55
63
  export interface ServiceVariantSummaryDto {
56
64
  id: string;
57
65
  name: string | null;
@@ -64,6 +72,7 @@ export interface ServiceVariantSummaryDto {
64
72
 
65
73
  export interface ServiceVariantDetailDto extends ServiceVariantSummaryDto {
66
74
  durationSegments: ServiceVariantDurationSegmentDto[];
75
+ priceOverrides: ServiceVariantPriceOverrideDto[];
67
76
  }
68
77
 
69
78
  export interface ServiceSummaryDto {
@@ -0,0 +1,56 @@
1
+ import type { PaginatedResult } from '../pagination';
2
+ import type {
3
+ ServiceAudience,
4
+ ServiceDurationSegmentType,
5
+ ServiceTaxMode,
6
+ ServiceVariantPriceType,
7
+ } from './service.enums';
8
+
9
+ export interface SearchServicePickerQuery {
10
+ search?: string;
11
+ locationId: string;
12
+ categoryId?: string;
13
+ serviceFor?: ServiceAudience;
14
+ active?: boolean;
15
+ page?: number;
16
+ pageSize?: number;
17
+ }
18
+
19
+ export interface ServicePickerDurationSegmentDto {
20
+ id: string;
21
+ segmentType: ServiceDurationSegmentType;
22
+ durationMinutes: number;
23
+ sortOrder: number;
24
+ }
25
+
26
+ export interface ServicePickerItemDto {
27
+ id: string;
28
+ name: string;
29
+ serviceFor: ServiceAudience;
30
+ category: { id: string; name: string };
31
+ requiresTwoStaffs: boolean;
32
+ taxMode: ServiceTaxMode;
33
+ locationTaxId: string | null;
34
+ variantId: string;
35
+ variantName: string | null;
36
+ price: string;
37
+ priceType: ServiceVariantPriceType;
38
+ hasAdvancePrice: boolean;
39
+ durationSegments: ServicePickerDurationSegmentDto[];
40
+ qualifiedStaffIds: string[];
41
+ resourceIds: string[];
42
+ displayPrice: string;
43
+ displayPriceType: ServiceVariantPriceType;
44
+ }
45
+
46
+ export type ServicePickerResult = PaginatedResult<ServicePickerItemDto>;
47
+
48
+ export interface ResolveVariantPriceQuery {
49
+ locationId: string;
50
+ staffId?: string;
51
+ }
52
+
53
+ export interface ResolvedVariantPriceDto {
54
+ price: string;
55
+ priceType: ServiceVariantPriceType;
56
+ }
@@ -13,6 +13,15 @@ export interface ServiceVariantDurationSegmentInput {
13
13
  sortOrder: number;
14
14
  }
15
15
 
16
+ /** Sparse override row; omit rows that match the variant base price. */
17
+ export interface ServiceVariantPriceOverrideInput {
18
+ locationId: string;
19
+ /** Omit or null for location-level override. */
20
+ staffId?: string | null;
21
+ price: string;
22
+ priceType: ServiceVariantPriceType;
23
+ }
24
+
16
25
  export interface ServiceVariantInput {
17
26
  id?: string;
18
27
  name?: string | null;
@@ -21,6 +30,8 @@ export interface ServiceVariantInput {
21
30
  priceType: ServiceVariantPriceType;
22
31
  sortOrder: number;
23
32
  durationSegments: ServiceVariantDurationSegmentInput[];
33
+ /** Sparse overrides only; replace-all on save. */
34
+ priceOverrides?: ServiceVariantPriceOverrideInput[];
24
35
  }
25
36
 
26
37
  export interface ServiceLocationTaxInput {