evo360-types 1.3.54 → 1.3.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zAppointmentSchema = exports.zProcedureSchema = exports.zPaymentSchema = exports.zInsuranceSchema = exports.zAppointmentProfessionalSchema = exports.zAppointmentPatientSchema = exports.zAppointmentAddressSchema = exports.zAppointmentTypeSchema = exports.zAppointmentModeSchema = exports.zMedAppointmentStatusSchema = exports.zPaymentStatusSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const zod_schemas_1 = require("../../shared/zod-schemas");
6
+ // Enums para validação
7
+ exports.zPaymentStatusSchema = zod_1.z.enum([
8
+ "paid",
9
+ "partial",
10
+ "pending",
11
+ "not_informed",
12
+ ]);
13
+ exports.zMedAppointmentStatusSchema = zod_1.z.enum([
14
+ "scheduled",
15
+ "confirmed",
16
+ "completed",
17
+ "pre_checkin",
18
+ "waiting",
19
+ "no_show",
20
+ "cancelled",
21
+ "extra_slot",
22
+ "in_progress",
23
+ "rescheduled",
24
+ ]);
25
+ exports.zAppointmentModeSchema = zod_1.z.enum(["telemedicine", "in_person"]);
26
+ exports.zAppointmentTypeSchema = zod_1.z.enum([
27
+ "blocked",
28
+ "consultation",
29
+ "procedure",
30
+ "follow_up",
31
+ ]);
32
+ // Schema para endereço
33
+ exports.zAppointmentAddressSchema = zod_1.z.object({
34
+ address_name: zod_1.z.string().optional(),
35
+ address_line1: zod_1.z.string().optional(),
36
+ address_line2: zod_1.z.string().optional(),
37
+ address_city: zod_1.z.string().optional(),
38
+ address_state: zod_1.z.string().optional(),
39
+ address_zip: zod_1.z.string().optional(),
40
+ address_country: zod_1.z.string().optional(),
41
+ address_neighborhood: zod_1.z.string().optional(),
42
+ address_maps_url: zod_1.z.string().url().optional(),
43
+ address_notes: zod_1.z.string().optional(),
44
+ address_geo: zod_1.z.any().optional(), // IGeoPoint
45
+ });
46
+ // Schema para paciente
47
+ exports.zAppointmentPatientSchema = zod_1.z
48
+ .object({
49
+ id: zod_1.z.number().nullable(),
50
+ name: zod_1.z.string().nullable(),
51
+ email: zod_1.z.string().email().default(""),
52
+ gender: zod_1.z.string().optional().default(""),
53
+ birthDate: zod_1.z.string().optional().default(""),
54
+ phone: zod_1.z.string().optional().default(""),
55
+ wabaPhone: zod_1.z.string().optional().default(""),
56
+ external_id: zod_1.z.string().optional(),
57
+ })
58
+ .passthrough();
59
+ // Schema para profissional
60
+ exports.zAppointmentProfessionalSchema = zod_1.z
61
+ .object({
62
+ id: zod_1.z.number(),
63
+ name: zod_1.z.string(),
64
+ email: zod_1.z.string().email().default(""),
65
+ gender: zod_1.z.string().optional().default(""),
66
+ external_id: zod_1.z.string().optional(),
67
+ })
68
+ .passthrough();
69
+ // Schema para seguro
70
+ exports.zInsuranceSchema = zod_1.z
71
+ .object({
72
+ name: zod_1.z.string(),
73
+ external_id: zod_1.z.string().optional(),
74
+ })
75
+ .passthrough();
76
+ // Schema para pagamento
77
+ exports.zPaymentSchema = zod_1.z
78
+ .object({
79
+ total: zod_1.z.number().nullable().optional(),
80
+ paid: zod_1.z.number().nullable().optional(),
81
+ due: zod_1.z.number().nullable().optional(),
82
+ status: exports.zPaymentStatusSchema.optional(),
83
+ })
84
+ .passthrough();
85
+ // Schema para procedimento
86
+ exports.zProcedureSchema = zod_1.z.object({
87
+ id: zod_1.z.number().optional(),
88
+ name: zod_1.z.string(),
89
+ description: zod_1.z.string().optional(),
90
+ duration: zod_1.z.number().optional(), // em minutos
91
+ price: zod_1.z.number().optional(),
92
+ });
93
+ // Schema principal do Appointment
94
+ exports.zAppointmentSchema = zod_schemas_1.zFireDocSchema
95
+ .extend({
96
+ calendarId: zod_1.z.number(),
97
+ startDate: zod_1.z.string().datetime(), // ISO string
98
+ endDate: zod_1.z.string().datetime(), // ISO string
99
+ status: exports.zMedAppointmentStatusSchema,
100
+ notes: zod_1.z.string().optional(),
101
+ appointmentMode: exports.zAppointmentModeSchema,
102
+ appointmentType: exports.zAppointmentTypeSchema,
103
+ specialty: zod_1.z.string().optional(),
104
+ address: exports.zAppointmentAddressSchema.optional(),
105
+ procedures: zod_1.z.array(exports.zProcedureSchema).optional(),
106
+ patient: exports.zAppointmentPatientSchema,
107
+ professional: exports.zAppointmentProfessionalSchema.optional(),
108
+ insurance: exports.zInsuranceSchema.optional(),
109
+ payment: exports.zPaymentSchema.optional(),
110
+ // Propriedades para controle de rascunho
111
+ isDraft: zod_1.z.boolean(),
112
+ draftExpirationMinutes: zod_1.z.number().optional(), // tempo em minutos para expiração do rascunho
113
+ // Controle de remarcações
114
+ rescheduleCount: zod_1.z.number().default(0), // quantidade de vezes que o agendamento foi remarcado
115
+ tags: zod_1.z.array(zod_schemas_1.zTagSchema).nullable().optional(),
116
+ })
117
+ .passthrough();
@@ -0,0 +1,128 @@
1
+ import { z } from "zod";
2
+ import { zFireDocSchema, zTagSchema } from "../../shared/zod-schemas";
3
+
4
+ // Enums para validação
5
+ export const zPaymentStatusSchema = z.enum([
6
+ "paid",
7
+ "partial",
8
+ "pending",
9
+ "not_informed",
10
+ ]);
11
+
12
+ export const zMedAppointmentStatusSchema = z.enum([
13
+ "scheduled",
14
+ "confirmed",
15
+ "completed",
16
+ "pre_checkin",
17
+ "waiting",
18
+ "no_show",
19
+ "cancelled",
20
+ "extra_slot",
21
+ "in_progress",
22
+ "rescheduled",
23
+ ]);
24
+
25
+ export const zAppointmentModeSchema = z.enum(["telemedicine", "in_person"]);
26
+
27
+ export const zAppointmentTypeSchema = z.enum([
28
+ "blocked",
29
+ "consultation",
30
+ "procedure",
31
+ "follow_up",
32
+ ]);
33
+
34
+ // Schema para endereço
35
+ export const zAppointmentAddressSchema = z.object({
36
+ address_name: z.string().optional(),
37
+ address_line1: z.string().optional(),
38
+ address_line2: z.string().optional(),
39
+ address_city: z.string().optional(),
40
+ address_state: z.string().optional(),
41
+ address_zip: z.string().optional(),
42
+ address_country: z.string().optional(),
43
+ address_neighborhood: z.string().optional(),
44
+ address_maps_url: z.string().url().optional(),
45
+ address_notes: z.string().optional(),
46
+ address_geo: z.any().optional(), // IGeoPoint
47
+ });
48
+
49
+ // Schema para paciente
50
+ export const zAppointmentPatientSchema = z
51
+ .object({
52
+ id: z.number().nullable(),
53
+ name: z.string().nullable(),
54
+ email: z.string().email().default(""),
55
+ gender: z.string().optional().default(""),
56
+ birthDate: z.string().optional().default(""),
57
+ phone: z.string().optional().default(""),
58
+ wabaPhone: z.string().optional().default(""),
59
+ external_id: z.string().optional(),
60
+ })
61
+ .passthrough();
62
+
63
+ // Schema para profissional
64
+ export const zAppointmentProfessionalSchema = z
65
+ .object({
66
+ id: z.number(),
67
+ name: z.string(),
68
+ email: z.string().email().default(""),
69
+ gender: z.string().optional().default(""),
70
+ external_id: z.string().optional(),
71
+ })
72
+ .passthrough();
73
+
74
+ // Schema para seguro
75
+ export const zInsuranceSchema = z
76
+ .object({
77
+ name: z.string(),
78
+ external_id: z.string().optional(),
79
+ })
80
+ .passthrough();
81
+
82
+ // Schema para pagamento
83
+ export const zPaymentSchema = z
84
+ .object({
85
+ total: z.number().nullable().optional(),
86
+ paid: z.number().nullable().optional(),
87
+ due: z.number().nullable().optional(),
88
+ status: zPaymentStatusSchema.optional(),
89
+ })
90
+ .passthrough();
91
+
92
+ // Schema para procedimento
93
+ export const zProcedureSchema = z.object({
94
+ id: z.number().optional(),
95
+ name: z.string(),
96
+ description: z.string().optional(),
97
+ duration: z.number().optional(), // em minutos
98
+ price: z.number().optional(),
99
+ });
100
+
101
+ // Schema principal do Appointment
102
+ export const zAppointmentSchema = zFireDocSchema
103
+ .extend({
104
+ calendarId: z.number(),
105
+ startDate: z.string().datetime(), // ISO string
106
+ endDate: z.string().datetime(), // ISO string
107
+ status: zMedAppointmentStatusSchema,
108
+ notes: z.string().optional(),
109
+ appointmentMode: zAppointmentModeSchema,
110
+ appointmentType: zAppointmentTypeSchema,
111
+ specialty: z.string().optional(),
112
+ address: zAppointmentAddressSchema.optional(),
113
+ procedures: z.array(zProcedureSchema).optional(),
114
+ patient: zAppointmentPatientSchema,
115
+ professional: zAppointmentProfessionalSchema.optional(),
116
+ insurance: zInsuranceSchema.optional(),
117
+ payment: zPaymentSchema.optional(),
118
+
119
+ // Propriedades para controle de rascunho
120
+ isDraft: z.boolean(),
121
+ draftExpirationMinutes: z.number().optional(), // tempo em minutos para expiração do rascunho
122
+
123
+ // Controle de remarcações
124
+ rescheduleCount: z.number().default(0), // quantidade de vezes que o agendamento foi remarcado
125
+
126
+ tags: z.array(zTagSchema).nullable().optional(),
127
+ })
128
+ .passthrough();
@@ -85,6 +85,7 @@ export declare const ProcedureSchema: z.ZodObject<z.objectUtil.extendShape<{
85
85
  acronym: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
86
86
  description: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
87
87
  tuss: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
88
+ price: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
88
89
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
89
90
  name: z.ZodString;
90
91
  color: z.ZodOptional<z.ZodString>;
@@ -119,6 +120,7 @@ export declare const ProcedureSchema: z.ZodObject<z.objectUtil.extendShape<{
119
120
  technical_name: string;
120
121
  duration: number | null;
121
122
  tuss: string | null;
123
+ price: number | null;
122
124
  ref?: any;
123
125
  created_at?: Date | null | undefined;
124
126
  updated_at?: Date | null | undefined;
@@ -158,4 +160,5 @@ export declare const ProcedureSchema: z.ZodObject<z.objectUtil.extendShape<{
158
160
  color?: string | null | undefined;
159
161
  duration?: number | null | undefined;
160
162
  tuss?: string | null | undefined;
163
+ price?: number | null | undefined;
161
164
  }>;
@@ -22,5 +22,6 @@ exports.ProcedureSchema = zod_schemas_1.zFireDocSchema.extend({
22
22
  acronym: zod_1.z.string().max(255).nullable().optional().default(""),
23
23
  description: zod_1.z.string().max(1024).nullable().optional().default(""),
24
24
  tuss: zod_1.z.string().max(255).nullable().optional().default(""),
25
+ price: zod_1.z.number().nullable().optional().default(0),
25
26
  tags: zod_1.z.array(zod_schemas_1.zTagSchema).nullable().optional(),
26
27
  });
@@ -22,5 +22,6 @@ export const ProcedureSchema = zFireDocSchema.extend({
22
22
  acronym: z.string().max(255).nullable().optional().default(""),
23
23
  description: z.string().max(1024).nullable().optional().default(""),
24
24
  tuss: z.string().max(255).nullable().optional().default(""),
25
+ price: z.number().nullable().optional().default(0),
25
26
  tags: z.array(zTagSchema).nullable().optional(),
26
27
  });
@@ -338,6 +338,9 @@ export declare const zOfficeSchema: z.ZodObject<z.objectUtil.extendShape<{
338
338
  address_state: z.ZodDefault<z.ZodOptional<z.ZodString>>;
339
339
  address_zip: z.ZodDefault<z.ZodOptional<z.ZodString>>;
340
340
  address_country: z.ZodDefault<z.ZodOptional<z.ZodString>>;
341
+ address_neighborhood: z.ZodDefault<z.ZodOptional<z.ZodString>>;
342
+ address_maps_url: z.ZodDefault<z.ZodOptional<z.ZodString>>;
343
+ address_notes: z.ZodDefault<z.ZodOptional<z.ZodString>>;
341
344
  address_geo: z.ZodOptional<z.ZodAny>;
342
345
  employee_counters: z.ZodOptional<z.ZodAny>;
343
346
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
@@ -381,6 +384,9 @@ export declare const zOfficeSchema: z.ZodObject<z.objectUtil.extendShape<{
381
384
  address_state: z.ZodDefault<z.ZodOptional<z.ZodString>>;
382
385
  address_zip: z.ZodDefault<z.ZodOptional<z.ZodString>>;
383
386
  address_country: z.ZodDefault<z.ZodOptional<z.ZodString>>;
387
+ address_neighborhood: z.ZodDefault<z.ZodOptional<z.ZodString>>;
388
+ address_maps_url: z.ZodDefault<z.ZodOptional<z.ZodString>>;
389
+ address_notes: z.ZodDefault<z.ZodOptional<z.ZodString>>;
384
390
  address_geo: z.ZodOptional<z.ZodAny>;
385
391
  employee_counters: z.ZodOptional<z.ZodAny>;
386
392
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
@@ -424,6 +430,9 @@ export declare const zOfficeSchema: z.ZodObject<z.objectUtil.extendShape<{
424
430
  address_state: z.ZodDefault<z.ZodOptional<z.ZodString>>;
425
431
  address_zip: z.ZodDefault<z.ZodOptional<z.ZodString>>;
426
432
  address_country: z.ZodDefault<z.ZodOptional<z.ZodString>>;
433
+ address_neighborhood: z.ZodDefault<z.ZodOptional<z.ZodString>>;
434
+ address_maps_url: z.ZodDefault<z.ZodOptional<z.ZodString>>;
435
+ address_notes: z.ZodDefault<z.ZodOptional<z.ZodString>>;
427
436
  address_geo: z.ZodOptional<z.ZodAny>;
428
437
  employee_counters: z.ZodOptional<z.ZodAny>;
429
438
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
@@ -103,6 +103,9 @@ exports.zOfficeSchema = zod_schemas_1.zFireDocSchema // Extend from FireDocSchem
103
103
  address_state: zod_1.z.string().max(255).optional().default(""),
104
104
  address_zip: zod_1.z.string().max(255).optional().default(""),
105
105
  address_country: zod_1.z.string().max(255).optional().default(""),
106
+ address_neighborhood: zod_1.z.string().max(255).optional().default(""),
107
+ address_maps_url: zod_1.z.string().url().optional().default(""),
108
+ address_notes: zod_1.z.string().max(1024).optional().default(""),
106
109
  address_geo: zod_1.z.any().optional(),
107
110
  employee_counters: zod_1.z.any().optional(),
108
111
  tags: zod_1.z.array(zod_schemas_1.zTagSchema).nullable().optional(),
@@ -106,6 +106,9 @@ export const zOfficeSchema = zFireDocSchema // Extend from FireDocSchema
106
106
  address_state: z.string().max(255).optional().default(""),
107
107
  address_zip: z.string().max(255).optional().default(""),
108
108
  address_country: z.string().max(255).optional().default(""),
109
+ address_neighborhood: z.string().max(255).optional().default(""),
110
+ address_maps_url: z.string().url().optional().default(""),
111
+ address_notes: z.string().max(1024).optional().default(""),
109
112
  address_geo: z.any().optional(),
110
113
  employee_counters: z.any().optional(),
111
114
  tags: z.array(zTagSchema).nullable().optional(),
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export * from "./types/evo-crm/dic";
9
9
  export * from "./types/evo-crm/lead";
10
10
  export * from "./types/evo-chat";
11
11
  export * from "./types/evo-med/calendar";
12
+ export * from "./types/evo-med/appointment";
12
13
  export * from "./types/evo-med/dic";
13
14
  export * from "./types/evo-med/insurance";
14
15
  export * from "./types/evo-med/people";
@@ -28,6 +29,7 @@ export * from "./apps/evo-crm/lead/zod-schemas";
28
29
  export * from "./apps/evo-chat/contact/zod-schemas";
29
30
  export * from "./apps/evo-chat/message/zod-schemas";
30
31
  export * from "./apps/evo-med/calendar/zod-schemas";
32
+ export * from "./apps/evo-med/appointment/zod-schemas";
31
33
  export * from "./apps/evo-med/dic/zod-schemas";
32
34
  export * from "./apps/evo-med/insurance/zod-schemas";
33
35
  export * from "./apps/evo-med/people/zod-schemas";
package/dist/index.js CHANGED
@@ -25,6 +25,7 @@ __exportStar(require("./types/evo-crm/dic"), exports);
25
25
  __exportStar(require("./types/evo-crm/lead"), exports);
26
26
  __exportStar(require("./types/evo-chat"), exports);
27
27
  __exportStar(require("./types/evo-med/calendar"), exports);
28
+ __exportStar(require("./types/evo-med/appointment"), exports);
28
29
  __exportStar(require("./types/evo-med/dic"), exports);
29
30
  __exportStar(require("./types/evo-med/insurance"), exports);
30
31
  __exportStar(require("./types/evo-med/people"), exports);
@@ -43,6 +44,7 @@ __exportStar(require("./apps/evo-crm/lead/zod-schemas"), exports);
43
44
  __exportStar(require("./apps/evo-chat/contact/zod-schemas"), exports);
44
45
  __exportStar(require("./apps/evo-chat/message/zod-schemas"), exports);
45
46
  __exportStar(require("./apps/evo-med/calendar/zod-schemas"), exports);
47
+ __exportStar(require("./apps/evo-med/appointment/zod-schemas"), exports);
46
48
  __exportStar(require("./apps/evo-med/dic/zod-schemas"), exports);
47
49
  __exportStar(require("./apps/evo-med/insurance/zod-schemas"), exports);
48
50
  __exportStar(require("./apps/evo-med/people/zod-schemas"), exports);
package/dist/index.ts CHANGED
@@ -9,6 +9,7 @@ export * from "./types/evo-crm/dic";
9
9
  export * from "./types/evo-crm/lead";
10
10
  export * from "./types/evo-chat";
11
11
  export * from "./types/evo-med/calendar";
12
+ export * from "./types/evo-med/appointment";
12
13
  export * from "./types/evo-med/dic";
13
14
  export * from "./types/evo-med/insurance";
14
15
  export * from "./types/evo-med/people";
@@ -28,6 +29,7 @@ export * from "./apps/evo-crm/lead/zod-schemas";
28
29
  export * from "./apps/evo-chat/contact/zod-schemas";
29
30
  export * from "./apps/evo-chat/message/zod-schemas";
30
31
  export * from "./apps/evo-med/calendar/zod-schemas";
32
+ export * from "./apps/evo-med/appointment/zod-schemas";
31
33
  export * from "./apps/evo-med/dic/zod-schemas";
32
34
  export * from "./apps/evo-med/insurance/zod-schemas";
33
35
  export * from "./apps/evo-med/people/zod-schemas";
@@ -0,0 +1,114 @@
1
+ import type { IFireDoc, IGeoPoint, ITag } from "../../shared";
2
+ export declare const PaymentStatusEnum: {
3
+ readonly Paid: "paid";
4
+ readonly Partial: "partial";
5
+ readonly Pending: "pending";
6
+ readonly NotInformed: "not_informed";
7
+ };
8
+ export type PaymentStatus = (typeof PaymentStatusEnum)[keyof typeof PaymentStatusEnum];
9
+ export declare const AppointmentStatusEnum: {
10
+ readonly Scheduled: "scheduled";
11
+ readonly Confirmed: "confirmed";
12
+ readonly Completed: "completed";
13
+ readonly PreCheckin: "pre_checkin";
14
+ readonly Waiting: "waiting";
15
+ readonly NoShow: "no_show";
16
+ readonly Cancelled: "cancelled";
17
+ readonly ExtraSlot: "extra_slot";
18
+ readonly InProgress: "in_progress";
19
+ readonly Rescheduled: "rescheduled";
20
+ };
21
+ export type AppointmentStatus = (typeof AppointmentStatusEnum)[keyof typeof AppointmentStatusEnum];
22
+ export declare const AppointmentModeEnum: {
23
+ readonly Telemedicine: "telemedicine";
24
+ readonly InPerson: "in_person";
25
+ };
26
+ export type AppointmentMode = (typeof AppointmentModeEnum)[keyof typeof AppointmentModeEnum];
27
+ export declare const AppointmentTypeEnum: {
28
+ readonly Blocked: "blocked";
29
+ readonly Consultation: "consultation";
30
+ readonly FollowUp: "follow_up";
31
+ readonly Procedure: "procedure";
32
+ readonly Surgery: "surgery";
33
+ readonly Exam: "exam";
34
+ readonly Evaluation: "evaluation";
35
+ readonly Emergency: "emergency";
36
+ readonly CheckUp: "check_up";
37
+ readonly Vaccination: "vaccination";
38
+ readonly FitTest: "fit_test";
39
+ readonly Therapy: "therapy";
40
+ readonly Meeting: "meeting";
41
+ };
42
+ export type AppointmentType = (typeof AppointmentTypeEnum)[keyof typeof AppointmentTypeEnum];
43
+ export interface Address {
44
+ address_name?: string;
45
+ address_line1?: string;
46
+ address_line2?: string;
47
+ address_city?: string;
48
+ address_state?: string;
49
+ address_zip?: string;
50
+ address_country?: string;
51
+ address_neighborhood?: string;
52
+ address_maps_url?: string;
53
+ address_notes?: string;
54
+ address_geo?: IGeoPoint;
55
+ }
56
+ export interface Patient {
57
+ id: number | null;
58
+ name: string | null;
59
+ email: string;
60
+ gender: string;
61
+ birthDate: string;
62
+ phone: string;
63
+ wabaPhone: string;
64
+ external_id?: string;
65
+ [key: string]: unknown;
66
+ }
67
+ export interface Professional {
68
+ id: number;
69
+ name: string;
70
+ email: string;
71
+ gender: string;
72
+ external_id?: string;
73
+ [key: string]: unknown;
74
+ }
75
+ export interface Insurance {
76
+ name: string;
77
+ external_id?: string;
78
+ [key: string]: unknown;
79
+ }
80
+ export interface Payment {
81
+ total?: number | null;
82
+ paid?: number | null;
83
+ due?: number | null;
84
+ status?: PaymentStatus;
85
+ [key: string]: unknown;
86
+ }
87
+ export interface Procedure {
88
+ id?: number;
89
+ name: string;
90
+ description?: string;
91
+ duration?: number;
92
+ price?: number;
93
+ }
94
+ export interface Appointment extends IFireDoc {
95
+ calendarId: number;
96
+ startDate: string;
97
+ endDate: string;
98
+ status: AppointmentStatus;
99
+ notes?: string;
100
+ appointmentMode: AppointmentMode;
101
+ appointmentType: AppointmentType;
102
+ specialty?: string;
103
+ address?: Address;
104
+ procedures?: Procedure[];
105
+ patient: Patient;
106
+ professional?: Professional;
107
+ insurance?: Insurance;
108
+ payment?: Payment;
109
+ isDraft: boolean;
110
+ draftExpirationMinutes?: number;
111
+ rescheduleCount: number;
112
+ tags?: ITag[] | null;
113
+ [key: string]: unknown;
114
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppointmentTypeEnum = exports.AppointmentModeEnum = exports.AppointmentStatusEnum = exports.PaymentStatusEnum = void 0;
4
+ // Enums para status de pagamento
5
+ exports.PaymentStatusEnum = {
6
+ Paid: "paid",
7
+ Partial: "partial",
8
+ Pending: "pending",
9
+ NotInformed: "not_informed",
10
+ };
11
+ // Enums para status do agendamento
12
+ exports.AppointmentStatusEnum = {
13
+ Scheduled: "scheduled",
14
+ Confirmed: "confirmed",
15
+ Completed: "completed",
16
+ PreCheckin: "pre_checkin",
17
+ Waiting: "waiting",
18
+ NoShow: "no_show",
19
+ Cancelled: "cancelled",
20
+ ExtraSlot: "extra_slot",
21
+ InProgress: "in_progress",
22
+ Rescheduled: "rescheduled",
23
+ };
24
+ // Enums para modo do agendamento
25
+ exports.AppointmentModeEnum = {
26
+ Telemedicine: "telemedicine",
27
+ InPerson: "in_person",
28
+ };
29
+ // Enums para tipo do agendamento
30
+ exports.AppointmentTypeEnum = {
31
+ Blocked: "blocked", // Horário bloqueado (sem atendimento)
32
+ Consultation: "consultation", // Consulta médica
33
+ FollowUp: "follow_up", // Retorno de consulta
34
+ Procedure: "procedure", // Procedimento clínico
35
+ Surgery: "surgery", // Cirurgia
36
+ Exam: "exam", // Exame diagnóstico (ex: ultrassom, raio-x)
37
+ Evaluation: "evaluation", // Avaliação inicial
38
+ Emergency: "emergency", // Atendimento de urgência
39
+ CheckUp: "check_up", // Check-up / revisão geral
40
+ Vaccination: "vaccination", // Vacinação
41
+ FitTest: "fit_test", // Teste de aptidão física / ocupacional
42
+ Therapy: "therapy", // Sessão terapêutica (fisioterapia, psicoterapia etc.)
43
+ Meeting: "meeting", // Reunião administrativa / interna
44
+ };