Add to card - Ordering app

Hi,

I’m creating an ordering app. I want contrarly to the template that my customer can add the menu items to a card. And then, he can order when he finishes to add the items to the card. Can you tell me how can I do that please ?

Because I don’t want to create an order when the customer add to the card.

Thanks

1 Like

Hello, you should have a button, maybe the login, create a cart.

1º create a Cart Collection with all the specifics
2º Connect the cart collection with the items collection.
3º Create action in the login button that “Create new Cart” and that’s it
4º every item will be in that cart list
PS: When sale or last screen of it, you should “create another card” if you are using a webapp to security of payment and order.
PS.PS: The diference is the screen when you put the “create cart” because if you have one place that want to sell its different from the template.

hope this help, sorry for my english

It’s not the same but try this,

1 Like

Now I am struggling with this myself. But I already understand that you need to create a button for creating an order before entering the store, and then the user can add products and pay for them.

Hi,
The issue is that when you add a product to a cart, you need to add it somewhere temporarily. In the Food Spot app from Adalo, it creates an order when you select the pickup time as a starting point. The issue is when the user does not really check out and wants to start from the beginning or changed his mind.

What I do is: when the user starts order, I set into a status “In Process”, then if user checkouts, it goes to “Completed”, if not stays “In Process”, you can then use a filter to ignore those from the Business list, or you can use a timer to delete those orders after some time.

You can also create an order collection and Cart collection, that everything goes to the cart collection and then in the checkout, you can take that info and create an order, but for me, this is a bit less optimal in terms of DB handling.

I am also building an Order App and wrapping my head around this and this how I got so far.

1 Like

Hi,

I have been working around this topic for a while and finally was able to create a decent flow.

I wanted to build a ordering mechanism without actually asking user to login until the checkout screen.

Here’s how I built it:

  1. Splash screen has a lottie file (loading screen), when the animation ends, I create a CartID and send it to Home Screen.
  2. Home Screen has a catalog with categories, here customers browse and select a product, on-Select a CartItem is created is a relationship to CartID (1 CartID to many CartItems relationship)
  3. Once the Cart screen is loaded with CartItems, I updated CartID with the totals, discounts (if applicable, etc)
  4. Send user to checkout (if user is already logged in)
    4.1 Send user to login/register if not logged in
  5. Checkout screen with CartID (Totalsum of CartItems, discount if applicable, total payable amount)
  6. Stripe component to capture the cart ID, email of the user, total payable amount from cartID
  7. Upon successful payment: create an order in a new collection with CartID reference and checkout = True, Ordered user = logged in user.

Finally bring back the user to home screen after the journey is completed and a new CartID is ready for his next order.

This flow may create many CartIDs which may not see successful checkout, but I see this as a feature for my analytics to understand how many users have actually tried and abondoned the cart, etc.

FYI, except users collection, everything for me is in Airtable (less hassle around calculations, subsequent automations, etc)

Hope this helps!

2 Likes

Thanks for all of your answer.

I tried the solution with the lottie file and it’s working very well.

@bhanu How do you connect your database Adalo with Airtable ? Do you use Zapier or external collection ? Thanks

@Nico21 I used external collections & custom actions within Adalo and it works well!

The only problem you’ll face with Airtable & Adalo is with dates and linked records in Airtable. But I was able to get past that hurdle.

Let me know if you need help on anything specific, happy to share my learnings.

@bhanu Thanks for sharing your learnings.

Ok to use external collections but how can you join them on Adalo ? With which type of custom actions ?

Thank you very much

What do you mean? Can you elaborate?

If your question is about relationships, for every record I am having an identifier.

Ex: CartID will have user email, this will help me filter to the users CartIDs.

Similarly each CartItem will have a CartID (linked record)

I use users collection in Adalo as a base to make my relationships in Airtable.

Yes sorry.

I want to say, if you have external collections in Airtable, you can not make relationships between the different collections. So when I will create a CartID, I won’t create CartItem in relationships with this CartID as both are in external collection. If it’s possible, it would be really good but I don’t know how can I do that.

Have you already make a video to show that ?

Thanks @bhanu

I will see if I can make my app clonable with Airtable DB setup.

Or will make a loom recording soon to share.

1 Like

It would be perfect. Thanks

Hi,
Although bhanu’s approach is great, I don’t think it should be like this. If you only let the user register/login in the checkout period, you are potentially losing customers if they never checkout and abandon cart. If they need to register before being able to put orders, you will get their emails and can then use them for Consumer Behavior and send promotional campaigns (And grow your audience).

Just my 2cent opinion :).

1 Like

Thank @sebastas for your approach too. In my case the solution of @bhanu is well because I want that just the people, who have registered, can buy something. I need to verify if their profile is ok with my criterias.

Hi @bhanu,

I wish you a happy new year.

Did you make a loom recording or your app clonable please ?

Thanks in advance,
Nicolas

@Nico21 happy new year to you too! Thanks.

sorry just coming out of holiday mode, will share it with you in a day or two.

Meanwhile you can check the app on App store:

https://apps.apple.com/sg/app/gyftbook-app/id1515302338

Thank you @bhanu.

I began to do it but my problem is to send the different order items to Airtable as they are multiple. It’s ok for the order but not for order item.

Thanks

@Nico21 I am doing this at the time of adding to the cart itself instead of waiting for the end of order confirmation.

Here’s the sequence:

  1. Create CartID (Airtable)
  2. Add cart item (linked record to cartID) - separate table
  3. When the order is successful, create a recipient (shipping address) record in another table (linked record to cart ID)
  4. Update a field in cartID table with checkout successful true/false

Hi,

I found this video from victor where he explains how to use the timer to perform automatic and group actions.

I used the principle in my app and it worked.

I created 2 collections: order items and orders

1- when the customer chooses an item, it is added to the order itmes collection.
2- When the customer adds all the items he wants, he clicks a button to place the order.
3- This is where the order is created and closed automatically and instantly by the timer

Hi @Nico21

What’s that “lottie file”?

Thanks

Ray