Newer
Older
GestionHoteleriaApi / apps / service / models.py
Yesid Madrid on 22 May 2021 2 KB version 2
from django.db import models
from apps.hotel.models import Room, Hotel
from apps.user.models import User


class TypeReservation(models.Model):
    name = models.CharField(max_length=100)
    acronym = models.CharField(max_length=50)
    active = models.BooleanField(blank=True, null=True)


class TypeService(models.Model):
    name = models.CharField(max_length=100)
    acronym = models.CharField(max_length=50)
    active = models.BooleanField(blank=True, null=True)


class Service(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField(blank=True, null=True)
    price = models.FloatField(default=0.0)
    included = models.BooleanField(default=True)
    type_service = models.ForeignKey(TypeService, null=True, blank=True, on_delete=models.PROTECT)
    hotel = models.ForeignKey(Hotel, null=True, blank=True, on_delete=models.PROTECT)


class Booking(models.Model):
    start_date = models.DateTimeField(blank=True, null=True)
    end_date = models.DateTimeField(blank=True, null=True)
    description = models.TextField(max_length=50)
    active = models.BooleanField(blank=True, null=True)
    price = models.FloatField(default=0.0)
    discount = models.FloatField(default=0.0)
    type_reservation = models.ForeignKey(TypeReservation, null=True, blank=True, on_delete=models.PROTECT)
    users = models.ManyToManyField(User, blank=True, related_name='user')
    rooms = models.ManyToManyField(Room, blank=True, related_name='room')
    services = models.ManyToManyField(Service, blank=True, related_name='service')


class TypePay(models.Model):
    name = models.CharField(max_length=100)
    acronym = models.CharField(max_length=50)
    active = models.BooleanField(blank=True, null=True)


class Pay(models.Model):
    description = models.CharField(max_length=200, blank=True, null=True)
    date = models.DateTimeField(blank=True, null=True)
    value = models.FloatField(default=0.0)
    booking = models.ForeignKey(Booking, null=True, blank=True, on_delete=models.PROTECT)
    type_pay = models.ForeignKey(TypePay, null=True, blank=True, on_delete=models.PROTECT)