Hook_menu to Form with %node wildcard
One of the option is:


create a entity reference field in 'school' content type to reference associated contact form.
write a helper module that adds a menu item node/%node/contact.
Make sure access_callback check for your content type and return false for other node type to avoid any perf issue.
In menu callback function, render the entity form to display.


Here is an example of "node/%node/something" pattern from token module.



/**
 * Implements hook_menu().
 */
function token_menu() {
  ...
  ...  

  $items['node/%node/devel/token'] = array(
      'title' =&gt; 'Tokens',
      'page callback' =&gt; 'token_devel_token_object',
      'page arguments' =&gt; array('node', 1),
       // 'node' =&gt; token_devel_token_object function gets a string 'node' as argument 1 
       // 1 =&gt; token_devel_token_object function gets a node object of node id given in url. for mode details refer https://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_load/7.
      'access arguments' =&gt; array('access devel information'),
      'type' =&gt; MENU_LOCAL_TASK,
      'file' =&gt; 'token.pages.inc',
      'weight' =&gt; 5,
    );


// page callback definition
/**
 * Menu callback; prints the available tokens and values for an object.
 */
function token_devel_token_object($entity_type, $entity) {
...
...
}