types-salon-management 1.0.25 → 1.0.26

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.
@@ -0,0 +1,7 @@
1
+ export interface ClientPreferredStaffDto {
2
+ id: string;
3
+ firstName: string | null;
4
+ lastName: string | null;
5
+ displayName: string;
6
+ }
7
+ //# sourceMappingURL=client-preferred-staff.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-preferred-staff.dto.d.ts","sourceRoot":"","sources":["../../../src/api/clients/client-preferred-staff.dto.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=client-preferred-staff.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-preferred-staff.dto.js","sourceRoot":"","sources":["../../../src/api/clients/client-preferred-staff.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface AddClientPreferredStaffRequest {
2
+ staffId: string;
3
+ }
4
+ //# sourceMappingURL=client-preferred-staff.requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-preferred-staff.requests.d.ts","sourceRoot":"","sources":["../../../src/api/clients/client-preferred-staff.requests.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=client-preferred-staff.requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-preferred-staff.requests.js","sourceRoot":"","sources":["../../../src/api/clients/client-preferred-staff.requests.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export declare const ClientAcquisitionSource: {
2
+ readonly APP: "app";
3
+ readonly WEBSITE: "website";
4
+ readonly FACEBOOK: "facebook";
5
+ readonly INSTAGRAM: "instagram";
6
+ readonly GOOGLE: "google";
7
+ readonly REFERRAL: "referral";
8
+ readonly WALK_IN: "walk_in";
9
+ readonly OTHER: "other";
10
+ };
11
+ export type ClientAcquisitionSource = (typeof ClientAcquisitionSource)[keyof typeof ClientAcquisitionSource];
12
+ /** Allowed honorific values for client title (nullable text column). */
13
+ export declare const CLIENT_TITLE_ALLOW_LIST: readonly ["Mr", "Miss", "Mrs", "Ms", "Mx"];
14
+ export type ClientTitle = (typeof CLIENT_TITLE_ALLOW_LIST)[number];
15
+ //# sourceMappingURL=client.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.constants.d.ts","sourceRoot":"","sources":["../../../src/api/clients/client.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB;;;;;;;;;CAS1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,4CAA6C,CAAC;AAElF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CLIENT_TITLE_ALLOW_LIST = exports.ClientAcquisitionSource = void 0;
4
+ exports.ClientAcquisitionSource = {
5
+ APP: 'app',
6
+ WEBSITE: 'website',
7
+ FACEBOOK: 'facebook',
8
+ INSTAGRAM: 'instagram',
9
+ GOOGLE: 'google',
10
+ REFERRAL: 'referral',
11
+ WALK_IN: 'walk_in',
12
+ OTHER: 'other',
13
+ };
14
+ /** Allowed honorific values for client title (nullable text column). */
15
+ exports.CLIENT_TITLE_ALLOW_LIST = ['Mr', 'Miss', 'Mrs', 'Ms', 'Mx'];
16
+ //# sourceMappingURL=client.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.constants.js","sourceRoot":"","sources":["../../../src/api/clients/client.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG;IACrC,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAC;AAKX,wEAAwE;AAC3D,QAAA,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { AuditActor } from '../audit';
3
3
  import type { ContraindicationPickerDto } from '../contraindications/contraindication.dto';
