ThailandHosting API
Contents

Introduction

AuthenticationErrorsBilling and limitsWebhooks

Keys

GETDescribe the calling key

Business Apps

GETGet the shopPUTChange the shop's settingsGETPayment QR for an amountGETList itemsPOSTCreate an itemPUTChange an itemDELETEDelete an itemGETList ordersPOSTCreate a counter orderPATCHChange an orderGETOrder receiptGETList table billsPOSTOpen a bill for a tablePATCHChange an open billPOSTAdd an order to a billPOSTPay and close a billGETBill receiptGETList till shiftsPOSTOpen a till shiftPOSTCount and close a shiftGETShift reportGETList branchesPOSTCreate a branchPUTChange a branchDELETEDelete a branchGETList couponsPOSTCreate a couponPUTChange a couponDELETEDelete a couponGETList membersGETGet a memberPATCHChange a memberGETSales reportGETList bookable services and room typesPOSTCreate a service or room typePUTChange a service or room typeDELETEDelete a service or room typeGETList people customers bookPOSTAdd a person customers bookPUTChange a personDELETERemove a personGETList bookingsPOSTCreate a bookingPATCHChange a bookingGETList roomsPOSTAdd rooms of a room typePUTChange a roomPOSTSet a room's housekeeping statusDELETEDelete a roomGETFront deskPOSTCheck a stay inPOSTMove a stay to another roomPOSTCheck a stay outGETList a stay's chargesPOSTCharge something to a roomDELETERemove a chargeGETStay folio

Wi-Fi Hotspot

GETList locationsGETGet a locationGETUsage statisticsGETList access codesPOSTIssue access codesPOSTVoid an access codeGETPrint access codesGETList guest contactsPUTChange a guest contactDELETEDelete a guest contact

Identity

GETList staff directoriesGETGet a directory with its users and groupsPOSTCreate a groupPUTChange a groupDELETEDelete a groupPOSTCreate a staff accountPOSTImport staff accountsPUTChange a staff accountPOSTSet or generate a passwordDELETEDelete a staff account

Schemas

All schemas

ThailandHosting API

Business Apps and Wi-Fi Hotspot for your own systems: a POS, a food ordering app, a hotel system or an HR system. Turn each API on under Integrations in the Console, create an API key, and call:

https://api.thailandhosting.com/v1

Authentication

Send a Project API key with every request. A key reaches one Project and only what its scopes allow: apps:read, apps:write, wifi:read, wifi:write (write includes read). Reads are GET; anything else is a write. Never put a key in a web page or an app your customers download.

curl https://api.thailandhosting.com/v1/key \
  -H "Authorization: Bearer thk_YOUR_KEY"

Errors

Errors are application/problem+json (RFC 9457) with a stable code for your program and a detail for people. Messages from the shop itself are in Thai.

StatuscodeMeaning
401unauthenticated, invalid_keyNo key, or a wrong, deleted or expired one
402payment_requiredThe month's free calls are used and the Project's wallet is empty
403insufficient_scope, api_disabled, account_suspendedThe key may not do this, or the API is off for the Project
404not_foundNo such endpoint or object
409conflictThe change does not fit the current state (e.g. a slot already taken)
429rate_limitedToo many calls: wait for Retry-After
503starting, unavailableThe shop's database is starting, or a passing fault: retry after Retry-After
{"title": "Forbidden", "status": 403, "code": "insufficient_scope", "detail": "This API key does not have the apps:write scope."}

Billing and limits

Calls are billed to the Project's wallet per 10,000, reads and writes priced apart, past the Project's free calls each month (the Integrations page shows the current prices and what is left). Refused calls (401, 402, 403, 429), our own errors and GET /key are free. The Business Apps API also bills its shop database by the hour at the size you pick. Each key may make about 600 calls a minute and 16 at once.

Money in the Business Apps API is in hundredths of the shop's currency: satang, or the smallest unit of kip.

Webhooks

Events are sent as a JSON POST to the HTTPS endpoints you add under Integrations. Business Apps, from the API shop and from website shops alike: order.created, order.updated, order.payment_claimed, bill.closed, booking.created, booking.cancelled, shift.closed and every other logged change (carrying shopId). Wi-Fi Hotspot: voucher.used (a code's first use; the code itself is never sent), guest.signed_in (an email or phone left on the sign-in page, with returning), box.offline and box.online (carrying locationId). Answer 2xx within 10 seconds; failures are retried for about a day. Events may arrive out of order (sort by createdAt) and more than once (skip a known id).

POST /your/endpoint
X-TH-Event: order.created
X-TH-Delivery: whd_…
X-TH-Signature: t=1760342400,v1=5f2b…

{"id": "evt_…", "type": "order.created", "createdAt": "2026-10-13T09:30:00Z", "shopId": "…", "data": {…}}

Check X-TH-Signature: v1 is the hex HMAC-SHA256 of <t>.<raw body> with your signing secret.

const crypto = require("crypto");
function verify(rawBody, header, secret) {
  const parts = Object.fromEntries(header.split(",").map(p => p.split("=")));
  const mac = crypto.createHmac("sha256", secret).update(parts.t + "." + rawBody).digest("hex");
  return crypto.timingSafeEqual(Buffer.from(mac), Buffer.from(parts.v1));
}

Keys

GET/key

Describe the calling key

The key's Project, scopes, limits and expiry. Not billed, so an integration can check its setup for free.

Response · 200 · object
Fields
FieldType
expiresAtstring (date-time)
idstring
locationIdsarray of string
namestring
projectIdstring
scopesarray of string
siteIdsarray of string
curl https://api.thailandhosting.com/v1/key \
  -H "Authorization: Bearer thk_YOUR_KEY"

Business Apps

The Project's Business Apps API shop. Turn the Business Apps API on under Integrations.

GET/apps/shopapps:read

Get the shop

Settings (shop) and what the shop runs (apps). Needs the apps:read scope.

Response · 200 · ShopInfo
Fields
FieldType
appsShopApps
itemsinteger (int64)
openBillsinteger (int64)
rentalRatesboolean
rentalRoomsinteger (int64)
resourcesinteger (int64)
roomsinteger (int64)
servicesinteger (int64)
shopShopSettings
curl https://api.thailandhosting.com/v1/apps/shop \
  -H "Authorization: Bearer thk_YOUR_KEY"
PUT/apps/shopapps:write

Change the shop's settings

Send back the shop object from GET apps/shop with your changes; it is replaced whole. Needs the apps:write scope.

Request body · application/json · ShopSettings
Fields
FieldType
billsboolean
bookingAutoConfirmboolean
bookingClosedarray of string
bookingDaysAheadinteger
bookingHoursarray of BookingDay
bookingLeadMinutesinteger
bookingOpenboolean
bookingSlotMinutesinteger
cancelHoursinteger
closedDatesarray of string
currencystring
deliveryboolean
deliveryFeeinteger (int64)
deliveryNotestring
depositPercentinteger
dineInboolean
earnPer100integer
emailLanguagestring
freeDeliveryOverinteger (int64)
hoursarray of BookingDay
laoQrstring
limitsShopLimits
lineIdstring
loyaltyboolean
namestring
noticestring
notifyBookingsboolean
notifyCustomerboolean
notifyEmailstring
notifyOrdersboolean
openboolean
payCashboolean
phonestring
pickupboolean
preorderDaysinteger
promptPayIdstring
promptPayNamestring
receiptFooterstring
receiptPrefixstring
receiptWidthinteger
redeemPointsinteger
redeemValueinteger (int64)
reminderHoursinteger
replyTostring
servicePercentinteger
smtpCheckedAtstring (date-time)
smtpErrorstring
smtpFromstring
smtpHoststring
smtpPasswordstring
smtpPortinteger
smtpSecuritystring
smtpSetboolean
smtpUsernamestring
taxAddressstring
taxIdstring
taxNamestring
updatedAtstring (date-time)
useHoursboolean
vatRateinteger
vatRegisteredboolean
Response · 200 · ShopInfo
Fields
FieldType
appsShopApps
itemsinteger (int64)
openBillsinteger (int64)
rentalRatesboolean
rentalRoomsinteger (int64)
resourcesinteger (int64)
roomsinteger (int64)
servicesinteger (int64)
shopShopSettings
curl -X PUT https://api.thailandhosting.com/v1/apps/shop \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bills":false,"bookingAutoConfirm":false,"bookingClosed":[""],"bookingDaysAhead":0,"bookingHours":[],"bookingLeadMinutes":0,"bookingOpen":false,"bookingSlotMinutes":0,"cancelHours":0,"closedDates":[""],"currency":"","delivery":false,"deliveryFee":0,"deliveryNote":"","depositPercent":0,"dineIn":false,"earnPer100":0,"emailLanguage":"","freeDeliveryOver":0,"hours":[],"laoQr":"","limits":{},"lineId":"","loyalty":false,"name":"","notice":"","notifyBookings":false,"notifyCustomer":false,"notifyEmail":"","notifyOrders":false,"open":false,"payCash":false,"phone":"","pickup":false,"preorderDays":0,"promptPayId":"","promptPayName":"","receiptFooter":"","receiptPrefix":"","receiptWidth":0,"redeemPoints":0,"redeemValue":0,"reminderHours":0,"replyTo":"","servicePercent":0,"smtpCheckedAt":"2026-10-13T09:30:00Z","smtpError":"","smtpFrom":"","smtpHost":"","smtpPassword":"","smtpPort":0,"smtpSecurity":"","smtpSet":false,"smtpUsername":"","taxAddress":"","taxId":"","taxName":"","updatedAt":"2026-10-13T09:30:00Z","useHours":false,"vatRate":0,"vatRegistered":false}'
GET/apps/payment-qrapps:read

Payment QR for an amount

The shop's (or a branch's) PromptPay, or LaoQR for a kip shop: payload is the EMV text to draw, qr the same as SVG. Money is in hundredths of the shop's currency (satang, or att for kip). Needs the apps:read scope.

