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.
- package/dist/api/appointment-groups/add-group-member.request.d.ts +4 -0
- package/dist/api/appointment-groups/add-group-member.request.d.ts.map +1 -0
- package/dist/api/appointment-groups/add-group-member.request.js +3 -0
- package/dist/api/appointment-groups/add-group-member.request.js.map +1 -0
- package/dist/api/appointment-groups/create-group-from-appointments.request.d.ts +7 -0
- package/dist/api/appointment-groups/create-group-from-appointments.request.d.ts.map +1 -0
- package/dist/api/appointment-groups/create-group-from-appointments.request.js +3 -0
- package/dist/api/appointment-groups/create-group-from-appointments.request.js.map +1 -0
- package/dist/api/appointment-groups/index.d.ts +2 -0
- package/dist/api/appointment-groups/index.d.ts.map +1 -1
- package/dist/api/appointment-groups/index.js +2 -0
- package/dist/api/appointment-groups/index.js.map +1 -1
- package/dist/api/appointments/appointment.constants.d.ts +0 -6
- package/dist/api/appointments/appointment.constants.d.ts.map +1 -1
- package/dist/api/appointments/appointment.constants.js +1 -6
- package/dist/api/appointments/appointment.constants.js.map +1 -1
- package/dist/api/appointments/appointment.dto.d.ts +3 -2
- package/dist/api/appointments/appointment.dto.d.ts.map +1 -1
- package/dist/api/appointments/book-appointment.request.d.ts +9 -0
- package/dist/api/appointments/book-appointment.request.d.ts.map +1 -1
- package/dist/api/calendar/calendar.dto.d.ts +1 -1
- package/dist/api/calendar/calendar.dto.d.ts.map +1 -1
- package/dist/api/client-kind.d.ts +7 -0
- package/dist/api/client-kind.d.ts.map +1 -0
- package/dist/api/client-kind.js +9 -0
- package/dist/api/client-kind.js.map +1 -0
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/invoices/invoice.constants.d.ts +0 -5
- package/dist/api/invoices/invoice.constants.d.ts.map +1 -1
- package/dist/api/invoices/invoice.constants.js +1 -5
- package/dist/api/invoices/invoice.constants.js.map +1 -1
- package/dist/api/invoices/invoice.dto.d.ts +3 -2
- package/dist/api/invoices/invoice.dto.d.ts.map +1 -1
- package/dist/api/invoices/invoice.requests.d.ts +3 -2
- package/dist/api/invoices/invoice.requests.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api/appointment-groups/add-group-member.request.ts +3 -0
- package/src/api/appointment-groups/create-group-from-appointments.request.ts +6 -0
- package/src/api/appointment-groups/index.ts +2 -0
- package/src/api/appointments/appointment.constants.ts +0 -9
- package/src/api/appointments/appointment.dto.ts +2 -2
- package/src/api/appointments/book-appointment.request.ts +9 -0
- package/src/api/calendar/calendar.dto.ts +1 -1
- package/src/api/client-kind.ts +7 -0
- package/src/api/index.ts +1 -0
- package/src/api/invoices/invoice.constants.ts +0 -7
- package/src/api/invoices/invoice.dto.ts +3 -2
- package/src/api/invoices/invoice.requests.ts +3 -2
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 +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,
|
|
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.
|
|
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;
|
|
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 {
|
|
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:
|
|
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,
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/api/index.d.ts
CHANGED
package/dist/api/index.d.ts.map
CHANGED
|
@@ -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);
|
package/dist/api/index.js.map
CHANGED
|
@@ -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,
|
|
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.
|
|
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,
|
|
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 {
|
|
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:
|
|
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":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAC9F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"invoice.dto.d.ts","sourceRoot":"","sources":["../../../src/api/invoices/invoice.dto.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,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAC9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,QAAQ,EAAE,OAAO,eAAe,CAAC,OAAO,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,QAAQ,EAAE,OAAO,eAAe,CAAC,SAAS,CAAC;IAC3C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,4BAA4B,CAAC;CAC9C;AAED,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,YAAY,EAAE,qBAAqB,EAAE,CAAC;CACvC"}
|
|
@@ -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 {
|
|
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:
|
|
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":"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,
|
|
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
|
@@ -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:
|
|
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
|
@@ -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 {
|
|
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:
|
|
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 {
|
|
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:
|
|
100
|
+
clientType: ClientKind;
|
|
100
101
|
clientId?: string | null;
|
|
101
102
|
clientDisplayName?: string | null;
|
|
102
103
|
clientPhone?: PhoneNumberModel | null;
|