Perf. specific delivery method restricted online

Has anyone developed a method to restrict a specific delivery method, online from a specific performance?

Parents
  • Hi Darrell,

    We've currently got 2 delivery methods Collect at Box Office and Post. We've got a few customisations where depending what is in the cart you either have a choice of delivery option. If a performance is less than 7 days away or the customers address is outside of the UK Post is removed as an option and on some performances, for example our secret seats scheme, you only have Collect at Box Office as an option because we don't want to ruin the surprise of where you will be sitting on the night ahead of time.

    We do this with an API call to check the basket and then a simple set of IF statements on performance date and type to display appropriate options and messaging. This works with SOAP or REST.

    Example snippet:

    $performances_in_cart = $tessitura->getCart();

    $seven_day_warning = false;
    foreach($performances_in_cart as $performance) {
      if(strtotime("+7 day") > $performance) {
        $seven_day_warning = true;
      }
    }
    if($seven_day_warning == true) {
      // Set to collect at box office & display messaging
    }

Reply
  • Hi Darrell,

    We've currently got 2 delivery methods Collect at Box Office and Post. We've got a few customisations where depending what is in the cart you either have a choice of delivery option. If a performance is less than 7 days away or the customers address is outside of the UK Post is removed as an option and on some performances, for example our secret seats scheme, you only have Collect at Box Office as an option because we don't want to ruin the surprise of where you will be sitting on the night ahead of time.

    We do this with an API call to check the basket and then a simple set of IF statements on performance date and type to display appropriate options and messaging. This works with SOAP or REST.

    Example snippet:

    $performances_in_cart = $tessitura->getCart();

    $seven_day_warning = false;
    foreach($performances_in_cart as $performance) {
      if(strtotime("+7 day") > $performance) {
        $seven_day_warning = true;
      }
    }
    if($seven_day_warning == true) {
      // Set to collect at box office & display messaging
    }

Children