Parameters
NameInDescription
amountqueryRequired. The amount, in hundredths of the shop's currency.
branchqueryOnly this branch.
Response · 200 · object
Fields
FieldType
amountinteger (int64)
currencystring
qrPromptPayQR
curl https://api.thailandhosting.com/v1/apps/payment-qr \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/itemsapps:read

List items

Needs the apps:read scope.

Response · 200 · array of ShopItemView
curl https://api.thailandhosting.com/v1/apps/items \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/itemsapps:write

Create an item

Price in hundredths of the currency; stock null means not tracked. Needs the apps:write scope.

Request body · application/json · ShopItemInput
Fields
FieldType
availableboolean
categorystring
descriptionstring
imagestring
namestring
optionsarray of ShopOption
positioninteger
priceinteger (int64)
stockinteger
wifiWifiTerms
Response · 201 · ShopItemView
Fields
FieldType
availableboolean
categorystring
createdAtstring (date-time)
descriptionstring
idstring
imagestring
namestring
optionsarray of ShopOption
positioninteger
priceinteger (int64)
stockinteger
updatedAtstring (date-time)
wifiWifiTerms
curl -X POST https://api.thailandhosting.com/v1/apps/items \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Latte","category":"Coffee","price":6500,"available":true,"stock":null}'
PUT/apps/items/{item}apps:write

Change an item

Needs the apps:write scope.

Parameters
NameInDescription
item requiredpath
Request body · application/json · ShopItemInput
Fields
FieldType
availableboolean
categorystring
descriptionstring
imagestring
namestring
optionsarray of ShopOption
positioninteger
priceinteger (int64)
stockinteger
wifiWifiTerms
Response · 200 · ShopItemView
Fields
FieldType
availableboolean
categorystring
createdAtstring (date-time)
descriptionstring
idstring
imagestring
namestring
optionsarray of ShopOption
positioninteger
priceinteger (int64)
stockinteger
updatedAtstring (date-time)
wifiWifiTerms
curl -X PUT https://api.thailandhosting.com/v1/apps/items/ITEM_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"available":false,"category":"","description":"","image":"","name":"","options":[],"position":0,"price":0,"stock":0,"wifi":{}}'
DELETE/apps/items/{item}apps:write

Delete an item

Needs the apps:write scope.

Parameters
NameInDescription
item requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/apps/items/ITEM_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/ordersapps:read

List orders

Open orders and the last 12 hours; view=all pages through every order, 200 at a time. Needs the apps:read scope.

Parameters
NameInDescription
viewqueryall for every order.
beforequeryWith view=all: entries older than this time (RFC 3339), for the next page.
Response · 200 · array of ShopOrderView
curl https://api.thailandhosting.com/v1/apps/orders \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/ordersapps:write

Create a counter order

Items by id with qty and the chosen option indexes; payment cash, promptpay, transfer or card. Money is in hundredths of the shop's currency (satang, or att for kip). receiptPath/reportPath are the Console's own links; with the API use the receipt and report routes. Needs the apps:write scope.

Request body · application/json · ShopOrderInput
Fields
FieldType
addressstring
billstring
branchstring
couponstring
emailstring
expectTotalinteger (int64)
fulfilmentstring
itemsarray of object
keystring
memberstring
namestring
notestring
paymentstring
phonestring
pointsinteger
powShopPow
tablestring
wantedAtstring
Response · 201 · object
Fields
FieldType
orderShopOrderView
receiptPathstring
curl -X POST https://api.thailandhosting.com/v1/apps/orders \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"id":"ITEM_ID","qty":2}],"fulfilment":"pickup","payment":"cash","name":"Walk-in"}'
PATCH/apps/orders/{order}apps:write

Change an order

Status (new, preparing, ready, shipped, completed, cancelled), paid, refund (with a reason), carrier and tracking. A change that needs a manager's approval answers 403 with the reason. Needs the apps:write scope.

Parameters
NameInDescription
order requiredpath
Request body · application/json · OrderUpdateInput
Fields
FieldType
carrierstring
paidboolean
reasonstring
refundboolean
statusstring
trackingstring
Response · 200 · ShopOrderView
Fields
FieldType
addressstring
billIdstring
branchIdstring
carrierstring
couponCodestring
createdAtstring (date-time)
currencystring
customerEmailstring
customerNamestring
customerPhonestring
deliveryFeeinteger (int64)
discountinteger (int64)
fulfilmentstring
idstring
linesarray of ShopLine
notestring
numberinteger
paidboolean
paymentstring
paymentClaimedboolean
pointsEarnedinteger
pointsUsedinteger
preorderboolean
receiptNostring
shiftIdstring
statusstring
tableLabelstring
totalinteger (int64)
trackingstring
updatedAtstring (date-time)
updatedBystring
vatAmountinteger (int64)
wantedAtstring (date-time)
curl -X PATCH https://api.thailandhosting.com/v1/apps/orders/ORDER_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"paid":true,"status":"completed"}'
GET/apps/orders/{order}/receiptapps:read

Order receipt

A printable HTML page; the receipt is numbered the first time it is printed. Needs the apps:read scope.

Parameters
NameInDescription
order requiredpath
Response · 200 · text/html (a printable page)
curl https://api.thailandhosting.com/v1/apps/orders/ORDER_ID/receipt \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/billsapps:read

List table bills

Needs the apps:read scope.

Parameters
NameInDescription
branchqueryOnly this branch.
viewqueryclosed for closed bills.
Response · 200 · BillsView
Fields
FieldType
billsarray of BillRow
tablesarray of string
curl https://api.thailandhosting.com/v1/apps/bills \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/billsapps:write

Open a bill for a table

Needs the apps:write scope.

Request body · application/json · BillOpenInput
Fields
FieldType
branchstring
guestsinteger
notestring
tablestring
Response · 201 · BillRow
Fields
FieldType
branchIdstring
closedAtstring (date-time)
closedBystring
createdAtstring (date-time)
discountinteger (int64)
dueinteger (int64)
guestsinteger
idstring
itemsinteger (int64)
linesarray of ShopLine
notestring
numberinteger
openedBystring
orderCountinteger
paidboolean
paymentstring
qrPathstring
receiptNostring
serviceinteger (int64)
serviceFeeinteger (int64)
statusstring
tableLabelstring
totalinteger (int64)
updatedAtstring (date-time)
curl -X POST https://api.thailandhosting.com/v1/apps/bills \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"table":"A3","guests":2}'
PATCH/apps/bills/{bill}apps:write

Change an open bill

Table, guests, note, discount. Money is in hundredths of the shop's currency (satang, or att for kip). Needs the apps:write scope.

Parameters
NameInDescription
bill requiredpath
Request body · application/json · BillUpdateInput
Fields
FieldType
discountinteger (int64)
guestsinteger
notestring
reasonstring
tablestring
Response · 200 · BillRow
Fields
FieldType
branchIdstring
closedAtstring (date-time)
closedBystring
createdAtstring (date-time)
discountinteger (int64)
dueinteger (int64)
guestsinteger
idstring
itemsinteger (int64)
linesarray of ShopLine
notestring
numberinteger
openedBystring
orderCountinteger
paidboolean
paymentstring
qrPathstring
receiptNostring
serviceinteger (int64)
serviceFeeinteger (int64)
statusstring
tableLabelstring
totalinteger (int64)
updatedAtstring (date-time)
curl -X PATCH https://api.thailandhosting.com/v1/apps/bills/BILL_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"discount":0,"guests":0,"note":"","reason":"","table":""}'
POST/apps/bills/{bill}/ordersapps:write

Add an order to a bill

Needs the apps:write scope.

Parameters
NameInDescription
bill requiredpath
Request body · application/json · ShopOrderInput
Fields
FieldType
addressstring
billstring
branchstring
couponstring
emailstring
expectTotalinteger (int64)
fulfilmentstring
itemsarray of object
keystring
memberstring
namestring
notestring
paymentstring
phonestring
pointsinteger
powShopPow
tablestring
wantedAtstring
Response · 201 · object
Fields
FieldType
orderShopOrderView
receiptPathstring
curl -X POST https://api.thailandhosting.com/v1/apps/bills/BILL_ID/orders \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"id":"ITEM_ID","qty":1}],"payment":"cash"}'
POST/apps/bills/{bill}/closeapps:write

Pay and close a bill

Every order on it is completed and paid. receiptPath/reportPath are the Console's own links; with the API use the receipt and report routes. Needs the apps:write scope.

Parameters
NameInDescription
bill requiredpath
Request body · application/json · BillCloseInput
Fields
FieldType
paidboolean
paymentstring
phonestring
roomstring
Response · 200 · object
Fields
FieldType
billBillRow
receiptPathstring
curl -X POST https://api.thailandhosting.com/v1/apps/bills/BILL_ID/close \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"payment":"promptpay","paid":true}'
GET/apps/bills/{bill}/receiptapps:read

Bill receipt

A printable HTML page; the receipt is numbered the first time it is printed. Needs the apps:read scope.

Parameters
NameInDescription
bill requiredpath
Response · 200 · text/html (a printable page)
curl https://api.thailandhosting.com/v1/apps/bills/BILL_ID/receipt \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/shiftsapps:read

List till shifts

Needs the apps:read scope.

Parameters
NameInDescription
branchqueryOnly this branch.
Response · 200 · array of ShiftView
curl https://api.thailandhosting.com/v1/apps/shifts \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/shiftsapps:write

Open a till shift

With the float in the drawer. Money is in hundredths of the shop's currency (satang, or att for kip). Needs the apps:write scope.

Request body · application/json · ShiftOpenInput
Fields
FieldType
branchstring
namestring
openingFloatinteger (int64)
Response · 201 · ShiftView
Fields
FieldType
branchIdstring
branchNamestring
closedAtstring (date-time)
closedBystring
countedCashinteger (int64)
idstring
namestring
notestring
openedAtstring (date-time)
openedBystring
openingFloatinteger (int64)
totalsShiftTotals
curl -X POST https://api.thailandhosting.com/v1/apps/shifts \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Morning","openingFloat":200000}'
POST/apps/shifts/{shift}/closeapps:write

Count and close a shift

