from django.db import models
from django.core.validators import MinValueValidator
from uuid import uuid4

class Package(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
    name = models.CharField(max_length=255, unique=True)
    price = models.DecimalField(
        max_digits=10, 
        decimal_places=2,
        validators=[MinValueValidator(0)],
        default=0.00
    )
    
    is_active = models.BooleanField(default=True)
    features = models.TextField(blank=True)
    duration = models.TextField(blank=True, null=True)
    
    def __str__(self):
        return f"{self.name} (${self.price})"
    
    class Meta:
        verbose_name = "Package"
        verbose_name_plural = "Packages"
        ordering = ['price', 'name']


