Producto
Tipos de operación
Precios
Comparar
Recursos
Iniciar sesión Ver demo de 15 minutos ESEN
Artículo · 8 min

Operaciones atómicas: por qué un cargo al folio debe ocurrir completo o no ocurrir

Un cargo a la habitación toca dos sistemas a la vez: el restaurante de tu hotel y el folio del huésped en recepción. Si la tablet se apaga a la mitad, el sistema tiene que decidir qué hacer con esa mitad, y esa decisión es la diferencia entre un hotel confiable y uno que discute con sus huéspedes.

Una noche cualquiera, un mesero del restaurante de tu hotel cobra la cena de la habitación 214 con cargo al folio. La tablet confirma en pantalla, el huésped firma, todos se van a dormir tranquilos. Tres días después, en la salida, recepción no encuentra ese cargo en el folio. El huésped jura que pagó. El mesero jura que cobró. Y nadie tiene la razón ni la culpa: lo que pasó es que la operación se completó a medias, y nadie diseñó el sistema para esa mitad.

Qué es una operación atómica, sin jerga

Atómica significa, en este contexto, que una operación no se puede partir. O sucede completa, con todos sus efectos, o no sucede en absoluto, sin dejar ningún efecto a medias. Un cargo a la habitación no es una sola cosa: es al menos dos cosas que tienen que pasar juntas: se registra el consumo en el restaurante, y se registra el mismo monto en el folio del huésped en recepción. Si esas dos cosas no ocurren como una sola unidad, existe la posibilidad real de que una ocurra y la otra no.

La palabra “atómica” viene de la física, donde un átomo se pensaba indivisible. En un sistema para el restaurante de un hotel, la idea es la misma: hay operaciones que, por su naturaleza, no pueden quedar a la mitad sin generar un problema real para alguien: el huésped, el restaurante o la contraloría del hotel.

El caso de la tablet que se apaga a medio camino

Imagina la secuencia exacta de un cargo a la habitación: el mesero selecciona la habitación 214, el sistema verifica que el huésped está registrado y con estancia activa, el mesero confirma el monto, y el sistema tiene que hacer dos cosas: cerrar el ticket del restaurante como pagado y sumar el monto al folio de la habitación 214. Ahora imagina que justo entre esas dos cosas, la tablet se queda sin batería, pierde la señal de la red del hotel o simplemente se congela.

Sin diseño atómico, existen tres resultados posibles y solo uno es correcto: que el ticket quede cerrado en el restaurante pero el folio nunca reciba el cargo, que el folio reciba el cargo pero el ticket del restaurante quede abierto para siempre como si nadie hubiera pagado, o que las dos cosas ocurran juntas, que es el único resultado aceptable. Un sistema mal diseñado deja que el azar de en qué milisegundo se apagó la tablet decida cuál de los tres resultados obtienes.

Qué pasa cuando el cargo ocurre “a medias”

El escenario más costoso es el primero: el restaurante cree que ya cobró, cierra el ticket, el mesero sigue con la siguiente mesa, y el folio del huésped nunca ve ese monto. Nadie se entera hasta la salida, cuando recepción presenta un estado de cuenta que no incluye la cena, y el huésped, que sí recuerda haber firmado algo, se molesta con toda razón. El restaurante perdió el ingreso, recepción quedó mal frente al huésped y nadie puede explicar qué pasó porque, desde la vista del restaurante, todo salió bien.

El escenario contrario también es real y también es malo: el folio recibe el cargo, pero el ticket del restaurante queda abierto. Al cierre del turno, el corte de caja muestra una mesa abierta que nadie puede cerrar sin duplicar el cobro, porque el folio ya tiene el cargo. El cajero termina forzando un cierre manual, y ese tipo de cierres manuales es exactamente lo que hace que un corte de caja no cuadre al final del mes.

Cómo se garantiza que ocurra completo o no ocurra

La solución no es pedirle a la red del hotel que nunca falle, porque va a fallar: se va la luz, un router se reinicia, una tablet se queda sin batería en el peor momento. La solución es que el sistema esté diseñado para que la falla, cuando ocurra, no deje una mitad de la operación hecha y la otra mitad pendiente.

  1. El servidor recibe la solicitud completa del cargo antes de tocar cualquier dato: qué ticket, qué habitación, qué monto.
  2. El servidor verifica todas las condiciones primero: que la estancia sigue activa, que el huésped tiene permitido el cargo a la habitación, que el monto es válido.
  3. Solo si todas las condiciones se cumplen, el servidor aplica los dos cambios juntos: cierra el ticket y suma el monto al folio, como una sola unidad de trabajo.
  4. Si algo falla en cualquier punto antes de ese paso final, ninguno de los dos cambios se guarda: el ticket sigue abierto y el folio no recibe nada.
  5. La tablet recibe una confirmación explícita solo cuando el servidor ya guardó los dos cambios juntos, nunca antes.
  6. Si la tablet se apaga justo después de enviar la solicitud pero antes de recibir la confirmación, al volver a encender pregunta al servidor qué pasó con esa solicitud específica, en lugar de asumir un resultado o reenviarla a ciegas.

El papel de la cola de reintentos

