/**
  * Generate an order ID for each lookup
  *
  * @since  4.2
  * @return (array) $taxcloud_ids array of taxcloud cart IDs and order IDs
  */
 private function generate_order_ids()
 {
     $taxcloud_ids = WT_Orders::get_meta($this->order_id, 'taxcloud_ids');
     foreach (WT_Orders::get_meta($this->order_id, 'lookup_data') as $location => $items) {
         if (!isset($taxcloud_ids[$location])) {
             $taxcloud_ids[$location] = array('cart_id' => '', 'order_id' => wootax_generate_order_id());
         }
     }
     return $taxcloud_ids;
 }
 /**
  * Gets information about applied exemption certificate from session
  * Returns NULL if no exemption is applied
  *
  * @since 4.2
  * @return (mixed) array of cert data for single certs, ID for blanket certs, or NULL if no cert is applied
  */
 private function get_exemption_certificate()
 {
     $certificate_data = NULL;
     if (!empty(WC()->session->certificate_id)) {
         if (WC()->session->certificate_id == 'true') {
             $certificate_data = WC()->session->certificate_data;
             if (!isset($certificate_data['Detail']['SinglePurchaseOrderNumber'])) {
                 $certificate_data['Detail']['SinglePurchaseOrderNumber'] = wootax_generate_order_id();
             }
             WC()->session->certificate_data = $certificate_data;
         } else {
             $certificate_data = array('CertificateID' => WC()->session->certificate_id);
         }
     }
     return $certificate_data;
 }