Hubs can ask their customers to validate their own terms and conditions

Tags: #<Tag:0x00007f2195131628> #<Tag:0x00007f21951314e8>

@Rachel for now manual and later in subs v2, customer confirmed (or placed) subscriptions.

re people with no email accounts, I dont think they are using the platform so they will not have to accept the terms.

Yes that was my solution number 2

Why is this our problem?

It’s something that is unclear to me in the legislation. If you have any legal document that can back that up I’m all ears!

for now manual and later in subs v2, customer confirmed (or placed) subscriptions.

@luisramos0 I’m not sure what you mean by this sentence? About people with no emails, we are talking here about the ToS of the hub, not the ToS of the platform. So even when you have no emails you need to accept the terms as the hub is making an order in your name. But I will leaving this for later. Like Rory is suggesting that would maybe need to add the ToS link on the invoice.

Sorry I was not clear. I meant I think we should have a manual solution for now. And later, in subs v2, we can sort this out on the customer side by adding a checkbox to the create/edit subscription page of the customer.

1 Like

Hello !

A little update and some further questions :slight_smile:

I think the correct place for uploading the file would be in business details. So it would be something like this:

What’s missing here is that I think we will need to add a little info on the file size and format.
I’ve used the “what’s this” tooltip as I figured we would like to remind them that this is important info.

However I wonder: do we want this to be a mandatory field to update the page?

After upload of the file (and our infamous green banner telling success has happened :grin: ), I understood that we will get something like this:

image

I’ve added a download of the file in my drawing. Scope creep?

Something I will need to confirm with a tech owner here is when do we send the file up? This page has update/close button at the bottom, so I’m guessing nothing happens before I click update? :confused:

In anycase, after clicking on it we will need to display a confirmation text. A bit like this:

image

This text can be changed in translation, but any good English sentence is welcome :slight_smile:

On the buyer side, I still need to figure out what’s the best display, especially if we want to introduce the last update date. I will see if Yuko can help me with a good UI on this :slight_smile: From our previous discussions I conclude that we will:

  • NOT tick the checkbox by default unless the buyer already agreed to them previously
  • disable the checkout button if the checkbox is not selected
  • uncheck the checkbox if changes have been made

A summary of all the things we are putting aside for a first iteration:

  • Mentions on invoices templates / buyers with no account
  • Subscriptions

Does it wrap up correctly everything @lin_d_hop @Kirsten @luisramos0 ?

Also I want to link here a discussion we had today with @Bato as it appears that this solution won’t work at all for Turkey : https://openfoodnetwork.slack.com/archives/C0DNLAZC7/p1588860866200200

Maybe there are other countries with particular legal aspects on this, so I would like to make sure that all active instances know we will introduce something like this. ping @tschumilas @lauriewayne1 @Eugeni @hhomann

Looks good @Rachel. One minor tweak from me - I think it will be useful if the filename is shown once it is uploaded, perhaps just before the ‘download’ button? Or could replace the download button i.e. just have the filename as clickable link that opens pdf in browser tab?

Last comment before I hand it over to @lin_d_hop

I thought of this, I think we just need to be aware that some people might give the file a very long name, and we would try to avoid displaying it on 2 lines. Something to check with @sauloperez maybe we can truncate it or something :slight_smile:

Thanks for all the work that has gone into this everyone - particularly @Rachel

