types-salon-management 1.0.56 → 1.0.58

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 (51) hide show
  1. package/dist/api/appointment-groups/add-group-member.request.d.ts +4 -0
  2. package/dist/api/appointment-groups/add-group-member.request.d.ts.map +1 -0
  3. package/dist/api/appointment-groups/add-group-member.request.js +3 -0
  4. package/dist/api/appointment-groups/add-group-member.request.js.map +1 -0
  5. package/dist/api/appointment-groups/create-group-from-appointments.request.d.ts +7 -0
  6. package/dist/api/appointment-groups/create-group-from-appointments.request.d.ts.map +1 -0
  7. package/dist/api/appointment-groups/create-group-from-appointments.request.js +3 -0
  8. package/dist/api/appointment-groups/create-group-from-appointments.request.js.map +1 -0
  9. package/dist/api/appointment-groups/index.d.ts +2 -0
  10. package/dist/api/appointment-groups/index.d.ts.map +1 -1
  11. package/dist/api/appointment-groups/index.js +2 -0
  12. package/dist/api/appointment-groups/index.js.map +1 -1
  13. package/dist/api/appointments/appointment.constants.d.ts +0 -6
  14. package/dist/api/appointments/appointment.constants.d.ts.map +1 -1
  15. package/dist/api/appointments/appointment.constants.js +1 -6
  16. package/dist/api/appointments/appointment.constants.js.map +1 -1
  17. package/dist/api/appointments/appointment.dto.d.ts +3 -2
  18. package/dist/api/appointments/appointment.dto.d.ts.map +1 -1
  19. package/dist/api/appointments/book-appointment.request.d.ts +9 -0
  20. package/dist/api/appointments/book-appointment.request.d.ts.map +1 -1
  21. package/dist/api/calendar/calendar.dto.d.ts +1 -1
  22. package/dist/api/calendar/calendar.dto.d.ts.map +1 -1
  23. package/dist/api/client-kind.d.ts +7 -0
  24. package/dist/api/client-kind.d.ts.map +1 -0
  25. package/dist/api/client-kind.js +9 -0
  26. package/dist/api/client-kind.js.map +1 -0
  27. package/dist/api/index.d.ts +1 -0
  28. package/dist/api/index.d.ts.map +1 -1
  29. package/dist/api/index.js +1 -0
  30. package/dist/api/index.js.map +1 -1
  31. package/dist/api/invoices/invoice.constants.d.ts +0 -5
  32. package/dist/api/invoices/invoice.constants.d.ts.map +1 -1
  33. package/dist/api/invoices/invoice.constants.js +1 -5
  34. package/dist/api/invoices/invoice.constants.js.map +1 -1
  35. package/dist/api/invoices/invoice.dto.d.ts +3 -2
  36. package/dist/api/invoices/invoice.dto.d.ts.map +1 -1
  37. package/dist/api/invoices/invoice.requests.d.ts +3 -2
  38. package/dist/api/invoices/invoice.requests.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/api/appointment-groups/add-group-member.request.ts +3 -0
  41. package/src/api/appointment-groups/create-group-from-appointments.request.ts +6 -0
  42. package/src/api/appointment-groups/index.ts +2 -0
  43. package/src/api/appointments/appointment.constants.ts +0 -9
  44. package/src/api/appointments/appointment.dto.ts +2 -2
  45. package/src/api/appointments/book-appointment.request.ts +9 -0
  46. package/src/api/calendar/calendar.dto.ts +1 -1
  47. package/src/api/client-kind.ts +7 -0
  48. package/src/api/index.ts +1 -0
  49. package/src/api/invoices/invoice.constants.ts +0 -7
  50. package/src/api/invoices/invoice.dto.ts +3 -2
  51. package/src/api/invoices/invoice.requests.ts +3 -2
