from django.contrib import admin
from .models import Appointment


@admin.register(Appointment)
class AppointmentAdmin(admin.ModelAdmin):
    list_display = ['full_name', 'date', 'start_time', 'appointment_type', 'resource', 'status', 'user']
    list_filter = ['status', 'date', 'appointment_type', 'user']
    search_fields = ['full_name', 'email', 'phone', 'document_number', 'user__email']
    date_hierarchy = 'date'
    readonly_fields = ['created_at', 'edit_token']

    fieldsets = (
        ('Información del Cliente', {
            'fields': ('full_name', 'email', 'phone', 'document_type', 'document_number')
        }),
        ('Detalles de la Cita', {
            'fields': ('user', 'resource', 'appointment_type', 'date', 'start_time', 'end_time', 'status')
        }),
        ('Datos Adicionales', {
            'fields': ('custom_data', 'notes', 'edit_token', 'created_at')
        }),
    )