Noona Marketplace API (0.0.3958)

Overview

Noona provides a powerful REST(y) API that focuses on simplicity and clarity.

  • All API requests must be made over HTTPS. Calls made over plain HTTP will be redirected to HTTPS.

Base Path

https://api.noona.is

The Marketplace API allows various 'customer' interactions with the companies in the Noona ecosystem.

Example user: An individual seeking a haircut.

User

Everything about the logged in marketplace user.

Verify phone number

Verifies a phone number by sending a unique code to it.

The code is then used in conjuction with the phone number to create a new user or verify an existing one.

This endpoint can also be used to verify phone numbers of users that have authenticated with external identity providers.

Request Body schema: application/json
phone_number
string
phone_country_code
string

Responses

Request samples

Content type
application/json
{
  • "phone_number": "8124132",
  • "phone_country_code": "354"
}

Response samples

Content type
application/json
{
  • "next_retry_at": "2022-01-01T00:00:00Z"
}

Creates a new user

Creates a new user with a verified phone number.

query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
phone_number
string
phone_country_code
string
verification_code
string

Responses

Request samples

Content type
application/json
{
  • "phone_number": "8124132",
  • "phone_country_code": "354",
  • "verification_code": "123456"
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "name": "string",
  • "phone_number": "string",
  • "phone_country_code": "44 (for UK)",
  • "phone_number_verified": true,
  • "favorite_companies": [
    ],
  • "push_token": {
    },
  • "kennitala": "string",
  • "email": "string",
  • "email_verified": true,
  • "license_plate": "string",
  • "token": "string",
  • "locale": {
    },
  • "device_info": {
    },
  • "created_at": 1631558908,
  • "updated_at": 1631558908
}

Get user

Gets current marketplace user, inferred from token.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "name": "string",
  • "phone_number": "string",
  • "phone_country_code": "44 (for UK)",
  • "phone_number_verified": true,
  • "favorite_companies": [
    ],
  • "push_token": {
    },
  • "kennitala": "string",
  • "email": "string",
  • "email_verified": true,
  • "license_plate": "string",
  • "token": "string",
  • "locale": {
    },
  • "device_info": {
    },
  • "created_at": 1631558908,
  • "updated_at": 1631558908
}

Update user

Updates current marketplace user, inferred from token.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
name
string
favorite_companies
Array of strings
object (PushToken)
kennitala
string

Icelandic SSN

email
string
license_plate
string
object (LocaleForUser)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "favorite_companies": [
    ],
  • "push_token": {
    },
  • "kennitala": "string",
  • "email": "string",
  • "license_plate": "string",
  • "locale": {
    },
  • "device_info": {
    }
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "name": "string",
  • "phone_number": "string",
  • "phone_country_code": "44 (for UK)",
  • "phone_number_verified": true,
  • "favorite_companies": [
    ],
  • "push_token": {
    },
  • "kennitala": "string",
  • "email": "string",
  • "email_verified": true,
  • "license_plate": "string",
  • "token": "string",
  • "locale": {
    },
  • "device_info": {
    },
  • "created_at": 1631558908,
  • "updated_at": 1631558908
}

Login with auth provider

Logs in a marketplace user with Apple or Google Sign-In ID token

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
provider
required
string <enum> (SocialLoginProvider)
Enum: "google" "apple"
id_token
required
string
name
string

Responses

Request samples

Content type
application/json
{
  • "provider": "google",
  • "id_token": "eyJhbGciOi",
  • "name": "John Doe"
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "name": "string",
  • "phone_number": "string",
  • "phone_country_code": "44 (for UK)",
  • "phone_number_verified": true,
  • "favorite_companies": [
    ],
  • "push_token": {
    },
  • "kennitala": "string",
  • "email": "string",
  • "email_verified": true,
  • "license_plate": "string",
  • "token": "string",
  • "locale": {
    },
  • "device_info": {
    },
  • "created_at": 1631558908,
  • "updated_at": 1631558908
}

Verify email

Verify email with a token from the verification email.

query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
token
required
string

Responses

Request samples

Content type
application/json
{
  • "token": "AwxswpSz06iTefog91MMAG6X9fS7ZOsPwO7NMa5"
}

Response samples

Content type
application/json
{
  • "type": "generic_error",
  • "message": "Time slot is not available."
}

List user companies

Lists companies that have some association with the user.

Companies the user has favorites or has booked events at.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)
object (UserCompaniesFilter)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List user categories

Lists categories that the user has booked in.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
object (UserCategoriesFilter)

Responses

Response samples

Content type
application/json
{}

Customers

A customer is the HQ view of a marketplace user.

List customers

Lists customers that user has ties with at company.

Authorizations:
Marketplace-Authentication
path Parameters
company_id
required
string

Company ID

query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Cards

Cards are debit/credit cards that a marketplace user has saved for future use.

List cards

Lists the cards of a marketplace user.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a card

Creates a card for a marketplace user.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
pan
required
string
expiry_month
required
string
expiry_year
required
string
cvc
required
string
method
required
string <enum>
Value: "Card"
return_url
required
string

If provided, the user is redirected to this URL after the payment is processed.

This is required for 3D Secure payments.

channel
required
string (PaymentChannel)
Enum: "iOS" "Android" "Web"
cardholder_name
string
temporary
boolean

Whether the card is temporary or not. A temporary card is only valid for a short amount of time and can only be used once.

save_card
boolean

Whether the card should be saved for future use.

If the card is saved, it can be used for future payments without having to enter the card details again.

object (PaymentBrowserInformation)
three_ds2_sdk_version
string
PARes
string

The PARes parameter from the 3D Secure flow.

CRes
string

The CRes parameter from the 3D Secure flow.

Responses

Request samples