Open bills are in the way unless force is set. receiptPath/reportPath are the Console's own links; with the API use the receipt and report routes. Needs the apps:write scope.

Parameters
NameInDescription
shift requiredpath
Request body · application/json · ShiftCloseInput
Fields
FieldType
countedCashinteger (int64)
forceboolean
notestring
Response · 200 · object
Fields
FieldType
reportPathstring
shiftShiftView
curl -X POST https://api.thailandhosting.com/v1/apps/shifts/SHIFT_ID/close \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"countedCash":458000,"note":""}'
GET/apps/shifts/{shift}/reportapps:read

Shift report

The printable close-of-shift slip. Needs the apps:read scope.

Parameters
NameInDescription
shift requiredpath
Response · 200 · text/html (a printable page)
curl https://api.thailandhosting.com/v1/apps/shifts/SHIFT_ID/report \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/branchesapps:read

List branches

Needs the apps:read scope.

Response · 200 · BranchesView
Fields
FieldType
allowedinteger
branchesarray of BranchView
chargeinteger (int64)
includedinteger
maxinteger
paidinteger
priceinteger (int64)
curl https://api.thailandhosting.com/v1/apps/branches \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/branchesapps:write

Create a branch

Needs the apps:write scope.

Request body · application/json · BranchInput
Fields
FieldType
activeboolean
addressstring
closedDatesarray of string
deliveryboolean
deliveryFeeinteger (int64)
dineInboolean
hoursarray of BookingDay
laoQrstring
mapUrlstring
namestring
openboolean
phonestring
pickupboolean
positioninteger
promptPayIdstring
promptPayNamestring
useHoursboolean
Response · 201 · object
Fields
FieldType
branchBranchView
messagestring
walletChargeinteger (int64)
curl -X POST https://api.thailandhosting.com/v1/apps/branches \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"active":false,"address":"","closedDates":[""],"delivery":false,"deliveryFee":0,"dineIn":false,"hours":[],"laoQr":"","mapUrl":"","name":"","open":false,"phone":"","pickup":false,"position":0,"promptPayId":"","promptPayName":"","useHours":false}'
PUT/apps/branches/{branch}apps:write

Change a branch

Needs the apps:write scope.

Parameters
NameInDescription
branch requiredpath
Request body · application/json · BranchInput
Fields
FieldType
activeboolean
addressstring
closedDatesarray of string
deliveryboolean
deliveryFeeinteger (int64)
dineInboolean
hoursarray of BookingDay
laoQrstring
mapUrlstring
namestring
openboolean
phonestring
pickupboolean
positioninteger
promptPayIdstring
promptPayNamestring
useHoursboolean
Response · 200 · BranchView
Fields
FieldType
activeboolean
addressstring
closedDatesarray of string
createdAtstring (date-time)
deliveryboolean
deliveryFeeinteger (int64)
dineInboolean
hoursarray of BookingDay
idstring
laoQrstring
mapUrlstring
namestring
openboolean
phonestring
pickupboolean
positioninteger
promptPayIdstring
promptPayNamestring
updatedAtstring (date-time)
useHoursboolean
curl -X PUT https://api.thailandhosting.com/v1/apps/branches/BRANCH_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"active":false,"address":"","closedDates":[""],"delivery":false,"deliveryFee":0,"dineIn":false,"hours":[],"laoQr":"","mapUrl":"","name":"","open":false,"phone":"","pickup":false,"position":0,"promptPayId":"","promptPayName":"","useHours":false}'
DELETE/apps/branches/{branch}apps:write

Delete a branch

Needs the apps:write scope.

Parameters
NameInDescription
branch requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/apps/branches/BRANCH_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/couponsapps:read

List coupons

Needs the apps:read scope.

Response · 200 · array of ShopCoupon
curl https://api.thailandhosting.com/v1/apps/coupons \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/couponsapps:write

Create a coupon

Needs the apps:write scope.

Request body · application/json · CouponInput
Fields
FieldType
activeboolean
appliesstring
codestring
endsAtstring
kindstring
maxUsesinteger
minTotalinteger (int64)
perPhoneinteger
startsAtstring
valueinteger (int64)
Response · 201 · ShopCoupon
Fields
FieldType
activeboolean
appliesstring
codestring
createdAtstring (date-time)
endsAtstring (date-time)
idstring
kindstring
maxUsesinteger
minTotalinteger (int64)
perPhoneinteger
startsAtstring (date-time)
updatedAtstring (date-time)
usedinteger
valueinteger (int64)
curl -X POST https://api.thailandhosting.com/v1/apps/coupons \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"code":"WELCOME10","kind":"percent","value":10,"applies":"orders","active":true}'
PUT/apps/coupons/{coupon}apps:write

Change a coupon

Needs the apps:write scope.

Parameters
NameInDescription
coupon requiredpath
Request body · application/json · CouponInput
Fields
FieldType
activeboolean
appliesstring
codestring
endsAtstring
kindstring
maxUsesinteger
minTotalinteger (int64)
perPhoneinteger
startsAtstring
valueinteger (int64)
Response · 200 · ShopCoupon
Fields
FieldType
activeboolean
appliesstring
codestring
createdAtstring (date-time)
endsAtstring (date-time)
idstring
kindstring
maxUsesinteger
minTotalinteger (int64)
perPhoneinteger
startsAtstring (date-time)
updatedAtstring (date-time)
usedinteger
valueinteger (int64)
curl -X PUT https://api.thailandhosting.com/v1/apps/coupons/COUPON_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"active":false,"applies":"","code":"","endsAt":"","kind":"","maxUses":0,"minTotal":0,"perPhone":0,"startsAt":"","value":0}'
DELETE/apps/coupons/{coupon}apps:write

Delete a coupon

Needs the apps:write scope.

Parameters
NameInDescription
coupon requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/apps/coupons/COUPON_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/customersapps:read

List members

Loyalty members, by phone number. Needs the apps:read scope.

Parameters
NameInDescription
qquerySearch by name or phone.
Response · 200 · array of ShopCustomer
curl https://api.thailandhosting.com/v1/apps/customers \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/customers/{member}apps:read

Get a member

With their points history. Needs the apps:read scope.

Parameters
NameInDescription
member requiredpath
Response · 200 · ShopMemberView
Fields
FieldType
createdAtstring (date-time)
emailstring
idstring
lastSeenAtstring (date-time)
namestring
notestring
phonestring
pointsinteger
recentarray of ShopPointEntry
totalSpentinteger (int64)
visitsinteger
curl https://api.thailandhosting.com/v1/apps/customers/MEMBER_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
PATCH/apps/customers/{member}apps:write

Change a member

Add or take points (with a reason), name and note. Needs the apps:write scope.

Parameters
NameInDescription
member requiredpath
Request body · application/json · CustomerAdjustInput
Fields
FieldType
namestring
notestring
pointsinteger
reasonstring
Response · 200 · ShopCustomer
Fields
FieldType
createdAtstring (date-time)
emailstring
idstring
lastSeenAtstring (date-time)
namestring
notestring
phonestring
pointsinteger
totalSpentinteger (int64)
visitsinteger
curl -X PATCH https://api.thailandhosting.com/v1/apps/customers/MEMBER_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"points":50,"reason":"Birthday bonus"}'
GET/apps/reportapps:read

Sales report

Needs the apps:read scope.

Parameters
NameInDescription
branchqueryOnly this branch.
monthqueryYYYY-MM.
rangequerytoday, yesterday, week or month.
fromqueryFirst day, YYYY-MM-DD.
toqueryLast day, YYYY-MM-DD.
Response · 200 · ShopReport
Fields
FieldType
averageinteger (int64)
bookingPaidinteger (int64)
bookingRevenueinteger (int64)
bookingsinteger
bookingsLostinteger
branchesarray of ReportRow
categoriesarray of ReportRow
creditNotesinteger
creditTotalinteger (int64)
currencystring
daysarray of ReportDay
discountsinteger (int64)
fromstring
hoursarray of ReportHour
monthstring
orderPaidinteger (int64)
orderRevenueinteger (int64)
ordersinteger
ordersCancelledinteger
otherCurrencyinteger
paymentsarray of ReportRow
pointsEarnedinteger
pointsUsedinteger
staffarray of ReportRow
tostring
topItemsarray of ReportRow
topResourcesarray of ReportRow
vatinteger (int64)
curl https://api.thailandhosting.com/v1/apps/report \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/resourcesapps:read

List bookable services and room types

Needs the apps:read scope.

Response · 200 · array of ResourceView
curl https://api.thailandhosting.com/v1/apps/resources \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/resourcesapps:write

Create a service or room type

Needs the apps:write scope.

Request body · application/json · ResourceInput
Fields
FieldType
availableboolean
branchIdstring
capacityinteger
depositinteger (int64)
descriptionstring
durationMinutesinteger
icalLinksarray of IcalLink
icalUrlsarray of string
imagestring
kindstring
maxGuestsinteger
namestring
positioninteger
priceinteger (int64)
staffarray of string
Response · 201 · ResourceView
Fields
FieldType
availableboolean
branchIdstring
capacityinteger
createdAtstring (date-time)
depositinteger (int64)
descriptionstring
durationMinutesinteger
icalErrorstring
icalExportstring
icalLinksarray of IcalLinkView
icalSyncedAtstring (date-time)
idstring
imagestring
kindstring
maxGuestsinteger
namestring
positioninteger
priceinteger (int64)
updatedAtstring (date-time)
curl -X POST https://api.thailandhosting.com/v1/apps/resources \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"available":false,"branchId":"","capacity":0,"deposit":0,"description":"","durationMinutes":0,"icalLinks":[],"icalUrls":[""],"image":"","kind":"","maxGuests":0,"name":"","position":0,"price":0,"staff":[""]}'
PUT/apps/resources/{res}apps:write

Change a service or room type

Needs the apps:write scope.

