Agendador Environment
Conjunto inicial de servicios de salón usado por el asistente agendador para describir ofertas y crear reservas.
services appointments scheduling seed-data catalog salon
Este conjunto de datos inicial es el complemento del ejemplo Agente agendador, que obtiene este catálogo para listar las ofertas y los precios. El ZIP del agente ya incluye el mismo conjunto inicial, por lo que solo necesita esta descarga para poblar el catálogo de forma independiente.
Qué está incluido
El ZIP contiene el tipo personalizado Services (ct:services) y 5 documentos:
| # | Nombre | Detalles |
|---|---|---|
| 1 | Corte de cabelo | R$ 50, 30 min |
| 2 | Barba | R$ 35, 20 min |
| 3 | Corte + Barba | R$ 75, 45 min |
| 4 | Hidratação capilar | R$ 60, 40 min |
| 5 | Sobrancelha | R$ 25, 15 min |
JSON Completo
Tipo personalizado (custom_types.json)
Clic para expandir
[
{
"_id": {
"$oid": "c7a4b1e2d3f4051627384901"
},
"slug": "services",
"name": "Services",
"description": "Service catalogue. Each service defines a duration and price.",
"purpose": "Represents bookable services offered by the company. Referenced from ct:events.services[]. Use when the user asks about pricing, durations, or offerings.",
"fields": [
{
"name": "employeeId",
"description": "Provider employee.",
"schema": {
"type": "ref",
"ref": "employees",
"required": true
},
"cel": {
"label": "t('services_employeeId')"
}
},
{
"name": "name",
"description": "Service name (unique per employee).",
"schema": {
"type": "string",
"required": true,
"trim": true,
"maxLength": 64
},
"cel": {
"label": "t('name')"
}
},
{
"name": "value",
"description": "Price.",
"schema": {
"type": "number",
"required": true,
"min": 0,
"max": 1000
},
"cel": {
"label": "t('price')"
}
},
{
"name": "durationMinutes",
"description": "Duration in minutes.",
"schema": {
"type": "number",
"required": true,
"min": 5,
"max": 360
},
"cel": {
"label": "t('duration')"
}
}
],
"indexedPaths": [
"employeeId"
],
"mcpTips": [
"Every service belongs to a specific employee via employeeId.",
"Event end times are computed from sum of selected service durations (see the agenda-ensure-services-end-timestamp workflow)."
],
"cel": {
"preview": {
"lines": [
{
"parts": [
{
"type": "text",
"expr": "(has(values, 'name') && values.name != '') ? values.name : ffConcat('Service ', ffShortId(values._id))"
}
]
},
{
"parts": [
{
"type": "text",
"expr": "ffConcat(ffMoney(values.value), ' · ', values.durationMinutes, ' min')"
}
]
}
]
}
}
}
]
Documentos iniciales (custom_type_docs.json)
Clic para expandir
[
{
"_id": {
"$oid": "5df3d9175e394707dd181130"
},
"customTypeId": {
"$oid": "c7a4b1e2d3f4051627384901"
},
"data": {
"employeeId": "<employee-id>",
"name": "Corte de cabelo",
"value": 50,
"durationMinutes": 30
}
},
{
"_id": {
"$oid": "dff033ceb254004cbff3c651"
},
"customTypeId": {
"$oid": "c7a4b1e2d3f4051627384901"
},
"data": {
"employeeId": "<employee-id>",
"name": "Barba",
"value": 35,
"durationMinutes": 20
}
},
{
"_id": {
"$oid": "da5bce3930518b821c531b29"
},
"customTypeId": {
"$oid": "c7a4b1e2d3f4051627384901"
},
"data": {
"employeeId": "<employee-id>",
"name": "Corte + Barba",
"value": 75,
"durationMinutes": 45
}
},
{
"_id": {
"$oid": "f1a00296350b9abde4f1fc43"
},
"customTypeId": {
"$oid": "c7a4b1e2d3f4051627384901"
},
"data": {
"employeeId": "<employee-id>",
"name": "Hidratação capilar",
"value": 60,
"durationMinutes": 40
}
},
{
"_id": {
"$oid": "87168436540bd70ff795c35a"
},
"customTypeId": {
"$oid": "c7a4b1e2d3f4051627384901"
},
"data": {
"employeeId": "<employee-id>",
"name": "Sobrancelha",
"value": 25,
"durationMinutes": 15
}
}
]
Cómo Importar
- Descargue el archivo ZIP usando el botón de arriba
- Navegue a Configuración de la Empresa → Transferencia de Datos en su panel de AutoTalk
- Haga clic en Importar y seleccione el archivo ZIP descargado
- Revise el resumen de importación y confirme
- Todos los IDs de documentos se remapean automáticamente — no se necesita edición manual de IDs
aviso
Los documentos iniciales vienen con un placeholder <employee-id>. Después de importar, edite cada servicio para que employeeId apunte a uno de sus empleados.