Claim and Unclaim based on end-user subscription status

Hi all,

We are a startup preparing to move from prototype to production and our product is designed to automate hatches on boats. Our website: Smart-hatch.com

Our end-users are boat owners, and our product can be controlled via the Particle cloud. However, our product can also be operated as a stand-alone installation (no internet).

The benefits of keeping the device connected to the internet (claimed in our Particle account) are OTA updates and internet control. To maintain this support, we will charge the end-user a subscription, however, not all end-users would want or need the subscription. Additionally, the end-user may decide to opt-in or opt-out of the subscription at any time.

We would keep track of which devices were sent to which customer, and it would be rare that the device will be transferred to a new owner but that may happen.

We want to know how it could be possible to claim/unclaim devices based on the end-users subscription status?

For context, in an ideal world, our user database would track subscription status (active/inactive) and I could run a script to claim/unclaim the device within our Particle account. However, as we are only just starting to sell the devices, this process will be done manually (by me) and later automated when we sell millions of them (I pray).

Thank you kindly for all your help.

I would not claim the devices at all. Instead use unclaimed product devices.

When a device is running standalone, it would run unclaimed and not in a product, and would not have access to cellular or the Particle cloud and would incur no charges.

When the device is subscribed to your service, they would provide a Device ID or serial number and you would add this to your product. This would activate the SIM and be counted as a billable device from the Particle side.

To access this Particle device remotely from the cloud via a mobile app or web app, you'd probably have your server make all of the Particle API calls. This allows you to put the business logic for which devices are activated and which devices belong to which users entirely in your control. This also eliminates the need for claiming or claim codes, which add a lot of complexity.

One difficulty in this will be managing whether the device should be attempting to connect to cellular. You should make sure your firmware does not continuously attempt to connect to the cloud with a deactivated SIM. It should be breathing white instead of breathing cyan or blinking green. In some cases, the device may not know it was remotely activated to use your service. One solution would be a physical switch. Another would be to only attempt to connect to cellular every few hours.

It's similar if you are planning to use a Wi-Fi device via the boat's on-board Internet, but the edge cases are a little different as you need to deal with Wi-Fi credentials.

Hey James! you product looks pretty neat and we are all crossing fingers that you indeed sell millions of them :muscle:

You db/cloud infra usually keeps a user account associated with a Particle device Id (or more than one). This way you know which customer has which device, and as mentioned by Rick on the previous post, you won't need to claim devices.

Welcome to the community and keep asking questions if have more!
Cheers,