A few thoughts to add on the scope/implementation of this.

  1. Should subscription confirmation emails contain links to the T&C/ToS in the email? This would ensure that people have a copy of the conditions they have signed up to every purchase?

  2. For Subscription shoppers that are paying by invoice the contract is made at the time of payment and they have a notification they have agreed to them in the confirmation email. For shoppers paying for subscriptions by Stripe they contract at the time of Allowing Charges on their card. Should we add the agreement to ToS in the same place as the Shopper Allows Charges on their card in Account -> Credit Cards?

  3. If the Hub changes their ToS for normal checkout the Shopper is still making the contract at time of checkout. I would say that even in this case the Checkbox can be ticked by default. This will help to maintain conversion rates. From what I understand from above we have agreed to the following… I just wanted to double check:

  • On the first time a shopper checks out with a set of ToS the box is not checked
  • Each subsequent time they checkout with the same ToS the box is checked by default
  • If the Hub manager changes the ToS the box is not checked by default.
  1. I don’t think we want to require ALL shops to include ToS - in many places this is likely not required and becomes a significant barrier to small enterprises getting started on OFN. On checkout, if the Hub has not created their own ToS then we hide the box from the shopper. That would be my preference but this is different to Rachel’s thoughts above.

It would be great to get some insights on the above 4 points @Rachel @Kirsten @tschumilas @NickWeir and anyone else with insights :slight_smile:

My insights…

  1. Great idea
  2. Just a comment "By allowing charges you are agreeing to our ToS(with a link)
  3. Not a great fan of checkboxes for this - Just mention at checkout that agreeing to ToS (with a link) covers everything IMO
  4. I think you will find that eCommerce requires a ToS in most countries, or it should. Easier than hiding check boxes would be to supply a generic OFN ToS that shops can adopt if they dont have one. Hidden check boxes that appear are a UX no-no IMO
  1. If enterprises REQUIRE to upload their ToS to trade on OFN then we have a wider set of product issues to discuss. Countries need to provide a template for their users. We’ll need a roll out plan to ensure that all enterprise update and include this. We’ll probably need to include something in the registration process. Given that we currently don’t have them I would like to propose that Phase 1 does not REQUIRE every enterprise to upload ToS and the checkout UX reflects this.

I dont mean that an enterprise is required to upload one. If they dont have one then the generic OFN one is default - just needs to be a link to a pdf on the server. If an enterprise has one they upload it and update link, otherwise link points to OFN generic.

A quick response that I can develop if needed:

  1. Yes, but we agreed above that we would add this in a second iteration

  2. Yes I also thought about it, but this would required a bit more design and inception, that’s why a first release without subscriptions sounded like a good idea.

  3. I would say that even in this case the Checkbox can be ticked by default.

I thought about it as well, but when re-reading consent under EU law, I’m afraid we won’t be able to do it like that. Changing ToS will not be something hubs do everyday so I guess ticking an extra box won’t be so bad in our case in terms of retention.

  1. Ok to make it not mandatory but we will need to add a proper warning message on the screen then. Otherwise at least all EU instances will have issues.
    About hiding the box: sorry it wasn’t clear: but the checkbox can only appear if the ToS are uploaded. Otherwise we will never be able to release that feature.
2 Likes

Alright so here we go… Here is a first attempt at defining Phases and Stories for this piece of work…
Ping @Kirsten @luisramos0 @Rachel @tschumilas @Bato @lauriewayne1 @Eugeni @hhomann

Phase 1: Standard Checkout

Story 1: Hubs can upload ToS in Enterprise Settings -> Business Details

Acceptance Criteria:

  • Tooltip to explain
  • Files should be uploaded as PDF or ??
  • As file will be accessible by URL there is no need to download. They can download from the URL if required.
  • A link beside the upload field to ‘View’ (rather than download as @Rachel suggested)
  • Warning message to Hubs when user updates to inform implications (as per @Rachels post here)
  • When the ToS is updated by a Hub then any saved record of Shoppers agreeing to Tos will need to be updated.
    Technical suggestion - can this be achieved with an ‘Updated At’ field on ToS. If ToS.updatedAt > Shopper.agreedToTos then shopper must re-accept?

Story 2: Shoppers must accept ToS to checkout where ToS are available