Content type
application/json
{
  • "method": "Card",
  • "cardholder_name": "Dee Hock",
  • "pan": "1564854695481453",
  • "expiry_month": "02",
  • "expiry_year": "02",
  • "cvc": "070",
  • "temporary": true,
  • "save_card": true,
  • "return_url": "string",
  • "browser_information": {
    },
  • "channel": "iOS",
  • "three_ds2_sdk_version": "string",
  • "PARes": "string",
  • "CRes": "string"
}

Response samples

Content type
application/json
{
  • "method": "Card",
  • "id": "7awdXwZoedakjad37a",
  • "cardholder_name": "Dee Hock",
  • "masked_pan": "1564854695481453",
  • "expiry_month": "02",
  • "expiry_year": "02",
  • "temporary": true,
  • "type": "visa",
  • "provider": "teya",
  • "save_card": true,
  • "return_url": "string",
  • "channel": "iOS",
  • "three_ds2_sdk_version": "string",
  • "PARes": "string",
  • "CRes": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

Retrieve card

Gets card with specified ID.

Authorizations:
Marketplace-Authentication
path Parameters
card_id
required
string

Card ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "method": "Card",
  • "id": "7awdXwZoedakjad37a",
  • "cardholder_name": "Dee Hock",
  • "masked_pan": "1564854695481453",
  • "expiry_month": "02",
  • "expiry_year": "02",
  • "temporary": true,
  • "type": "visa",
  • "provider": "teya",
  • "save_card": true,
  • "return_url": "string",
  • "channel": "iOS",
  • "three_ds2_sdk_version": "string",
  • "PARes": "string",
  • "CRes": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

Delete card

Deletes card with specified ID.

Authorizations:
Marketplace-Authentication
path Parameters
card_id
required
string

Card ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "type": "generic_error",
  • "message": "Time slot is not available."
}

Payments

Payments are the result of a marketplace user paying for a service.

List user payments

Lists the payments of a marketplace user.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)
object (PaymentFilter)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get user payment

Gets payment with ID.

Authorizations:
Marketplace-Authentication
path Parameters
payment_id
required
string

Payment ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "company": "string",
  • "user": "string",
  • "currency": "ISK",
  • "amount": 10000,
  • "status": "refunded",
  • "provider": "teya",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete user payment

Deletes payment with ID.

It is only possible to delete pending payments that have not yet been processed.

Authorizations:
Marketplace-Authentication
path Parameters
payment_id
required
string

Payment ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "type": "generic_error",
  • "message": "Time slot is not available."
}

Pay for pending payment

Pays for a pending payment.

It is only possible to pay for pending payments that have not yet been processed.

Authorizations:
Marketplace-Authentication
path Parameters
payment_id
required
string

Payment ID

query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
SavedCard (object) or Card (object) or GooglePay (object) or ApplePay (object) or ActionResult (object) (PaymentInformation)

Responses

Request samples

Content type
application/json
{
  • "payment": {
    }
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "company": "string",
  • "user": "string",
  • "currency": "ISK",
  • "amount": 10000,
  • "status": "refunded",
  • "provider": "teya",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

List payment methods

List available payment methods for a company.

Authorizations:
Marketplace-Authentication
path Parameters
company_id
required
string

Company ID

query Parameters
select
Array of strings
expand
Array of strings
channel
string (PaymentChannel)
Enum: "iOS" "Android" "Web"

Payment channel

object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Request an Apple Pay Payment Session

Requests an Apple Pay Payment Session.

The session is required for Apple Pay on web.

path Parameters
company_id
required
string

Company ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "data": "dGhlIGFwcGxlIHBheSBzZXNzaW9uIHBheWxvYWQ="
}

Receive 3ds callback

Receives a 3ds callback from Teya.

query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
pares
string

The pares parameter from the 3D Secure flow.

cres
string

The cres parameter from the 3D Secure flow.

threeDSSessionData
string

The MD data from the 3D Secure flow is in the attribute.

Responses

Request samples

Content type
application/json
{
  • "pares": "string",
  • "cres": "string",
  • "threeDSSessionData": "string"
}

Response samples

Content type
application/json
{
  • "type": "generic_error",
  • "message": "Time slot is not available."
}

Vouchers

Vouchers are purchased through the marketplace and can be used to pay for a service at an enterprise.

List vouchers

Lists the vouchers of a marketplace user.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)
object (VoucherFilter)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a voucher

Creates a voucher for a marketplace user.

There are two voucher types that are supported:

  • Amount
  • Service

company and payment are always required fields. But depending on the voucher type, additional fields are required.


Amount

Amount vouchers represent a monetary value that can be used to pay for services at a company.

The following fields are required when creating an amount voucher:

  • amount - The amount of the voucher.
  • currency - The currency of the voucher.

Service (event_type)

Service vouchers represent a service that can be redeemed at a company.

The following fields are required when creating a service voucher:

  • voucher_template - The voucher template ID. This is the template that will be used to create the voucher.
Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
required
SavedCard (object) or Card (object) or GooglePay (object) or ApplePay (object) or ActionResult (object) (PaymentInformation)
required
Company ID (string) or Company (object)
currency
string
amount
number <double>
ID (string) or VoucherTemplate (object) (ExpandableVoucherTemplate)
any (VoucherData)
color
string
message
string
is_gift
boolean
phone_country_code
string
phone_number
string

If a phone number is provided, it receives news of the newly created voucher.

This keeps the original owner, while send_to_user transfers it to a different user.

object (Phone)
email
string

If an email is provided, it receives news of the newly created voucher.

ID (string) or User (object) (ExpandableUser)
bought_by
string

ID of the user who bought the voucher.

Responses

Request samples