Cuando la tablet pierde la conexión con el servidor a media operación, la peor respuesta es que el mesero reintente el cargo desde cero sin saber si el primero se aplicó. Un sistema bien diseñado guarda cada solicitud con un identificador único, de modo que si la misma solicitud llega dos veces, el servidor la reconoce y no la aplica por segunda vez. Así, el mesero puede reintentar con confianza: si el primer intento sí se guardó, el segundo no hace nada nuevo; si no se guardó, el segundo lo completa.

Qué reportar cuando algo falla: mostrar el fallo, no ocultarlo

Ningún diseño elimina el cien por ciento de las fallas de red o de dispositivo. Lo que sí se puede eliminar es el silencio sobre esas fallas. Cuando una operación no se puede completar por cualquier razón, el sistema debe decirlo con claridad en la pantalla del mesero, y debe registrar el intento fallido en el mismo historial de auditoría donde se registran las operaciones exitosas, de forma que el gerente pueda revisar cuántas fallas hubo en un turno y por qué.

Un sistema que oculta las fallas, mostrando siempre una pantalla de éxito aunque algo haya salido mal por dentro, es más peligroso que uno que a veces falla visiblemente. La visibilidad del fallo le permite al mesero reintentar de inmediato, con el huésped presente, en lugar de descubrirlo tres días después en la salida.

Un ejemplo ilustrativo del costo de no ser atómico

Las cifras que siguen son inventadas para mostrar el cálculo, no describen ningún hotel real. Imagina un restaurante de hotel que procesa 60 cargos a la habitación por noche, y que uno de cada veinte se ve interrumpido por algún corte de red o de energía en la propiedad.

ConceptoValor (ejemplo ilustrativo)
Cargos a la habitación por noche60
Proporción interrumpida por fallas de red1 de cada 20
Cargos interrumpidos por noche60 ÷ 20 = 3
Monto promedio por cargo450
Ingreso en riesgo por noche sin diseño atómico3 × 450 = 1,350
Ingreso en riesgo en un mes de 30 noches1,350 × 30 = 40,500
Ejemplo ilustrativo. Las cifras son inventadas para mostrar el efecto de una operación que puede quedar a medias.

En el ejemplo, sin un diseño que garantice que el cargo ocurre completo o no ocurre, el hotel tendría 40,500 en riesgo cada mes solo por interrupciones de red, repartido entre ingreso que el restaurante nunca cobra y disputas que recepción tiene que resolver con huéspedes que ya se fueron. Con una operación atómica bien construida, esas tres interrupciones diarias no desaparecen, pero ninguna deja un cargo a medias: o se completan cuando la conexión vuelve, o quedan claramente marcadas como pendientes para que alguien las revise en el momento.

Por qué esto también protege a recepción

Recepción suele ver el cargo a la habitación como un problema del restaurante, hasta que el huésped se planta frente al mostrador a discutir un cargo que no reconoce. Cuando la operación es atómica, recepción tiene la certeza de que todo lo que aparece en el folio corresponde a un consumo real que también existe en el historial del restaurante, con fecha, hora y quién lo registró. Esa certeza es lo que le permite al recepcionista defender el estado de cuenta frente al huésped sin tener que llamar al restaurante a media salida a preguntar “¿de verdad cobraste esto?”.

  • El folio nunca muestra un cargo que el restaurante no puede explicar con su propio historial.
  • El restaurante nunca cierra un ticket que no llegó a sumarse al folio correspondiente.
  • Una falla de red se ve como una operación pendiente clara, no como un cargo perdido en silencio.
  • La reconciliación entre restaurante y recepción al final del día se reduce a revisar excepciones, no todo el volumen.
En corto

Un cargo a la habitación toca dos sistemas a la vez: el restaurante y el folio. Debe diseñarse para que ocurra completo en los dos o no ocurra en ninguno, nunca a medias. Cuando la red falla, el sistema debe mostrar el fallo con claridad y permitir reintentar sin duplicar, en lugar de dejar que el azar decida qué lado se quedó con el cargo.

Qué hacer esta semana

  1. Pregunta a tu proveedor actual qué pasa exactamente si la tablet pierde conexión justo después de confirmar un cargo a la habitación.
  2. Pide ver el historial de auditoría de un cargo fallido reciente y confirma si quedó registrado como pendiente o simplemente desapareció.
  3. Revisa con recepción cuántas disputas de folio tuvieron el mes pasado y cuántas se debieron a un cargo que el restaurante decía haber hecho pero el folio no mostraba.
  4. Identifica los puntos de la propiedad con peor señal de red, porque son los que más van a exponer este problema.
  5. Si tu sistema actual no puede explicar con claridad qué hace ante una interrupción a medio cargo, súmalo a la lista de razones para evaluar un cambio.

Inn Restaurant trata cada cargo a la habitación como una sola operación atómica entre el restaurante y el folio del huésped, con reintentos seguros cuando la red falla y un registro claro de cualquier intento interrumpido. Puedes ver cómo funciona en la página de cargo a la habitación (Cargo a la habitación) o revisarlo en vivo en una demo de 15 minutos (contacto).

El restaurante de tu hotel ya vende bien. Falta que el hotel lo sepa.

Quince minutos, con tu carta y tus mesas. Sin instalar nada.

Ver demo de 15 minutos
Usamos lo mínimo para que el sitio funcione y para saber qué páginas sirven. Puedes rechazar lo demás.