For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Métodos API
      • POSTLogin
      • POSTLanguages
      • POSTCreate Appointment
      • POSTCreate Appointment Representation
      • POSTCreate Appointment Representation Guests
      • POSTCancel Appointment
      • POSTCouncil evidence summary
      • POSTCouncil Info
      • POSTCouncils
      • POSTAssign Appointment to Operator
      • POSTAppointment Documentation
      • POSTCouncil Documentation
      • POSTCompany Month Schedule
      • POSTDay slots
      • POSTShare appointment
      • POSTUpload council Act
      • POSTCompany Procedures
      • POSTReschedule Appointment
      • POSTOrganization companies
      • POSTOrganization Users
      • POSTCreate Appointment_External
      • POSTCreate Appointment Representation_External
      • POSTCreate Appointment Representation Guests_External
      • POSTCouncils_External
      • POSTCouncil Info_External
      • POSTCancel Appointment_External
      • POSTCouncil evidence summary_External
      • POSTAssign Appointment to Operator_External
LogoLogo
Métodos APIOvac

Day slots

|View as Markdown|Open in Claude|
POST
/graphql/companyovacdayslots
POST
/graphql/companyovacdayslots
$curl -X POST https://api.ovac.pre.councilbox.com/graphql/companyovacdayslots \
> -H "x-jwt-token: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "query": "query companyOVACDaySlots (\r\n $companyId: ID!,\r\n $statuteId: ID,\r\n $date: String!\r\n $reservedMode: Boolean\r\n){\r\n companyOVACDaySlots(\r\n companyId: $companyId,\r\n statuteId: $statuteId,\r\n date: $date,\r\n reservedMode: $reservedMode\r\n )\r\n}",
> "variables": {
> "companyId": "2191",
> "statuteId": "452",
> "date": "2026-05-19T00:00:00.000Z",
> "reservedMode": false
> }
>}'
200Day slots
1{
2 "data": {
3 "companyOVACDaySlots": [
4 {
5 "length": 30,
6 "utcHour": 9,
7 "date": "2026-05-19T09:00:00.000Z",
8 "disabled": false,
9 "availability": 3,
10 "assignedUsers": [],
11 "totalAvailability": 3
12 },
13 {
14 "length": 30,
15 "utcHour": 9.5,
16 "date": "2026-05-19T09:30:00.000Z",
17 "disabled": false,
18 "availability": 2,
19 "assignedUsers": [
20 1023
21 ],
22 "totalAvailability": 3
23 },
24 {
25 "length": 30,
26 "utcHour": 10,
27 "date": "2026-05-19T10:00:00.000Z",
28 "disabled": false,
29 "availability": 1,
30 "assignedUsers": [
31 1023,
32 1045
33 ],
34 "totalAvailability": 3
35 },
36 {
37 "length": 30,
38 "utcHour": 10.5,
39 "date": "2026-05-19T10:30:00.000Z",
40 "disabled": true,
41 "availability": 0,
42 "assignedUsers": [
43 1023,
44 1045,
45 1078
46 ],
47 "totalAvailability": 3
48 },
49 {
50 "length": 30,
51 "utcHour": 11,
52 "date": "2026-05-19T11:00:00.000Z",
53 "disabled": false,
54 "availability": 3,
55 "assignedUsers": [],
56 "totalAvailability": 3
57 },
58 {
59 "length": 30,
60 "utcHour": 11.5,
61 "date": "2026-05-19T11:30:00.000Z",
62 "disabled": false,
63 "availability": 3,
64 "assignedUsers": [],
65 "totalAvailability": 3
66 },
67 {
68 "length": 30,
69 "utcHour": 12,
70 "date": "2026-05-19T12:00:00.000Z",
71 "disabled": false,
72 "availability": 3,
73 "assignedUsers": [],
74 "totalAvailability": 3
75 },
76 {
77 "length": 30,
78 "utcHour": 12.5,
79 "date": "2026-05-19T12:30:00.000Z",
80 "disabled": false,
81 "availability": 3,
82 "assignedUsers": [],
83 "totalAvailability": 3
84 },
85 {
86 "length": 30,
87 "utcHour": 13,
88 "date": "2026-05-19T13:00:00.000Z",
89 "disabled": false,
90 "availability": 3,
91 "assignedUsers": [],
92 "totalAvailability": 3
93 },
94 {
95 "length": 30,
96 "utcHour": 13.5,
97 "date": "2026-05-19T13:30:00.000Z",
98 "disabled": false,
99 "availability": 3,
100 "assignedUsers": [],
101 "totalAvailability": 3
102 },
103 {
104 "length": 30,
105 "utcHour": 14,
106 "date": "2026-05-19T14:00:00.000Z",
107 "disabled": false,
108 "availability": 3,
109 "assignedUsers": [],
110 "totalAvailability": 3
111 },
112 {
113 "length": 30,
114 "utcHour": 14.5,
115 "date": "2026-05-19T14:30:00.000Z",
116 "disabled": false,
117 "availability": 2,
118 "assignedUsers": [
119 1101
120 ],
121 "totalAvailability": 3
122 },
123 {
124 "length": 30,
125 "utcHour": 15,
126 "date": "2026-05-19T15:00:00.000Z",
127 "disabled": true,
128 "availability": 0,
129 "assignedUsers": [
130 1101,
131 1102,
132 1103
133 ],
134 "totalAvailability": 3
135 },
136 {
137 "length": 30,
138 "utcHour": 15.5,
139 "date": "2026-05-19T15:30:00.000Z",
140 "disabled": true,
141 "availability": 0,
142 "assignedUsers": [
143 1101,
144 1102,
145 1103
146 ],
147 "totalAvailability": 3
148 },
149 {
150 "length": 30,
151 "utcHour": 16,
152 "date": "2026-05-19T16:00:00.000Z",
153 "disabled": false,
154 "availability": 3,
155 "assignedUsers": [],
156 "totalAvailability": 3
157 }
158 ]
159 }
160}
# Company OVAC Day Slots (`query`) Esta operación permite obtener el desglose detallado de los tramos horarios (`slots`) disponibles para una fecha específica. El método cuenta con una regla de filtrado dinámico del pasado: si se consulta el día en curso, el backend omitirá automáticamente los intervalos anteriores y solo devolverá aquellos cuya hora sea posterior a la hora actual de la solicitud. ### Autenticación > **Tipo:** API Key** Header:** `x-jwt-token` **Ubicación:** Header HTTP_ Ejemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` ## Referencia de la API ### Parámetros de Entrada (Variables) | Parámetro | Descripción | Requerido | Tipo | | --- | --- | --- | --- | | companyId | Identificador único de la entidad en OVAC donde se busca la disponibilidad. | SI | Integer | | statuteId | Identificador interno en OVAC asociado al trámite específico. | NO | Integer | | date | Fecha de consulta en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ). | SI | String | | reservedMode | `true` -> Muestra/aísla los tramos reservados por profesionales. <br>`false` -> Muestra el horario de atención al público habitual (Valor por defecto). | NO | Boolean | ### Campos de Respuesta (Payload) La consulta devuelve un array directo de objetos con todos los tramos horarios calculados bajo el campo raíz `companyOVACDaySlots`: | Parámetro | Descripción | Tipo | | --- | --- | --- | | companyOVACDaySlots | Array con la colección de todos los slots horarios calculados para el día. | Array | | companyOVACDaySlots.**length** | Duración de cada intervalo o hueco de cita expresado en minutos. | Integer | | companyOVACDaySlots.**utcHour** | Hora de inicio del slot en formato UTC decimal (ej. 6.0 = 06:00, 6.5 = 06:30, 6.25 = 06:15). | Float | | companyOVACDaySlots.**date** | Fecha y hora específica de inicio del slot en formato ISO 8601 UTC. | String | | companyOVACDaySlots.**disabled** | Estado de bloqueo del slot. true: Deshabilitado (no se puede reservar); false: Habilitado. | Boolean | | companyOVACDaySlots.**availability** | Número de huecos netos que quedan libres actualmente en este tramo para agendar. | Integer | | companyOVACDaySlots.**assignedUsers** | Array con los identificadores numéricos de los agentes disponibles en este tramo. En alta concurrencia. | Array | | companyOVACDaySlots.**totalAvailability** | Capacidad máxima o concurrencia total de citas simultáneas configurada para el slot. | Integer | 💡 **Nota Aclaratoria: Gestión de Agentes según el Tipo de Concurrencia** Dependiendo de cómo esté parametrizada la agenda de la entidad o trámite en el backend, la API responderá con lógicas distintas para determinar la ocupación: - **Baja Concurrencia (****`assignedUsers`****):** No se realiza una asignación dinámica en tiempo real. El array `assignedUsers` expone los IDs de los usuarios/agentes que **ya se encuentran ocupados** con una cita en esa franja. Sirve para descartar de forma preventiva a dichos profesionales. - **Alta Concurrencia (****`users`****):** Se computa la disponibilidad activa por agente en tiempo real. El método puede alternar o exponer un array de usuarios **completamente disponibles**. Este array se ordena automáticamente por carga de trabajo (desde el agente con menos citas hasta el que tiene más) para equilibrar el reparto. ## Ejemplos de Código y Peticiones ### 1\. Consulta GraphQL ``` graphql query CompanyOVACDaySlots ( $companyId: ID!, $statuteId: ID, $date: String!, $reservedMode: Boolean ){ companyOVACDaySlots( companyId: $companyId, statuteId: $statuteId, date: $date, reservedMode: $reservedMode ) } ``` ### 2\. Variables de la Petición (JSON Payload) ``` json { "companyId": "2191", "statuteId": "", "date": "2026-05-19T00:00:00.000Z", "reservedMode": false } ``` ### 3\. Ejemplo de comando cURL ``` bash curl --location "https://api.ovac.pre.councilbox.com/graphql" \ --header "Content-Type: application/json" \ --header "x-jwt-token: {{token}}" \ --data '{"query":"query companyOVACDaySlots ($companyId: ID!, $statuteId: ID, $date: String!, $reservedMode: Boolean){ companyOVACDaySlots(companyId: $companyId, statuteId: $statuteId, date: $date, reservedMode: $reservedMode) }","variables":{"companyId":"2191","statuteId":"","date":"2026-05-19T00:00:00.000Z","reservedMode":false}}' ``` ### 4\. Respuesta Esperada (200 OK) ``` json { "data": { "companyOVACDaySlots": [ { "length": 30, "utcHour": 14.5, "date": "2026-05-19T14:30:00.000Z", "disabled": false, "availability": 1, "assignedUsers": [], "totalAvailability": 1 }, { "length": 30, "utcHour": 15.0, "date": "2026-05-19T15:00:00.000Z", "disabled": true, "availability": 0, "assignedUsers": [], "totalAvailability": 1 }, { "length": 30, "utcHour": 15.5, "date": "2026-05-19T15:30:00.000Z", "disabled": true, "availability": 0, "assignedUsers": [ 3477 ], "totalAvailability": 1 }, { "length": 30, "utcHour": 16.0, "date": "2026-05-19T16:00:00.000Z", "disabled": false, "availability": 1, "assignedUsers": [], "totalAvailability": 1 } ] } } ``` > **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como `/graphql/companyovacdayslots` para que Fern pueda mostrarla como operación independiente. La ruta técnica real de ejecución es `POST /graphql`.
Was this page helpful?
Previous