4
+ import type { ClientAcquisitionSource, ClientTitle } from './client.constants';
5
+ import type { ClientPreferredStaffDto } from './client-preferred-staff.dto';
6
+ import type { ClientCreationSource } from '../../enum/client-creation-source.enum';
4
7
  export interface ClientAddressDto {
5
8
  addressLine1: string;
6
9
  street: string;
@@ -30,12 +33,17 @@ export interface ClientSummaryDto {
30
33
  createdAt: string;
31
34
  }
32
35
  export interface ClientDetailDto extends ClientSummaryDto {
36
+ title: ClientTitle | null;
33
37
  gender: string | null;
34
38
  dob: string | null;
39
+ anniversaryDate: string | null;
40
+ acquisitionSource: ClientAcquisitionSource | null;
41
+ creationSource: ClientCreationSource;
35
42
  notes: string | null;
36
43
  address: ClientAddressDto | null;
37
44
  marketingConsent: ClientMarketingConsentDto;
38
45
  contraindications: ContraindicationPickerDto[];
46
+ preferredStaff: ClientPreferredStaffDto[];
39
47
  updatedAt: string | null;
40
48
  createdBy: AuditActor | null;
41
49
  updatedBy: AuditActor | null;
@@ -1 +1 @@
1
- {"version":3,"file":"client.dto.d.ts","sourceRoot":"","sources":["../../../src/api/clients/client.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE3F,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,iBAAiB,EAAE,yBAAyB,EAAE,CAAC;IAC/C,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,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"client.dto.d.ts","sourceRoot":"","sources":["../../../src/api/clients/client.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAClD,cAAc,EAAE,oBAAoB,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,iBAAiB,EAAE,yBAAyB,EAAE,CAAC;IAC/C,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,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,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -1,5 +1,7 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { ClientAddressDto } from './client.dto';
3
+ import type { ClientAcquisitionSource, ClientTitle } from './client.constants';
4
+ import type { ClientCreationSource } from '../../enum/client-creation-source.enum';
3
5
  export type ClientSortBy = 'name' | 'createdAt';
4
6
  export type ClientSortDirection = 'asc' | 'desc';
5
7
  export interface ListClientsQuery {
@@ -19,27 +21,37 @@ export interface CreateClientRequest {
19
21
  lastName?: string | null;
20
22
  phone: PhoneNumberModel;
21
23
  email?: string | null;
24
+ title?: ClientTitle | null;
22
25
  gender?: string | null;
23
26
  dob?: string | null;
27
+ anniversaryDate?: string | null;
28
+ acquisitionSource?: ClientAcquisitionSource | null;
29
+ /** Server allowlists values; defaults to `client_form`. */
30
+ creationSource?: ClientCreationSource;
24
31
  notes?: string | null;
25
32
  address?: ClientAddressDto | null;
26
33
  color?: string | null;
27
34
  active?: boolean;
28
35
  marketingConsent?: ClientMarketingConsentInput;
29
36
  contraindicationIds?: string[];
37
+ preferredStaffIds?: string[];
30
38
  }
31
39
  export interface UpdateClientRequest {
32
40
  firstName?: string;
33
41
  lastName?: string | null;
34
42
  phone?: PhoneNumberModel;
35
43
  email?: string | null;
44
+ title?: ClientTitle | null;
36
45
  gender?: string | null;
37
46
  dob?: string | null;
47
+ anniversaryDate?: string | null;
48
+ acquisitionSource?: ClientAcquisitionSource | null;
38
49
  notes?: string | null;
39
50
  address?: ClientAddressDto | null;
40
51
  color?: string | null;
41
52
  active?: boolean;
42
53
  marketingConsent?: ClientMarketingConsentInput;
43
54
  contraindicationIds?: string[];
55
+ preferredStaffIds?: string[];
44
56
  }
45
57
  //# sourceMappingURL=client.requests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.requests.d.ts","sourceRoot":"","sources":["../../../src/api/clients/client.requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAA6B,MAAM,cAAc,CAAC;AAEhF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC"}
1
+ {"version":3,"file":"client.requests.d.ts","sourceRoot":"","sources":["../../../src/api/clients/client.requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAA6B,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,2DAA2D;IAC3D,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B"}
@@ -1,3 +1,6 @@
1
1
  export * from './client.dto';
2
2
  export * from './client.requests';
3
+ export * from './client.constants';
4
+ export * from './client-preferred-staff.dto';
5
+ export * from './client-preferred-staff.requests';
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/clients/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/clients/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC"}
@@ -16,4 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./client.dto"), exports);
18
18
  __exportStar(require("./client.requests"), exports);
19
+ __exportStar(require("./client.constants"), exports);
20
+ __exportStar(require("./client-preferred-staff.dto"), exports);
21
+ __exportStar(require("./client-preferred-staff.requests"), exports);
19
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/clients/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/clients/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C;AAC7C,oEAAkD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "types-salon-management",
3
- "version": "1.0.25",
3
+ "version": "1.0.26",
4
4
  "description": "Types for Salon Management",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,6 @@
1
+ export interface ClientPreferredStaffDto {
2
+ id: string;
3
+ firstName: string | null;
4
+ lastName: string | null;
5
+ displayName: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ export interface AddClientPreferredStaffRequest {
2
+ staffId: string;
3
+ }
@@ -0,0 +1,18 @@
1
+ export const ClientAcquisitionSource = {
2
+ APP: 'app',
3
+ WEBSITE: 'website',
4
+ FACEBOOK: 'facebook',
5
+ INSTAGRAM: 'instagram',
6
+ GOOGLE: 'google',
7
+ REFERRAL: 'referral',
8
+ WALK_IN: 'walk_in',
9
+ OTHER: 'other',
10
+ } as const;
11
+
12
+ export type ClientAcquisitionSource =
13
+ (typeof ClientAcquisitionSource)[keyof typeof ClientAcquisitionSource];
14
+
15
+ /** Allowed honorific values for client title (nullable text column). */
16
+ export const CLIENT_TITLE_ALLOW_LIST = ['Mr', 'Miss', 'Mrs', 'Ms', 'Mx'] as const;
17
+
18
+ export type ClientTitle = (typeof CLIENT_TITLE_ALLOW_LIST)[number];
@@ -1,6 +1,9 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { AuditActor } from '../audit';
3
3
  import type { ContraindicationPickerDto } from '../contraindications/contraindication.dto';
4
+ import type { ClientAcquisitionSource, ClientTitle } from './client.constants';
5
+ import type { ClientPreferredStaffDto } from './client-preferred-staff.dto';
6
+ import type { ClientCreationSource } from '../../enum/client-creation-source.enum';
4
7
 
5
8
  export interface ClientAddressDto {
6
9
  addressLine1: string;
@@ -34,12 +37,17 @@ export interface ClientSummaryDto {
34
37
  }
35
38
 
36
39
  export interface ClientDetailDto extends ClientSummaryDto {
40
+ title: ClientTitle | null;
37
41
  gender: string | null;
38
42
  dob: string | null;
43
+ anniversaryDate: string | null;
44
+ acquisitionSource: ClientAcquisitionSource | null;
45
+ creationSource: ClientCreationSource;
39
46
  notes: string | null;
40
47
  address: ClientAddressDto | null;
41
48
  marketingConsent: ClientMarketingConsentDto;
42
49
  contraindications: ContraindicationPickerDto[];
50
+ preferredStaff: ClientPreferredStaffDto[];
43
51
  updatedAt: string | null;
44
52
  createdBy: AuditActor | null;
45
53
  updatedBy: AuditActor | null;
@@ -1,5 +1,7 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { ClientAddressDto, ClientMarketingConsentDto } from './client.dto';
3
+ import type { ClientAcquisitionSource, ClientTitle } from './client.constants';
4
+ import type { ClientCreationSource } from '../../enum/client-creation-source.enum';
3
5
 
4
6
  export type ClientSortBy = 'name' | 'createdAt';
5
7
  export type ClientSortDirection = 'asc' | 'desc';
@@ -23,14 +25,20 @@ export interface CreateClientRequest {
23
25
  lastName?: string | null;
24
26
  phone: PhoneNumberModel;
25
27
  email?: string | null;
28
+ title?: ClientTitle | null;
26
29
  gender?: string | null;
27
30
  dob?: string | null;
31
+ anniversaryDate?: string | null;
32
+ acquisitionSource?: ClientAcquisitionSource | null;
33
+ /** Server allowlists values; defaults to `client_form`. */
34
+ creationSource?: ClientCreationSource;
28
35
  notes?: string | null;
29
36
  address?: ClientAddressDto | null;
30
37
  color?: string | null;
31
38
  active?: boolean;
32
39
  marketingConsent?: ClientMarketingConsentInput;
33
40
  contraindicationIds?: string[];
41
+ preferredStaffIds?: string[];
34
42
  }
35
43
 
36
44
  export interface UpdateClientRequest {
@@ -38,12 +46,16 @@ export interface UpdateClientRequest {
38
46
  lastName?: string | null;
39
47
  phone?: PhoneNumberModel;
40
48
  email?: string | null;
49
+ title?: ClientTitle | null;
41
50
  gender?: string | null;
42
51
  dob?: string | null;
52
+ anniversaryDate?: string | null;
53
+ acquisitionSource?: ClientAcquisitionSource | null;
43
54
  notes?: string | null;
44
55
  address?: ClientAddressDto | null;
45
56
  color?: string | null;
46
57
  active?: boolean;
47
58
  marketingConsent?: ClientMarketingConsentInput;
48
59
  contraindicationIds?: string[];
60
+ preferredStaffIds?: string[];
49
61
  }
@@ -1,2 +1,5 @@
1
1
  export * from './client.dto';
2
2
  export * from './client.requests';
3
+ export * from './client.constants';
4
+ export * from './client-preferred-staff.dto';
5
+ export * from './client-preferred-staff.requests';