Title: SSA_Exception
Last modified: June 15, 2026

---

# SSA_Exception

 *  [Rhand](https://wordpress.org/support/users/rhand/)
 * (@rhand)
 * [5 days, 16 hours ago](https://wordpress.org/support/topic/ssa_exception/)
 * I have Simply Schedule Appointment running on Spa demo site with PHP 8.4 in Roots
   Trellis VM and get this deprecated warnings running with all erroring on:
 *     ```wp-block-code
       Deprecated: SSA_Exception::__construct(): Implicitly marking parameter $message as nullable is deprecated, the explicit nullable type must be used instead in /srv/www/demo.imagewize.com/current/web/app/plugins/simply-schedule-appointments/includes/class-exception.php on line 18Deprecated: SSA_Utils::get_query_period(): Implicitly marking parameter $query_period as nullable is deprecated, the explicit nullable type must be used instead in /srv/www/demo.imagewize.com/current/web/app/plugins/simply-schedule-appointments/includes/class-utils.php on line 602Deprecated: SSA_Appointment_Model::delete_abandoned(): Implicitly marking parameter $date_modified_max as nullable is deprecated, the explicit nullable type must be used instead in /srv/www/demo.imagewize.com/current/web/app/plugins/simply-schedule-appointments/includes/class-appointment-model.php on line 2132
       ```
   
 * This is a PHP 8.4 deprecation — implicit nullable type declarations (`Type $param
   = null` without the `?`) which are now deprecated. It’s purely cosmetic (no functional
   bug), but the deprecation notice text itself is being echoed to the page before
   WordPress sends its headers, which is what triggers the “headers already sent”
   warnings on my local Roots Trellis VM.
 * I think we can solve this doing the following:
 *     ```wp-block-code
       // includes/class-exception.php:18- public function __construct( string  $message = null, string $code = null ) {+ public function __construct( ?string $message = null, ?string $code = null ) {// includes/class-utils.php:602- public static function get_query_period( Period $query_period = null ) {+ public static function get_query_period( ?Period $query_period = null ) {// includes/class-appointment-model.php:2132- public function delete_abandoned( DateTimeImmutable $date_modified_max = null ) {+ public function delete_abandoned( ?DateTimeImmutable $date_modified_max = null ) {
       ```
   
 * You probably know all this but just trying to give it a nudge. Great plugin!
 * P.S. In admin similar errors
 *     ```wp-block-code
       Deprecated: SSA_Exception::__construct(): Implicitly marking parameter $message as nullable is deprecated, the explicit nullable type must be used instead in /srv/www/demo.imagewize.com/current/web/app/plugins/simply-schedule-appointments/includes/class-exception.php on line 18Deprecated: SSA_Exception::__construct(): Implicitly marking parameter $code as nullable is deprecated, the explicit nullable type must be used instead in /srv/www/demo.imagewize.com/current/web/app/plugins/simply-schedule-appointments/includes/class-exception.php on line 18Deprecated: SSA_Utils::get_query_period(): Implicitly marking parameter $query_period as nullable is deprecated, the explicit nullable type must be used instead in /srv/www/demo.imagewize.com/current/web/app/plugins/simply-schedule-appointments/includes/class-utils.php on line 602Deprecated: SSA_Appointment_Model::delete_abandoned(): Implicitly marking parameter $date_modified_max as nullable is deprecated, the explicit nullable type must be used instead in /srv/www/demo.imagewize.com/current/web/app/plugins/simply-schedule-appointments/includes/class-appointment-model.php on line 2132Warning: Cannot modify header information - headers already sent by (output started at /srv/www/demo.imagewize.com/current/web/app/plugins/simply-schedule-appointments/includes/class-exception.php:18) in /srv/www/demo.imagewize.com/current/web/wp/wp-includes/functions.php on line 7220Warning: Cannot modify header information - headers already sent by (output started at /srv/www/demo.imagewize.com/current/web/app/plugins/simply-schedule-appointments/includes/class-exception.php:18) in /srv/www/demo.imagewize.com/current/web/wp/wp-admin/admin-header.php on line 14
       ```
   
    -  This topic was modified 5 days, 16 hours ago by [Rhand](https://wordpress.org/support/users/rhand/).
 * The page I need help with: _[[log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fssa_exception%2F%3Foutput_format%3Dmd&locale=en_US)
   to see the link]_

Viewing 1 replies (of 1 total)

 *  Plugin Support [Cyn](https://wordpress.org/support/users/cyn92/)
 * (@cyn92)
 * [5 days, 6 hours ago](https://wordpress.org/support/topic/ssa_exception/#post-18938972)
 * Hello [@rhand](https://wordpress.org/support/users/rhand/) ! Thank you for sharing
   this with us, I’ll pass this along to our developers to investigate and we’ll
   reach out with any updates.

Viewing 1 replies (of 1 total)

You must be [logged in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Fssa_exception%2F%3Foutput_format%3Dmd&locale=en_US)
to reply to this topic.

 * ![](https://ps.w.org/simply-schedule-appointments/assets/icon.svg?rev=2926807)
 * [Appointment Booking Calendar — Simply Schedule Appointments Booking Plugin](https://wordpress.org/plugins/simply-schedule-appointments/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/simply-schedule-appointments/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/simply-schedule-appointments/)
 * [Active Topics](https://wordpress.org/support/plugin/simply-schedule-appointments/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/simply-schedule-appointments/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/simply-schedule-appointments/reviews/)

## Tags

 * [scheduling](https://wordpress.org/support/topic-tag/scheduling/)

 * 1 reply
 * 2 participants
 * Last reply from: [Cyn](https://wordpress.org/support/users/cyn92/)
 * Last activity: [5 days, 6 hours ago](https://wordpress.org/support/topic/ssa_exception/#post-18938972)
 * Status: not resolved