get permalink and append it

Well, succinctly you could just add '-book' to your link, if your permalink settings result in post-name slugs:

<a href="https://wordpress.stackexchange.com/questions/210589/<?php echo untrailingslashit( get_the_permalink() ); ?>-book/">Book Now</a>

However if you’re not very careful, or are planning on running a site with a large number of content or with several people having access to the dashboard – you’ll probably end up with broken links at some point.

The more robust solution would be to store the ID of the related appointments page in a Custom Field on the products page (let’s call the field product_appointment_page_id), then retrieve the corresponding appointment page permalink in your template:

<?php
  $appointment_page_id = get_post_meta( get_the_id(), 'product_appointment_page_id', true );

  if( ! empty( $appointment_page_id ) )
    echo( '<a href="' . get_permalink( $appointment_page_id ) . '">Book Now</a>' );
?>

Even better still would be to implement both “products” as well as “appointments” as their own Custom Post Types, then associate them with the Metadata API, as in the previous example.