Content type
application/json
{
  • "currency": "ISK",
  • "amount": 3990,
  • "voucher_template": "string",
  • "data": {
    },
  • "color": "#0f0f0f",
  • "message": "You deserve to relax a bit!",
  • "is_gift": true,
  • "phone_country_code": "354",
  • "phone_number": "7134124",
  • "send_to_user": {
    },
  • "email": "test@testy.is",
  • "user": "string",
  • "company": "7awdXwZoedakjad37a",
  • "payment": {
    },
  • "bought_by": "7awdXwZoedakjad37a"
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "currency": "ISK",
  • "amount": 3990,
  • "voucher_template": "string",
  • "data": {
    },
  • "color": "#0f0f0f",
  • "message": "You deserve to relax a bit!",
  • "is_gift": true,
  • "code": "A328DB",
  • "phone_country_code": "354",
  • "phone_number": "7134124",
  • "send_to_user": {
    },
  • "email": "test@testy.is",
  • "user": "string",
  • "company": "7awdXwZoedakjad37a",
  • "expiration": "2022-08-24T14:15:22Z",
  • "payment_information": {
    },
  • "fully_used": true,
  • "original_owner": true,
  • "bought_by": "7awdXwZoedakjad37a",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve voucher

Gets voucher with specified ID.

Authorizations:
Marketplace-Authentication
path Parameters
voucher_id
required
string

Voucher ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "currency": "ISK",
  • "amount": 3990,
  • "voucher_template": "string",
  • "data": {
    },
  • "color": "#0f0f0f",
  • "message": "You deserve to relax a bit!",
  • "is_gift": true,
  • "code": "A328DB",
  • "phone_country_code": "354",
  • "phone_number": "7134124",
  • "send_to_user": {
    },
  • "email": "test@testy.is",
  • "user": "string",
  • "company": "7awdXwZoedakjad37a",
  • "expiration": "2022-08-24T14:15:22Z",
  • "payment_information": {
    },
  • "fully_used": true,
  • "original_owner": true,
  • "bought_by": "7awdXwZoedakjad37a",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Send a voucher notification

Sends a voucher notification to the specified recipients.

If send_to_user is provided, voucher ownership will be transferred to the user.

Authorizations:
Marketplace-Authentication
path Parameters
voucher_id
required
string

Voucher ID

Request Body schema: application/json
phone_country_code
string
phone_number
string

If a phone number is provided, it receives news of the newly created voucher.

email
string

If an email is provided, it receives news of the newly created voucher.

object (Phone)

Responses

Request samples

Content type
application/json
{
  • "phone_country_code": "354",
  • "phone_number": "7134124",
  • "email": "test@testy.is",
  • "send_to_user": {
    }
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "currency": "ISK",
  • "amount": 3990,
  • "voucher_template": "string",
  • "data": {
    },
  • "color": "#0f0f0f",
  • "message": "You deserve to relax a bit!",
  • "is_gift": true,
  • "code": "A328DB",
  • "phone_country_code": "354",
  • "phone_number": "7134124",
  • "send_to_user": {
    },
  • "email": "test@testy.is",
  • "user": "string",
  • "company": "7awdXwZoedakjad37a",
  • "expiration": "2022-08-24T14:15:22Z",
  • "payment_information": {
    },
  • "fully_used": true,
  • "original_owner": true,
  • "bought_by": "7awdXwZoedakjad37a",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Suggestions

Suggestions are user specific suggestions - based on trivial things like booking history etc.

Get suggested company type

Returns a suggested company type based on the user's location, booking history and behavior.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)

Responses

Response samples

Content type
application/json
{}

List suggested vouchers

Returns a list of suggested vouchers based on the user's location, booking history and behavior.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List suggested companies

Returns a list of suggested companies based on the user's location, booking history and behavior.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Recommendations

Recommendations are user specific recommendations - based on machine learning algorithms and models.

List trending companies

Returns a list of trending companies based on the user's location, booking history and behavior.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
full_list
boolean
Default: false

Return full list of trending companies. Including competitors to companies user has booked at.

object (TrendingCompaniesFilter)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List recommended categories

Returns a list of recommended categories based on the user's location, booking history and behavior.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (Pagination)
object (UserLocation)
object (RecommendedCategoriesFilter)

Responses

Response samples

Content type
application/json
{}

List recommended companies

Returns a list of recommended companies tailored to the user.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
object (Pagination)
object (RecommendedCompaniesFilter)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List suggested quick booking searches

Returns a list of suggested quick booking searches based on the user's location, booking history and behavior.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
header Parameters
Accept-Language
string
Example: is

The language to return quick booking searches suggestions in.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Enterprises

An enterprise is an umbrella entity which purpose is maintaining a relation between multiple companies.

List enterprises

Retrieves all enterprises, and their companies, accessible on the Noona marketplace.

Navigation of the data; filtering, sorting, pagination etc. is based on the company.

Using this endpoint opposed to /companies has the advantage of returning companies grouped within their respective enterprises.

query Parameters
select
Array of strings
expand
Array of strings
object (CompanyFilter)
object (CompanySort)
object (Pagination)
search
string
sort_by
string
Deprecated
Enum: "popular" "distance"

Use sort instead.

lat
number <double>
Deprecated

Use filter instead.

lng
number <double>
Deprecated

Use filter instead.

radius
integer <int64>
Deprecated
Default: 100000

Use filter instead.

enterprise_ids
Array of strings
Deprecated
Example: enterprise_ids=te7da9wd8ua28a1ab&enterprise_ids=xa7da9wd8ua01a134

Use filter instead.

company_type_id
string
Deprecated

Use filter instead.

limit_companies
integer <int64>
Deprecated

Use pagination object instead.

skip_companies
integer <int64>
Deprecated

Use pagination object instead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve an enterprise

Retrieves an enterprise from its url_name (slug).

path Parameters
url_name
required
string
Example: big_barber_shops

The urlname (slug) of the enterprise to retrieve.

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "aqmzX9Cm5tekKecsA",
  • "companies": [
    ],
  • "connections": {
    },
  • "profile": {},
  • "favorites": 0
}

Companies

Companies are individual service providers such as Hair salons, Chiropractors and Veterinarians.

List companies

Retrieves all companies accessible on the Noona marketplace.

query Parameters
select
Array of strings
expand
Array of strings
object (CompanyFilter)
object (CompanySort)
object (Pagination)
search
string
sort_by
string
Deprecated
Enum: "popular" "distance"

Use sort instead.

lat
number <double>
Deprecated

Use filter instead.

lng
number <double>
Deprecated

Use filter instead.

radius
integer <int64>
Deprecated
Default: 100000

Use filter instead.

company_type_id
string
Deprecated

Use filter instead.

enterprise_id
string
Deprecated
Example: enterprise_id=7awdXawZoolkjad37a

Use filter instead.

limit
integer <int64>
Deprecated

Use pagination object instead.

skip
integer <int64>
Deprecated

Use pagination object instead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a company

Retrieves a company type from its url_name (slug).

path Parameters
url_name
required
string
Example: john_salon

The urlname (slug) of the company to retrieve.

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7dj29KiAE1wdjw731",
  • "vertical": "appointment",
  • "enterprise": "string",
  • "profile": {},
  • "connections": {
    },
  • "no_show_enabled": true,
  • "most_recently_visited_company": true,
  • "locale": {
    },
  • "relative_location": {
    },
  • "payment_provider": "teya"
}

