public function onSetupRestaurantReservationDetails( object &$reservation, array $list ) : void

Fires while creating the restaurant reservation object according to the details fetched by the query.


Description

External plugins can use this event to manipulate the object holding the details of the reservation. Useful to inject all the additional data fetched with the manipulation of the query.


Parameters

&$reservation

(object)  The object holding the details of the reservation.

$list

(array)  All the records loaded through the database query.

Return Value

None.


Example

The example below can be used to implement a formatted version of the check-in.

/**
 * External plugins can use this event to manipulate the object holding
 * the details of the reservation. Useful to inject all the additional
 * data fetched with the manipulation of the query.
 *
 * @param   mixed    &$reservation  The reservation details object.
 * @param   array    $list          The query resulting array.
 *
 * @return  void
 */
public function onSetupRestaurantReservationDetails(&$reservation, $list)
{
    // fetch restaurant reservation menu items
    foreach ($list as $row) {
        if ($row->item_id && isset($reservation->items[$row->item_id])) {
            // assign the image fetched with the query manipulation
            $reservation->items[$row->item_id]->image = $row->product_image;
        }
    }

    // recover date and time format from configuration
    $config = VREFactory::getConfig();

    $df = $config->get('dateformat');
    $tf = $config->get('timeformat');

    // format check-in date and time
    $reservation->checkinDateTime = date($df . ' ' . $tf, $reservation->checkin_ts);
}

Changelog

Version Description
1.8.4 Introduced.
Last Update: 2023-12-29 14:15
Helpful?