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
-
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.