Parameters
NameInDescription
res requiredpath
Request body · application/json · ResourceInput
Fields
FieldType
availableboolean
branchIdstring
capacityinteger
depositinteger (int64)
descriptionstring
durationMinutesinteger
icalLinksarray of IcalLink
icalUrlsarray of string
imagestring
kindstring
maxGuestsinteger
namestring
positioninteger
priceinteger (int64)
staffarray of string
Response · 200 · ResourceView
Fields
FieldType
availableboolean
branchIdstring
capacityinteger
createdAtstring (date-time)
depositinteger (int64)
descriptionstring
durationMinutesinteger
icalErrorstring
icalExportstring
icalLinksarray of IcalLinkView
icalSyncedAtstring (date-time)
idstring
imagestring
kindstring
maxGuestsinteger
namestring
positioninteger
priceinteger (int64)
updatedAtstring (date-time)
curl -X PUT https://api.thailandhosting.com/v1/apps/resources/RES_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"available":false,"branchId":"","capacity":0,"deposit":0,"description":"","durationMinutes":0,"icalLinks":[],"icalUrls":[""],"image":"","kind":"","maxGuests":0,"name":"","position":0,"price":0,"staff":[""]}'
DELETE/apps/resources/{res}apps:write

Delete a service or room type

Needs the apps:write scope.

Parameters
NameInDescription
res requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/apps/resources/RES_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/staffapps:read

List people customers book

Needs the apps:read scope.

Response · 200 · array of BookingStaffRow
curl https://api.thailandhosting.com/v1/apps/staff \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/staffapps:write

Add a person customers book

Needs the apps:write scope.

Request body · application/json · StaffInput
Fields
FieldType
availableboolean
branchIdstring
hoursarray of BookingDay
imagestring
namestring
positioninteger
titlestring
useHoursboolean
Response · 201 · BookingStaffRow
Fields
FieldType
availableboolean
branchIdstring
createdAtstring (date-time)
hoursarray of BookingDay
idstring
imagestring
namestring
positioninteger
titlestring
updatedAtstring (date-time)
useHoursboolean
curl -X POST https://api.thailandhosting.com/v1/apps/staff \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"available":false,"branchId":"","hours":[],"image":"","name":"","position":0,"title":"","useHours":false}'
PUT/apps/staff/{staff}apps:write

Change a person

Needs the apps:write scope.

Parameters
NameInDescription
staff requiredpath
Request body · application/json · StaffInput
Fields
FieldType
availableboolean
branchIdstring
hoursarray of BookingDay
imagestring
namestring
positioninteger
titlestring
useHoursboolean
Response · 200 · BookingStaffRow
Fields
FieldType
availableboolean
branchIdstring
createdAtstring (date-time)
hoursarray of BookingDay
idstring
imagestring
namestring
positioninteger
titlestring
updatedAtstring (date-time)
useHoursboolean
curl -X PUT https://api.thailandhosting.com/v1/apps/staff/STAFF_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"available":false,"branchId":"","hours":[],"image":"","name":"","position":0,"title":"","useHours":false}'
DELETE/apps/staff/{staff}apps:write

Remove a person

Needs the apps:write scope.

Parameters
NameInDescription
staff requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/apps/staff/STAFF_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/bookingsapps:read

List bookings

Upcoming, in progress and pending bookings, soonest first; view=all pages through every booking, newest first. Needs the apps:read scope.

Parameters
NameInDescription
viewqueryall for every booking.
beforequeryWith view=all: entries older than this time (RFC 3339), for the next page.
Response · 200 · array of Booking
curl https://api.thailandhosting.com/v1/apps/bookings \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/bookingsapps:write

Create a booking

Confirmed at once, for a phone or walk-in booking. Money is in hundredths of the shop's currency (satang, or att for kip). Needs the apps:write scope.

Request body · application/json · BookingInput
Fields
FieldType
blockstring
branchstring
channelstring
checkInstring
checkOutstring
couponstring
datestring
emailstring
guestsinteger
keystring
memberstring
namestring
notestring
paymentstring
phonestring
pointsinteger
powShopPow
resourcestring
staffstring
timestring
Response · 201 · Booking
Fields
FieldType
branchIdstring
cancelledBystring
channelstring
checkedInAtstring (date-time)
checkedOutAtstring (date-time)
couponCodestring
createdAtstring (date-time)
currencystring
customerEmailstring
customerNamestring
customerPhonestring
depositinteger (int64)
discountinteger (int64)
endsAtstring (date-time)
guestsinteger
idstring
kindstring
notestring
numberinteger
paidboolean
paymentstring
paymentClaimedboolean
pointsEarnedinteger
pointsUsedinteger
remindedAtstring (date-time)
resourceIdstring
resourceNamestring
settledboolean
settledPaymentstring
sourcestring
staffIdstring
staffNamestring
startsAtstring (date-time)
statusstring
totalinteger (int64)
unitIdstring
updatedAtstring (date-time)
updatedBystring
curl -X POST https://api.thailandhosting.com/v1/apps/bookings \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"resource":"RESOURCE_ID","date":"2027-01-15","time":"14:30","guests":1,"name":"Somchai","phone":"0812345678"}'
PATCH/apps/bookings/{booking}apps:write

Change a booking

Status (pending, confirmed, completed, cancelled, no_show), paid, reason. Needs the apps:write scope.

Parameters
NameInDescription
booking requiredpath
Request body · application/json · BookingUpdateInput
Fields
FieldType
paidboolean
reasonstring
statusstring
Response · 200 · Booking
Fields
FieldType
branchIdstring
cancelledBystring
channelstring
checkedInAtstring (date-time)
checkedOutAtstring (date-time)
couponCodestring
createdAtstring (date-time)
currencystring
customerEmailstring
customerNamestring
customerPhonestring
depositinteger (int64)
discountinteger (int64)
endsAtstring (date-time)
guestsinteger
idstring
kindstring
notestring
numberinteger
paidboolean
paymentstring
paymentClaimedboolean
pointsEarnedinteger
pointsUsedinteger
remindedAtstring (date-time)
resourceIdstring
resourceNamestring
settledboolean
settledPaymentstring
sourcestring
staffIdstring
staffNamestring
startsAtstring (date-time)
statusstring
totalinteger (int64)
unitIdstring
updatedAtstring (date-time)
updatedBystring
curl -X PATCH https://api.thailandhosting.com/v1/apps/bookings/BOOKING_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"completed","paid":true}'
GET/apps/unitsapps:read

List rooms

Needs the apps:read scope.

Response · 200 · array of BookingUnit
curl https://api.thailandhosting.com/v1/apps/units \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/unitsapps:write

Add rooms of a room type

Needs the apps:write scope.

Request body · application/json · UnitsCreateInput
Fields
FieldType
namesarray of string
resourcestring
Response · 201 · array of BookingUnit
curl -X POST https://api.thailandhosting.com/v1/apps/units \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"names":[""],"resource":""}'
PUT/apps/units/{unit}apps:write

Change a room

Needs the apps:write scope.

Parameters
NameInDescription
unit requiredpath
Request body · application/json · UnitUpdateInput
Fields
FieldType
namestring
notestring
positioninteger
Response · 200 · BookingUnit
Fields
FieldType
createdAtstring (date-time)
idstring
namestring
notestring
positioninteger
resourceIdstring
statusstring
updatedAtstring (date-time)
curl -X PUT https://api.thailandhosting.com/v1/apps/units/UNIT_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"","note":"","position":0}'
POST/apps/units/{unit}/statusapps:write

Set a room's housekeeping status

Needs the apps:write scope.

Parameters
NameInDescription
unit requiredpath
Request body · application/json · UnitStatusInput
Fields
FieldType
statusstring
Response · 200 · BookingUnit
Fields
FieldType
createdAtstring (date-time)
idstring
namestring
notestring
positioninteger
resourceIdstring
statusstring
updatedAtstring (date-time)
curl -X POST https://api.thailandhosting.com/v1/apps/units/UNIT_ID/status \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":""}'
DELETE/apps/units/{unit}apps:write

Delete a room

Needs the apps:write scope.

Parameters
NameInDescription
unit requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/apps/units/UNIT_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/frontdeskapps:read

Front desk

Today's arrivals, stays and departures, and every room's state. Needs the apps:read scope.

Parameters
NameInDescription
branchqueryOnly this branch.
datequeryThe day, YYYY-MM-DD.
Response · 200 · FrontDeskView
Fields
FieldType
arrivalsarray of DeskBooking
blocksarray of DeskBlock
datestring
departuresarray of DeskBooking
inHousearray of DeskBooking
typesarray of DeskType
unitsarray of DeskUnit
curl https://api.thailandhosting.com/v1/apps/frontdesk \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/bookings/{booking}/checkinapps:write

Check a stay in

Needs the apps:write scope.

Parameters
NameInDescription
booking requiredpath
Request body · application/json · CheckInInput
Fields
FieldType
dirtyboolean
unitstring
Response · 200 · Booking
Fields
FieldType
branchIdstring
cancelledBystring
channelstring
checkedInAtstring (date-time)
checkedOutAtstring (date-time)
couponCodestring
createdAtstring (date-time)
currencystring
customerEmailstring
customerNamestring
customerPhonestring
depositinteger (int64)
discountinteger (int64)
endsAtstring (date-time)
guestsinteger
idstring
kindstring
notestring
numberinteger
paidboolean
paymentstring
paymentClaimedboolean
pointsEarnedinteger
pointsUsedinteger
remindedAtstring (date-time)
resourceIdstring
resourceNamestring
settledboolean
settledPaymentstring
sourcestring
staffIdstring
staffNamestring
startsAtstring (date-time)
statusstring
totalinteger (int64)
unitIdstring
updatedAtstring (date-time)
updatedBystring
curl -X POST https://api.thailandhosting.com/v1/apps/bookings/BOOKING_ID/checkin \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"dirty":false,"unit":""}'
POST/apps/bookings/{booking}/moveapps:write

Move a stay to another room

Needs the apps:write scope.

