Noona provides a powerful REST(y) API that focuses on simplicity and clarity.
Base Path
https://api.noona.is
The HQ API controls individual companies. A developer writing a plugin for individual hair salons would do so using the HQ API.
Example user: A hair saloon.
Retrieve the enterprise entity of the current company.
select | Array of strings |
expand | Array of strings |
{- "id": "aqmzX9Cm5tekKecsA",
- "companies": [
- "string"
], - "connections": {
- "available_on_marketplace": true,
- "url_name": "noonacuts",
- "allows_booking_without_auth": true,
- "marketplace": {
- "enable_vouchers": true
}, - "vouchers": {
- "enabled": true,
- "settlement_account_id": "wda8wud9a8wuddopk"
}
}, - "profile": {
- "name": "Noonacuts",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
}
}
Updates the enterprise containing the users active company.
select | Array of strings |
expand | Array of strings |
object (EnterpriseConnections) | |
object (EnterpriseProfile) |
{- "connections": {
- "available_on_marketplace": true,
- "url_name": "noonacuts",
- "allows_booking_without_auth": true,
- "marketplace": {
- "enable_vouchers": true
}, - "vouchers": {
- "enabled": true,
- "settlement_account_id": "wda8wud9a8wuddopk"
}
}, - "profile": {
- "name": "Noonacuts",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
}
}
{- "id": "aqmzX9Cm5tekKecsA",
- "companies": [
- "string"
], - "connections": {
- "available_on_marketplace": true,
- "url_name": "noonacuts",
- "allows_booking_without_auth": true,
- "marketplace": {
- "enable_vouchers": true
}, - "vouchers": {
- "enabled": true,
- "settlement_account_id": "wda8wud9a8wuddopk"
}
}, - "profile": {
- "name": "Noonacuts",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
}
}
Lists all companies for an enterprise
enterprise_id required | string Enterprise ID |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "QwYwhN8HH2CaFtwiW",
- "vertical": "appointment",
- "enterprise": "string",
- "name": "Noonacuts",
- "phone_country_code": "string",
- "phone_number": "string",
- "profile": {
- "store_name": "John's Hair Salon",
- "description": "string",
- "favorites": 0,
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "cover_images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "phone_country_code": "354",
- "phone_number": "5885522",
- "contact_email": "string",
- "max_bookable_future_days": 0,
- "min_booking_notice_minutes": 0,
- "min_reschedule_notice_hours": 0,
- "min_cancel_notice_hours": 0,
- "booking_interval": 15,
- "service_buffer": 0,
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "max_guests_per_interval": 0,
- "max_same_time_arrival": 0,
- "prefer_12_hours": true,
- "required_fields": {
- "kennitala": true,
- "email": true
}, - "license_plate": true,
- "web_auth_opt_out": true,
- "exceed_max_guests_message": "string",
- "booking_success_message": "string",
- "booking_redirect_url": "string",
- "company_types": [
- "string"
], - "cuisines": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "dietaries": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "ambiences": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "opening_hours": [
- {
- "opens_at": "08:00",
- "closes_at": "18:00",
- "is_closed": true
}
], - "store_opens_at": 8,
- "store_closes_at": 18,
- "price_category": 3
}, - "marketplace": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled": true,
- "visible": true,
- "url_name": "noonacuts",
- "email_notification": true,
- "allow_booking_without_confirmation": true,
- "allow_booking_over_cancelled_events": true,
- "allow_booking_multiple_services": true,
- "waitlist_enabled": true,
- "booking_offer_expiry_minutes": 1440,
- "booking_offer_message": "Your spot is available! Please book within the next 24 hours."
}, - "messaging": {
- "show_booking_ends_at": true
}, - "location": {
- "google_place_id": "string",
- "address": {
- "city": "string",
- "postalCode": "string",
- "street": "string",
- "region": "string",
- "locality": "string",
- "country": "string"
}, - "formatted_address": "string",
- "lat_lng": {
- "lat": 0,
- "lng": 0
}, - "country": {
- "short_name": "IS",
- "long_name": "Iceland"
}, - "time_zone": "Atlantic/Reykjavik"
}, - "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
}, - "locale": {
- "ui_language": "en",
- "messaging_language": "en"
}, - "checkin": {
- "success_message": "Thank you for visiting us!"
}, - "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "payment_fees": {
- "event": 0.019,
- "paylink": 0.019,
- "voucher": 0.05
}, - "vouchers": {
- "enabled": true,
- "amount_vouchers_enabled": true
}, - "pos": {
- "name_on_invoices": "Monsters inc.",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "initial_invoice_number": 1,
- "eac_code": "string",
- "vat_number": "123456",
- "default_vat": "string",
- "kennitala": "1234567890",
- "checkout_first_tab": "products"
}, - "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "signup": {
- "completed": true,
- "company_size": "solo"
}, - "last_active_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Lists the settlement accounts of an enterprise.
enterprise_id required | string Enterprise ID |
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "Main account",
- "description": "I want all the money here!",
- "ssn": "0503205160",
- "bank": "0542",
- "book": "02",
- "account": "220865",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Retrieves settlement account of an enterprise with ID.
enterprise_id required | string Enterprise ID |
settlement_account_id required | string Settlement Account ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "name": "Main account",
- "description": "I want all the money here!",
- "ssn": "0503205160",
- "bank": "0542",
- "book": "02",
- "account": "220865",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists the settlement accounts of a user.
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "Main account",
- "description": "I want all the money here!",
- "ssn": "0503205160",
- "bank": "0542",
- "book": "02",
- "account": "220865",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Payments are created by the marketplace when a customer pays for an event, voucher or product.
Payments are bulked and sent to an enterprise as a settlement.
Creates a new payment for a company.
The only payment creation supported through the HQ API is a no-show payment where the following payload is required:
event
- An ID reference to the event for which the payment is being created.
reason
- A string describing the reason for the payment, in this case noshow.
select | Array of strings |
expand | Array of strings |
reason required | string <enum> Value: "noshow" |
event required | string |
{- "reason": "noshow",
- "event": "7awdXwZoedakjad37a"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "marketplace_user": "string",
- "customer": "string",
- "employee": "string",
- "event": "string",
- "status": "refunded",
- "reason": "voucher",
- "currency": "ISK",
- "amount": 10000,
- "settles_to_employee": true,
- "settled_to": "John The Cutter",
- "settlement": "7awdXwZoedakjad37a",
- "refunded_at": "2019-08-24T14:15:22Z",
- "settled_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists the payments for a company.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (PaymentFilter) | |
object (Sort) | |
object (Pagination) | |
search | string |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "marketplace_user": "string",
- "customer": "string",
- "employee": "string",
- "event": "string",
- "status": "refunded",
- "reason": "voucher",
- "currency": "ISK",
- "amount": 10000,
- "settles_to_employee": true,
- "settled_to": "John The Cutter",
- "settlement": "7awdXwZoedakjad37a",
- "refunded_at": "2019-08-24T14:15:22Z",
- "settled_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Get a payment.
payment_id required | string Payment ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "marketplace_user": "string",
- "customer": "string",
- "employee": "string",
- "event": "string",
- "status": "refunded",
- "reason": "voucher",
- "currency": "ISK",
- "amount": 10000,
- "settles_to_employee": true,
- "settled_to": "John The Cutter",
- "settlement": "7awdXwZoedakjad37a",
- "refunded_at": "2019-08-24T14:15:22Z",
- "settled_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Update a payment.
payment_id required | string Payment ID |
select | Array of strings |
expand | Array of strings |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or MarketplaceUser (object) (ExpandableMarketplaceUser) | |
ID (string) or Customer (object) (ExpandableCustomer) | |
ID (string) or Employee (object) (ExpandableEmployee) | |
ID (string) or Event (object) (ExpandableEvent) | |
status | string <enum> (PaymentStatus) Enum: "unsettled" "settled" "refunded" "pending" |
{- "company": "string",
- "marketplace_user": "string",
- "customer": "string",
- "employee": "string",
- "event": "string",
- "status": "refunded"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "marketplace_user": "string",
- "customer": "string",
- "employee": "string",
- "event": "string",
- "status": "refunded",
- "reason": "voucher",
- "currency": "ISK",
- "amount": 10000,
- "settles_to_employee": true,
- "settled_to": "John The Cutter",
- "settlement": "7awdXwZoedakjad37a",
- "refunded_at": "2019-08-24T14:15:22Z",
- "settled_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Sends a payment receipt to the specified email address.
payment_id required | string Payment ID |
select | Array of strings |
expand | Array of strings |
string |
{- "email": "example@example.is"
}
Settlements are the sum of multiple payments that the company has received via different sales channels.
Settlements are transferred to the enterprise's settlement account on a weekly basis.
Lists the settlements for a company.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (SettlementFilter) | |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "transferred_to_enterprise": true,
- "transferred_to_enterprise_at": "2019-08-24T14:15:22Z",
- "line_items": [
- {
- "title": "voucher",
- "quantity": 8,
- "total": 40000,
- "fee": 2000,
- "net_total": 38000
}
], - "total": 40000,
- "fee": 2000,
- "net_total": 38000,
- "settled_to": "John The Cutter",
- "settlement_account": {
- "id": "7awdXwZoedakjad37a",
- "name": "Main account",
- "description": "I want all the money here!",
- "ssn": "0503205160",
- "bank": "0542",
- "book": "02",
- "account": "220865",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "payments_from": "2019-08-24T14:15:22Z",
- "payments_to": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Voucher templates are predefined templates that enable a fast creation of vouchers.
Lists the voucher templates for a company.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (VoucherTemplateFilter) | |
object (Sort) | |
object (Pagination) |
[- {
- "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": "7awdXwZoedakjad37a",
- "number_of_guests": 2,
- "currency": "ISK",
- "amount": 10000,
- "value": 12500,
- "sessions_total": 5,
- "marketplace": true,
- "expiration_months_after_purchase": 12,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "primary_color": "#0f0f0f",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a voucher template for company.
select | Array of strings |
expand | Array of strings |
company required | string |
currency required | string |
amount required | number <double> >= 1 |
type | string Enum: "amount" "service" |
title | string |
description | string |
marketplace_description | string |
ID (string) or EventType (object) | |
variation_id | string The ID of the event type variation that the value of the voucher should be calculated from. |
number_of_guests | integer <int32> Default: 1 The number of people this voucher is valid for. |
value | number <double> |
sessions_total | integer <int32> |
marketplace | boolean If true, voucher is visible on the marketplace. |
expiration_months_after_purchase | integer <int32> Default: 48 |
Array of objects (Images) | |
primary_color | string |
{- "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": "7awdXwZoedakjad37a",
- "number_of_guests": 2,
- "currency": "ISK",
- "amount": 10000,
- "value": 12500,
- "sessions_total": 5,
- "marketplace": true,
- "expiration_months_after_purchase": 12,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "primary_color": "#0f0f0f"
}
{- "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": "7awdXwZoedakjad37a",
- "number_of_guests": 2,
- "currency": "ISK",
- "amount": 10000,
- "value": 12500,
- "sessions_total": 5,
- "marketplace": true,
- "expiration_months_after_purchase": 12,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "primary_color": "#0f0f0f",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Gets a single voucher template.
voucher_template_id required | string Voucher Template ID |
select | Array of strings |
{- "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": "7awdXwZoedakjad37a",
- "number_of_guests": 2,
- "currency": "ISK",
- "amount": 10000,
- "value": 12500,
- "sessions_total": 5,
- "marketplace": true,
- "expiration_months_after_purchase": 12,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "primary_color": "#0f0f0f",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a voucher template at enterprise.
voucher_template_id required | string Voucher Template ID |
select | Array of strings |
type | string Enum: "amount" "service" |
title | string |
description | string |
marketplace_description | string |
number_of_guests | integer <int32> Default: 1 The number of people this voucher is valid for. |
amount | number <double> >= 1 |
value | number <double> |
sessions_total | integer <int32> |
marketplace | boolean If true, voucher is visible on the marketplace. |
expiration_months_after_purchase | integer <int32> Default: 48 |
Array of objects (Images) | |
primary_color | string |
{- "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": "7awdXwZoedakjad37a",
- "number_of_guests": 2,
- "currency": "ISK",
- "amount": 10000,
- "value": 12500,
- "sessions_total": 5,
- "marketplace": true,
- "expiration_months_after_purchase": 12,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "primary_color": "#0f0f0f"
}
{- "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": "7awdXwZoedakjad37a",
- "number_of_guests": 2,
- "currency": "ISK",
- "amount": 10000,
- "value": 12500,
- "sessions_total": 5,
- "marketplace": true,
- "expiration_months_after_purchase": 12,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "primary_color": "#0f0f0f",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Deletes a voucher template at enterprise.
It is only possible to delete voucher templates that have not been used to create vouchers.
voucher_template_id required | string Voucher Template ID |
select | Array of strings |
Vouchers are purchased through the marketplace and can be used to pay for a service at an enterprise.
Lists the vouchers for a company.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (VoucherFilter) | |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "currency": "ISK",
- "amount": 3990,
- "data": {
- "type": "service",
- "sessions_used": 0,
- "sessions_total": 0,
- "event_type_name": "Quicky Haircut",
- "event_type_id": "d0a9w8da09w8dindwa",
- "number_of_guests": 2,
- "voucher_template": "7awdXwZoedakjad37a",
- "voucher_template_amount": 0,
- "voucher_template_value": 0
}, - "code": "A328DB",
- "color": "#0f0f0f",
- "message": "You deserve to relax a bit!",
- "status": "never_used",
- "phone_country_code": "354",
- "phone_number": "7134124",
- "email": "test@testy.is",
- "marketplace_user": "string",
- "customer": "string",
- "company": "string",
- "template": "string",
- "expiration": "2022-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}
]
Retrieves voucher with ID from enterprise.
voucher_id required | string Voucher ID |
select | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "currency": "ISK",
- "amount": 3990,
- "data": {
- "type": "service",
- "sessions_used": 0,
- "sessions_total": 0,
- "event_type_name": "Quicky Haircut",
- "event_type_id": "d0a9w8da09w8dindwa",
- "number_of_guests": 2,
- "voucher_template": "7awdXwZoedakjad37a",
- "voucher_template_amount": 0,
- "voucher_template_value": 0
}, - "code": "A328DB",
- "color": "#0f0f0f",
- "message": "You deserve to relax a bit!",
- "status": "never_used",
- "phone_country_code": "354",
- "phone_number": "7134124",
- "email": "test@testy.is",
- "marketplace_user": "string",
- "customer": "string",
- "company": "string",
- "template": "string",
- "expiration": "2022-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}
Updates a voucher with ID at enterprise.
voucher_id required | string Voucher ID |
select | Array of strings |
unset | Array of strings <enum> (VoucherFields) Items Value: "customer" |
currency | string |
amount | number <double> |
any (VoucherData) | |
color | string |
message | string |
phone_country_code | string |
phone_number | string If a phone number is provided, it receives news of the newly created voucher. |
string If an email is provided, it receives news of the newly created voucher. | |
ID (string) or MarketplaceUser (object) (ExpandableMarketplaceUser) | |
ID (string) or Customer (object) (ExpandableCustomer) | |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or VoucherTemplate (object) (ExpandableVoucherTemplate) |
{- "currency": "ISK",
- "amount": 3990,
- "data": {
- "type": "service",
- "sessions_used": 0,
- "number_of_guests": 2,
- "voucher_template": "7awdXwZoedakjad37a",
- "voucher_template_amount": 0,
- "voucher_template_value": 0
}, - "color": "#0f0f0f",
- "message": "You deserve to relax a bit!",
- "phone_country_code": "354",
- "phone_number": "7134124",
- "email": "test@testy.is",
- "marketplace_user": "string",
- "customer": "string",
- "company": "string",
- "template": "string"
}
{- "id": "7awdXwZoedakjad37a",
- "currency": "ISK",
- "amount": 3990,
- "data": {
- "type": "service",
- "sessions_used": 0,
- "sessions_total": 0,
- "event_type_name": "Quicky Haircut",
- "event_type_id": "d0a9w8da09w8dindwa",
- "number_of_guests": 2,
- "voucher_template": "7awdXwZoedakjad37a",
- "voucher_template_amount": 0,
- "voucher_template_value": 0
}, - "code": "A328DB",
- "color": "#0f0f0f",
- "message": "You deserve to relax a bit!",
- "status": "never_used",
- "phone_country_code": "354",
- "phone_number": "7134124",
- "email": "test@testy.is",
- "marketplace_user": "string",
- "customer": "string",
- "company": "string",
- "template": "string",
- "expiration": "2022-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}
Sends a voucher notification to the specified recipient.
voucher_id required | string Voucher ID |
select | Array of strings |
string Email to send voucher to. |
{- "email": "test@testy.is"
}
Lists all companies user has access to.
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "QwYwhN8HH2CaFtwiW",
- "vertical": "appointment",
- "enterprise": "string",
- "name": "Noonacuts",
- "phone_country_code": "string",
- "phone_number": "string",
- "profile": {
- "store_name": "John's Hair Salon",
- "description": "string",
- "favorites": 0,
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "cover_images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "phone_country_code": "354",
- "phone_number": "5885522",
- "contact_email": "string",
- "max_bookable_future_days": 0,
- "min_booking_notice_minutes": 0,
- "min_reschedule_notice_hours": 0,
- "min_cancel_notice_hours": 0,
- "booking_interval": 15,
- "service_buffer": 0,
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "max_guests_per_interval": 0,
- "max_same_time_arrival": 0,
- "prefer_12_hours": true,
- "required_fields": {
- "kennitala": true,
- "email": true
}, - "license_plate": true,
- "web_auth_opt_out": true,
- "exceed_max_guests_message": "string",
- "booking_success_message": "string",
- "booking_redirect_url": "string",
- "company_types": [
- "string"
], - "cuisines": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "dietaries": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "ambiences": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "opening_hours": [
- {
- "opens_at": "08:00",
- "closes_at": "18:00",
- "is_closed": true
}
], - "store_opens_at": 8,
- "store_closes_at": 18,
- "price_category": 3
}, - "marketplace": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled": true,
- "visible": true,
- "url_name": "noonacuts",
- "email_notification": true,
- "allow_booking_without_confirmation": true,
- "allow_booking_over_cancelled_events": true,
- "allow_booking_multiple_services": true,
- "waitlist_enabled": true,
- "booking_offer_expiry_minutes": 1440,
- "booking_offer_message": "Your spot is available! Please book within the next 24 hours."
}, - "messaging": {
- "show_booking_ends_at": true
}, - "location": {
- "google_place_id": "string",
- "address": {
- "city": "string",
- "postalCode": "string",
- "street": "string",
- "region": "string",
- "locality": "string",
- "country": "string"
}, - "formatted_address": "string",
- "lat_lng": {
- "lat": 0,
- "lng": 0
}, - "country": {
- "short_name": "IS",
- "long_name": "Iceland"
}, - "time_zone": "Atlantic/Reykjavik"
}, - "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
}, - "locale": {
- "ui_language": "en",
- "messaging_language": "en"
}, - "checkin": {
- "success_message": "Thank you for visiting us!"
}, - "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "payment_fees": {
- "event": 0.019,
- "paylink": 0.019,
- "voucher": 0.05
}, - "vouchers": {
- "enabled": true,
- "amount_vouchers_enabled": true
}, - "pos": {
- "name_on_invoices": "Monsters inc.",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "initial_invoice_number": 1,
- "eac_code": "string",
- "vat_number": "123456",
- "default_vat": "string",
- "kennitala": "1234567890",
- "checkout_first_tab": "products"
}, - "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "signup": {
- "completed": true,
- "company_size": "solo"
}, - "last_active_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a new company within the current enterprise. The new company will inherit every needed property not required by the request body definition, from the current active company.
select | Array of strings |
expand | Array of strings |
vertical required | string Enum: "appointment" "restaurant" |
name required | string |
required | object (CompanyProfileCreate) |
required | object (LocationCreate) |
ID (string) or Enterprise (object) (ExpandableEnterprise) | |
object (CompanyMarketplace) | |
object (CompanyMessaging) | |
object (CompanyDefaultCurrency) | |
object (PaymentSettings) | |
object (VoucherSettings) | |
object (POSSettings) | |
last_active_at | string <date-time> |
{- "vertical": "appointment",
- "enterprise": "string",
- "name": "Noonacuts",
- "profile": {
- "description": "string",
- "favorites": 0,
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "cover_images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "phone_country_code": "354",
- "phone_number": "5885522",
- "contact_email": "string",
- "max_bookable_future_days": 0,
- "min_booking_notice_minutes": 0,
- "min_reschedule_notice_hours": 0,
- "min_cancel_notice_hours": 0,
- "booking_interval": 15,
- "service_buffer": 0,
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "max_guests_per_interval": 0,
- "max_same_time_arrival": 0,
- "prefer_12_hours": true,
- "required_fields": {
- "kennitala": true,
- "email": true
}, - "license_plate": true,
- "web_auth_opt_out": true,
- "exceed_max_guests_message": "string",
- "booking_success_message": "string",
- "booking_redirect_url": "string",
- "company_types": [
- "string"
], - "cuisines": [
- {
- "id": "7awdXwZoedakjad37a"
}
], - "dietaries": [
- {
- "id": "7awdXwZoedakjad37a"
}
], - "ambiences": [
- {
- "id": "7awdXwZoedakjad37a"
}
], - "opening_hours": [
- {
- "opens_at": "08:00",
- "closes_at": "18:00",
- "is_closed": true
}
], - "store_opens_at": 8,
- "store_closes_at": 18,
- "price_category": 3
}, - "marketplace": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled": true,
- "visible": true,
- "url_name": "noonacuts",
- "email_notification": true,
- "allow_booking_without_confirmation": true,
- "allow_booking_over_cancelled_events": true,
- "allow_booking_multiple_services": true,
- "waitlist_enabled": true,
- "booking_offer_expiry_minutes": 1440,
- "booking_offer_message": "Your spot is available! Please book within the next 24 hours."
}, - "messaging": {
- "show_booking_ends_at": true
}, - "location": {
- "google_place_id": "string",
- "address": {
- "city": "string",
- "postalCode": "string",
- "street": "string",
- "region": "string",
- "locality": "string",
- "country": "string"
}, - "formatted_address": "string",
- "lat_lng": {
- "lat": 0,
- "lng": 0
}, - "country": {
- "short_name": "IS",
- "long_name": "Iceland"
}, - "time_zone": "Atlantic/Reykjavik"
}, - "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
}, - "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "vouchers": {
- "enabled": true,
- "amount_vouchers_enabled": true
}, - "pos": {
- "name_on_invoices": "Monsters inc.",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "initial_invoice_number": 1,
- "eac_code": "string",
- "vat_number": "123456",
- "default_vat": "string",
- "kennitala": "1234567890",
- "checkout_first_tab": "products"
}, - "last_active_at": "2019-08-24T14:15:22Z"
}
{- "id": "QwYwhN8HH2CaFtwiW",
- "vertical": "appointment",
- "enterprise": "string",
- "name": "Noonacuts",
- "phone_country_code": "string",
- "phone_number": "string",
- "profile": {
- "store_name": "John's Hair Salon",
- "description": "string",
- "favorites": 0,
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "cover_images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "phone_country_code": "354",
- "phone_number": "5885522",
- "contact_email": "string",
- "max_bookable_future_days": 0,
- "min_booking_notice_minutes": 0,
- "min_reschedule_notice_hours": 0,
- "min_cancel_notice_hours": 0,
- "booking_interval": 15,
- "service_buffer": 0,
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "max_guests_per_interval": 0,
- "max_same_time_arrival": 0,
- "prefer_12_hours": true,
- "required_fields": {
- "kennitala": true,
- "email": true
}, - "license_plate": true,
- "web_auth_opt_out": true,
- "exceed_max_guests_message": "string",
- "booking_success_message": "string",
- "booking_redirect_url": "string",
- "company_types": [
- "string"
], - "cuisines": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "dietaries": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "ambiences": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "opening_hours": [
- {
- "opens_at": "08:00",
- "closes_at": "18:00",
- "is_closed": true
}
], - "store_opens_at": 8,
- "store_closes_at": 18,
- "price_category": 3
}, - "marketplace": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled": true,
- "visible": true,
- "url_name": "noonacuts",
- "email_notification": true,
- "allow_booking_without_confirmation": true,
- "allow_booking_over_cancelled_events": true,
- "allow_booking_multiple_services": true,
- "waitlist_enabled": true,
- "booking_offer_expiry_minutes": 1440,
- "booking_offer_message": "Your spot is available! Please book within the next 24 hours."
}, - "messaging": {
- "show_booking_ends_at": true
}, - "location": {
- "google_place_id": "string",
- "address": {
- "city": "string",
- "postalCode": "string",
- "street": "string",
- "region": "string",
- "locality": "string",
- "country": "string"
}, - "formatted_address": "string",
- "lat_lng": {
- "lat": 0,
- "lng": 0
}, - "country": {
- "short_name": "IS",
- "long_name": "Iceland"
}, - "time_zone": "Atlantic/Reykjavik"
}, - "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
}, - "locale": {
- "ui_language": "en",
- "messaging_language": "en"
}, - "checkin": {
- "success_message": "Thank you for visiting us!"
}, - "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "payment_fees": {
- "event": 0.019,
- "paylink": 0.019,
- "voucher": 0.05
}, - "vouchers": {
- "enabled": true,
- "amount_vouchers_enabled": true
}, - "pos": {
- "name_on_invoices": "Monsters inc.",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "initial_invoice_number": 1,
- "eac_code": "string",
- "vat_number": "123456",
- "default_vat": "string",
- "kennitala": "1234567890",
- "checkout_first_tab": "products"
}, - "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "signup": {
- "completed": true,
- "company_size": "solo"
}, - "last_active_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a company by ID.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
ID (string) or Enterprise (object) (ExpandableEnterprise) | |
name | string |
object (CompanyProfile) | |
object (CompanyMarketplace) | |
object (CompanyMessaging) | |
object (Location) | |
object (PaymentSettings) | |
object (VoucherSettings) | |
object (POSSettings) | |
last_active_at | string <date-time> |
{- "vertical": "appointment",
- "enterprise": "string",
- "name": "Noonacuts",
- "profile": {
- "description": "string",
- "favorites": 0,
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "cover_images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "phone_country_code": "354",
- "phone_number": "5885522",
- "contact_email": "string",
- "max_bookable_future_days": 0,
- "min_booking_notice_minutes": 0,
- "min_reschedule_notice_hours": 0,
- "min_cancel_notice_hours": 0,
- "booking_interval": 15,
- "service_buffer": 0,
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "max_guests_per_interval": 0,
- "max_same_time_arrival": 0,
- "prefer_12_hours": true,
- "required_fields": {
- "kennitala": true,
- "email": true
}, - "license_plate": true,
- "web_auth_opt_out": true,
- "exceed_max_guests_message": "string",
- "booking_success_message": "string",
- "booking_redirect_url": "string",
- "company_types": [
- "string"
], - "cuisines": [
- {
- "id": "7awdXwZoedakjad37a"
}
], - "dietaries": [
- {
- "id": "7awdXwZoedakjad37a"
}
], - "ambiences": [
- {
- "id": "7awdXwZoedakjad37a"
}
], - "opening_hours": [
- {
- "opens_at": "08:00",
- "closes_at": "18:00",
- "is_closed": true
}
], - "store_opens_at": 8,
- "store_closes_at": 18,
- "price_category": 3
}, - "marketplace": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled": true,
- "visible": true,
- "url_name": "noonacuts",
- "email_notification": true,
- "allow_booking_without_confirmation": true,
- "allow_booking_over_cancelled_events": true,
- "allow_booking_multiple_services": true,
- "waitlist_enabled": true,
- "booking_offer_expiry_minutes": 1440,
- "booking_offer_message": "Your spot is available! Please book within the next 24 hours."
}, - "messaging": {
- "show_booking_ends_at": true
}, - "location": {
- "google_place_id": "string",
- "address": {
- "city": "string",
- "postalCode": "string",
- "street": "string",
- "region": "string",
- "locality": "string",
- "country": "string"
}, - "formatted_address": "string",
- "lat_lng": {
- "lat": 0,
- "lng": 0
}, - "country": {
- "short_name": "IS",
- "long_name": "Iceland"
}, - "time_zone": "Atlantic/Reykjavik"
}, - "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
}, - "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "vouchers": {
- "enabled": true,
- "amount_vouchers_enabled": true
}, - "pos": {
- "name_on_invoices": "Monsters inc.",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "initial_invoice_number": 1,
- "eac_code": "string",
- "vat_number": "123456",
- "default_vat": "string",
- "kennitala": "1234567890",
- "checkout_first_tab": "products"
}, - "last_active_at": "2019-08-24T14:15:22Z"
}
{- "id": "QwYwhN8HH2CaFtwiW",
- "vertical": "appointment",
- "enterprise": "string",
- "name": "Noonacuts",
- "phone_country_code": "string",
- "phone_number": "string",
- "profile": {
- "store_name": "John's Hair Salon",
- "description": "string",
- "favorites": 0,
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "cover_images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "phone_country_code": "354",
- "phone_number": "5885522",
- "contact_email": "string",
- "max_bookable_future_days": 0,
- "min_booking_notice_minutes": 0,
- "min_reschedule_notice_hours": 0,
- "min_cancel_notice_hours": 0,
- "booking_interval": 15,
- "service_buffer": 0,
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "max_guests_per_interval": 0,
- "max_same_time_arrival": 0,
- "prefer_12_hours": true,
- "required_fields": {
- "kennitala": true,
- "email": true
}, - "license_plate": true,
- "web_auth_opt_out": true,
- "exceed_max_guests_message": "string",
- "booking_success_message": "string",
- "booking_redirect_url": "string",
- "company_types": [
- "string"
], - "cuisines": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "dietaries": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "ambiences": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "opening_hours": [
- {
- "opens_at": "08:00",
- "closes_at": "18:00",
- "is_closed": true
}
], - "store_opens_at": 8,
- "store_closes_at": 18,
- "price_category": 3
}, - "marketplace": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled": true,
- "visible": true,
- "url_name": "noonacuts",
- "email_notification": true,
- "allow_booking_without_confirmation": true,
- "allow_booking_over_cancelled_events": true,
- "allow_booking_multiple_services": true,
- "waitlist_enabled": true,
- "booking_offer_expiry_minutes": 1440,
- "booking_offer_message": "Your spot is available! Please book within the next 24 hours."
}, - "messaging": {
- "show_booking_ends_at": true
}, - "location": {
- "google_place_id": "string",
- "address": {
- "city": "string",
- "postalCode": "string",
- "street": "string",
- "region": "string",
- "locality": "string",
- "country": "string"
}, - "formatted_address": "string",
- "lat_lng": {
- "lat": 0,
- "lng": 0
}, - "country": {
- "short_name": "IS",
- "long_name": "Iceland"
}, - "time_zone": "Atlantic/Reykjavik"
}, - "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
}, - "locale": {
- "ui_language": "en",
- "messaging_language": "en"
}, - "checkin": {
- "success_message": "Thank you for visiting us!"
}, - "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "payment_fees": {
- "event": 0.019,
- "paylink": 0.019,
- "voucher": 0.05
}, - "vouchers": {
- "enabled": true,
- "amount_vouchers_enabled": true
}, - "pos": {
- "name_on_invoices": "Monsters inc.",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "initial_invoice_number": 1,
- "eac_code": "string",
- "vat_number": "123456",
- "default_vat": "string",
- "kennitala": "1234567890",
- "checkout_first_tab": "products"
}, - "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "signup": {
- "completed": true,
- "company_size": "solo"
}, - "last_active_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves company with ID.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
{- "id": "QwYwhN8HH2CaFtwiW",
- "vertical": "appointment",
- "enterprise": "string",
- "name": "Noonacuts",
- "phone_country_code": "string",
- "phone_number": "string",
- "profile": {
- "store_name": "John's Hair Salon",
- "description": "string",
- "favorites": 0,
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "cover_images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "phone_country_code": "354",
- "phone_number": "5885522",
- "contact_email": "string",
- "max_bookable_future_days": 0,
- "min_booking_notice_minutes": 0,
- "min_reschedule_notice_hours": 0,
- "min_cancel_notice_hours": 0,
- "booking_interval": 15,
- "service_buffer": 0,
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "max_guests_per_interval": 0,
- "max_same_time_arrival": 0,
- "prefer_12_hours": true,
- "required_fields": {
- "kennitala": true,
- "email": true
}, - "license_plate": true,
- "web_auth_opt_out": true,
- "exceed_max_guests_message": "string",
- "booking_success_message": "string",
- "booking_redirect_url": "string",
- "company_types": [
- "string"
], - "cuisines": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "dietaries": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "ambiences": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro"
}
], - "opening_hours": [
- {
- "opens_at": "08:00",
- "closes_at": "18:00",
- "is_closed": true
}
], - "store_opens_at": 8,
- "store_closes_at": 18,
- "price_category": 3
}, - "marketplace": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled": true,
- "visible": true,
- "url_name": "noonacuts",
- "email_notification": true,
- "allow_booking_without_confirmation": true,
- "allow_booking_over_cancelled_events": true,
- "allow_booking_multiple_services": true,
- "waitlist_enabled": true,
- "booking_offer_expiry_minutes": 1440,
- "booking_offer_message": "Your spot is available! Please book within the next 24 hours."
}, - "messaging": {
- "show_booking_ends_at": true
}, - "location": {
- "google_place_id": "string",
- "address": {
- "city": "string",
- "postalCode": "string",
- "street": "string",
- "region": "string",
- "locality": "string",
- "country": "string"
}, - "formatted_address": "string",
- "lat_lng": {
- "lat": 0,
- "lng": 0
}, - "country": {
- "short_name": "IS",
- "long_name": "Iceland"
}, - "time_zone": "Atlantic/Reykjavik"
}, - "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
}, - "locale": {
- "ui_language": "en",
- "messaging_language": "en"
}, - "checkin": {
- "success_message": "Thank you for visiting us!"
}, - "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "payment_fees": {
- "event": 0.019,
- "paylink": 0.019,
- "voucher": 0.05
}, - "vouchers": {
- "enabled": true,
- "amount_vouchers_enabled": true
}, - "pos": {
- "name_on_invoices": "Monsters inc.",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "initial_invoice_number": 1,
- "eac_code": "string",
- "vat_number": "123456",
- "default_vat": "string",
- "kennitala": "1234567890",
- "checkout_first_tab": "products"
}, - "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "signup": {
- "completed": true,
- "company_size": "solo"
}, - "last_active_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists opening hours of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (OpeningHourFilter) Date range must be less than a year. | |
object (Sort) | |
object (Pagination) |
{- "2020-08-24": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00"
}, - {
- "starts_at": "18:00",
- "ends_at": "21:00"
}
]
}
Rule sets are used to define the behavior of the system. Multiple rules of the same type can be active at the same time within a single rule set, but but can not overlap.
Multiple rule sets can be active at the same time, in that case the rules take priority according to the overlapping rules chapter below.
List of rules
availability
Specifies when company is open or closed for business. By default a business is closed.
online_bookings
Specifies when company accepts online bookings. Can be tied to specific entities.
max_total_pax
Specifies the maximum number of people that can be booked at the same time.
Overlapping rules
If 2 or more rule sets are active during the same period, the comparison is done in the following order:
The priority
attribute can be used to override the default priority.
Rules with a priority set will always take precedence over rules without a priority set.
Lower priority values take precedence over higher priority values.
Associated Entities
Rules can be divided into two categories:
Entities:
When a rule is tied to entities, it will only affect the entities it is tied to. This is achieved through the following attributes, using resources as an example:
resources
- A list of resource IDs.association
- The association type. Can be either include
or exclude
.Examples
{
resources: ["id-1", "id-2"],
association: "includes",
}
This rule is only applicable to resources with the IDs id-1
and id-2
.
{
resources: ["id-1", "id-2"],
association: "excludes",
}
This rule is applicable to all resources except those with the IDs id-1
and id-2
.
{
resources: [],
association: "excludes",
}
This rule is applicable to all resources.
Interval
The interval of a rule set is defined by the starts_at
and ends_at
attributes.
By default, rules in a set are active in that interval but each rule can overwrite the starts_at and ends_at attributes to define a custom interval.
A rule can however not extend beyond the interval of the rule set.
Lists all rule sets of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (RuleSetFilter) | |
object (Sort) | |
object (Pagination) |
[- {
- "date": "2020-08-24",
- "rrule": "string",
- "rule_set_template_id": "7awdXwZoedakjad37a",
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
], - "future_instance_count": 1,
- "next_instance": "2020-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a rule set for a company.
select | Array of strings |
expand | Array of strings |
required | ID (string) or CompanyResponse (string) |
date required | string The date of the rule set. For recurring rule sets, this is the date where the recurrance rule starts. |
starts_at required | string Start time |
ends_at required | string End time |
rrule | string RRULE string. The dtstart property is ignored, and the date attribute of the rule set is used to define the beginnin of the reccurence. |
rule_set_template_id | string The template that was used to create this rule set |
title | string |
priority | integer <int32> Lower numbers have higher priority. This can be used to explicitly overwrite certain rules on dates where multiple rules apply. |
Array of AvailabilityRule (object) or OnlineBookingsRule (object) or MaxTotalPaxRule (object) or EventTypeDurationRule (object) or PrePaymentRule (object) or CustomMessageRule (object) (Rules) |
{- "date": "2020-08-24",
- "rrule": "string",
- "rule_set_template_id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
]
}
{- "date": "2020-08-24",
- "rrule": "string",
- "rule_set_template_id": "7awdXwZoedakjad37a",
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
], - "future_instance_count": 1,
- "next_instance": "2020-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves information about a rule set.
rule_set_id required | string Rule Set ID |
select | Array of strings |
expand | Array of strings |
{- "date": "2020-08-24",
- "rrule": "string",
- "rule_set_template_id": "7awdXwZoedakjad37a",
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
], - "future_instance_count": 1,
- "next_instance": "2020-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a rule set at a company.
rule_set_id required | string Rule Set ID |
select | Array of strings |
expand | Array of strings |
date | string The date of the rule set. For recurring rule sets, this is the date where the recurrance rule starts. |
rrule | string RRULE string. The dtstart property is ignored, and the date attribute of the rule set is used to define the beginnin of the reccurence. |
title | string |
starts_at | string Start time |
ends_at | string End time |
priority | integer <int32> Lower numbers have higher priority. This can be used to explicitly overwrite certain rules on dates where multiple rules apply. |
Array of AvailabilityRule (object) or OnlineBookingsRule (object) or MaxTotalPaxRule (object) or EventTypeDurationRule (object) or PrePaymentRule (object) or CustomMessageRule (object) (Rules) |
{- "date": "2020-08-24",
- "rrule": "string",
- "rule_set_template_id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
]
}
{- "date": "2020-08-24",
- "rrule": "string",
- "rule_set_template_id": "7awdXwZoedakjad37a",
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
], - "future_instance_count": 1,
- "next_instance": "2020-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists all rule set templates of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
], - "future_instance_count": 1,
- "next_instance": "2020-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a rule set template for a company.
select | Array of strings |
expand | Array of strings |
required | ID (string) or CompanyResponse (string) |
starts_at required | string Start time |
ends_at required | string End time |
title | string |
priority | integer <int32> Lower numbers have higher priority. This can be used to explicitly overwrite certain rules on dates where multiple rules apply. |
Array of AvailabilityRule (object) or OnlineBookingsRule (object) or MaxTotalPaxRule (object) or EventTypeDurationRule (object) or PrePaymentRule (object) or CustomMessageRule (object) (Rules) |
{- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
]
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
], - "future_instance_count": 1,
- "next_instance": "2020-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves information about a rule set template.
rule_set_template_id required | string Rule Set Template ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
], - "future_instance_count": 1,
- "next_instance": "2020-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a rule set template at a company.
rule_set_template_id required | string Rule Set Template ID |
select | Array of strings |
expand | Array of strings |
title | string |
starts_at | string Start time |
ends_at | string End time |
priority | integer <int32> Lower numbers have higher priority. This can be used to explicitly overwrite certain rules on dates where multiple rules apply. |
Array of AvailabilityRule (object) or OnlineBookingsRule (object) or MaxTotalPaxRule (object) or EventTypeDurationRule (object) or PrePaymentRule (object) or CustomMessageRule (object) (Rules) |
{- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
]
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "title": "string",
- "starts_at": "11:00",
- "ends_at": "13:00",
- "priority": 1,
- "rules": [
- {
- "starts_at": "11:00",
- "ends_at": "13:00",
- "type": "availability",
- "open": true
}
], - "future_instance_count": 1,
- "next_instance": "2020-08-24",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves all event types for a company.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
]
Retrieves event type by ID
event_type_id required | string Event Type ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
Updates event type by ID
event_type_id required | string Event Type ID |
select | Array of strings |
expand | Array of strings |
unset | Array of strings <enum> (EventTypeFields) Items Enum: "payments" "buffer_after_service" "min_guests_per_booking" "max_guests_per_booking" "color" |
reference_id | string An ID that can be used to reference the event type in an external system. This ID is not used by Noona and is not guaranteed to be unique. |
company_id | string Deprecated Deprecated, please use company instead |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or EventTypeCategory (object) (ExpandableEventTypeCategory) | |
ID (string) or EventTypeCategoryGroup (object) (ExpandableEventTypeCategoryGroup) | |
title | string |
duration | integer <int32> Duration of the event type |
delay | integer <int32> Delay in minutes from event start time |
beforePause | integer <int32> The event duration before the pause |
pause | integer <int32> The pause duration |
afterPause | integer <int32> The event duration after the pause |
buffer_after_service | integer <int32> How many minutes of buffer the service needs after it ends. This does not affect the duration of the event shown to customers but is considered when calculating timeslots. |
description | string |
min_guests_per_booking | integer <int32> |
max_guests_per_booking | integer <int32> |
thumb | string Deprecated Use images instead. |
image | string Deprecated Use images instead. |
Array of objects (Images) | |
color | string Color code for the event |
overbookable | string <enum> Enum: "not_overbookable" "partially_overbookable" "fully_overbookable" How event is overbookable |
ID (string) or VAT (object) (ExpandableVAT) | |
Array of objects (EventTypeVariations) | |
Array of objects (EventTypePriceRanges) | |
object (EventTypeConnections) | |
custom_payment_settings | boolean Deprecated By providing a payments object this is implicitly By using the unset query parameter and passing in the payments key this is implicitly |
object (PaymentSettings) | |
tax_exemption_reason | string The reason for tax exemption. This is only used if the event type is tax exempt. If the event type is not tax exempt, this field is ignored. |
{- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "tax_exemption_reason": "string"
}
{- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
Creates an event type
select | Array of strings |
expand | Array of strings |
company_id required | string Deprecated Deprecated, please use company instead |
required | ID (string) or VAT (object) (ExpandableVAT) |
title required | string |
duration required | integer <int32> Duration of the event type |
reference_id | string An ID that can be used to reference the event type in an external system. This ID is not used by Noona and is not guaranteed to be unique. |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or EventTypeCategory (object) (ExpandableEventTypeCategory) | |
ID (string) or EventTypeCategoryGroup (object) (ExpandableEventTypeCategoryGroup) | |
delay | integer <int32> Delay in minutes from event start time |
beforePause | integer <int32> The event duration before the pause |
pause | integer <int32> The pause duration |
afterPause | integer <int32> The event duration after the pause |
buffer_after_service | integer <int32> How many minutes of buffer the service needs after it ends. This does not affect the duration of the event shown to customers but is considered when calculating timeslots. |
description | string |
min_guests_per_booking | integer <int32> |
max_guests_per_booking | integer <int32> |
thumb | string Deprecated Use images instead. |
image | string Deprecated Use images instead. |
Array of objects (Images) | |
color | string Color code for the event |
overbookable | string <enum> Enum: "not_overbookable" "partially_overbookable" "fully_overbookable" How event is overbookable |
Array of objects (EventTypeVariations) | |
Array of objects (EventTypePriceRanges) | |
object (EventTypeConnections) | |
custom_payment_settings | boolean Deprecated By providing a payments object this is implicitly By using the unset query parameter and passing in the payments key this is implicitly |
object (PaymentSettings) | |
tax_exemption_reason | string The reason for tax exemption. This is only used if the event type is tax exempt. If the event type is not tax exempt, this field is ignored. |
{- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "tax_exemption_reason": "string"
}
{- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
Event Type Groups are used to group event types into categories. A haircut might, for example, belong to an event type group titled "Haircuts".
Event types can reside in multiple event type groups simultaneously.
Retrieves all event type groups for a company.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "parent_event_type_group": "string",
- "title": "Haircuts",
- "order": 1,
- "is_default_group": true,
- "ordered_event_types": [
- {
- "order": 1,
- "event_type": "string"
}
]
}
]
Retrieves event type group by ID
event_type_group_id required | string Event Type Group ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "parent_event_type_group": "string",
- "title": "Haircuts",
- "order": 1,
- "is_default_group": true,
- "ordered_event_types": [
- {
- "order": 1,
- "event_type": "string"
}
]
}
Event Type Category Groups are top level grouping of event type categoires. An example of event type category group is Barbering and event type categories in that group could be Men's haircut and Beard Trimming.
Lists all even type category groups
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "Barbering"
}
]
Event Type Categories are used to group event types into categories. An example of an event type category is Men's haircut which is in the event type category group Barbering.
Lists all even type categories
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "group": "7awdXwZoedakjad37a",
- "name": "Men's Haircut"
}
]
Employees are the individuals that work at a company and provide services to customers.
An employee is a HQ user in the context of a company. A HQ user can be an employee at multiple companies.
The employee resource describes that company specific data for the HQ user.
Lists all employees of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
search | string |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXawZoolkjad37a",
- "company_id": "98aDWa8da9wda9dwa8",
- "company": "string",
- "name": "Noony Adams",
- "description": "Noony is a great employee",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "email": "example@example.com",
- "email_verified": true,
- "order": 1,
- "marketplace": {
- "enabled": true,
- "booking_interval": 15,
- "prioritized": true,
- "allow_booking_without_confirmation": true,
- "exclude_from_randomization_pool": true,
- "exclude_new_customers": true,
- "pre_payments_enabled": true,
- "own_settlements_allowed": true,
- "own_settlements_preferred": true,
- "own_settlements": true
}, - "notifications": {
- "booking_email": true
}, - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": false,
- "has_custom_duration": false,
- "custom_duration": {
- "duration": 60,
- "before_pause": 25,
- "pause": 10,
- "after_pause": 25
}
}
], - "role": "string",
- "pending_owner_approval": false,
- "available_for_bookings": true,
- "settlement_account": "string",
- "connected_to_teya": true,
- "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "commissions": {
- "pos": {
- "products": {
- "type": "rates",
- "default_rate": 10
}, - "services": {
- "type": "rates",
- "default_rate": 10
}, - "vouchers": {
- "type": "rates",
- "default_rate": 10
}
}, - "calendar": {
- "bookings": {
- "type": "rates",
- "default_rate": 10
}
}
}, - "disabled_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates an employee for a company.
select | Array of strings |
expand | Array of strings |
company_id | string Deprecated Use |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
name | string |
description | string |
object (Image) | |
string | |
order | integer <int32> The order of the employee in the list of employees on the marketplace. |
object (EmployeeMarketplaceSettings) | |
object (EmployeeNotificationSettings) | |
Array of objects (EventTypePreferences) | |
ID (string) or Role (object) (ExpandableRole) | |
available_for_bookings | boolean Whether the employee is visible on the calendar |
object (EmployeeCommissions) | |
disabled_at | string <date-time> |
{- "company_id": "98aDWa8da9wda9dwa8",
- "company": "string",
- "name": "Noony Adams",
- "description": "Noony is a great employee",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "email": "example@example.com",
- "order": 1,
- "marketplace": {
- "enabled": true,
- "booking_interval": 15,
- "prioritized": true,
- "allow_booking_without_confirmation": true,
- "exclude_from_randomization_pool": true,
- "exclude_new_customers": true,
- "pre_payments_enabled": true,
- "own_settlements_allowed": true,
- "own_settlements_preferred": true
}, - "notifications": {
- "booking_email": true
}, - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": false,
- "has_custom_duration": false,
- "custom_duration": {
- "duration": 60,
- "before_pause": 25,
- "pause": 10,
- "after_pause": 25
}
}
], - "role": "string",
- "available_for_bookings": true,
- "settlement_account": "string",
- "commissions": {
- "pos": {
- "products": {
- "type": "rates",
- "default_rate": 10
}, - "services": {
- "type": "rates",
- "default_rate": 10
}, - "vouchers": {
- "type": "rates",
- "default_rate": 10
}
}, - "calendar": {
- "bookings": {
- "type": "rates",
- "default_rate": 10
}
}
}, - "disabled_at": "2019-08-24T14:15:22Z"
}
{- "id": "7awdXawZoolkjad37a",
- "company_id": "98aDWa8da9wda9dwa8",
- "company": "string",
- "name": "Noony Adams",
- "description": "Noony is a great employee",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "email": "example@example.com",
- "email_verified": true,
- "order": 1,
- "marketplace": {
- "enabled": true,
- "booking_interval": 15,
- "prioritized": true,
- "allow_booking_without_confirmation": true,
- "exclude_from_randomization_pool": true,
- "exclude_new_customers": true,
- "pre_payments_enabled": true,
- "own_settlements_allowed": true,
- "own_settlements_preferred": true,
- "own_settlements": true
}, - "notifications": {
- "booking_email": true
}, - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": false,
- "has_custom_duration": false,
- "custom_duration": {
- "duration": 60,
- "before_pause": 25,
- "pause": 10,
- "after_pause": 25
}
}
], - "role": "string",
- "pending_owner_approval": false,
- "available_for_bookings": true,
- "settlement_account": "string",
- "connected_to_teya": true,
- "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "commissions": {
- "pos": {
- "products": {
- "type": "rates",
- "default_rate": 10
}, - "services": {
- "type": "rates",
- "default_rate": 10
}, - "vouchers": {
- "type": "rates",
- "default_rate": 10
}
}, - "calendar": {
- "bookings": {
- "type": "rates",
- "default_rate": 10
}
}
}, - "disabled_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves information about an existing employee.
company_id required | string Example: dwawd8awudawd |
employee_id required | string Employee ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXawZoolkjad37a",
- "company_id": "98aDWa8da9wda9dwa8",
- "company": "string",
- "name": "Noony Adams",
- "description": "Noony is a great employee",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "email": "example@example.com",
- "email_verified": true,
- "order": 1,
- "marketplace": {
- "enabled": true,
- "booking_interval": 15,
- "prioritized": true,
- "allow_booking_without_confirmation": true,
- "exclude_from_randomization_pool": true,
- "exclude_new_customers": true,
- "pre_payments_enabled": true,
- "own_settlements_allowed": true,
- "own_settlements_preferred": true,
- "own_settlements": true
}, - "notifications": {
- "booking_email": true
}, - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": false,
- "has_custom_duration": false,
- "custom_duration": {
- "duration": 60,
- "before_pause": 25,
- "pause": 10,
- "after_pause": 25
}
}
], - "role": "string",
- "pending_owner_approval": false,
- "available_for_bookings": true,
- "settlement_account": "string",
- "connected_to_teya": true,
- "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "commissions": {
- "pos": {
- "products": {
- "type": "rates",
- "default_rate": 10
}, - "services": {
- "type": "rates",
- "default_rate": 10
}, - "vouchers": {
- "type": "rates",
- "default_rate": 10
}
}, - "calendar": {
- "bookings": {
- "type": "rates",
- "default_rate": 10
}
}
}, - "disabled_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates an employee at a company.
Partially implemented, only supports updating:
company_id required | string Example: dwawd8awudawd |
employee_id required | string Example: dwawd8awudawd Employee ID |
select | Array of strings |
expand | Array of strings |
unset | Array of strings <enum> (EmployeeFields) Items Value: "disabled_at" |
company_id | string Deprecated Use |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
name | string |
description | string |
object (Image) | |
string | |
order | integer <int32> The order of the employee in the list of employees on the marketplace. |
object (EmployeeMarketplaceSettings) | |
object (EmployeeNotificationSettings) | |
Array of objects (EventTypePreferences) | |
ID (string) or Role (object) (ExpandableRole) | |
available_for_bookings | boolean Whether the employee is visible on the calendar |
object (EmployeeCommissions) | |
disabled_at | string <date-time> |
{- "company_id": "98aDWa8da9wda9dwa8",
- "company": "string",
- "name": "Noony Adams",
- "description": "Noony is a great employee",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "email": "example@example.com",
- "order": 1,
- "marketplace": {
- "enabled": true,
- "booking_interval": 15,
- "prioritized": true,
- "allow_booking_without_confirmation": true,
- "exclude_from_randomization_pool": true,
- "exclude_new_customers": true,
- "pre_payments_enabled": true,
- "own_settlements_allowed": true,
- "own_settlements_preferred": true
}, - "notifications": {
- "booking_email": true
}, - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": false,
- "has_custom_duration": false,
- "custom_duration": {
- "duration": 60,
- "before_pause": 25,
- "pause": 10,
- "after_pause": 25
}
}
], - "role": "string",
- "available_for_bookings": true,
- "settlement_account": "string",
- "commissions": {
- "pos": {
- "products": {
- "type": "rates",
- "default_rate": 10
}, - "services": {
- "type": "rates",
- "default_rate": 10
}, - "vouchers": {
- "type": "rates",
- "default_rate": 10
}
}, - "calendar": {
- "bookings": {
- "type": "rates",
- "default_rate": 10
}
}
}, - "disabled_at": "2019-08-24T14:15:22Z"
}
{- "id": "7awdXawZoolkjad37a",
- "company_id": "98aDWa8da9wda9dwa8",
- "company": "string",
- "name": "Noony Adams",
- "description": "Noony is a great employee",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "email": "example@example.com",
- "email_verified": true,
- "order": 1,
- "marketplace": {
- "enabled": true,
- "booking_interval": 15,
- "prioritized": true,
- "allow_booking_without_confirmation": true,
- "exclude_from_randomization_pool": true,
- "exclude_new_customers": true,
- "pre_payments_enabled": true,
- "own_settlements_allowed": true,
- "own_settlements_preferred": true,
- "own_settlements": true
}, - "notifications": {
- "booking_email": true
}, - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": false,
- "has_custom_duration": false,
- "custom_duration": {
- "duration": 60,
- "before_pause": 25,
- "pause": 10,
- "after_pause": 25
}
}
], - "role": "string",
- "pending_owner_approval": false,
- "available_for_bookings": true,
- "settlement_account": "string",
- "connected_to_teya": true,
- "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "commissions": {
- "pos": {
- "products": {
- "type": "rates",
- "default_rate": 10
}, - "services": {
- "type": "rates",
- "default_rate": 10
}, - "vouchers": {
- "type": "rates",
- "default_rate": 10
}
}, - "calendar": {
- "bookings": {
- "type": "rates",
- "default_rate": 10
}
}
}, - "disabled_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Resources that might be required for a service. For example, a massage parlor might have a resource called "Massage Room 1".
An Event Type might then require a resource and an employee to be available in order to be bookable at a certain time.
Lists all resources of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
search | string |
object (Sort) | |
object (Pagination) | |
object (ResourcesFilter) |
[- {
- "id": "7dj29KiAE1wdjw731",
- "company": "string",
- "resource_group": "string",
- "type": "space",
- "name": "Table 1",
- "description": "A good window view",
- "priority": "normal",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "marketplace": true,
- "available_for_bookings": true,
- "booking_interval": 15,
- "order": 1,
- "min_capacity": 1,
- "max_capacity": 2,
- "sub_resources": [
- "string"
], - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": 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"
}
]
Creates a resource for a company.
select | Array of strings |
expand | Array of strings |
id | string |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or ResourceGroup (object) (ExpandableResourceGroup) | |
type | string <enum> (ResourceType) Enum: "space" "table" "table_combination" |
name | string |
description | string |
priority | string <enum> (ResourcePriority) Enum: "normal" "high" Controls the priority of the resource when being randomly selected in the booking process. |
object (Image) | |
marketplace | boolean If true, resource is visible on the marketplace. |
available_for_bookings | boolean Whether the resource is visible on the calendar |
booking_interval | integer <int32> (BookingInterval) Default: 5 Enum: 5 10 15 20 30 45 50 60 75 90 120 160 180 Booking interval in minutes. Dictates how often customers can book events with employee or resource. A booking interval of 15 would render results like: A booking interval is set on the company level but can be overridden on the resource/employee level. |
order | integer <int32> The order of the resource in the list of resources on the marketplace and in the HQ UI. |
min_capacity | integer <int32> The mininum capacity of the resource, for example how many people can occupy a table at minimum. |
max_capacity | integer <int32> The maximum capacity of the resource, for example how many people can occupy a table at maximum. |
sub_resources | Array of strings |
Array of objects (EventTypePreferences) |
{- "id": "7dj29KiAE1wdjw731",
- "company": "string",
- "resource_group": "string",
- "type": "space",
- "name": "Table 1",
- "description": "A good window view",
- "priority": "normal",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "marketplace": true,
- "available_for_bookings": true,
- "booking_interval": 15,
- "order": 1,
- "min_capacity": 1,
- "max_capacity": 2,
- "sub_resources": [
- "string"
], - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": false,
- "has_custom_duration": false,
- "custom_duration": {
- "duration": 60,
- "before_pause": 25,
- "pause": 10,
- "after_pause": 25
}
}
]
}
{- "id": "7dj29KiAE1wdjw731",
- "company": "string",
- "resource_group": "string",
- "type": "space",
- "name": "Table 1",
- "description": "A good window view",
- "priority": "normal",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "marketplace": true,
- "available_for_bookings": true,
- "booking_interval": 15,
- "order": 1,
- "min_capacity": 1,
- "max_capacity": 2,
- "sub_resources": [
- "string"
], - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": 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"
}
Retrieves information about an existing resource.
resource_id required | string Resource ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7dj29KiAE1wdjw731",
- "company": "string",
- "resource_group": "string",
- "type": "space",
- "name": "Table 1",
- "description": "A good window view",
- "priority": "normal",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "marketplace": true,
- "available_for_bookings": true,
- "booking_interval": 15,
- "order": 1,
- "min_capacity": 1,
- "max_capacity": 2,
- "sub_resources": [
- "string"
], - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": 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"
}
Updates a resource at a company.
resource_id required | string Example: dwawd8awudawd Refundesource ID |
select | Array of strings |
expand | Array of strings |
id | string |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or ResourceGroup (object) (ExpandableResourceGroup) | |
type | string <enum> (ResourceType) Enum: "space" "table" "table_combination" |
name | string |
description | string |
priority | string <enum> (ResourcePriority) Enum: "normal" "high" Controls the priority of the resource when being randomly selected in the booking process. |
object (Image) | |
marketplace | boolean If true, resource is visible on the marketplace. |
available_for_bookings | boolean Whether the resource is visible on the calendar |
booking_interval | integer <int32> (BookingInterval) Default: 5 Enum: 5 10 15 20 30 45 50 60 75 90 120 160 180 Booking interval in minutes. Dictates how often customers can book events with employee or resource. A booking interval of 15 would render results like: A booking interval is set on the company level but can be overridden on the resource/employee level. |
order | integer <int32> The order of the resource in the list of resources on the marketplace and in the HQ UI. |
min_capacity | integer <int32> The mininum capacity of the resource, for example how many people can occupy a table at minimum. |
max_capacity | integer <int32> The maximum capacity of the resource, for example how many people can occupy a table at maximum. |
sub_resources | Array of strings |
Array of objects (EventTypePreferences) |
{- "id": "7dj29KiAE1wdjw731",
- "company": "string",
- "resource_group": "string",
- "type": "space",
- "name": "Table 1",
- "description": "A good window view",
- "priority": "normal",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "marketplace": true,
- "available_for_bookings": true,
- "booking_interval": 15,
- "order": 1,
- "min_capacity": 1,
- "max_capacity": 2,
- "sub_resources": [
- "string"
], - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": false,
- "has_custom_duration": false,
- "custom_duration": {
- "duration": 60,
- "before_pause": 25,
- "pause": 10,
- "after_pause": 25
}
}
]
}
{- "id": "7dj29KiAE1wdjw731",
- "company": "string",
- "resource_group": "string",
- "type": "space",
- "name": "Table 1",
- "description": "A good window view",
- "priority": "normal",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "marketplace": true,
- "available_for_bookings": true,
- "booking_interval": 15,
- "order": 1,
- "min_capacity": 1,
- "max_capacity": 2,
- "sub_resources": [
- "string"
], - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": 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"
}
Lists all resource groups of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "resources": [
- "string"
], - "title": "Lunch",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a resource group for a company.
select | Array of strings |
expand | Array of strings |
required | ID (string) or CompanyResponse (object) |
title required | string |
Array of ID (string) or Resource (object) (ExpandableResources) | |
order | integer <int32> |
{- "company": "string",
- "resources": [
- "string"
], - "title": "Lunch",
- "order": 1
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "resources": [
- "string"
], - "title": "Lunch",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves information about a resource group.
resource_group_id required | string Resource Group ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "resources": [
- "string"
], - "title": "Lunch",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a resource group at a company.
resource_group_id required | string Resource Group ID |
select | Array of strings |
expand | Array of strings |
Array of ID (string) or Resource (object) | |
title | string |
order | integer <int32> |
{- "company": "string",
- "resources": [
- "string"
], - "title": "Lunch",
- "order": 1
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "resources": [
- "string"
], - "title": "Lunch",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Delete resource group for a company
resource_group_id required | string Resource Group ID |
select | Array of strings |
expand | Array of strings |
{- "message": "Customer onboarding error."
}
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.
Lists events for a company with provided filters.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
from | string <date-time> Deprecated Example: from=2022-09-12T00:00:00Z Use filter instead |
to | string <date-time> Deprecated Example: to=2022-09-19T00:00:00Z Use filter instead |
object (EventFilter) | |
object (Sort) | |
object (Pagination) | |
phone_number | string Deprecated Example: phone_number=8576251 Phone number of customer. Deprecated, use filter instead. |
phone_country_code | string Deprecated Example: phone_country_code=354 Phone country code of customer. Deprecated, use filter instead. |
include_count_header | boolean Default: false Example: include_count_header=true Include count header in response. This is useful when you want to know the total count of events matching a query without fetching all the events. The count header Note that performing a count operation can be expensive and slow, especially for large datasets. |
[- {
- "id": "7awdXwZoedakjad37a",
- "recurring_event": "string",
- "company": "string",
- "employee": "string",
- "customer_name": "Harry Hairlong",
- "customer": "string",
- "number_of_guests": 1,
- "space": "string",
- "resources": [
- "string"
], - "license_plate": "string",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "duration": 30,
- "check_in_at": 1600541746,
- "check_in_origin": "string",
- "event_types": [
- {
- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
], - "variation_selections": [
- {
- "variation_id": "7awdXwZoedakjad37a",
- "event_type_id": "7awdXwZoedakjad37a",
- "quantity": 1
}
], - "invoice_status": "paid",
- "status": "noshow",
- "claim_status": "Paid",
- "origin": "online",
- "channel": "Instagram",
- "source": "bookagain",
- "booking_questions": [
- {
- "question": "What color is your hair?",
- "answer": "Blonde"
}
], - "booking_question_answers": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string",
- "answer": "string"
}
], - "comment": "string",
- "customer_comment": "string",
- "unconfirmed": true,
- "special": true,
- "pinned": true,
- "tags": {
- "birthday": true
}, - "cancel_reason": "I'm sick and can't make it",
- "sale": "string",
- "payment": "string",
- "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "outstanding_no_show_fee": 1000,
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "notification_preferences": {
- "sms": true,
- "email": true,
- "push": true
}, - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "waitlist_entry": "string",
- "booking_offer": "string",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "version": 1,
- "created_by": "string",
- "updated_by": "string",
- "update_origin": "online",
- "accepted_at": "2019-08-24T14:15:22Z",
- "declined_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}
]
Create event for company
select | Array of strings |
expand | Array of strings |
object (EventCreationBehavior) |
ID (string) or Event (object) | |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or Employee (object) (ExpandableEmployee) | |
ID (string) or Customer (object) (ExpandableCustomer) | |
number_of_guests | integer <int32> Number of guests for the event. |
ID (string) or Space (object) Use resource instead | |
Array of ID (string) or Resource (object) (ExpandableResources) | |
license_plate | string License plate for the vehicle associated with this event |
starts_at | string <date-time> Start time of event |
check_in_origin | string |
Array of objects (EventTypes) | |
Array of objects (VariationSelections) The variations selected for the event during booking flow. | |
status | string The status of the event. See Event Statuses for more information. |
claim_status | string <enum> (ClaimStatus) Enum: "Unpaid" "Paid" "InProgress" "CompletedWithErrors" "Cancelled" "SecondaryCollection" "LegalCollection" |
origin | string <enum> (EventOrigin) Enum: "calendar" "online" "app" "import" "secretary" "facebook" "instagram" "tripadvisor" "the_michelin_guide" |
channel | string Where did you come to the app from? (Instagram etc.) So if a user clicks a link on Instagram, that deeplinks into the Noona app - channel should be Instagram. |
source | string Where did the booking come from within the app? (Book again, Quick Book, Search etc.) |
Array of objects (LegacyBookingQuestions) Deprecated This schema is deprecated. Use | |
Array of objects (BookingQuestionAnswers) | |
comment | string |
customer_comment | string A comment that the customer included during a marketplace booking. |
unconfirmed | boolean Event is unconfirmed if the employee has not yet confirmed the booking. This is only relevant for companies that have the "Require employee confirmation" setting enabled. |
special | boolean A property that users can use to mark events as special. Has no affect on system behavior. |
pinned | boolean A property that users can use to pin events. |
object (EventTags) | |
ID (string) or Sale (object) (ExpandableSale) | |
ID (string) or Payment (object) (ExpandablePayment) | |
outstanding_no_show_fee | number <double> The amount of the no-show fee that is still outstanding. This is only relevant for events that have a no-show fee and the customer has not yet paid it. |
Array of objects (CustomPropertyValues) | |
object (NotificationPreferences) | |
Array of objects (Attachments) | |
waitlist_entry | string The ID of the waitlist entry that this event is associated with. Waitlist entries are automatically deleted when the event is created. |
ID (string) or BookingOffer (object) (ExpandableBookingOffer) | |
rrule | string (RRuleString) RRULE string for recurring events and blocked times. The dtstart property is ignored, and the start time of the event/blocked time is used instead. If no until is specified, it will default to 2 years from time of creation. Until has a maximum value of 2 years from time of creation. Count can be any value, but generated events/blocked times past the 2 year mark will be ignored. |
update_origin | string <enum> (EventOrigin) Enum: "calendar" "online" "app" "import" "secretary" "facebook" "instagram" "tripadvisor" "the_michelin_guide" |
accepted_at | string <date-time> It is only possible to 'accept' and event once. |
declined_at | string <date-time> |
{- "recurring_event": "string",
- "company": "string",
- "employee": "string",
- "customer": "string",
- "number_of_guests": 1,
- "space": "string",
- "resources": [
- "string"
], - "license_plate": "string",
- "starts_at": "2022-09-12T12:00:00Z",
- "check_in_origin": "string",
- "event_types": [
- {
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "tax_exemption_reason": "string"
}
], - "variation_selections": [
- {
- "variation_id": "7awdXwZoedakjad37a",
- "event_type_id": "7awdXwZoedakjad37a",
- "quantity": 1
}
], - "status": "noshow",
- "claim_status": "Paid",
- "origin": "online",
- "channel": "Instagram",
- "source": "bookagain",
- "booking_questions": [
- {
- "question": "What color is your hair?",
- "answer": "Blonde"
}
], - "booking_question_answers": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string",
- "answer": "string"
}
], - "comment": "string",
- "customer_comment": "string",
- "unconfirmed": true,
- "special": true,
- "pinned": true,
- "tags": {
- "birthday": true
}, - "sale": "string",
- "payment": "string",
- "outstanding_no_show_fee": 1000,
- "custom_properties": [
- {
- "values": [
- "string"
], - "valueIsId": true
}
], - "notification_preferences": {
- "sms": true,
- "email": true,
- "push": true
}, - "attachments": [
- {
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg"
}
], - "waitlist_entry": "string",
- "booking_offer": "string",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "created_by": "string",
- "updated_by": "string",
- "update_origin": "online",
- "accepted_at": "2019-08-24T14:15:22Z",
- "declined_at": "2019-08-24T14:15:22Z"
}
{- "id": "7awdXwZoedakjad37a",
- "recurring_event": "string",
- "company": "string",
- "employee": "string",
- "customer_name": "Harry Hairlong",
- "customer": "string",
- "number_of_guests": 1,
- "space": "string",
- "resources": [
- "string"
], - "license_plate": "string",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "duration": 30,
- "check_in_at": 1600541746,
- "check_in_origin": "string",
- "event_types": [
- {
- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
], - "variation_selections": [
- {
- "variation_id": "7awdXwZoedakjad37a",
- "event_type_id": "7awdXwZoedakjad37a",
- "quantity": 1
}
], - "invoice_status": "paid",
- "status": "noshow",
- "claim_status": "Paid",
- "origin": "online",
- "channel": "Instagram",
- "source": "bookagain",
- "booking_questions": [
- {
- "question": "What color is your hair?",
- "answer": "Blonde"
}
], - "booking_question_answers": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string",
- "answer": "string"
}
], - "comment": "string",
- "customer_comment": "string",
- "unconfirmed": true,
- "special": true,
- "pinned": true,
- "tags": {
- "birthday": true
}, - "cancel_reason": "I'm sick and can't make it",
- "sale": "string",
- "payment": "string",
- "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "outstanding_no_show_fee": 1000,
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "notification_preferences": {
- "sms": true,
- "email": true,
- "push": true
}, - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "waitlist_entry": "string",
- "booking_offer": "string",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "version": 1,
- "created_by": "string",
- "updated_by": "string",
- "update_origin": "online",
- "accepted_at": "2019-08-24T14:15:22Z",
- "declined_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}
Get a single event by ID.
event_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "recurring_event": "string",
- "company": "string",
- "employee": "string",
- "customer_name": "Harry Hairlong",
- "customer": "string",
- "number_of_guests": 1,
- "space": "string",
- "resources": [
- "string"
], - "license_plate": "string",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "duration": 30,
- "check_in_at": 1600541746,
- "check_in_origin": "string",
- "event_types": [
- {
- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
], - "variation_selections": [
- {
- "variation_id": "7awdXwZoedakjad37a",
- "event_type_id": "7awdXwZoedakjad37a",
- "quantity": 1
}
], - "invoice_status": "paid",
- "status": "noshow",
- "claim_status": "Paid",
- "origin": "online",
- "channel": "Instagram",
- "source": "bookagain",
- "booking_questions": [
- {
- "question": "What color is your hair?",
- "answer": "Blonde"
}
], - "booking_question_answers": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string",
- "answer": "string"
}
], - "comment": "string",
- "customer_comment": "string",
- "unconfirmed": true,
- "special": true,
- "pinned": true,
- "tags": {
- "birthday": true
}, - "cancel_reason": "I'm sick and can't make it",
- "sale": "string",
- "payment": "string",
- "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "outstanding_no_show_fee": 1000,
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "notification_preferences": {
- "sms": true,
- "email": true,
- "push": true
}, - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "waitlist_entry": "string",
- "booking_offer": "string",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "version": 1,
- "created_by": "string",
- "updated_by": "string",
- "update_origin": "online",
- "accepted_at": "2019-08-24T14:15:22Z",
- "declined_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}
Updates an event at a company.
event_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (EventUpdateBehavior) | |
unset | Array of strings <enum> (EventFields) Items Value: "deleted_at" |
ID (string) or Event (object) | |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or Employee (object) (ExpandableEmployee) | |
ID (string) or Customer (object) (ExpandableCustomer) | |
number_of_guests | integer <int32> Number of guests for the event. |
ID (string) or Space (object) Use resource instead | |
Array of ID (string) or Resource (object) (ExpandableResources) | |
license_plate | string License plate for the vehicle associated with this event |
starts_at | string <date-time> Start time of event |
check_in_origin | string |
Array of objects (EventTypes) | |
Array of objects (VariationSelections) The variations selected for the event during booking flow. | |
status | string The status of the event. See Event Statuses for more information. |
claim_status | string <enum> (ClaimStatus) Enum: "Unpaid" "Paid" "InProgress" "CompletedWithErrors" "Cancelled" "SecondaryCollection" "LegalCollection" |
origin | string <enum> (EventOrigin) Enum: "calendar" "online" "app" "import" "secretary" "facebook" "instagram" "tripadvisor" "the_michelin_guide" |
channel | string Where did you come to the app from? (Instagram etc.) So if a user clicks a link on Instagram, that deeplinks into the Noona app - channel should be Instagram. |
source | string Where did the booking come from within the app? (Book again, Quick Book, Search etc.) |
Array of objects (LegacyBookingQuestions) Deprecated This schema is deprecated. Use | |
Array of objects (BookingQuestionAnswers) | |
comment | string |
customer_comment | string A comment that the customer included during a marketplace booking. |
unconfirmed | boolean Event is unconfirmed if the employee has not yet confirmed the booking. This is only relevant for companies that have the "Require employee confirmation" setting enabled. |
special | boolean A property that users can use to mark events as special. Has no affect on system behavior. |
pinned | boolean A property that users can use to pin events. |
object (EventTags) | |
ID (string) or Sale (object) (ExpandableSale) | |
ID (string) or Payment (object) (ExpandablePayment) | |
outstanding_no_show_fee | number <double> The amount of the no-show fee that is still outstanding. This is only relevant for events that have a no-show fee and the customer has not yet paid it. |
Array of objects (CustomPropertyValues) | |
object (NotificationPreferences) | |
Array of objects (Attachments) | |
waitlist_entry | string The ID of the waitlist entry that this event is associated with. Waitlist entries are automatically deleted when the event is created. |
ID (string) or BookingOffer (object) (ExpandableBookingOffer) | |
rrule | string (RRuleString) RRULE string for recurring events and blocked times. The dtstart property is ignored, and the start time of the event/blocked time is used instead. If no until is specified, it will default to 2 years from time of creation. Until has a maximum value of 2 years from time of creation. Count can be any value, but generated events/blocked times past the 2 year mark will be ignored. |
update_origin | string <enum> (EventOrigin) Enum: "calendar" "online" "app" "import" "secretary" "facebook" "instagram" "tripadvisor" "the_michelin_guide" |
accepted_at | string <date-time> It is only possible to 'accept' and event once. |
declined_at | string <date-time> |
{- "recurring_event": "string",
- "company": "string",
- "employee": "string",
- "customer": "string",
- "number_of_guests": 1,
- "space": "string",
- "resources": [
- "string"
], - "license_plate": "string",
- "starts_at": "2022-09-12T12:00:00Z",
- "check_in_origin": "string",
- "event_types": [
- {
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "tax_exemption_reason": "string"
}
], - "variation_selections": [
- {
- "variation_id": "7awdXwZoedakjad37a",
- "event_type_id": "7awdXwZoedakjad37a",
- "quantity": 1
}
], - "status": "noshow",
- "claim_status": "Paid",
- "origin": "online",
- "channel": "Instagram",
- "source": "bookagain",
- "booking_questions": [
- {
- "question": "What color is your hair?",
- "answer": "Blonde"
}
], - "booking_question_answers": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string",
- "answer": "string"
}
], - "comment": "string",
- "customer_comment": "string",
- "unconfirmed": true,
- "special": true,
- "pinned": true,
- "tags": {
- "birthday": true
}, - "sale": "string",
- "payment": "string",
- "outstanding_no_show_fee": 1000,
- "custom_properties": [
- {
- "values": [
- "string"
], - "valueIsId": true
}
], - "notification_preferences": {
- "sms": true,
- "email": true,
- "push": true
}, - "attachments": [
- {
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg"
}
], - "waitlist_entry": "string",
- "booking_offer": "string",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "created_by": "string",
- "updated_by": "string",
- "update_origin": "online",
- "accepted_at": "2019-08-24T14:15:22Z",
- "declined_at": "2019-08-24T14:15:22Z"
}
{- "id": "7awdXwZoedakjad37a",
- "recurring_event": "string",
- "company": "string",
- "employee": "string",
- "customer_name": "Harry Hairlong",
- "customer": "string",
- "number_of_guests": 1,
- "space": "string",
- "resources": [
- "string"
], - "license_plate": "string",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "duration": 30,
- "check_in_at": 1600541746,
- "check_in_origin": "string",
- "event_types": [
- {
- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
], - "variation_selections": [
- {
- "variation_id": "7awdXwZoedakjad37a",
- "event_type_id": "7awdXwZoedakjad37a",
- "quantity": 1
}
], - "invoice_status": "paid",
- "status": "noshow",
- "claim_status": "Paid",
- "origin": "online",
- "channel": "Instagram",
- "source": "bookagain",
- "booking_questions": [
- {
- "question": "What color is your hair?",
- "answer": "Blonde"
}
], - "booking_question_answers": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string",
- "answer": "string"
}
], - "comment": "string",
- "customer_comment": "string",
- "unconfirmed": true,
- "special": true,
- "pinned": true,
- "tags": {
- "birthday": true
}, - "cancel_reason": "I'm sick and can't make it",
- "sale": "string",
- "payment": "string",
- "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "outstanding_no_show_fee": 1000,
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "notification_preferences": {
- "sms": true,
- "email": true,
- "push": true
}, - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "waitlist_entry": "string",
- "booking_offer": "string",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "version": 1,
- "created_by": "string",
- "updated_by": "string",
- "update_origin": "online",
- "accepted_at": "2019-08-24T14:15:22Z",
- "declined_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}
Scaffolds checkout resources for an event.
If the event has already been checked out, this will return the existing checkout.
event_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (CheckoutBehavior) |
{- "id": "8wa9uiah28dawd123",
- "transactions": [
- "string"
], - "events": [
- "string"
], - "company": "string",
- "customer": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Checks a customer into event. Also triggers a terminal payment if the company has a terminal connected to checkin.
company_id required | string Example: dwawd8awudawd |
id required | string Example: aw7da9wd8ua28a821 Event ID |
select | Array of strings |
expand | Array of strings |
terminal_id | string Example: terminal_id=aw7da9wd8ua28a821 ID of the terminal to use for payment during checkin |
voucher_id | string Example: voucher_id=aw7da9wd8ua28a821 ID of the voucher to use for payment during checkin |
{- "id": "7awdXwZoedakjad37a",
- "recurring_event": "string",
- "company": "string",
- "employee": "string",
- "customer_name": "Harry Hairlong",
- "customer": "string",
- "number_of_guests": 1,
- "space": "string",
- "resources": [
- "string"
], - "license_plate": "string",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "duration": 30,
- "check_in_at": 1600541746,
- "check_in_origin": "string",
- "event_types": [
- {
- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
], - "variation_selections": [
- {
- "variation_id": "7awdXwZoedakjad37a",
- "event_type_id": "7awdXwZoedakjad37a",
- "quantity": 1
}
], - "invoice_status": "paid",
- "status": "noshow",
- "claim_status": "Paid",
- "origin": "online",
- "channel": "Instagram",
- "source": "bookagain",
- "booking_questions": [
- {
- "question": "What color is your hair?",
- "answer": "Blonde"
}
], - "booking_question_answers": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string",
- "answer": "string"
}
], - "comment": "string",
- "customer_comment": "string",
- "unconfirmed": true,
- "special": true,
- "pinned": true,
- "tags": {
- "birthday": true
}, - "cancel_reason": "I'm sick and can't make it",
- "sale": "string",
- "payment": "string",
- "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "outstanding_no_show_fee": 1000,
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "notification_preferences": {
- "sms": true,
- "email": true,
- "push": true
}, - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "waitlist_entry": "string",
- "booking_offer": "string",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "version": 1,
- "created_by": "string",
- "updated_by": "string",
- "update_origin": "online",
- "accepted_at": "2019-08-24T14:15:22Z",
- "declined_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z",
- "check_in_success_message": "Thank you for checking in, please wait until your name is called",
- "sale_id": "8awud8w9a7d9w8a",
- "transaction_id": "8awud8w9a7d9w8a",
- "subtransaction_id": "8awud8w9a7d9w8a"
}
Event statuses are used to describe the current state of an event.
Noona has a set of default statuses:
Custom statuses can be created to extend the default set.
Lists all event statuses of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "name": "showup",
- "label": "Show-up",
- "order": 1,
- "color": "#00FF00",
- "default": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates an event status for a company.
select | Array of strings |
expand | Array of strings |
id | string |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
name | string |
label | string The label of the status. This is the label that is shown to the user in the UI. For default Noona statuses the label is translated according to the Accept-Language header. For custom statuses the label is simply the value of the |
order | integer <int32> The order of the status. This is the order that the statuses are shown in the UI. For default Noona statuses the order is always 0. Order can be used to sort custom statuses. |
color | string |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "name": "showup",
- "label": "Show-up",
- "order": 1,
- "color": "#00FF00"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "name": "showup",
- "label": "Show-up",
- "order": 1,
- "color": "#00FF00",
- "default": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves information about an existing event status.
event_status_id required | string Event Status ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "name": "showup",
- "label": "Show-up",
- "order": 1,
- "color": "#00FF00",
- "default": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates an event status at a company.
event_status_id required | string Example: dwawd8awudawd Event Status ID |
select | Array of strings |
expand | Array of strings |
id | string |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
name | string |
label | string The label of the status. This is the label that is shown to the user in the UI. For default Noona statuses the label is translated according to the Accept-Language header. For custom statuses the label is simply the value of the |
order | integer <int32> The order of the status. This is the order that the statuses are shown in the UI. For default Noona statuses the order is always 0. Order can be used to sort custom statuses. |
color | string |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "name": "showup",
- "label": "Show-up",
- "order": 1,
- "color": "#00FF00"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "name": "showup",
- "label": "Show-up",
- "order": 1,
- "color": "#00FF00",
- "default": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
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.
company_id required | string Example: aw7da9wd8ua28a821 Company ID |
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 |
resource_id | string Example: resource_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 |
duration | integer <int32> Example: duration=30 Duration is by default inferred from event type(s) but can be overwritten with this parameter. |
[- {
- "slot": "2020-08-24T15:00:00Z",
- "employeeIds": [
- "string"
], - "resourceIds": [
- "string"
], - "unavailable_resources": [
- {
- "resource": "string",
- "reason": "booked"
}
]
}
]
Lists pax statuses for date range.
The pax status is based on:
company_id required | string Example: aw7da9wd8ua28a821 Company ID |
select | Array of strings |
expand | Array of strings |
object (PaxStatusFilter) |
{- "2024-05-02": {
- "12:00": {
- "arrivals": 1,
- "guests": 1,
- "max_guests": 50,
- "max_same_time_arrival": 10
}, - "12:15": {
- "arrivals": 1,
- "guests": 2,
- "max_guests": 50,
- "max_same_time_arrival": 10
}, - "12:30": {
- "arrivals": 0,
- "guests": 1,
- "max_guests": 50,
- "max_same_time_arrival": 10
}
}
}
Lists time slot reservation at company.
Time slot reservations are created when a customer is going through the booking process and selects a time slot on the marketplace.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (TimeSlotReservationFilter) | |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "event_types": [
- "string"
], - "starts_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "date": "2022-09-12",
- "duration": 30,
- "employee": "string",
- "space": "string",
- "resources": [
- "string"
], - "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Get a time slot reservation at company.
Time slot reservations are created when a customer is going through the booking process and selects a time slot on the marketplace.
time_slot_reservation_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "event_types": [
- "string"
], - "starts_at": "2019-08-24T14:15:22Z",
- "ends_at": "2019-08-24T14:15:22Z",
- "date": "2022-09-12",
- "duration": 30,
- "employee": "string",
- "space": "string",
- "resources": [
- "string"
], - "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
List holidays according to the company's country.
The language of the holiday names is can be controlled by including a Accept-Language header. If the header is not included, the language is the company's default language.
company_id required | string Example: dwawd8awudawd |
required | object (HolidaysFilter) |
select | Array of strings |
expand | Array of strings |
Accept-Language | string Example: is The language of the holiday names. If not included, the language is the company's default language. |
[- {
- "name": "Christmas Day",
- "date": "2024-12-25"
}
]
Lists all customers of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (CustomerFilter) | |
object (Sort) | |
object (Pagination) | |
search | string |
[- {
- "id": "7dj29KiAE1wdjw731",
- "name": "Joe the cuttee",
- "kennitala": "1613772649",
- "phone_number": 8578844,
- "phone_country_code": 354,
- "email": "example@example.com",
- "license_plate": "DF302",
- "license_plates": [
- "DF302"
], - "company_id": "2fj29KiKX1wdjw985",
- "company": "2fj29KiKX1wdjw985",
- "event_count": 69,
- "groups": [
- "string"
], - "employee_ids": [
- "1gj29KiKX1wdjw155"
], - "previous_event": "string",
- "next_event": "string",
- "duplicates": [
- "string"
], - "duplicateStatus": "possible",
- "notes": "Loves to be called Joe the cuttee",
- "update_origin": "hq",
- "updated_by": "2fj29KiKX1wdjw985",
- "last_employee": "John the hairy",
- "last_event": "date-time",
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "notices": [
- {
- "id": "8wa9uiah28dawd123",
- "message": "Important information!",
- "variant": "info",
- "dismissable": false,
- "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "tags": {
- "gluten_free": true,
- "lactose_intolerant": true,
- "severe_nut_allergy": true,
- "severe_shellfish_allergy": true,
- "vegan": true,
- "vegetarian": true,
- "vip": true,
- "wheelchair": true
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Retrieves information about an existing customer.
customer_id required | string Customer ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7dj29KiAE1wdjw731",
- "name": "Joe the cuttee",
- "kennitala": "1613772649",
- "phone_number": 8578844,
- "phone_country_code": 354,
- "email": "example@example.com",
- "license_plate": "DF302",
- "license_plates": [
- "DF302"
], - "company_id": "2fj29KiKX1wdjw985",
- "company": "2fj29KiKX1wdjw985",
- "event_count": 69,
- "groups": [
- "string"
], - "employee_ids": [
- "1gj29KiKX1wdjw155"
], - "previous_event": "string",
- "next_event": "string",
- "duplicates": [
- "string"
], - "duplicateStatus": "possible",
- "notes": "Loves to be called Joe the cuttee",
- "update_origin": "hq",
- "updated_by": "2fj29KiKX1wdjw985",
- "last_employee": "John the hairy",
- "last_event": "date-time",
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "notices": [
- {
- "id": "8wa9uiah28dawd123",
- "message": "Important information!",
- "variant": "info",
- "dismissable": false,
- "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "tags": {
- "gluten_free": true,
- "lactose_intolerant": true,
- "severe_nut_allergy": true,
- "severe_shellfish_allergy": true,
- "vegan": true,
- "vegetarian": true,
- "vip": true,
- "wheelchair": true
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a customer at a company.
customer_id required | string Example: dwawd8awudawd Customer ID |
select | Array of strings |
expand | Array of strings |
name | string |
kennitala | string |
phone_number | string |
phone_country_code | string |
string | |
license_plate | string |
license_plates | Array of strings All different license plates that the customer has used. |
company | string ID of the company that the customer belongs to. |
Array of ID (string) or CustomerGroup (object) (ExpandableCustomerGroups) Customer groups that the customer belongs to. | |
employee_ids | Array of strings |
ID (string) or Event (object) (ExpandableEvent) | |
ID (string) or Event (object) (ExpandableEvent) | |
Array of ID (string) or Customer (object) (ExpandableCustomers) | |
duplicateStatus | string <enum> (DuplicateStatus) Enum: "possible" "approved" The customers duplicate status. If If |
notes | string |
update_origin | string |
Array of objects (CustomPropertyValues) | |
Array of objects (Attachments) | |
Array of objects (Notices) | |
object (CustomerTags) |
{- "name": "Joe the cuttee",
- "kennitala": "1613772649",
- "phone_number": 8578844,
- "phone_country_code": 354,
- "email": "example@example.com",
- "license_plate": "DF302",
- "license_plates": [
- "DF302"
], - "company": "2fj29KiKX1wdjw985",
- "groups": [
- "string"
], - "employee_ids": [
- "1gj29KiKX1wdjw155"
], - "previous_event": "string",
- "next_event": "string",
- "duplicates": [
- "string"
], - "duplicateStatus": "possible",
- "notes": "Loves to be called Joe the cuttee",
- "update_origin": "hq",
- "custom_properties": [
- {
- "values": [
- "string"
], - "valueIsId": true
}
], - "attachments": [
- {
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg"
}
], - "notices": [
- {
- "id": "8wa9uiah28dawd123",
- "message": "Important information!",
- "variant": "info",
- "dismissable": false,
- "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "tags": {
- "gluten_free": true,
- "lactose_intolerant": true,
- "severe_nut_allergy": true,
- "severe_shellfish_allergy": true,
- "vegan": true,
- "vegetarian": true,
- "vip": true,
- "wheelchair": true
}
}
{- "id": "7dj29KiAE1wdjw731",
- "name": "Joe the cuttee",
- "kennitala": "1613772649",
- "phone_number": 8578844,
- "phone_country_code": 354,
- "email": "example@example.com",
- "license_plate": "DF302",
- "license_plates": [
- "DF302"
], - "company_id": "2fj29KiKX1wdjw985",
- "company": "2fj29KiKX1wdjw985",
- "event_count": 69,
- "groups": [
- "string"
], - "employee_ids": [
- "1gj29KiKX1wdjw155"
], - "previous_event": "string",
- "next_event": "string",
- "duplicates": [
- "string"
], - "duplicateStatus": "possible",
- "notes": "Loves to be called Joe the cuttee",
- "update_origin": "hq",
- "updated_by": "2fj29KiKX1wdjw985",
- "last_employee": "John the hairy",
- "last_event": "date-time",
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "notices": [
- {
- "id": "8wa9uiah28dawd123",
- "message": "Important information!",
- "variant": "info",
- "dismissable": false,
- "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "tags": {
- "gluten_free": true,
- "lactose_intolerant": true,
- "severe_nut_allergy": true,
- "severe_shellfish_allergy": true,
- "vegan": true,
- "vegetarian": true,
- "vip": true,
- "wheelchair": true
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Creates a new customer at company.
select | Array of strings |
expand | Array of strings |
name required | string |
kennitala | string |
phone_number | string |
phone_country_code | string |
string | |
license_plate | string |
license_plates | Array of strings All different license plates that the customer has used. |
company | string ID of the company that the customer belongs to. |
Array of ID (string) or CustomerGroup (object) (ExpandableCustomerGroups) Customer groups that the customer belongs to. | |
employee_ids | Array of strings |
ID (string) or Event (object) (ExpandableEvent) | |
ID (string) or Event (object) (ExpandableEvent) | |
Array of ID (string) or Customer (object) (ExpandableCustomers) | |
duplicateStatus | string <enum> (DuplicateStatus) Enum: "possible" "approved" The customers duplicate status. If If |
notes | string |
update_origin | string |
Array of objects (CustomPropertyValues) | |
Array of objects (Attachments) | |
Array of objects (Notices) | |
object (CustomerTags) |
{- "name": "Joe the cuttee",
- "kennitala": "1613772649",
- "phone_number": 8578844,
- "phone_country_code": 354,
- "email": "example@example.com",
- "license_plate": "DF302",
- "license_plates": [
- "DF302"
], - "company": "2fj29KiKX1wdjw985",
- "groups": [
- "string"
], - "employee_ids": [
- "1gj29KiKX1wdjw155"
], - "previous_event": "string",
- "next_event": "string",
- "duplicates": [
- "string"
], - "duplicateStatus": "possible",
- "notes": "Loves to be called Joe the cuttee",
- "update_origin": "hq",
- "custom_properties": [
- {
- "values": [
- "string"
], - "valueIsId": true
}
], - "attachments": [
- {
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg"
}
], - "notices": [
- {
- "id": "8wa9uiah28dawd123",
- "message": "Important information!",
- "variant": "info",
- "dismissable": false,
- "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "tags": {
- "gluten_free": true,
- "lactose_intolerant": true,
- "severe_nut_allergy": true,
- "severe_shellfish_allergy": true,
- "vegan": true,
- "vegetarian": true,
- "vip": true,
- "wheelchair": true
}
}
{- "id": "7dj29KiAE1wdjw731",
- "name": "Joe the cuttee",
- "kennitala": "1613772649",
- "phone_number": 8578844,
- "phone_country_code": 354,
- "email": "example@example.com",
- "license_plate": "DF302",
- "license_plates": [
- "DF302"
], - "company_id": "2fj29KiKX1wdjw985",
- "company": "2fj29KiKX1wdjw985",
- "event_count": 69,
- "groups": [
- "string"
], - "employee_ids": [
- "1gj29KiKX1wdjw155"
], - "previous_event": "string",
- "next_event": "string",
- "duplicates": [
- "string"
], - "duplicateStatus": "possible",
- "notes": "Loves to be called Joe the cuttee",
- "update_origin": "hq",
- "updated_by": "2fj29KiKX1wdjw985",
- "last_employee": "John the hairy",
- "last_event": "date-time",
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "notices": [
- {
- "id": "8wa9uiah28dawd123",
- "message": "Important information!",
- "variant": "info",
- "dismissable": false,
- "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "tags": {
- "gluten_free": true,
- "lactose_intolerant": true,
- "severe_nut_allergy": true,
- "severe_shellfish_allergy": true,
- "vegan": true,
- "vegetarian": true,
- "vip": true,
- "wheelchair": true
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Customer Groups are used to group customers into categories. A customer might, for example, belong to a customer group titled "Regulars".
Lists all customer groups of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7dj29KiAE1wdjw731",
- "company": "QwYwhN8HH2CaFtwiW",
- "title": "Regulars",
- "description": "Customers that come in regularly",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Retrieves information about an existing customer group.
customer_group_id required | string Example: dwawd8awudawd Customer ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7dj29KiAE1wdjw731",
- "company": "QwYwhN8HH2CaFtwiW",
- "title": "Regulars",
- "description": "Customers that come in regularly",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a customer group at a company.
customer_group_id required | string Example: dwawd8awudawd Customer ID |
select | Array of strings |
expand | Array of strings |
company | string |
title | string |
description | string |
{- "company": "QwYwhN8HH2CaFtwiW",
- "title": "Regulars",
- "description": "Customers that come in regularly"
}
{- "id": "7dj29KiAE1wdjw731",
- "company": "QwYwhN8HH2CaFtwiW",
- "title": "Regulars",
- "description": "Customers that come in regularly",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Creates a new customer group at company.
select | Array of strings |
expand | Array of strings |
company | string |
title | string |
description | string |
{- "company": "QwYwhN8HH2CaFtwiW",
- "title": "Regulars",
- "description": "Customers that come in regularly"
}
{- "id": "7dj29KiAE1wdjw731",
- "company": "QwYwhN8HH2CaFtwiW",
- "title": "Regulars",
- "description": "Customers that come in regularly",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists blocked times for a company with provided filters. The maximum queryable range is 31 days as repeating blocked times could be expanded infinitely.
company_id required | string Example: dwawd8awudawd |
from required | string <date-time> Example: from=2022-09-12T00:00:00Z Include blocked times starting on this date |
to required | string <date-time> Example: to=2022-09-19T00:00:00Z Include blocked times ending before this date |
select | Array of strings |
expand | Array of strings |
object (CalendarSlotFilter) | |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "employee": "string",
- "space": "string",
- "resource": "string",
- "title": "Lunch",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "date": "2022-09-12",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "duration": 60,
- "theme": "themeblack",
- "created_by": "string",
- "updated_by": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a blocked time for a company.
select | Array of strings |
expand | Array of strings |
required | ID (string) or CompanyResponse (object) |
starts_at required | string <date-time> Start time of blocked time |
ends_at required | string <date-time> End time of blocked time |
ID (string) or Employee (object) (ExpandableEmployee) | |
ID (string) or Space (object) (ExpandableSpace) | |
ID (string) or Resource (object) (ExpandableResource) | |
title | string |
rrule | string (RRuleString) RRULE string for recurring events and blocked times. The dtstart property is ignored, and the start time of the event/blocked time is used instead. If no until is specified, it will default to 2 years from time of creation. Until has a maximum value of 2 years from time of creation. Count can be any value, but generated events/blocked times past the 2 year mark will be ignored. |
theme | string <enum> (BlockedTimeTheme) Enum: "themered" "themepurple" "themeyellow" "themewine" "themeorange" "themegreen" "themeblack" "themegrey" "themeblue" "themecoral" "thememint" |
{- "company": "string",
- "employee": "string",
- "space": "string",
- "resource": "string",
- "title": "Lunch",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "theme": "themeblack",
- "created_by": "string",
- "updated_by": "string"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "employee": "string",
- "space": "string",
- "resource": "string",
- "title": "Lunch",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "date": "2022-09-12",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "duration": 60,
- "theme": "themeblack",
- "created_by": "string",
- "updated_by": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieve blocked time for a company
blocked_time_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "employee": "string",
- "space": "string",
- "resource": "string",
- "title": "Lunch",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "date": "2022-09-12",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "duration": 60,
- "theme": "themeblack",
- "created_by": "string",
- "updated_by": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a blocked time at a company.
blocked_time_id required | string Example: dwawd8awudawd Blocked Time ID |
date required | string Example: date=2024-04-01 |
select | Array of strings |
expand | Array of strings |
object (BlockedTimeUpdateBehavior) |
title | string |
starts_at | string <date-time> Start time of blocked time |
ends_at | string <date-time> End time of blocked time |
theme | string <enum> (BlockedTimeTheme) Enum: "themered" "themepurple" "themeyellow" "themewine" "themeorange" "themegreen" "themeblack" "themegrey" "themeblue" "themecoral" "thememint" |
{- "company": "string",
- "employee": "string",
- "space": "string",
- "resource": "string",
- "title": "Lunch",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "theme": "themeblack",
- "created_by": "string",
- "updated_by": "string"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "employee": "string",
- "space": "string",
- "resource": "string",
- "title": "Lunch",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "date": "2022-09-12",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "duration": 60,
- "theme": "themeblack",
- "created_by": "string",
- "updated_by": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Delete blocked time for a company
blocked_time_id required | string Example: dwawd8awudawd |
date required | string Example: date=2024-04-01 |
select | Array of strings |
expand | Array of strings |
object (BlockedTimeDeletionBehavior) |
{- "message": "Customer onboarding error."
}
Lists all products tied to company.
select | Array of strings |
expand | Array of strings |
object (ProductFilter) | |
object (Sort) | |
object (Pagination) | |
barcode | string Deprecated Use filter instead. |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "title": "Black Shampoo",
- "description": "A shampoo for black hair",
- "amount": 2990,
- "sku": "ANE123",
- "stock_level": 10,
- "cost": 0,
- "barcode": 8004608258995,
- "product_groups": [
- "string"
], - "image": {
- "thumb": "<link-to-image>"
}, - "vat_id": "FzGMKqFnCX79N3zWk",
- "tax_exemption_reason": "M01",
- "import_reference_id": "FzGMKqFnCX79N3zWk",
- "created_at": 1631558908,
- "updated_at": 1631558908
}
]
Creates a new product at company.
select | Array of strings |
expand | Array of strings |
title required | string |
company | string |
description | string |
amount | number <double> Default: 0 |
sku | string |
stock_level | integer <int32> |
cost | integer <int32> The cost of the product from a wholesaler. In the x100 format. |
barcode | string |
product_groups | Array of strings List of product group ids product belongs to. |
object (ProductImage) | |
vat_id | string Id of VAT to use for product |
tax_exemption_reason | string VAT exemption reason when having a VAT amount of 0% |
import_reference_id | string Set during import of products, usually an identifier from an external system. |
{- "company": "7awdXwZoedakjad37a",
- "title": "Black Shampoo",
- "description": "A shampoo for black hair",
- "amount": 2990,
- "sku": "ANE123",
- "stock_level": 10,
- "cost": 0,
- "barcode": 8004608258995,
- "product_groups": [
- "string"
], - "image": {
- "thumb": "<link-to-image>"
}, - "vat_id": "FzGMKqFnCX79N3zWk",
- "tax_exemption_reason": "M01",
- "import_reference_id": "FzGMKqFnCX79N3zWk"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "title": "Black Shampoo",
- "description": "A shampoo for black hair",
- "amount": 2990,
- "sku": "ANE123",
- "stock_level": 10,
- "cost": 0,
- "barcode": 8004608258995,
- "product_groups": [
- "string"
], - "image": {
- "thumb": "<link-to-image>"
}, - "vat_id": "FzGMKqFnCX79N3zWk",
- "tax_exemption_reason": "M01",
- "import_reference_id": "FzGMKqFnCX79N3zWk",
- "created_at": 1631558908,
- "updated_at": 1631558908
}
Retrieves information about an existing product.
id required | string Product ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "title": "Black Shampoo",
- "description": "A shampoo for black hair",
- "amount": 2990,
- "sku": "ANE123",
- "stock_level": 10,
- "cost": 0,
- "barcode": 8004608258995,
- "product_groups": [
- "string"
], - "image": {
- "thumb": "<link-to-image>"
}, - "vat_id": "FzGMKqFnCX79N3zWk",
- "tax_exemption_reason": "M01",
- "import_reference_id": "FzGMKqFnCX79N3zWk",
- "created_at": 1631558908,
- "updated_at": 1631558908
}
Updates product by ID by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
id required | string Product ID |
select | Array of strings |
expand | Array of strings |
company | string |
title | string |
description | string |
amount | number <double> Default: 0 |
sku | string |
stock_level | integer <int32> |
cost | integer <int32> The cost of the product from a wholesaler. In the x100 format. |
barcode | string |
product_groups | Array of strings List of product group ids product belongs to. |
object (ProductImage) | |
vat_id | string Id of VAT to use for product |
tax_exemption_reason | string VAT exemption reason when having a VAT amount of 0% |
import_reference_id | string Set during import of products, usually an identifier from an external system. |
{- "company": "7awdXwZoedakjad37a",
- "title": "Black Shampoo",
- "description": "A shampoo for black hair",
- "amount": 2990,
- "sku": "ANE123",
- "stock_level": 10,
- "cost": 0,
- "barcode": 8004608258995,
- "product_groups": [
- "string"
], - "image": {
- "thumb": "<link-to-image>"
}, - "vat_id": "FzGMKqFnCX79N3zWk",
- "tax_exemption_reason": "M01",
- "import_reference_id": "FzGMKqFnCX79N3zWk"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "title": "Black Shampoo",
- "description": "A shampoo for black hair",
- "amount": 2990,
- "sku": "ANE123",
- "stock_level": 10,
- "cost": 0,
- "barcode": 8004608258995,
- "product_groups": [
- "string"
], - "image": {
- "thumb": "<link-to-image>"
}, - "vat_id": "FzGMKqFnCX79N3zWk",
- "tax_exemption_reason": "M01",
- "import_reference_id": "FzGMKqFnCX79N3zWk",
- "created_at": 1631558908,
- "updated_at": 1631558908
}
Product Groups are used to group products into categories. A shampoo might, for example, belong to a product group titled "Hair Products".
Products can reside in multiple product groups simultaneously.
Returns a list of all product groups tied to company.
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "title": "Shampoo",
- "description": "All shampoo",
- "color": "#FCB834",
- "parent_group_id": "7awdUaw31aiwdjIDw",
- "order": 1,
- "is_default_group": false,
- "group_products": [
- {
- "id": "7dj29KiAE1wdjw731",
- "order": 1
}
], - "created_at": 1631558908,
- "updated_at": 1631558908
}
]
Creates a new product group for users company.
select | Array of strings |
expand | Array of strings |
title required | string |
company | string |
description | string |
color | string |
parent_group_id | string |
order | integer <int32> Used to control how a product group is ordered with respect to siblings. |
is_default_group | boolean If true the product group is a special, uneditable, group that contains all products that have not been added to user created product groups. |
Array of objects (GroupProduct) |
{- "company": "7awdXwZoedakjad37a",
- "title": "Shampoo",
- "description": "All shampoo",
- "color": "#FCB834",
- "parent_group_id": "7awdUaw31aiwdjIDw",
- "order": 1,
- "is_default_group": false,
- "group_products": [
- {
- "id": "7dj29KiAE1wdjw731",
- "order": 1
}
]
}
{- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "title": "Shampoo",
- "description": "All shampoo",
- "color": "#FCB834",
- "parent_group_id": "7awdUaw31aiwdjIDw",
- "order": 1,
- "is_default_group": false,
- "group_products": [
- {
- "id": "7dj29KiAE1wdjw731",
- "order": 1
}
], - "created_at": 1631558908,
- "updated_at": 1631558908
}
Retrieve information about an existing product group.
id required | string Product Group ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "title": "Shampoo",
- "description": "All shampoo",
- "color": "#FCB834",
- "parent_group_id": "7awdUaw31aiwdjIDw",
- "order": 1,
- "is_default_group": false,
- "group_products": [
- {
- "id": "7dj29KiAE1wdjw731",
- "order": 1
}
], - "created_at": 1631558908,
- "updated_at": 1631558908
}
Updates a product group with ID by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
id required | string Product Group ID |
select | Array of strings |
expand | Array of strings |
company | string |
title | string |
description | string |
color | string |
parent_group_id | string |
order | integer <int32> Used to control how a product group is ordered with respect to siblings. |
is_default_group | boolean If true the product group is a special, uneditable, group that contains all products that have not been added to user created product groups. |
Array of objects (GroupProduct) |
{- "company": "7awdXwZoedakjad37a",
- "title": "Shampoo",
- "description": "All shampoo",
- "color": "#FCB834",
- "parent_group_id": "7awdUaw31aiwdjIDw",
- "order": 1,
- "is_default_group": false,
- "group_products": [
- {
- "id": "7dj29KiAE1wdjw731",
- "order": 1
}
]
}
{- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "title": "Shampoo",
- "description": "All shampoo",
- "color": "#FCB834",
- "parent_group_id": "7awdUaw31aiwdjIDw",
- "order": 1,
- "is_default_group": false,
- "group_products": [
- {
- "id": "7dj29KiAE1wdjw731",
- "order": 1
}
], - "created_at": 1631558908,
- "updated_at": 1631558908
}
Retrieve all product groups and products in an ordered manner with respect to hierarchy.
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "title": "Shampoo",
- "description": "All shampoo",
- "color": "#FCB834",
- "parent_group_id": "7awdUaw31aiwdjIDw",
- "order": 1,
- "is_default_group": false,
- "group_products": [
- {
- "id": "7awdXwZoedakjad37a",
- "order": 1,
- "company": "7awdXwZoedakjad37a",
- "title": "Black Shampoo",
- "description": "A shampoo for black hair",
- "amount": 2990,
- "sku": "ANE123",
- "stock_level": 10,
- "cost": 0,
- "barcode": 8004608258995,
- "product_groups": [
- "string"
], - "image": {
- "thumb": "<link-to-image>"
}, - "vat_id": "FzGMKqFnCX79N3zWk",
- "tax_exemption_reason": "M01",
- "import_reference_id": "FzGMKqFnCX79N3zWk",
- "created_at": 1631558908,
- "updated_at": 1631558908
}
], - "created_at": 1631558908,
- "updated_at": 1631558908,
- "group_product_groups": [
- null
]
}
]
Updates order of multiple product groups. This also applies to the 'root' product groups that have no parent.
All groups in the request array must share the same parent.
select | Array of strings |
expand | Array of strings |
id required | string ID of product group. |
order required | integer <int32> Order of product group. |
[- {
- "id": "7uk31KiAE1wdjw731",
- "order": 1
}, - {
- "id": "8dj29KiAE1wdjw731",
- "order": 3
}, - {
- "id": "a1j29KiAE1wdjw731",
- "order": 2
}
]
[- {
- "id": "7uk31KiAE1wdjw731",
- "order": 1
}, - {
- "id": "8dj29KiAE1wdjw731",
- "order": 3
}, - {
- "id": "a1j29KiAE1wdjw731",
- "order": 2
}
]
Lists all possible payment methods in the noona ecosystem.
select | Array of strings |
expand | Array of strings |
[- {
- "id": "8wa9uiah28dawd123",
- "title": "Card",
- "order": 1,
- "icon_name": "credit-card-1",
- "readable_id": "paymentCard",
- "locale_key": "dbPaymentMethods:paymentCard",
- "use_terminal": true,
- "hidden": false
}
]
Lists all terminals connected to a company.
The list includes terminals connected to the company directly and terminals connected to the company through a user.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (TerminalsFilter) |
[- {
- "id": "string",
- "readable_identifier": "Suzy's terminal",
- "brand": "string",
- "model": "string",
- "provider": "Istari",
- "serial": "string",
- "issuer": "string",
- "description": "string",
- "default": true,
- "created_at": 0
}
]
Retrieves terminal with ID.
terminal_id required | string Example: dwawd8awudawd Terminal ID |
select | Array of strings |
expand | Array of strings |
{- "id": "string",
- "readable_identifier": "Suzy's terminal",
- "brand": "string",
- "model": "string",
- "provider": "Istari",
- "serial": "string",
- "issuer": "string",
- "description": "string",
- "default": true,
- "created_at": 0
}
Updates a terminal connected to a company.
terminal_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
readable_identifier | string |
description | string |
default | boolean Whether this terminal is the default terminal to use for sales. |
{- "readable_identifier": "Suzy's terminal",
- "issuer": "string",
- "description": "string",
- "default": true
}
{- "id": "string",
- "readable_identifier": "Suzy's terminal",
- "brand": "string",
- "model": "string",
- "provider": "Istari",
- "serial": "string",
- "issuer": "string",
- "description": "string",
- "default": true,
- "created_at": 0
}
Notifications inform users about various things such as new events, cancelled events and more.
Creates a notification at company.
title required | string |
message required | string |
company required | string |
employee required | string |
{- "title": "Something happened",
- "message": "This is more details about what happened",
- "company": "daw89dw9a7wd9a8w7d",
- "employee": "daw89dw9a7wd9a8w7d"
}
Lists all notifications at a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "8wa9uiah28dawd123",
- "type": "legacy",
- "company": "daw89dw9a7wd9a8w7d",
- "event": "dw89aw8da8wd",
- "payment_amount": 10000,
- "payment_currency": "ISK",
- "payment_status": "refunded",
- "employee": "daw89dw9a7wd9a8w7d",
- "space": "daw89dw9a7wd9a8w7d",
- "priority": 0,
- "title": "New appointment",
- "message": "You have a new appointment at 12:00",
- "side_message": "@ 2022-01-01",
- "date": "2022-01-01",
- "icon": {
- "icon": "calendar",
- "icon_text": "me be icon",
- "icon_color": "#ffffff",
- "icon_variant": "success"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Deletes all notifications that user has access to at a company, including user specific notifications.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "count": 3
}
Retrieves a notification at a users company.
notification_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "8wa9uiah28dawd123",
- "type": "legacy",
- "company": "daw89dw9a7wd9a8w7d",
- "event": "dw89aw8da8wd",
- "payment_amount": 10000,
- "payment_currency": "ISK",
- "payment_status": "refunded",
- "employee": "daw89dw9a7wd9a8w7d",
- "space": "daw89dw9a7wd9a8w7d",
- "priority": 0,
- "title": "New appointment",
- "message": "You have a new appointment at 12:00",
- "side_message": "@ 2022-01-01",
- "date": "2022-01-01",
- "icon": {
- "icon": "calendar",
- "icon_text": "me be icon",
- "icon_color": "#ffffff",
- "icon_variant": "success"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Push Notifications are used to send notifications to the Noona mobile app, such as new events, cancelled events and more..
Lists all notifications at a company.
company_id required | string Example: dwawd8awudawd |
object (PushNotificationFilter) |
[- {
- "id": "8wa9uiah28dawd123",
- "created_at": "2023-10-01T12:00:00Z",
- "type": "eventCancelledFromMarketplace",
- "event": "event123",
- "company": "company123",
- "customer": "customer123",
- "data": {
- "title": "Notification Title",
- "topic": "news",
- "body": "Notification body"
}
}
]
Lists custom properties for a company
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "name": "Age",
- "scope": "customers",
- "type": "input",
- "options": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "string"
}
], - "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Create custom property for a company
select | Array of strings |
expand | Array of strings |
name required | string |
scope required | string <enum> Enum: "events" "customer" |
type required | string <enum> Enum: "input" "textarea" "select" "options" |
company | string |
Array of objects (CustomPropertyOptions) | |
order | integer <int32> |
{- "company": "7awdXwZoedakjad37a",
- "name": "Age",
- "scope": "customers",
- "type": "input",
- "options": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "string"
}
], - "order": 1
}
{- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "name": "Age",
- "scope": "customers",
- "type": "input",
- "options": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "string"
}
], - "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Update custom property for a company
property_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
company | string |
name | string |
scope | string <enum> Enum: "events" "customer" |
type | string <enum> Enum: "input" "textarea" "select" "options" |
Array of objects (CustomPropertyOptions) | |
order | integer <int32> |
{- "company": "7awdXwZoedakjad37a",
- "name": "Age",
- "scope": "customers",
- "type": "input",
- "options": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "string"
}
], - "order": 1
}
{- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "name": "Age",
- "scope": "customers",
- "type": "input",
- "options": [
- {
- "id": "7awdXwZoedakjad37a",
- "name": "string"
}
], - "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Apps are 3rd party applications that can be installed by companies to extend the functionality of Noona.
Lists all apps for the specified company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (AppFilter) |
[- {
- "id": "7awdXwZoedakjad37a",
- "client_id": "7awdXwZoedakjad37a",
- "name": "King Accounting Connection",
- "developer_name": "King Accounting",
- "description": "King Accounting Connection automatically syncs your Noona POS system with the King Accounting software.",
- "scopes": [
- "activities:read"
], - "enabled": true,
- "show_in_navigation": true,
- "id_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhdzhkYXd1OWQ4dWF3OThkdSIsImVtYWlsIjoic3ZlcnJpckBub29uYS5pcyIsImV4cCI6MTUxNjIzOTEyMiwiaWF0IjoxNTE2MjM5MDIyLCJhdWQiOiI8Y2xpZW50LWlkPiIsImlzcyI6ImFwaS5ub29uYS5pcyJ9.hgK4lcjTHgVMLPwnVHjsGOOK8cC2b8pkZ2VHxBoFwCk",
}
]
Gets an app in the context of the specified company.
company_id required | string Example: dwawd8awudawd |
app_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "client_id": "7awdXwZoedakjad37a",
- "name": "King Accounting Connection",
- "developer_name": "King Accounting",
- "description": "King Accounting Connection automatically syncs your Noona POS system with the King Accounting software.",
- "scopes": [
- "activities:read"
], - "enabled": true,
- "show_in_navigation": true,
- "id_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhdzhkYXd1OWQ4dWF3OThkdSIsImVtYWlsIjoic3ZlcnJpckBub29uYS5pcyIsImV4cCI6MTUxNjIzOTEyMiwiaWF0IjoxNTE2MjM5MDIyLCJhdWQiOiI8Y2xpZW50LWlkPiIsImlzcyI6ImFwaS5ub29uYS5pcyJ9.hgK4lcjTHgVMLPwnVHjsGOOK8cC2b8pkZ2VHxBoFwCk",
}
Lists all SMS messages for the specified company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Pagination) | |
object (SMSFilter) |
[- {
- "id": "string",
- "company": "string",
- "employee": "string",
- "event": "string",
- "sender_name": "string",
- "body": "string",
- "phone_country_code": "string",
- "phone_number": "string",
- "type": "booking_reminder",
- "status": "created",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Lists all emails for the specified company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Pagination) | |
object (EmailFilter) |
[- {
- "id": "string",
- "email": "string",
- "type": "event_confirmation_customer",
- "events": [
- {
- "status": "processed",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Lists all waitlist entries of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (WaitlistFilter) | |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "customer": "string",
- "employee": "string",
- "resource": "string",
- "event_types": [
- "string"
], - "number_of_guests": 1,
- "notes": "string",
- "preferred_times": [
- {
- "date": "2024-10-08",
- "times": [
- "11:00"
]
}
], - "booking_offers": [
- "string"
], - "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a waitlist entry for a company.
select | Array of strings |
expand | Array of strings |
required | ID (string) or CompanyResponse (object) |
required | ID (string) or Customer (object) |
required | Array of (ID (string) or EventType (string)) or (ID (object) or EventType (object)) |
ID (string) or Employee (object) | |
ID (string) or Resource (object) | |
number_of_guests | integer <int32> Number of guests for the event. |
notes | string |
Array of objects | |
Array of ID (string) or BookingOffer (object) (ExpandableBookingOffers) | |
expires_at | string <date-time> Deprecated |
{- "company": "string",
- "customer": "string",
- "employee": "string",
- "resource": "string",
- "event_types": [
- "string"
], - "number_of_guests": 1,
- "notes": "string",
- "preferred_times": [
- {
- "date": "2024-10-08",
- "times": [
- "11:00"
]
}
], - "booking_offers": [
- "string"
], - "expires_at": "2019-08-24T14:15:22Z"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "customer": "string",
- "employee": "string",
- "resource": "string",
- "event_types": [
- "string"
], - "number_of_guests": 1,
- "notes": "string",
- "preferred_times": [
- {
- "date": "2024-10-08",
- "times": [
- "11:00"
]
}
], - "booking_offers": [
- "string"
], - "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves information about a waitlist entry.
waitlist_entry_id required | string Waitlist Entry ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "customer": "string",
- "employee": "string",
- "resource": "string",
- "event_types": [
- "string"
], - "number_of_guests": 1,
- "notes": "string",
- "preferred_times": [
- {
- "date": "2024-10-08",
- "times": [
- "11:00"
]
}
], - "booking_offers": [
- "string"
], - "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a waitlist entry at a company.
waitlist_entry_id required | string Example: dwawd8awudawd Waitlist Entry ID |
select | Array of strings |
expand | Array of strings |
unset | Array of strings <enum> (WaitlistEntryFields) Items Value: "employee" |
ID (string) or Customer (object) | |
ID (string) or Employee (object) | |
ID (string) or Resource (object) | |
Array of (ID (string) or EventType (string)) or (ID (object) or EventType (object)) | |
number_of_guests | integer <int32> Number of guests for the event. |
notes | string |
Array of objects | |
Array of ID (string) or BookingOffer (object) (ExpandableBookingOffers) | |
expires_at | string <date-time> Deprecated |
{- "company": "string",
- "customer": "string",
- "employee": "string",
- "resource": "string",
- "event_types": [
- "string"
], - "number_of_guests": 1,
- "notes": "string",
- "preferred_times": [
- {
- "date": "2024-10-08",
- "times": [
- "11:00"
]
}
], - "booking_offers": [
- "string"
], - "expires_at": "2019-08-24T14:15:22Z"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "customer": "string",
- "employee": "string",
- "resource": "string",
- "event_types": [
- "string"
], - "number_of_guests": 1,
- "notes": "string",
- "preferred_times": [
- {
- "date": "2024-10-08",
- "times": [
- "11:00"
]
}
], - "booking_offers": [
- "string"
], - "expires_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists all memos of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (MemoFilter) Filtering options for Memos | |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "employee": "string",
- "title": "string",
- "content": "string",
- "date": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a memo for a company.
select | Array of strings |
expand | Array of strings |
required | ID (string) or CompanyResponse (object) |
title required | string |
ID (string) or Employee (object) | |
content | string |
date | string |
{- "company": "string",
- "employee": "string",
- "title": "string",
- "content": "string",
- "date": "string"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "employee": "string",
- "title": "string",
- "content": "string",
- "date": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves information about a memo.
memo_id required | string Memo ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "employee": "string",
- "title": "string",
- "content": "string",
- "date": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a memo for a company.
memo_id required | string Example: dwawd8awudawd Memo ID |
select | Array of strings |
expand | Array of strings |
ID (string) or Employee (object) | |
title | string |
content | string |
date | string |
{- "company": "string",
- "employee": "string",
- "title": "string",
- "content": "string",
- "date": "string"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "string",
- "employee": "string",
- "title": "string",
- "content": "string",
- "date": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists available cuisines.
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Gets cuisine from ID.
cuisine_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists available dietaries.
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Gets dietary from ID.
dietary_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists available ambiences.
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Gets ambience from ID.
ambience_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "name": "Bistro",
- "readable_id": "bistro",
- "order": 1,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Webhooks are used to receive notifications about events that occur in the Noona ecosystem.
Multiple events can be tied to a single callback URL.
A callback payload for creation and update reflects the current state of the resource.
A callback payload for deletion reflects the state of the resource before deletion.
Lists all webhooks of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "title": "Event created",
- "description": "This webhook is triggered when an event is created",
- "events": [
- "event.created",
- "event.updated",
- "event.deleted"
], - "headers": [
- {
- "key": "Authorization",
- "values": [
- "string"
]
}
], - "enabled": true,
- "company": "string",
- "app": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a webhook for a company. The webhook will be triggered when any of the defined events occur.
select | Array of strings |
expand | Array of strings |
title | string |
description | string |
callback_url | string |
events | Array of strings <enum> (WebhookEvents) Items Enum: "customer.created" "customer.updated" "event.created" "event.updated" "event.deleted" "transaction.created" "transaction.updated" |
Array of objects (WebhookHeaders) | |
enabled | boolean Whether the webhook is enabled or not |
ID (string) or CompanyResponse (object) (ExpandableCompany) |
{- "title": "Event created",
- "description": "This webhook is triggered when an event is created",
- "events": [
- "event.created",
- "event.updated",
- "event.deleted"
], - "headers": [
- {
- "key": "Authorization",
- "values": [
- "string"
]
}
], - "enabled": true,
- "company": "string",
- "app": "string"
}
{- "id": "7awdXwZoedakjad37a",
- "title": "Event created",
- "description": "This webhook is triggered when an event is created",
- "events": [
- "event.created",
- "event.updated",
- "event.deleted"
], - "headers": [
- {
- "key": "Authorization",
- "values": [
- "string"
]
}
], - "enabled": true,
- "company": "string",
- "app": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
{- "id": "7awdXwZoedakjad37a",
- "type": "event.created",
- "data": {
- "id": "7awdXwZoedakjad37a",
- "recurring_event": "string",
- "company": "string",
- "employee": "string",
- "customer_name": "Harry Hairlong",
- "customer": "string",
- "number_of_guests": 1,
- "space": "string",
- "resources": [
- "string"
], - "license_plate": "string",
- "starts_at": "2022-09-12T12:00:00Z",
- "ends_at": "2022-09-12T13:00:00Z",
- "duration": 30,
- "check_in_at": 1600541746,
- "check_in_origin": "string",
- "event_types": [
- {
- "id": "7awdXwZoedakjad37a",
- "reference_id": "external-service-id",
- "company_id": "831dXwZoedakjad40b",
- "company": "string",
- "event_type_category": "string",
- "event_type_category_group": "string",
- "title": "Men's haircut",
- "duration": 30,
- "delay": 30,
- "beforePause": 30,
- "pause": 30,
- "afterPause": 30,
- "buffer_after_service": 10,
- "description": "30 minute men's haircut",
- "min_guests_per_booking": 0,
- "max_guests_per_booking": 0,
- "images": [
- {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}
], - "color": "#66d8cd",
- "overbookable": "partially_overbookable",
- "vat": "string",
- "variations": [
- {
- "id": "string",
- "label": "Premium",
- "description": "Premium service with extra attention",
- "prices": [
- {
- "currency": "EUR",
- "amount": 40
}
], - "customer_group": "string"
}
], - "price_ranges": [
- {
- "min": 10,
- "max": 30,
- "currency": "EUR"
}
], - "connections": {
- "service_needs": "employee",
- "customer_selects": "employee",
- "booking_question": "What color do you want to dye your hair?",
- "booking_questions": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string"
}
], - "booking_success_message": "Remember to bring your smile with you!",
- "hidden": true
}, - "custom_payment_settings": true,
- "payments": {
- "pre_payment_enabled": true,
- "pre_payment_type": "payment",
- "pre_payment_required": true,
- "pre_payment_min_pax": 1,
- "flat_fee": 100000,
- "pre_payment_ratio": 20,
- "optional_full_payment": true,
- "settlement_account": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "enabled_card_types": [
- "visa"
]
}, - "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "tax_exemption_reason": "string",
- "created_at": "2019-01-01T00:00:00.000Z",
- "updated_at": "2019-01-02T00:00:00.000Z"
}
], - "variation_selections": [
- {
- "variation_id": "7awdXwZoedakjad37a",
- "event_type_id": "7awdXwZoedakjad37a",
- "quantity": 1
}
], - "invoice_status": "paid",
- "status": "noshow",
- "claim_status": "Paid",
- "origin": "online",
- "channel": "Instagram",
- "source": "bookagain",
- "booking_questions": [
- {
- "question": "What color is your hair?",
- "answer": "Blonde"
}
], - "booking_question_answers": [
- {
- "id": "string",
- "title": "string",
- "description": "string",
- "answer_required": true,
- "answer_type": "string",
- "answer": "string"
}
], - "comment": "string",
- "customer_comment": "string",
- "unconfirmed": true,
- "special": true,
- "pinned": true,
- "tags": {
- "birthday": true
}, - "cancel_reason": "I'm sick and can't make it",
- "sale": "string",
- "payment": "string",
- "price": {
- "currency": "ISK",
- "amount": 10000,
- "amount_upper_limit": 10000
}, - "outstanding_no_show_fee": 1000,
- "custom_properties": [
- {
- "id": "7awdXwZoedakjad37a",
- "values": [
- "string"
], - "valueIsId": true
}
], - "notification_preferences": {
- "sms": true,
- "email": true,
- "push": true
}, - "attachments": [
- {
- "id": "7awdXwZoedakjad37a",
- "filename": "my_image.jpg",
- "type": "image/jpeg",
- "relative_url": "/7awdXwZoedakjad37a.jpg",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "waitlist_entry": "string",
- "booking_offer": "string",
- "rrule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR",
- "version": 1,
- "created_by": "string",
- "updated_by": "string",
- "update_origin": "online",
- "accepted_at": "2019-08-24T14:15:22Z",
- "declined_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted_at": "2019-08-24T14:15:22Z"
}, - "created_at": "2019-08-24T14:15:22Z"
}
Retrieves information about an existing webhook.
webhook_id required | string Webhook ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "title": "Event created",
- "description": "This webhook is triggered when an event is created",
- "events": [
- "event.created",
- "event.updated",
- "event.deleted"
], - "headers": [
- {
- "key": "Authorization",
- "values": [
- "string"
]
}
], - "enabled": true,
- "company": "string",
- "app": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a webhook at a company.
webhook_id required | string Example: dwawd8awudawd Webhook ID |
select | Array of strings |
expand | Array of strings |
title | string |
description | string |
callback_url | string |
events | Array of strings <enum> (WebhookEvents) Items Enum: "customer.created" "customer.updated" "event.created" "event.updated" "event.deleted" "transaction.created" "transaction.updated" |
Array of objects (WebhookHeaders) | |
enabled | boolean Whether the webhook is enabled or not |
ID (string) or CompanyResponse (object) (ExpandableCompany) |
{- "title": "Event created",
- "description": "This webhook is triggered when an event is created",
- "events": [
- "event.created",
- "event.updated",
- "event.deleted"
], - "headers": [
- {
- "key": "Authorization",
- "values": [
- "string"
]
}
], - "enabled": true,
- "company": "string",
- "app": "string"
}
{- "id": "7awdXwZoedakjad37a",
- "title": "Event created",
- "description": "This webhook is triggered when an event is created",
- "events": [
- "event.created",
- "event.updated",
- "event.deleted"
], - "headers": [
- {
- "key": "Authorization",
- "values": [
- "string"
]
}
], - "enabled": true,
- "company": "string",
- "app": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Webhook Invocations are the actual HTTP requests that are sent to a webhook's callback URL.
Webhook invocations are logged and can be inspected via the API.
Lists all webhook invocations of a company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "event": "event.created",
- "success": true,
- "responses": [
- {
- "code": 200,
- "body": "OK"
}
], - "webhook": "string",
- "company": "string",
- "failed_tries": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Gets webhook invocation with id.
webhook_invocation_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "event": "event.created",
- "success": true,
- "responses": [
- {
- "code": 200,
- "body": "OK"
}
], - "webhook": "string",
- "company": "string",
- "failed_tries": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates a webhook invocation.
webhook_invocation_id required | string Example: dwawd8awudawd Webhook Invocation ID |
select | Array of strings |
expand | Array of strings |
callback_url | string |
event | string <enum> (WebhookEvent) Enum: "customer.created" "customer.updated" "event.created" "event.updated" "event.deleted" "transaction.created" "transaction.updated" |
Array of objects (WebhookInvocationResponses) | |
ID (string) or Webhook (object) (ExpandableWebhook) | |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
failed_tries | integer |
{- "event": "event.created",
- "responses": [
- {
- "code": 200,
- "body": "OK"
}
], - "webhook": "string",
- "company": "string",
- "failed_tries": 0
}
{- "id": "7awdXwZoedakjad37a",
- "event": "event.created",
- "success": true,
- "responses": [
- {
- "code": 200,
- "body": "OK"
}
], - "webhook": "string",
- "company": "string",
- "failed_tries": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Subscriptions are the container for plans which can include several powerups. They are used to charge and manage the features used by companies.
Create a payment intent to be used for the 3DSecure payment flow
company_id required | string Example: dwawd8awudawd Company ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "customer_id": "7awdXwZoedakjad37a",
- "status": "inited",
- "currency_code": "EUR",
- "amount": 0,
- "gateway": "braintree",
- "gateway_account_id": "gw_7awdXwZoedakjad37a",
- "expires_at": 1257894000,
- "created_at": 1257894000,
- "modified_at": 1257894000,
- "resource_version": 0,
- "updated_at": 1257894000
}
Retrieves billing information for company
company_id required | string Company id |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "first_name": "John",
- "last_name": "Smith",
- "email": "john.smith@example.com",
- "phone": "string",
- "company": "Best Company",
- "business_registration_id": "1234567890",
- "vat_number": "1234567890",
- "vat_number_status": "valid",
- "billing_method": "card",
- "primary_payment_source_id": "string",
- "card": {
- "first_name": "string",
- "last_name": "string",
- "status": "valid",
- "last4": "string",
- "card_type": "visa",
- "expiry_month": 1,
- "expiry_year": 0
}, - "billing_address": {
- "first_name": "John",
- "last_name": "Smith",
- "email": "john.smith@example.com",
- "phone": "string",
- "company": "Best Company",
- "street": "1600 Pennsylvania Avenue NW",
- "city": "Washington D.C.",
- "country": "US",
- "postal_code": "20500"
}
}
Creates or updates the billing information for this customer
company_id required | string Example: dwawd8awudawd Company ID |
select | Array of strings |
expand | Array of strings |
first_name | string |
last_name | string |
string <email> | |
phone | string |
company | string |
business_registration_id | string |
vat_number | string |
payment_intent_id | string |
object (Card) | |
object (BillingAddress) |
{- "first_name": "John",
- "last_name": "Smith",
- "email": "john.smith@example.com",
- "phone": "string",
- "company": "Best Company",
- "business_registration_id": "1234567890",
- "vat_number": "1234567890",
- "payment_intent_id": "string",
- "card": {
- "first_name": "string",
- "last_name": "string",
- "status": "valid",
- "last4": "string",
- "card_type": "visa",
- "expiry_month": 1,
- "expiry_year": 0
}, - "billing_address": {
- "first_name": "John",
- "last_name": "Smith",
- "email": "john.smith@example.com",
- "phone": "string",
- "company": "Best Company",
- "street": "1600 Pennsylvania Avenue NW",
- "city": "Washington D.C.",
- "country": "US",
- "postal_code": "20500"
}
}
{- "id": "7awdXwZoedakjad37a",
- "first_name": "John",
- "last_name": "Smith",
- "email": "john.smith@example.com",
- "phone": "string",
- "company": "Best Company",
- "business_registration_id": "1234567890",
- "vat_number": "1234567890",
- "vat_number_status": "valid",
- "billing_method": "card",
- "primary_payment_source_id": "string",
- "card": {
- "first_name": "string",
- "last_name": "string",
- "status": "valid",
- "last4": "string",
- "card_type": "visa",
- "expiry_month": 1,
- "expiry_year": 0
}, - "billing_address": {
- "first_name": "John",
- "last_name": "Smith",
- "email": "john.smith@example.com",
- "phone": "string",
- "company": "Best Company",
- "street": "1600 Pennsylvania Avenue NW",
- "city": "Washington D.C.",
- "country": "US",
- "postal_code": "20500"
}
}
Retrieves billing invoices for company
company_id required | string Company id |
select | Array of strings |
expand | Array of strings |
object (InvoicesFilter) |
[- {
- "id": "7awdXwZoedakjad37a",
- "amount": 0,
- "currency": "string",
- "date": "2019-08-24T14:15:22Z",
- "status": "paid",
- "payment_url": "string"
}
]
Creates the subscription for the company and updates the relevant database fields.
company_id required | string Company id |
select | Array of strings |
expand | Array of strings |
product | string <enum> Enum: "appointments_pro" "pos" "restaurants_pro" |
{- "product": "appointments_pro"
}
{- "id": "7awdXwZoedakjad37a",
- "customer": "7awdXwZoedakjad37a",
- "status": "future",
- "subscription_items": [
- {
- "item_price_id": "7awdXwZoedakjad37a",
- "item_type": "plan",
- "quantity": 0,
- "unit_price": 0,
- "amount": 0,
- "trial_end": "2019-08-24T14:15:22Z"
}
], - "charged_items": [
- {
- "item_price_id": "7awdXwZoedakjad37a",
- "last_charged_at": "2019-08-24T14:15:22Z"
}
], - "coupons": [
- {
- "coupon_id": "7awdXwZoedakjad37a",
- "coupon_code": "50off",
- "applied_count": 0,
- "apply_till": "2019-08-24T14:15:22Z"
}
], - "discounts": [
- {
- "id": "7awdXwZoedakjad37a",
- "coupon": "7awdXwZoedakjad37a",
- "invoice_name": "Good customer discount",
- "apply_on": "invoice_amount",
- "item_price_id": "7awdXwZoedakjad37a",
- "percentage": 100,
- "amount": 0,
- "duration_type": "one_time",
- "period_unit": "day",
- "period": 1,
- "currency_code": "str",
- "included_in_mrr": true,
- "applied_count": 0,
- "apply_till": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "currency_code": "str",
- "exchange_rate": 0,
- "auto_close_invoices": true,
- "due_invoices_count": 0,
- "total_dues": 0,
- "due_since": "2019-08-24T14:15:22Z",
- "cancel_reason": "not_paid",
- "cancelled_at": "2019-08-24T14:15:22Z",
- "trial_start": "2019-08-24T14:15:22Z",
- "current_term_start": "2019-08-24T14:15:22Z",
- "current_term_end": "2019-08-24T14:15:22Z",
- "next_billing_at": "2019-08-24T14:15:22Z",
- "started_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted": true
}
Retrieves subscription information for the company
subscription_id required | string Subscription id |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "customer": "7awdXwZoedakjad37a",
- "status": "future",
- "subscription_items": [
- {
- "item_price_id": "7awdXwZoedakjad37a",
- "item_type": "plan",
- "quantity": 0,
- "unit_price": 0,
- "amount": 0,
- "trial_end": "2019-08-24T14:15:22Z"
}
], - "charged_items": [
- {
- "item_price_id": "7awdXwZoedakjad37a",
- "last_charged_at": "2019-08-24T14:15:22Z"
}
], - "coupons": [
- {
- "coupon_id": "7awdXwZoedakjad37a",
- "coupon_code": "50off",
- "applied_count": 0,
- "apply_till": "2019-08-24T14:15:22Z"
}
], - "discounts": [
- {
- "id": "7awdXwZoedakjad37a",
- "coupon": "7awdXwZoedakjad37a",
- "invoice_name": "Good customer discount",
- "apply_on": "invoice_amount",
- "item_price_id": "7awdXwZoedakjad37a",
- "percentage": 100,
- "amount": 0,
- "duration_type": "one_time",
- "period_unit": "day",
- "period": 1,
- "currency_code": "str",
- "included_in_mrr": true,
- "applied_count": 0,
- "apply_till": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "currency_code": "str",
- "exchange_rate": 0,
- "auto_close_invoices": true,
- "due_invoices_count": 0,
- "total_dues": 0,
- "due_since": "2019-08-24T14:15:22Z",
- "cancel_reason": "not_paid",
- "cancelled_at": "2019-08-24T14:15:22Z",
- "trial_start": "2019-08-24T14:15:22Z",
- "current_term_start": "2019-08-24T14:15:22Z",
- "current_term_end": "2019-08-24T14:15:22Z",
- "next_billing_at": "2019-08-24T14:15:22Z",
- "started_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "deleted": true
}
Sales are used to group related transactions, for example product and service sales with different invoice issuers for the same customer or original invoice and a refund.
Customer info for transactions is stored on the sale as well as reference to events that were paid in this sale.
Lists all sales for a company
Customer is point in time property and is always expanded.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "8wa9uiah28dawd123",
- "transactions": [
- "string"
], - "events": [
- "string"
], - "company": "string",
- "customer": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Retrieves information about an existing sale.
Customer is point in time property and is always expanded.
sale_id required | string Sale ID |
select | Array of strings |
expand | Array of strings |
{- "id": "8wa9uiah28dawd123",
- "transactions": [
- "string"
], - "events": [
- "string"
], - "company": "string",
- "customer": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Allows for a partial update of a sale.
sale_id required | string Sale ID |
select | Array of strings |
expand | Array of strings |
Array of ID (string) or Transaction (object) (ExpandableTransaction) | |
Array of ID (string) or Event (object) (ExpandableEvent) | |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or Customer (object) (ExpandableCustomer) |
{- "transactions": [
- "string"
], - "events": [
- "string"
], - "company": "string",
- "customer": "string"
}
{- "id": "8wa9uiah28dawd123",
- "transactions": [
- "string"
], - "events": [
- "string"
], - "company": "string",
- "customer": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Marketplace sales originate from online bookings that include payments (represented as subtransactions in transactions under the sale).
This endpoint allows for a refund of the payments associated with the sale.
A refund is not possible if:
The possible error scenarios are explained in the 400 description below.
The refund, when successful, is different in these scenarios:
sale_id required | string Sale ID |
select | Array of strings |
expand | Array of strings |
{- "message": "Customer onboarding error.",
- "code": "payment_has_been_settled"
}
Creates a sale
select | Array of strings |
expand | Array of strings |
required | ID (string) or CompanyResponse (object) (ExpandableCompany) |
Array of ID (string) or Transaction (object) (ExpandableTransaction) | |
Array of ID (string) or Event (object) (ExpandableEvent) | |
ID (string) or Customer (object) (ExpandableCustomer) |
{- "transactions": [
- "string"
], - "events": [
- "string"
], - "company": "string",
- "customer": "string"
}
{- "id": "8wa9uiah28dawd123",
- "transactions": [
- "string"
], - "events": [
- "string"
], - "company": "string",
- "customer": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Sends a receipt to the specified user for the transaction with transaction_id
sale_id required | string Sale ID |
transaction_id required | string Transaction ID |
string | |
object |
{- "email": "example@example.com",
- "phone": {
- "phone_number": 8578844,
- "phone_country_code": 354
}
}
Lists all transactions for a company
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (TransactionsFilter) | |
object (Sort) | |
object (Pagination) |
[- {
- "id": "8wa9uiah28dawd123",
- "company": "string",
- "sale": "string",
- "subtransactions": [
- "string"
], - "employees": [
- "string"
], - "line_items": [
- "string"
], - "refunds": [
- "8wa9uiah28dawd123"
], - "refund_origin": "8wa9uiah28dawd123",
- "invoice_number": 9001,
- "note": "string",
- "issuer": {
- "id": "8wa9uiah28dawd123",
- "type": "company",
- "name": "Noona cuts",
- "bin": "string",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "vat_id": "string",
- "other": "string"
}, - "fiscalization": "string",
- "currency": "ISK",
- "total_amount": 1990,
- "due_amount": 990,
- "paid_on_marketplace_amount": 1000,
- "origin": "marketplace",
- "vat_amount": 478,
- "tax_exemption_reason": "M01",
- "type": "invoice",
- "status": "draft",
- "drafted_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "voided_at": "2019-08-24T14:15:22Z"
}
]
Retreive a single transaction
transaction_id required | string Transaction ID |
select | Array of strings |
expand | Array of strings |
{- "id": "8wa9uiah28dawd123",
- "company": "string",
- "sale": "string",
- "subtransactions": [
- "string"
], - "employees": [
- "string"
], - "line_items": [
- "string"
], - "refunds": [
- "8wa9uiah28dawd123"
], - "refund_origin": "8wa9uiah28dawd123",
- "invoice_number": 9001,
- "note": "string",
- "issuer": {
- "id": "8wa9uiah28dawd123",
- "type": "company",
- "name": "Noona cuts",
- "bin": "string",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "vat_id": "string",
- "other": "string"
}, - "fiscalization": "string",
- "currency": "ISK",
- "total_amount": 1990,
- "due_amount": 990,
- "paid_on_marketplace_amount": 1000,
- "origin": "marketplace",
- "vat_amount": 478,
- "tax_exemption_reason": "M01",
- "type": "invoice",
- "status": "draft",
- "drafted_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "voided_at": "2019-08-24T14:15:22Z"
}
Update a transaction
transaction_id required | string Transaction ID |
select | Array of strings |
expand | Array of strings |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
ID (string) or Sale (object) (ExpandableSale) | |
Array of ID (string) or Subtransaction (object) (ExpandableSubtransaction) | |
Array of ID (string) or Employee (object) (ExpandableEmployee) | |
Array of ID (string) or LineItem (object) (ExpandableLineItems) | |
refunds | Array of strings References refunds for this transaction. |
refund_origin | string References the original transaction that was refunded. |
note | string |
object (Issuer) | |
fiscalization | string |
currency | string |
origin | string Enum: "marketplace" "pos" The origin of the transaction.
|
type | string Enum: "invoice" "return" "refund" "refunded" |
status | string Enum: "draft" "completed" |
completed_at | string <date-time> |
voided_at | string <date-time> Only supported to unset this field. That is done by providing the value as "zero date" (0001-01-01T00:00:00Z) |
{- "company": "string",
- "sale": "string",
- "subtransactions": [
- "string"
], - "employees": [
- "string"
], - "line_items": [
- "string"
], - "refunds": [
- "8wa9uiah28dawd123"
], - "refund_origin": "8wa9uiah28dawd123",
- "note": "string",
- "issuer": {
- "id": "8wa9uiah28dawd123",
- "type": "company",
- "name": "Noona cuts",
- "bin": "string",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "vat_id": "string",
- "other": "string"
}, - "fiscalization": "string",
- "currency": "ISK",
- "origin": "marketplace",
- "type": "invoice",
- "status": "draft",
- "completed_at": "2019-08-24T14:15:22Z",
- "voided_at": "2019-08-24T14:15:22Z"
}
{- "id": "8wa9uiah28dawd123",
- "company": "string",
- "sale": "string",
- "subtransactions": [
- "string"
], - "employees": [
- "string"
], - "line_items": [
- "string"
], - "refunds": [
- "8wa9uiah28dawd123"
], - "refund_origin": "8wa9uiah28dawd123",
- "invoice_number": 9001,
- "note": "string",
- "issuer": {
- "id": "8wa9uiah28dawd123",
- "type": "company",
- "name": "Noona cuts",
- "bin": "string",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "vat_id": "string",
- "other": "string"
}, - "fiscalization": "string",
- "currency": "ISK",
- "total_amount": 1990,
- "due_amount": 990,
- "paid_on_marketplace_amount": 1000,
- "origin": "marketplace",
- "vat_amount": 478,
- "tax_exemption_reason": "M01",
- "type": "invoice",
- "status": "draft",
- "drafted_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "voided_at": "2019-08-24T14:15:22Z"
}
Create a transaction
select | Array of strings |
expand | Array of strings |
object (TransactionCreationBehavior) |
required | ID (string) or Sale (object) (ExpandableSale) |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
Array of ID (string) or Subtransaction (object) (ExpandableSubtransaction) | |
Array of ID (string) or Employee (object) (ExpandableEmployee) | |
Array of ID (string) or LineItem (object) (ExpandableLineItems) | |
refunds | Array of strings References refunds for this transaction. |
refund_origin | string References the original transaction that was refunded. |
note | string |
object (Issuer) | |
fiscalization | string |
currency | string |
origin | string Enum: "marketplace" "pos" The origin of the transaction.
|
type | string Enum: "invoice" "return" "refund" "refunded" |
status | string Enum: "draft" "completed" |
completed_at | string <date-time> |
voided_at | string <date-time> Only supported to unset this field. That is done by providing the value as "zero date" (0001-01-01T00:00:00Z) |
{- "company": "string",
- "sale": "string",
- "subtransactions": [
- "string"
], - "employees": [
- "string"
], - "line_items": [
- "string"
], - "refunds": [
- "8wa9uiah28dawd123"
], - "refund_origin": "8wa9uiah28dawd123",
- "note": "string",
- "issuer": {
- "id": "8wa9uiah28dawd123",
- "type": "company",
- "name": "Noona cuts",
- "bin": "string",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "vat_id": "string",
- "other": "string"
}, - "fiscalization": "string",
- "currency": "ISK",
- "origin": "marketplace",
- "type": "invoice",
- "status": "draft",
- "completed_at": "2019-08-24T14:15:22Z",
- "voided_at": "2019-08-24T14:15:22Z"
}
{- "id": "8wa9uiah28dawd123",
- "company": "string",
- "sale": "string",
- "subtransactions": [
- "string"
], - "employees": [
- "string"
], - "line_items": [
- "string"
], - "refunds": [
- "8wa9uiah28dawd123"
], - "refund_origin": "8wa9uiah28dawd123",
- "invoice_number": 9001,
- "note": "string",
- "issuer": {
- "id": "8wa9uiah28dawd123",
- "type": "company",
- "name": "Noona cuts",
- "bin": "string",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "vat_id": "string",
- "other": "string"
}, - "fiscalization": "string",
- "currency": "ISK",
- "total_amount": 1990,
- "due_amount": 990,
- "paid_on_marketplace_amount": 1000,
- "origin": "marketplace",
- "vat_amount": 478,
- "tax_exemption_reason": "M01",
- "type": "invoice",
- "status": "draft",
- "drafted_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "voided_at": "2019-08-24T14:15:22Z"
}
List line items on a transaction
Product, event type and voucher are point in time properties
transaction_id required | string Transaction ID |
select | Array of strings |
expand | Array of strings |
[- {
- "id": "8wa9uiah28dawd123",
- "company": "string",
- "title": "Awesome shampoo",
- "quantity": 1,
- "unit_price": {
- "id": "8wa9uiah28dawd123",
- "currency": "ISK",
- "amount": 1990,
- "original_amount": 1990,
- "discount": 20
}, - "discount": 20,
- "vat_amount": 0.24,
- "tax_exemption_reason": "M01",
- "is_returning": false,
- "employee": "string",
- "product": "string",
- "event_type": "string",
- "voucher": {
- "id": "7awdXwZoedakjad37a",
- "voucher": "string",
- "code": "A328DB",
- "data": {
- "type": "service",
- "template_id": "string",
- "sessions_total": 6,
- "amount": 2500,
- "value": 5000,
- "event_type_id": "d0a9w8da09w8dindwa"
}
}, - "event": "string",
- "variation_id": "string",
- "booked_by": "8wa9uiah28dawd123"
}
]
Retrieve a single line item
Product, event type and voucher are point in time properties
line_item_id required | string Line Item ID |
select | Array of strings |
expand | Array of strings |
{- "id": "8wa9uiah28dawd123",
- "company": "string",
- "title": "Awesome shampoo",
- "quantity": 1,
- "unit_price": {
- "id": "8wa9uiah28dawd123",
- "currency": "ISK",
- "amount": 1990,
- "original_amount": 1990,
- "discount": 20
}, - "discount": 20,
- "vat_amount": 0.24,
- "tax_exemption_reason": "M01",
- "is_returning": false,
- "employee": "string",
- "product": "string",
- "event_type": "string",
- "voucher": {
- "id": "7awdXwZoedakjad37a",
- "voucher": "string",
- "code": "A328DB",
- "data": {
- "type": "service",
- "template_id": "string",
- "sessions_total": 6,
- "amount": 2500,
- "value": 5000,
- "event_type_id": "d0a9w8da09w8dindwa"
}
}, - "event": "string",
- "variation_id": "string",
- "booked_by": "8wa9uiah28dawd123"
}
Update a line item if allowed
line_item_id required | string Line Item ID |
select | Array of strings |
expand | Array of strings |
transaction | string |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
title | string |
quantity | integer <int32> |
object (UnitPrice) | |
discount | number <double> [ 0 .. 100 ] Discount percentage |
vat_amount | number <double> The VAT ratio |
tax_exemption_reason | string The VAT exemption reason when the VAT amount is equal to 0 |
is_returning | boolean True if the item was returned. Quantity and all amounts are positive for returning items. |
ID (string) or Employee (object) (ExpandableEmployee) | |
ID (string) or Product (object) (ExpandableProduct) | |
ID (string) or EventType (object) (ExpandableEventType) | |
voucher_template | string |
object (LineItemVoucher) The voucher object is only returned when the line item is a voucher template. The voucher object is accepted and returned when the line item is an amount voucher. | |
event | string |
variation_id | string |
booked_by | string ID of the employee that booked the service on the appointment linked to the transaction. This is used to calculate commissions for the employee that booked the service. |
{- "transaction": "8wa9uiah28dawd123",
- "company": "string",
- "title": "Awesome shampoo",
- "quantity": 1,
- "unit_price": {
- "currency": "ISK",
- "amount": 1990,
- "original_amount": 1990,
- "discount": 20
}, - "discount": 20,
- "vat_amount": 0.24,
- "tax_exemption_reason": "M01",
- "is_returning": false,
- "employee": "string",
- "product": "string",
- "event_type": "string",
- "voucher_template": "string",
- "voucher": {
- "voucher": "string",
- "data": {
- "type": "service",
- "template_id": "string",
- "amount": 2500,
- "value": 5000
}
}, - "event": "string",
- "variation_id": "string",
- "booked_by": "8wa9uiah28dawd123"
}
{- "id": "8wa9uiah28dawd123",
- "company": "string",
- "title": "Awesome shampoo",
- "quantity": 1,
- "unit_price": {
- "id": "8wa9uiah28dawd123",
- "currency": "ISK",
- "amount": 1990,
- "original_amount": 1990,
- "discount": 20
}, - "discount": 20,
- "vat_amount": 0.24,
- "tax_exemption_reason": "M01",
- "is_returning": false,
- "employee": "string",
- "product": "string",
- "event_type": "string",
- "voucher": {
- "id": "7awdXwZoedakjad37a",
- "voucher": "string",
- "code": "A328DB",
- "data": {
- "type": "service",
- "template_id": "string",
- "sessions_total": 6,
- "amount": 2500,
- "value": 5000,
- "event_type_id": "d0a9w8da09w8dindwa"
}
}, - "event": "string",
- "variation_id": "string",
- "booked_by": "8wa9uiah28dawd123"
}
Create a line item
select | Array of strings |
expand | Array of strings |
transaction required | string |
title required | string |
required | object (UnitPrice) |
ID (string) or CompanyResponse (object) (ExpandableCompany) | |
quantity | integer <int32> |
discount | number <double> [ 0 .. 100 ] Discount percentage |
vat_amount | number <double> The VAT ratio |
tax_exemption_reason | string The VAT exemption reason when the VAT amount is equal to 0 |
is_returning | boolean True if the item was returned. Quantity and all amounts are positive for returning items. |
ID (string) or Employee (object) (ExpandableEmployee) | |
ID (string) or Product (object) (ExpandableProduct) | |
ID (string) or EventType (object) (ExpandableEventType) | |
voucher_template | string |
object (LineItemVoucher) The voucher object is only returned when the line item is a voucher template. The voucher object is accepted and returned when the line item is an amount voucher. | |
event | string |
variation_id | string |
booked_by | string ID of the employee that booked the service on the appointment linked to the transaction. This is used to calculate commissions for the employee that booked the service. |
{- "transaction": "8wa9uiah28dawd123",
- "company": "string",
- "title": "Awesome shampoo",
- "quantity": 1,
- "unit_price": {
- "currency": "ISK",
- "amount": 1990,
- "original_amount": 1990,
- "discount": 20
}, - "discount": 20,
- "vat_amount": 0.24,
- "tax_exemption_reason": "M01",
- "is_returning": false,
- "employee": "string",
- "product": "string",
- "event_type": "string",
- "voucher_template": "string",
- "voucher": {
- "voucher": "string",
- "data": {
- "type": "service",
- "template_id": "string",
- "amount": 2500,
- "value": 5000
}
}, - "event": "string",
- "variation_id": "string",
- "booked_by": "8wa9uiah28dawd123"
}
{- "id": "8wa9uiah28dawd123",
- "company": "string",
- "title": "Awesome shampoo",
- "quantity": 1,
- "unit_price": {
- "id": "8wa9uiah28dawd123",
- "currency": "ISK",
- "amount": 1990,
- "original_amount": 1990,
- "discount": 20
}, - "discount": 20,
- "vat_amount": 0.24,
- "tax_exemption_reason": "M01",
- "is_returning": false,
- "employee": "string",
- "product": "string",
- "event_type": "string",
- "voucher": {
- "id": "7awdXwZoedakjad37a",
- "voucher": "string",
- "code": "A328DB",
- "data": {
- "type": "service",
- "template_id": "string",
- "sessions_total": 6,
- "amount": 2500,
- "value": 5000,
- "event_type_id": "d0a9w8da09w8dindwa"
}
}, - "event": "string",
- "variation_id": "string",
- "booked_by": "8wa9uiah28dawd123"
}
Subtransactions make up the individual payment methods used in a single transaction.
A transaction of $20 might be split into subtransactions of $5 in cash and $15 by card.
Lists all subtransactions that belong to a transaction.
transaction_id required | string Transaction ID |
select | Array of strings |
expand | Array of strings |
[- {
- "id": "8wa9uiah28dawd123",
- "amount": 2990,
- "currency": "ISK",
- "state": "pending",
- "failure_state": "declined",
- "origin": "checkin",
- "payment_method_id": "31aadiah28usli390",
- "note": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a new subtransaction for a transaction or sale.
Cash and Other payment methods are settled immedietly.
The Card payment method gets created in the unprocessed state, wakes up the companies terminal and will be updated to successful once a payment has been made.
select | Array of strings |
expand | Array of strings |
object (SubtransactionCreationBehavior) |
payment_method_id required | string |
transaction_id required | string |
amount required | number <double> |
currency required | string |
SubtransactionDataTerminal (object) or SubtransactionDataVoucher (object) or SubtransactionDataPrePayment (object) or SubtransactionDataPaylink (object) (SubtransactionData) | |
note | string |
{- "amount": 2990,
- "currency": "ISK",
- "payment_method_id": "31aadiah28usli390",
- "data": {
- "type": "terminal",
- "terminal_id": "9d8aj2oi2audawo"
}, - "transaction_id": "8wa9uiah28dawd123",
- "note": "string"
}
{- "id": "8wa9uiah28dawd123",
- "amount": 2990,
- "currency": "ISK",
- "state": "pending",
- "failure_state": "declined",
- "origin": "checkin",
- "payment_method_id": "31aadiah28usli390",
- "note": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Retrieves information about an existing subtransaction.
subtransaction_id required | string Subtransaction ID |
select | Array of strings |
expand | Array of strings |
{- "id": "8wa9uiah28dawd123",
- "amount": 2990,
- "currency": "ISK",
- "state": "pending",
- "failure_state": "declined",
- "origin": "checkin",
- "payment_method_id": "31aadiah28usli390",
- "note": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists all available invoice issuers for a company.
This includes the company and all employees that issue their own invoices.
Disabled employees are not included.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (IssuersFilter) |
[- {
- "id": "8wa9uiah28dawd123",
- "type": "company",
- "name": "Noona cuts",
- "bin": "string",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "vat_id": "string",
- "other": "string"
}
]
Lists all claims for a company
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (ClaimsFilter) | |
object (Sort) | |
object (Pagination) |
[- {
- "id": "string",
- "reference_id": "string",
- "bill_number": "string",
- "due_date": "string",
- "claimant_id": "string",
- "employee_name": "string",
- "customer_name": "string",
- "customer_kennitala": "string",
- "amount": 0,
- "currency": "string",
- "status": "Paid",
- "created_at": "2019-08-24T14:15:22Z"
}
]
Gets current user information, inferred from token.
This endpoint is subject to extreme change in the near future and offers no promise of backwards compatability.
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "email": "example@example.com",
- "locale": "en",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "companies": [
- "string"
], - "connections": {
- "google": {
- "connected": true,
- "calendar_connection": "string"
}
}, - "employees": [
- {
- "id": "7awdXawZoolkjad37a",
- "company_id": "98aDWa8da9wda9dwa8",
- "company": "string",
- "name": "Noony Adams",
- "description": "Noony is a great employee",
- "image": {
- "type": "thumbnail",
- "width": 200,
- "height": 300,
- "bytes": 95849
}, - "email": "example@example.com",
- "email_verified": true,
- "order": 1,
- "marketplace": {
- "enabled": true,
- "booking_interval": 15,
- "prioritized": true,
- "allow_booking_without_confirmation": true,
- "exclude_from_randomization_pool": true,
- "exclude_new_customers": true,
- "pre_payments_enabled": true,
- "own_settlements_allowed": true,
- "own_settlements_preferred": true,
- "own_settlements": true
}, - "notifications": {
- "booking_email": true
}, - "event_type_preferences": [
- {
- "event_type": "string",
- "skip": false,
- "has_custom_duration": false,
- "custom_duration": {
- "duration": 60,
- "before_pause": 25,
- "pause": 10,
- "after_pause": 25
}
}
], - "role": "string",
- "pending_owner_approval": false,
- "available_for_bookings": true,
- "settlement_account": "string",
- "connected_to_teya": true,
- "adyen": {
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started"
}, - "commissions": {
- "pos": {
- "products": {
- "type": "rates",
- "default_rate": 10
}, - "services": {
- "type": "rates",
- "default_rate": 10
}, - "vouchers": {
- "type": "rates",
- "default_rate": 10
}
}, - "calendar": {
- "bookings": {
- "type": "rates",
- "default_rate": 10
}
}
}, - "disabled_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Creates a personal API token that can be used for API interaction.
select | Array of strings |
expand | Array of strings |
name | string |
{- "name": "My token"
}
{- "id": "7awdXawZoolkjad37a",
- "name": "My token",
- "token": "c33d249421c46ae3f0962d5449cfabd8d43c7aa634789afb4e65fa9d94f94138",
- "created_at": "2019-08-24T14:15:22Z"
}
Lists existing tokens tied to user.
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXawZoolkjad37a",
- "name": "My token",
- "token": "c33d249421c46ae3f0962d5449cfabd8d43c7aa634789afb4e65fa9d94f94138",
- "created_at": "2019-08-24T14:15:22Z"
}
]
Gets a token tied to user.
token_id required | string Token ID |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXawZoolkjad37a",
- "name": "My token",
- "token": "c33d249421c46ae3f0962d5449cfabd8d43c7aa634789afb4e65fa9d94f94138",
- "created_at": "2019-08-24T14:15:22Z"
}
Lists all terminals connected to user.
select | Array of strings |
expand | Array of strings |
[- {
- "id": "string",
- "readable_identifier": "Suzy's terminal",
- "brand": "string",
- "model": "string",
- "provider": "Istari",
- "serial": "string",
- "issuer": "string",
- "description": "string",
- "default": true,
- "created_at": 0
}
]
Retrieves user terminal with ID.
terminal_id required | string Example: dwawd8awudawd Terminal ID |
select | Array of strings |
expand | Array of strings |
{- "id": "string",
- "readable_identifier": "Suzy's terminal",
- "brand": "string",
- "model": "string",
- "provider": "Istari",
- "serial": "string",
- "issuer": "string",
- "description": "string",
- "default": true,
- "created_at": 0
}
Returns the Google Calendar connection for the user.
{- "id": "7awdXwZoedakjad37a",
- "name": "Noona",
- "sync_events": true,
- "sync_blocked_times_to_google": true,
- "sync_blocked_times_to_noona": true
}
Creates a new Google Calendar connection for the user.
sync_events | boolean Default: true Whether events should be synced between Noona and Google Calendar. |
sync_blocked_times_to_google | boolean Default: true Whether blocked times should be synced from Noona to Google. |
sync_blocked_times_to_noona | boolean Default: true Whether blocked times should be synced from Google to Noona. |
{- "sync_events": true,
- "sync_blocked_times_to_google": true,
- "sync_blocked_times_to_noona": true
}
{- "id": "7awdXwZoedakjad37a",
- "name": "Noona",
- "sync_events": true,
- "sync_blocked_times_to_google": true,
- "sync_blocked_times_to_noona": true
}
Retrieves sales metrics for a company for a specific timeframe.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
{- "transactions": {
- "today": {
- "currency": "string",
- "total": 0,
- "average": 0,
- "count": 0
}, - "same_day_last_week": {
- "currency": "string",
- "total": 0,
- "average": 0,
- "count": 0
}, - "percent_change": {
- "total": 0,
- "average": 0,
- "count": 0
}
}, - "payments": {
- "today": {
- "currency": "string",
- "total": 0,
- "average": 0,
- "count": 0
}, - "same_day_last_week": {
- "currency": "string",
- "total": 0,
- "average": 0,
- "count": 0
}, - "percent_change": {
- "total": 0,
- "average": 0,
- "count": 0
}
}
}
Retrieves event/booking metrics for a company for a specific timeframe.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (EventsMetricsFilter) |
{- "events": {
- "timeframe": 0,
- "timeframe_week_before": 0,
- "percent_change": 0
}, - "guests": {
- "timeframe": 0,
- "timeframe_week_before": 0,
- "percent_change": 0
}, - "marketplace_events": {
- "timeframe": 0,
- "timeframe_week_before": 0,
- "percent_change": 0
}, - "new_customers": {
- "timeframe": 0,
- "timeframe_week_before": 0,
- "percent_change": 0
}, - "occupancy": {
- "timeframe": 0,
- "timeframe_week_before": 0,
- "percent_change": 0
}
}
Retrieves aggregated bookings data for a company for a specific timeframe.
company_id required | string Company ID |
group_by required | Array of strings <enum> Items Enum: "booking_day" "created_day" "booking_source_group" "number_of_guests" "status" "duration" "start_time" "event_type" |
required | object (EventsAggregateFilter) |
select | Array of strings |
expand | Array of strings |
aggregated_fields | Array of strings <enum> Items Enum: "count" "hours" "new_customers" "number_of_guests" |
[- {
- "key": {
- "time_bucket": "string",
- "booking_day": "string",
- "created_day": "string",
- "booking_source_group": "string",
- "number_of_guests": "string",
- "status": "string",
- "event_type": "string",
- "start_time": "string",
- "duration": "string"
}, - "count": 0,
- "hours": 0,
- "number_of_guests": 0,
- "new_customers": 0
}
]
Retrieves aggregated customers data for a company for a specific timeframe.
company_id required | string Company ID |
group_by required | Array of strings <enum> Items Value: "time_bucket" |
required | object (CustomersAggregateFilter) |
select | Array of strings |
expand | Array of strings |
[- {
- "key": {
- "time_bucket": "string"
}, - "count": 0
}
]
Retrieves aggregated SMS messages data for a company for a specific timeframe.
company_id required | string Company ID |
group_by required | Array of strings <enum> Items Value: "time_bucket" |
required | object (SMSMessagesAggregateFilter) |
select | Array of strings |
expand | Array of strings |
[- {
- "key": {
- "time_bucket": "string"
}, - "count": 0
}
]
Lists activities for all resources at company. (Last 100)
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (ActivityFilter) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "type": "customer",
- "action": "created",
- "field": "status",
- "old_value": "string",
- "new_value": "string",
- "customer": "string",
- "event": "string",
- "event_type": "string",
- "payment": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "string"
}
]
Lists activities for event. Activities are sorted in descending order by occurrance.
event_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "type": "customer",
- "action": "created",
- "field": "status",
- "old_value": "string",
- "new_value": "string",
- "customer": "string",
- "event": "string",
- "event_type": "string",
- "payment": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "string"
}
]
Lists activities for event type. Activities are sorted in descending order by occurrance.
event_type_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "type": "customer",
- "action": "created",
- "field": "status",
- "old_value": "string",
- "new_value": "string",
- "customer": "string",
- "event": "string",
- "event_type": "string",
- "payment": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "string"
}
]
Lists activities for customer. Activities are sorted in descending order by occurrance.
customer_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "type": "customer",
- "action": "created",
- "field": "status",
- "old_value": "string",
- "new_value": "string",
- "customer": "string",
- "event": "string",
- "event_type": "string",
- "payment": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "string"
}
]
Lists activities for payment. Activities are sorted in descending order by occurrance.
payment_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "type": "customer",
- "action": "created",
- "field": "status",
- "old_value": "string",
- "new_value": "string",
- "customer": "string",
- "event": "string",
- "event_type": "string",
- "payment": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "created_by": "string"
}
]
Returns the Noona OAuth public key.
The public can be used to verify the signatures of identity tokens issued by Noona.
select | Array of strings |
expand | Array of strings |
{- "kty": "RSA",
- "use": "sig",
- "kid": "1",
- "n": "string",
- "e": "string",
- "alg": "RS256"
}
Returns an OAuth token. This is the final step of the flow. Needs a valid authorization code that was generated from the consent screen. Also needs the client_id and client_secret of the application.
client_id required | string Example: client_id= |
client_secret required | string Example: client_secret= |
grant_type required | string <enum> Enum: "authorization_code" "refresh_token" |
code | string |
refresh_token | string |
{- "token_type": "Bearer",
- "expires_at": "2020-08-24T14:15:22Z",
- "access_token": "7awdXwZoedakjad37a7awdXwZoedakjad37a7awdXwZoedakjad37a",
- "refresh_token": "7awdXwZoedakjad37a7awdXwZoedakjad37a"
}
Approves the OAuth consent for the user against a specific application.
company_id required | string |
client_id required | string |
redirect_uri required | string |
response_type required | string <enum> Value: "code" |
scopes required | Array of strings <enum> (OAuthScopes) Items Enum: "activities:read" "blocked_times:read" "blocked_times:write" "claims:read" "companies:read" "customer_groups:read" "customer_groups:write" "customers:read" "customers:write" "emails:read" "employees:read" "employees:write" "event_statuses:read" "event_statuses:write" "event_type_groups:read" "event_types:read" "event_types:write" "events:read" "events:write" "issuers:read" "memos:read" "memos:write" "metrics:read" "notifications:read" "notifications:write" "payment_methods:read" "payments:read" "payments:write" "product_groups:read" "product_groups:write" "products:read" "products:write" "properties:read" "properties:write" "push_notifications:read" "resources:read" "resources:write" "rule_set_templates:read" "rule_set_templates:write" "rule_sets:read" "rule_sets:write" "sales:read" "sales:write" "settlements:read" "sms_messages:read" "terminals:read" "terminals:write" "time_slots:read" "user:read" "voucher_templates:read" "voucher_templates:write" "vouchers:read" "vouchers:write" "waitlists:read" "waitlists:write" |
state | string |
{- "company_id": "7awdXwZoedakjad37a",
- "client_id": "7awdXwZoedakjad37a",
- "state": "1234567890",
- "response_type": "code",
- "scopes": [
- "activities:read"
]
}
{
}
Redirects the user to the consent screen with the appropriate parameters.
client_id required | string Example: client_id=dwawd8awudawd |
redirect_uri required | string Example: redirect_uri=https://example.com |
response_type required | string Example: response_type=code |
scope required | Array of strings <enum> (OAuthScopes) Items Enum: "activities:read" "blocked_times:read" "blocked_times:write" "claims:read" "companies:read" "customer_groups:read" "customer_groups:write" "customers:read" "customers:write" "emails:read" "employees:read" "employees:write" "event_statuses:read" "event_statuses:write" "event_type_groups:read" "event_types:read" "event_types:write" "events:read" "events:write" "issuers:read" "memos:read" "memos:write" "metrics:read" "notifications:read" "notifications:write" "payment_methods:read" "payments:read" "payments:write" "product_groups:read" "product_groups:write" "products:read" "products:write" "properties:read" "properties:write" "push_notifications:read" "resources:read" "resources:write" "rule_set_templates:read" "rule_set_templates:write" "rule_sets:read" "rule_sets:write" "sales:read" "sales:write" "settlements:read" "sms_messages:read" "terminals:read" "terminals:write" "time_slots:read" "user:read" "voucher_templates:read" "voucher_templates:write" "vouchers:read" "vouchers:write" "waitlists:read" "waitlists:write" |
state | string Example: state=dwawd8awudawd |
Applications are created by third party developers to gain scoped access to the Noona API on behalf of users.
Lists all oauth applications that the user has access to.
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "King Accounting Connection",
- "name_translations": {
- "is": "King Accounting tenging",
- "fr": "Connexion King Accounting"
}, - "developer_name": "King Accounting",
- "description": "King Accounting Connection automatically syncs your Noona POS system with the King Accounting software.",
- "description_translations": {
- "is": "Samstillir sjálfvirkt Noona afgreiðslukerfið með King Accounting hugbúnaðinum.",
- "fr": "Synchronise automatiquement votre système Noona POS avec le logiciel King Accounting."
}, - "about": "string",
- "scopes": [
- "activities:read"
], - "public": true,
- "app_store": true,
- "show_in_navigation": true,
- "verticals": [
- "restaurant",
- "appointment"
], - "countries": [
- "US",
- "CA"
], - "payment_type": "free",
- "price": 1000,
- "currency": "ISK",
- "client_id": "7awdXwZoedakjad37a",
- "client_secret": "7awdXwZoedakjad37a7awdXwZoedakjad37a7awdXwZoedakjad37a",
- "approved": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Creates a new oauth application.
select | Array of strings |
expand | Array of strings |
id | string |
logo | string |
name | string Shown to the user when they are asked to give consent. |
object Localized titles for the application in different languages. | |
developer_name | string |
developer_url | string Home page or documentation for your application. |
description | string Short text about the functionality of the app that appears next to the icon in the list. |
object Localized short descriptions for the application. | |
about | string A longer description of the application which opens in a modal and support HTML. |
redirect_uris | Array of strings |
scopes | Array of strings <enum> (OAuthScopes) Items Enum: "activities:read" "blocked_times:read" "blocked_times:write" "claims:read" "companies:read" "customer_groups:read" "customer_groups:write" "customers:read" "customers:write" "emails:read" "employees:read" "employees:write" "event_statuses:read" "event_statuses:write" "event_type_groups:read" "event_types:read" "event_types:write" "events:read" "events:write" "issuers:read" "memos:read" "memos:write" "metrics:read" "notifications:read" "notifications:write" "payment_methods:read" "payments:read" "payments:write" "product_groups:read" "product_groups:write" "products:read" "products:write" "properties:read" "properties:write" "push_notifications:read" "resources:read" "resources:write" "rule_set_templates:read" "rule_set_templates:write" "rule_sets:read" "rule_sets:write" "sales:read" "sales:write" "settlements:read" "sms_messages:read" "terminals:read" "terminals:write" "time_slots:read" "user:read" "voucher_templates:read" "voucher_templates:write" "vouchers:read" "vouchers:write" "waitlists:read" "waitlists:write" |
public | boolean If true, the application will be usable from outside of the company. |
app_store | boolean If true, the application will be listed in the Noona App Store. |
show_in_navigation | boolean If When clicked, the application's main redirect_uri will be displayed in an iFrame. |
verticals | Array of strings (CompanyVertical) Items Enum: "appointment" "restaurant" The verticals the application is available in. If omitted or empty, the application is available for all verticals. |
countries | Array of strings The countries the application is available in. If omitted or empty, the application is available in all countries. |
payment_type | string Enum: "free" "one-time" "subscription" |
price | integer <int32> Price in x100 format. (100 is 1.00) |
currency | string |
approved | boolean |
{- "id": "7awdXwZoedakjad37a",
- "name": "King Accounting Connection",
- "name_translations": {
- "is": "King Accounting tenging",
- "fr": "Connexion King Accounting"
}, - "developer_name": "King Accounting",
- "description": "King Accounting Connection automatically syncs your Noona POS system with the King Accounting software.",
- "description_translations": {
- "is": "Samstillir sjálfvirkt Noona afgreiðslukerfið með King Accounting hugbúnaðinum.",
- "fr": "Synchronise automatiquement votre système Noona POS avec le logiciel King Accounting."
}, - "about": "string",
- "scopes": [
- "activities:read"
], - "public": true,
- "app_store": true,
- "show_in_navigation": true,
- "verticals": [
- "restaurant",
- "appointment"
], - "countries": [
- "US",
- "CA"
], - "payment_type": "free",
- "price": 1000,
- "currency": "ISK",
- "approved": true
}
{- "id": "7awdXwZoedakjad37a",
- "name": "King Accounting Connection",
- "name_translations": {
- "is": "King Accounting tenging",
- "fr": "Connexion King Accounting"
}, - "developer_name": "King Accounting",
- "description": "King Accounting Connection automatically syncs your Noona POS system with the King Accounting software.",
- "description_translations": {
- "is": "Samstillir sjálfvirkt Noona afgreiðslukerfið með King Accounting hugbúnaðinum.",
- "fr": "Synchronise automatiquement votre système Noona POS avec le logiciel King Accounting."
}, - "about": "string",
- "scopes": [
- "activities:read"
], - "public": true,
- "app_store": true,
- "show_in_navigation": true,
- "verticals": [
- "restaurant",
- "appointment"
], - "countries": [
- "US",
- "CA"
], - "payment_type": "free",
- "price": 1000,
- "currency": "ISK",
- "client_id": "7awdXwZoedakjad37a",
- "client_secret": "7awdXwZoedakjad37a7awdXwZoedakjad37a7awdXwZoedakjad37a",
- "approved": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Returns the oauth application with the specified id.
application_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "name": "King Accounting Connection",
- "name_translations": {
- "is": "King Accounting tenging",
- "fr": "Connexion King Accounting"
}, - "developer_name": "King Accounting",
- "description": "King Accounting Connection automatically syncs your Noona POS system with the King Accounting software.",
- "description_translations": {
- "is": "Samstillir sjálfvirkt Noona afgreiðslukerfið með King Accounting hugbúnaðinum.",
- "fr": "Synchronise automatiquement votre système Noona POS avec le logiciel King Accounting."
}, - "about": "string",
- "scopes": [
- "activities:read"
], - "public": true,
- "app_store": true,
- "show_in_navigation": true,
- "verticals": [
- "restaurant",
- "appointment"
], - "countries": [
- "US",
- "CA"
], - "payment_type": "free",
- "price": 1000,
- "currency": "ISK",
- "client_id": "7awdXwZoedakjad37a",
- "client_secret": "7awdXwZoedakjad37a7awdXwZoedakjad37a7awdXwZoedakjad37a",
- "approved": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Updates the oauth application with the specified id.
application_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
id | string |
logo | string |
name | string Shown to the user when they are asked to give consent. |
object Localized titles for the application in different languages. | |
developer_name | string |
developer_url | string Home page or documentation for your application. |
description | string Short text about the functionality of the app that appears next to the icon in the list. |
object Localized short descriptions for the application. | |
about | string A longer description of the application which opens in a modal and support HTML. |
redirect_uris | Array of strings |
scopes | Array of strings <enum> (OAuthScopes) Items Enum: "activities:read" "blocked_times:read" "blocked_times:write" "claims:read" "companies:read" "customer_groups:read" "customer_groups:write" "customers:read" "customers:write" "emails:read" "employees:read" "employees:write" "event_statuses:read" "event_statuses:write" "event_type_groups:read" "event_types:read" "event_types:write" "events:read" "events:write" "issuers:read" "memos:read" "memos:write" "metrics:read" "notifications:read" "notifications:write" "payment_methods:read" "payments:read" "payments:write" "product_groups:read" "product_groups:write" "products:read" "products:write" "properties:read" "properties:write" "push_notifications:read" "resources:read" "resources:write" "rule_set_templates:read" "rule_set_templates:write" "rule_sets:read" "rule_sets:write" "sales:read" "sales:write" "settlements:read" "sms_messages:read" "terminals:read" "terminals:write" "time_slots:read" "user:read" "voucher_templates:read" "voucher_templates:write" "vouchers:read" "vouchers:write" "waitlists:read" "waitlists:write" |
public | boolean If true, the application will be usable from outside of the company. |
app_store | boolean If true, the application will be listed in the Noona App Store. |
show_in_navigation | boolean If When clicked, the application's main redirect_uri will be displayed in an iFrame. |
verticals | Array of strings (CompanyVertical) Items Enum: "appointment" "restaurant" The verticals the application is available in. If omitted or empty, the application is available for all verticals. |
countries | Array of strings The countries the application is available in. If omitted or empty, the application is available in all countries. |
payment_type | string Enum: "free" "one-time" "subscription" |
price | integer <int32> Price in x100 format. (100 is 1.00) |
currency | string |
approved | boolean |
{- "id": "7awdXwZoedakjad37a",
- "name": "King Accounting Connection",
- "name_translations": {
- "is": "King Accounting tenging",
- "fr": "Connexion King Accounting"
}, - "developer_name": "King Accounting",
- "description": "King Accounting Connection automatically syncs your Noona POS system with the King Accounting software.",
- "description_translations": {
- "is": "Samstillir sjálfvirkt Noona afgreiðslukerfið með King Accounting hugbúnaðinum.",
- "fr": "Synchronise automatiquement votre système Noona POS avec le logiciel King Accounting."
}, - "about": "string",
- "scopes": [
- "activities:read"
], - "public": true,
- "app_store": true,
- "show_in_navigation": true,
- "verticals": [
- "restaurant",
- "appointment"
], - "countries": [
- "US",
- "CA"
], - "payment_type": "free",
- "price": 1000,
- "currency": "ISK",
- "approved": true
}
{- "id": "7awdXwZoedakjad37a",
- "name": "King Accounting Connection",
- "name_translations": {
- "is": "King Accounting tenging",
- "fr": "Connexion King Accounting"
}, - "developer_name": "King Accounting",
- "description": "King Accounting Connection automatically syncs your Noona POS system with the King Accounting software.",
- "description_translations": {
- "is": "Samstillir sjálfvirkt Noona afgreiðslukerfið með King Accounting hugbúnaðinum.",
- "fr": "Synchronise automatiquement votre système Noona POS avec le logiciel King Accounting."
}, - "about": "string",
- "scopes": [
- "activities:read"
], - "public": true,
- "app_store": true,
- "show_in_navigation": true,
- "verticals": [
- "restaurant",
- "appointment"
], - "countries": [
- "US",
- "CA"
], - "payment_type": "free",
- "price": 1000,
- "currency": "ISK",
- "client_id": "7awdXwZoedakjad37a",
- "client_secret": "7awdXwZoedakjad37a7awdXwZoedakjad37a7awdXwZoedakjad37a",
- "approved": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Deletes the oauth application with the specified id.
application_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "id": "7awdXwZoedakjad37a",
- "name": "King Accounting Connection",
- "name_translations": {
- "is": "King Accounting tenging",
- "fr": "Connexion King Accounting"
}, - "developer_name": "King Accounting",
- "description": "King Accounting Connection automatically syncs your Noona POS system with the King Accounting software.",
- "description_translations": {
- "is": "Samstillir sjálfvirkt Noona afgreiðslukerfið með King Accounting hugbúnaðinum.",
- "fr": "Synchronise automatiquement votre système Noona POS avec le logiciel King Accounting."
}, - "about": "string",
- "scopes": [
- "activities:read"
], - "public": true,
- "app_store": true,
- "show_in_navigation": true,
- "verticals": [
- "restaurant",
- "appointment"
], - "countries": [
- "US",
- "CA"
], - "payment_type": "free",
- "price": 1000,
- "currency": "ISK",
- "client_id": "7awdXwZoedakjad37a",
- "client_secret": "7awdXwZoedakjad37a7awdXwZoedakjad37a7awdXwZoedakjad37a",
- "approved": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Returns the metrics for the oauth application with the specified id.
application_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
{- "approved": true,
- "users": {
- "timeframe": 0,
- "timeframe_week_before": 0,
- "percent_change": 0
}, - "revenue": {
- "this_month": 0,
- "last_month": 0,
- "percent_change": 0,
- "currency": "ISK"
}
}
Returns the events for the oauth application with the specified id.
application_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) | |
object (ApplicationEventFilter) |
[- {
- "id": "7awdXwZoedakjad37a",
- "public_company": "string",
- "application": "string",
- "event": "installed",
- "created_at": "2019-08-24T14:15:22Z"
}
]
Returns the payouts for the oauth application with the specified id.
application_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "amount": 0,
- "currency": "string",
- "status": "pending",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
Returns the users for the oauth application with the specified id.
application_id required | string Example: dwawd8awudawd |
select | Array of strings |
expand | Array of strings |
object (Sort) | |
object (Pagination) |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "Best Company",
- "country": "IS"
}
]
Lists all Saltpay companies.
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "My company",
- "bank_account": {
- "id": "string",
- "enterprise_id": "7awdXwZoedakjad37a",
- "company_id": "7awdXwZoedakjad37a",
- "user_id": "7awdXwZoedakjad37a",
- "kennitala": "string",
- "bank_code": "string",
- "account_type": "string",
- "account_number": "string"
}
}
]
Lists all Saltpay stores at company.
company_id required | string Saltpay Company ID |
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "My store",
- "address": {
- "city": "Reykjavík",
- "country": "Iceland",
- "street_address_line_1": "Laugavegur 1",
- "street_address_line_2": 101,
- "zip_code": 101
}
}
]
Links a Saltpay bank account as a settlement account for the provided entity.
The entities that can be linked to a Saltpay bank account are:
Company
Payments made to that company through the Noona marketplace will be settled to the linked Saltpay bank account.
User
If a user is linked to a Saltpay bank account, and the company allows it, the user can receive payments through the Noona marketplace to the linked Saltpay bank account.
company_id required | string Saltpay Company ID |
bank_account_id required | string Saltpay Bank Account ID |
select | Array of strings |
expand | Array of strings |
enterprise_id | string Deprecated Deprecated: use company_id instead |
company_id | string The company ID tied to the bank account. |
user_id | string The user ID tied to the bank account. Note: A user can only tie a bank account to his own user ID. |
{- "enterprise_id": "7awdXwZoedakjad37a",
- "company_id": "7awdXwZoedakjad37a",
- "user_id": "7awdXwZoedakjad37a"
}
{- "id": "7awdXwZoedakjad37a",
- "name": "Main account",
- "description": "I want all the money here!",
- "ssn": "0503205160",
- "bank": "0542",
- "book": "02",
- "account": "220865",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Lists all Saltpay stores.
select | Array of strings |
expand | Array of strings |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "My store",
- "address": {
- "city": "Reykjavík",
- "country": "Iceland",
- "street_address_line_1": "Laugavegur 1",
- "street_address_line_2": 101,
- "zip_code": 101
}
}
]
Lists all Saltpay terminals at a store.
store_id required | string Store id |
select | Array of strings |
expand | Array of strings |
[- {
- "terminal_id": "7awdXwZoedakjad37a",
- "terminal_name": "string",
- "serial_number": "string",
- "issuer": "string"
}
]
Updates a Saltpay terminal. Used to control whether and how a terminal is connected to an issuer.
store_id required | string Store id |
terminal_id required | string Terminal id |
select | Array of strings |
expand | Array of strings |
issuer | string The issuer tied to the terminal. |
{- "issuer": "string"
}
{- "terminal_id": "7awdXwZoedakjad37a",
- "terminal_name": "string",
- "serial_number": "string",
- "issuer": "string"
}
Fiscalization is the process of sending data to an external system for the purpose of tax reporting.
If the transaction is not fiscalized, it will be fiscalized. If the transaction is already fiscalized, the fiscalization record will be returned.
transaction_id required | string Example: dwawd8awudawd |
select | Array of strings |
customer_tax_id | string The customer's identification number in the tax authority's system. Different between markets but an example is NIF in Portugal. |
country_code | string The customer's country code in the tax authority's system. Different between markets but an example is PT in Portugal. |
{- "customer_tax_id": "dwawd8awudawd",
- "country_code": "PT"
}
{- "id": "7awdXwZoedakjad37a",
- "company": "7awdXwZoedakjad37a",
- "data": {
- "provider": "SaltPay",
- "external_id": "da8wu89dauwd"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
Creates a credit invoice for a fiscalized transaction in the Noona system, along with a fiscalization record for the credit invoice in the tax authority's system.
If the transaction is not fiscalized, an error will be returned.
transaction_id required | string Example: dwawd8awudawd |
select | Array of strings |
{- "id": "8wa9uiah28dawd123",
- "company": "string",
- "sale": "string",
- "subtransactions": [
- "string"
], - "employees": [
- "string"
], - "line_items": [
- "string"
], - "refunds": [
- "8wa9uiah28dawd123"
], - "refund_origin": "8wa9uiah28dawd123",
- "invoice_number": 9001,
- "note": "string",
- "issuer": {
- "id": "8wa9uiah28dawd123",
- "type": "company",
- "name": "Noona cuts",
- "bin": "string",
- "legal_address": "My Street 1, 101 Reykjavik",
- "extra_invoice_info": "Some extra info to include on invoices.",
- "vat_id": "string",
- "other": "string"
}, - "fiscalization": "string",
- "currency": "ISK",
- "total_amount": 1990,
- "due_amount": 990,
- "paid_on_marketplace_amount": 1000,
- "origin": "marketplace",
- "vat_amount": 478,
- "tax_exemption_reason": "M01",
- "type": "invoice",
- "status": "draft",
- "drafted_at": "2019-08-24T14:15:22Z",
- "completed_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "voided_at": "2019-08-24T14:15:22Z"
}
Sends fiscalized transaction PDF to an email address
transaction_id required | string Example: dwawd8awudawd |
string The email address to send the PDF to. |
{- "email": "dwawd8awudawd"
}
Fetches the data fiscalization for the company.
company_id required | string Example: dwawd8awudawd |
select | Array of strings |
{- "data": {
- "provider": "SaltPay",
- "saltpay_company": "7awdXwZoedakjad37a",
- "saltpay_store": "7awdXwZoedakjad37a"
}
}
Uses the provided data to setup the fiscalization for the company.
If the company already has fiscalization data, it will be updated.
company_id required | string Example: dwawd8awudawd |
FiscalizationOnboardingDataSaltPay (object) (FiscalizationOnboardingData) |
{- "data": {
- "provider": "SaltPay",
- "saltpay_company": "7awdXwZoedakjad37a",
- "saltpay_store": "7awdXwZoedakjad37a",
- "fiscal_code": "1234567890",
- "tax_credentials_username": "username",
- "tax_credentials_password": "password",
- "series": [
- "string"
]
}
}
{- "data": {
- "provider": "SaltPay",
- "saltpay_company": "7awdXwZoedakjad37a",
- "saltpay_store": "7awdXwZoedakjad37a"
}
}
Deletes the fiscalization data for the company.
company_id required | string Example: dwawd8awudawd |
{- "data": {
- "provider": "SaltPay",
- "saltpay_company": "7awdXwZoedakjad37a",
- "saltpay_store": "7awdXwZoedakjad37a"
}
}
Downloads fiscalization report for the company over a specified period.
company_id required | string Example: dwawd8awudawd |
from required | string <date-time> Example: from=2020-01-01T00:00:00.000Z |
to required | string <date-time> Example: to=2020-02-01T00:00:00.000Z |
Gets the status of the Adyen KYC process for a company.
The onboarding process is a series of steps that must be completed before a company can receive payments through Adyen.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
{- "onboarding_link": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started",
- "error_codes": [
- "string"
], - "transfer_instrument": {
- "type": "bank_account",
- "iban": "string"
}
}
Initiates or resumes the Adyen KYC process for a company.
The onboarding process is a series of steps that must be completed before a company can receive payments through Adyen.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
redirect_url required | string The URL that Adyen should redirect to after the onboarding process is complete. |
{- "redirect_url": "string"
}
{- "onboarding_link": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started",
- "error_codes": [
- "string"
], - "transfer_instrument": {
- "type": "bank_account",
- "iban": "string"
}
}
Gets the status of the Adyen KYC process for a user.
This is only applicable for users that issue their own invoices.
The onboarding process is a series of steps that must be completed before a user can receive payments through Adyen.
user_id required | string User ID |
select | Array of strings |
expand | Array of strings |
{- "onboarding_link": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started",
- "error_codes": [
- "string"
], - "transfer_instrument": {
- "type": "bank_account",
- "iban": "string"
}
}
Initiates or resumes the Adyen KYC process for a user.
This is only applicable for users that issue their own invoices.
The onboarding process is a series of steps that must be completed before a user can receive payments through Adyen.
user_id required | string User ID |
select | Array of strings |
expand | Array of strings |
redirect_url required | string The URL that Adyen should redirect to after the onboarding process is complete. |
{- "redirect_url": "string"
}
{- "onboarding_link": "string",
- "onboarded_at": "2019-08-24T14:15:22Z",
- "onboarding_status": "not_started",
- "error_codes": [
- "string"
], - "transfer_instrument": {
- "type": "bank_account",
- "iban": "string"
}
}
Lists all Mozrest booking channels in the context of a specific company.
company_id required | string Company ID |
select | Array of strings |
expand | Array of strings |
object (MozrestQueryBehavior) |
[- {
- "id": "7awdXwZoedakjad37a",
- "name": "Tripadvisor",
- "enabled": true,
- "status": "not_enabled",
}
]
Updates a Mozrest booking channel in the context of a company.
company_id required | string Company ID |
booking_channel_id required | string Booking Channel ID |
select | Array of strings |
expand | Array of strings |
object (MozrestQueryBehavior) |
enabled required | boolean |
{- "enabled": true
}
{- "id": "7awdXwZoedakjad37a",
- "name": "Tripadvisor",
- "enabled": true,
- "status": "not_enabled",
}