diff --git a/.gitignore b/.gitignore index ad31bc915..caff03903 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ _site .sass-cache .jekyll-metadata /.debug.log +.dendron.port +.dendron.ws +debug.log diff --git a/en/admin/configuration.md b/_backup/en/admin/configuration.md similarity index 100% rename from en/admin/configuration.md rename to _backup/en/admin/configuration.md diff --git a/en/admin/getting-started/dispatch.md b/_backup/en/admin/getting-started/dispatch.md similarity index 100% rename from en/admin/getting-started/dispatch.md rename to _backup/en/admin/getting-started/dispatch.md diff --git a/en/admin/getting-started/index.md b/_backup/en/admin/getting-started/index.md similarity index 100% rename from en/admin/getting-started/index.md rename to _backup/en/admin/getting-started/index.md diff --git a/en/admin/getting-started/orders.md b/_backup/en/admin/getting-started/orders.md similarity index 100% rename from en/admin/getting-started/orders.md rename to _backup/en/admin/getting-started/orders.md diff --git a/en/admin/getting-started/package-set.md b/_backup/en/admin/getting-started/package-set.md similarity index 100% rename from en/admin/getting-started/package-set.md rename to _backup/en/admin/getting-started/package-set.md diff --git a/en/admin/getting-started/pricing.md b/_backup/en/admin/getting-started/pricing.md similarity index 100% rename from en/admin/getting-started/pricing.md rename to _backup/en/admin/getting-started/pricing.md diff --git a/en/admin/getting-started/time-slots.md b/_backup/en/admin/getting-started/time-slots.md similarity index 100% rename from en/admin/getting-started/time-slots.md rename to _backup/en/admin/getting-started/time-slots.md diff --git a/_backup/en/admin/index.md b/_backup/en/admin/index.md new file mode 100644 index 000000000..3660150ed --- /dev/null +++ b/_backup/en/admin/index.md @@ -0,0 +1,42 @@ +--- +lang: en +title: Admin's guide +ref: admin-home +has_children: true +nav_order: 7 +--- + +# Admin's guide + +Welcome to the administrator's guide for the CoopCycle platform. + +Our software is a complete logistics and e-commerce system allowing the delivery of a product from A to B. Our platform is dedicated to bicycle delivery and its license is designed to reserve the use for worker owned co-operatives only. + +The platform is composed of two components: + +## Logistics +Pickup and dropoff management organised into a task system (two tasks form a delivery) allowing the following user actions: + +- The **administrator**: + - can assign tasks or task lists to a courier. + - can track the position of a courier in real time from the dispatch (dashboard) screen; assigning tasks can be done the day before or in real time. + - can manage pricing for stores (by weight, distance, zone, type of bike). + +- The **courier**: + - will receive the tasks on their smartphone (iOS and Android). + - can mark a task as completed or failed and can add a comment. + +- The **customer**: + - can place an order on the platform and pay (price calculation is automated and secured through Stripe). + +## E-commerce +Management of restaurants and shops, allowing the following user actions: + +- The **customer**: + - can place an order via the platform (website) or via the smartphone application. + - can place an order from a restaurant, by inputing their address and selecting a delivery time. + +- The **business**: + - receives the order in real time, they can then accept or reject it. + - can mark the order as ready, in this case the courier is notified. + - can manage their menu online. diff --git a/en/admin/key-concepts.md b/_backup/en/admin/key-concepts.md similarity index 100% rename from en/admin/key-concepts.md rename to _backup/en/admin/key-concepts.md diff --git a/_backup/en/admin/orders.md b/_backup/en/admin/orders.md new file mode 100644 index 000000000..bc80a3fe3 --- /dev/null +++ b/_backup/en/admin/orders.md @@ -0,0 +1,42 @@ +--- +title: Orders +lang: en +ref: admin-orders +parent: Admin's guide +nav_order: 3 +--- + +# Orders + +Orders page displays the orders engaged by clients on the platform. It enables to manage restaurant's orders. + +There are two types of orders : + +- Foodtech orders, engaged by end customers +- Orders of deliveries, engaged with the integrated form for instance. + +An order can have these following status : + +- New, the order was not accepted by the restaurant yet +- Accepted, the order is in preparation +- Refused, the order has been refused +- Ready, the order is waiting a bike messenger or its delivery is underway +- Done, the order was delivered +- Cancelled, the order was cancelled by the client or the restaurant + +## List of orders + +![Commandes](/assets/images/orders_fr.png) + +The list of orders displays orders which are underway on the platform. You can display the cancelled orders by ticking the option : "Display cancelled orders”. + +The administrator can cancel an order by clicking on the button `Cancel` d’une commande. Displayed informations are : + +- id, order's number +- The type of order +- Customer who engaged the order +- The order's statut +- Total amount charged for the customer +- The associated bill, that you can download in pdf format +- Date of creation +- The `Cancel` button for an order diff --git a/_backup/en/admin/stores.md b/_backup/en/admin/stores.md new file mode 100644 index 000000000..7ca3de866 --- /dev/null +++ b/_backup/en/admin/stores.md @@ -0,0 +1,38 @@ +--- +title: Stores +lang: en +ref: admin-stores +parent: Admin's guide +nav_order: 4 +--- + +In CoopCycle's « vocabulary », a **Store** represents a B2B customer, i.e. a professional merchant to whom the cooperative offers its delivery services. + +Basically, a **Store** is a container for deliveries. +Users can be attached to a **Store**, and once attached, they can use the web interface to order deliveries using a form. +The deliveries ordered this way land directly in the dispatch. + +## Store Settings + +The settings will change the behavior of the form to order a delivery. + +![Store Settings](/assets/images/store_settings_en.png) + +### Pricing + +This allows to decide how the prices for this **Store** will be calculated. +You can choose among the **Pricing Rules** that you have configured previously. + +[Learn more about defining Pricing Rules](/en/admin/actions/pricing.html). + +Heads up +{: .label } + +If you want the price to be displayed to the user, you need to check the « Create orders » checkbox. + +### Time Slot + +This allows to decide which time slots the user will be able to select. + +[Learn more about defining Time Slots](/en/admin/actions/time-slots.html). + diff --git a/en/admin/stripe-payments.md b/_backup/en/admin/stripe-payments.md similarity index 100% rename from en/admin/stripe-payments.md rename to _backup/en/admin/stripe-payments.md diff --git a/_backup/en/admin/users.md b/_backup/en/admin/users.md new file mode 100644 index 000000000..fb961fac2 --- /dev/null +++ b/_backup/en/admin/users.md @@ -0,0 +1,48 @@ +--- +title: Users +lang: en +ref: admin-users +parent: Admin's guide +nav_order: 6 +--- + +# Management of users + +The list of administrators is available in the page `Users`. This list describes accounts which are inscribed on the platform and their associated informations. It also enables to add/create a new user. + +## User profil + +An user account is associated to the following informations : + +- User name +- First name +- Last name +- Telephone number +- Password +- Email adress + +It is possible to activate/desactivate users. A desactivated user is disconnected and can't access the platform anymore. + +## Roles + +Every user can have one or several roles. Every role gives access to some platform features. + +| Role | Customer | Bike messenger | Restaurant | Shop | Admin | +| ------------------------------- |:------:|:---------:|:----------:| :----------:| :----------:| +| To edit his/her own personal informations | ✔ | ✔ | ✔ | ✔ | ✔ | +| To create and modify restaurants | | | ✔ | | ✔ | +| Mannage orders | | | ✔ | | ✔ | +| To edit a receipt | | | ✔ | | ✔ | +| To create and modify menus | | | ✔ | | ✔ | +| To create shops | | | | | ✔ | +| To modify shops | | | | ✔ | ✔ | +| To create a delivery | | | | ✔ | ✔ | +| To manage deliveries | | ✔ | | | ✔ | +| To access CoopCycle API | | ✔ | ✔ | | ✔ | +| To edit roles for users | | | | | ✔ | +| To edit contracts and tarifications | | | | | ✔ | + + +## Assignation of a shop/restaurant + +On the informations about an user which has the `Restaurant` role, you can assignate him/her (To make him/her owner) a shop that you have previously created. It also works for an user who has a `shop-owner` role. diff --git a/en/admin/users/admin-account.md b/_backup/en/admin/users/admin-account.md similarity index 100% rename from en/admin/users/admin-account.md rename to _backup/en/admin/users/admin-account.md diff --git a/en/admin/users/courier-account.md b/_backup/en/admin/users/courier-account.md similarity index 100% rename from en/admin/users/courier-account.md rename to _backup/en/admin/users/courier-account.md diff --git a/en/admin/users/customer-account.md b/_backup/en/admin/users/customer-account.md similarity index 100% rename from en/admin/users/customer-account.md rename to _backup/en/admin/users/customer-account.md diff --git a/en/admin/users/index.md b/_backup/en/admin/users/index.md similarity index 100% rename from en/admin/users/index.md rename to _backup/en/admin/users/index.md diff --git a/en/admin/users/restaurant-account/creating-restaurant.md b/_backup/en/admin/users/restaurant-account/creating-restaurant.md similarity index 100% rename from en/admin/users/restaurant-account/creating-restaurant.md rename to _backup/en/admin/users/restaurant-account/creating-restaurant.md diff --git a/en/admin/users/restaurant-account/index.md b/_backup/en/admin/users/restaurant-account/index.md similarity index 100% rename from en/admin/users/restaurant-account/index.md rename to _backup/en/admin/users/restaurant-account/index.md diff --git a/en/admin/users/store-account/creating-store.md b/_backup/en/admin/users/store-account/creating-store.md similarity index 100% rename from en/admin/users/store-account/creating-store.md rename to _backup/en/admin/users/store-account/creating-store.md diff --git a/en/admin/users/store-account/index.md b/_backup/en/admin/users/store-account/index.md similarity index 100% rename from en/admin/users/store-account/index.md rename to _backup/en/admin/users/store-account/index.md diff --git a/_backup/en/app/index.md b/_backup/en/app/index.md new file mode 100644 index 000000000..fdfc819ac --- /dev/null +++ b/_backup/en/app/index.md @@ -0,0 +1,7 @@ +--- +lang: en +title: App +ref: app-home +has_children: true +nav_order: 3 +--- diff --git a/en/app/installation.md b/_backup/en/app/installation.md similarity index 100% rename from en/app/installation.md rename to _backup/en/app/installation.md diff --git a/en/app/order-management.md b/_backup/en/app/order-management.md similarity index 100% rename from en/app/order-management.md rename to _backup/en/app/order-management.md diff --git a/en/app/task-management.md b/_backup/en/app/task-management.md similarity index 100% rename from en/app/task-management.md rename to _backup/en/app/task-management.md diff --git a/en/courier/app-tutorial.md b/_backup/en/courier/app-tutorial.md similarity index 100% rename from en/courier/app-tutorial.md rename to _backup/en/courier/app-tutorial.md diff --git a/_backup/en/courier/index.md b/_backup/en/courier/index.md new file mode 100644 index 000000000..1101cc9d8 --- /dev/null +++ b/_backup/en/courier/index.md @@ -0,0 +1,15 @@ +--- +lang: en +title: Courier's guide +ref: courier-home +has_children: true +nav_order: 4 +--- + +# Courier's guide + +Welcome to the courier's guide for the CoopCycle platform. + +## Courier's guide on the platform + +## Courier's guide on the app diff --git a/_backup/en/developer/api.md b/_backup/en/developer/api.md new file mode 100644 index 000000000..1f1517e29 --- /dev/null +++ b/_backup/en/developer/api.md @@ -0,0 +1,68 @@ +--- +title: Using the CoopCycle API +lang: en +ref: dev-api +parent: Developer +nav_order: 1 +--- + +# Using the CoopCycle API + +[Open API / Swagger documentation](https://demo.coopcycle.org/api/docs) + +## Authentication + +Most of the API endpoints require authentication, and also authorization. +
+Authentication is implemented by sending a [JSON Web Token](https://jwt.io/introduction/) via HTTP headers. + +``` +Authorization: Bearer +``` + +### Authenticating as a web application + +If you are creating a web application that does not need to act on behalf of a user, you need to use the [OAuth client credentials](https://oauth.net/2/grant-types/client-credentials/) flow to obtain an access token. + +**Obtaining API credentials** + +To create access tokens, you will need API credentials (an API key and an API secret). +
+Ask the platform administrators to create a API application and send you the API credentials. + +**Using the credentials to obtain an access token** + +The first step to make authenticated requests is to obtain an **access token**. +
+To obtain an access token, you first need to make a request to the `/oauth2/token` endpoint, +with your API credentials encoded as Base64. + +Here is an example to encode your API credentials using PHP: + +``` +php -r 'echo base64_encode(":"), PHP_EOL;' +``` + +Here is an example request to the `/oauth2/token` endpoint using cURL: + +``` +curl -X POST -d 'grant_type=client_credentials&scope=tasks+deliveries' -H 'Authorization: Basic ' https://acme.coopcycle.org/oauth2/token +``` + +The response should look like this: + +``` +{ + "token_type": "Bearer", + "expires_in": 3600, + "access_token": "" +} +``` + +**Using the access token to make authenticated requests** + +You can now use the access token to make authenticated requests to the API + +``` +curl -X POST -d '{ ... }' -H 'Content-Type: application/ld+json' -H 'Authorization: Bearer ' https://acme.coopcycle.org/api/deliveries +``` diff --git a/en/developer/api/deliveries.md b/_backup/en/developer/api/deliveries.md similarity index 100% rename from en/developer/api/deliveries.md rename to _backup/en/developer/api/deliveries.md diff --git a/_backup/en/developer/index.md b/_backup/en/developer/index.md new file mode 100644 index 000000000..218d59756 --- /dev/null +++ b/_backup/en/developer/index.md @@ -0,0 +1,12 @@ +--- +lang: en +title: Developer +ref: dev-home +has_children: true +nav_order: 3 +--- + +# Developer's guide + +Welcome to the developer's guide for CoopCycle platform. +{: .fs-6 } diff --git a/en/developer/stripe.md b/_backup/en/developer/stripe.md similarity index 100% rename from en/developer/stripe.md rename to _backup/en/developer/stripe.md diff --git a/_backup/en/index.md b/_backup/en/index.md new file mode 100644 index 000000000..8ca52ee7f --- /dev/null +++ b/_backup/en/index.md @@ -0,0 +1,19 @@ +--- +layout: home +lang: en +title: Home +ref: homepage +nav_order: 1 +--- + +**Welcome!** + +This documentation is hosted on [GitHub Pages](https://pages.github.com/). + +You can use the "Edit this page" button to be redirected to the GitHub online editor. + +For a guide on how to edit the docs see [Edit Docs] or go to Tutorials → Editing Docs. + +--- + +Go here to get started. diff --git a/en/payment-portals/about-stripe.md b/_backup/en/payment-portals/about-stripe.md similarity index 100% rename from en/payment-portals/about-stripe.md rename to _backup/en/payment-portals/about-stripe.md diff --git a/en/payment-portals/index.md b/_backup/en/payment-portals/index.md similarity index 100% rename from en/payment-portals/index.md rename to _backup/en/payment-portals/index.md diff --git a/en/plugins/index.md b/_backup/en/plugins/index.md similarity index 100% rename from en/plugins/index.md rename to _backup/en/plugins/index.md diff --git a/en/plugins/woocommerce.md b/_backup/en/plugins/woocommerce.md similarity index 100% rename from en/plugins/woocommerce.md rename to _backup/en/plugins/woocommerce.md diff --git a/en/restaurant/bluetooth-printers.md b/_backup/en/restaurant/bluetooth-printers.md similarity index 100% rename from en/restaurant/bluetooth-printers.md rename to _backup/en/restaurant/bluetooth-printers.md diff --git a/en/restaurant/connecting-stripe.md b/_backup/en/restaurant/connecting-stripe.md similarity index 100% rename from en/restaurant/connecting-stripe.md rename to _backup/en/restaurant/connecting-stripe.md diff --git a/en/restaurant/create-restaurant.md b/_backup/en/restaurant/create-restaurant.md similarity index 100% rename from en/restaurant/create-restaurant.md rename to _backup/en/restaurant/create-restaurant.md diff --git a/_backup/en/restaurant/index.md b/_backup/en/restaurant/index.md new file mode 100644 index 000000000..5d8451dfe --- /dev/null +++ b/_backup/en/restaurant/index.md @@ -0,0 +1,13 @@ +--- +lang: en +title: Restaurant's guide +ref: restaurant-home +has_children: true +nav_order: 8 +--- + +# Restaurant's guide (overview) + +## Restaurant's guide on the platform + +## Restaurant's guide on the app diff --git a/en/restaurant/restaurant-information.md b/_backup/en/restaurant/restaurant-information.md similarity index 100% rename from en/restaurant/restaurant-information.md rename to _backup/en/restaurant/restaurant-information.md diff --git a/en/restaurant/restaurant-management.md b/_backup/en/restaurant/restaurant-management.md similarity index 100% rename from en/restaurant/restaurant-management.md rename to _backup/en/restaurant/restaurant-management.md diff --git a/fr/administrateur/actions/index.md b/_backup/fr/administrateur/actions/index.md similarity index 100% rename from fr/administrateur/actions/index.md rename to _backup/fr/administrateur/actions/index.md diff --git a/fr/administrateur/actions/livraisons.md b/_backup/fr/administrateur/actions/livraisons.md similarity index 100% rename from fr/administrateur/actions/livraisons.md rename to _backup/fr/administrateur/actions/livraisons.md diff --git a/fr/administrateur/actions/tableau-de-bord.md b/_backup/fr/administrateur/actions/tableau-de-bord.md similarity index 100% rename from fr/administrateur/actions/tableau-de-bord.md rename to _backup/fr/administrateur/actions/tableau-de-bord.md diff --git a/fr/administrateur/actions/tarifications.md b/_backup/fr/administrateur/actions/tarifications.md similarity index 100% rename from fr/administrateur/actions/tarifications.md rename to _backup/fr/administrateur/actions/tarifications.md diff --git a/fr/administrateur/commandes.md b/_backup/fr/administrateur/commandes.md similarity index 100% rename from fr/administrateur/commandes.md rename to _backup/fr/administrateur/commandes.md diff --git a/fr/administrateur/concepts-cles.md b/_backup/fr/administrateur/concepts-cles.md similarity index 100% rename from fr/administrateur/concepts-cles.md rename to _backup/fr/administrateur/concepts-cles.md diff --git a/fr/administrateur/configuration.md b/_backup/fr/administrateur/configuration.md similarity index 100% rename from fr/administrateur/configuration.md rename to _backup/fr/administrateur/configuration.md diff --git a/fr/administrateur/index.md b/_backup/fr/administrateur/index.md similarity index 100% rename from fr/administrateur/index.md rename to _backup/fr/administrateur/index.md diff --git a/fr/administrateur/magasins.md b/_backup/fr/administrateur/magasins.md similarity index 100% rename from fr/administrateur/magasins.md rename to _backup/fr/administrateur/magasins.md diff --git a/fr/administrateur/paiements-stripe.md b/_backup/fr/administrateur/paiements-stripe.md similarity index 100% rename from fr/administrateur/paiements-stripe.md rename to _backup/fr/administrateur/paiements-stripe.md diff --git a/fr/administrateur/utilisateurs.md b/_backup/fr/administrateur/utilisateurs.md similarity index 100% rename from fr/administrateur/utilisateurs.md rename to _backup/fr/administrateur/utilisateurs.md diff --git a/fr/application/gestion-des-commandes.md b/_backup/fr/application/gestion-des-commandes.md similarity index 100% rename from fr/application/gestion-des-commandes.md rename to _backup/fr/application/gestion-des-commandes.md diff --git a/fr/application/gestion-des-taches.md b/_backup/fr/application/gestion-des-taches.md similarity index 100% rename from fr/application/gestion-des-taches.md rename to _backup/fr/application/gestion-des-taches.md diff --git a/fr/application/imprimantes-bluetooth.md b/_backup/fr/application/imprimantes-bluetooth.md similarity index 100% rename from fr/application/imprimantes-bluetooth.md rename to _backup/fr/application/imprimantes-bluetooth.md diff --git a/fr/application/index.md b/_backup/fr/application/index.md similarity index 100% rename from fr/application/index.md rename to _backup/fr/application/index.md diff --git a/fr/application/installation.md b/_backup/fr/application/installation.md similarity index 100% rename from fr/application/installation.md rename to _backup/fr/application/installation.md diff --git a/fr/developpeur/api.md b/_backup/fr/developpeur/api.md similarity index 100% rename from fr/developpeur/api.md rename to _backup/fr/developpeur/api.md diff --git a/fr/developpeur/index.md b/_backup/fr/developpeur/index.md similarity index 100% rename from fr/developpeur/index.md rename to _backup/fr/developpeur/index.md diff --git a/fr/developpeur/livraisons.md b/_backup/fr/developpeur/livraisons.md similarity index 100% rename from fr/developpeur/livraisons.md rename to _backup/fr/developpeur/livraisons.md diff --git a/fr/guides/organiser-une-initiative-solidaire.md b/_backup/fr/guides/organiser-une-initiative-solidaire.md similarity index 100% rename from fr/guides/organiser-une-initiative-solidaire.md rename to _backup/fr/guides/organiser-une-initiative-solidaire.md diff --git a/fr/index.md b/_backup/fr/index.md similarity index 100% rename from fr/index.md rename to _backup/fr/index.md diff --git a/fr/restaurants/creation-restaurant.md b/_backup/fr/restaurants/creation-restaurant.md similarity index 100% rename from fr/restaurants/creation-restaurant.md rename to _backup/fr/restaurants/creation-restaurant.md diff --git a/fr/restaurants/gerer-un-restaurant.md b/_backup/fr/restaurants/gerer-un-restaurant.md similarity index 100% rename from fr/restaurants/gerer-un-restaurant.md rename to _backup/fr/restaurants/gerer-un-restaurant.md diff --git a/fr/restaurants/index.md b/_backup/fr/restaurants/index.md similarity index 100% rename from fr/restaurants/index.md rename to _backup/fr/restaurants/index.md diff --git a/fr/restaurants/restaurant.md b/_backup/fr/restaurants/restaurant.md similarity index 100% rename from fr/restaurants/restaurant.md rename to _backup/fr/restaurants/restaurant.md diff --git a/fr/tutoriels/index.md b/_backup/fr/tutoriels/index.md similarity index 100% rename from fr/tutoriels/index.md rename to _backup/fr/tutoriels/index.md diff --git a/fr/tutoriels/zones.md b/_backup/fr/tutoriels/zones.md similarity index 100% rename from fr/tutoriels/zones.md rename to _backup/fr/tutoriels/zones.md diff --git a/pt-BR/admin/actions/index.md b/_backup/pt-BR/admin/actions/index.md similarity index 100% rename from pt-BR/admin/actions/index.md rename to _backup/pt-BR/admin/actions/index.md diff --git a/pt-BR/admin/actions/intervalos-tempo.md b/_backup/pt-BR/admin/actions/intervalos-tempo.md similarity index 100% rename from pt-BR/admin/actions/intervalos-tempo.md rename to _backup/pt-BR/admin/actions/intervalos-tempo.md diff --git a/pt-BR/admin/actions/pacotes.md b/_backup/pt-BR/admin/actions/pacotes.md similarity index 100% rename from pt-BR/admin/actions/pacotes.md rename to _backup/pt-BR/admin/actions/pacotes.md diff --git a/pt-BR/admin/actions/painel-controle.md b/_backup/pt-BR/admin/actions/painel-controle.md similarity index 100% rename from pt-BR/admin/actions/painel-controle.md rename to _backup/pt-BR/admin/actions/painel-controle.md diff --git a/pt-BR/admin/actions/pedidos.md b/_backup/pt-BR/admin/actions/pedidos.md similarity index 100% rename from pt-BR/admin/actions/pedidos.md rename to _backup/pt-BR/admin/actions/pedidos.md diff --git a/pt-BR/admin/actions/precos.md b/_backup/pt-BR/admin/actions/precos.md similarity index 100% rename from pt-BR/admin/actions/precos.md rename to _backup/pt-BR/admin/actions/precos.md diff --git a/pt-BR/admin/conceitos-chave.md b/_backup/pt-BR/admin/conceitos-chave.md similarity index 100% rename from pt-BR/admin/conceitos-chave.md rename to _backup/pt-BR/admin/conceitos-chave.md diff --git a/pt-BR/admin/configuracao.md b/_backup/pt-BR/admin/configuracao.md similarity index 100% rename from pt-BR/admin/configuracao.md rename to _backup/pt-BR/admin/configuracao.md diff --git a/pt-BR/admin/index.md b/_backup/pt-BR/admin/index.md similarity index 100% rename from pt-BR/admin/index.md rename to _backup/pt-BR/admin/index.md diff --git a/pt-BR/admin/lojas.md b/_backup/pt-BR/admin/lojas.md similarity index 100% rename from pt-BR/admin/lojas.md rename to _backup/pt-BR/admin/lojas.md diff --git a/pt-BR/admin/pagamento-stripe.md b/_backup/pt-BR/admin/pagamento-stripe.md similarity index 100% rename from pt-BR/admin/pagamento-stripe.md rename to _backup/pt-BR/admin/pagamento-stripe.md diff --git a/pt-BR/admin/pedidos.md b/_backup/pt-BR/admin/pedidos.md similarity index 100% rename from pt-BR/admin/pedidos.md rename to _backup/pt-BR/admin/pedidos.md diff --git a/pt-BR/admin/users/conta-administrador.md b/_backup/pt-BR/admin/users/conta-administrador.md similarity index 100% rename from pt-BR/admin/users/conta-administrador.md rename to _backup/pt-BR/admin/users/conta-administrador.md diff --git a/pt-BR/admin/users/conta-cliente.md b/_backup/pt-BR/admin/users/conta-cliente.md similarity index 100% rename from pt-BR/admin/users/conta-cliente.md rename to _backup/pt-BR/admin/users/conta-cliente.md diff --git a/pt-BR/admin/users/conta-loja/criar-loja.md b/_backup/pt-BR/admin/users/conta-loja/criar-loja.md similarity index 100% rename from pt-BR/admin/users/conta-loja/criar-loja.md rename to _backup/pt-BR/admin/users/conta-loja/criar-loja.md diff --git a/pt-BR/admin/users/conta-loja/index.md b/_backup/pt-BR/admin/users/conta-loja/index.md similarity index 100% rename from pt-BR/admin/users/conta-loja/index.md rename to _backup/pt-BR/admin/users/conta-loja/index.md diff --git a/pt-BR/admin/users/conta-mensageiro.md b/_backup/pt-BR/admin/users/conta-mensageiro.md similarity index 100% rename from pt-BR/admin/users/conta-mensageiro.md rename to _backup/pt-BR/admin/users/conta-mensageiro.md diff --git a/pt-BR/admin/users/conta-restaurante/criar-restaurante.md b/_backup/pt-BR/admin/users/conta-restaurante/criar-restaurante.md similarity index 100% rename from pt-BR/admin/users/conta-restaurante/criar-restaurante.md rename to _backup/pt-BR/admin/users/conta-restaurante/criar-restaurante.md diff --git a/pt-BR/admin/users/conta-restaurante/index.md b/_backup/pt-BR/admin/users/conta-restaurante/index.md similarity index 100% rename from pt-BR/admin/users/conta-restaurante/index.md rename to _backup/pt-BR/admin/users/conta-restaurante/index.md diff --git a/pt-BR/admin/users/index.md b/_backup/pt-BR/admin/users/index.md similarity index 100% rename from pt-BR/admin/users/index.md rename to _backup/pt-BR/admin/users/index.md diff --git a/pt-BR/admin/usuarios.md b/_backup/pt-BR/admin/usuarios.md similarity index 100% rename from pt-BR/admin/usuarios.md rename to _backup/pt-BR/admin/usuarios.md diff --git a/pt-BR/app/administracao-entregas.md b/_backup/pt-BR/app/administracao-entregas.md similarity index 100% rename from pt-BR/app/administracao-entregas.md rename to _backup/pt-BR/app/administracao-entregas.md diff --git a/pt-BR/app/administracao-tarefas.md b/_backup/pt-BR/app/administracao-tarefas.md similarity index 100% rename from pt-BR/app/administracao-tarefas.md rename to _backup/pt-BR/app/administracao-tarefas.md diff --git a/pt-BR/app/index.md b/_backup/pt-BR/app/index.md similarity index 100% rename from pt-BR/app/index.md rename to _backup/pt-BR/app/index.md diff --git a/pt-BR/app/instalacao.md b/_backup/pt-BR/app/instalacao.md similarity index 100% rename from pt-BR/app/instalacao.md rename to _backup/pt-BR/app/instalacao.md diff --git a/pt-BR/cliente/index.md b/_backup/pt-BR/cliente/index.md similarity index 100% rename from pt-BR/cliente/index.md rename to _backup/pt-BR/cliente/index.md diff --git a/pt-BR/developer/api.md b/_backup/pt-BR/developer/api.md similarity index 100% rename from pt-BR/developer/api.md rename to _backup/pt-BR/developer/api.md diff --git a/pt-BR/developer/index.md b/_backup/pt-BR/developer/index.md similarity index 100% rename from pt-BR/developer/index.md rename to _backup/pt-BR/developer/index.md diff --git a/pt-BR/entregador/guia-app.md b/_backup/pt-BR/entregador/guia-app.md similarity index 100% rename from pt-BR/entregador/guia-app.md rename to _backup/pt-BR/entregador/guia-app.md diff --git a/pt-BR/entregador/index.md b/_backup/pt-BR/entregador/index.md similarity index 100% rename from pt-BR/entregador/index.md rename to _backup/pt-BR/entregador/index.md diff --git a/pt-BR/index.md b/_backup/pt-BR/index.md similarity index 100% rename from pt-BR/index.md rename to _backup/pt-BR/index.md diff --git a/pt-BR/plugins/index.md b/_backup/pt-BR/plugins/index.md similarity index 100% rename from pt-BR/plugins/index.md rename to _backup/pt-BR/plugins/index.md diff --git a/pt-BR/plugins/woocommerce.md b/_backup/pt-BR/plugins/woocommerce.md similarity index 100% rename from pt-BR/plugins/woocommerce.md rename to _backup/pt-BR/plugins/woocommerce.md diff --git a/pt-BR/restaurantes/administracao-restaurante.md b/_backup/pt-BR/restaurantes/administracao-restaurante.md similarity index 100% rename from pt-BR/restaurantes/administracao-restaurante.md rename to _backup/pt-BR/restaurantes/administracao-restaurante.md diff --git a/pt-BR/restaurantes/criar-restaurante.md b/_backup/pt-BR/restaurantes/criar-restaurante.md similarity index 100% rename from pt-BR/restaurantes/criar-restaurante.md rename to _backup/pt-BR/restaurantes/criar-restaurante.md diff --git a/pt-BR/restaurantes/impressoras-bluetooth.md b/_backup/pt-BR/restaurantes/impressoras-bluetooth.md similarity index 100% rename from pt-BR/restaurantes/impressoras-bluetooth.md rename to _backup/pt-BR/restaurantes/impressoras-bluetooth.md diff --git a/pt-BR/restaurantes/index.md b/_backup/pt-BR/restaurantes/index.md similarity index 100% rename from pt-BR/restaurantes/index.md rename to _backup/pt-BR/restaurantes/index.md diff --git a/pt-BR/restaurantes/informacoes-restaurante.md b/_backup/pt-BR/restaurantes/informacoes-restaurante.md similarity index 100% rename from pt-BR/restaurantes/informacoes-restaurante.md rename to _backup/pt-BR/restaurantes/informacoes-restaurante.md diff --git a/pt-BR/tutorials/index.md b/_backup/pt-BR/tutorials/index.md similarity index 100% rename from pt-BR/tutorials/index.md rename to _backup/pt-BR/tutorials/index.md diff --git a/pt-BR/tutorials/zones.md b/_backup/pt-BR/tutorials/zones.md similarity index 100% rename from pt-BR/tutorials/zones.md rename to _backup/pt-BR/tutorials/zones.md diff --git a/_config.yml b/_config.yml index d89dfaba7..b9843a986 100644 --- a/_config.yml +++ b/_config.yml @@ -36,6 +36,7 @@ plugins: - jekyll-seo-tag - jekyll-sitemap - jekyll-redirect-from + - jekyll-relative-links # Color scheme currently only supports "dark" or nil (default) color_scheme: nil @@ -53,4 +54,13 @@ exclude: # - vendor/cache/ # - vendor/gems/ # - vendor/ruby/ + - _backup - _translations/ + - vendor + +gh_edit_link: true # show or hide edit this page link +gh_edit_link_text: "Edit this page on GitHub." +gh_edit_repository: "https://github.com/coopcycle/coopcycle-docs" # the github URL for your repo +gh_edit_branch: "master" # the branch that your docs is served from +# gh_edit_source: docs # the source that your files originate from +gh_edit_view_mode: "edit" # "tree" or "edit" if you want the user to jump into the editor immediately diff --git a/_dendron/.dendron.port b/_dendron/.dendron.port deleted file mode 100644 index 0bc965de4..000000000 --- a/_dendron/.dendron.port +++ /dev/null @@ -1 +0,0 @@ -1877 \ No newline at end of file diff --git a/_dendron/.dendron.ws b/_dendron/.dendron.ws deleted file mode 100644 index c7ec65a79..000000000 --- a/_dendron/.dendron.ws +++ /dev/null @@ -1 +0,0 @@ -{"version":"0.18.0","activationTime":1607168481852} diff --git a/_dendron/debug.log b/_dendron/debug.log deleted file mode 100644 index 16653dc77..000000000 --- a/_dendron/debug.log +++ /dev/null @@ -1,6 +0,0 @@ -[1113/102352.937:ERROR:registration_protocol_win.cc(103)] CreateFile: The system cannot find the file specified. (0x2) -[1113/102403.982:ERROR:registration_protocol_win.cc(103)] CreateFile: The system cannot find the file specified. (0x2) -[1113/112147.523:ERROR:registration_protocol_win.cc(103)] CreateFile: The system cannot find the file specified. (0x2) -[1113/121318.829:ERROR:registration_protocol_win.cc(103)] CreateFile: The system cannot find the file specified. (0x2) -[1113/133945.720:ERROR:registration_protocol_win.cc(103)] CreateFile: The system cannot find the file specified. (0x2) -[1204/183217.613:ERROR:registration_protocol_win.cc(103)] CreateFile: The system cannot find the file specified. (0x2) diff --git a/_includes/head_custom.html b/_includes/head_custom.html new file mode 100644 index 000000000..d1a7196a3 --- /dev/null +++ b/_includes/head_custom.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/_includes/nav.html b/_includes/nav.html deleted file mode 100644 index 9106696e2..000000000 --- a/_includes/nav.html +++ /dev/null @@ -1,38 +0,0 @@ - diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index b6e0624b3..000000000 --- a/_layouts/default.html +++ /dev/null @@ -1,171 +0,0 @@ ---- -layout: table_wrappers ---- - - - - -{% include head.html %} - - - - Link - - - - - - Search - - - - - - Menu - - - - - - Expand - - - - - - Document - - - - - - - -
-
- {% if site.search_enabled != false %} - - {% endif %} - {% if site.aux_links %} - - {% endif %} - {% include edit_page.html %} - {% include langs.html %} -
-
- {% unless page.url == "/" %} - {% if page.parent %} - - {% endif %} - {% endunless %} -
- {% if site.heading_anchors != false %} - {% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="" anchorClass="anchor-heading" %} - {% else %} - {{ content }} - {% endif %} - - {% if page.has_children == true and page.has_toc != false %} -
-

Table of contents

-
    - {%- assign children_list = pages_list | where: "parent", page.title | where: "grand_parent", page.parent -%} - {% for child in children_list %} -
  • - {{ child.title }}{% if child.summary %} - {{ child.summary }}{% endif %} -
  • - {% endfor %} -
- {% endif %} - - {% if site.footer_content != nil or site.last_edit_timestamp or site.gh_edit_link %} -
-
- {% if site.back_to_top %} -

{{ site.back_to_top_text }}

- {% endif %} - {% if site.footer_content != nil %} -

{{ site.footer_content }}

- {% endif %} - - {% if site.last_edit_timestamp or site.gh_edit_link %} -
- {% if site.last_edit_timestamp and site.last_edit_time_format and page.last_modified_date %} -

- Page last modified: {{ page.last_modified_date | date: site.last_edit_time_format }}. -

- {% endif %} - {% if - site.gh_edit_link and - site.gh_edit_link_text and - site.gh_edit_repository and - site.gh_edit_branch and - site.gh_edit_view_mode - %} -

- {{ site.gh_edit_link_text }} -

- {% endif %} -
- {% endif %} -
- {% endif %} - -
-
- - {% if site.search_enabled != false %} - {% if site.search.button %} - - - - {% endif %} - -
- {% endif %} -
- - diff --git a/_translations/fr.po b/_translations/fr.po new file mode 100644 index 000000000..b7792d975 --- /dev/null +++ b/_translations/fr.po @@ -0,0 +1,77 @@ +msgid "" +msgstr "" +"PO-Revision-Date: 2020-12-17 11:36+0000\n" +"Last-Translator: Alexandre Segura \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.3.1\n" + +#: _site/en/admin/configuration.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4268 +#: _site/en/admin/index.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4214 +#: _site/en/admin/key-concepts.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4262 +#: _site/en/admin/orders.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4226 +#: _site/en/admin/stores.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4226 +#: _site/en/admin/stripe-payments.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4280 +#: _site/en/admin/users.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4220 +#: _site/en/app/index.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4192 +#: _site/en/app/index.html%2Bhtml.body.div.div.div.ul.li:1-11047 +#: _site/en/app/installation.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4276 +#: _site/en/app/order-management.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4287 +#: _site/en/app/task-management.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4281 +#: _site/en/app/task-management.html%2Bhtml.body.div.div.nav.ol.li:1-11206 +#: _site/en/courier/app-tutorial.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4268 +#: _site/en/courier/app-tutorial.html%2Bhtml.body.div.div.div.h2:1-11529 +#: _site/en/courier/index.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4226 +#: _site/en/developer/api.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4280 +#: _site/en/developer/index.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4214 +#: _site/en/developer/stripe.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4271 +#: _site/en/payment-portals/about-stripe.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4292 +#: _site/en/payment-portals/index.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4250 +#: _site/en/plugins/index.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4202 +#: _site/en/plugins/woocommerce.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4262 +#: _site/en/restaurant/bluetooth-printers.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4349 +#: _site/en/restaurant/connecting-stripe.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4331 +#: _site/en/restaurant/create-restaurant.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4313 +#: _site/en/restaurant/index.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4244 +#: _site/en/restaurant/restaurant-information.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4337 +#: _site/en/restaurant/restaurant-management.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4331 +#: _site/en/tutorials/index.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4214 +#: _site/en/tutorials/zones.html%2Bhtml.body.div.nav.ul.li.ul.li:1-4256 +msgid "Task management" +msgstr "Gestion des tâches" + +#: _site/en/admin/configuration.html%2Bhtml.body.svg.symbol.title:1-1994 +#: _site/en/admin/index.html%2Bhtml.body.svg.symbol.title:1-1940 +#: _site/en/admin/key-concepts.html%2Bhtml.body.svg.symbol.title:1-1988 +#: _site/en/admin/orders.html%2Bhtml.body.svg.symbol.title:1-1952 +#: _site/en/admin/stores.html%2Bhtml.body.svg.symbol.title:1-1952 +#: _site/en/admin/stripe-payments.html%2Bhtml.body.svg.symbol.title:1-2006 +#: _site/en/admin/users.html%2Bhtml.body.svg.symbol.title:1-1946 +#: _site/en/app/index.html%2Bhtml.body.svg.symbol.title:1-1904 +#: _site/en/app/installation.html%2Bhtml.body.svg.symbol.title:1-1982 +#: _site/en/app/order-management.html%2Bhtml.body.svg.symbol.title:1-2006 +#: _site/en/app/task-management.html%2Bhtml.body.svg.symbol.title:1-2000 +#: _site/en/courier/app-tutorial.html%2Bhtml.body.svg.symbol.title:1-1994 +#: _site/en/courier/index.html%2Bhtml.body.svg.symbol.title:1-1952 +#: _site/en/developer/api.html%2Bhtml.body.svg.symbol.title:1-2006 +#: _site/en/developer/index.html%2Bhtml.body.svg.symbol.title:1-1940 +#: _site/en/developer/stripe.html%2Bhtml.body.svg.symbol.title:1-1997 +#: _site/en/payment-portals/about-stripe.html%2Bhtml.body.svg.symbol.title:1-2018 +#: _site/en/payment-portals/index.html%2Bhtml.body.svg.symbol.title:1-1976 +#: _site/en/plugins/index.html%2Bhtml.body.svg.symbol.title:1-1928 +#: _site/en/plugins/woocommerce.html%2Bhtml.body.svg.symbol.title:1-1988 +#: _site/en/restaurant/bluetooth-printers.html%2Bhtml.body.svg.symbol.title:1-2075 +#: _site/en/restaurant/connecting-stripe.html%2Bhtml.body.svg.symbol.title:1-2057 +#: _site/en/restaurant/create-restaurant.html%2Bhtml.body.svg.symbol.title:1-2039 +#: _site/en/restaurant/index.html%2Bhtml.body.svg.symbol.title:1-1970 +#: _site/en/restaurant/restaurant-information.html%2Bhtml.body.svg.symbol.title:1-2063 +#: _site/en/restaurant/restaurant-management.html%2Bhtml.body.svg.symbol.title:1-2057 +#: _site/en/tutorials/index.html%2Bhtml.body.svg.symbol.title:1-1940 +#: _site/en/tutorials/zones.html%2Bhtml.body.svg.symbol.title:1-1982 +msgid "Search" +msgstr "Rechercher" diff --git a/assets/images/2020-11-07-18-21-42.png b/assets/images/2020-11-07-18-21-42.png new file mode 100644 index 000000000..11931f473 Binary files /dev/null and b/assets/images/2020-11-07-18-21-42.png differ diff --git a/assets/images/2020-11-07-20-15-52.png b/assets/images/2020-11-07-20-15-52.png new file mode 100644 index 000000000..44a0d2f68 Binary files /dev/null and b/assets/images/2020-11-07-20-15-52.png differ diff --git a/assets/images/2020-11-07-20-18-53.png b/assets/images/2020-11-07-20-18-53.png new file mode 100644 index 000000000..cf7e5451e Binary files /dev/null and b/assets/images/2020-11-07-20-18-53.png differ diff --git a/assets/images/2020-11-07-20-21-25.png b/assets/images/2020-11-07-20-21-25.png new file mode 100644 index 000000000..27d5b997b Binary files /dev/null and b/assets/images/2020-11-07-20-21-25.png differ diff --git a/assets/images/ASAPTimesCart.png b/assets/images/ASAPTimesCart.png new file mode 100644 index 000000000..50f7b55c7 Binary files /dev/null and b/assets/images/ASAPTimesCart.png differ diff --git a/assets/images/ASAPTimesPopup.png b/assets/images/ASAPTimesPopup.png new file mode 100644 index 000000000..68e48d738 Binary files /dev/null and b/assets/images/ASAPTimesPopup.png differ diff --git a/assets/images/aboutus.png b/assets/images/aboutus.png new file mode 100644 index 000000000..09d382990 Binary files /dev/null and b/assets/images/aboutus.png differ diff --git a/assets/images/additionalDelay1Day.png b/assets/images/additionalDelay1Day.png new file mode 100644 index 000000000..4e20388c6 Binary files /dev/null and b/assets/images/additionalDelay1Day.png differ diff --git a/assets/images/additionalDelay1Hour.png b/assets/images/additionalDelay1Hour.png new file mode 100644 index 000000000..93f2dd3ce Binary files /dev/null and b/assets/images/additionalDelay1Hour.png differ diff --git a/assets/images/additionalDelay2Days.png b/assets/images/additionalDelay2Days.png new file mode 100644 index 000000000..4da5466ec Binary files /dev/null and b/assets/images/additionalDelay2Days.png differ diff --git a/assets/images/additionalDelay2Hours.png b/assets/images/additionalDelay2Hours.png new file mode 100644 index 000000000..2025f2461 Binary files /dev/null and b/assets/images/additionalDelay2Hours.png differ diff --git a/assets/images/apikey.png b/assets/images/apikey.png new file mode 100644 index 000000000..903dff15a Binary files /dev/null and b/assets/images/apikey.png differ diff --git a/assets/images/createrestaurant.png b/assets/images/createrestaurant.png new file mode 100644 index 000000000..f1abe0daf Binary files /dev/null and b/assets/images/createrestaurant.png differ diff --git a/assets/images/deliveryTimeSlotRemove.png b/assets/images/deliveryTimeSlotRemove.png new file mode 100644 index 000000000..6c071397b Binary files /dev/null and b/assets/images/deliveryTimeSlotRemove.png differ diff --git a/assets/images/deliveryTimeSlotSave.png b/assets/images/deliveryTimeSlotSave.png new file mode 100644 index 000000000..8c4985c7f Binary files /dev/null and b/assets/images/deliveryTimeSlotSave.png differ diff --git a/assets/images/deliveryTimeSlotsAdd.png b/assets/images/deliveryTimeSlotsAdd.png new file mode 100644 index 000000000..5dda0bbf1 Binary files /dev/null and b/assets/images/deliveryTimeSlotsAdd.png differ diff --git a/assets/images/deliveryTimeSlotsSelected.png b/assets/images/deliveryTimeSlotsSelected.png new file mode 100644 index 000000000..2c7177c4d Binary files /dev/null and b/assets/images/deliveryTimeSlotsSelected.png differ diff --git a/assets/images/deliveryTimeSlotsSelectedWeekend.png b/assets/images/deliveryTimeSlotsSelectedWeekend.png new file mode 100644 index 000000000..9b054bdc8 Binary files /dev/null and b/assets/images/deliveryTimeSlotsSelectedWeekend.png differ diff --git a/assets/images/enableDepositMoreOptionsDepRefund.png b/assets/images/enableDepositMoreOptionsDepRefund.png new file mode 100644 index 000000000..67c0f46cb Binary files /dev/null and b/assets/images/enableDepositMoreOptionsDepRefund.png differ diff --git a/assets/images/generalsettingsresto.png b/assets/images/generalsettingsresto.png new file mode 100644 index 000000000..976e519fd Binary files /dev/null and b/assets/images/generalsettingsresto.png differ diff --git a/assets/images/hourlySlotsCart.png b/assets/images/hourlySlotsCart.png new file mode 100644 index 000000000..4399d9d0e Binary files /dev/null and b/assets/images/hourlySlotsCart.png differ diff --git a/assets/images/hourlySlotsPopup.png b/assets/images/hourlySlotsPopup.png new file mode 100644 index 000000000..7a04c2004 Binary files /dev/null and b/assets/images/hourlySlotsPopup.png differ diff --git a/assets/images/multipleDeliveryTimeSlots.png b/assets/images/multipleDeliveryTimeSlots.png new file mode 100644 index 000000000..9e10b388a Binary files /dev/null and b/assets/images/multipleDeliveryTimeSlots.png differ diff --git a/assets/images/productsettings.png b/assets/images/productsettings.png new file mode 100644 index 000000000..a25efb201 Binary files /dev/null and b/assets/images/productsettings.png differ diff --git a/assets/images/shippingChoices2.png b/assets/images/shippingChoices2.png new file mode 100644 index 000000000..708ca8b55 Binary files /dev/null and b/assets/images/shippingChoices2.png differ diff --git a/assets/images/shippingChoices3.png b/assets/images/shippingChoices3.png new file mode 100644 index 000000000..4dfc3ec29 Binary files /dev/null and b/assets/images/shippingChoices3.png differ diff --git a/assets/images/slotApprox15Minutes.png b/assets/images/slotApprox15Minutes.png new file mode 100644 index 000000000..80ec3e036 Binary files /dev/null and b/assets/images/slotApprox15Minutes.png differ diff --git a/assets/images/slotApprox5Minutes.png b/assets/images/slotApprox5Minutes.png new file mode 100644 index 000000000..334dadca9 Binary files /dev/null and b/assets/images/slotApprox5Minutes.png differ diff --git a/en/admin/configuration/api.md b/en/admin/configuration/api.md new file mode 100644 index 000000000..eeef26900 --- /dev/null +++ b/en/admin/configuration/api.md @@ -0,0 +1,53 @@ +--- +title: API +parent: Configuration +grand_parent: Admin +--- + +# API + + + +--- + +## First things first + +If you need to create and use this API it means your client (a business you deliver for) have their own website with e-commerce. + +## What does the API do? + +It allows for orders placed on a third-party website to be sent directly to the Store account on your CoopCycle instance. + +These purchases (orders) will show up under your client's Store account. + +## Create the API keys + + + + + +1. Click the + Add button +2. Give your API key pair a name under `App name` +3. Choose the Store under `Store` +4. Click the blue button Save + +After you've created the keys, you will be automatically directed to the API main page. The newly created API keys should like this with the respective name and Store you chose. + +![](/assets/images/2020-11-07-20-21-25.png) + +## Use the API keys + + + +Use the `Copy` button for each key and send them securely to the person who will configure the plugin. + +To learn how to set up the CoopCycle plugin go [here](). diff --git a/en/admin/configuration/customize.md b/en/admin/configuration/customize.md new file mode 100644 index 000000000..29c0e9069 --- /dev/null +++ b/en/admin/configuration/customize.md @@ -0,0 +1,62 @@ +--- +title: Customize +parent: Configuration +grand_parent: Admin +--- + +# Customize + + + +--- + +## Motto +1. Here you can write anything you want for customers to see when they visit your instance. +2. Click `Save` at the bottom of the page. + +Navigate to your instance to check it out. + +![](/assets/images/2020-11-07-20-18-53.png) + + + +## Enable about us page +Checking the box will display an `About us` link on the header on the front-page of your instance. + +![](/assets/images/2020-11-07-20-15-52.png) + +### About us page content + +Here you can insert a short description of your coop in the box on the left (Markdown format). The box on the right will show a Rich-text preview. + +**Make sure to check ☑️ Enable about us page** + +--- + + + +## Custom legal notice page content + +Here you can insert your coop's **Legal notice** documentation. + +## Custom terms & conditions page content + +Here you can insert your coop's **Terms & Conditions**. + +## Custom privacy policy page content + +Here you can insert your coop's **Privacy Policy**. + +## Custom banner + +Here you can change the banner on your instance. The default one for every instance is the one under the [Motto](#motto) section. + +To update your banner simply **drag & drop** the file in the dashed rectangle. + +File format has to be `.svg` and recommended size is `300x100px`. diff --git a/en/admin/configuration/externaldisplay.md b/en/admin/configuration/externaldisplay.md new file mode 100644 index 000000000..9f76e87ec --- /dev/null +++ b/en/admin/configuration/externaldisplay.md @@ -0,0 +1,24 @@ +--- +title: 'External Display (Order Form)' +parent: Configuration +grand_parent: Admin +--- + +# External display (Order form) + + + +--- + +### Delivery creation form + +1. Click the + Add button +2. Choose a **Pricing** +3. Choose a **Time slot** or select the deafult option. + **a.** The default option allows for custom date and time selection. +4. Select the default option for **Package set** + Package set option will be deprecated in the near future. +5. **Add vechicle choice**. If checked it will give a simple choice to the customer to select between **biycle** or **cargo bike**. +6. If checked, **Ask for weight of goods** make it mandatory to the customer to insert the weight of their in **kilograms**. diff --git a/en/admin/configuration/index.md b/en/admin/configuration/index.md new file mode 100644 index 000000000..987cdacaa --- /dev/null +++ b/en/admin/configuration/index.md @@ -0,0 +1,13 @@ +--- +title: Configuration +parent: Admin +has_children: true +--- + + + +# Configuration +--- + +###### This is where you find the general settings for your instance. + diff --git a/en/admin/configuration/packages.md b/en/admin/configuration/packages.md new file mode 100644 index 000000000..11d157e71 --- /dev/null +++ b/en/admin/configuration/packages.md @@ -0,0 +1,15 @@ +--- +title: Packages +parent: Configuration +grand_parent: Admin +--- + +# Packages + + + + diff --git a/en/admin/configuration/pricing.md b/en/admin/configuration/pricing.md new file mode 100644 index 000000000..3fb481108 --- /dev/null +++ b/en/admin/configuration/pricing.md @@ -0,0 +1,50 @@ +--- +title: Pricing +parent: Configuration +grand_parent: Admin +--- + + + +# Pricing (for Stores and Order forms) + +--- + +As part of the creation of a store account, it is possible to create prices (e.g. express prices, normal prices) from the administration section by clicking on the icon then on the Prices section. + +[screenshot] + +Pricing is configured in the administration dashboard through a set of rules based on the following variables: +The distance that is measured in meters. This distance can be defined with the operators of: +- > greater than * variable in meter * +- < less than * variable in meter * +between two variables + +The weight which is evaluated in gram. This weight can be defined with the same operators as the distance +The zone defined by loading a GeoJSON file into the instance configuration; +The type of bike that is defined by selecting it from a list in which are available: +The simple bike +The cargo bike + +[screenshot] + +These rules are organized as a stack in order of processing, the pricing at the top of the list will be the first to be processed by the software that will check if it matches the characteristics of the delivery, that is not the case the software will go to the second pricing in the list and so on. With each delivery created, this stack will be used to create the pricing. The choice is automatically made according to the criteria specified for each delivery. + +For example, I create a rule that specifies a pricing: +- in the department of 93 with cargo bike placed at the top of the pile; +- in Paris intramural with cargo bike placed in the middle of the pile; +- in intramural Paris placed at the bottom of the pile. + +If a delivery is created involving a series of tasks in Paris intramural with a single bike, then the first rule will be ignored, and the second used as delivery basis. The precise rules (ie with the most variables) must be at the top of the stack and the most general ones at the bottom of the stack so that special cases are selected by the software as a basis for pricing. . If, for example, I take my pricing list higher as follows: +in intramural paris; +in Paris intramural with cargo bike; +in the department of 93 with cargo bike. + +If a delivery is created for intramural Paris with a cargo bike, then the first rule will be ignored. The second corresponds to the delivery, its price will therefore be applied. The second rule being fulfilled, the third is ignored. + +The most precise rules (i.e. with the most parameters) must be at the top of the stack and the most general rules at the bottom of the stack, so that the specific cases are selected by the software as a basis for pricing. If, for example, I modify the above pricing as follows: + +in intramural Paris; +in intramural Paris with cargo bike; +in the 93 department with cargo bike. +If a delivery in intramural Paris is created with the need to deliver by cargo bike, the price specified for the first rule will apply because no type of bike is specified for it and the second will be ignored. diff --git a/en/admin/configuration/promotions.md b/en/admin/configuration/promotions.md new file mode 100644 index 000000000..42027a3c8 --- /dev/null +++ b/en/admin/configuration/promotions.md @@ -0,0 +1,8 @@ +--- +title: Promotions +parent: Configuration +grand_parent: Admin +nav_exclude: true +--- + + diff --git a/en/admin/configuration/settings.md b/en/admin/configuration/settings.md new file mode 100644 index 000000000..4294c1f6a --- /dev/null +++ b/en/admin/configuration/settings.md @@ -0,0 +1,8 @@ +--- +title: Settings +parent: Configuration +grand_parent: Admin +nav_exclude: true +--- + + diff --git a/en/admin/configuration/suggestions.md b/en/admin/configuration/suggestions.md new file mode 100644 index 000000000..693abd7c0 --- /dev/null +++ b/en/admin/configuration/suggestions.md @@ -0,0 +1,6 @@ +--- +title: Suggestions +parent: Configuration +grand_parent: Admin +nav_exclude: true +--- diff --git a/en/admin/configuration/tags.md b/en/admin/configuration/tags.md new file mode 100644 index 000000000..c0e4b9bc1 --- /dev/null +++ b/en/admin/configuration/tags.md @@ -0,0 +1,6 @@ +--- +title: Tags +parent: Configuration +grand_parent: Admin +nav_exclude: true +--- diff --git a/en/admin/configuration/taxation.md b/en/admin/configuration/taxation.md new file mode 100644 index 000000000..979922a2b --- /dev/null +++ b/en/admin/configuration/taxation.md @@ -0,0 +1,6 @@ +--- +title: Taxation +parent: Configuration +grand_parent: Admin +nav_exclude: true +--- diff --git a/en/admin/configuration/timeslots.md b/en/admin/configuration/timeslots.md new file mode 100644 index 000000000..c26b6cf2d --- /dev/null +++ b/en/admin/configuration/timeslots.md @@ -0,0 +1,48 @@ +--- +title: Timeslots +parent: Configuration +grand_parent: Admin +--- + + + +# Time slots (for Stores and Order forms) +--- + +**Time Slots** allow to configure what time ranges will be proposed to a user requesting a delivery. + +In most cases, we don't want to let users decide of a precise time when the delivery needs to be done. +Instead, we want them to choose a time range (for example, between 2PM and 4PM), so that we can organize with the other jobs. + +In the end, a **Time Slot** will translate to a dropdown like on the image below + +![Time Slot Dropdown](/assets/images/time_slot_dropdown_en.png) + +--- + +## Configuring Time Slots + +Depending on the way ou are working, you can either create a unique **Time Slot** for everybody, or create a custom **Time Slot** per customer. + +![Time Slots](/assets/images/time_slots_en.png) + +### Interval + +The **Interval** setting allows to change the number of days that will appear in the dropdown. +More or less, it allows to configure how much time in advance the user will be allowed to order a delivery. + +Actually, it's more complicated than that… because there are weekends. + +For example, let's say that you configure « 2 days », only during the week (from Monday to Friday). +On Saturdays, the user will still be allowed to choose time ranges on Monday and Tuesday. + +### Prior Notice + +The **Prior Notice** setting allows to decide how much time in advance the user will be allowed to choose a time range. + +For example, let's say that you configure a time range from 4PM to 6PM, with a 2 hours prior notice. +It means that the user will be able to select the 4PM-6PM time range until 2PM. + +### Same Day Cutoff + +The **Same Day Cutoff** setting allows to decide until which time of the day it is possible to order for the same day. diff --git a/en/tutorials/zones.md b/en/admin/configuration/zones.md similarity index 85% rename from en/tutorials/zones.md rename to en/admin/configuration/zones.md index 4c15258d0..d26dfeb8c 100644 --- a/en/tutorials/zones.md +++ b/en/admin/configuration/zones.md @@ -1,9 +1,9 @@ --- -title: Create a zone -lang: en -ref: tutorials-zones -parent: Tutorials -nav_order: 1 +title: Zones +parent: Configuration +grand_parent: Admin +redirect_from: + - /en/tutorials/zones.html --- You can save zones as polygons. You can then use the zones to define pricing rules, for example. To create a zone, you will need to upload a GeoJSON file representing the delivery zone. diff --git a/en/admin/dashboard.md b/en/admin/dashboard.md new file mode 100644 index 000000000..c1aef0285 --- /dev/null +++ b/en/admin/dashboard.md @@ -0,0 +1,140 @@ +--- +title: Dashboard +parent: Admin +nav_order: 1 +--- + +# Dispatch + +--- + +The administration dashboard (called dashboard in this document) allows you to control all the functions for creating and managing tasks as well as to manage the dispatch of couriers manually. + +![Dashboard](/assets/images/dashboard_fr.png) + +## Create, assign and edit a task + +A task is created by clicking on the button in the `Unassigned` section of the dashboard. A popup opens and allows you to configure the task. Three actions are possible for a task: + +- Add, which allows you to create a task +- Edit, which allows you to change or check the status and history of a task +- Finish the task, which allows the status change of the task by: +    - To Do +    - Success +    - Failure + +As long as a task is not assigned to a courier, the latter remains in the `Unassigned` section. + +## Add / Create a task + +The following information is available to create a task: + +- Checkbox: type of task + - Pickup + - DropOff +- Field: address of drop-off or pick-up point +- `+`: more options + - Field: Postal code (automatic filling) + - Field: City (automatic filling) + - Field: Floor + - Field: instructions +- Dropdown: niche of achievement + - Start date + - End date +- Dropdown: choose a tag + +## Edit a task + +The same information as "add" is available for editing. In addition to this it is possible: + +- Dropdown: Assign a courier +- Dropdown: See history + +## Complete a task + +To complete a task, just click on the “Finish task” button at the top right of the popup window. The available features are: + +- Dropdown: "to do", "failed", "successful" +- Field: Comment on the completion of the task + +## See the courier connected on the dashboard + +When a courier connects to the application and its location is activated, a marker indicating its position is displayed on the dashboard. + +## Add a courier to the Assigned section. + +Adding a courier to the schedule means that he is available to be assigned to tasks and therefore to deliver orders. In order to add a courier to the schedule, click on the `+` button in the `Assigned` section. + +## Assign a task to a courier. + +If it is possible to assign a courier to a task from the popup for creating or editing a task, it is much more convenient to use the drag'n drop function of the dashboard: drop the task directly in the courier assignment area. + +## Create task + +The task appears in the `Unassigned` section. +The dispatcher moves the task to a courier previously added to the schedule. + +## Get information from an order + +As soon as two tasks are assigned to a courier, a delivery is created. Several information is available: + +- Estimated duration of delivery; +- The distance to be covered (relative to the route of the route) ("Map" button: Show / hide the delivery route, which is the route proposed to the courier for delivery) + +## Assign tasks to a courier considering optimization + +The dispatcher can optimize the delivery route of the courier by moving the races in the task stack which are assigned to the latter. In order, the first in the stack will be the first route point taken into account and so on until the end of the stack. +The dispatcher can move the tasks in the stack to re-organize them. + +## Create a tag and tag a task + +Tags are values that can be assigned to a task in order to sort them in the dashboard. A tag is made up of a title and a color. In order to assign a tag to a task, you must first create the tags that the dispatcher needs. + +- Go to the configuration panel, “Tag” section; +- Create a tag by clicking on the “Create a new tag” button; +- Give a name and a color to the tag; +- Validate. + +In the dashboard, the dispatcher will find the tags by creating a task or by editing it. + +- Click on the button `Add a tag` (toothed wheel); +- Add the tag; + It is possible to assign multiple tags to a task. + +## Manipulate the different filters + +Different filters are applicable in order to display only certain tasks. It is possible to filter by: + +- Task status: +- Completed tasks +- Untagged tasks +- By tag + +It is possible to combine the filters. + +## Dropdown calendar : change the date + +To change the day, just use the drop-down calendar to the left of the top bar of the dashboard. + +## Import tasks from a CSV file + +To avoid manually creating a large number of tasks, it is possible to mass import them via a CSV file. On the dashboard, click on the `Import` button: a window opens to allow you to upload a file. You must at least specify an address for each task, the other columns are optional. To import a file, click on the `Import 'button located on the top bar of the dashboard. + +The before and after columns to specify the time slot accept values in different formats. Here are the values of the columns accompanied by an example: + +- type +- address.name +- address.telephone +- address +- adress.floor +- address.description +- after +- before +- comments +- tags + +You can download a [sample file](https://demo.coopcycle.org/help/tasks_import.example.en.csv). + +## Export tasks in a CSV file + +L’exportation d’un fichier .csv résumant les commandes du jours se fait par le biais du bouton `Export` situé sur la barre supérieure du dashboard. diff --git a/en/admin/deliveries.md b/en/admin/deliveries.md new file mode 100644 index 000000000..345d4395d --- /dev/null +++ b/en/admin/deliveries.md @@ -0,0 +1,42 @@ +--- +title: Deliveries +parent: Admin +nav_order: 3 +--- + +The delivery tab is used to display the list of deliveries and tasks. + +## Orders list + +![Tableau de bord](/assets/images/livraisons_fr.png) + +This list groups together all the tasks and deliveries carried out on the platform. The following information is available: + - ID, the task number + - Type of task + - Deposit + - Withdrawal + - Deadline (date and time) + - Name of the courier + - Delivery address + +## Create / Edit an order + +Creating a delivery is done by clicking on the button at the top right of the task list screen. A delivery consists of the following elements: +- Vehicle type + - Bike + - Cargo bike +- Weight (in grams) +- Withdrawal + - Field: address + - Postal code + - City + - Time and day of withdrawal + - Textarea field: specific instructions for the delivery man +- Deposit + - Field: address + - Postal code + - City + - Time and day of filing + - Textarea field: specific instructions for the delivery person + +On the right, in addition to the map which displays the delivery route, you can either choose a price to apply to the delivery, or enter a free price. diff --git a/en/admin/index.md b/en/admin/index.md index 3660150ed..ed362a4ad 100644 --- a/en/admin/index.md +++ b/en/admin/index.md @@ -1,13 +1,13 @@ --- -lang: en -title: Admin's guide -ref: admin-home +title: Admin +nav_order: 1 has_children: true -nav_order: 7 --- # Admin's guide +--- + Welcome to the administrator's guide for the CoopCycle platform. Our software is a complete logistics and e-commerce system allowing the delivery of a product from A to B. Our platform is dedicated to bicycle delivery and its license is designed to reserve the use for worker owned co-operatives only. @@ -15,14 +15,15 @@ Our software is a complete logistics and e-commerce system allowing the delivery The platform is composed of two components: ## Logistics + Pickup and dropoff management organised into a task system (two tasks form a delivery) allowing the following user actions: - The **administrator**: - can assign tasks or task lists to a courier. - can track the position of a courier in real time from the dispatch (dashboard) screen; assigning tasks can be done the day before or in real time. - can manage pricing for stores (by weight, distance, zone, type of bike). - - The **courier**: + - will receive the tasks on their smartphone (iOS and Android). - can mark a task as completed or failed and can add a comment. @@ -30,13 +31,62 @@ Pickup and dropoff management organised into a task system (two tasks form a del - can place an order on the platform and pay (price calculation is automated and secured through Stripe). ## E-commerce + Management of restaurants and shops, allowing the following user actions: -- The **customer**: +- The **customer**: + - can place an order via the platform (website) or via the smartphone application. - can place an order from a restaurant, by inputing their address and selecting a delivery time. -- The **business**: +- The **business**: - receives the order in real time, they can then accept or reject it. - can mark the order as ready, in this case the courier is notified. - can manage their menu online. + +## Admin access + +Having admin access means your local coop has an instance on the CoopCycle platform (e.g.: https://awesomecoop.coopcycle.org) + +If you have admin access it means your user account on your [CoopCycle](https://coopcycle.org/en/) instance has been given admin privileges by the developer. + +## Admin privileges + +Admin privileges means you have full control over your CoopCycle instance. + +Check the sub-categories under **Admin** to learn more about your instance. + +# Key concepts + +--- + +## Tasks and Orders + +### Tasks + +A **task** is the smallest unit of a delivery order. + +A **task** is a To-Do unit under a specific address and a set timeframe. + +There are **two** types of tasks: +- **Pickup** or Collection +- **Dropoff** or Delivery + +Each **order** consists of a minimum of two **tasks** that a dispatcher assigns to a courier. + +#### Pickup and Dropoff + +The following information must be completed by the dispatcher for each task: +- Address +- Time range +- Commentary + +The following information is used to track the progress of a task in the delivery process: + +- Status +- History +The courier must pick up merchandise at an address and bring it to another address. + +## Orders + +Assign two or more tasks to a delivery person creating a delivery. When the Retrieve and Drop tasks are created, the dispatcher assigns these tasks manually in the most optimal order that they judge. The creation of a delivery is materialized on the map by means of a GPS track which is proposed to the courier for delivery. diff --git a/en/admin/orders.md b/en/admin/orders.md index bc80a3fe3..2787b661f 100644 --- a/en/admin/orders.md +++ b/en/admin/orders.md @@ -1,9 +1,7 @@ --- title: Orders -lang: en -ref: admin-orders -parent: Admin's guide -nav_order: 3 +parent: Admin +nav_order: 2 --- # Orders diff --git a/en/admin/restaurants/_includes/fulfillment.md b/en/admin/restaurants/_includes/fulfillment.md new file mode 100644 index 000000000..56a032d11 --- /dev/null +++ b/en/admin/restaurants/_includes/fulfillment.md @@ -0,0 +1,135 @@ + + +* * * + +## Fulfillment methods + +- **Delivery** - the orders placed by customers are delivered by the coop +- **Collection** - the order placed by customers are collected by the customers + +Checking either option will enable editing the corresponding schedule section. +Make sure you scroll down too see the settings for each section. + +## Delivery section + + + +TIP: By unchecking either Delivery or Collection the business will have its products greyed out, respectively of each option, not allowing customers to order. + +### Delivery time slots + + + +When you've just created a business/restaurant from + Create a new restaurant the Delivery Time slot under Fulfillment will show no time slots. +Click Add to create a new time slot. + +[![](/assets/images/deliveryTimeSlotsAdd.png)](/assets/images/deliveryTimeSlotsAdd.png){:target="\_blank"} + +By clicking add a new time slot field will become available. Choose the corresponding Time and Days. See example below: + +[![](/assets/images/deliveryTimeSlotsSelectedWeekend.png)](/assets/images/deliveryTimeSlotsSelectedWeekend.png){:target="\_blank"} + +TIP: Saving settings only works if a Time Slot has a selected time and at least one (1) checked day. See below: + +[![](/assets/images/deliveryTimeSlotSave.png)](/assets/images/deliveryTimeSlotSave.png){:target="\_blank"} + +If you need to remove a Time Slot click the button on the right-end of the Time Slot. + +[![](/assets/images/deliveryTimeSlotRemove.png)](/assets/images/deliveryTimeSlotRemove.png){:target="\_blank"} + +**As soon as possible (ASAP)**
+This option works best when the delivery opening hours of the business is set in a single Time Slot. See the above image, e.g. `9:00 AM - 12:00 PM`. +This option allows the customer to place an order to be delivered as quickly as possible. Go to [Prepration](../product-settings/preparation.md) to check how the **ASAP** times are configured. +See images below for **ASAP** delivery times examples: + +| Cart | Popup | +| -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| [![](/assets/images/ASAPTimesCart.png)](/assets/images/ASAPTimesCart.png){:target="\_blank"} | [![](/assets/images/ASAPTimesPopup.png)](/assets/images/ASAPTimesPopup.png){:target="\_blank"} | + +**Time slot**
+This option works best when you create multiple time slots within the delivery opening hours of the business. Se image below: + +[![](/assets/images/multipleDeliveryTimeSlots.png)](/assets/images/multipleDeliveryTimeSlots.png){:target="\_blank"} + +In this case, the delivery opening hours of the business are `10:00 AM - 5:00 PM`. But the whole schedule has been split into hourly slots. When **Time slots** is selected, customers will see multiple hourly slots as delivery times. See images below (click to open full-size images in a new tab):
+TIP: You don't necessarily have to create hourly slots, you can create shorter or longer slots. + +| Cart | Popup | +| ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------- | +| [![](/assets/images/hourlySlotsCart.png)](/assets/images/hourlySlotsCart.png){:target="\_blank"} | [![](/assets/images/hourlySlotsPopup.png)](/assets/images/hourlySlotsPopup.png){:target="\_blank"} | + +TIP: You can use the ASAP option with multiple slots.
+WARNING: If you have one (1) slot, `09:00 AM - 6:00 PM`, and you choose Time Slots, the delivery option for the customer will show up as only one time slot of 9 hours. + +### Minimum cart amount + +By setting a minimum cart amount the system doesn't allow purchases under the set amount. +If minimum cart amount is £8 than only purchases that equal or are above £8 can be placed. + +### Additional delay before ordering + +This option is one of the methods that allows pre-ordering. +When either **Day(s)** or **Hour(s)** is set with a value equal or greater than `1` the delivery time will be displayed in the future from the current time of ordering. + +If **Day(s)** is set to `1` the first available delivery time will always be displayed as +1 day from the current day. See images below (these screenshots were taken on a Friday): + +| Delay: 1 Day | Delay: 2 Days | +| -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| [![](/assets/images/additionalDelay1Day.png)](/assets/images/additionalDelay1Day.png){:target="\_blank"} | [![](/assets/images/additionalDelay2Days.png)](/assets/images/additionalDelay2Days.png){:target="\_blank"} | + +If **Hour(s)** is set to `1` the first available delivery time will always be displayed as +1 day from the current day. See images below (these screenshots were taken at 13:00. The extra time after o'clock is the delivery and preparation times): + +| Delay: 1 Hour | Delay: 2 Hours | +| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| [![](/assets/images/additionalDelay1Hour.png)](/assets/images/additionalDelay1Hour.png){:target="\_blank"} | [![](/assets/images/additionalDelay2Hours.png)](/assets/images/additionalDelay2Hours.png){:target="\_blank"} | + +### Allow editing + +When this option is checked ☑️ it allows the business owner to edit the Delivery Time Slots.
+This option is unchecked by default. + +### Slot approximation + +**5 minutes**
+Is the default option for the delivery range time which is displayed on the cart.
+ +**15 minutes**
+By selecting this option it allows for a wider delivery range time and bring it closer to the current time of ordering. See images below. + +| 5 Minutes | 15 Minutes | +| ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- | +| [![](/assets/images/slotApprox5Minutes.png)](/assets/images/slotApprox5Minutes.png){:target="\_blank"} | [![](/assets/images/slotApprox15Minutes.png)](/assets/images/slotApprox15Minutes.png){:target="\_blank"} | + +### Number of shipping choices (in days) + +The default value is 2. It cannot be changed to anything lower than 2. +The default value 2 means the cutomer will be presented with two delivery days (current day and the next day). If the value is 3 the customer will be presented with three (3) delivery days. See images below:
+TIP: The days when the business is closed do not count towards the **Number of shipping choices (in days)**. + +| Shipping choices: 2 | Shipping choices: 3 | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| [![](/assets/images/shippingChoices2.png)](/assets/images/shippingChoices2.png){:target="\_blank"} | [![](/assets/images/shippingChoices3.png)](/assets/images/shippingChoices3.png){:target="\_blank"} | + +### Delivery perimeter + +The first dropdown menu has two options: + +- **Zone** +- **Distance (km)** + When selecting either option the second dropdown menu to the right changes accordingly allowing you to input the necessary settings. + +**Zone** +Selecting **Zone** allows you select a delivery zone previously configured and uploaded under [Settings > Zones](../../configuration/zones.md) + +**Distance (km)** +Selecting **Distance (km)** allows you to input a value in numbers representing the radius of deliveries in kilometers with the center at the address of the business. + diff --git a/en/admin/restaurants/_includes/general.md b/en/admin/restaurants/_includes/general.md new file mode 100644 index 000000000..cf8ae6cec --- /dev/null +++ b/en/admin/restaurants/_includes/general.md @@ -0,0 +1,33 @@ + + + + +--- + +**Name** `public`
+This is how the name of the restaurant will be displayed to customers. + +**Type of business** `not-public`
+Choose a type of business from the dropdown menu for either a **Store** or **Food establishment**. + +**Address field** `public`
+Write here the physical address of the business. +If the legal address under which the business is registered is not the same as the physical address you need to **check** the ☑️ **Use a different business address** checkbox and in the **Address field** below write the legal address under which the business is registered. + TIP: The legal address is not shown to the customer + +**Description** `public`
+Write a description about the restaurant which is shown to the customer. +TIP: Here you can format the text with Markdown + +**Legal name** `not-public`
+Write here the legal name under which the business is registered. This will not be shown to the customer. + +**Website** `public`
+Write here the website of the business. This will be shown to the customer. + +**Telephone** `public`
+Write here the phone number of the business. Customers may contact the business using this number. + +

Save your settings.

diff --git a/en/admin/restaurants/_includes/options.md b/en/admin/restaurants/_includes/options.md new file mode 100644 index 000000000..81df70027 --- /dev/null +++ b/en/admin/restaurants/_includes/options.md @@ -0,0 +1,41 @@ + + +--- + +**This restaurant is exclusive** + +
+ +**This restaurant is featured on homepage** + + + +
+ +**This restaurant also accepts quotes** + + + +
+ +**Enable desposit-refund system.** + + +![](/assets/images/enableDepositMoreOptionsDepRefund.png) +
+ +Go here to read about the restaurant [Product Navigation Menu](admin.restaurants.productmenu). diff --git a/en/admin/restaurants/_includes/payment.md b/en/admin/restaurants/_includes/payment.md new file mode 100644 index 000000000..d6d7a9d34 --- /dev/null +++ b/en/admin/restaurants/_includes/payment.md @@ -0,0 +1,4 @@ +Refer to the following documentation on how to configure your payment processor. + +- [Configure Stripe](../../payment-processors/stripe.md) +- [Configure MercadoPago](../../payment-processors/mercadopago.md) diff --git a/en/admin/restaurants/creating-a-restaurant.md b/en/admin/restaurants/creating-a-restaurant.md new file mode 100644 index 000000000..90e9f5e7b --- /dev/null +++ b/en/admin/restaurants/creating-a-restaurant.md @@ -0,0 +1,76 @@ +--- +title: 'Creating a restaurant' +parent: Restaurants +grand_parent: Admin +--- + +# Creating restaurants + +This page describes the process for creating a restaurant on the CoopCycle platform. Don't hesitate to ask for help [contact@coopcycle.org](mailto:contact@coopcycle.org) to configure the first restaurants.\ +This takes place in two stages: +- Create the restaurant on the CoopCycle platform +- Create a [Stripe](https://dashboard.stripe.com/register) account + +After performing these two steps: + +- Create an account for the restaurateur in the “Users” section +- Assign the restaurant to this restaurateur so that he can access the back office + + +Prerequisite: + +- Having correctly configured the Stripe account linked to the platform (link to the corresponding page) + + +Minimum information required beforehand: + +- Name, first name of the restaurateur +- Legal name of the restaurant +- Restaurant phone number +- Restaurant address +- IBAN of the restaurant +- **Color front / back scan of the restaurant owner's identity card in JPEG or PNG format (Stripe request after the first orders for identity verification)** +- Contractual information (what delivery rate for the restaurant owner? For the customer? Who pays the payment fees?) + + +Optional information: + +- Opening hours (times when delivery is activated) +- Number Siret + +## 1 - Creating a restaurant + +- From the “Restaurants” tab, click on “Add a restaurant” +- Enter information in the corresponding fields + +![Creation d'un restaurant](/assets/images/creation_resto_fr.png) + +- Click on “Save” +  +## 2 - Creating a restaurant Stripe account + +- **From your Stripe dashboard**, [https://dashboard.stripe.com/account](https://dashboard.stripe.com/account), create a new account by clicking on the top left on “New Account”. Indicate the name of the restaurant. + +![Stripe](/assets/images/stripe_resto_account_fr.png) +![Stripe](/assets/images/stripe_resto_account_fr_2.png) +  +- **From the restaurant page on the platform**, in the “Stripe Account” section, click on the “Connect with Stripe” button. The process must be repeated for dev operation and live operation. + +![Stripe](/assets/images/stripe_resto_account_fr_3.png) + +- A Stripe page opens. In the “Switch account” dropdown select the corresponding restaurant. + +![Stripe](/assets/images/stripe_resto_account_fr_4.png) + +- Entrer les informations du restaurateur correspondantes. **Attention : dans le champ “Customer phone number” indiquez votre numéro de téléphone pas celui du restaurateur.** + + +- Check your phone number at the following address: [https://dashboard.stripe.com/phone-verification?source=email](https://dashboard.stripe.com/phone-verification?source=email): enter your phone number then copy the code received by SMS (you should have received an email notification) + +- And There you go ! To check that everything is in order with Stripe: + - In the Stripe dashboard, select your main account (the cooperative's account) from the dropdown in the top left + - Click on “Connect” then “Accounts” in the left column + - In the “Recently connected accounts” list which appears click on the first (the last linked account) + - Check that “Payments” and “Payouts” are green - in case of problems contact [dev@coopcycle.org](mailto:dev@coopcycle.org) + + ![Stripe](/assets/images/stripe_resto_account_fr_5.png) diff --git a/en/admin/restaurants/general-settings.md b/en/admin/restaurants/general-settings.md new file mode 100644 index 000000000..8203ec2b8 --- /dev/null +++ b/en/admin/restaurants/general-settings.md @@ -0,0 +1,26 @@ +--- +title: 'General settings' +parent: Restaurants +grand_parent: Admin +--- + +- [General](#general) +- [Options](#options) +- [Fulfillment](#fulfillment) +- [Payment](#payment) + +# General + +{% include_relative _includes/general.md %} + +# Options + +{% include_relative _includes/options.md %} + +# Fulfillment + +{% include_relative _includes/fulfillment.md %} + +# Payment + +{% include_relative _includes/payment.md %} diff --git a/en/admin/restaurants/index.md b/en/admin/restaurants/index.md new file mode 100644 index 000000000..7e723b720 --- /dev/null +++ b/en/admin/restaurants/index.md @@ -0,0 +1,28 @@ +--- +title: Restaurants +parent: Admin +has_children: true +--- + +# Restaurants (admin access) + + + +* * * + +### [Product Settings 🔗](product-settings.md) + +These settings are found in the top navigation bar under main settings. + +![](/assets/images/productsettings.png) + +### [General Settings 🔗](general-settings.md) + +These settings are found under the restaraunt image holder under main settings. + +![](/assets/images/generalsettingsresto.png) + +To access these settings refer to the [Creating a restaurant](creating-a-restaurant.md) guide. + diff --git a/en/admin/restaurants/product-settings.md b/en/admin/restaurants/product-settings.md new file mode 100644 index 000000000..af0a772d3 --- /dev/null +++ b/en/admin/restaurants/product-settings.md @@ -0,0 +1,7 @@ +--- +title: 'Product settings' +parent: Restaurants +grand_parent: Admin +--- + + diff --git a/en/admin/restaurants/product-settings/preparation.md b/en/admin/restaurants/product-settings/preparation.md new file mode 100644 index 000000000..83b4c1ffd --- /dev/null +++ b/en/admin/restaurants/product-settings/preparation.md @@ -0,0 +1,6 @@ +--- +title: Preparation +parent: 'Product settings' +nav_exclude: true +--- + diff --git a/en/admin/statistics.md b/en/admin/statistics.md new file mode 100644 index 000000000..a289c8f30 --- /dev/null +++ b/en/admin/statistics.md @@ -0,0 +1,5 @@ +--- +title: Statistics +parent: Admin +nav_exclude: true +--- diff --git a/en/admin/stores.md b/en/admin/stores.md index 7ca3de866..9fa0aa881 100644 --- a/en/admin/stores.md +++ b/en/admin/stores.md @@ -1,38 +1,44 @@ --- title: Stores -lang: en -ref: admin-stores -parent: Admin's guide -nav_order: 4 +parent: Admin --- -In CoopCycle's « vocabulary », a **Store** represents a B2B customer, i.e. a professional merchant to whom the cooperative offers its delivery services. +# Stores -Basically, a **Store** is a container for deliveries. -Users can be attached to a **Store**, and once attached, they can use the web interface to order deliveries using a form. + -## Store Settings +--- + +## Creating a store + +Click on the + Create a new store button. + +## Setting up a store + +### Store Settings The settings will change the behavior of the form to order a delivery. ![Store Settings](/assets/images/store_settings_en.png) -### Pricing +#### Pricing This allows to decide how the prices for this **Store** will be calculated. You can choose among the **Pricing Rules** that you have configured previously. -[Learn more about defining Pricing Rules](/en/admin/actions/pricing.html). - -Heads up -{: .label } +[Learn more about defining Pricing Rules](configuration/pricing.html). -If you want the price to be displayed to the user, you need to check the « Create orders » checkbox. + -### Time Slot +#### Time Slot This allows to decide which time slots the user will be able to select. -[Learn more about defining Time Slots](/en/admin/actions/time-slots.html). - +[Learn more about defining Time Slots](configuration/timeslots.html). diff --git a/en/admin/users.md b/en/admin/users.md index fb961fac2..19afbe405 100644 --- a/en/admin/users.md +++ b/en/admin/users.md @@ -1,9 +1,6 @@ --- title: Users -lang: en -ref: admin-users -parent: Admin's guide -nav_order: 6 +parent: Admin --- # Management of users @@ -27,21 +24,20 @@ It is possible to activate/desactivate users. A desactivated user is disconnecte Every user can have one or several roles. Every role gives access to some platform features. -| Role | Customer | Bike messenger | Restaurant | Shop | Admin | -| ------------------------------- |:------:|:---------:|:----------:| :----------:| :----------:| -| To edit his/her own personal informations | ✔ | ✔ | ✔ | ✔ | ✔ | -| To create and modify restaurants | | | ✔ | | ✔ | -| Mannage orders | | | ✔ | | ✔ | -| To edit a receipt | | | ✔ | | ✔ | -| To create and modify menus | | | ✔ | | ✔ | -| To create shops | | | | | ✔ | -| To modify shops | | | | ✔ | ✔ | -| To create a delivery | | | | ✔ | ✔ | -| To manage deliveries | | ✔ | | | ✔ | -| To access CoopCycle API | | ✔ | ✔ | | ✔ | -| To edit roles for users | | | | | ✔ | -| To edit contracts and tarifications | | | | | ✔ | - +| Role | Customer | Bike messenger | Restaurant | Shop | Admin | +| ----------------------------------------- | :------: | :------------: | :--------: | :--: | :---: | +| To edit his/her own personal informations | ✔ | ✔ | ✔ | ✔ | ✔ | +| To create and modify restaurants | | | ✔ | | ✔ | +| Mannage orders | | | ✔ | | ✔ | +| To edit a receipt | | | ✔ | | ✔ | +| To create and modify menus | | | ✔ | | ✔ | +| To create shops | | | | | ✔ | +| To modify shops | | | | ✔ | ✔ | +| To create a delivery | | | | ✔ | ✔ | +| To manage deliveries | | ✔ | | | ✔ | +| To access CoopCycle API | | ✔ | ✔ | | ✔ | +| To edit roles for users | | | | | ✔ | +| To edit contracts and tarifications | | | | | ✔ | ## Assignation of a shop/restaurant diff --git a/en/app/courier.md b/en/app/courier.md new file mode 100644 index 000000000..f3364f617 --- /dev/null +++ b/en/app/courier.md @@ -0,0 +1,35 @@ +--- +title: Courier +parent: App +--- + +Completing tasks +---------------- + +As soon as a new task is assigned to you, you will receive a notification on your phone. To access all the information concerning this task, there are two possibilities : + +- Either by clicking on the icon ![Task position icon](/assets/images/geoloc_icone.png) corresponding to your task on the home screen's map. +- Either by clicking on the icon ![Task list icon](/assets/images/list_icon.png) at the bottom right of the screen and then clicking on the desired task. + +![Task list](/assets/images/task_list_en.png) + +Once the task is completed, simply swipe to the right on the "Finish" button at the bottom of the page to display the green validation button and press it twice to confirm that the task has been completed. + +![Task validation](/assets/images/task_validation_en.png) + +Otherwise, if you are faced with a problem that prevents you from completing your delivery, you can swipe to the left the "Finish" button to report a problem. + +![Report an issue](/assets/images/task_issue_en.png) + +Collectings proofs of delivery +------------------------------ + +Proof of delivery is collected via photo and signature. + +It is done from the interface of the task in question by clicking on the icon ![Access to proof of delivery](/assets/images/proof_icon.png) at the top right of the page. + +![Photo proof of delivery](/assets/images/photo_proof_en.png) + +Once the photo has been taken and the recipient's signature has been affixed, simply click on "Send image" and the images will be sent to the administrator. + +![Delivery signature](/assets/images/send_signature_en.png) diff --git a/en/app/index.md b/en/app/index.md index fdfc819ac..dd532f108 100644 --- a/en/app/index.md +++ b/en/app/index.md @@ -1,7 +1,30 @@ --- -lang: en title: App -ref: app-home has_children: true -nav_order: 3 --- + + + +# App +--- + +We have apps for iOS and Android. + +### Android + +You can install the Android app directly from Google Play. Search for "CoopCycle" on Google Play, or click on the link below. +Requires Android 4.3 or later. + +Install the Android app +### iOS + +You can install the iOS app directly from the App Store. Search for "CoopCycle" on the App Store, or click on the link below. +Requires iOS 9.0 or later. Compatible with iPhone, iPad, and iPod touch. + +Install the iOS app + +--- + +See the index below for the guide your require. diff --git a/en/app/restaurant.md b/en/app/restaurant.md new file mode 100644 index 000000000..50e39e801 --- /dev/null +++ b/en/app/restaurant.md @@ -0,0 +1,83 @@ +--- +title: Restaurant +parent: App +--- + + + +# Order management + +## Orders + +### The main screen is organized as follows : + +![restaurant's interface for orders](/assets/images/resto_order_list_fr.png) + +- **By date (the default current date) :** +
+ Also allows you to have a history of previous and future orders by selecting the date of your choice via the calendar by clicking on the following button + ![date button](/assets/images/resto_date_fr.png). +- **By section :** + - **New orders :** + + Here you will see all new customer orders awaiting validation from you. + + You can also refuse it, then you have three choices: - I'm out of stock + + This order will be cancelled and you will continue to receive new orders. - I'm in the middle of a rush. + + This order will be cancelled and you will continue to receive new orders. - I'm going to close up. + + This order will be cancelled and you will not receive any more new orders. + + - **Accepted orders :** + + Here you can see all accepted orders. + + From this step, if everything goes well you only have to prepare the order, wait for the delivery person and automatically the order will be placed in the section below [delivered order](#order-delivery). + + If not, you can : - Delay the order : - By 10 minutes. - 20 minutes. - By 30 minutes. - Cancel the order : - Cancelled by the customer + + This order will be cancelled and you will continue to receive new orders. - I'm out of stock + + This order will be cancelled and you will continue to receive new orders. - I'm in the middle of a rush. + + This order will be cancelled and you will continue to receive new orders. + + - **Orders cancelled :** + + Here is a list of all the orders that have been cancelled. + + - **Orders delivered:** + + Here is a list of all the orders that have been delivered. + +In each of the sections, the orders are represented by their id, the total of the order and the time to start preparing it. To access the details of the order and interact with it, simply click on it. + +**Note that you can at any time via the button ![resfresh](/assets/images/resto_refresh_btn_fr.png) refresh the page to the current date.** + +--- + +## Settings + +### The settings are accessible via the icon ![settings](/assets/images/resto_param_icon.png) at the top right of the page. They are divided into two parts : + +- **Switch to rush mode :** + + When the rush mode is activated you no longer receive any orders, to continue receiving orders again, disable it. + +- **Manage products :** + + In this section, you can see a list of all the products that make up your catalog and the ability to disable each of them. + Disabled products are not visible by the customer, this can be useful if, for example, you are out of stock on an ingredient essential for preparing a dish. + By default, all products are enabled. + +--- + +## Online closing/reopening restaurant + +This button ![power button icon](/assets/images/resto_power_icon.png) allows you to display your restaurant as closed on the customer's interface, so he will no longer be able to place orders. + +To reset the restaurant to "open" status, simply click on the close button ![close button icon](/assets/images/resto_close_banner_icon.png) of the banner below that appears after you close your restaurant. + +![restaurant is closed banner](/assets/images/resto_closed_banner_fr.png) diff --git a/en/courier/index.md b/en/courier/index.md index 1101cc9d8..39d73ef96 100644 --- a/en/courier/index.md +++ b/en/courier/index.md @@ -1,15 +1,14 @@ --- -lang: en -title: Courier's guide -ref: courier-home -has_children: true -nav_order: 4 +title: Courier --- # Courier's guide +--- + Welcome to the courier's guide for the CoopCycle platform. -## Courier's guide on the platform +Refer to the corresponding guide. + +- [App guide for couriers](../app/courier.md) -## Courier's guide on the app diff --git a/en/developer/api.md b/en/developer/api.md index 1f1517e29..0828a0672 100644 --- a/en/developer/api.md +++ b/en/developer/api.md @@ -1,19 +1,18 @@ --- -title: Using the CoopCycle API -lang: en -ref: dev-api +title: API parent: Developer -nav_order: 1 --- -# Using the CoopCycle API +## Using the CoopCycle API -[Open API / Swagger documentation](https://demo.coopcycle.org/api/docs) + -## Authentication +### Authentication Most of the API endpoints require authentication, and also authorization. -
+ Authentication is implemented by sending a [JSON Web Token](https://jwt.io/introduction/) via HTTP headers. ``` @@ -27,13 +26,13 @@ If you are creating a web application that does not need to act on behalf of a u **Obtaining API credentials** To create access tokens, you will need API credentials (an API key and an API secret). -
-Ask the platform administrators to create a API application and send you the API credentials. + +Ask the platform administrators to [create a API application and send you the API credentials](../admin/configuration/api.md). **Using the credentials to obtain an access token** The first step to make authenticated requests is to obtain an **access token**. -
+ To obtain an access token, you first need to make a request to the `/oauth2/token` endpoint, with your API credentials encoded as Base64. diff --git a/en/developer/deliveries.md b/en/developer/deliveries.md new file mode 100644 index 000000000..d13ace121 --- /dev/null +++ b/en/developer/deliveries.md @@ -0,0 +1,77 @@ +--- +title: Creating deliveries +parent: Developer +slug: creating-deliveries +--- + +# API for Store deliveries + + + +--- + +### Creating a delivery + +To create a delivery, you will need to make a `POST` request to the `/api/deliveries` endpoint. +A delivery consists of two tasks, a `pickup` task and a `dropoff` task. +The **minimal information** we need is the address, and the timeframe of each task. + +``` +POST /api/deliveries +{ + "pickup": { + "address": "24, Rue de la Paix, Paris, France", + "before": "tomorrow 12:00" + }, + "dropoff": { + "address": "48, Rue de Rivoli, Paris, France", + "before": "tomorrow 13:30" + } +} +``` + +If possible, you should provide as much additional information as possible, like the phone number & name of the recipient. +There are multiple fields that can be specified. +Take a look at our [functional tests](https://github.com/coopcycle/coopcycle-web/blob/master/features/deliveries.feature) to learn more about available fields. + +### Tracking the status of a delivery + +When the delivery has been created, you obtain a response like below: + +``` +{ + "@context":"/api/contexts/Delivery", + "@type":"http://schema.org/ParcelDelivery", + "@id":"/api/deliveries/123", + "pickup": { + "@id":"/api/tasks/456", + "@type":"Task", + "status":"TODO", + // ... other fields + }, + "dropoff": { + "@id":"/api/tasks/457", + "@type":"Task", + "status":"TODO", + // ... other fields + } +} +``` + +To be able to track the status of the parcel, make sure to store in your system the IRIs of the created resources. +Then, you can later poll the API to know if the tasks have been completed. + +``` +GET /api/tasks/456 +{ + "@id":"/api/tasks/456", + "@type":"Task", + "status":"DONE", + // ... other fields +} +``` + +When a task is completed, the `status` property will change from `TODO` to `DONE`. +When both tasks are completed, it means the delivery is completed! diff --git a/en/developer/index.md b/en/developer/index.md index 218d59756..91ed54163 100644 --- a/en/developer/index.md +++ b/en/developer/index.md @@ -1,12 +1,10 @@ --- -lang: en title: Developer -ref: dev-home has_children: true -nav_order: 3 --- -# Developer's guide +# Developer + diff --git a/en/index.md b/en/index.md index 8ca52ee7f..8ae5aa11a 100644 --- a/en/index.md +++ b/en/index.md @@ -1,19 +1,22 @@ --- -layout: home -lang: en -title: Home -ref: homepage -nav_order: 1 +title: 'Getting Started' +nav_exclude: true --- -**Welcome!** +# Welcome to the CoopCycle Docs! -This documentation is hosted on [GitHub Pages](https://pages.github.com/). + -You can use the "Edit this page" button to be redirected to the GitHub online editor. +--- -For a guide on how to edit the docs see [Edit Docs] or go to Tutorials → Editing Docs. +To get started go to the respective documentation depending on your access: ---- +- [Admin / Coop](admin/index.md) +- [Courier](courier/index.md) +- [Restaurant / E-commerce](restaurant/index.md) +- [Store](store/index.md) -Go here to get started. diff --git a/en/payment-processors/index.md b/en/payment-processors/index.md new file mode 100644 index 000000000..a4b5f1398 --- /dev/null +++ b/en/payment-processors/index.md @@ -0,0 +1,14 @@ +--- +title: 'Payment Processors' +has_children: true +--- + + + +# Payment processors +--- + +CoopCycle integrates with the following payment processors: + +- [MercadoPago](mercadopago.md) (Latin America) +- [Stripe](stripe.md) (across Europe & Canada) diff --git a/es/admin/mercadopago.md b/en/payment-processors/mercadopago.md similarity index 98% rename from es/admin/mercadopago.md rename to en/payment-processors/mercadopago.md index 2b80be90b..f1d8ea823 100644 --- a/es/admin/mercadopago.md +++ b/en/payment-processors/mercadopago.md @@ -1,9 +1,6 @@ --- title: Mercadopago -lang: es -ref: admin-mercadopago -parent: Guía de administración -nav_order: 4 +parent: 'Payment Processors' --- # Administración de pagos con Mercadopago diff --git a/en/payment-processors/stripe.md b/en/payment-processors/stripe.md new file mode 100644 index 000000000..a7234697f --- /dev/null +++ b/en/payment-processors/stripe.md @@ -0,0 +1,121 @@ +--- +title: Stripe +parent: 'Payment Processors' +--- + + + +# Stripe +--- + +## What is Stripe? + +Stripe is a payment service provider, which allows us to manage credit card payments in a secure manner. In addition, the "Stripe Connect" functionality allows us to manage the "platform" aspect of the payment, i.e. the distribution of payments between the platform (money going to the delivery cooperative) and the restaurant. + +Due to the fact that the european cooperative is fund by contributions, we (CoopCycle) do not charge a commission on payments. Stripe takes a fee on each transaction ([check the pricing for your country here](https://stripe.com/pricing){:target="_blank"}). + + +## Why Stripe? + +Stripe has established itself as the "rolls-royce" of payment services. The service is reputed to be of excellent quality. It is possible to find cheaper services, but we believe the price is worth the candle. A known negative point about Stripe is that the (nice) Stripe admin interface is not always available in the user's language. + +For creating and integrating a Stripe account with CoopCycle refer to the links below. + +[Create a Stripe account ](https://dashboard.stripe.com/register){:target="_blank"} + +
+ You can also ask you local coop to create a Stripe account on your behalf and they can seamlessly integrate with your e-commerce account. Then they will give you admin access to your Stripe account. +
+ +# Setting up Stripe + + + + +--- + +## What is the “live mode” and “test mode” of Stripe? + +The CoopCycle platform can be configured to use the "live" or "test" mode from the "settings" tab. In test mode clients will not be debited. You have to use test cards (typically 4242 4242 4242 4242 4242). **Don't forget to switch to "live" mode before going into production !** + +## How to configure Stripe/Stripe Connect on your platform? + +1. Create a Stripe account here , then: + * Get the four API stripe keys (Private/Public live, Private/Public test) here: https://dashboard.stripe.com/apikeys (in video) + * Get the two Stripe Connect identifiers (Live/Test) here: https://dashboard.stripe.com/account/applications/settings + * Past them in the corresponding fields on the administrator's “parameters” tab. + +Note: Live and test keys and IDs are not displayed on the screen at the same time. There is a switch on the page to display either test or live data. + +2. Configure the redirection url for Stripe Connect + * Go to https://dashboard.stripe.com/account/applications/settings + * Click on "Add redirect URI" (**It has to be done in live and test mode**). Then enter this value "https:///stripe/connect/standard" (e.g. `https://demo.coopcycle.org/stripe/connect/standard`) + +## How to activate your Stripe account to use the platform? + +You need to activate your Stripe account to start using the platform in "live". Click on "Activate your account" on the left and enter the required informations. (video: https://www.youtube.com/watch?v=XLzg_K_0C5k) + +## How to see the money earned through the platform? + +The funds earned by the platform (the delivery cooperative) are calculated as a commission on the merchant's payment. Go to this URL https://dashboard.stripe.com/test/applications/fees. + +## How to receive this money on your account? + +Payments from your Stripe account to your bank account will be made regularly ("payouts"). You can access the list of payouts here : https://dashboard.stripe.com/test/balance/overview. You can also request on this page an immediate transfer to your account. + +--- +This process has two steps: +Create the restaurant on the CoopCycle platform +Create the linked Stripe account + + +Before: +You need to have configured correctly the Stripe account linked to the platform + +After this two steps have been achieved : +Create an user account in the “User” section +On the created user page, assign him/her the restaurant so he can access its backoffice + +Necessary informations : +Name & first name of the restaurant owner +Legal name of the restaurant +Phone number of the restaurant +Restaurants address +Restaurants IBAN +Contractual informations +What delivery price for the restaurant owner? +What delivery price for the customer? +Who is paying Stripe fees? +Proof of identity of the restaurant + +Additional informations : +Delivery hours + +2- Creating the Stripe account linked to the restaurant + +From your Stripe dashboard, https://dashboard.stripe.com/account , create a new account by clicking on the top left corner on “New account”. Indicate the restaurants name. + +IMAGE + +From the restaurant page on the platform, in the “Stripe account” section, click on “Connect with Stripe” button. The process have to be made twice, once for test and once for live payments. + +IMAGE + +A Stripe page opens. In the “Switch accounts” dropdown select the correct restaurant. + +IMAGE + +Enter the informations. Attention : in the “Customer phone number” field please indicate your phone number not the restaurant’s one. + +Verify your phone number at the following address : https://dashboard.stripe.com/phone-verification?source=email . Enter your phone number then copy the code received by SMS (you may have received a mail notification about the phone verification) + +Your done ! To check that everything’s in order : +In the Stripe dashboard select the main account (the one linked to the platform) on the top left corner +Clicked on “Connect” then on “Accounts” on the left column +In the “Recently connected accounts” list click on the first item (= the last account added) +Verify that “Payments” and “Payouts” are well and green - in case of issue please contact dev@coopcycle.org + +IMAGE diff --git a/en/plugin/index.md b/en/plugin/index.md new file mode 100644 index 000000000..60f6cabd9 --- /dev/null +++ b/en/plugin/index.md @@ -0,0 +1,14 @@ +--- +title: Plugin +has_children: true +--- + + + +# Plugin +--- + +CoopCycle plugins that can be used to integrate with third-party websites. + +- [WordPress plugin for WooCommerce](https://wordpress.org/plugins/coopcycle/) +- PrestaShop plugin (coming soon) diff --git a/en/plugin/wordpress.md b/en/plugin/wordpress.md new file mode 100644 index 000000000..8facb7318 --- /dev/null +++ b/en/plugin/wordpress.md @@ -0,0 +1,50 @@ +--- +title: Wordpress +parent: Plugin +--- + +Overview +-------- + +The CoopCycle plugin for WordPress allows to add a [shipping method](https://docs.woocommerce.com/document/setting-up-shipping-zones/) to WooCommerce, +and to transmit the shipping data to CoopCycle directly, using the API. + +If one of your partners already has an e-commerce website based on WooCommerce, it the best way to have a seamless integration. + +On CoopCycle, the shipping data sent will be attached to a [store](../admin/stores.md), so you will need to create a store if you don't have one already. +The settings of the store modify the behavior of the plugin, in particular the configuration of the time slot used. + +Obtaining an API token +---------------------- + +The first thing to do is to obtain an API token, so that the website running WooCommerce can interact with the CoopCycle API. + +Go to Configuration › API, and click « Add ». Enter the name of the app (for example, the name of the website running WooCommerce), select the store you want to generate an API token for, and hit « Save ». + +You should obtain a pair of credentials, a « API Key » and « API Secret », that you will need to configure the plugin. + +Installing and configuring the plugin +------------------------------------- + +The CoopCycle plugin for WooCommerce can be installed from [wordpress.org](https://wordpress.org/plugins/coopcycle/). + +In the WordPress admin area, go to the Plugins page, and search for « coopcycle ». + +In the settings page of the plugin, enter the base url of the CoopCycle instance, the « API Key » and « API Secret », and save changes. + +Configuring WooCommerce +----------------------- + +Once the CoopCycle plugin is configured, you need to add to a [shipping method to a zone](https://docs.woocommerce.com/document/setting-up-shipping-zones/#section-6). + +Go to WooCommerce › Settings › Shipping. If you haven't already, click on « Add shipping zone », or edit one of your existing shipping zones. + +Click on « Add shipping method », and select « CoopCycle ». + +Once the shipping method has been added, you can configure it. The settings are the same as the standard [Flat Rate Shipping](https://docs.woocommerce.com/document/flat-rate-shipping/) method of WooCommerce. + +The most important thing that you need to configure is the **shipping cost**. + +Congratulations! 🎉 + +Now, when entering an address that matches with the shipping zone, customers will be allowed to choose the CoopCycle shipping method. diff --git a/en/restaurant/bluetoothprinters.md b/en/restaurant/bluetoothprinters.md new file mode 100644 index 000000000..dbb028631 --- /dev/null +++ b/en/restaurant/bluetoothprinters.md @@ -0,0 +1,29 @@ +--- +title: 'Bluetooth printers' +parent: Restaurant +--- + +# Bluetooth printers + +--- + +### Connecting a Bluetooth printer + +### Debugging Bluetooth devices + +If you Bluetooth printer is not recognized, it helps if you can debug the device capabilities. + +To do so, install the [nRF Connect for Mobile](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp) app on Google Play. + +Once installed, launch the app, and scan for devices. +When your device is detected, tap on "CONNECT". + +![nRF Connect for Mobile - Scan](/assets/images/nrf_connect_scan.png) + +Once connected, the nRF Connect for Mobile app will show the device details. + +![nRF Connect for Mobile - Device](/assets/images/nrf_connect_device.png) + +Unfold all the device capabilities by tapping on them, and send screenshots to [dev@coopcycle.org](mailto:dev@coopcycle.org) + +![nRF Connect for Mobile - Unfolded](/assets/images/nrf_connect_device_unfolded.png) diff --git a/en/restaurant/index.md b/en/restaurant/index.md index 5d8451dfe..86db13f5c 100644 --- a/en/restaurant/index.md +++ b/en/restaurant/index.md @@ -1,13 +1,6 @@ --- -lang: en -title: Restaurant's guide -ref: restaurant-home +title: Restaurant has_children: true -nav_order: 8 --- -# Restaurant's guide (overview) -## Restaurant's guide on the platform - -## Restaurant's guide on the app diff --git a/en/store/index.md b/en/store/index.md new file mode 100644 index 000000000..fe80c7096 --- /dev/null +++ b/en/store/index.md @@ -0,0 +1,4 @@ +--- +title: Stores +nav_exclude: true +--- diff --git a/en/tutorials/index.md b/en/tutorials/index.md deleted file mode 100644 index 70095db41..000000000 --- a/en/tutorials/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -lang: en -title: Tutorials -ref: tutorials -has_children: true -nav_order: 9 ---- diff --git a/index.md b/index.md index 070c4756c..1a7129fa7 100644 --- a/index.md +++ b/index.md @@ -4,5 +4,5 @@ ---