public static function process_form($post)
 {
     $safe_values = array();
     // checks if incoming POST, and that nonce was set, and that nonce details match
     if (isset($post['my_nonce_field']) && wp_verify_nonce(apply_filters('zws_filter_basic_sanitize', $post['my_nonce_field']), 'submit_details_action')) {
         // sanitise values
         $safe_values['id'] = apply_filters('zws_filter_enforce_numeric', $post['id']);
         $safe_values['first_name'] = apply_filters('zws_filter_basic_sanitize', $post['first_name']);
         $safe_values['last_name'] = apply_filters('zws_filter_basic_sanitize', $post['last_name']);
         $safe_values['postcode'] = apply_filters('zws_filter_sanitize_postcode', $post['postcode']);
         $safe_values['phone'] = apply_filters('zws_filter_enforce_numeric', $post['phone']);
         $safe_values['email'] = apply_filters('zws_filter_basic_sanitize', $post['email']);
         $safe_values['max_radius'] = apply_filters('zws_filter_enforce_numeric', $post['max_radius']);
         $safe_values['extra_info'] = apply_filters('zws_filter_limit_chars', apply_filters('zws_filter_text_with_linebreak', $_POST['extra_info']));
         foreach (unserialize(ZWS_CDB_DAYS) as $key => $day) {
             if (sanitize_text_field($post['earliest_time_' . $day]) !== 'Unavailable') {
                 $safe_values['earliest_time_' . $day] = apply_filters('zws_filter_basic_sanitize', $post['earliest_time_' . $day]);
             } else {
                 $safe_values['earliest_time_' . $day] = 'UNAVL';
             }
             $safe_values['latest_time_' . $day] = apply_filters('zws_filter_basic_sanitize', $_POST['latest_time_' . $day]);
         }
         // query google maps api to get longitute and latitude for the postcode, to pull back from db when displayed on map
         require_once __DIR__ . '/QueryAPI.php';
         $google_api_key = apply_filters('zws_filter_basic_sanitize', get_site_option(self::OPTIONS_LABEL)['zws_contacts_database_google_server_api_key']);
         $country_code = get_site_option(self::OPTIONS_LABEL)['zws_contacts_database_plugin_country_of_use'];
         $country_list = unserialize(ZWS_CDB_COUNTRY);
         $country_name = array_search($country_code, $country_list);
         $path = '?address=' . $safe_values['postcode'] . ',' . $country_name . '&language=en-EN&sensor=false&key=' . $google_api_key;
         $data = \ZwsContactsDatabase\QueryAPI::makeQuery(self::MAPS_API_BASE_URL, $path);
         if ($data['returned_data'] && $data['returned_data']['status'] === 'OK') {
             if ($data['cached']) {
                 // error_log('THE DATA WAS CACHED ...'); // debug
             }
             $safe_values['lat'] = sanitize_text_field($data['returned_data']['results'][0]['geometry']['location']['lat']);
             $safe_values['lng'] = sanitize_text_field($data['returned_data']['results'][0]['geometry']['location']['lng']);
         } else {
             return self::failure_view();
         }
         // send to database
         require_once __DIR__ . '/Database.php';
         if (\ZwsContactsDatabase\Database::update($safe_values, array('id' => $safe_values['id']))) {
             return self::success_view();
         } else {
             return self::failure_view();
         }
     } else {
         return self::failure_view('nonce');
     }
 }