[← API v2 Overview](https://motordesk.com/api-docs/v2/)

# Business

Read your own business profile - contact details, address, localisation and opening hours.

`GET /business` returns the details of the business the API key belongs to. It is read-only, and deliberately limited to profile information: integration credentials, billing and plan state are never returned.

## Localisation

Use `localisation` to present the dealer's data correctly in your own interface:

- `currency` and `currency_symbol` - monetary values elsewhere in the API are plain decimal strings with no currency attached, so take the currency from here.
- `timezone` - dates and times in the API (appointment `date` and `time`, opening hours) are the dealer's local values, not UTC. Interpret them in this timezone.
- `distance` / `measurement` - `m` for miles, `k` for kilometres.
- `date_format` / `time_format` - the dealer's preferred display formats.

`tax.name` is what this business calls its sales tax (VAT, GST and so on). Use it when labelling tax, rather than hard-coding "VAT".

## Finance

`finance.enabled` tells you whether the business currently offers consumer finance. It is true only when the dealer has switched their finance option on *and* a finance provider is connected, which is the same test the dealer's own website makes before showing finance to a customer. Use it to decide whether to surface finance figures or a finance call to action.

`finance.fca_number` is the Financial Conduct Authority firm reference number the business is authorised under, or an empty string if it has not been set. If you display finance figures, show this alongside them. Note that a business may hold an FCA number while finance is switched off, so check `enabled` rather than inferring it from the presence of a number.

Finance provider settings and credentials are never returned. Per-vehicle representative figures come from [`/vehicles`](https://motordesk.com/api-docs/v2/vehicles/) and [`/listings`](https://motordesk.com/api-docs/v2/listings/) as `data.finance`.

## Opening Hours

`opening_hours` carries four sets. `standard` is the business's normal opening hours; `booking`, `delivery` and `collection` are optional overrides used by those processes. A booking type uses whichever set its own settings name - see [`/reference/booking-types`](https://motordesk.com/api-docs/v2/reference/#list-booking-types).

Each set lists all seven weekdays (`mon` to `sun`). A day is an array of open periods, so an **empty array means closed**, and a day may hold **two periods** where the business closes at lunchtime.

```json
{
  "opening_hours": {
    "standard": {
      "mon": [ { "open": "09:00", "close": "17:30" } ],
      "tue": [ { "open": "09:00", "close": "12:00" }, { "open": "13:00", "close": "17:30" } ],
      "sat": [],
      "sun": []
    },
    "booking": { "mon": [ { "open": "10:00", "close": "16:00" } ] },
    "appointment_only": [ "wed" ],
    "irregular": [
      { "date": "2026-12-25", "repeat": "annual", "closed": true, "hours": [] }
    ]
  }
}
```

- `appointment_only` lists weekdays the business opens by appointment only.
- `irregular` holds date-specific overrides such as bank holidays and Christmas closures. These replace the weekday hours for that date; `closed: true` means closed all day. A `repeat` of `annual` recurs every year, and is published for the current year.

## Hours vs Bookable Slots

Opening hours describe when the business is open. They are *not* the same as bookable appointment slots, which also account for appointment duration, per-hour and per-day limits, minimum notice and existing bookings. To offer a customer real times, use [`GET /appointments/availability`](https://motordesk.com/api-docs/v2/appointments/#booking-availability) rather than deriving slots from these hours.

One difference is worth knowing: where a day has two periods (a lunch break), the booking engine treats the day as one continuous block from the first opening to the last closing, so a split in `opening_hours` is not reflected in the slots it offers.

## The Business Object

Generated from the OpenAPI schema. Always matches the live API.

**Fields (59)**

| Attribute | Type | Required | Description | Example |
| --- | --- | --- | --- | --- |
| `id` | integer | - |  | `12` |
| `tag` | string | - | Public business tag. | `1Bypyz` |
| `name` | string | - | Trading name. | `Example Motors` |
| `legal_name` | string | - | Registered legal name. | `Example Motors Limited` |
| `business_type` | string | - | Business type. | `Independent Dealer` |
| `legal_type` | string | - | Legal entity type. | `Limited Company` |
| `company_number` | string | - |  | `01234567` |
| `vat_number` | string | - |  | `GB123456789` |
| `ico_number` | string | - | ICO data protection registration number. | `ZA123456` |
| `domain` | string | - | Primary website domain. | `example-motors.co.uk` |
| `verified` | boolean | - | Whether the business has completed verification. |  |
| `email` | string | - |  | `sales@example-motors.co.uk` |
| `whatsapp` | string | - | WhatsApp contact number, if published. |  |
| `telephone` | object | - |  |  |
| `telephone.country` | string | - |  | `GB` |
| `telephone.number` | string | - |  | `1234 567890` |
| `mobile` | object | - |  |  |
| `mobile.country` | string | - |  | `GB` |
| `mobile.number` | string | - |  | `7000 123123` |
| `address` | object | - |  |  |
| `address.line1` | string | - |  | `The Christies` |
| `address.line2` | string | - |  | `5 Wherry Quay` |
| `address.line3` | string | - |  |  |
| `address.city` | string | - |  | `Ipswich` |
| `address.state` | string | - |  |  |
| `address.postcode` | string | - |  | `IP4 1AS` |
| `address.country` | string | - | ISO country code. | `GB` |
| `address.latitude` | string or null | - |  | `52.052777` |
| `address.longitude` | string or null | - |  | `1.160864` |
| `address.formatted` | string | - | The address as a single display string. |  |
| `social` | object | - | Social handles as configured (usernames, not URLs). Empty string when not set. |  |
| `social.facebook` | string | - |  |  |
| `social.instagram` | string | - |  |  |
| `social.linkedin` | string | - |  |  |
| `social.twitter` | string | - |  |  |
| `social.tiktok` | string | - |  |  |
| `social.youtube` | string | - |  |  |
| `social.whatsapp` | string | - |  |  |
| `localisation` | object | - | Regional settings. Use currency for money fields and timezone to interpret dates and times. |  |
| `localisation.language` | string | - |  | `en` |
| `localisation.currency` | string | - | ISO currency code. | `GBP` |
| `localisation.currency_symbol` | string | - |  | `£` |
| `localisation.timezone` | string | - |  | `Europe/London` |
| `localisation.distance` | string | - | Distance unit: m (miles) or k (kilometres). | `m` |
| `localisation.measurement` | string | - | Measurement system. | `m` |
| `localisation.date_format` | string | - | The business's display date format. | `d/m/Y` |
| `localisation.time_format` | string | - |  | `H:i:s` |
| `tax` | object | - |  |  |
| `tax.name` | string | - | What the business calls its sales tax (VAT, GST, ...). Use this when labelling tax in your own UI. | `VAT` |
| `finance` | object | - | Consumer finance. enabled reflects whether the business currently offers finance - its finance option is switched on AND a finance provider is connected. Provider credentials are never returned. |  |
| `finance.enabled` | boolean | - | Whether the business offers consumer finance. | `true` |
| `finance.fca_number` | string | - | The FCA firm reference number the business is authorised under, or an empty string when not set. | `123456` |
| `opening_hours` | object | - | Opening hours. There are four fixed sets: standard plus the booking, delivery and collection overrides. A booking type uses whichever set its settings name (see GET /reference/booking-types); appointment availability is derived from these hours - see GET /appointments/availability. |  |
| `opening_hours.standard` | object | - | One hour set, keyed by weekday (mon, tue, wed, thu, fri, sat, sun). Every weekday is always present; its value is an array of {open, close} periods (24-hour HH:MM), an empty array means closed, and a day may hold two periods (split hours, e.g. a lunch break). | `{"mon":[{"open":"09:00","close":"17:30"}],"sun":[]}` |
| `opening_hours.booking` | object | - | One hour set, keyed by weekday (mon, tue, wed, thu, fri, sat, sun). Every weekday is always present; its value is an array of {open, close} periods (24-hour HH:MM), an empty array means closed, and a day may hold two periods (split hours, e.g. a lunch break). | `{"mon":[{"open":"09:00","close":"17:30"}],"sun":[]}` |
| `opening_hours.delivery` | object | - | One hour set, keyed by weekday (mon, tue, wed, thu, fri, sat, sun). Every weekday is always present; its value is an array of {open, close} periods (24-hour HH:MM), an empty array means closed, and a day may hold two periods (split hours, e.g. a lunch break). | `{"mon":[{"open":"09:00","close":"17:30"}],"sun":[]}` |
| `opening_hours.collection` | object | - | One hour set, keyed by weekday (mon, tue, wed, thu, fri, sat, sun). Every weekday is always present; its value is an array of {open, close} periods (24-hour HH:MM), an empty array means closed, and a day may hold two periods (split hours, e.g. a lunch break). | `{"mon":[{"open":"09:00","close":"17:30"}],"sun":[]}` |
| `opening_hours.appointment_only` | array of string | - | Weekdays open by appointment only (standard hours). | `["wed"]` |
| `opening_hours.irregular` | array of object | - | Date-specific overrides such as bank holidays and Christmas closures. These override the weekday hours for that date. |  |

**Example object**

```json
{
    "id": 12,
    "tag": "1Bypyz",
    "name": "Example Motors",
    "legal_name": "Example Motors Limited",
    "business_type": "Independent Dealer",
    "legal_type": "Limited Company",
    "company_number": "01234567",
    "vat_number": "GB123456789",
    "ico_number": "ZA123456",
    "domain": "example-motors.co.uk",
    "verified": false,
    "email": "sales@example-motors.co.uk",
    "whatsapp": "",
    "telephone": {
        "country": "GB",
        "number": "1234 567890"
    },
    "mobile": {
        "country": "GB",
        "number": "7000 123123"
    },
    "address": {
        "line1": "The Christies",
        "line2": "5 Wherry Quay",
        "line3": "",
        "city": "Ipswich",
        "state": "",
        "postcode": "IP4 1AS",
        "country": "GB",
        "latitude": "52.052777",
        "longitude": "1.160864",
        "formatted": ""
    },
    "social": {
        "facebook": "",
        "instagram": "",
        "linkedin": "",
        "twitter": "",
        "tiktok": "",
        "youtube": "",
        "whatsapp": ""
    },
    "localisation": {
        "language": "en",
        "currency": "GBP",
        "currency_symbol": "£",
        "timezone": "Europe/London",
        "distance": "m",
        "measurement": "m",
        "date_format": "d/m/Y",
        "time_format": "H:i:s"
    },
    "tax": {
        "name": "VAT"
    },
    "finance": {
        "enabled": true,
        "fca_number": "123456"
    },
    "opening_hours": {
        "standard": {
            "mon": [
                {
                    "open": "09:00",
                    "close": "17:30"
                }
            ],
            "sun": []
        },
        "booking": {
            "mon": [
                {
                    "open": "09:00",
                    "close": "17:30"
                }
            ],
            "sun": []
        },
        "delivery": {
            "mon": [
                {
                    "open": "09:00",
                    "close": "17:30"
                }
            ],
            "sun": []
        },
        "collection": {
            "mon": [
                {
                    "open": "09:00",
                    "close": "17:30"
                }
            ],
            "sun": []
        },
        "appointment_only": [
            "wed"
        ],
        "irregular": [
            {
                "date": "2026-12-25",
                "repeat": "annual",
                "closed": true,
                "hours": [
                    {
                        "open": "09:00",
                        "close": "17:30"
                    }
                ]
            }
        ]
    }
}
```

## Endpoints

### GET Get Business Profile

`GET /2.0/business` · scope `business:read`

Retrieve the authenticated business's own profile: identity, contact details, address, localisation (currency, timezone, units) and opening hours. Read-only.

**Parameters (1)**

| Parameter | In | Type | Required | Description | Example |
| --- | --- | --- | --- | --- | --- |
| `fields` | query | string | - | Comma-separated dot-paths to return only those fields, e.g. id,data.stock.price_channel. |  |

**Responses**

| Status | Description |
| --- | --- |
| `200` OK | Get Business Profile |

Failures use the standard [error responses](https://motordesk.com/api-docs/v2/errors/) (4xx/5xx) with the shared error envelope.

```json
{
    "success": true,
    "data": {
        "id": 12,
        "tag": "1Bypyz",
        "name": "Example Motors",
        "legal_name": "Example Motors Limited",
        "business_type": "Independent Dealer",
        "legal_type": "Limited Company",
        "company_number": "01234567",
        "vat_number": "GB123456789",
        "ico_number": "ZA123456",
        "domain": "example-motors.co.uk",
        "verified": false,
        "email": "sales@example-motors.co.uk",
        "whatsapp": "",
        "telephone": {
            "country": "GB",
            "number": "1234 567890"
        },
        "mobile": {
            "country": "GB",
            "number": "7000 123123"
        },
        "address": {
            "line1": "The Christies",
            "line2": "5 Wherry Quay",
            "line3": "",
            "city": "Ipswich",
            "state": "",
            "postcode": "IP4 1AS",
            "country": "GB",
            "latitude": "52.052777",
            "longitude": "1.160864",
            "formatted": ""
        },
        "social": {
            "facebook": "",
            "instagram": "",
            "linkedin": "",
            "twitter": "",
            "tiktok": "",
            "youtube": "",
            "whatsapp": ""
        },
        "localisation": {
            "language": "en",
            "currency": "GBP",
            "currency_symbol": "£",
            "timezone": "Europe/London",
            "distance": "m",
            "measurement": "m",
            "date_format": "d/m/Y",
            "time_format": "H:i:s"
        },
        "tax": {
            "name": "VAT"
        },
        "finance": {
            "enabled": true,
            "fca_number": "123456"
        },
        "opening_hours": {
            "standard": {
                "mon": [
                    {
                        "open": "09:00",
                        "close": "17:30"
                    }
                ],
                "sun": []
            },
            "booking": {
                "mon": [
                    {
                        "open": "09:00",
                        "close": "17:30"
                    }
                ],
                "sun": []
            },
            "delivery": {
                "mon": [
                    {
                        "open": "09:00",
                        "close": "17:30"
                    }
                ],
                "sun": []
            },
            "collection": {
                "mon": [
                    {
                        "open": "09:00",
                        "close": "17:30"
                    }
                ],
                "sun": []
            },
            "appointment_only": [
                "wed"
            ],
            "irregular": [
                {
                    "date": "2026-12-25",
                    "repeat": "annual",
                    "closed": true,
                    "hours": [
                        {
                            "open": "09:00",
                            "close": "17:30"
                        }
                    ]
                }
            ]
        }
    }
}
```
