<?php

namespace App\Models;

class ChannelManagerBooking extends BaseModel
{
    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'channel_manager_booking';
    protected $appends = [];

    const CREATED_AT = 'created_at';
    const UPDATED_AT = 'updated_at';

    protected $dateFormat = 'U';
    protected $guarded = [];

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = [];

    public function bookingDetail()
    {
        return $this->hasOne('App\Models\Booking', 'id', 'booking_id')
            ->select([
                'id', 'channel_id', 'channel_manager_id', 'property_id', 'booking_code','channel_booking_code', 'checkin_date', 'checkout_date', 'rooms',
                'payment_type_code', 'room_amount', 'addon_amount', 'discount_amount', 'total', 'currency_code', 'extra_param', 'created_at', 'updated_at', 'status'
            ]);
    }

    public function channelManager()
    {
        return $this->hasOne('App\Models\ChannelManager', 'id', 'channel_manager_id')->select(['id', 'name', 'status']);
    }
}
