evo360-types 1.3.728 → 1.3.730

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.
@@ -1521,6 +1521,8 @@ export declare const zMedCalendarSchema: z.ZodObject<{
1521
1521
  }, z.ZodTypeAny, "passthrough">>>>;
1522
1522
  available_weekdays: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>>>;
1523
1523
  available_for_hubia: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
1524
+ hubia_appointment_types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["blocked", "consultation", "follow_up", "procedure", "surgery", "exam", "evaluation", "emergency", "check_up", "vaccination", "fit_test", "therapy", "meeting"]>, "many">>>;
1525
+ hubia_payment_types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["private", "insurance"]>, "many">>>;
1524
1526
  integration: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1525
1527
  adapter_id: z.ZodString;
1526
1528
  credentials_id: z.ZodString;
@@ -3272,6 +3274,8 @@ export declare const zMedCalendarSchema: z.ZodObject<{
3272
3274
  }, z.ZodTypeAny, "passthrough">>>>;
3273
3275
  available_weekdays: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>>>;
3274
3276
  available_for_hubia: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
3277
+ hubia_appointment_types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["blocked", "consultation", "follow_up", "procedure", "surgery", "exam", "evaluation", "emergency", "check_up", "vaccination", "fit_test", "therapy", "meeting"]>, "many">>>;
3278
+ hubia_payment_types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["private", "insurance"]>, "many">>>;
3275
3279
  integration: z.ZodOptional<z.ZodNullable<z.ZodObject<{
3276
3280
  adapter_id: z.ZodString;
3277
3281
  credentials_id: z.ZodString;
@@ -5023,6 +5027,8 @@ export declare const zMedCalendarSchema: z.ZodObject<{
5023
5027
  }, z.ZodTypeAny, "passthrough">>>>;
5024
5028
  available_weekdays: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>>>;
5025
5029
  available_for_hubia: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
5030
+ hubia_appointment_types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["blocked", "consultation", "follow_up", "procedure", "surgery", "exam", "evaluation", "emergency", "check_up", "vaccination", "fit_test", "therapy", "meeting"]>, "many">>>;
5031
+ hubia_payment_types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["private", "insurance"]>, "many">>>;
5026
5032
  integration: z.ZodOptional<z.ZodNullable<z.ZodObject<{
5027
5033
  adapter_id: z.ZodString;
5028
5034
  credentials_id: z.ZodString;
@@ -5,6 +5,7 @@ const zod_1 = require("zod");
5
5
  const zod_schemas_1 = require("../../shared/zod-schemas");
6
6
  const zod_schemas_2 = require("../people/zod-schemas");
7
7
  const zod_schemas_3 = require("../../evo-integrations/zod-schemas");
8
+ const zod_schemas_4 = require("../dic/zod-schemas");
8
9
  // ----- Notification config (feat-048) — molde do `sync_config`: estruturado +
9
10
  // `.passthrough()` p/ tolerar campos futuros sem republish.
10
11
  //
@@ -197,6 +198,9 @@ exports.zMedCalendarSchema = zod_schemas_1.zFireDocSchema
197
198
  .nullable()
198
199
  .optional(),
199
200
  available_for_hubia: zod_1.z.boolean().default(false).nullable().optional(),
201
+ // feat-287 — filtros da HubIA por agenda. Vazio/ausente = aceita tudo.
202
+ hubia_appointment_types: zod_1.z.array(zod_schemas_4.zDicAppointmentTypeBaseSchema).nullable().optional(),
203
+ hubia_payment_types: zod_1.z.array(zod_1.z.enum(["private", "insurance"])).nullable().optional(),
200
204
  integration: zod_schemas_3.zMedCalendarIntegrationSchema.nullable().optional(),
201
205
  notification_config: exports.zMedCalendarNotificationConfigSchema.nullable().optional(),
202
206
  virtual_care: exports.zMedCalendarVirtualCareConfigSchema.nullable().optional(),
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import { zFireDocSchema, zTagSchema } from "../../shared/zod-schemas";
3
3
  import { zAppointmentCountersSchema } from "../people/zod-schemas";
4
4
  import { zMedCalendarIntegrationSchema } from "../../evo-integrations/zod-schemas";
5
+ import { zDicAppointmentTypeBaseSchema } from "../dic/zod-schemas";
5
6
 
6
7
  // ----- Notification config (feat-048) — molde do `sync_config`: estruturado +
7
8
  // `.passthrough()` p/ tolerar campos futuros sem republish.
@@ -205,6 +206,9 @@ export const zMedCalendarSchema = zFireDocSchema
205
206
  .nullable()
206
207
  .optional(),
207
208
  available_for_hubia: z.boolean().default(false).nullable().optional(),
209
+ // feat-287 — filtros da HubIA por agenda. Vazio/ausente = aceita tudo.
210
+ hubia_appointment_types: z.array(zDicAppointmentTypeBaseSchema).nullable().optional(),
211
+ hubia_payment_types: z.array(z.enum(["private", "insurance"])).nullable().optional(),
208
212
  integration: zMedCalendarIntegrationSchema.nullable().optional(),
209
213
  notification_config: zMedCalendarNotificationConfigSchema.nullable().optional(),
210
214
  virtual_care: zMedCalendarVirtualCareConfigSchema.nullable().optional(),
@@ -3,6 +3,7 @@ import type { FirestoreDocumentReference, IFireDoc, ITag } from "../../shared";
3
3
  import type { IAppointmentCounters } from "../people";
4
4
  import type { TelemedicineProvider } from "../appointment";
5
5
  import type { IMedCalendarIntegration } from "../../evo-integrations";
6
+ import type { AppointmentType } from "../dic";
6
7
  export declare const EvoMedCalendarPermissions: {
7
8
  readonly List: "evo_med_calendar_read";
8
9
  readonly Get: "evo_med_calendar_read";
@@ -288,6 +289,12 @@ export interface IMedCalendarVirtualCareSettings {
288
289
  * Para resolver, faça merge por nível (`{ ...DEFAULTS.recording, ...cfg.recording }`).
289
290
  */
290
291
  export declare const CALENDAR_VIRTUAL_CARE_DEFAULTS: IMedCalendarVirtualCareSettings;
292
+ /** feat-287 — forma de pagamento que uma agenda aceita para a HubIA. */
293
+ export declare const HubiaPaymentTypeEnum: {
294
+ readonly Private: "private";
295
+ readonly Insurance: "insurance";
296
+ };
297
+ export type HubiaPaymentType = (typeof HubiaPaymentTypeEnum)[keyof typeof HubiaPaymentTypeEnum];
291
298
  export interface IMedCalendar extends IFireDoc {
292
299
  calendarId: string;
293
300
  color?: string;
@@ -315,6 +322,17 @@ export interface IMedCalendar extends IFireDoc {
315
322
  appointmentCounters?: IAppointmentCounters | null;
316
323
  available_weekdays?: number[] | null;
317
324
  available_for_hubia?: boolean | null;
325
+ /**
326
+ * feat-287 — tipos de atendimento que a HubIA pode oferecer/agendar nesta
327
+ * agenda (`check_schedule_availability.tipo`, `schedule_appointment.tipo`).
328
+ * Vazio ou ausente = aceita todos.
329
+ */
330
+ hubia_appointment_types?: AppointmentType[] | null;
331
+ /**
332
+ * feat-287 — formas de pagamento aceitas nesta agenda para a HubIA
333
+ * (`check_schedule_availability.pagamento`). Vazio ou ausente = aceita todas.
334
+ */
335
+ hubia_payment_types?: HubiaPaymentType[] | null;
318
336
  integration?: IMedCalendarIntegration | null;
319
337
  notification_config?: IMedCalendarNotificationConfig | null;
320
338
  /**
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.CALENDAR_VIRTUAL_CARE_DEFAULTS = exports.VIRTUAL_CARE_MAX_DURATION_MINUTES_MAX = exports.VIRTUAL_CARE_MAX_DURATION_MINUTES_MIN = exports.VIRTUAL_CARE_RETENTION_DAYS_MAX = exports.VIRTUAL_CARE_RETENTION_DAYS_MIN = exports.VirtualCareRecordingModeEnum = exports.MedCalendarNotificationConfigKeys = exports.EvoMedCalendarPermissions = void 0;
17
+ exports.HubiaPaymentTypeEnum = exports.CALENDAR_VIRTUAL_CARE_DEFAULTS = exports.VIRTUAL_CARE_MAX_DURATION_MINUTES_MAX = exports.VIRTUAL_CARE_MAX_DURATION_MINUTES_MIN = exports.VIRTUAL_CARE_RETENTION_DAYS_MAX = exports.VIRTUAL_CARE_RETENTION_DAYS_MIN = exports.VirtualCareRecordingModeEnum = exports.MedCalendarNotificationConfigKeys = exports.EvoMedCalendarPermissions = void 0;
18
18
  __exportStar(require("../../evo-people/fb_collections"), exports);
19
19
  // Permissões para o calendário
20
20
  exports.EvoMedCalendarPermissions = {
@@ -146,3 +146,8 @@ exports.CALENDAR_VIRTUAL_CARE_DEFAULTS = {
146
146
  max_duration_minutes: 120,
147
147
  end_warning_minutes: 5,
148
148
  };
149
+ /** feat-287 — forma de pagamento que uma agenda aceita para a HubIA. */
150
+ exports.HubiaPaymentTypeEnum = {
151
+ Private: "private",
152
+ Insurance: "insurance",
153
+ };
@@ -3,6 +3,7 @@ import type { FirestoreDocumentReference, IFireDoc, ITag } from "../../shared";
3
3
  import type { IAppointmentCounters } from "../people";
4
4
  import type { TelemedicineProvider } from "../appointment";
5
5
  import type { IMedCalendarIntegration } from "../../evo-integrations";
6
+ import type { AppointmentType } from "../dic";
6
7
 
7
8
  // Permissões para o calendário
8
9
  export const EvoMedCalendarPermissions = {
@@ -352,6 +353,15 @@ export const CALENDAR_VIRTUAL_CARE_DEFAULTS: IMedCalendarVirtualCareSettings = {
352
353
  end_warning_minutes: 5,
353
354
  } as const;
354
355
 
356
+ /** feat-287 — forma de pagamento que uma agenda aceita para a HubIA. */
357
+ export const HubiaPaymentTypeEnum = {
358
+ Private: "private",
359
+ Insurance: "insurance",
360
+ } as const;
361
+
362
+ export type HubiaPaymentType =
363
+ (typeof HubiaPaymentTypeEnum)[keyof typeof HubiaPaymentTypeEnum];
364
+
355
365
  // ----- MedCalendarTypes
356
366
  export interface IMedCalendar extends IFireDoc {
357
367
  calendarId: string;
@@ -383,6 +393,17 @@ export interface IMedCalendar extends IFireDoc {
383
393
  available_weekdays?: number[] | null;
384
394
  // Se true, a agenda é elegível para oferecer horários via HubIA
385
395
  available_for_hubia?: boolean | null;
396
+ /**
397
+ * feat-287 — tipos de atendimento que a HubIA pode oferecer/agendar nesta
398
+ * agenda (`check_schedule_availability.tipo`, `schedule_appointment.tipo`).
399
+ * Vazio ou ausente = aceita todos.
400
+ */
401
+ hubia_appointment_types?: AppointmentType[] | null;
402
+ /**
403
+ * feat-287 — formas de pagamento aceitas nesta agenda para a HubIA
404
+ * (`check_schedule_availability.pagamento`). Vazio ou ausente = aceita todas.
405
+ */
406
+ hubia_payment_types?: HubiaPaymentType[] | null;
386
407
  // Config de integração (feat-004 evo-integrations). Opcional — calendars legados mantêm n8n_wf/url/ext_urls.
387
408
  integration?: IMedCalendarIntegration | null;
388
409
  // Config de notificações por-agenda (feat-048). Opcional — agendas sem lembrete não têm o bloco.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evo360-types",
3
- "version": "1.3.728",
3
+ "version": "1.3.730",
4
4
  "description": "HREVO360 Shared Types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",