Thanks eCom. Hooks are not something I'm familiar with so I will leave it in the core files for now.
Also, in case anyone else wants to try this, in the end what I did was add a 'reserve' button next to the 'add to cart' button that went to a 'forms' page, I didn't use the pop-up since I didn't understand the code enough to get it to work. Since I use three languages on the site, I defined 'my_form_button_text' as a language variable so the button changes language depending on which language the user has picked.
This is the final code that I pasted in to my product_data.tpl core file:
{include file="buttons/button.tpl" id="32&come_from=F" but_meta="ty-btn__primary.ty-btn__big" but_href="pages.view?page_id=32&come_from=F" but_text=__('my_form_button_text') content=''}
here shown in context:
{if $extra_button}{$extra_button nofilter} {/if} {include file="buttons/add_to_cart.tpl" but_id=$_but_id but_name="dispatch[checkout.add..`$obj_id`]" but_role=$but_role block_width=$block_width obj_id=$obj_id product=$product but_meta=$add_to_cart_meta} {assign var="cart_button_exists" value=true} {/if} {include file="buttons/button.tpl" id="32&come_from=F" but_meta="ty-btn__primary.ty-btn__big" but_href="pages.view?page_id=32&come_from=F" but_text=__('my_form_button_text') content=''} {/hook}
Now I just have to work out the css so the buttons line up...!