API

Create a resource

Creates a resource for a company.

POST/v1/hq/resources
AuthorizationBearer <token>

The Noona HQ API uses Bearer token for authentication.

Endpoints that return generic information that does not contain sensitive data do not require authentication. Endpoints that require authentication are specifically marked in the documentation.

Authorization: Bearer your-token

In: header

Query Parameters

select?array<string>
expand?array<string>

Request Body

application/json

id?string
Example"7dj29KiAE1wdjw731"
company?string|
resource_group?|string
type?string
Formatenum
Value in"space" | "table" | "table_combination"
name?string
Example"Table 1"
name_translations?

A map of translations for a given attribute.

The key is the language code, and the value is the translated string.

Example{ "is": "King Accounting tenging", "fr": "Connexion King Accounting" }
description?string
Example"A good window view"
description_translations?

A map of translations for a given attribute.

The key is the language code, and the value is the translated string.

Example{ "is": "King Accounting tenging", "fr": "Connexion King Accounting" }
priority?string

Controls the priority of the resource when being randomly selected in the booking process.

Formatenum
Value in"normal" | "high"
image?
reference_id?string

The reference ID of the resource.

Example"1234567890"
marketplace?boolean

If true, resource is visible on the marketplace.

Exampletrue
available_for_bookings?boolean

Whether the resource is visible on the calendar

Exampletrue
booking_interval?integer

Booking interval in minutes.

Dictates how often customers can book events with employee or resource.

A booking interval of 15 would render results like: 10:00 10:15 10:30.

A booking interval is set on the company level but can be overridden on the resource/employee level.

Default15
Formatint32
Value in5 | 10 | 15 | 20 | 30 | 45 | 50 | 60 | 75 | 90 | 105 | 120 | 160 | 180 | 240
Example15
order?integer

The order of the resource in the list of resources on the marketplace and in the HQ UI.

Formatint32
Example1
min_capacity?integer

The mininum capacity of the resource, for example how many people can occupy a table at minimum.

Formatint32
Example1
max_capacity?integer

The maximum capacity of the resource, for example how many people can occupy a table at maximum.

Formatint32
Example2
allow_overlapping_bookings?boolean

If true, multiple bookings per timeslot is allowed for this resource.

Examplefalse
sub_resources?array<string>
event_type_preferences?

Response Body

application/json

curl -X POST "https://api.noona.is/v1/hq/resources" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "7dj29KiAE1wdjw731",
  "company": "string",
  "resource_group": {
    "id": "7awdXwZoedakjad37a",
    "company": "string",
    "resources": [
      {
        "id": "7dj29KiAE1wdjw731",
        "company": "string",
        "resource_group": {
          "id": "string"
        },
        "type": "space",
        "name": "Table 1",
        "name_translations": {
          "is": "King Accounting tenging",
          "fr": "Connexion King Accounting"
        },
        "description": "A good window view",
        "description_translations": {
          "is": "King Accounting tenging",
          "fr": "Connexion King Accounting"
        },
        "priority": "normal",
        "image": {
          "thumb": "https://placekitten.com/200/200",
          "image": "https://placekitten.com/200/300",
          "public_id": "https://placekitten.com/200/300",
          "type": "thumbnail",
          "provider": "cloudinary",
          "width": 200,
          "height": 300,
          "bytes": 95849
        },
        "reference_id": "1234567890",
        "marketplace": true,
        "available_for_bookings": true,
        "booking_interval": 15,
        "order": 1,
        "min_capacity": 1,
        "max_capacity": 2,
        "allow_overlapping_bookings": false,
        "sub_resources": [
          "string"
        ],
        "event_type_preferences": [
          {
            "event_type": "string",
            "skip": false,
            "skip_calendar": false,
            "skip_marketplace": false,
            "has_custom_duration": false,
            "custom_duration": {
              "duration": 60,
              "before_pause": 25,
              "pause": 10,
              "after_pause": 25
            }
          }
        ],
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z"
      }
    ],
    "title": "Lunch",
    "order": 1,
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  },
  "type": "space",
  "name": "Table 1",
  "name_translations": {
    "is": "King Accounting tenging",
    "fr": "Connexion King Accounting"
  },
  "description": "A good window view",
  "description_translations": {
    "is": "King Accounting tenging",
    "fr": "Connexion King Accounting"
  },
  "priority": "normal",
  "image": {
    "thumb": "https://placekitten.com/200/200",
    "image": "https://placekitten.com/200/300",
    "public_id": "https://placekitten.com/200/300",
    "type": "thumbnail",
    "provider": "cloudinary",
    "width": 200,
    "height": 300,
    "bytes": 95849
  },
  "reference_id": "1234567890",
  "marketplace": true,
  "available_for_bookings": true,
  "booking_interval": 15,
  "order": 1,
  "min_capacity": 1,
  "max_capacity": 2,
  "allow_overlapping_bookings": false,
  "sub_resources": [
    "string"
  ],
  "event_type_preferences": [
    {
      "event_type": "string",
      "skip": false,
      "skip_calendar": false,
      "skip_marketplace": false,
      "has_custom_duration": false,
      "custom_duration": {
        "duration": 60,
        "before_pause": 25,
        "pause": 10,
        "after_pause": 25
      }
    }
  ],
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}