Thanks for your reply. I'm pretty sure I have followed your instructions to the tee, however I have no change to my cart and the shipping is still calculated and added on the confirm page, even when the pickup checkout box has been ticked on the checkout page. Below is a description of what I have done.
Firstly I added a pickup checkbox to my checkout page using the code you gave me:
<input type="checkbox" name="pickup" id="pickup" value="1" />
Then on the confirm page, I added this code: <input type="hidden" name="pickup" id="pickup" value="<?php echo((isset($_POST["pickup"]))?$_POST["pickup"]:"") ?>" />
Under the "$Shoppingcart->GetCharges()); ?>" />" , together with all of the other hidden form elements.
then I added a set session value behavior. In the server behaviors panel, I clicked the plus button and selected eCart -> General -> Set Session Value.
For both the trigger and the value, I clicked the lightning bolt icon and select the pickup form element.
I also set the name to pickup
In my shipping rules, I added another trigger:
Based on session Variable value
if the Session Variable "pickup" is "!=" a value of "1"
The only thing I can think of is that I have put the hidden pickup code on the confirm page in the wrong spot.
I can also send you the pages if needed...