Company Month Schedule

Next

Share appointment

Built with

Esta operación permite obtener el desglose detallado de los tramos horarios (slots) disponibles para una fecha específica. El método cuenta con una regla de filtrado dinámico del pasado: si se consulta el día en curso, el backend omitirá automáticamente los intervalos anteriores y solo devolverá aquellos cuya hora sea posterior a la hora actual de la solicitud.

Autenticación

Tipo: API Key**
Header:** x-jwt-token
Ubicación: Header HTTP_
Ejemplo:_ x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...

Referencia de la API

Parámetros de Entrada (Variables)

ParámetroDescripciónRequeridoTipo
companyIdIdentificador único de la entidad en OVAC donde se busca la disponibilidad.SIInteger
statuteIdIdentificador interno en OVAC asociado al trámite específico.NOInteger
dateFecha de consulta en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ).SIString
reservedModetrue -> Muestra/aísla los tramos reservados por profesionales.
false -> Muestra el horario de atención al público habitual (Valor por defecto).
NOBoolean

Campos de Respuesta (Payload)

La consulta devuelve un array directo de objetos con todos los tramos horarios calculados bajo el campo raíz companyOVACDaySlots:

ParámetroDescripciónTipo
companyOVACDaySlotsArray con la colección de todos los slots horarios calculados para el día.Array
companyOVACDaySlots.lengthDuración de cada intervalo o hueco de cita expresado en minutos.Integer
companyOVACDaySlots.utcHourHora de inicio del slot en formato UTC decimal (ej. 6.0 = 06:00, 6.5 = 06:30, 6.25 = 06:15).Float
companyOVACDaySlots.dateFecha y hora específica de inicio del slot en formato ISO 8601 UTC.String
companyOVACDaySlots.disabledEstado de bloqueo del slot. true: Deshabilitado (no se puede reservar); false: Habilitado.Boolean
companyOVACDaySlots.availabilityNúmero de huecos netos que quedan libres actualmente en este tramo para agendar.Integer
companyOVACDaySlots.assignedUsersArray con los identificadores numéricos de los agentes disponibles en este tramo. En alta concurrencia.Array
companyOVACDaySlots.totalAvailabilityCapacidad máxima o concurrencia total de citas simultáneas configurada para el slot.Integer

