Rendering form manually
The best way to implement custom rendering of a form would be to use a custom theme hook for the form:

/**
 * Builder function for the ticket form.
 */ 
function MODULE_ticket_form($form, $form_state) {
  // Build the $form array here...

  // Let the theme API knows that this form use it own theme hook.
  $form['#theme'] = 'ticket_form';
  return $form;
}

/**
 * Implements hook_theme().
 */
function MODULE_theme() {
  return array(
    // Custom theme hook for the ticket form.
    'ticket_form' =&gt; array(
      'render element' =&gt; 'form',
    ),
  );
}

/**
 * Default implementation for the ticket_form theme hook. 
 */
function theme_ticket_form($variables) {
  $form =&amp; $variables['form'];

  //Custom rendering of forms elements goes here...
  $output = ...;    

  // Render every other elements (incl. hidden system ones).
  $output .= drupal_render_children($form);
  return $output;
}


Instead of using only a theme function, you can also use a template file. The theme function can also return a render array instead of a string.