Parameters
NameInDescription
booking requiredpath
Request body · application/json · MoveRoomInput
Fields
FieldType
unitstring
Response · 200 · Booking
Fields
FieldType
branchIdstring
cancelledBystring
channelstring
checkedInAtstring (date-time)
checkedOutAtstring (date-time)
couponCodestring
createdAtstring (date-time)
currencystring
customerEmailstring
customerNamestring
customerPhonestring
depositinteger (int64)
discountinteger (int64)
endsAtstring (date-time)
guestsinteger
idstring
kindstring
notestring
numberinteger
paidboolean
paymentstring
paymentClaimedboolean
pointsEarnedinteger
pointsUsedinteger
remindedAtstring (date-time)
resourceIdstring
resourceNamestring
settledboolean
settledPaymentstring
sourcestring
staffIdstring
staffNamestring
startsAtstring (date-time)
statusstring
totalinteger (int64)
unitIdstring
updatedAtstring (date-time)
updatedBystring
curl -X POST https://api.thailandhosting.com/v1/apps/bookings/BOOKING_ID/move \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"unit":""}'
POST/apps/bookings/{booking}/checkoutapps:write

Check a stay out

Needs the apps:write scope.

Parameters
NameInDescription
booking requiredpath
Request body · application/json · CheckOutInput
Fields
FieldType
paidboolean
paymentstring
Response · 200 · Booking
Fields
FieldType
branchIdstring
cancelledBystring
channelstring
checkedInAtstring (date-time)
checkedOutAtstring (date-time)
couponCodestring
createdAtstring (date-time)
currencystring
customerEmailstring
customerNamestring
customerPhonestring
depositinteger (int64)
discountinteger (int64)
endsAtstring (date-time)
guestsinteger
idstring
kindstring
notestring
numberinteger
paidboolean
paymentstring
paymentClaimedboolean
pointsEarnedinteger
pointsUsedinteger
remindedAtstring (date-time)
resourceIdstring
resourceNamestring
settledboolean
settledPaymentstring
sourcestring
staffIdstring
staffNamestring
startsAtstring (date-time)
statusstring
totalinteger (int64)
unitIdstring
updatedAtstring (date-time)
updatedBystring
curl -X POST https://api.thailandhosting.com/v1/apps/bookings/BOOKING_ID/checkout \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"paid":false,"payment":""}'
GET/apps/bookings/{booking}/chargesapps:read

List a stay's charges

Needs the apps:read scope.

Parameters
NameInDescription
booking requiredpath
Response · 200 · object
Fields
FieldType
chargesarray of BookingCharge
paidUpFrontinteger (int64)
totalinteger (int64)
curl https://api.thailandhosting.com/v1/apps/bookings/BOOKING_ID/charges \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/apps/bookings/{booking}/chargesapps:write

Charge something to a room

Needs the apps:write scope.

Parameters
NameInDescription
booking requiredpath
Request body · application/json · ChargeAddInput
Fields
FieldType
amountinteger (int64)
descriptionstring
Response · 201 · BookingCharge
Fields
FieldType
amountinteger (int64)
billIdstring
bookingIdstring
createdAtstring (date-time)
createdBystring
descriptionstring
idstring
curl -X POST https://api.thailandhosting.com/v1/apps/bookings/BOOKING_ID/charges \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount":0,"description":""}'
DELETE/apps/bookings/{booking}/charges/{charge}apps:write

Remove a charge

Needs the apps:write scope.

Parameters
NameInDescription
booking requiredpath
charge requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/apps/bookings/BOOKING_ID/charges/CHARGE_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/apps/bookings/{booking}/folioapps:read

Stay folio

The printable bill of a stay. Needs the apps:read scope.

Parameters
NameInDescription
booking requiredpath
Response · 200 · text/html (a printable page)
curl https://api.thailandhosting.com/v1/apps/bookings/BOOKING_ID/folio \
  -H "Authorization: Bearer thk_YOUR_KEY"

Wi-Fi Hotspot

The Project's Wi-Fi locations. Turn the Wi-Fi Hotspot API on under Integrations.

GET/wifi/locationswifi:read

List locations

The locations the key reaches. Needs the wifi:read scope.

Response · 200 · array of WifiLocationView
curl https://api.thailandhosting.com/v1/wifi/locations \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/wifi/locations/{id}wifi:read

Get a location

With its devices online in the last day. Needs the wifi:read scope.

Parameters
NameInDescription
id requiredpath
Response · 200 · WifiDetail
Fields
FieldType
acctMissingSincestring (date-time)
billingPeriodstring
boxWifiBoxView
boxListarray of WifiBoxView
boxSetupWifiBoxSetup
boxStatestring
boxesinteger
branchIdstring
bypassarray of Bypass
canManageBillingboolean
connectionstring
contractboolean
createdAtstring (date-time)
devicesinteger
directorystring
directoryIdstring
eapWifiEAPView
idstring
lastSeenAtstring (date-time)
lastSourceIpstring
linkedSitestring
logGbHoursnumber
logPeriodstring
logsWifiLogView
lookLook
manualCodesinteger (int64)
maxDevicesinteger
modestring
monthlyinteger (int64)
namestring
nasIdentifierstring
nextBillAtstring (date-time)
onlineinteger (int64)
overCyclesinteger
overflowstring
packagestring
packageInfoWifiPackage
packageNamestring
paidUntilstring (date-time)
passesWifiPasses
pausedForstring
paygCostinteger (int64)
paygDeviceMinutesinteger (int64)
paygHeldboolean
paygHourMicrointeger (int64)
paygHoursnumber
paygPeriodstring
paygThresholdinteger
peakDevicesinteger
peakPeriodstring
pendingWifiPendingView
pendingDevicesinteger
pendingFromstring (date-time)
pendingOffboolean
pendingPackagestring
portalWifiPortalView
portalDomainstring
portalDomainVerifiedboolean
portalShopPortalShopView
portalSlugstring
productstring
projectIdstring
radiusstring
radiusSecretstring
retentionDaysinteger
sessionsarray of WifiSession
setupWifiSetup
siteIdstring
statusstring
teamOnboolean
updatedAtstring (date-time)
upgradeWifiUpgradeView
vendorstring
welcomestring
curl https://api.thailandhosting.com/v1/wifi/locations/ID_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/wifi/locations/{id}/statswifi:read

Usage statistics

Needs the wifi:read scope.

Parameters
NameInDescription
id requiredpath
rangequery24h, 7d, 30d, 90d or 1y.
Response · 200 · WifiStatsView
Fields
FieldType
busiestarray of number
canSeeTopboolean
daysarray of WifiStatsPoint
methodsmap of integer (int64)
noAccountingboolean
rangestring
seriesarray of WifiStatsPoint
sincestring (date-time)
stepstring
toparray of WifiTopUser
totalsWifiStatsTotals
curl https://api.thailandhosting.com/v1/wifi/locations/ID_ID/stats \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/wifi/locations/{id}/voucherswifi:read

List access codes

Needs the wifi:read scope.

Parameters
NameInDescription
id requiredpath
batchqueryOnly this batch.
Response · 200 · object
Fields
FieldType
batchesarray of object
vouchersarray of WifiVoucher
curl https://api.thailandhosting.com/v1/wifi/locations/ID_ID/vouchers \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/wifi/locations/{id}/voucherswifi:write

Issue access codes

count codes, each good for minutes after first use, on up to devices devices at once. Needs the wifi:write scope.

Parameters
NameInDescription
id requiredpath
Request body · application/json · VoucherCreateInput
Fields
FieldType
countinteger
devicesinteger
downMbpsnumber
minutesinteger
notestring
upMbpsnumber
validDaysinteger
Response · 201 · object
Fields
FieldType
batchstring
vouchersarray of WifiVoucher
curl -X POST https://api.thailandhosting.com/v1/wifi/locations/ID_ID/vouchers \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"count":1,"minutes":1440,"devices":2,"note":"Room 1204"}'
POST/wifi/locations/{id}/vouchers/{voucher}/voidwifi:write

Void an access code

Needs the wifi:write scope.

Parameters
NameInDescription
id requiredpath
voucher requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X POST https://api.thailandhosting.com/v1/wifi/locations/ID_ID/vouchers/VOUCHER_ID/void \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/wifi/locations/{id}/vouchers/printwifi:read

Print access codes

A printable HTML page of cards. Needs the wifi:read scope.

Parameters
NameInDescription
id requiredpath
batchqueryOnly this batch.
Response · 200 · text/html (a printable page)
curl https://api.thailandhosting.com/v1/wifi/locations/ID_ID/vouchers/print \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/wifi/locations/{id}/contactswifi:write

List guest contacts

Personal data: needs the wifi:write scope. Needs the wifi:write scope.

Parameters
NameInDescription
id requiredpath
Response · 200 · object
Fields
FieldType
contactsarray of WifiGuestContact
marketinginteger (int64)
totalinteger (int64)
curl https://api.thailandhosting.com/v1/wifi/locations/ID_ID/contacts \
  -H "Authorization: Bearer thk_YOUR_KEY"
PUT/wifi/locations/{id}/contacts/{contact}wifi:write

Change a guest contact

Needs the wifi:write scope.

Parameters
NameInDescription
id requiredpath
contact requiredpath
Request body · application/json · ContactUpdateInput
Fields
FieldType
marketingboolean
Response · 200 · object
Fields
FieldType
okboolean
curl -X PUT https://api.thailandhosting.com/v1/wifi/locations/ID_ID/contacts/CONTACT_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"marketing":false}'
DELETE/wifi/locations/{id}/contacts/{contact}wifi:write

Delete a guest contact

Needs the wifi:write scope.

Parameters
NameInDescription
id requiredpath
contact requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/wifi/locations/ID_ID/contacts/CONTACT_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"

Identity

The Project's company users, for Wi-Fi Hotspot and VPN sign-in. Free: calls are not billed. Uses the Wi-Fi Hotspot API's switch and scopes.

GET/wifi/directorieswifi:read

List staff directories

Empty for a key limited to some locations. Needs the wifi:read scope.

Response · 200 · array of WifiDirectoryView
curl https://api.thailandhosting.com/v1/wifi/directories \
  -H "Authorization: Bearer thk_YOUR_KEY"
GET/wifi/directories/{dir}wifi:read

