Based on some other questions you've asked on this site I wonder if you are using CiviCRM for tracking the memberships? If so I might suggest this workflow:
Setup a webform with CiviCRM integration. Add your membership and other custom fields to the form.
Set the membership status to be "Approval Needed" (you can create that status in CiviCRM if it isn't there already).
Have it send an email to your staff whenever that form is filled out.
You can optionally restrict access to that form so that only non-members can use it. This would require you to enable the module 'CiviMember Roles Sync' which is bundled with CiviCRM and enabled syncing between Drupal roles and Civi memberships.