List company opening hours

Lists opening hours of a company.

path Parameters
company_id
required
string
Example: dwawd8awudawd
query Parameters
select
Array of strings
expand
Array of strings
object (OpeningHourFilter)

Filtering

Date range must be less than a year.

Responses

Response samples

Content type
application/json
{
  • "2020-08-24": [
    ]
}

List companies for map

Retrieves all companies accessible on the Noona marketplace for map view.

The response is optimized for map view.

query Parameters
select
Array of strings
expand
Array of strings
object (MapCompanyFilter)
search
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Categories

Categories are used to group and categorize companies.

List all company types

List all company types and metadata about company types.

Providing a latitude and longitude causes results to be specific to the relevant country.

query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)
lat
number <double>

Longitude

lng
number <double>

Latitude

Responses

Response samples

Content type
application/json
{}

Retrieve a company type

Retrieves a company type by ID.

path Parameters
company_type_id
required
string
Example: aw7da9wd8ua28a821
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{}

List all service types

List all service types and metadata about service types.

query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
{}

Retrieve a service type

Retrieves a service type by ID.

path Parameters
service_type_id
required
string
Example: aw7da9wd8ua28a821
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{}

List cuisines

Lists available cuisines.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
{}

Get cuisine

Gets cuisine from ID.

Authorizations:
Marketplace-Authentication
path Parameters
cuisine_id
required
string
Example: dwawd8awudawd
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{}

Get cuisine by readable ID

Gets cuisine from readable ID.

Authorizations:
Marketplace-Authentication
path Parameters
readable_id
required
string
Example: asian
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{}

List dietaies

Lists available dietaries.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
{}

Get dietary

Gets dietary from ID.

Authorizations:
Marketplace-Authentication
path Parameters
dietary_id
required
string
Example: dwawd8awudawd
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{}

Get dietary by readable ID

Gets dietary from readable ID.

Authorizations:
Marketplace-Authentication
path Parameters
readable_id
required
string
Example: vegan
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{}

List ambiences

Lists available ambiences.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
{}

Get ambience

Gets ambience from ID.

Authorizations:
Marketplace-Authentication
path Parameters
ambience_id
required
string
Example: dwawd8awudawd
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{}

Get ambience by readable ID

Gets ambience from readable ID.

Authorizations:
Marketplace-Authentication
path Parameters
readable_id
required
string
Example: cozy
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{}

Employees

Employees are individuals that perform services at a given company.

Search employees

Searches employees across all companies accessible on the Noona marketplace.

query Parameters
select
Array of strings
expand
Array of strings
object (UserLocation)
search
string
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List employees

Lists employees at a given company.

path Parameters
company_id
required
string
Example: aw7da9wd8ua28a821

Company ID

query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)
object (EmployeeFilter)
event_type_ids
Array of strings
Deprecated
Example: event_type_ids=te7da9wd8ua28a1ab&event_type_ids=xa7da9wd8ua01a134

Use filter object instead.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get employee

Get employee with ID at a given company.

path Parameters
company_id
required
string
Example: aw7da9wd8ua28a821

Company ID

employee_id
required
string
Example: pe7da9wd8ua28a114

Employee ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7dj29KiAE1wdjw731",
  • "profile": {},
  • "marketplace": true,
  • "event_type_preferences": [
    ],
  • "exclude_from_randomization_pool": true,
  • "bookable": "bookable",
  • "verification": {
    },
  • "deleted_at": "2019-08-24T14:15:22Z"
}

Spaces

Spaces are areas where services are performed at a given company.

List spaces

Lists spaces at a given company.

path Parameters
company_id
required
string
Example: aw7da9wd8ua28a821

Company ID

query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)
object (SpaceFilter)

Responses

Response samples

Content type
application/json
[]

Get space

Get space with ID at a given company.

path Parameters
space_id
required
string
Example: pe7da9wd8ua28a114

Employee ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{}

Event Types

Event Types describe the different services a company offers.

Search event types

Searches event types across all companies accessible on the Noona marketplace.

query Parameters
select
Array of strings
expand
Array of strings
search
string
object (EventTypeSearchFilter)
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List event types

Retrieves all event types for a company.

path Parameters
company_id
required
string

Company ID

query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)
object (EventTypeFilter)
employee_id
string
Deprecated

Use filter instead

event_type_ids
Array of strings
Deprecated
Example: event_type_ids=te7da9wd8ua28a1ab&event_type_ids=xa7da9wd8ua01a134

Use filter instead

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get event type

Gets event type with specified ID.

path Parameters
event_type_id
required
string