Get a directory with its users and groups

Needs the wifi:read scope.

Parameters
NameInDescription
dir requiredpath
Response · 200 · object
Fields
FieldType
directoryWifiDirectoryView
groupsarray of WifiGroup
usersarray of WifiUserView
curl https://api.thailandhosting.com/v1/wifi/directories/DIR_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/wifi/directories/{dir}/groupswifi:write

Create a group

Needs the wifi:write scope.

Parameters
NameInDescription
dir requiredpath
Request body · application/json · WifiGroupInput
Fields
FieldType
devicesinteger
downMbpsnumber
externalstring
namestring
positioninteger
upMbpsnumber
vlaninteger
Response · 201 · WifiGroup
Fields
FieldType
createdAtstring (date-time)
devicesinteger
directoryIdstring
downKbpsinteger
externalstring
idstring
namestring
positioninteger
upKbpsinteger
updatedAtstring (date-time)
vlaninteger
curl -X POST https://api.thailandhosting.com/v1/wifi/directories/DIR_ID/groups \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"devices":0,"downMbps":0,"external":"","name":"","position":0,"upMbps":0,"vlan":0}'
PUT/wifi/directories/{dir}/groups/{group}wifi:write

Change a group

Needs the wifi:write scope.

Parameters
NameInDescription
dir requiredpath
group requiredpath
Request body · application/json · WifiGroupInput
Fields
FieldType
devicesinteger
downMbpsnumber
externalstring
namestring
positioninteger
upMbpsnumber
vlaninteger
Response · 200 · WifiGroup
Fields
FieldType
createdAtstring (date-time)
devicesinteger
directoryIdstring
downKbpsinteger
externalstring
idstring
namestring
positioninteger
upKbpsinteger
updatedAtstring (date-time)
vlaninteger
curl -X PUT https://api.thailandhosting.com/v1/wifi/directories/DIR_ID/groups/GROUP_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"devices":0,"downMbps":0,"external":"","name":"","position":0,"upMbps":0,"vlan":0}'
DELETE/wifi/directories/{dir}/groups/{group}wifi:write

Delete a group

Needs the wifi:write scope.

Parameters
NameInDescription
dir requiredpath
group requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/wifi/directories/DIR_ID/groups/GROUP_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"
POST/wifi/directories/{dir}/userswifi:write

Create a staff account

Leave password empty to have one generated; it is answered once. Needs the wifi:write scope.

Parameters
NameInDescription
dir requiredpath
Request body · application/json · WifiUserInput
Fields
FieldType
displayNamestring
emailstring
groupIdstring
passwordstring
statusstring
usernamestring
validUntilstring
Response · 201 · object
Fields
FieldType
passwordstring
userWifiUser
curl -X POST https://api.thailandhosting.com/v1/wifi/directories/DIR_ID/users \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username":"somchai","displayName":"Somchai J.","email":"[email protected]"}'
POST/wifi/directories/{dir}/users/importwifi:write

Import staff accounts

A CSV body: username, display name, email, group, password (empty: generated). Up to 5,000 rows; existing usernames are updated. Needs the wifi:write scope.

Parameters
NameInDescription
dir requiredpath
Request body · text/csv · string
Response · 200 · object
Fields
FieldType
createdinteger
passwordsarray of object
updatedinteger
curl -X POST https://api.thailandhosting.com/v1/wifi/directories/DIR_ID/users/import \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: text/csv" --data-binary @file
PUT/wifi/directories/{dir}/users/{user}wifi:write

Change a staff account

Needs the wifi:write scope.

Parameters
NameInDescription
dir requiredpath
user requiredpath
Request body · application/json · WifiUserInput
Fields
FieldType
displayNamestring
emailstring
groupIdstring
passwordstring
statusstring
usernamestring
validUntilstring
Response · 200 · WifiUser
Fields
FieldType
createdAtstring (date-time)
directoryIdstring
displayNamestring
emailstring
groupIdstring
idstring
lastLoginAtstring (date-time)
sourcestring
statusstring
updatedAtstring (date-time)
usernamestring
validUntilstring (date-time)
curl -X PUT https://api.thailandhosting.com/v1/wifi/directories/DIR_ID/users/USER_ID \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"displayName":"","email":"","groupId":"","password":"","status":"","username":"","validUntil":""}'
POST/wifi/directories/{dir}/users/{user}/passwordwifi:write

Set or generate a password

Needs the wifi:write scope.

Parameters
NameInDescription
dir requiredpath
user requiredpath
Request body · application/json · WifiPasswordInput
Fields
FieldType
passwordstring
Response · 200 · object
Fields
FieldType
passwordstring
curl -X POST https://api.thailandhosting.com/v1/wifi/directories/DIR_ID/users/USER_ID/password \
  -H "Authorization: Bearer thk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"password":""}'
DELETE/wifi/directories/{dir}/users/{user}wifi:write

Delete a staff account

Needs the wifi:write scope.

Parameters
NameInDescription
dir requiredpath
user requiredpath
Response · 200 · object
Fields
FieldType
okboolean
curl -X DELETE https://api.thailandhosting.com/v1/wifi/directories/DIR_ID/users/USER_ID \
  -H "Authorization: Bearer thk_YOUR_KEY"

Schemas

AppsPolicy

FieldType
baseCreditsinteger (int64)
bookingsMonthlyinteger
branchPriceCreditsinteger (int64)
capCreditsinteger (int64)
couponsinteger
csvExportboolean
customSmtpboolean
includedBranchesinteger
includedModulesinteger
includedSitesinteger
itemsinteger
kitchenDisplayboolean
loyaltyboolean
maxBranchesinteger
modulePricesmap of integer (int64)
ordersMonthlyinteger
planstring
priceCreditsinteger (int64)
resourcesinteger
teamUsersinteger

BillCloseInput

FieldType
paidboolean
paymentstring
phonestring
roomstring

BillOpenInput

FieldType
branchstring
guestsinteger
notestring
tablestring

BillRow

FieldType
branchIdstring
closedAtstring (date-time)
closedBystring
createdAtstring (date-time)
discountinteger (int64)
dueinteger (int64)
guestsinteger
idstring
itemsinteger (int64)
linesarray of ShopLine
notestring
numberinteger
openedBystring
orderCountinteger
paidboolean
paymentstring
qrPathstring
receiptNostring
serviceinteger (int64)
serviceFeeinteger (int64)
statusstring
tableLabelstring
totalinteger (int64)
updatedAtstring (date-time)

BillUpdateInput

FieldType
discountinteger (int64)
guestsinteger
notestring
reasonstring
tablestring

BillsView

FieldType
billsarray of BillRow
tablesarray of string

Booking

FieldType
branchIdstring
cancelledBystring
channelstring
checkedInAtstring (date-time)
checkedOutAtstring (date-time)
couponCodestring
createdAtstring (date-time)
currencystring
customerEmailstring
customerNamestring
customerPhonestring
depositinteger (int64)
discountinteger (int64)
endsAtstring (date-time)
guestsinteger
idstring
kindstring
notestring
numberinteger
paidboolean
paymentstring
paymentClaimedboolean
pointsEarnedinteger
pointsUsedinteger
remindedAtstring (date-time)
resourceIdstring
resourceNamestring
settledboolean
settledPaymentstring
sourcestring
staffIdstring
staffNamestring
startsAtstring (date-time)
statusstring
totalinteger (int64)
unitIdstring
updatedAtstring (date-time)
updatedBystring

BookingCharge

FieldType
amountinteger (int64)
billIdstring
bookingIdstring
createdAtstring (date-time)
createdBystring
descriptionstring
idstring

BookingDay

FieldType
closestring
openstring

BookingInput

FieldType
blockstring
branchstring
channelstring
checkInstring
checkOutstring
couponstring
datestring
emailstring
guestsinteger
keystring
memberstring
namestring
notestring
paymentstring
phonestring
pointsinteger
powShopPow
resourcestring
staffstring
timestring

BookingStaffRow

FieldType
availableboolean
branchIdstring
createdAtstring (date-time)
hoursarray of BookingDay
idstring
imagestring
namestring
positioninteger
titlestring
updatedAtstring (date-time)
useHoursboolean

BookingUnit

FieldType
createdAtstring (date-time)
idstring
namestring
notestring
positioninteger
resourceIdstring
statusstring
updatedAtstring (date-time)

BookingUpdateInput

FieldType
paidboolean
reasonstring
statusstring

BranchInput

FieldType
activeboolean
addressstring
closedDatesarray of string
deliveryboolean
deliveryFeeinteger (int64)
dineInboolean
hoursarray of BookingDay
laoQrstring
mapUrlstring
namestring
openboolean
phonestring
pickupboolean
positioninteger
promptPayIdstring
promptPayNamestring
useHoursboolean

BranchView

FieldType
activeboolean
addressstring
closedDatesarray of string
createdAtstring (date-time)
deliveryboolean
deliveryFeeinteger (int64)
dineInboolean
hoursarray of BookingDay
idstring
laoQrstring
mapUrlstring
namestring
openboolean
phonestring
pickupboolean
positioninteger
promptPayIdstring
promptPayNamestring
updatedAtstring (date-time)
useHoursboolean

BranchesView

FieldType
allowedinteger
branchesarray of BranchView
chargeinteger (int64)
includedinteger
maxinteger
paidinteger
priceinteger (int64)

Bypass

FieldType
ipstring
macstring
namestring
nasstring
untilstring (date-time)

ChargeAddInput

FieldType
amountinteger (int64)
descriptionstring

CheckInInput

FieldType
dirtyboolean
unitstring

CheckOutInput

FieldType
paidboolean
paymentstring

ContactUpdateInput

FieldType
marketingboolean

CouponInput

FieldType
activeboolean
appliesstring
codestring
endsAtstring
kindstring
maxUsesinteger
minTotalinteger (int64)
perPhoneinteger
startsAtstring
valueinteger (int64)

CustomerAdjustInput

FieldType
namestring
notestring
pointsinteger
reasonstring

DeskBlock

