<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class PrenotazioneTavolo extends \App\Models\AbstractModels\AbstractPrenotazioneTavolo
{
    // Stati della prenotazione
    const STATO_INVIATA = 'inviata';
    const STATO_CONFERMATA = 'confermata';
    const STATO_LISTA_ATTESA = 'lista_attesa';
    const STATO_ANNULLATA = 'annullata';
    const STATO_CANCELLATA = 'cancellata';
    const STATO_RIFIUTATA = 'rifiutata';

    
    const STATI = [
        self::STATO_INVIATA => ['value' => self::STATO_INVIATA, 
        'label' => 'Inviata', 
        'class' => 'badge bg-info', 
        'message' => 'La prenotazione è stata inviata'],

        self::STATO_CONFERMATA => 
        ['value' => self::STATO_CONFERMATA, 'label' => 'Confermata', 'class' => 'badge bg-success', 'message' => 'La prenotazione è stata confermata'],
        self::STATO_LISTA_ATTESA => 
        ['value' => self::STATO_LISTA_ATTESA, 'label' => 'Lista d\'attesa', 'class' => 'badge bg-warning', 'message' => 'La prenotazione è stata messa in lista d\'attesa'],
        self::STATO_ANNULLATA => 
        ['value' => self::STATO_ANNULLATA, 'label' => 'Annullata', 'class' => 'badge bg-danger', 'message' => 'La prenotazione è stata annullata'],
        self::STATO_CANCELLATA => 
        ['value' => self::STATO_CANCELLATA, 'label' => 'Cancellata', 'class' => 'badge bg-danger', 'message' => 'La prenotazione è stata cancellata'],
        self::STATO_RIFIUTATA => 
        ['value' => self::STATO_RIFIUTATA, 'label' => 'Rifiutata', 'class' => 'badge bg-danger', 'message' => 'La prenotazione è stata rifiutata'],
    ];
    
    public static function getStati()
    {
        return collect(self::STATI);
    }
}