@@ -0,0 +1,4 @@
1
+ export interface AddAppointmentGroupMemberRequest {
2
+ appointmentId: string;
3
+ }
4
+ //# sourceMappingURL=add-group-member.request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-group-member.request.d.ts","sourceRoot":"","sources":["../../../src/api/appointment-groups/add-group-member.request.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gCAAgC;IAC/C,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=add-group-member.request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-group-member.request.js","sourceRoot":"","sources":["../../../src/api/appointment-groups/add-group-member.request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface CreateGroupFromAppointmentsRequest {
2
+ /** Pre-selected appointment — becomes primary contact (organizer). */
3
+ primaryAppointmentId: string;
4
+ /** Clicked appointment — added as a non-primary member. */
5
+ secondaryAppointmentId: string;
6
+ }
7
+ //# sourceMappingURL=create-group-from-appointments.request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-group-from-appointments.request.d.ts","sourceRoot":"","sources":["../../../src/api/appointment-groups/create-group-from-appointments.request.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kCAAkC;IACjD,sEAAsE;IACtE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,sBAAsB,EAAE,MAAM,CAAC;CAChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=create-group-from-appointments.request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-group-from-appointments.request.js","sourceRoot":"","sources":["../../../src/api/appointment-groups/create-group-from-appointments.request.ts"],"names":[],"mappings":""}
@@ -1,3 +1,5 @@
1
1
  export * from './appointment-group.dto';
2
+ export * from './add-group-member.request';
3
+ export * from './create-group-from-appointments.request';
2
4
  export * from './update-primary-contact.request';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/appointment-groups/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/appointment-groups/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,kCAAkC,CAAC"}
