create database factura_hotel;
use factura_hotel;

-- SELECTED MODE: 1

-- BD MODEL 1
create table venta(
    id int not null auto_increment primary key,
    cliente varchar(45) default 'Cliente',
    nit varchar(10) default 'CF',
    direccion varchar(75) default 'Ciudad',
    uuid varchar(75) default null,
    serie varchar(15) default null,
    fecha_certificacion varchar(30) default null,
    estado enum('Facturada', 'Registrada', 'Error de red', 'Anulada') default 'Error de red',
    total float default 0,
    numero varchar(15) default null,
    factura boolean default false,
    recibo boolean default false,
    creado datetime default CURRENT_TIMESTAMP,
    actualizado datetime default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
);

create table detalle_venta(
    id int not null auto_increment primary key,
    cantidad int not null,
    descripcion varchar(45) not null,
    precio_unitario float not null,
    precio float not null,
    descuento float default 0,
    monto_gravable float default 0,
    monto_impuesto float default 0,
    total float not null,
    venta_id int not null,
    foreign key(venta_id) references venta(id),
    creado datetime default CURRENT_TIMESTAMP,
    actualizado datetime default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
);
-- END BD MODEL 1

-- alter table detalle_venta add monto_impuesto float default 0 after monto_gravable;
-- alter table venta add numero varchar(15) default null after total;