types-salon-management 1.0.57 → 1.0.59
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/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 +4 -2
- package/dist/api/appointments/appointment.dto.d.ts.map +1 -1
- package/dist/api/appointments/checkout-appointments.dto.d.ts +51 -0
- package/dist/api/appointments/checkout-appointments.dto.d.ts.map +1 -0
- package/dist/api/appointments/checkout-appointments.dto.js +3 -0
- package/dist/api/appointments/checkout-appointments.dto.js.map +1 -0
- package/dist/api/appointments/index.d.ts +1 -0
- package/dist/api/appointments/index.d.ts.map +1 -1
- package/dist/api/appointments/index.js +1 -0
- package/dist/api/appointments/index.js.map +1 -1
- package/dist/api/calendar/calendar.dto.d.ts +1 -0
- 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 +5 -2
- package/dist/api/invoices/invoice.dto.d.ts.map +1 -1
- package/dist/api/invoices/invoice.requests.d.ts +6 -2
- package/dist/api/invoices/invoice.requests.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api/appointments/appointment.constants.ts +0 -9
- package/src/api/appointments/appointment.dto.ts +3 -2
- package/src/api/appointments/checkout-appointments.dto.ts +54 -0
- package/src/api/appointments/index.ts +1 -0
- package/src/api/calendar/calendar.dto.ts +1 -0
- 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 +5 -2
- package/src/api/invoices/invoice.requests.ts +6 -2
|
@@ -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;
|
|
@@ -48,6 +49,7 @@ export interface AppointmentDetailDto {
|
|
|
48
49
|
kind: AppointmentKind;
|
|
49
50
|
status: SchedulingAppointmentStatus;
|
|
50
51
|
notes: string | null;
|
|
52
|
+
invoiceId: string | null;
|
|
51
53
|
items: AppointmentItemDto[];
|
|
52
54
|
occupancies: AppointmentOccupancyDto[];
|
|
53
55
|
createdAt: string;
|
|
@@ -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,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { PhoneNumberModel } from '../../models/phone-number-model';
|
|
2
|
+
import type { ClientKind } from '../client-kind';
|
|
3
|
+
import type { ServiceTaxMode } from '../services/service.enums';
|
|
4
|
+
export interface CheckoutAppointmentsQuery {
|
|
5
|
+
from: string;
|
|
6
|
+
to: string;
|
|
7
|
+
staffIds?: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface CheckoutAppointmentItemDto {
|
|
10
|
+
id: string;
|
|
11
|
+
appointmentId: string;
|
|
12
|
+
serviceId: string | null;
|
|
13
|
+
serviceVariantId: string | null;
|
|
14
|
+
serviceName: string;
|
|
15
|
+
variantName: string | null;
|
|
16
|
+
comboName: string | null;
|
|
17
|
+
staffId: string | null;
|
|
18
|
+
staffName: string | null;
|
|
19
|
+
staffId2: string | null;
|
|
20
|
+
staffName2: string | null;
|
|
21
|
+
startAt: string;
|
|
22
|
+
endAt: string;
|
|
23
|
+
durationMinutes: number;
|
|
24
|
+
unitPrice: string;
|
|
25
|
+
requiresTwoStaffs: boolean;
|
|
26
|
+
taxMode: ServiceTaxMode;
|
|
27
|
+
locationTaxId: string | null;
|
|
28
|
+
}
|
|
29
|
+
export interface CheckoutAppointmentRowDto {
|
|
30
|
+
/** Cart selection key — groupId for groups, else appointment id */
|
|
31
|
+
rowId: string;
|
|
32
|
+
groupId: string | null;
|
|
33
|
+
isGroup: boolean;
|
|
34
|
+
memberAppointmentIds: string[];
|
|
35
|
+
primaryAppointmentId: string | null;
|
|
36
|
+
clientId: string | null;
|
|
37
|
+
clientType: ClientKind;
|
|
38
|
+
clientDisplayName: string | null;
|
|
39
|
+
clientPhone: PhoneNumberModel | null;
|
|
40
|
+
clientEmail: string | null;
|
|
41
|
+
appointmentStartAt: string;
|
|
42
|
+
appointmentEndAt: string;
|
|
43
|
+
/** Calendar date YYYY-MM-DD in company timezone */
|
|
44
|
+
appointmentDate: string;
|
|
45
|
+
totalPrice: string;
|
|
46
|
+
items: CheckoutAppointmentItemDto[];
|
|
47
|
+
}
|
|
48
|
+
export interface CheckoutAppointmentListDto {
|
|
49
|
+
rows: CheckoutAppointmentRowDto[];
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=checkout-appointments.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkout-appointments.dto.d.ts","sourceRoot":"","sources":["../../../src/api/appointments/checkout-appointments.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,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,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,0BAA0B,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,yBAAyB,EAAE,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkout-appointments.dto.js","sourceRoot":"","sources":["../../../src/api/appointments/checkout-appointments.dto.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/appointments/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/appointments/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC"}
|
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./appointment.constants"), exports);
|
|
18
18
|
__exportStar(require("./appointment.dto"), exports);
|
|
19
|
+
__exportStar(require("./checkout-appointments.dto"), exports);
|
|
19
20
|
__exportStar(require("./book-appointment.request"), exports);
|
|
20
21
|
__exportStar(require("./check-scheduling.request"), exports);
|
|
21
22
|
__exportStar(require("./reschedule-item.request"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/appointments/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,oDAAkC;AAClC,6DAA2C;AAC3C,6DAA2C;AAC3C,4DAA0C;AAC1C,sEAAoD;AACpD,+DAA6C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/appointments/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,oDAAkC;AAClC,8DAA4C;AAC5C,6DAA2C;AAC3C,6DAA2C;AAC3C,4DAA0C;AAC1C,sEAAoD;AACpD,+DAA6C"}
|
|
@@ -20,6 +20,7 @@ export interface CalendarOccupancyDto {
|
|
|
20
20
|
serviceColor: string | null;
|
|
21
21
|
status: SchedulingAppointmentStatus;
|
|
22
22
|
groupId: string | null;
|
|
23
|
+
invoiceId: string | null;
|
|
23
24
|
requiresTwoStaffs: boolean;
|
|
24
25
|
durationMinutes: number;
|
|
25
26
|
durationSegments: AppointmentItemDurationSegmentDto[];
|
|
@@ -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,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"}
|
|
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,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,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;
|
|
@@ -52,6 +53,8 @@ export interface ServiceInvoiceItemDto extends InvoiceItemBaseDto {
|
|
|
52
53
|
staffId2: string | null;
|
|
53
54
|
staffName2: string | null;
|
|
54
55
|
durationMinutes: number | null;
|
|
56
|
+
appointmentId: string | null;
|
|
57
|
+
appointmentItemId: string | null;
|
|
55
58
|
}
|
|
56
59
|
export interface GiftCardInvoiceItemDto extends InvoiceItemBaseDto {
|
|
57
60
|
itemType: typeof InvoiceItemType.GIFT_CARD;
|
|
@@ -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":"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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 {
|
|
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';
|
|
@@ -40,6 +41,9 @@ export interface ServiceFinalizeLineRequest {
|
|
|
40
41
|
lineDiscountType?: DiscountType | null;
|
|
41
42
|
lineDiscountValue?: string | null;
|
|
42
43
|
preview: FinalizeInvoiceLinePreview;
|
|
44
|
+
/** Set when line originates from appointment checkout */
|
|
45
|
+
appointmentId?: string | null;
|
|
46
|
+
appointmentItemId?: string | null;
|
|
43
47
|
}
|
|
44
48
|
export interface GiftCardFinalizeLineRequest {
|
|
45
49
|
itemType: typeof InvoiceItemType.GIFT_CARD;
|
|
@@ -79,7 +83,7 @@ export interface FinalizeInvoiceRequest {
|
|
|
79
83
|
locationId: string;
|
|
80
84
|
/** Calendar date in company timezone — YYYY-MM-DD */
|
|
81
85
|
invoiceDate: string;
|
|
82
|
-
clientType:
|
|
86
|
+
clientType: ClientKind;
|
|
83
87
|
clientId?: string | null;
|
|
84
88
|
clientDisplayName?: string | null;
|
|
85
89
|
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;
|
|
@@ -57,6 +57,7 @@ export interface AppointmentDetailDto {
|
|
|
57
57
|
kind: AppointmentKind;
|
|
58
58
|
status: SchedulingAppointmentStatus;
|
|
59
59
|
notes: string | null;
|
|
60
|
+
invoiceId: string | null;
|
|
60
61
|
items: AppointmentItemDto[];
|
|
61
62
|
occupancies: AppointmentOccupancyDto[];
|
|
62
63
|
createdAt: string;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { PhoneNumberModel } from '../../models/phone-number-model';
|
|
2
|
+
import type { ClientKind } from '../client-kind';
|
|
3
|
+
import type { ServiceTaxMode } from '../services/service.enums';
|
|
4
|
+
|
|
5
|
+
export interface CheckoutAppointmentsQuery {
|
|
6
|
+
from: string;
|
|
7
|
+
to: string;
|
|
8
|
+
staffIds?: string[];
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface CheckoutAppointmentItemDto {
|
|
12
|
+
id: string;
|
|
13
|
+
appointmentId: string;
|
|
14
|
+
serviceId: string | null;
|
|
15
|
+
serviceVariantId: string | null;
|
|
16
|
+
serviceName: string;
|
|
17
|
+
variantName: string | null;
|
|
18
|
+
comboName: string | null;
|
|
19
|
+
staffId: string | null;
|
|
20
|
+
staffName: string | null;
|
|
21
|
+
staffId2: string | null;
|
|
22
|
+
staffName2: string | null;
|
|
23
|
+
startAt: string;
|
|
24
|
+
endAt: string;
|
|
25
|
+
durationMinutes: number;
|
|
26
|
+
unitPrice: string;
|
|
27
|
+
requiresTwoStaffs: boolean;
|
|
28
|
+
taxMode: ServiceTaxMode;
|
|
29
|
+
locationTaxId: string | null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface CheckoutAppointmentRowDto {
|
|
33
|
+
/** Cart selection key — groupId for groups, else appointment id */
|
|
34
|
+
rowId: string;
|
|
35
|
+
groupId: string | null;
|
|
36
|
+
isGroup: boolean;
|
|
37
|
+
memberAppointmentIds: string[];
|
|
38
|
+
primaryAppointmentId: string | null;
|
|
39
|
+
clientId: string | null;
|
|
40
|
+
clientType: ClientKind;
|
|
41
|
+
clientDisplayName: string | null;
|
|
42
|
+
clientPhone: PhoneNumberModel | null;
|
|
43
|
+
clientEmail: string | null;
|
|
44
|
+
appointmentStartAt: string;
|
|
45
|
+
appointmentEndAt: string;
|
|
46
|
+
/** Calendar date YYYY-MM-DD in company timezone */
|
|
47
|
+
appointmentDate: string;
|
|
48
|
+
totalPrice: string;
|
|
49
|
+
items: CheckoutAppointmentItemDto[];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface CheckoutAppointmentListDto {
|
|
53
|
+
rows: CheckoutAppointmentRowDto[];
|
|
54
|
+
}
|
|
@@ -21,6 +21,7 @@ export interface CalendarOccupancyDto {
|
|
|
21
21
|
serviceColor: string | null;
|
|
22
22
|
status: SchedulingAppointmentStatus;
|
|
23
23
|
groupId: string | null;
|
|
24
|
+
invoiceId: string | null;
|
|
24
25
|
requiresTwoStaffs: boolean;
|
|
25
26
|
durationMinutes: number;
|
|
26
27
|
durationSegments: AppointmentItemDurationSegmentDto[];
|
|
@@ -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;
|
|
@@ -56,6 +57,8 @@ export interface ServiceInvoiceItemDto extends InvoiceItemBaseDto {
|
|
|
56
57
|
staffId2: string | null;
|
|
57
58
|
staffName2: string | null;
|
|
58
59
|
durationMinutes: number | null;
|
|
60
|
+
appointmentId: string | null;
|
|
61
|
+
appointmentItemId: string | null;
|
|
59
62
|
}
|
|
60
63
|
|
|
61
64
|
export interface GiftCardInvoiceItemDto extends InvoiceItemBaseDto {
|
|
@@ -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 =
|
|
@@ -50,6 +51,9 @@ export interface ServiceFinalizeLineRequest {
|
|
|
50
51
|
lineDiscountType?: DiscountType | null;
|
|
51
52
|
lineDiscountValue?: string | null;
|
|
52
53
|
preview: FinalizeInvoiceLinePreview;
|
|
54
|
+
/** Set when line originates from appointment checkout */
|
|
55
|
+
appointmentId?: string | null;
|
|
56
|
+
appointmentItemId?: string | null;
|
|
53
57
|
}
|
|
54
58
|
|
|
55
59
|
export interface GiftCardFinalizeLineRequest {
|
|
@@ -96,7 +100,7 @@ export interface FinalizeInvoiceRequest {
|
|
|
96
100
|
locationId: string;
|
|
97
101
|
/** Calendar date in company timezone — YYYY-MM-DD */
|
|
98
102
|
invoiceDate: string;
|
|
99
|
-
clientType:
|
|
103
|
+
clientType: ClientKind;
|
|
100
104
|
clientId?: string | null;
|
|
101
105
|
clientDisplayName?: string | null;
|
|
102
106
|
clientPhone?: PhoneNumberModel | null;
|