Event Type ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "title": "Men's haircut",
  • "company": "string",
  • "minutes": 30,
  • "description": "30 minute men's haircut",
  • "min_guests_per_booking": 0,
  • "max_guests_per_booking": 0,
  • "thumb": "api.noona.is/static/haircut.png",
  • "images": [],
  • "variations": [
    ],
  • "price_ranges": [
    ],
  • "connections": {
    },
  • "payments": {
    },
  • "pending_payment_details": {
    },
  • "pending_payment_details_required": {
    },
  • "pending_payment_details_full": {
    },
  • "relative_location": {
    },
  • "created_at": 1631558908,
  • "updated_at": 1631558908,
  • "deleted_at": "2019-08-24T14:15:22Z"
}

List event types and groups

Retrieves all event types for a company in their respective groups.

If a marketplace user token is passed in an event type group, which lists previous event types the user has booked, will be generated and returned.

path Parameters
company_id
required
string

Company ID

query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)
object (EventTypeFilter)
employee_id
string
Deprecated

Use filter instead

event_type_ids
Array of strings
Deprecated
Example: event_type_ids=te7da9wd8ua28a1ab&event_type_ids=xa7da9wd8ua01a134

Use filter instead

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Event Type Categories

Event Type Categories are used to group and categorize event types.

This is useful since a company might call a haircut a Haircut and another company might call it a Hair styling.

List event type categories

Lists event type categories.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
header Parameters
Accept-Language
string
Example: is

The language to return event type categories in.

It is also possible to query for all languages by passing in "*".

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Events

Events are the center point of our whole system.

A haircut that an HQ user performs on some marketplace user at a specified time is an event.

List events

Lists events for marketplace user.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)
object (EventFilter)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an event

Creates an event for marketplace user from a time slot reservation.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
time_slot_reservation
required
string

The time slot reservation ID.

number_of_guests
integer <int32>

Number of guests for the event.

customer_name
string
ssn
string
email
string
license_plate
string
phone_country_code
string
phone_number
string
Array of objects (LegacyBookingQuestions)
Deprecated

This schema is deprecated. Use booking_question_answers instead.

Array of objects (BookingQuestionAnswers)
comment
string
origin
string
channel
string
source
string
partner
string

The identifier for the partner system that created the event.

no_show_acknowledged
boolean
Array of objects (VariationSelections)

The variations selected for the event type in a time slot reservation.

The total quantity of all variation selections must match the number of guests.

booking_for_other
boolean

Whether the booking is for someone else.

When true a customer ID can be passed in to use an existing customer.

When false the default customer for this marketplace user at the specific company will be used, if one does not exist a new customer will be created.

customer
string

When booking for other. The customer ID of the person being booked for.

If a customer ID is not provided, a new customer will be created.

SavedCard (object) or Card (object) or GooglePay (object) or ApplePay (object) or ActionResult (object) (PaymentInformation)
Array of VoucherPayment (object) or VoucherTemplatePayment (object) (PaymentIntents)

Responses

Request samples

