ordered(); $payments = new PaymentRecordsRepository(); $page = min( 1000000, max( 1, (int) ( \Abientot\Support\Request::view( 'today_page', 'int' ) ?? 1 ) ) ); $rows = ( new AppointmentsRepository() )->calendar_between( $day->setTimezone( new \DateTimeZone( 'UTC' ) )->format( 'Y-m-d H:i:s' ), $day->modify( '+1 day' )->setTimezone( new \DateTimeZone( 'UTC' ) )->format( 'Y-m-d H:i:s' ), array( 'staff_id' => $staff ), 26, ( $page - 1 ) * 25 ); $more = count( $rows ) > 25; $rows = array_slice( $rows, 0, 25 ); $pending = array_filter( $rows, static fn( array $r ): bool=>$r['status_slug'] === 'pending' ); $args = array( 'page' => 'abientot-today', 'today_staff' => $staff ); ?>

getTimestamp(), $zone ) ); ?> · getName() ); ?>

all( 100 ); if ( is_int( $staff ) && $staff > 0 && ! in_array( $staff, array_map( 'intval', array_column( $choices, 'id' ) ), true ) ) { $selected = ( new StaffRepository() )->find( $staff ); if ( $selected ) { array_unshift( $choices, $selected ); } }?>

$r ) : $time = \Abientot\Support\Locale::date( DateTimeHelper::time_display_format(), strtotime( $r['start_utc'] . ' UTC' ), $zone ); $payment = $this->payment( $r ); ?>
· quick_select( $r, 'status_id', array_column( $statuses, 'label', 'id' ), __( 'Booking status', 'abientot' ) ); ?>has_online_records( (int) $r['id'] ) ) : ?>quick_select( $r, 'payment_status', array( 'not_required' => __( 'Not required', 'abientot' ), 'unpaid' => __( 'Unpaid', 'abientot' ), 'paid' => __( 'Paid', 'abientot' ) ), __( 'Payment status', 'abientot' ) ); endif; ?>
1 || $more ) : ?>
'; foreach ( $choices as$value => $text ) { echo ''; } echo ''; } private function payment( array $row ): string { return array( 'paid' => __( 'Paid', 'abientot' ), 'unpaid' => __( 'Unpaid', 'abientot' ), 'not_required' => __( 'Not required', 'abientot' ) )[ $row['payment_status'] ] ?? __( 'Unknown', 'abientot' ); } }