Skip the setup. Our team will have you taking orders in 24 hours. Get started →
Extensions

Uber Direct

Installation Getting started Configuration How it works Usage Settings Cart Condition Permissions #Installation You can install the extension via com...

You can install the extension via composer by running this command:

composer require igniterlabs/ti-ext-uberdirect -W

Run the database migrations to create the required tables.

php artisan igniter:up

The Uber Direct for TastyIgniter extension integrates with Uber Direct API to provide automatic order delivery through Uber's courier network. When a customer places a delivery order, the extension automatically dispatches the order to Uber Direct API when it's ready for pickup.

  1. Go to System > Settings > Uber Direct Settings to enter your credentials obtained from your Uber Direct Developer Dashboard.

  2. Disable the default delivery Cart Condition and enable the uberdirectdelivery Cart Condition under System > Settings > Cart Settings.

  3. Enable Reject Orders Outside Delivery Area under System > Settings > Sales. This will require customers to enter their delivery address before placing an order.

  4. Configure your webhook URL in the Uber Direct Developer Dashboard to receive real-time status updates: https://your-site.com/uberdirect/webhook/{token}

When an order is placed with the Uber Direct delivery option:

  1. The order is created in your TastyIgniter system as usual.
  2. When the order status changes to "Ready for Pickup" (configurable in settings), the extension automatically creates a delivery request with Uber Direct API.
  3. An Uber courier is dispatched to pick up the order from your store.
  4. The courier delivers the order to the customer's address.
  5. If the order is canceled, the extension automatically cancels the delivery request with Uber Direct API.

Navigate to System > Settings > Uber Direct Settings to configure the extension:

  • API Credentials: Enter your Uber Direct API client ID and client secret.
  • Environment: Choose between sandbox (testing) or production environment.
  • Ready for Pickup Status: Select the order status that triggers the Uber Direct delivery request.
  • Delivery Completed Statys: Select the order status that indicates the delivery has been completed.
  • Pickup Instructions: Enter any special instructions for the courier when picking up the order.
  • Drop-off Instructions: Enter any special instructions for the courier when dropping off the order.
  • Location Mappings: Map your store locations to Uber Direct location IDs if you have multiple stores.

The extension registers a cart condition named uberdirectdelivery that replaces the default delivery cart condition when available. This condition:

  • Validates delivery addresses against Uber Direct's service area.
  • Calculates delivery fees based on Uber Direct pricing.
  • Manages delivery session data.
  • Falls back to the default delivery condition if Uber Direct is unavailable or if the delivery address is outside the service area.

To enable it:

  1. Go to System > Settings > Cart Settings.
  2. Disable the default delivery condition.
  3. Enable the uberdirectdelivery condition.

The extension registers the following permission:

  • IgniterLabs.UberDirect.ManageSettings: Control who can access the Uber Direct settings in the admin area.

For more on restricting access to the admin area, see the TastyIgniter Permissions documentation.

use Igniter\User\Facades\AdminAuth;

if (AdminAuth::getUser()->hasPermission('IgniterLabs.UberDirect.ManageSettings')) {
    // Do something...
}

Did this answer your question?

Your feedback helps us improve our help articles.

Need more help?

Explore the help center, join the community, or get priority support from the TastyIgniter team.