bloque 1: anticipo al reservar en linea y cobro automatico de membresias con enlace de pago (modulo skeen_cobros: enlaces con token firmado, webhooks de Stripe/MercadoPago, modo simulado para pruebas, pagina publica de pago, expiracion automatica y reembolso, reintentos de cobro, permisos y reporte); apagado por defecto

This commit is contained in:
2026-10-11 23:54:47 +00:00
parent 5fc0d2a780
commit 6a6c2a928b
35 changed files with 2841 additions and 32 deletions

View File

@@ -201,6 +201,18 @@ class SkeenCita(models.Model):
('paid', 'Pagado'),
], string='Estado de Pago', default='not_paid')
amount_paid = fields.Float(string='Monto Pagado', default=0.0)
# Anticipo de una reserva en línea. 'ninguno' es el comportamiento de
# siempre (una cita normal no tiene anticipo). Con 'pendiente' la cita está
# RETENIDA esperando el pago; el enlace de cobro la confirma y la pasa a
# 'pagado'. El campo es puramente informativo/de UI: no cambia la agenda.
anticipo_estado = fields.Selection([
('ninguno', 'Sin anticipo'),
('pendiente', 'Esperando anticipo'),
('pagado', 'Anticipo pagado'),
('reembolsado', 'Anticipo reembolsado'),
], string='Anticipo', default='ninguno', tracking=True, index=True)
anticipo_monto = fields.Float(string='Monto del anticipo', default=0.0)
# WACRM
wacrm_conversation_id = fields.Char(string='WACRM Conversation ID')