Super Delivery & Pickup
The complete solution for managing delivery zones, pickup locations, time slot scheduling, tips, holidays, and capacity limits for your WooCommerce store.
📖 Table of Contents
Powerful Features
Everything you need to manage restaurant delivery & pickup orders
Dual Zone Methods
Choose between Zip/Postal Code zones or Distance Radius zones with Google Maps. One global setting for all zones.
Google Maps
Address autocomplete, real-time distance calculations, and automatic checkout field filling.
Pickup Locations
Multiple pickup locations with GPS coordinates. Shows distance to nearest location.
Separate Time Slots
Configure different time slots for Delivery and Pickup independently, per day of the week.
Delivery Fees
Set delivery fees per zone. Fees are automatically added to the order total at checkout.
Flexible Discounts
Separate discount percentages for delivery and pickup. Exclude specific product categories.
Holiday / Closed Dates
Mark specific dates (Christmas, vacations) as closed. Customers see "Holiday" in the date picker.
Slot Capacity Limits
Set a maximum number of orders per time slot. Full slots are automatically disabled at checkout.
Customer Tips
Preset tip buttons (percentage or fixed) with custom amount option. Tips appear in order totals and receipts.
Shop Page Popup
Optional popup asking customers to choose Delivery or Pickup before browsing products.
Printer Compatible
Works with Star Cloud Printer and receipt printers. Order details appear automatically on receipts.
Translation Ready
All strings are translatable. Works with Loco Translate, WPML, and Polylang. French included.
1. Installation
Get started in minutes
📦 WordPress Upload
- 1
Download the super-delivery-pickup.zip file
- 2
In WordPress admin, go to Plugins → Add New → Upload Plugin
- 3
Choose the ZIP file and click Install Now
- 4
Click Activate Plugin
📁 FTP Upload
- 1
Extract the ZIP file on your computer
- 2
Upload the super-delivery-pickup folder to /wp-content/plugins/
- 3
Go to Plugins → Installed Plugins
- 4
Find the plugin and click Activate
2. General Settings
Navigate to Super Delivery & Pickup → General tab
⚙️ Core Settings
The first settings you should configure
Enable Delivery / Enable Pickup
Check these boxes to activate each option on the checkout page. You can enable one or both. If both are disabled, the plugin does nothing.
Enable Auto-Fill Address
When checked, selecting a delivery zone in Zip Code mode automatically fills the customer's postcode and city fields. This prevents customers from entering an address outside the zone they selected.
Enable Shop Page Popup
Shows a popup on the shop page asking customers to choose "Delivery" or "Pickup" before they start browsing. Their selection is pre-filled on the checkout page. See the Shop Popup section for details.
Days to Show
How many upcoming days appear in the date dropdown at checkout. Default: 7. If you set it to 14, customers can book up to 2 weeks ahead.
Delivery Lead Time / Pickup Lead Time (Minutes)
Minimum advance notice required. For example, if set to 60, a customer ordering at 11:00 AM won't see time slots before 12:00 PM. Each type has its own lead time.
Delivery Discount (%) / Pickup Discount (%)
Automatic discount applied to orders. Set to 0 for no discount. For example, enter 10 to give 10% off on all pickup orders.
Exclude Categories from Discount
Select product categories that should NOT receive the discount. Hold CTRL (or Command on Mac) to select multiple. Common use: exclude "Drinks" or "Extras" from the discount.
📮 Delivery Zone Mode
Choose how customers select their delivery location
Option A: Zip/Postal Code Based
Customers select a zone from a dropdown. You define each zone by listing zip codes. No API key required. Best for: fixed delivery areas with clear postal code boundaries.
Option B: Distance Radius Based
Customers enter their address with Google autocomplete. The system calculates the distance from your store and checks if they're within a delivery zone. Best for: radius-based delivery (e.g., "within 5 km of our store").
Google Maps API Key
Only visible when Distance mode is selected. Paste your Google API key here.
Distance Unit
Choose Kilometers (km) or Miles for distance calculations.
3. Delivery Zones
Navigate to Super Delivery & Pickup → Delivery Zones tab
🚚 Creating a Delivery Zone
Click "Add New Zone" to create a zone
Zone Name
A descriptive name shown to customers. This appears in the checkout dropdown.
Zip Codes (Zip Code mode only)
Enter the zip/postal codes that belong to this zone, separated by commas. The zone name and zip codes are shown together in the checkout dropdown as: "Paris (75001, 75002, 75003)".
Distance Radius (Distance mode only)
The maximum delivery distance from the linked pickup location in km or miles. Customers within this radius can order delivery.
Minimum Order
Minimum cart total required for this zone. If the customer's cart is below this amount, a message is shown at checkout. Set to 0 for no minimum.
Delivery Fee
Flat delivery fee charged for orders in this zone. This fee is added as a line item in the order total. Set to 0 for free delivery.
📮 Zip Code Mode — What Customers See
- A dropdown listing all zones with zip codes: "Paris (75019, 75020)"
- Selecting a zone auto-fills city and postcode in checkout
- Minimum order and delivery fee are checked automatically
- Address fields are locked after zone selection
📍 Distance Mode — What Customers See
- A Google autocomplete address input field
- Typing an address shows suggestions from Google
- After selection, distance is calculated instantly
- Green message "✓ Delivery available!" or red message if outside range
- All address fields are auto-filled from Google
4. Pickup Locations
Navigate to Super Delivery & Pickup → Pickup Locations tab
🏪 Adding a Pickup Location
Click "Add New Location" to create a location
Location Name
The name shown to customers in the checkout dropdown.
Address, City, Postcode
The full address of the pickup location. In Distance mode, this address is used to calculate delivery distances.
Latitude / Longitude
GPS coordinates for distance calculations. In Distance mode, these are filled automatically when you enter an address using Google autocomplete. In Zip Code mode, you can leave them empty.
How Customers Choose a Location
Zip Code mode: A simple dropdown with all locations listed by name.
Distance mode: Customers enter their address, and the plugin shows all locations sorted by distance. Each location shows how far it is from the customer.
5. Time Slots
Navigate to Super Delivery & Pickup → Time Slots tab
🕐 Separate Delivery & Pickup Slots
Configure different schedules for each order type
The Time Slots tab has two sub-tabs: 🚚 Delivery and 🏪 Pickup. Click on each to configure independently. This lets you have different hours for delivery and pickup.
Enabling / Disabling Days
Each day of the week has a checkbox. Uncheck to disable that day entirely. Disabled days appear in the checkout dropdown as grayed out with "— Closed".
Method 1: Manual Entry
Type time slots directly in the textarea, one per line. Use the format HH:MM - HH:MM.
Method 2: Auto Generate
Click "Auto Generate" to switch to the generator. Configure:
- Time Periods — Set opening and closing times. You can add multiple periods for breaks (e.g., 11:00-14:00 lunch + 18:00-22:00 dinner).
- Interval — Duration of each slot in minutes (e.g., 15 for 15-minute slots).
- Click Generate Slots — the slots are created and filled into the textarea automatically.
Adding Multiple Time Periods (Breaks)
Click the "+ Add Time Period" button to add another opening/closing pair. This is useful for restaurants with lunch and dinner service:
6. Holiday / Closed Dates
Navigate to Super Delivery & Pickup → General tab → bottom of page
🎄 Managing Closed Dates
Block specific dates for holidays, vacations, or special closures
Below the General settings form, you'll find the "Closed / Holiday Dates" section. This is separate from the weekly day-off schedule (which is in Time Slots). Use this for specific calendar dates.
Adding a Closed Date
- Click the date picker field and select a future date
- Click "Add Closed Date"
- The date appears in the table below with the day name
Removing a Closed Date
Click the red ✕ button next to the date. A confirmation dialog appears before deletion.
What Customers See
Holiday dates appear in the checkout date dropdown as grayed out with "— Holiday", distinct from regular weekly closed days that show "— Closed".
Automatic Cleanup
Past dates are automatically removed when the settings page loads. You don't need to clean up old holidays manually.
7. Max Orders per Slot
Navigate to Super Delivery & Pickup → General tab → Capacity section
📊 Slot Capacity Limits
Prevent overbooking by limiting orders per time slot
Setting the Limit
Enter a number in the "Max Orders per Time Slot" field.
- 0 = Unlimited (no capacity check) — this is the default
- 5 = Maximum 5 orders per slot
- 1 = Only 1 order per slot (exclusive time booking)
How It Works
When a customer selects a date on checkout, the plugin checks how many existing orders (processing, on-hold, completed, or pending) are already booked for each time slot on that date. Full slots appear grayed out with "— Full".
Important Details
- Delivery and Pickup orders are counted separately. A slot can be full for delivery but still available for pickup.
- Only orders with status processing, on-hold, completed, or pending are counted. Cancelled and refunded orders don't count.
- The capacity is global — it applies to all slots equally. You cannot set different limits for different time slots.
8. Customer Tips
Navigate to Super Delivery & Pickup → General tab → Tips section
❤️ Setting Up Tips
Let customers show appreciation with optional tips
Enable Tips
Check this box to display the tip section on the checkout page, right above the payment button.
Tip Type
- Percentage (%) — Preset buttons show percentages of the cart subtotal. Example: 5%, 10%, 15%. A €50 order with 10% tip = €5 tip.
- Fixed Amount — Preset buttons show fixed amounts. Example: €1, €2, €5. The tip is always that exact amount regardless of cart total.
Preset Values
Enter comma-separated numbers. These become the quick-select buttons on checkout.
Allow Custom Amount
When checked, a text field appears below the preset buttons where customers can type any amount they want.
What Customers See
A warm-styled section with the title "❤️ Add a Tip" and the message "Show your appreciation! Tips go directly to our team." Buttons are rounded pills. "No Tip" is selected by default.
Where Tips Appear
- Order total — as a fee line: "Tip ❤️ — €5.00"
- Order confirmation email — in the order totals
- Admin order page — visible in order details
- Receipt / printer — included in the fee lines
- Order meta — stored as _sdp_tip_amount for reporting
9. Discounts
Navigate to Super Delivery & Pickup → General tab
💰 Setting Up Discounts
Offer separate discounts for delivery and pickup orders
How Discounts Work
Enter a percentage in Delivery Discount (%) or Pickup Discount (%). The discount is applied as a negative fee line in the cart — customers see it as a line item.
Excluding Categories
Select categories in the "Exclude Categories from Discount" field. Products in these categories won't count toward the discount calculation. Hold CTRL/CMD to select multiple.
10. Shop Page Popup
Navigate to Super Delivery & Pickup → General tab
🛍️ Order Type Popup
Ask customers to choose before they start shopping
Enable Shop Page Popup
Check "Enable Shop Page Popup" in General Settings. When enabled, a popup appears on the WooCommerce shop page asking customers to choose Delivery or Pickup. Their selection is saved in the session and pre-selected on the checkout page.
Shortcode
You can also trigger the popup on any page using the shortcode:
Place this shortcode on your homepage, landing page, or any custom page to show the Delivery/Pickup chooser.
11. 🗺️ Google Maps Setup
Required only for Distance Radius mode
🗺️ Getting a Google Maps API Key
Step-by-step guide
- Go to console.cloud.google.com
- Create a new project (or select an existing one)
- Go to APIs & Services → Library
- Search for and enable these 3 APIs:
- Places API — for address autocomplete
- Maps JavaScript API — for map display
- Geocoding API — for address-to-coordinates conversion
- Go to APIs & Services → Credentials
- Click Create Credentials → API Key
- Copy the API key and paste it in General Settings → Google Maps API Key
12. Printer Compatibility
Works with receipt printers out of the box
🖨️ Receipt Printer Integration
Star Cloud Printer and similar thermal printers
The plugin automatically makes order details visible to receipt printers through multiple methods:
Order Notes
Every order gets an automatic note with all SDP details formatted for printing:
Order Item Totals
SDP details are added to the WooCommerce order totals section, which most printer plugins read automatically.
Order Meta
All details are stored as order meta with the _sdp_ prefix. Printer plugins that display custom meta will show these automatically. Internal IDs (_sdp_delivery_zone_id, _sdp_pickup_location_id, _sdp_tip_amount) are excluded from display to keep receipts clean.
13. Translation / Localization
Make the plugin speak your language
🌍 Translating the Plugin
Compatible with Loco Translate, WPML, Polylang
Using Loco Translate (Recommended)
- Install and activate the Loco Translate plugin
- Go to Loco Translate → Plugins → Super Delivery & Pickup
- Click New language and select your language
- Translate each string and click Save
French Translation Included
A French translation file (.po/.mo) is included in the languages/ folder. You can customize it via Loco Translate.
What Gets Translated
All customer-facing strings are translatable: date labels (Today, Tomorrow), "Select a date", "Select a time", "Closed", "Holiday", "Full", "No Tip", "Add a Tip", error messages, email content, and more. Admin settings labels are also translatable.
14. Requirements
What you need to get started
WordPress
5.0+WooCommerce
6.0+PHP
7.4+MySQL
5.6+Google Maps
Optional** Google Maps API required only for Distance Radius mode
Ready to Get Started?
Download the plugin and set up your delivery & pickup system today!
🌐 Visit Nasir.frMade with ❤️ by Nasir.fr | Super Delivery & Pickup v1.5.0