💡 Nota Aclaratoria: Gestión de Agentes según el Tipo de Concurrencia

Dependiendo de cómo esté parametrizada la agenda de la entidad o trámite en el backend, la API responderá con lógicas distintas para determinar la ocupación:

  • Baja Concurrencia (assignedUsers): No se realiza una asignación dinámica en tiempo real. El array assignedUsers expone los IDs de los usuarios/agentes que ya se encuentran ocupados con una cita en esa franja. Sirve para descartar de forma preventiva a dichos profesionales.

  • Alta Concurrencia (users): Se computa la disponibilidad activa por agente en tiempo real. El método puede alternar o exponer un array de usuarios completamente disponibles. Este array se ordena automáticamente por carga de trabajo (desde el agente con menos citas hasta el que tiene más) para equilibrar el reparto.

Ejemplos de Código y Peticiones

1. Consulta GraphQL

1query CompanyOVACDaySlots (
2 $companyId: ID!,
3 $statuteId: ID,
4 $date: String!,
5 $reservedMode: Boolean
6){
7 companyOVACDaySlots(
8 companyId: $companyId,
9 statuteId: $statuteId,
10 date: $date,
11 reservedMode: $reservedMode
12 )
13}

2. Variables de la Petición (JSON Payload)

1{
2 "companyId": "2191",
3 "statuteId": "",
4 "date": "2026-05-19T00:00:00.000Z",
5 "reservedMode": false
6}