FieldType
channelstring
endsAtstring (date-time)
idstring
refstring
resourceIdstring
resourceNamestring
startsAtstring (date-time)
summarystring

DeskBooking

FieldType
balanceinteger (int64)
branchIdstring
cancelledBystring
channelstring
chargesinteger (int64)
checkedInAtstring (date-time)
checkedOutAtstring (date-time)
couponCodestring
createdAtstring (date-time)
currencystring
customerEmailstring
customerNamestring
customerPhonestring
depositinteger (int64)
discountinteger (int64)
endsAtstring (date-time)
guestsinteger
idstring
kindstring
notestring
numberinteger
paidboolean
paymentstring
paymentClaimedboolean
pointsEarnedinteger
pointsUsedinteger
remindedAtstring (date-time)
resourceIdstring
resourceNamestring
settledboolean
settledPaymentstring
sourcestring
staffIdstring
staffNamestring
startsAtstring (date-time)
statusstring
totalinteger (int64)
unitIdstring
unitNamestring
updatedAtstring (date-time)
updatedBystring
wifiWifiPassView

DeskType

FieldType
capacityinteger
idstring
namestring
unitsinteger

DeskUnit

FieldType
createdAtstring (date-time)
guestDeskBooking
idstring
namestring
notestring
positioninteger
resourceIdstring
resourceNamestring
statusstring
updatedAtstring (date-time)

FrontDeskView

FieldType
arrivalsarray of DeskBooking
blocksarray of DeskBlock
datestring
departuresarray of DeskBooking
inHousearray of DeskBooking
typesarray of DeskType
unitsarray of DeskUnit

IcalLinkView

FieldType
channelstring
errorstring
eventsinteger
urlstring

Look

FieldType
accentstring
askstring
askRequiredboolean
backdropstring
backgroundstring
consentstring
contactstring
headlinestring
imagestring
layoutstring
logostring
promosarray of Promo
sellboolean
termsstring
themestring

MoveRoomInput

FieldType
unitstring

OrderUpdateInput

FieldType
carrierstring
paidboolean
reasonstring
refundboolean
statusstring
trackingstring

PortalPass

FieldType
devicesinteger
downKbpsinteger
idstring
minutesinteger
namestring
pricestring

PortalShopView

FieldType
counterboolean
passesarray of PortalPass
problemstring
qrstring

Promo

FieldType
imagestring
linkstring
textstring
titlestring

PromptPayQR

FieldType
accountstring
kindstring
namestring
payloadstring
qrstring

ReportDay

FieldType
bookingsinteger
datestring
ordersinteger
revenueinteger (int64)

ReportHour

FieldType
hourinteger
ordersinteger
revenueinteger (int64)

ReportRow

FieldType
countinteger
namestring
revenueinteger (int64)

ResourceInput

FieldType
availableboolean
branchIdstring
capacityinteger
depositinteger (int64)
descriptionstring
durationMinutesinteger
icalLinksarray of IcalLink
icalUrlsarray of string
imagestring
kindstring
maxGuestsinteger
namestring
positioninteger
priceinteger (int64)
staffarray of string

ResourceView

FieldType
availableboolean
branchIdstring
capacityinteger
createdAtstring (date-time)
depositinteger (int64)
descriptionstring
durationMinutesinteger
icalErrorstring
icalExportstring
icalLinksarray of IcalLinkView
icalSyncedAtstring (date-time)
idstring
imagestring
kindstring
maxGuestsinteger
namestring
positioninteger
priceinteger (int64)
updatedAtstring (date-time)

ShiftCloseInput

FieldType
countedCashinteger (int64)
forceboolean
notestring

ShiftOpenInput

FieldType
branchstring
namestring
openingFloatinteger (int64)

ShiftTotals

FieldType
cancelledinteger
cashinteger (int64)
creditNotesinteger
discountsinteger (int64)
expectedinteger (int64)
itemsarray of ReportRow
nonCashinteger (int64)
ordersinteger
overinteger (int64)
paymentsarray of ReportRow
refundsinteger (int64)
revenueinteger (int64)
vatinteger (int64)

ShiftView

FieldType
branchIdstring
branchNamestring
closedAtstring (date-time)
closedBystring
countedCashinteger (int64)
idstring
namestring
notestring
openedAtstring (date-time)
openedBystring
openingFloatinteger (int64)
totalsShiftTotals

ShopApps

FieldType
activeboolean
availableboolean
bookingClosedReasonstring
bookingQuotainteger
bookingsThisMonthinteger (int64)
branchLimitinteger
branchesinteger
canManageBillingboolean
closedReasonstring
includedboolean
itemLimitinteger
kindstring
legacyboolean
modulesarray of string
monthlyFeeinteger (int64)
openShiftstring
orderQuotainteger
ordersThisMonthinteger (int64)
paidBranchesinteger
paidFeeinteger (int64)
pendingOffboolean
remainingDaysinteger
storestring
termsAppsPolicy
totalDaysinteger

ShopChoice

FieldType
namestring
priceinteger (int64)

ShopCoupon

FieldType
activeboolean
appliesstring
codestring
createdAtstring (date-time)
endsAtstring (date-time)
idstring
kindstring
maxUsesinteger
minTotalinteger (int64)
perPhoneinteger
startsAtstring (date-time)
updatedAtstring (date-time)
usedinteger
valueinteger (int64)

ShopCustomer

FieldType
createdAtstring (date-time)
emailstring
idstring
lastSeenAtstring (date-time)
namestring
notestring
phonestring
pointsinteger
totalSpentinteger (int64)
visitsinteger

ShopInfo

FieldType
appsShopApps
itemsinteger (int64)
openBillsinteger (int64)
rentalRatesboolean
rentalRoomsinteger (int64)
resourcesinteger (int64)
roomsinteger (int64)
servicesinteger (int64)
shopShopSettings

ShopItemInput

FieldType
availableboolean
categorystring
descriptionstring
imagestring
namestring
optionsarray of ShopOption
positioninteger
priceinteger (int64)
stockinteger
wifiWifiTerms

ShopItemView

FieldType
availableboolean
categorystring
createdAtstring (date-time)
descriptionstring
idstring
imagestring
namestring
optionsarray of ShopOption
positioninteger
priceinteger (int64)
stockinteger
updatedAtstring (date-time)
wifiWifiTerms

ShopLimits

FieldType
approvePointsOverinteger
bookingHoldMinutesinteger
earnDailyLimitinteger
orderHourCapinteger

ShopLine

FieldType
itemIdstring
namestring
optionsarray of string
qtyinteger
totalinteger (int64)
unitinteger (int64)
wifiWifiTerms

ShopMemberView

FieldType
createdAtstring (date-time)
emailstring
idstring
lastSeenAtstring (date-time)
namestring
notestring
phonestring
pointsinteger
recentarray of ShopPointEntry
totalSpentinteger (int64)
visitsinteger

ShopOption

FieldType
choicesarray of ShopChoice
multiboolean
namestring
requiredboolean

ShopOrderInput

FieldType
addressstring
billstring
branchstring
couponstring
emailstring
expectTotalinteger (int64)
fulfilmentstring
itemsarray of object
keystring
memberstring
namestring
notestring
paymentstring
phonestring
pointsinteger
powShopPow
tablestring
wantedAtstring

ShopOrderView

FieldType
addressstring
billIdstring
branchIdstring
carrierstring
couponCodestring
createdAtstring (date-time)
currencystring
customerEmailstring
customerNamestring
customerPhonestring
deliveryFeeinteger (int64)
discountinteger (int64)
fulfilmentstring
idstring
linesarray of ShopLine
notestring
numberinteger
paidboolean
paymentstring
paymentClaimedboolean
pointsEarnedinteger
pointsUsedinteger
preorderboolean
receiptNostring
shiftIdstring
statusstring
tableLabelstring
totalinteger (int64)
trackingstring
updatedAtstring (date-time)
updatedBystring
vatAmountinteger (int64)
wantedAtstring (date-time)

ShopPointEntry

FieldType
createdAtstring (date-time)
idstring
orderIdstring
phonestring
pointsinteger
reasonstring

ShopPow

FieldType
noncestring
tsinteger (int64)

ShopReport

FieldType
averageinteger (int64)
bookingPaidinteger (int64)
bookingRevenueinteger (int64)
bookingsinteger
bookingsLostinteger
branchesarray of ReportRow
categoriesarray of ReportRow
creditNotesinteger
creditTotalinteger (int64)
currencystring
daysarray of ReportDay
discountsinteger (int64)
fromstring
hoursarray of ReportHour
monthstring
orderPaidinteger (int64)
orderRevenueinteger (int64)
ordersinteger
ordersCancelledinteger
otherCurrencyinteger
paymentsarray of ReportRow
pointsEarnedinteger
pointsUsedinteger
staffarray of ReportRow
tostring
topItemsarray of ReportRow
topResourcesarray of ReportRow
vatinteger (int64)

ShopSettings

FieldType
billsboolean
bookingAutoConfirmboolean
bookingClosedarray of string
bookingDaysAheadinteger
bookingHoursarray of BookingDay
bookingLeadMinutesinteger
bookingOpenboolean
bookingSlotMinutesinteger
cancelHoursinteger
closedDatesarray of string
currencystring
deliveryboolean
deliveryFeeinteger (int64)
deliveryNotestring
depositPercentinteger
dineInboolean
earnPer100integer
emailLanguagestring
freeDeliveryOverinteger (int64)
hoursarray of BookingDay
laoQrstring
limitsShopLimits
lineIdstring
loyaltyboolean
namestring
noticestring
notifyBookingsboolean
notifyCustomerboolean
notifyEmailstring
notifyOrdersboolean
openboolean
payCashboolean
phonestring
pickupboolean
preorderDaysinteger
promptPayIdstring
promptPayNamestring
receiptFooterstring
receiptPrefixstring
receiptWidthinteger
redeemPointsinteger
redeemValueinteger (int64)
reminderHoursinteger
replyTostring
servicePercentinteger
smtpCheckedAtstring (date-time)
smtpErrorstring
smtpFromstring
smtpHoststring
smtpPasswordstring
smtpPortinteger
smtpSecuritystring
smtpSetboolean
smtpUsernamestring
taxAddressstring
taxIdstring
taxNamestring
updatedAtstring (date-time)
useHoursboolean
vatRateinteger
vatRegisteredboolean

