Servicios
Los servicios o event-type
son los conceptos fundamentales de TimeTime. Un event-type
sirve para representar un servicio que puede ser reservado. Por ejemplo, una peluquería puede tener dos tipos de eventos: "Corte de pelo" y "Lavar y peinar".
Atributos básicos
Id (id)
Un uuid representando el servicio.
Nombre (name)
El nombre del servicio. Por ejemplo, "Clase de surf".
Descripción (description)
Una descripción del servicio. Por ejemplo, "Clase de surf de 1h. No incluye material".
Dueño (userId)
El id del usuario que es dueño del servicio.
Atributos de UI
Imagen (imageUrl)
Una URL a una imagen en formato png
o jpg
que se utiliza en la UI para ilustrar el servicio.
Theme (theme)
Un objeto theme
que contiene los colores que se utilizarán en la UI para representar el servicio. Por ejemplo:
{
"primary": "#ff0000",
"secondary": "#00ff00",
"tertiary": "#0000ff"
}
Etiqueta de unidades (unitsLabel)
Sólo se activa cuando el servicio tiene unidades. Indica a la UI que mostrar en el selector.
Ejemplo: Clase de surf
{
"unitsLabel": "Alumnos"
}
Ejemplo: Etiqueta unidades para un restaurante
{
"unitsLabel": "Comensales"
}
Preguntas
Es habitual que los servicios tengan preguntas asociadas. Por ejemplo, un retaurante puede querer concer alergias de los clientes. Las preguntas se definen en el atributo questions
del servicio.
Las preguntas son un Array de objetos de tipo pregunta que a su vez tienen diferentes subtipos: EmailQuestion
,LocationQuestion
,PasswordQuestion
,PhoneQuestion
,TextQuestion
.
Todas las preguntas tienen id
label
y required
como atributos comunes. El campo LocationQuestion
tiene un atributo adicional AllowedOptions
que define que opciones están disponibles para el usuario.
Email
Las preguntas de tipo email permiten preguntar al cliente por su correo electrónico.
Ejemplo: Pregunta de tipo email
questions: [
{
id: "b10bb986-2732-41d0-bf19-e0700eed2158"
label: "Escribe tu email",
required: true,
type: "EmailQuestion",
},
];
Ubicación
Las preguntas de tipo localización permiten al cliente intriducir una localización.
Ejemplo: Pregunta de tipo localización
questions: [
{
id: "b10bb986-2732-41d0-bf19-e0700eed2158"
label: "Escribe tu localización",
required: true,
type: "LocationQuestion",
allowedOptions: ["Spain", "France", "Germany"],
},
];
Contraseña
Las preguntas de tipo contraseña permiten preguntar al cliente por su contraseña.
Ejemplo: Pregunta de tipo contraseña
questions: [
{
id: "b10bb986-2732-41d0-bf19-e0700eed2158"
label: "Escribe tu contraseña",
required: true,
type: "PasswordQuestion",
},
];
Teléfono
Las preguntas de tipo teléfono permiten preguntar al cliente por su teléfono.
Ejemplo: Pregunta de tipo teléfono
questions: [
{
id: "b10bb986-2732-41d0-bf19-e0700eed2158"
label: "Escribe tu teléfono",
required: true,
type: "PhoneQuestion",
},
];
Texto
Las preguntas de tipo texto permiten al cliente introducir un texto genérico antes de realizar la reserva.
Ejemplo: Pregunta de tipo texto
questions: [
{
id: "b10bb986-2732-41d0-bf19-e0700eed2158"
label: "Indicanos tus preferencias alimentarias",
required: true,
type: "TextQuestion",
},
];
Reglas de disponibilidad
Las reglas de disponibilidad permiten especificar bajo que circustancias se puede reservar un hueco en el servicio. Por ejemplo estableciendo un horario, o estableciendo un límite de reservas por día.
Consultar la sección de reglas de disponibilidad. para ver todos los tipos de reglas disponibles.
Notificaciones
El campo notificaciones permite añadir mensajes de confirmación y reordatorios asociados a las reservas que se produzcan en el servicio. Para una configuración más avanzada y más personalización es recomendable utilizar webhooks. Más información sobre webhooks