What is booking approve hook ??
-
Hi,
i need to send the booked tickets and booking details as PDF, once the booking is confirm, i have generated the PDF while book the event, but i need to send it on while confirm the booking,
SO i need the hook for approve the booking, how can i call my function to send the email with pdf attached once the booking is confirm by admin?? is there is any possible way??
kindly help me, i will be thankful.
-
Hiya,
I believe this thread should help you out with this: https://eventsmanagerpro.com/support/questions/pdf-attachement-to-confirmation-e-mail/
Thanks,
PhilHey philipjohn,
Thanks lot for the answer
Actually am not using Pro version of events manager, so am coding myslef to send the PDF while confirm the booking, there is no problem with PDF creation i done it, but i want to send it to the user while approve the booking.
i hope this may clear my question
you can try to look into em-booking.php function email() and/or classes/em-object.php and add an extra parameter:
$EM_Mailer->send($subject,$body,$email, $attachment)
$attachment would be an array containing another array with your attachment info in this format (using our ical as example):
array(‘name’=>’test.pdf’, ‘type’=>’text/calendar’,’path’=>$icalfilename);
Hi angelo_nwl,
Thanks for the answer, i hope this will help me, i will try and let you know..
Hi,
i have checked that i can’t send the mail using $EM_Mailer ,but i can’t find where approve and unapprove functions are working in the em-booking.php, i have wirte code to send email in approve() function but doesn’t working, it doesn’t make any sense if we write exit, it doesn’t care, so am just confusing the function for approve the Booking is here or where ???
maybe you can try to look into this snippet – https://pastebin.com/i0GhrfXL (see filter em_booking_email_messages) and then you can call $EM_Booking->() – to see how this functions works em-booking.php at around line 975
Hi angelo,
Thanks for the code, it is working, but i need to know something more,
The code you given is only working with the Pending Booking, if i set into
$EM_Booking->get_status() == 0
and re- send the email it sending the default booking confirmation email instead of my re-send email ?? i need to send my message for the confirmed bookings only.also how can i get the booking id and booking person id on my_event_messages function ??is this is possible,
Hi angelo,
also may i send the attachment in the new function ??
by like below ??
$msg['user']['subject'] = 'New Subject'; $msg['user']['body'] = 'New email body'; $msg['user']['attachment'] = 'exmaple.pdf';
You can try logging $EM_Booking to see the available properties, which will include the current status of a booking. That should give you what you need to determine whether or not to send your e-mail.
Thanks
Hi angelo,
After added your code and i have worked with my needs, after that if i approve, reject or unapprove the booking it sending the same email content that i write inside
` if ( $EM_Booking->get_status() == 0 ) {
$person_id=$EM_Booking->person_id;
$booking_id=$EM_Booking->booking_id;$user_info = get_userdata($person_id);
$user_email= $user_info->user_email;
$username = $user_info->user_login;
$first_name = $user_info->first_name;
$last_name = $user_info->last_name;$booking_receipt=’booking_’.$booking_id.’.pdf’;
//$attachments = array( WP_CONTENT_DIR . ‘/uploads/receipt/booking_56.pdf’ );
$attachments = array( WP_CONTENT_DIR . ‘/uploads/receipt/’.$booking_receipt.” );
$subject=”Your booking is confirmed”;
$message=”Thanks for booking the events, please find the receipt copy of your reservation”;
$headers .= ‘MIME-Version: 1.0’ . “\r\n”;
$headers .= ‘Content-type: text/html; charset=iso-8859-1’ . “\r\n”;
$headers .= ‘From: [email protected]’ . “\r\n”;
wp_mail($user_email, $subject, $message, $headers, $attachments );
}`what i have to do, i need only send the attachment on approve the booking, help me on this, i will be thankful to you
this is the status you can checked;
* Status: * 0 = Pending * 1 = Approved * 2 = Rejected * 3 = Cancelled * 4 = Awaiting Online Payment * 5 = Awaiting Payment eg. if ( $EM_Booking->get_status() == 1 ) { ... }
Hi angelo,
yes i have cheeked with this status, but however if i check any status it sending the Pending email content i write here
`if ( $EM_Booking->get_status() == 1 ) {
$person_id=$EM_Booking->person_id;
$booking_id=$EM_Booking->booking_id;$user_info = get_userdata($person_id);
$user_email= $user_info->user_email;
$username = $user_info->user_login;
$first_name = $user_info->first_name;
$last_name = $user_info->last_name;$booking_receipt=’booking_’.$booking_id.’.pdf’;
//$attachments = array( WP_CONTENT_DIR . ‘/uploads/receipt/booking_56.pdf’ );
$attachments = array( WP_CONTENT_DIR . ‘/uploads/receipt/’.$booking_receipt.” );
$subject=”Your booking is confirmed”;
$message=”Thanks for booking the events, please find the receipt copy of your reservation”;
$headers .= ‘MIME-Version: 1.0’ . “\r\n”;
$headers .= ‘Content-type: text/html; charset=iso-8859-1’ . “\r\n”;
$headers .= ‘From: [email protected]’ . “\r\n”;
wp_mail($user_email, $subject, $message, $headers, $attachments );
}if ( $EM_Booking->get_status() ==0 ) {
$person_id=$EM_Booking->person_id;
$booking_id=$EM_Booking->booking_id;$user_info = get_userdata($person_id);
$user_email= $user_info->user_email;
$username = $user_info->user_login;
$first_name = $user_info->first_name;
$last_name = $user_info->last_name;$booking_receipt=’booking_’.$booking_id.’.pdf’;
//$attachments = array( WP_CONTENT_DIR . ‘/uploads/receipt/booking_56.pdf’ );
$attachments = array( WP_CONTENT_DIR . ‘/uploads/receipt/’.$booking_receipt.” );
$subject=”Your booking is pending”;
$message=”Thanks for booking the events, your booked events are peding “;
$headers .= ‘MIME-Version: 1.0’ . “\r\n”;
$headers .= ‘Content-type: text/html; charset=iso-8859-1’ . “\r\n”;
$headers .= ‘From: [email protected]’ . “\r\n”;
wp_mail($user_email, $subject, $message, $headers, $attachments );
}
`meaning that if i approve the booking it send the
elseif
condition , if i unapprove, it seems the same again, what is wrong here ???Sorry, I’m not following the situation 100%. What do you want the code do – and what is actually happening? Thanks.
Hi caimin_nwl,
Actually i want to send the PDF with the list of booked tickets with the reservation details while admin confirm the booking, on before that i have successfully generated the PDF for the booking, now i want to send this PDF on admin approval of the booking
So here i tried with the code given by angelo_nwl, but after include the code in functions.php i can see there is the option to send a email to the booked user, it is working i can send the email using that option, but after that default email system for booking approval, pending and eject every system is sending the same email that i have wrote in the functions.php, this is the problem am getting here, am sending the emails based on the status of booking, but all the booking it sending the same email.
please help me on this.
not sure if this helps but try this snippet
function aff_test($result, $EM_Booking){ /* 0 => Pending 1 => Approved 2 => Rejected 3 => Cancelled 4 => Awaiting Online Payment 5 => Awaiting Payment */ if ($EM_Booking->booking_status == 5){ $EM_Booking->email(); } return $result; } add_filter('em_booking_set_status','aff_test',10,2);
and then you need to modify em-booking.php function email_send to add parameter attachment and/or em-object.php function email_send() which uses em-mailer.php send()
- The topic ‘What is booking approve hook ??’ is closed to new replies.