# Adding new users

There are three ways you can get users into the system:

1. Get them apply themselves and give you their information
2. Add them as an admin and enter their information for them
3. Import users from a CSV file

This guide will show you how to do each of those

## Getting users to apply

There are two ways you can get users to apply, but how you do it will depend on how you've configured your membership sign up settings.

Go to Club Settings > Memberships and scroll down to "Sign ups & Renewals"

<figure><img src="https://1391289067-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFsotXMeKYDD1l1IpEkSM%2Fuploads%2FDuxQKCcgePw5IPkzUibs%2Fimage.png?alt=media&#x26;token=cb4ba0b3-80aa-4f63-ad1f-c43afb4a3587" alt=""><figcaption></figcaption></figure>

Here you can enable or disable invite-only sign ups for different account types. When switched on, you'll need to generate a unique, one-time invite email for each person you want to allow to sign up.

However, when switched off anyone who visits the following link will be able to apply:

```
https://your-club.range-mate.co.uk/apply
```

{% hint style="info" %}
Remember to replace the "your-club" in the URL above with your club's subdomain
{% endhint %}

## Adding users one at a time

In the admin menu, go to People > Users and in the top right hand corner you'll see a "New User" button

Complete the information in the form and submit it.

## Importing users

You can batch import users from a CSV file. This is most powerful but also the most complex option.

{% hint style="warning" %}
It's highly recommended you do this step on a desktop, as it requires editing CSV files and zipping
{% endhint %}

1. Go to People > Users and click the "Import" button in the top right
2. Download the template file and unzip it
3. Inside, you'll find a CSV file. Open it with your editor of choice (Excel, Numbers or Google Sheets). It should look something like this:

<figure><img src="https://1391289067-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFsotXMeKYDD1l1IpEkSM%2Fuploads%2FlAWvrsAXPaAku25rJCYw%2Fimage.png?alt=media&#x26;token=022bd1a8-addb-4d44-a86f-a4182fad4283" alt=""><figcaption></figcaption></figure>

There's an example user already added, and here's a description of each of the fields

<table><thead><tr><th>Field Name</th><th width="118">Required?</th><th>Accepted values</th></tr></thead><tbody><tr><td>title</td><td>Yes</td><td>Mr, Mrs, Miss, Ms, Other</td></tr><tr><td>first_name</td><td>Yes</td><td>Any string</td></tr><tr><td>last_name</td><td>Yes</td><td>Any string</td></tr><tr><td>place_of_birth</td><td>Yes</td><td>Any string</td></tr><tr><td>occupation</td><td>No</td><td>Any string</td></tr><tr><td>email</td><td>Yes</td><td>A valid, unique email address</td></tr><tr><td>address_line_1</td><td>Yes</td><td>Any string</td></tr><tr><td>address_line_2</td><td>No</td><td>Any string</td></tr><tr><td>address_line_3</td><td>Yes</td><td>Any string</td></tr><tr><td>address_county</td><td>Yes</td><td>A valid county name</td></tr><tr><td>address_postcode</td><td>Yes</td><td>A valid UK postcode</td></tr><tr><td>profile_picture_path</td><td>Yes</td><td>Path to their profile picture in the ZIP file</td></tr><tr><td>membership_number</td><td>No</td><td>Any string. If you leave this blank, Range Mate will auto-generate new membership numbers</td></tr><tr><td>nra_membership_number</td><td>No</td><td>Any string</td></tr><tr><td>fac_holder</td><td>Yes</td><td>TRUE | FALSE</td></tr><tr><td>primary_club</td><td>Yes</td><td>TRUE | FALSE</td></tr><tr><td>state</td><td>No</td><td>application_approved | probation</td></tr><tr><td>membership_name</td><td>No</td><td>The exact name of the membership you wish to sign the user up to (case sensitive)</td></tr><tr><td>start_date</td><td>No</td><td>A valid date, expressed as "DD/MM/YYYY"</td></tr><tr><td>end_date</td><td>No</td><td>A valid date, expressed as "DD/MM/YYYY"</td></tr><tr><td>paid</td><td>No</td><td>TRUE | FALSE</td></tr><tr><td>skip_welcome_email</td><td>No</td><td>TRUE | FALSE</td></tr><tr><td>credential_certificate_number</td><td>No</td><td>The FAC or SGC number</td></tr><tr><td>credential_category</td><td>No</td><td>FAC | SGC</td></tr><tr><td><p>credential_</p><p>issuing_police_force</p></td><td>No</td><td>The name of the police force that issued the credential</td></tr><tr><td>credential_start_date</td><td>No</td><td>A valid date, expressed as "DD/MM/YYYY"</td></tr><tr><td>credential_expiry_date</td><td>No</td><td>A valid date, expressed as "DD/MM/YYYY"</td></tr></tbody></table>

4. Add your user data into the file, paying attention to the list of fields above.
5. Add an image for each user in somewhere (recommend using the layout in the example)
6. Make sure each image is referenced correctly in the CSV and check for typos
7. Once complete, ZIP the file back up again
8. Upload the file to the prompt in Range Mate

At this stage, the file will be processed in the background and users added one a time. You will receive an email at the end of the import telling you which rows succeeded, and if there were any errors.&#x20;

### Notes

* You don't have to sign a user up to membership when importing. Just leave the fields from 'state' onwards blank and they'll get created as an applicant.
* It's up to you to make sure you put the user in the correct "state" that matched the membership type. "application\_approved" is for when a user has passed their training, and "probation" is for when they haven't.
* Make sure to add images for each user. It doesn't matter where you add them, but the example has them placed in an "images" folder. Just make sure you update the path accordingly. For example a file placed in `images/` should be referenced in the CSV as `images/file_name.jpeg`
* You can add one credential to the import, this is usually a user's FAC details if you have it. You can choose to leave all `credential_` fields blank, but if you add one you must add them all for it to work.
* Only JPEG/JPG images are supported for profile pictures.
* If the importer encounters a duplicate, it will throw an error for that row and carry on.
