AhmedAliIbrahim / spree-delivery-slots

Allows customer to choose pre-defined delivery time slots. Time slots are managed by store admin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SpreeDeliverySlots

SpreeDeliverySlots allows customer to select preferred delivery time for his order. Admin can add a number of time slots(ex: 11:00 AM - 3 PM and 4 PM - 9PM) when he can deliver from shipping method edit/new page. Customer will be able to select only from these pre-created time slots.

Demo

Try Spree Delivery Slots for Spree Master with direct deployment on Heroku:

Deploy

Try Spree Delivery Slots for Spree 3-4 with direct deployment on Heroku:

Deploy

Try Spree Delivery Slots for Spree 3-1 with direct deployment on Heroku:

Deploy

Features

  • While placing the order customer will be able to select the delivery time while selecting the shipping method.

  • Once a order has been placed admin will be able to see the preffered delivery time in order's shipment page and can deliver accordingly.

  • Delivery slot info will also be present in shipped email.

Installation

  1. Add this extension to your Gemfile with this line:

Spree > 3.3

  gem 'spree_delivery_slots', git: 'https://github.com/vinsol-spree-contrib/spree-delivery-slots', branch: 'master'

Spree <= 3.3

  gem 'spree_delivery_slots', git: 'https://github.com/vinsol-spree-contrib/spree-delivery-slots', branch: 'X-X-stable'

The branch option is important: it must match the version of Spree you're using. For example, use 3-0-stable if you're using Spree 3-0-stable or any 3.0.x version.

  1. Install the gem using Bundler:
  bundle install
  1. Copy & run migrations
  bundle exec rails g spree_delivery_slots:install
  1. Restart your server

If your server was running, restart it so that it can find the assets properly.

Testing

Spree >= 3.1

For Building Dependencies:

appraisal install

The dummy app can be regenerated by using:

appraisal spree-3-1 rake test_app

This will run rake test_app using the dependencies configured for Spree 3.1. Similarly you can use spree-3-2 and spree-master for generating dummy applications using dependencies for Spree 3.2 and latest version of Spree

appraisal spree-3-1 rspec

This will run rspec using the dependencies configured for Spree 3.1. Similarly you can use spree-3-2 and spree-master to run rspec using dependencies for Spree 3.2 and latest version of Spree

Spree 3.0 and Spree 2.x

First bundle your dependencies, then run rake. rake will default to building the dummy app if it does not exist, then it will run specs. The dummy app can be regenerated by using rake test_app.

bundle
bundle exec rspec spec

See It In Action

Youtube Video Tutorial

Contributing

  1. Fork the repository.
  2. Clone your repository.
  3. Run bundle install.
  4. Make the required changes.
  5. Ensure all specs are passing.
  6. Submit your pull request.

Credits

vinsol.com: Ruby on Rails, iOS and Android developers

Copyright (c) 2017 vinsol.com, released under the New MIT License

About

Allows customer to choose pre-defined delivery time slots. Time slots are managed by store admin

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Ruby 64.5%Language:HTML 31.2%Language:JavaScript 3.7%Language:CSS 0.6%