Un restaurante que funciona sobre su propio software
Alsafi hace funcionar toda su sala — pedidos, pagos, tiques — sobre su propia plataforma: ningún marketplace llevándose una comisión por el medio, y una administración tributaria alemana satisfecha antes de imprimir el primer tique.

La pregunta que todo comensal se hace de verdad, resuelta antes de desplazarse: abierto ahora, horario de cocina, y una mesa o un pedido a un toque. La carta completa, filtrada por alérgeno o dieta, cada plato con sus letras de alérgenos en lugar de una nota al pie que nadie lee. Un carrito real a media compra — una bebida sugerida, no impuesta, gastos de envío e IVA dichos antes de pagar y no descubiertos al final. Reservar mesa pide un nombre, un teléfono y cuántos son — nada ante lo que un cliente se echaría atrás. Los números del propio dueño, no una maqueta: páginas vistas, ingresos, ticket medio y conversiones en un periodo elegido. La raya que la plataforma se traza sola: esta página cuenta pedidos para planificar, y dice sin rodeos que no es la cifra fiscal — esa vive en el informe Z. La pantalla de exportación DSFinV-K, citando la norma exacta para la que existe. Toda exportación queda registrada, incluso una rechazada. La página de estado del propio dispositivo de firma: qué unidad está firmando, en pruebas o en real, y qué limita de verdad una década de conservación. La cola de pedidos en directo — reparto, en sala, para llevar y recogida en coche en un solo flujo, cada pedido con su propio estado. El tablero de la cocina: tres columnas, con las líneas de comanda dimensionadas para leerse desde el otro extremo de una línea caliente, con prisa. Marcar un plato agotado es un toque y surte efecto al instante — sin republicar, precios y fotos intactos. Los más de cien platos y bebidas en una sola tabla, alemán e inglés uno al lado del otro, activados uno a uno. Las propias secciones de la carta, reordenadas arrastrando. El orden de aquí es el que ve un cliente. Grupos de extras con reglas de elección de verdad — un mínimo y un máximo impuestos por grupo, no solo ofrecidos. Cada plato comprobado contra las catorce categorías de alérgenos reguladas por la UE en una sola rejilla, y no en cien ediciones sueltas. Los datos de reseñas de Google traídos a la administración: el reparto de valoraciones, y qué reseñas siguen esperando respuesta. El mismo patrón de editor bilingüe que este sitio usa en otras partes: cada texto, alemán e inglés, en un solo sitio. Acceso por rol hasta quién puede entrar y como qué — una cuenta de propietario no es una cuenta de sala. Un boletín semanal compuesto a partir de los menús del día y los eventos de esa misma semana, no escrito desde una página en blanco.
- Sector
- Hostelería
- Mercado
Alemania
- Entregado
- 2026
Alsafi es un restaurante familiar iraquí-levantino en la Hertzstraße, en Heidelberg. Antes, pedir significaba pasar por un agregador: una comisión en cada plato, una relación con el cliente en manos de otro, y una cocina leyendo comandas de un sistema que allí no había elegido nadie.
Ahora funcionan sobre el suyo.
Qué significa de verdad «todo»
Una sola base de código lleva cuatro trabajos distintos, y cada uno tiene enfrente a una persona distinta.
- El comensal que decide si viene. Carta, menú del día, historia de la casa, horarios y reseñas, pensados primero para el móvil, porque así se comprueba si un restaurante merece el paseo.
- El comensal que pide. Un embudo con opciones y sugerencias, pago con Stripe, propina y seguimiento del pedido en directo con una estimación real. Es el camino del dinero, y está hecho para quitar inquietud y no para inflar el carrito.
- El comensal con cuenta. Poco frecuente, mucho en juego: entrar, conseguir lo que quiere, salir.
- Quien hace el servicio. Sesenta y seis pantallas de personal, un monitor de cocina que se lee a distancia y bajo presión, y las impresiones que la sala usa de verdad.
Se instala desde el navegador en un móvil, una tableta, un Mac, un PC con Windows o un escritorio Linux. Una base de código, sin tienda de aplicaciones, sin compilaciones separadas que mantener a la par.
La carta es una base de datos, no un PDF
Ciento tres platos repartidos en quince categorías, cada uno con sus variantes y precios, y sus grupos de opciones para las elecciones que el comensal hace de verdad: el tamaño, la guarnición, el punto. La cocina lo edita todo. Nadie vuelve a maquetar un documento.
Debajo de cada plato está la parte que le importa a la ley alemana. Catorce alérgenos regulados por la UE y dieciséis declaraciones de aditivos se registran por plato y no por carta, contrastados con la misma matriz con la que cocina la cocina, y no con un PDF que nadie se acuerda de actualizar. Un comensal puede descartar un alérgeno, o reducir toda la carta a vegana, vegetariana o halal, antes de comprometerse con un pedido y no después.
El mediodía va en su propia rotación, con sus platos y su semana. Un plato agotado sale de la carta con un toque y vuelve en cuanto lo hay — el comensal lo ve, la caja lo ve, y nadie tiene que acordarse de avisar al otro.
Pedir, pagar y saber por dónde va el pedido
El reparto se dibuja por zonas y no por radio, porque una calle o es, o no es, un sitio donde la comida llega caliente. Recoger es una primera opción, no un plan B. El comensal que vuelve conserva sus direcciones; al que viene por primera vez no se le obliga a abrir una cuenta para comer, y puede vincular después el pedido a una si quiere el historial.
El pago va por Stripe, con la propina tratada como línea propia y no fundida en el total. Una vez enviado el pedido, el comensal tiene un estado en directo con una estimación real y — si lo permite — un aviso cuando la cocina lo cambia, para que nadie se quede recargando una página preguntándose si va a llegar la cena.
Las devoluciones son la parte que tiene que salir bien a la primera. La fila de devolución se escribe antes de llamar a Stripe y su propio identificador hace de clave de idempotencia, así que ni un reintento, ni un doble clic, ni una conexión perdida pueden devolver dos veces el mismo pedido. El total devuelto del pedido se deriva de esas filas y no se teclea en ningún sitio.
La sala, tal como es de verdad
El plano está en el sistema: dos locales, veintiún zonas, trescientas cincuenta y tres mesas. Las reservas caen sobre mesas reales y no sobre un aforo abstracto, que es la diferencia entre un sistema de reservas y una hoja de cálculo con un formulario más bonito.
La sala, y la gente que está en ella
Los terminales se emparejan con el sistema en lugar de merecer confianza por estar en la red: la caja, los móviles de sala y la pantalla de cocina llevan cada uno un token de dispositivo, y los códigos de emparejamiento y los tokens se guardan como huellas que ningún cliente puede volver a leer. El personal entra con un PIN, cifrado con bcrypt, con bloqueo tras varios fallos, porque una caja en pleno servicio es el teclado menos privado del edificio.
Los roles son reales. La cuenta de un titular y una cuenta de sala no son la misma puerta, y el monitor de cocina muestra comandas dimensionadas para leerse al otro lado de una línea caliente, no un panel encogido para que quepa.
Las horas trabajadas, llevadas como quiere la ley
El cuadrante separa el borrador de un responsable de lo que al equipo se le ha comunicado de verdad: un turno o está publicado o no lo está. Junto a él está el registro de jornada que exige la Arbeitszeitgesetz: inicio, fin, duración y pausa, conservados dos años.
Las correcciones son la parte interesante. Cambiar una hora no la sobrescribe: el original queda al lado del nuevo, con un autor y un motivo. Un registro que se puede reescribir en silencio no es un registro, y un inspector lo sabe.
La parte que casi todas las agencias se saltan sin decirlo
Alemania no deja que un restaurante simplemente cobre. Cada transacción debe ir firmada por un dispositivo técnico de seguridad certificado, y la administración tributaria puede pedir una exportación DSFinV-K que cubra diez años de actividad.
Está integrada. La plataforma habla con un proveedor de TSE certificado por el BSI, compone el esquema fiscal a partir de la especificación vigente y no de memoria, y exporta el paquete DSFinV-K completo a demanda — con una traza de auditoría de quién exportó qué periodo, cuándo, y la huella exacta de lo que se le entregó.
El resto del cuadro fiscal está porque un inspector lo pedirá. Cada día se cierra en un Kassenabschluss, el número Z al que pertenece cada transacción del sistema. Los movimientos de efectivo que no son ventas — el fondo de caja, los ingresos, las retiradas, los tránsitos, las diferencias contadas, las propinas, los envases retornables, los vales — se registran como su propio tipo de evento en lugar de colarse en la facturación. Y cuando la propia TSE se cae, la interrupción se anota con su hora y su causa y se señala en cualquier tique emitido durante ella, que es exactamente lo que exige la AEAO y exactamente lo que nadie se acuerda de construir.
Una venta firmada no se puede borrar durante una década, así que el código que produce una está escrito para que lo lea un inspector, y no solo para pasar una prueba.
Hacemos el mismo trabajo en Egipto, para la facturación electrónica de la administración tributaria egipcia, y en Arabia Saudí para ZATCA. Los países difieren; la disciplina no.
A un pedido no le pasa nada sin un nombre encima
Cada pedido lleva un registro de eventos de solo adición, y esos eventos no los escribe quien resulte tener la conexión. Cada uno anota quién actuó, en qué papel, desde qué superficie y por qué: un cambio de estado desde la pantalla de cocina, una edición desde la oficina, una devolución con un motivo adjunto.
La propia tabla de pedidos es de solo lectura para la interfaz de administración. Toda escritura pasa por una función de servidor, porque son los únicos llamantes capaces de establecer quién está actuando. Una escritura directa en la tabla quedaría registrada como hecha por el sistema, y «lo hizo el sistema» no es una respuesta que nadie quiera darle a un inspector.
El marketing del restaurante, en manos del restaurante
El contenido del sitio — cabecera, bloques de historia, galería, eventos — se edita en la misma administración que todo lo demás, y luego se publica como una tarea y no en directo, para que una frase a medias nunca esté a una recarga de un comensal.
Alrededor está todo lo que un restaurante alquila de otro modo: un blog, ofertas de empleo con candidaturas, opiniones de comensales, tickets de soporte y enlaces cortos rastreables para impresión y QR, para distinguir un folleto de un expositor de mesa. Las reseñas de Google se sincronizan en la misma administración donde viven las exportaciones fiscales. Un boletín semanal se arma con los platos del día reales de esa semana y no se escribe de cero, con doble confirmación, baja en un clic y registro de envíos.
Los comensales que quieren una persona la tienen: chat en directo con indicador de escritura y notas de voz, llevado como una conversación y no como un ticket.
Analítica que no vende a los comensales
El restaurante puede ver cómo ha sido el día — facturación, pedidos, ticket medio, qué plato atrae más atención, qué horas están llenas en su propia zona horaria, de dónde vienen las visitas y dónde una visita se convierte en algo.
Nada de eso se compra a un tercero, y nada sigue a nadie. Los visitantes únicos se cuentan con huellas saladas de vida corta que se purgan a los dos días; los países vienen de la red de distribución y no de un rastreador. Ninguna tipografía, ningún icono y ningún script se carga desde el servidor de otro. Es una decisión de RGPD y de seguridad de contenidos antes que de rendimiento, y hace que a un comensal que lee una carta no se le presente en voz baja a una red publicitaria.
El panel también traza con cuidado su propia raya: cuenta pedidos para planificar y lo dice abiertamente, porque la cifra jurídicamente vinculante vive en el informe Z, no aquí.
Trilingüe, y el árabe como es debido
El alemán da fe. El inglés y el árabe están para cada texto sin excepción, y el árabe es de derecha a izquierda por entero: maquetación en espejo, propiedades lógicas, su propia pila tipográfica. No una traducción atornillada al final, que es lo que separa un sitio que un arabófono puede usar de otro que solo puede leer.
Nada se considera terminado hasta que aguanta en claro y en oscuro, de izquierda a derecha y de derecha a izquierda, y desde un móvil de 375 píxeles hasta un escritorio.
Construido para ser comprobado
Cuatrocientos sesenta y seis ficheros de prueba. Accesibilidad verificada con comprobaciones automáticas y no a ojo. WCAG AA como restricción y no como aspiración, con áreas táctiles de 44 píxeles y el movimiento reducido respetado en todo.
Lo que cuesta no ser dueño de esto
Un agregador puede copiar una carta. No puede copiar la hospitalidad de una familia, y no va a devolver la relación con el cliente. Cada decisión de este proyecto se juzgó con una sola pregunta: ¿lo habría hecho así un marketplace? Donde la respuesta era sí, hicimos otra cosa.
En esta página
¿Qué tendría que hacer el suyo?
Treinta minutos con el ingeniero que lo construiría, no con un comercial. Respuestas francas sobre el alcance, sobre el coste, y sobre dónde está el riesgo de verdad.