@SuppressWarnings("unchecked")
  @ResponseBody
  @RequestMapping(value = "/order/removeVoucher.ajax", method = RequestMethod.POST)
  public ResponseEntity<byte[]> removeVoucher(HttpServletRequest request) throws Exception {

    if (LOGGER.isDebugEnabled()) {
      LOGGER.debug("Removing voucher from order");
    }

    Map<String, Object> model = new HashMap<String, Object>();

    try {
      HttpSession session = request.getSession(true);
      String orderId = (String) session.getAttribute("orderid");
      Order order = null;
      if (orderId != null) {
        order = orderRepository.findByOrderId(orderId);
      }

      if (order != null && order.getVoucher() != null) {
        order.setVoucherId(null);
        order.setVoucher(null);
        orderRepository.saveOrder(order);
        order = orderRepository.findByOrderId(orderId);
      }

      // Return processed status
      model.put("order", order);
      model.put("success", true);
    } catch (Exception ex) {
      LOGGER.error("", ex);
      model.put("success", false);
      model.put("message", ex.getMessage());
    }
    return buildOrderResponse(model);
  }