-- Tabla de cajas físicas (Por si mañana tienes 2 o 3 computadores cobrando)
CREATE TABLE cajas (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(50) NOT NULL,
    estado BOOLEAN DEFAULT TRUE
);

INSERT INTO cajas (nombre) VALUES ('Caja Principal POS 1');

-- Tabla de control de turnos (Apertura y Cierre)
CREATE TABLE sesiones_caja (
    id INT AUTO_INCREMENT PRIMARY KEY,
    caja_id INT NOT NULL,
    usuario_rut VARCHAR(12) NOT NULL,
    
    fecha_apertura DATETIME DEFAULT CURRENT_TIMESTAMP,
    monto_apertura DECIMAL(10,2) NOT NULL,
    desglose_apertura JSON NOT NULL COMMENT 'Guarda la cantidad de billetes y monedas',
    
    fecha_cierre DATETIME NULL,
    monto_cierre DECIMAL(10,2) NULL,
    desglose_cierre JSON NULL,
    
    estado INT DEFAULT 1 COMMENT '1: Abierta, 0: Cerrada',
    
    FOREIGN KEY (caja_id) REFERENCES cajas(id),
    FOREIGN KEY (usuario_rut) REFERENCES usuarios(rut)
);