<?php

namespace App\Models\Sales;

use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Contracts\Auditable;
use OwenIt\Auditing\Auditable as AuditableTrait;

class Invoice extends Model  implements Auditable
{
    use AuditableTrait;
    protected $table='invoice';
    protected $primaryKey = 'id';
    protected $fillable = ['organisation_id','invoice_no','invoice_date','show_date','invoice_time','public_user_id','user_id','status','payment_type','payment_method','amount','transaction_id','visitor_name','visitor_phone_number','ticket_type'];
    
    function paymenttype()
    {
        return $this->belongsTo('\App\Models\Sales\PaymentType','payment_type','id');
    }

    function paymentmethod()
    {
        return $this->belongsTo('\App\Models\Sales\PaymentMethod','payment_method','id');
    }
    function user()
    {
        return $this->belongsTo('\App\Models\User','user_id','id');
    }
    function publicuser()
    {
        return $this->belongsTo('\App\Models\PublicUser','public_user_id','id');
    }
    function organisation()
    {
        return $this->belongsTo('\App\Models\Settings\Organisation','organisation_id','id');
    }
    function tickets()
    {
        return $this->hasMany('\App\Models\Sales\Ticket','invoice_id','id');
    }

}
