# Set-Up Terminal

## Overview

This guide provides a step-by-step process for setting up your in-person payment terminal at your physical location. Proper setup is essential to ensure that the terminal functions correctly and securely processes payments.

Terminals can be set up and managed through the Ryft Portal or programmatically via the [In-Person-Payments API](/documentation/api/reference/openapi#tag/In-Person-Payments).

## Initial Setup

Once the terminal has arrived, you can turn it ON and connect it to your Wi-Fi network.

In order to register the device with your Ryft account, you will need to obtain the serial number. This should be printed on the underside of the terminal.

You can also use our [API](/documentation/api/reference/openapi#operation/inPersonCreateTerminalOperation) to programmatically register terminals.

## Enable 'In-Person Payments' Capability

Before you can start setting up your terminal, ensure that your Ryft account has the **In-Person Payments** capability enabled. You can check and enable this capability through the Ryft Portal on the [Settings](/documentation/get_started/portal/settings#capabilities) page.

Please note that this capability must also be enabled for any Sub-Account that will be processing in-person payments. They can do this by following the same steps within their own Ryft Portal, if onboarded using the Hosted flow, or Main Account holders can enable it for them using the [Accounts API](/documentation/api/reference/openapi#operation/subAccountUpdateById) by including `InPersonPayments` in the `capabilities` object when updating the Sub-Account as shown below:

**Request Example:**


```json Enable In-Person Payments Capability via API
{
    "capabilities": {
        "inPersonPayments": {
            "requested": true
        }
    }
}
```

## Create a Location

All terminals must be registered to a specific **location**. A location simply represents the physical address where the terminal will be used.

To create a new location, you can follow these steps in the Portal:

1. Head to the terminal [location management area](/documentation/get_started/portal/terminals#locations) of your account.
2. Click **Add** within the **Locations** section.
3. On the next screen, enter the full address for the location, and click **Add Location** once done.
4. The location will be successfully created, and its unique ID will be visible directly below the address.


Alternatively, you can create a location programmatically using the [API](/documentation/api/reference/openapi#operation/in-person-locations).

Remember the Location ID (starting with `loc_`). You will need this unique Identifier to link your terminal to the location.

Once a location has been created, you can proceed to linking your terminal to it.

## Link Terminal to Location

Once you've configured at least one location, you can link your terminal device to it by following these steps in the Portal:

1. Head to the [terminal management area](/documentation/get_started/portal/terminals#devices) of your account.
2. Click **Add** within the **Devices** section.
3. On the next screen, enter the **serial number** of the terminal that can be found on the underside of the device. You may also optionally add a name to help identify the device.
4. Select the location you created in the previous step.
5. Click **Register Device** to finish setting it up.
6. The device will be created, and its unique ID will be visible directly below the serial number.


Alternatively, you can link a terminal to a location programmatically using the [API](/documentation/api/reference/openapi#operation/in-person-terminals) by providing the serial number and location ID when creating the terminal.

Remember the Terminal ID (starting with `tml_`). You will need this unique Identifer to communicate with the terminal when using the API.

Now that your terminal is registered and linked to a location, it is ready to start accepting in-person payments.

## Next Steps

You can follow the instructions in the [Accepting Payments](/documentation/get_started/in_person/payments) guide to start processing in-person payments using your configured terminal.