@@ -15,5 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./appointment-group.dto"), exports);
18
+ __exportStar(require("./add-group-member.request"), exports);
19
+ __exportStar(require("./create-group-from-appointments.request"), exports);
18
20
  __exportStar(require("./update-primary-contact.request"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/appointment-groups/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,mEAAiD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/appointment-groups/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,6DAA2C;AAC3C,2EAAyD;AACzD,mEAAiD"}
@@ -9,12 +9,6 @@ export declare const SchedulingAppointmentStatus: {
9
9
  readonly NO_SHOW: "no_show";
10
10
  };
11
11
  export type SchedulingAppointmentStatus = (typeof SchedulingAppointmentStatus)[keyof typeof SchedulingAppointmentStatus];
12
- /** Matches invoice client type: recorded = registered client. */
13
- export declare const AppointmentClientType: {
14
- readonly WALK_IN: "walk_in";
15
- readonly RECORDED: "recorded";
16
- };
17
- export type AppointmentClientType = (typeof AppointmentClientType)[keyof typeof AppointmentClientType];
18
12
  export declare const AppointmentKind: {
19
13
  readonly BOOKING: "booking";
20
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"appointment.constants.d.ts","sourceRoot":"","sources":["../../../src/api/appointments/appointment.constants.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,eAAO,MAAM,2BAA2B;;;;;;;;CAQ9B,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEjF,iEAAiE;AACjE,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAErE,eAAO,MAAM,eAAe;;CAElB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;IAKhC,yFAAyF;;CAEjF,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"appointment.constants.d.ts","sourceRoot":"","sources":["../../../src/api/appointments/appointment.constants.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,eAAO,MAAM,2BAA2B;;;;;;;;CAQ9B,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEjF,eAAO,MAAM,eAAe;;CAElB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;IAKhC,yFAAyF;;CAEjF,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SchedulingWarningCode = exports.OccupancyStaffRole = exports.AppointmentKind = exports.AppointmentClientType = exports.SchedulingAppointmentStatus = void 0;
3
+ exports.SchedulingWarningCode = exports.OccupancyStaffRole = exports.AppointmentKind = exports.SchedulingAppointmentStatus = void 0;
4
4
  /** Postgres appointment header status — distinct from legacy Firestore `AppointmentStatus` enum. */
5
5
  exports.SchedulingAppointmentStatus = {
6
6
  NEW: 'new',
@@ -11,11 +11,6 @@ exports.SchedulingAppointmentStatus = {
11
11
  CANCELLED: 'cancelled',
12
12
  NO_SHOW: 'no_show',
13
13
  };
14
- /** Matches invoice client type: recorded = registered client. */
15
- exports.AppointmentClientType = {
16
- WALK_IN: 'walk_in',
17
- RECORDED: 'recorded',
18
- };
19
14
  exports.AppointmentKind = {
20
15
  BOOKING: 'booking',
21
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"appointment.constants.js","sourceRoot":"","sources":["../../../src/api/appointments/appointment.constants.ts"],"names":[],"mappings":";;;AAAA,oGAAoG;AACvF,QAAA,2BAA2B,GAAG;IACzC,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;CACV,CAAC;AAKX,iEAAiE;AACpD,QAAA,qBAAqB,GAAG;IACnC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAKE,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,SAAS;CACV,CAAC;AAIE,QAAA,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;CACd,CAAC;AAIX;;;;GAIG;AACU,QAAA,qBAAqB,GAAG;IACnC,aAAa,EAAE,eAAe;IAC9B,2BAA2B,EAAE,6BAA6B;IAC1D,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,yFAAyF;IACzF,aAAa,EAAE,eAAe;CACtB,CAAC"}
1
+ {"version":3,"file":"appointment.constants.js","sourceRoot":"","sources":["../../../src/api/appointments/appointment.constants.ts"],"names":[],"mappings":";;;AAAA,oGAAoG;AACvF,QAAA,2BAA2B,GAAG;IACzC,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;CACV,CAAC;AAKE,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,SAAS;CACV,CAAC;AAIE,QAAA,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;CACd,CAAC;AAIX;;;;GAIG;AACU,QAAA,qBAAqB,GAAG;IACnC,aAAa,EAAE,eAAe;IAC9B,2BAA2B,EAAE,6BAA6B;IAC1D,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,yFAAyF;IACzF,aAAa,EAAE,eAAe;CACtB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { AuditActor } from '../audit';
3
- import type { AppointmentClientType, AppointmentKind, SchedulingAppointmentStatus, OccupancyStaffRole } from './appointment.constants';
3
+ import type { ClientKind } from '../client-kind';
4
+ import type { AppointmentKind, SchedulingAppointmentStatus, OccupancyStaffRole } from './appointment.constants';
4
5
  export interface AppointmentItemDurationSegmentDto {
5
6
  id: string;
6
7
  segmentType: string;
@@ -39,7 +40,7 @@ export interface AppointmentDetailDto {
39
40
  locationId: string;
40
41
  locationName: string;
41
42
  clientId: string | null;
42
- clientType: AppointmentClientType;
43
+ clientType: ClientKind;
43
44
  clientDisplayName: string | null;
44
45
  clientPhone: PhoneNumberModel | null;
45
46
  clientPhoneE164: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"appointment.dto.d.ts","sourceRoot":"","sources":["../../../src/api/appointments/appointment.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,EACV,qBAAqB,EACrB,eAAe,EACf,2BAA2B,EAC3B,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,2BAA2B,CAAC;IACpC,gBAAgB,EAAE,iCAAiC,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,qBAAqB,CAAC;IAClC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,2BAA2B,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,WAAW,EAAE,uBAAuB,EAAE,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;CAC9B"}
1
+ {"version":3,"file":"appointment.dto.d.ts","sourceRoot":"","sources":["../../../src/api/appointments/appointment.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,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAC3B,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,2BAA2B,CAAC;IACpC,gBAAgB,EAAE,iCAAiC,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,2BAA2B,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,WAAW,EAAE,uBAAuB,EAAE,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;CAC9B"}
@@ -30,5 +30,14 @@ export interface BookAppointmentRequest {
30
30
  * exclusion constraints reject the overlap with a 409.
31
31
  */
32
32
  allowOverlap?: boolean;
33
+ /** When true, creates a new group with this booking (staging until a second member joins). */
34
+ createGroup?: boolean;
35
+ /** When set, adds this booking to an existing group (member is never primary). */
36
+ groupId?: string;
37
+ /**
38
+ * With `createGroup`, links an existing ungrouped appointment as primary contact;
39
+ * the new booking becomes a secondary member.
40
+ */
41
+ primaryAppointmentId?: string;
33
42
  }
34
43
  //# sourceMappingURL=book-appointment.request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"book-appointment.request.d.ts","sourceRoot":"","sources":["../../../src/api/appointments/book-appointment.request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,WAAW,uCAAuC;IACtD,WAAW,EAAE,0BAA0B,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,uCAAuC,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,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,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"book-appointment.request.d.ts","sourceRoot":"","sources":["../../../src/api/appointments/book-appointment.request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,WAAW,uCAAuC;IACtD,WAAW,EAAE,0BAA0B,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,uCAAuC,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,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,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B"}
@@ -44,7 +44,7 @@ export interface CalendarStaffBlockDto {
44
44
  /** SSE `calendar.changed` payload; tells other sessions which location's feed is stale. */
45
45
  export interface CalendarChangedEvent {
46
46
  locationId: string;
47
- changeType: 'book' | 'reschedule' | 'staff_block' | 'status' | 'update';
47
+ changeType: 'book' | 'reschedule' | 'staff_block' | 'status' | 'update' | 'group';
48
48
  entityId: string;
49
49
  }
50
50
  export interface CalendarFeedDto {
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.dto.d.ts","sourceRoot":"","sources":["../../../src/api/calendar/calendar.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,KAAK,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE7G,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,2BAA2B,CAAC;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,iCAAiC,EAAE,CAAC;CACvD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC"}
1
+ {"version":3,"file":"calendar.dto.d.ts","sourceRoot":"","sources":["../../../src/api/calendar/calendar.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,KAAK,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE7G,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,2BAA2B,CAAC;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,iCAAiC,EAAE,CAAC;CACvD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC"}
@@ -0,0 +1,7 @@
1
+ /** Whether checkout/booking is tied to a registered client or walk-in. Shared by appointments and invoices. */
2
+ export declare const ClientKind: {
3
+ readonly WALK_IN: "walk_in";
4
+ readonly RECORDED: "recorded";
5
+ };
6
+ export type ClientKind = (typeof ClientKind)[keyof typeof ClientKind];
7
+ //# sourceMappingURL=client-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-kind.d.ts","sourceRoot":"","sources":["../../src/api/client-kind.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientKind = void 0;
4
+ /** Whether checkout/booking is tied to a registered client or walk-in. Shared by appointments and invoices. */
5
+ exports.ClientKind = {
6
+ WALK_IN: 'walk_in',
7
+ RECORDED: 'recorded',
8
+ };
9
+ //# sourceMappingURL=client-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-kind.js","sourceRoot":"","sources":["../../src/api/client-kind.ts"],"names":[],"mappings":";;;AAAA,+GAA+G;AAClG,QAAA,UAAU,GAAG;IACxB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACZ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /** Postgres HTTP API contract — shared by backend and Angular app */
2
+ export * from './client-kind';
2
3
  export * from './audit';
3
4
  export * from './session';
4
5
  export * from './subscription';
@@ -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,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,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,sBAAsB,CAAC;AACrC,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;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,cAAc,eAAe,CAAC;AAC9B,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,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,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,sBAAsB,CAAC;AACrC,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;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC"}
package/dist/api/index.js CHANGED
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  /** Postgres HTTP API contract — shared by backend and Angular app */
18
+ __exportStar(require("./client-kind"), exports);
18
19
  __exportStar(require("./audit"), exports);
19
20
  __exportStar(require("./session"), exports);
20
21
  __exportStar(require("./subscription"), 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,4DAA0C;AAC1C,uDAAqC;AACrC,6DAA2C;AAC3C,uDAAqC;AACrC,mDAAiC;AACjC,6CAA2B;AAC3B,mDAAiC;AACjC,+CAA6B;AAC7B,2DAAyC;AACzC,oDAAkC;AAClC,gDAA8B;AAC9B,uDAAqC;AACrC,oDAAkC;AAClC,4DAA0C;AAC1C,6DAA2C;AAC3C,mDAAiC;AACjC,yDAAuC;AACvC,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,kDAAgC;AAChC,mDAAiC;AACjC,+DAA6C;AAC7C,qDAAmC;AACnC,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAqE;AACrE,gDAA8B;AAC9B,0CAAwB;AACxB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,2CAAyB;AACzB,+CAA6B;AAC7B,8CAA4B;AAC5B,qDAAmC;AACnC,wDAAsC;AACtC,4DAA0C;AAC1C,uDAAqC;AACrC,6DAA2C;AAC3C,uDAAqC;AACrC,mDAAiC;AACjC,6CAA2B;AAC3B,mDAAiC;AACjC,+CAA6B;AAC7B,2DAAyC;AACzC,oDAAkC;AAClC,gDAA8B;AAC9B,uDAAqC;AACrC,oDAAkC;AAClC,4DAA0C;AAC1C,6DAA2C;AAC3C,mDAAiC;AACjC,yDAAuC;AACvC,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,kDAAgC;AAChC,mDAAiC;AACjC,+DAA6C;AAC7C,qDAAmC;AACnC,6DAA2C"}
@@ -13,11 +13,6 @@ export declare const InvoiceSettlementMode: {
13
13
  readonly UNPAID: "unpaid";
14
14
  };
15
15
  export type InvoiceSettlementMode = (typeof InvoiceSettlementMode)[keyof typeof InvoiceSettlementMode];
16
- export declare const InvoiceClientType: {
17
- readonly WALK_IN: "walk_in";
18
- readonly RECORDED: "recorded";
19
- };
20
- export type InvoiceClientType = (typeof InvoiceClientType)[keyof typeof InvoiceClientType];
21
16
  export declare const InvoiceItemType: {
22
17
  readonly SERVICE: "service";
23
18
  readonly PRODUCT: "product";
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.constants.d.ts","sourceRoot":"","sources":["../../../src/api/invoices/invoice.constants.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,sFAAsF;AACtF,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAErE,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE3F,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"invoice.constants.d.ts","sourceRoot":"","sources":["../../../src/api/invoices/invoice.constants.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,sFAAsF;AACtF,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAErE,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvoiceItemType = exports.InvoiceClientType = exports.InvoiceSettlementMode = exports.InvoiceStatus = void 0;
3
+ exports.InvoiceItemType = exports.InvoiceSettlementMode = exports.InvoiceStatus = void 0;
4
4
  /** API invoice status on finalized invoices. Distinct from legacy Firestore `InvoiceStatus` in types-biz2book. */
5
5
  exports.InvoiceStatus = {
6
6
  UNPAID: 'unpaid',
@@ -14,10 +14,6 @@ exports.InvoiceSettlementMode = {
14
14
  PARTIAL: 'partial',
15
15
  UNPAID: 'unpaid',
16
16
  };
17
- exports.InvoiceClientType = {
18
- WALK_IN: 'walk_in',
19
- RECORDED: 'recorded',
20
- };
21
17
  exports.InvoiceItemType = {
22
18
  SERVICE: 'service',
23
19
  PRODUCT: 'product',
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.constants.js","sourceRoot":"","sources":["../../../src/api/invoices/invoice.constants.ts"],"names":[],"mappings":";;;AAAA,kHAAkH;AACrG,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACR,CAAC;AAIX,sFAAsF;AACzE,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAKE,QAAA,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAIE,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;CAClB,CAAC"}
1
+ {"version":3,"file":"invoice.constants.js","sourceRoot":"","sources":["../../../src/api/invoices/invoice.constants.ts"],"names":[],"mappings":";;;AAAA,kHAAkH;AACrG,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAC5B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACR,CAAC;AAIX,sFAAsF;AACzE,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAKE,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;CAClB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { DiscountType } from '../../enum/discount-type';
3
3
  import type { IssuedGiftCardLineSummaryDto } from '../gift-cards/issued/issued-gift-card.dto';
4
- import type { InvoiceClientType, InvoiceItemType, InvoiceStatus } from './invoice.constants';
4
+ import type { ClientKind } from '../client-kind';
5
+ import type { InvoiceItemType, InvoiceStatus } from './invoice.constants';
5
6
  export interface TaxDetailDto {
6
7
  taxId: string | null;
7
8
  taxName: string;
@@ -14,7 +15,7 @@ export interface InvoiceSummaryDto {
14
15
  financialYear: string;
15
16
  invoiceSerial: number;
16
17
  status: InvoiceStatus;
17
- clientType: InvoiceClientType;
18
+ clientType: ClientKind;
18
19
  clientId: string | null;
19
20
  clientDisplayName: string | null;
20
21
  locationId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.dto.d.ts","sourceRoot":"","sources":["../../../src/api/invoices/invoice.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoice.dto.d.ts","sourceRoot":"","sources":["../../../src/api/invoices/invoice.dto.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { DiscountType } from '../../enum/discount-type';
3
3
  import type { PaginatedResult } from '../pagination';
4
- import type { InvoiceClientType, InvoiceItemType, InvoiceSettlementMode } from './invoice.constants';
4
+ import type { ClientKind } from '../client-kind';
5
+ import type { InvoiceItemType, InvoiceSettlementMode } from './invoice.constants';
5
6
  import type { InvoiceDetailDto, InvoiceSummaryDto, TaxDetailDto } from './invoice.dto';
6
7
  export type InvoiceSortBy = 'finalizedAt' | 'invoiceNumber' | 'total' | 'clientDisplayName';
7
8
  export type InvoiceSortDirection = 'asc' | 'desc';
@@ -79,7 +80,7 @@ export interface FinalizeInvoiceRequest {
79
80
  locationId: string;
80
81
  /** Calendar date in company timezone — YYYY-MM-DD */
81
82
  invoiceDate: string;
82
- clientType: InvoiceClientType;
83
+ clientType: ClientKind;
83
84
  clientId?: string | null;
84
85
  clientDisplayName?: string | null;
85
86
  clientPhone?: PhoneNumberModel | null;
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.requests.d.ts","sourceRoot":"","sources":["../../../src/api/invoices/invoice.requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoice.requests.d.ts","sourceRoot":"","sources":["../../../src/api/invoices/invoice.requests.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.56",
3
+ "version": "1.0.58",
4
4
  "description": "Types for Salon Management",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,3 @@
1
+ export interface AddAppointmentGroupMemberRequest {
2
+ appointmentId: string;
3
+ }
@@ -0,0 +1,6 @@
1
+ export interface CreateGroupFromAppointmentsRequest {
2
+ /** Pre-selected appointment — becomes primary contact (organizer). */
3
+ primaryAppointmentId: string;
4
+ /** Clicked appointment — added as a non-primary member. */
5
+ secondaryAppointmentId: string;
6
+ }
@@ -1,2 +1,4 @@
1
1
  export * from './appointment-group.dto';
2
+ export * from './add-group-member.request';
3
+ export * from './create-group-from-appointments.request';
2
4
  export * from './update-primary-contact.request';
@@ -12,15 +12,6 @@ export const SchedulingAppointmentStatus = {
12
12
  export type SchedulingAppointmentStatus =
13
13
  (typeof SchedulingAppointmentStatus)[keyof typeof SchedulingAppointmentStatus];
14
14
 
15
- /** Matches invoice client type: recorded = registered client. */
16
- export const AppointmentClientType = {
17
- WALK_IN: 'walk_in',
18
- RECORDED: 'recorded',
19
- } as const;
20
-
21
- export type AppointmentClientType =
22
- (typeof AppointmentClientType)[keyof typeof AppointmentClientType];
23
-
24
15
  export const AppointmentKind = {
25
16
  BOOKING: 'booking',
26
17
  } as const;
@@ -1,7 +1,7 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { AuditActor } from '../audit';
3
+ import type { ClientKind } from '../client-kind';
3
4
  import type {
4
- AppointmentClientType,
5
5
  AppointmentKind,
6
6
  SchedulingAppointmentStatus,
7
7
  OccupancyStaffRole,
@@ -48,7 +48,7 @@ export interface AppointmentDetailDto {
48
48
  locationId: string;
49
49
  locationName: string;
50
50
  clientId: string | null;
51
- clientType: AppointmentClientType;
51
+ clientType: ClientKind;
52
52
  clientDisplayName: string | null;
53
53
  clientPhone: PhoneNumberModel | null;
54
54
  clientPhoneE164: string | null;
@@ -33,4 +33,13 @@ export interface BookAppointmentRequest {
33
33
  * exclusion constraints reject the overlap with a 409.
34
34
  */
35
35
  allowOverlap?: boolean;
36
+ /** When true, creates a new group with this booking (staging until a second member joins). */
37
+ createGroup?: boolean;
38
+ /** When set, adds this booking to an existing group (member is never primary). */
39
+ groupId?: string;
40
+ /**
41
+ * With `createGroup`, links an existing ungrouped appointment as primary contact;
42
+ * the new booking becomes a secondary member.
43
+ */
44
+ primaryAppointmentId?: string;
36
45
  }
@@ -47,7 +47,7 @@ export interface CalendarStaffBlockDto {
47
47
  /** SSE `calendar.changed` payload; tells other sessions which location's feed is stale. */
48
48
  export interface CalendarChangedEvent {
49
49
  locationId: string;
50
- changeType: 'book' | 'reschedule' | 'staff_block' | 'status' | 'update';
50
+ changeType: 'book' | 'reschedule' | 'staff_block' | 'status' | 'update' | 'group';
51
51
  entityId: string;
52
52
  }
53
53
 
@@ -0,0 +1,7 @@
1
+ /** Whether checkout/booking is tied to a registered client or walk-in. Shared by appointments and invoices. */
2
+ export const ClientKind = {
3
+ WALK_IN: 'walk_in',
4
+ RECORDED: 'recorded',
5
+ } as const;
6
+
7
+ export type ClientKind = (typeof ClientKind)[keyof typeof ClientKind];
package/src/api/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /** Postgres HTTP API contract — shared by backend and Angular app */
2
+ export * from './client-kind';
2
3
  export * from './audit';
3
4
  export * from './session';
4
5
  export * from './subscription';
@@ -18,13 +18,6 @@ export const InvoiceSettlementMode = {
18
18
  export type InvoiceSettlementMode =
19
19
  (typeof InvoiceSettlementMode)[keyof typeof InvoiceSettlementMode];
20
20
 
21
- export const InvoiceClientType = {
22
- WALK_IN: 'walk_in',
23
- RECORDED: 'recorded',
24
- } as const;
25
-
26
- export type InvoiceClientType = (typeof InvoiceClientType)[keyof typeof InvoiceClientType];
27
-
28
21
  export const InvoiceItemType = {
29
22
  SERVICE: 'service',
30
23
  PRODUCT: 'product',
@@ -1,7 +1,8 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { DiscountType } from '../../enum/discount-type';
3
3
  import type { IssuedGiftCardLineSummaryDto } from '../gift-cards/issued/issued-gift-card.dto';
4
- import type { InvoiceClientType, InvoiceItemType, InvoiceStatus } from './invoice.constants';
4
+ import type { ClientKind } from '../client-kind';
5
+ import type { InvoiceItemType, InvoiceStatus } from './invoice.constants';
5
6
 
6
7
  export interface TaxDetailDto {
7
8
  taxId: string | null;
@@ -16,7 +17,7 @@ export interface InvoiceSummaryDto {
16
17
  financialYear: string;
17
18
  invoiceSerial: number;
18
19
  status: InvoiceStatus;
19
- clientType: InvoiceClientType;
20
+ clientType: ClientKind;
20
21
  clientId: string | null;
21
22
  clientDisplayName: string | null;
22
23
  locationId: string;
@@ -1,7 +1,8 @@
1
1
  import type { PhoneNumberModel } from '../../models/phone-number-model';
2
2
  import type { DiscountType } from '../../enum/discount-type';
3
3
  import type { PaginatedResult } from '../pagination';
4
- import type { InvoiceClientType, InvoiceItemType, InvoiceSettlementMode } from './invoice.constants';
4
+ import type { ClientKind } from '../client-kind';
5
+ import type { InvoiceItemType, InvoiceSettlementMode } from './invoice.constants';
5
6
  import type { InvoiceDetailDto, InvoiceSummaryDto, TaxDetailDto } from './invoice.dto';
6
7
 
7
8
  export type InvoiceSortBy =
@@ -96,7 +97,7 @@ export interface FinalizeInvoiceRequest {
96
97
  locationId: string;
97
98
  /** Calendar date in company timezone — YYYY-MM-DD */
98
99
  invoiceDate: string;
99
- clientType: InvoiceClientType;
100
+ clientType: ClientKind;
100
101
  clientId?: string | null;
101
102
  clientDisplayName?: string | null;
102
103
  clientPhone?: PhoneNumberModel | null;