Requirement 1 : Delivery system within 20 km radius

Implement a distance-based delivery system within WooCommerce, where delivery is only offered within a 20 km radius from the store location. Pickup is always allowed. Delivery availability is based on the customer’s shipping address, and distance is calculated using the Google Maps API.

  • Delivery system within 20 K radius: If the distance is more than 20 K, the customer will only be able to do pickup or they can contact us if they think they’re within.
  • If the customer is within 20 K radius, they will still have the option to either do pickup or delivery. They’re not forced to deliver.

1.1 Design & Development

  • Google Maps API Integration (Distance Check Logic)

How it Works:

  • On checkout, we will capture the customer’s shipping address.
  • Using the Google Maps Distance Matrix API, we will calculate the distance between the store and customer address.
  • Based on the calculated distance:
    • If within 20 km: Customer can choose delivery or pickup.
    • If beyond 20 km: Customer will see a message — We currently do not offer delivery beyond 20km. Please contact us if you believe you qualify.
    • Pickup date/time selection remains available in all cases.

=> Development Effort = 12 hours

 

1.2 Delivery Fee Integration (for within 20 km)

If the customer qualifies for delivery and selects it, we will apply a $15 flat delivery fee with the following features:

  • Modify the order summary to reflect the delivery fee
  • Ensure the fee is calculated with tax (if applicable)
  • Display the delivery fee on the Thank You page
  • Include the delivery fee in email notifications (both admin and customer)
  • Show delivery fee in the WooCommerce order details

=> Development Effort = 6 hours

 

1.3 Admin Panel Option

  • Admin Settings (for Delivery Radius Feature)

How it Works:

  • Enable Delivery Radius Restriction?
      Yes, restrict delivery to 20 km radius
    (If checked, the following field appears)
  • Google Maps API Key:
    TEXT field  (Required for distance calculation)

Logic:

  • This entire feature is only enabled if the checkbox is active.
  • Without the checkbox being checked or API provided, everything will work as-is (no distance logic applied).
  • This gives you complete control to toggle this on/off as needed.

=>Development Effort = 5 hours

 

Requirement 2: Postal Code Auto-Fill on Sign-Up Page

We will implement an address auto-fill feature on the customer registration form using the Google Maps Geocoding API. When a user enters their postal code, the system will automatically populate related province and city fields.

  • As the customer types or submits their postal code, the system will fetch the corresponding City and Province/State using the Geocoding API.
  • These fields will be auto-filled but remain editable, allowing the customer to make corrections if needed.
  • The Street Address field will remain manual, as postal code alone cannot reliably provide accurate street-level data.

=> Development Effort = 2 hours

 

Requirement 3: Malware Removal, Database Scanning, and Restoration of the Old Database on the Staging Site

3.1 Scanning the website and identifying the malware source

=>Estimated Effort = 1 Hour

3.2 Setting up in local environment for missing auctions

  • Downloaded the database from the server that existed before the attack occurred
  • Setup in local environment

=>Estimated Effort = 2 Hours

3.3 Scanning the database to recover missing auction products

  • Test the filter code to ensure there are no errors
  • Debug by writing a query for expired auctions
  • Scan the database to check how many published auctions exist
  • Recover the number of auction products that were in the database before the attack occurred

=>Estimated Effort = 4 Hours

3.4 Create a staging site and import the old database to review the auction products.

  • Create new staging site from live site
  • Create a backup of the current database.
  • Imported the database containing the recovered products.

=>Estimated Effort = 1 Hour

 

Requirement 4: Migrate expired auctions from the staging site to the live site

  • Select the auctions on the staging site that are not available on the live site
  • Make importer for only expired auction products
  • Download into csv files
  • Export into live site

=>Estimated Effort = 4 Hours

 

  1. Delivery Schedule

    Start Date: 14 July 2025
    End Date: 25 July 2025
    These dates are applicable only if payment is completed on or before 13 July 2025.

 

  • Total Cost
    • 37 hours x USD 45/hour = USD 1665
  • Final Discounted Cost
    • USD 1248 (We will offer a 25% discount on the final price)
  • Advance Payment – USD 624
  • Final Payment – USD 624 (Once requirements 3 & 4 are completed)
  • Payment Mode: Click this link to Pay.