Acceptance Criteria:

  • Shoppers will see a checkbox with message ‘I agree to the Terms of Service’ above the ‘Place order now’ button on Checkout page.
  • In the above message the words Terms of Service will link to an online readable copy of the Terms of Service (document referred to in Story 1) in a new tab.
  • The checkbox is not ticked by default
  • Guest shoppers will be required to tick the box every time
  • Registered shoppers that have previously ticked the ToS for this Hub will have the box ticked by default
  • If the checkbox is not clicked then the Checkout button will not be visible.
  • When the ToS is updated by a Hub then shoppers will need to re-agree to ToS and box will not be ticked by default.
    Technical suggestion - can this be achieved with an ‘Updated At’ field on ToS. If ToS.updatedAt > Shopper.agreedToToSDateTime then shopper must re-accept?

Phase 2: Invoices

Story 1: Shoppers can see view ToS via a link in Invoices

Story 2: Shopper can view ToS via a link in order confirmations

Phase 3: Subscriptions

Story 1: If a hub has ToS then a shopper is given a message and link to ToS (eg By allowing charges you agree to the ToS for this Hub) when allowing charges in Accounts -> Credit Cards

Story 2: If a hub has ToS then subscription email confirmations will include a link to ToS with a message (eg By enabling subscriptions you are agreeing to the ToS for this hub)

Other Requirements - Which Phase?

For Turkey:

Story 1: An Instance can set a default ToS/Document for all hubs

Story 2: An Instance can disable update of ToS/Document in Enterprise Settings -> Business Details so that the default document is always used.

Nice, sounds good to me.
My only comment is related to story structure on phase 1: the stories are not independent (there’s this thing called INVEST for user stories). I think it’s easy here to make independent valuable stories. For example, Story 1 can be: simple input with ToS URL in backoffice that will show as a “view ToS” link on checkout. Just that.
From this one we can incrementally add the other features on both backoffice and frontoffice.

1 Like

For Turkey instance, order details must be stated on the document as well. I guess this differentiates our case from others in another way. We will need to develop it according to local requirements

So in an instance where the regulations about terms of service are not instance-wide (ie in Canada these laws, if they exist, are province-specific) the idea of an instance wide default terms of service doesn’t really make sense. There would have to be 12 different defaults in Canada be 12, and in the US, there would need to be 50 or more. This makes a single default problematic. I guess the option would be that the instance sets up one TOS that speaks to all the different possibilities. So I would prepare a document with 12 sections as the ‘default’. sorry - just trying to get my head around how ths would work.

I’m a bit afraid of making that button completely invisible. User might think they are done. What about making it disabled or making the checkbox mandatory and adding an error message if the checkbox was not checked?

@tschumilas the ToS of the instance do already exist and can be set up in “configurations” as a super admin. They should cover the contract between your instance and your hubs. Here we are covering the contract between buyers and hubs. We can work on building examples for our hubs to use, but in the end hubs will still have to build their own document. A default one cannot be in place.

oh and ping @sauloperez who is the tech owner here

Oh yeah. I meant clickable… thanks for correcting!

Here is my update of Phase 1 using the INVEST principle (thanks @luisramos0)

Phase 1 - Standard Checkout

Story 1. Hubs can add ToS PDF in Enterprise Settings-> Business Details and users see a link and text on checkout (i’ll create mocks for this)

Story 2. On checkout shoppers see a checkbox (not checked by Default) on checkout. ‘Place Order Now’ button is greyed out until the checkbox is clicked. Users see an error message if they click the ‘Place order now’ button without ticking the box

Story 3. When admins update the ToS they see a warning stating that shoppers will have to re-accept ToS. Registered shoppers that have previously ticked the box will no longer have to tick the box while the ToS has not been updated.

Story 4. Add a tool tip in Enterprise Settings-> Business Details

Story 5. Add a link to View ToS in Enterprise Settings-> Business Details

Awaiting confirmation from @sauloperez (tech lead) and I’ll create the Epic :smiley:

1 Like

Epic for Phase 1 of this work is ready to go:

2 Likes