# `Stripe.Services.Terminal.LocationService`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/services/terminal/location_service.ex#L2)

TerminalLocationLocation

A Location represents a grouping of readers.

Related guide: [Fleet management](https://docs.stripe.com/terminal/fleet/locations)

# `create`

```elixir
@spec create(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Create a Location

Creates a new `Location` object.
For further details, including which address fields are required in each country, see the [Manage locations](https://docs.stripe.com/docs/terminal/fleet/locations) guide.

# `delete`

```elixir
@spec delete(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Delete a Location

Deletes a `Location` object.

# `list`

```elixir
@spec list(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

List all Locations

Returns a list of `Location` objects.

# `retrieve`

```elixir
@spec retrieve(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Retrieve a Location

Retrieves a `Location` object.

# `update`

```elixir
@spec update(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Update a Location

Updates a `Location` object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