StaffInput

FieldType
availableboolean
branchIdstring
hoursarray of BookingDay
imagestring
namestring
positioninteger
titlestring
useHoursboolean

UnitStatusInput

FieldType
statusstring

UnitUpdateInput

FieldType
namestring
notestring
positioninteger

UnitsCreateInput

FieldType
namesarray of string
resourcestring

VoucherCreateInput

FieldType
countinteger
devicesinteger
downMbpsnumber
minutesinteger
notestring
upMbpsnumber
validDaysinteger

WifiBoxSetup

FieldType
cloudstring
codestring
codeExpiresAtstring (date-time)
commandstring
downloadsmap of string
scriptUrlstring

WifiBoxUpdate

FieldType
errorstring
lateststring
runningstring
statestring

WifiBoxView

FieldType
ackSeqinteger (int64)
archstring
createdAtstring (date-time)
enrollExpiresAtstring (date-time)
hostnamestring
idstring
kindstring
labelstring
lanstring
lastSeenAtstring (date-time)
leasesinteger
locationIdstring
natSuspectsinteger
netApplystring
netModestring
networksstring
offlineSincestring (date-time)
onlineinteger
pairedAtstring (date-time)
problemsstring
sourceIpstring
spooledinteger (int64)
statestring
updateWifiBoxUpdate
updatedAtstring (date-time)
versionstring

WifiCertView

FieldType
expiresstring (date-time)
statestring
trustedboolean

WifiDetail

FieldType
acctMissingSincestring (date-time)
billingPeriodstring
boxWifiBoxView
boxListarray of WifiBoxView
boxSetupWifiBoxSetup
boxStatestring
boxesinteger
branchIdstring
bypassarray of Bypass
canManageBillingboolean
connectionstring
contractboolean
createdAtstring (date-time)
devicesinteger
directorystring
directoryIdstring
eapWifiEAPView
idstring
lastSeenAtstring (date-time)
lastSourceIpstring
linkedSitestring
logGbHoursnumber
logPeriodstring
logsWifiLogView
lookLook
manualCodesinteger (int64)
maxDevicesinteger
modestring
monthlyinteger (int64)
namestring
nasIdentifierstring
nextBillAtstring (date-time)
onlineinteger (int64)
overCyclesinteger
overflowstring
packagestring
packageInfoWifiPackage
packageNamestring
paidUntilstring (date-time)
passesWifiPasses
pausedForstring
paygCostinteger (int64)
paygDeviceMinutesinteger (int64)
paygHeldboolean
paygHourMicrointeger (int64)
paygHoursnumber
paygPeriodstring
paygThresholdinteger
peakDevicesinteger
peakPeriodstring
pendingWifiPendingView
pendingDevicesinteger
pendingFromstring (date-time)
pendingOffboolean
pendingPackagestring
portalWifiPortalView
portalDomainstring
portalDomainVerifiedboolean
portalShopPortalShopView
portalSlugstring
productstring
projectIdstring
radiusstring
radiusSecretstring
retentionDaysinteger
sessionsarray of WifiSession
setupWifiSetup
siteIdstring
statusstring
teamOnboolean
updatedAtstring (date-time)
upgradeWifiUpgradeView
vendorstring
welcomestring

WifiDirectoryView

FieldType
connectorstring
createdAtstring (date-time)
eapNamestring
idstring
locationsarray of string
namestring
projectIdstring
ssidstring
updatedAtstring (date-time)
usersinteger (int64)

WifiEAPView

FieldType
caCertstring
enabledboolean
hoststring
hostIpsarray of string
portinteger
secretstring
serverNamestring
trustedboolean

WifiGroup

FieldType
createdAtstring (date-time)
devicesinteger
directoryIdstring
downKbpsinteger
externalstring
idstring
namestring
positioninteger
upKbpsinteger
updatedAtstring (date-time)
vlaninteger

WifiGroupInput

FieldType
devicesinteger
downMbpsnumber
externalstring
namestring
positioninteger
upMbpsnumber
vlaninteger

WifiGuestContact

FieldType
consentstring
consentAtstring (date-time)
firstSeenAtstring (date-time)
idstring
kindstring
langstring
lastSeenAtstring (date-time)
locationIdstring
marketingboolean
valuestring
visitsinteger

WifiLocationView

FieldType
acctMissingSincestring (date-time)
billingPeriodstring
boxStatestring
boxesinteger
branchIdstring
connectionstring
createdAtstring (date-time)
devicesinteger
directorystring
directoryIdstring
eapboolean
idstring
lastSeenAtstring (date-time)
lastSourceIpstring
linkedSitestring
logGbHoursnumber
logPeriodstring
logsWifiLogView
manualCodesinteger (int64)
maxDevicesinteger
modestring
monthlyinteger (int64)
namestring
nasIdentifierstring
nextBillAtstring (date-time)
onlineinteger (int64)
overCyclesinteger
overflowstring
packagestring
packageNamestring
paidUntilstring (date-time)
pausedForstring
paygCostinteger (int64)
paygDeviceMinutesinteger (int64)
paygHeldboolean
paygHourMicrointeger (int64)
paygHoursnumber
paygPeriodstring
paygThresholdinteger
peakDevicesinteger
peakPeriodstring
pendingWifiPendingView
pendingDevicesinteger
pendingFromstring (date-time)
pendingOffboolean
pendingPackagestring
portalDomainstring
portalDomainVerifiedboolean
portalSlugstring
productstring
projectIdstring
radiusstring
retentionDaysinteger
siteIdstring
statusstring
teamOnboolean
updatedAtstring (date-time)
upgradeWifiUpgradeView
vendorstring
welcomestring

WifiLogView

FieldType
billableGbnumber
billableOldOnlyboolean
costinteger (int64)
estimateinteger (int64)
freeDaysinteger
freeGbinteger
gbMonthMicrointeger (int64)
gbMonthsnumber
oldGbnumber
recentGbnumber
storedGbnumber

WifiPackage

FieldType
createdAtstring (date-time)
customboolean
graceBasisPointsinteger
idstring
logFreeGbinteger
maxDevicesinteger
minDevicesinteger
namestring
nameEnstring
nameLostring
overageCreditsinteger (int64)
paygBasisPointsinteger
priceCreditsinteger (int64)
productstring
rankinteger
statusstring
updatedAtstring (date-time)
updatedBystring
yearLogsCreditsinteger (int64)

WifiPassRule

FieldType
devicesinteger
downKbpsinteger
minutesinteger
onboolean
upKbpsinteger

WifiPassView

FieldType
codestring
devicesinteger
expiresAtstring (date-time)
minutesinteger
networkstring

WifiPasses

FieldType
leasesWifiPassRule
ordersWifiPassRule
staysWifiPassRule
teamWifiPassRule

WifiPasswordInput

FieldType
passwordstring

WifiPendingView

FieldType
devicesinteger
fromstring (date-time)
maxDevicesinteger
monthlyinteger (int64)
namestring
packagestring

WifiPortalCustomView

FieldType
certWifiCertView
cnamestring
domainstring
ownboolean
txtNamestring
txtValuestring
verifiedboolean

WifiPortalView

FieldType
certWifiCertView
customWifiPortalCustomView
hoststring
onboolean
servingstring
slugstring

WifiSession

FieldType
bytesIninteger (int64)
bytesOutinteger (int64)
idstring
ipstring
locationIdstring
macstring
startedAtstring (date-time)
stoppedAtstring (date-time)
updatedAtstring (date-time)
usernamestring
viastring
voucherIdstring

WifiSetup

FieldType
acctPortinteger
authPortinteger
hostIpsarray of string
radiusHoststring
scriptstring
syslogPortinteger

WifiStatsPoint

FieldType
atstring (date-time)
avgnumber
bytesIninteger (int64)
bytesOutinteger (int64)
devicesinteger
maxinteger
signInsinteger (int64)

WifiStatsTotals

FieldType
avgOnlinenumber
bytesIninteger (int64)
bytesOutinteger (int64)
devicesMaxDayinteger
devicesPerDaynumber
peakinteger
signInsinteger (int64)

WifiStatsView

FieldType
busiestarray of number
canSeeTopboolean
daysarray of WifiStatsPoint
methodsmap of integer (int64)
noAccountingboolean
rangestring
seriesarray of WifiStatsPoint
sincestring (date-time)
stepstring
toparray of WifiTopUser
totalsWifiStatsTotals

WifiTerms

FieldType
devicesinteger
downKbpsinteger
minutesinteger
upKbpsinteger

WifiTopUser

FieldType
bytesinteger (int64)
macstring
minutesinteger (int64)
usernamestring

WifiUpgradeView

FieldType
devicesinteger
differenceinteger (int64)
maxDevicesinteger
namestring
packagestring

WifiUser

FieldType
createdAtstring (date-time)
directoryIdstring
displayNamestring
emailstring
groupIdstring
idstring
lastLoginAtstring (date-time)
sourcestring
statusstring
updatedAtstring (date-time)
usernamestring
validUntilstring (date-time)

WifiUserInput

FieldType
displayNamestring
emailstring
groupIdstring
passwordstring
statusstring
usernamestring
validUntilstring

WifiUserView

FieldType
consolestring
createdAtstring (date-time)
directoryIdstring
displayNamestring
emailstring
groupIdstring
idstring
lastLoginAtstring (date-time)
onlineinteger (int64)
sourcestring
statusstring
updatedAtstring (date-time)
usernamestring
validUntilstring (date-time)

WifiVoucher

FieldType
batchstring
codestring
createdAtstring (date-time)
createdBystring
devicesinteger
downKbpsinteger
expiresAtstring (date-time)
firstUsedAtstring (date-time)
idstring
locationIdstring
minutesinteger
notestring
sourcestring
statusstring
upKbpsinteger
validUntilstring (date-time)