Content type
application/json
{
  • "time_slot_reservation": "7awdXwZoedakjad37a",
  • "starts_at": "2019-08-24T14:15:22Z",
  • "number_of_guests": 1,
  • "customer_name": "John Doe",
  • "ssn": "0101011234",
  • "email": "example@example.com",
  • "license_plate": "ABC123",
  • "phone_country_code": "354",
  • "phone_number": "7771122",
  • "booking_questions": [
    ],
  • "booking_question_answers": [
    ],
  • "comment": "I have blonde hair",
  • "origin": "online",
  • "channel": "google maps",
  • "source": "quick bookings",
  • "partner": "string",
  • "no_show_acknowledged": false,
  • "event_types": [
    ],
  • "variation_selections": [
    ],
  • "status": "cancelled",
  • "cancel_reason": "I'm sick and can't make it",
  • "employee": "string",
  • "space": "string",
  • "company": "string",
  • "booking_for_other": false,
  • "customer": "7awdXwZoedakjad37a",
  • "payment_information": {
    },
  • "payment": "string",
  • "payment_intents": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "time_slot_reservation": "7awdXwZoedakjad37a",
  • "starts_at": "2019-08-24T14:15:22Z",
  • "ends_at": "2019-08-24T14:15:22Z",
  • "duration": 60,
  • "number_of_guests": 1,
  • "customer_name": "John Doe",
  • "ssn": "0101011234",
  • "email": "example@example.com",
  • "license_plate": "ABC123",
  • "phone_country_code": "354",
  • "phone_number": "7771122",
  • "booking_questions": [
    ],
  • "booking_question_answers": [
    ],
  • "comment": "I have blonde hair",
  • "origin": "online",
  • "channel": "google maps",
  • "source": "quick bookings",
  • "partner": "string",
  • "no_show_acknowledged": false,
  • "event_types": [
    ],
  • "variation_selections": [
    ],
  • "confirmed": true,
  • "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
  • "employee": "string",
  • "space": "string",
  • "company": "string",
  • "specific_employee_requested": true,
  • "specific_space_requested": true,
  • "payments": {
    },
  • "payment": "string",
  • "payment_intents": [
    ],
  • "pending_payment_details": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve an event

Retrieves an event for marketplace user.

Authorizations:
Marketplace-Authentication
path Parameters
event_id
required
string
Example: dwawd8awudawd

Event ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "time_slot_reservation": "7awdXwZoedakjad37a",
  • "starts_at": "2019-08-24T14:15:22Z",
  • "ends_at": "2019-08-24T14:15:22Z",
  • "duration": 60,
  • "number_of_guests": 1,
  • "customer_name": "John Doe",
  • "ssn": "0101011234",
  • "email": "example@example.com",
  • "license_plate": "ABC123",
  • "phone_country_code": "354",
  • "phone_number": "7771122",
  • "booking_questions": [
    ],
  • "booking_question_answers": [
    ],
  • "comment": "I have blonde hair",
  • "origin": "online",
  • "channel": "google maps",
  • "source": "quick bookings",
  • "partner": "string",
  • "no_show_acknowledged": false,
  • "event_types": [
    ],
  • "variation_selections": [
    ],
  • "confirmed": true,
  • "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
  • "employee": "string",
  • "space": "string",
  • "company": "string",
  • "specific_employee_requested": true,
  • "specific_space_requested": true,
  • "payments": {
    },
  • "payment": "string",
  • "payment_intents": [
    ],
  • "pending_payment_details": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update an event

Updates an event for marketplace user.

If employee and space are not provided, new employee and space will be selected at random for the new time.

If the intent is to only move between resources (employee or space) and not change the time, starts_at will have to be passed in as the current value.

If the intent is to only change number of guests, starts_at will have to be passed in as the current value.

Authorizations:
Marketplace-Authentication
path Parameters
event_id
required
string
Example: dwawd8awudawd

Event ID

query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
starts_at
string <date-time>
number_of_guests
integer <int32>

Number of guests for the event.

Array of objects (LegacyBookingQuestions)
Deprecated

This schema is deprecated. Use booking_question_answers instead.

Array of objects (BookingQuestionAnswers)
source
string
partner
string

The identifier for the partner system that created the event.

Array of objects (VariationSelections)

The variations selected for the event type in a time slot reservation.

The total quantity of all variation selections must match the number of guests.

status
string <enum>
Value: "cancelled"

The status of the event. Cancelled events are not returned in list of events.

cancel_reason
string

Should be provided if the status is being updated to cancelled.

ID (string) or Employee (object) (ExpandableEmployee)
ID (string) or Space (object) (ExpandableSpace)

Responses

Request samples

Content type
application/json
{
  • "time_slot_reservation": "7awdXwZoedakjad37a",
  • "starts_at": "2019-08-24T14:15:22Z",
  • "number_of_guests": 1,
  • "customer_name": "John Doe",
  • "ssn": "0101011234",
  • "email": "example@example.com",
  • "license_plate": "ABC123",
  • "phone_country_code": "354",
  • "phone_number": "7771122",
  • "booking_questions": [
    ],
  • "booking_question_answers": [
    ],
  • "comment": "I have blonde hair",
  • "origin": "online",
  • "channel": "google maps",
  • "source": "quick bookings",
  • "partner": "string",
  • "no_show_acknowledged": false,
  • "event_types": [
    ],
  • "variation_selections": [
    ],
  • "status": "cancelled",
  • "cancel_reason": "I'm sick and can't make it",
  • "employee": "string",
  • "space": "string",
  • "company": "string",
  • "booking_for_other": false,
  • "customer": "7awdXwZoedakjad37a",
  • "payment_information": {
    },
  • "payment": "string",
  • "payment_intents": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "time_slot_reservation": "7awdXwZoedakjad37a",
  • "starts_at": "2019-08-24T14:15:22Z",
  • "ends_at": "2019-08-24T14:15:22Z",
  • "duration": 60,
  • "number_of_guests": 1,
  • "customer_name": "John Doe",
  • "ssn": "0101011234",
  • "email": "example@example.com",
  • "license_plate": "ABC123",
  • "phone_country_code": "354",
  • "phone_number": "7771122",
  • "booking_questions": [
    ],
  • "booking_question_answers": [
    ],
  • "comment": "I have blonde hair",
  • "origin": "online",
  • "channel": "google maps",
  • "source": "quick bookings",
  • "partner": "string",
  • "no_show_acknowledged": false,
  • "event_types": [
    ],
  • "variation_selections": [
    ],
  • "confirmed": true,
  • "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
  • "employee": "string",
  • "space": "string",
  • "company": "string",
  • "specific_employee_requested": true,
  • "specific_space_requested": true,
  • "payments": {
    },
  • "payment": "string",
  • "payment_intents": [
    ],
  • "pending_payment_details": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Send a notification for an event

Sends an event notification to the specified recipient.

Authorizations:
Marketplace-Authentication
path Parameters
event_id
required
string
Example: dwawd8awudawd

Event ID

Request Body schema: application/json
email
string

Send an email notification to this email address about event.

Responses

Request samples

Content type
application/json
{
  • "email": "test@testy.is"
}

Validate event data

Validates data gathered in the booking/event-creation flow.

Authorizations:
Marketplace-Authentication
path Parameters
id
required
string

Company ID

Request Body schema: application/json
name
string
phone_country_code
string
phone_number
string
license_plate
string
ssn
string
email
string

Responses

Request samples

Content type
application/json
{
  • "name": "Johnny The Second",
  • "phone_country_code": "354",
  • "phone_number": "7134124",
  • "license_plate": "df302",
  • "ssn": "1302782649",
  • "email": "some@email.com"
}

Response samples

Content type
application/json
{
  • "name": "",
  • "phone_country_code": "",
  • "phone_number": "",
  • "license_plate": "",
  • "ssn": "",
  • "email": ""
}

Time Slots

Time Slots are points in time when a company can provide a specified service.

List time slots

Gets all available tima slots for company based on filter.

Either event_type_ids or event_id must be provided.

Capacity is the number of customers in booking.

path Parameters
id
required
string
Example: aw7da9wd8ua28a821

Company ID

query Parameters
start_date
required
string
Example: start_date=2021-01-01
end_date
required
string
Example: end_date=2021-01-31
select
Array of strings
expand
Array of strings
employee_id
string
Example: employee_id=8a1da9wd8ua28aa9d
space_id
string
Example: space_id=ea7da9wd8ua28a134
event_type_ids
Array of strings
Example: event_type_ids=te7da9wd8ua28a1ab&event_type_ids=xa7da9wd8ua01a134
event_id
string
Example: event_id=xa7da9wd8ua01a134
capacity
integer <int32>
Default: 1
Example: capacity=5
type
string
Default: "available"
Enum: "available" "unavailable" "all"

Filter by type of time slots to return.

available will only return slots with resources available.

unavailable will only return slots with resources unavailable.

all will return all slots.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List multiple time slots

Gets all available tima slots for company based on filter for multiple event types.

This endpoint allows for fetching time slots for multiple event types at once. Opposed to /time_slots which only allows for fetching time slots for a single event type.

If event_id is provided, event_type_ids will be ignored and the event type of the event will be used.

path Parameters
id
required
string
Example: aw7da9wd8ua28a821

Company ID

query Parameters
start_date
required
string
Example: start_date=2021-01-01
end_date
required
string
Example: end_date=2021-01-31
select
Array of strings
expand
Array of strings
employee_id
string
Example: employee_id=8a1da9wd8ua28aa9d
space_id
string
Example: space_id=ea7da9wd8ua28a134
event_type_ids
Array of strings
Example: event_type_ids=te7da9wd8ua28a1ab&event_type_ids=xa7da9wd8ua01a134
event_id
string
Example: event_id=xa7da9wd8ua01a134
capacity
integer <int32>
Default: 1
Example: capacity=5
type
string
Default: "available"
Enum: "available" "unavailable" "all"

Filter by type of time slots to return.

available will only return slots with resources available.

unavailable will only return slots with resources unavailable.

all will return all slots.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create time slot reservation

Creates a time slot reservation for a specific event type at a company.

The reservation can then be used to create an event.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
ID (string) or Company (object) (ExpandableCompany)
Array of ID (string) or EventType (object) (ExpandableEventType)
Array of objects (VariationSelections)

The variations selected for the event type in a time slot reservation.

The total quantity of all variation selections must match the number of guests.

number_of_guests
integer <int32>

The total number of guests to book for.

starts_at
string <date-time>
ID (string) or Employee (object) (ExpandableEmployee)
ID (string) or Space (object) (ExpandableSpace)
Array of objects (BookingQuestionAnswers)
ID (string) or BookingOffer (object) (ExpandableBookingOffer)
Array of VoucherPayment (object) or VoucherTemplatePayment (object) (PaymentIntents)
payment_type
string <enum>
Default: "full"
Enum: "required" "full"

What to do with payment when creating an event.

required - Only pay the required amount in advance.

full - Pay the full amount in advance.

phone_country_code
string
phone_number
string

Responses

Request samples

Content type
application/json
{
  • "company": "string",
  • "event_types": [
    ],
  • "variation_selections": [
    ],
  • "number_of_guests": 10,
  • "starts_at": "2019-08-24T14:15:22Z",
  • "employee": "string",
  • "space": "string",
  • "booking_question_answers": [
    ],
  • "booking_offer": "string",
  • "payment_intents": [
    ],
  • "payment_type": "full",
  • "phone_country_code": 354,
  • "phone_number": "string"
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "company": "string",
  • "event_types": [
    ],
  • "variation_selections": [
    ],
  • "number_of_guests": 10,
  • "time_zone": "Atlantic/Reykjavik",
  • "starts_at": "2019-08-24T14:15:22Z",
  • "ends_at": "2019-08-24T14:15:22Z",
  • "employee": "string",
  • "space": "string",
  • "booking_question_answers": [
    ],
  • "booking_offer": "string",
  • "payments": {
    },
  • "payment_intents": [
    ],
  • "payment_type": "full",
  • "pending_payment_details": {
    },
  • "pending_payment_details_required": {
    },
  • "pending_payment_details_full": {
    },
  • "expires_at": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get time slot reservation

Gets a time slot reservation.

Authorizations:
Marketplace-Authentication
path Parameters
time_slot_reservation_id
required
string
Example: dwawd8awudawd
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "company": "string",
  • "event_types": [
    ],
  • "variation_selections": [
    ],
  • "number_of_guests": 10,
  • "time_zone": "Atlantic/Reykjavik",
  • "starts_at": "2019-08-24T14:15:22Z",
  • "ends_at": "2019-08-24T14:15:22Z",
  • "employee": "string",
  • "space": "string",
  • "booking_question_answers": [
    ],
  • "booking_offer": "string",
  • "payments": {
    },
  • "payment_intents": [
    ],
  • "payment_type": "full",
  • "pending_payment_details": {
    },
  • "pending_payment_details_required": {
    },
  • "pending_payment_details_full": {
    },
  • "expires_at": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update time slot reservation

Updates a time slot reservation.

Authorizations:
Marketplace-Authentication
path Parameters
time_slot_reservation_id
required
string
Example: dwawd8awudawd
query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
Array of objects (VariationSelections)

The variations selected for the event type in a time slot reservation.

The total quantity of all variation selections must match the number of guests.

phone_country_code
string
phone_number
string
Array of objects (BookingQuestionAnswers)
Array of VoucherPayment (object) or VoucherTemplatePayment (object) (PaymentIntents)
payment_type
string <enum>
Default: "full"
Enum: "required" "full"

What to do with payment when creating an event.

required - Only pay the required amount in advance.

full - Pay the full amount in advance.

Responses

Request samples

Content type
application/json
{
  • "variation_selections": [
    ],
  • "phone_country_code": 354,
  • "phone_number": "string",
  • "booking_question_answers": [
    ],
  • "payment_intents": [
    ],
  • "payment_type": "full"
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "company": "string",
  • "event_types": [
    ],
  • "variation_selections": [
    ],
  • "number_of_guests": 10,
  • "time_zone": "Atlantic/Reykjavik",
  • "starts_at": "2019-08-24T14:15:22Z",
  • "ends_at": "2019-08-24T14:15:22Z",
  • "employee": "string",
  • "space": "string",
  • "booking_question_answers": [
    ],
  • "booking_offer": "string",
  • "payments": {
    },
  • "payment_intents": [
    ],
  • "payment_type": "full",
  • "pending_payment_details": {
    },
  • "pending_payment_details_required": {
    },
  • "pending_payment_details_full": {
    },
  • "expires_at": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete time slot reservation

Deletes a time slot reservation.

Authorizations:
Marketplace-Authentication
path Parameters
time_slot_reservation_id
required
string
Example: dwawd8awudawd
query Parameters
select
Array of strings
expand
Array of strings

Responses

List speedy slots for appointment vertical

Lists speedy slots, availble for booking, for a specific event type at a company.

The returned companies are solely within the appointment vertical.

Authorizations:
Marketplace-Authentication
query Parameters
start_date
required
string
Example: start_date=2022-11-01
end_date
required
string
Example: end_date=2022-11-03
required
object (SpeedySlotsSearchFilter)
select
Array of strings
expand
Array of strings
search
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List speedy tables for restaurant vertical

Lists speedy slots, availble for booking, for a specific event type (experience) at a company.

The returned companies are solely within the restaurant vertical.

Authorizations:
Marketplace-Authentication
query Parameters
start_date
required
string
Example: start_date=2022-11-01
end_date
required
string
Example: end_date=2022-11-03
required
object (SpeedyTablesSearchFilter)
select
Array of strings
expand
Array of strings
capacity
integer <int32>
Default: 1
Example: capacity=5

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Voucher Templates

Voucher templates are predefined templates that enable a fast creation of vouchers.

List all voucher templates

Lists all voucher templates.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (ListAllVoucherTemplatesFilter)
object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List voucher templates

Lists the voucher templates of a company.

Authorizations:
Marketplace-Authentication
path Parameters
company_id
required
string

Company ID

query Parameters
select
Array of strings
expand
Array of strings
object (VoucherTemplateFilter)
object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get voucher template

Gets a voucher template.

Authorizations:
Marketplace-Authentication
path Parameters
voucher_template_id
required
string

Voucher Template ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "type": "amount",
  • "title": "Voucher for the men's haircut",
  • "description": "Please note that the voucher is only valid between 10:00 and 14:00, Monday to Friday.",
  • "marketplace_description": "A short form description displayed on the Noona marketplace.",
  • "event_type": "string",
  • "variation_id": "7awdXwZoedakjad37a",
  • "company": "string",
  • "number_of_guests": 2,
  • "currency": "ISK",
  • "amount": 10000,
  • "value": 12500,
  • "expiration_months_after_purchase": 12,
  • "images": [],
  • "preview_image": {},
  • "primary_color": "#0f0f0f",
  • "sessions_total": 5,
  • "is_promoted": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Waitlists

Waitlist are a way to manage a queue of users waiting for a service.

Create waitlist entry

Creates a waitlist entry at a company.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
Request Body schema: application/json
required
ID (string) or Company (object)
required
Array of (ID (string) or EventType (string)) or (ID (object) or EventType (object))
name
string

The name of the person on the waitlist entry.

Only needed if the waitlist entry is not created by an authenticated marketplace user.

email
string

The email of the person on the waitlist entry.

Only needed if the waitlist entry is not created by an authenticated marketplace user.

phone_country_code
string

The country code of the phone number of the person on the waitlist entry.

Only needed if the waitlist entry is not created by an authenticated marketplace user.

phone_number
string

The phone number of the person on the waitlist entry.

Only needed if the waitlist entry is not created by an authenticated marketplace user.

ID (string) or Employee (object) (ExpandableEmployee)
ID (string) or Resource (object) (ExpandableResource)
number_of_guests
integer <int32>

Number of guests for the event.

notes
string
Array of objects (PreferredTimes)
expires_at
string <date-time>
Deprecated

The date and time when the waitlist entry expires.

Responses

Request samples

Content type
application/json
{
  • "name": "John Doe",
  • "email": "john.doe@example.com",
  • "phone_country_code": "354",
  • "phone_number": "12345678",
  • "company": "string",
  • "event_types": [
    ],
  • "employee": "string",
  • "resource": "string",
  • "number_of_guests": 1,
  • "notes": "I can only make it after noon",
  • "preferred_times": [
    ],
  • "expires_at": "2024-10-08T11:00:00Z"
}

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "company": "string",
  • "event_types": [
    ],
  • "employee": "string",
  • "resource": "string",
  • "number_of_guests": 1,
  • "notes": "I can only make it after noon",
  • "preferred_times": [
    ],
  • "expires_at": "2024-10-08T11:00:00Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

List waitlist entries

Lists all waitlist entries for user.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (WaitlistFilter)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get waitlist entry

Get a waitlist entry by ID.

Authorizations:
Marketplace-Authentication
path Parameters
waitlist_entry_id
required
string

Waitlist Entry ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "company": "string",
  • "event_types": [
    ],
  • "employee": "string",
  • "resource": "string",
  • "number_of_guests": 1,
  • "notes": "I can only make it after noon",
  • "preferred_times": [
    ],
  • "expires_at": "2024-10-08T11:00:00Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete waitlist entry

Deletes a waitlist entry by ID.

Authorizations:
Marketplace-Authentication
path Parameters
waitlist_entry_id
required
string

Waitlist Entry ID

query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "type": "generic_error",
  • "message": "Time slot is not available."
}

Booking Offers

Booking offers are suggestions made to a marketplace user for a specific service at a specific time.

List booking offers

Lists booking offers for the marketplace user.

Authorizations:
Marketplace-Authentication
query Parameters
select
Array of strings
expand
Array of strings
object (Sort)
object (Pagination)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get booking offer

Retrieves a specific booking offer by ID.

Authorizations:
Marketplace-Authentication
path Parameters
booking_offer_id
required
string
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "id": "7awdXwZoedakjad37a",
  • "company": "string",
  • "employee": "string",
  • "time_slot_reservation": "string",
  • "waitlist_entry": "string",
  • "is_desired_time": true,
  • "message": "We have an opening for your requested service!",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete booking offer

Deletes a specific booking offer by ID.

Authorizations:
Marketplace-Authentication
path Parameters
booking_offer_id
required
string
query Parameters
select
Array of strings
expand
Array of strings

Responses

Response samples

Content type
application/json
{
  • "type": "generic_error",
  • "message": "Time slot is not available."
}