3. Ejemplo de comando cURL

$curl --location "https://api.ovac.pre.councilbox.com/graphql" \
>--header "Content-Type: application/json" \
>--header "x-jwt-token: {{token}}" \
>--data '{"query":"query companyOVACDaySlots ($companyId: ID!, $statuteId: ID, $date: String!, $reservedMode: Boolean){ companyOVACDaySlots(companyId: $companyId, statuteId: $statuteId, date: $date, reservedMode: $reservedMode) }","variables":{"companyId":"2191","statuteId":"","date":"2026-05-19T00:00:00.000Z","reservedMode":false}}'

4. Respuesta Esperada (200 OK)

1{
2 "data": {
3 "companyOVACDaySlots": [
4 {
5 "length": 30,
6 "utcHour": 14.5,
7 "date": "2026-05-19T14:30:00.000Z",
8 "disabled": false,
9 "availability": 1,
10 "assignedUsers": [],
11 "totalAvailability": 1
12 },
13 {
14 "length": 30,
15 "utcHour": 15.0,
16 "date": "2026-05-19T15:00:00.000Z",
17 "disabled": true,
18 "availability": 0,
19 "assignedUsers": [],
20 "totalAvailability": 1
21 },
22 {
23 "length": 30,
24 "utcHour": 15.5,
25 "date": "2026-05-19T15:30:00.000Z",
26 "disabled": true,
27 "availability": 0,
28 "assignedUsers": [
29 3477
30 ],
31 "totalAvailability": 1
32 },
33 {
34 "length": 30,
35 "utcHour": 16.0,
36 "date": "2026-05-19T16:00:00.000Z",
37 "disabled": false,
38 "availability": 1,
39 "assignedUsers": [],
40 "totalAvailability": 1
41 }
42 ]
43 }
44}

Nota OpenAPI/Fern: esta operación GraphQL se documenta como /graphql/companyovacdayslots para que Fern pueda mostrarla como operación independiente. La ruta técnica real de ejecución es POST /graphql.

Authentication

x-jwt-tokenstring
JWT token obtained from Login.

Request

This endpoint expects an object.
querystringRequired
GraphQL operation
variablesobjectOptional
GraphQL variables

Response

Successful response. GraphQL business errors may be returned inside the JSON errors field while transport status remains HTTP 200.