Hook for client reminder email sent

I have an account with an SMS provider which will convert email to SMS. I have set up an mu plugin which hooks into the client email confirmation function of Appointments+ and sends another email to my SMS provider who then convert it into an SMS which is sent to the client.

It works great, clients get a detailed email confirmation and an SMS with the basic appointment info. The mu plugin contains the following code:

<?php 

add_action( 'app_confirmation_sent', 'app_confirmation_sent_sms', 20, 3 );
function app_confirmation_sent_sms( $body, $r, $app_id ) {

	$myphone = preg_replace('/[-\s.]+/', '', $r->phone);
	$date = mysql2date( 'H:i', $r->start ) . ' - ' . mysql2date( 'H:i', date( 'Y-m-d H:i:s', strtotime( '+1 hour', strtotime( $r->start ) ) ) ) . ' on ' . mysql2date( 'd M Y', $r->start );
	$arr1 = str_split($myphone);
	$arr2 = str_split($myphone, 2);
	if (($arr2['0'] == '07') || (($arr2['0'] == '44') && ($arr1['2'] == '7'))) {
		wp_mail(
		'' . $myphone . '@smsprovider.net',
		'',
		'Booking confirmed, we have sent full details to ' . ( $r->email ) . ' We will be with you between ' . $date
	);
}
}

After a while I thought it would be a good idea to extend this feature to the client reminder email, so that customers got a reminder by SMS too. I thought it would be easy and I could just modify my existing code a little. Here's what I came up with:

<?php 

add_action( 'app_reminder_message', 'app_reminder_sent_sms', 20, 3 );
function app_reminder_sent_sms( $body, $r, $app_id ) {

	if ($r->worker == 1) {
	$worker = 'Michael';
	}
	if ($r->worker == 2) {
	$worker = 'Andy';
	}
	$first_name = $r->name;
	$first_name = ucwords(strtolower($first_name));
	$first_name = preg_split('/ /', $first_name, 2);
	$newname = $first_name['0'];
	$myphone = preg_replace('/[-\s.]+/', '', $r->phone);
	$date = mysql2date( 'H:i', $r->start ) . ' - ' . mysql2date( 'H:i', date( 'Y-m-d H:i:s', strtotime( '+1 hour', strtotime( $r->start ) ) ) );
	wp_mail(
		'' . $myphone . '@smsgateway.net',
		'',
		'Hi ' . $newname . ', this is a reminder for your booking tomorrow. ' . $worker . ' will be with you between ' . $date
	);
}

This works in the sense that it sends the email to my SMS provider with all the correct appointment details, but my email reminders now fail because they don't have any body text. If I take out the mu plugin for the reminder then the reminder emails work fine.

There's obviously something wrong with my code, but what?