Partner API
Oct 13, 2026 11:29 PM

Restaurant Info

Reading the restaurant profile via the API: operating hours, areas and floors, online booking settings.

Endpoints for reading the restaurant profile, operating hours, areas/floors and online booking settings. A partner needs them to sync the venue card, understand the time zone and schedule, and learn the constraints that affect reservation creation (minimum party size, available areas, booking window, etc.).

All requests use a Bearer token (see Authentication). Base path: /api/core/admin/restaurants/{restaurantId}.

MethodPathPurpose
GET/restaurantsList of available restaurants
GET/restaurants/{restaurantId}Restaurant profile
GET/restaurants/{restaurantId}/settingsBasic settings (hours, areas, modules)
GET/restaurants/{restaurantId}/configExtended configuration (reservations, waitlist)

The Restaurant tag contains 38 operations, most of which are internal/administrative (onboarding, audit, search, creating/deleting a restaurant). Below are the ones useful to partners for reading. The full list is in Swagger UI.


Restaurant list

GET /restaurants

Returns an array of RestaurantContract — every restaurant available to the current token. Handy for the initial sync: get each venue’s id, time zone and address.

Terminal window
curl https://api.hostmeapp.com/api/core/admin/restaurants \
-H "Authorization: Bearer $TOKEN"

To find out the restaurantId and partnerId tied to your access, it is easier to use GET /api/core/admin/account/me.


Restaurant profile

GET /restaurants/{restaurantId}

Returns a RestaurantContract object with the venue’s public information.

ParameterInTypeDescription
restaurantId *pathintegerRestaurant identifier

Key response fields (RestaurantContract)

FieldTypeDescription
idintegerRestaurant identifier
namestringName
addressstringAddress (full string)
lat / lonnumberCoordinates
phonestringPhone
timeZonestringTime zone (important for reservation times)
city, state, street, zip, country, countryShortstringParsed address
neighborhoodsarrayNeighborhoods
imageUrlstringLogo/image
websiteUrl, facebookId, twitterAccountstringWebsite and social media
communicationChannelstringGuest communication channel
smsDisabledbooleanSMS disabled
isVerifiedbooleanVenue is verified
isPayAccountbooleanPaid account
subscriptionTierstringSubscription plan
stripeAccountIdstringLinked Stripe account
typestringVenue type
parentRestaurantIdinteger?Parent restaurant (for chains)
settingsobjectNested settings (RestaurantSettingsContract, see below)
Terminal window
curl https://api.hostmeapp.com/api/core/admin/restaurants/123 \
-H "Authorization: Bearer $TOKEN"

Basic settings

GET /restaurants/{restaurantId}/settings

Returns RestaurantSettingsContract — operating hours, areas/floors, module visibility and general flags. The same object comes nested in the profile (RestaurantContract.settings).

ParameterInType
restaurantId *pathinteger

Top-level fields (RestaurantSettingsContract)

FieldTypeDescription
openingHoursarrayOperating hours by day of the week (WeekDayOpenHoursContract, see below)
openingHoursTemplatesarrayInterval templates (HourlyIntervalContract: name, open, close)
specialPeriodsarraySpecial periods/holidays (SpecialPeriodContract)
enableHoursTemplatesbooleanWhether hour templates are enabled
areasarrayRestaurant areas/floors (names)
tableSizesarrayAllowed table sizes
time24HourFormatboolean24-hour time format
languagestringInterface language
moduleVisibilityobjectModule visibility (ModulesVisibility, see below)
skipGroupSizeStepintegerSkip the party size step
skipBookWizardbooleanQuick walk-in seating: seat a walk-in guest in one click (despite the field name, this is about seating, not booking)
deliveryModebooleanDelivery mode
autocloseSeatedbooleanClose the reservation as soon as guests are seated
disableGuestbookbooleanGuest book disabled
notifyGuestsOnBlacklistAdditionbooleanNotify guests when added to the blacklist

Operating hours (WeekDayOpenHoursContract)

FieldTypeDescription
weekDayintegerDay of the week
timearrayIntervals of the day (HourlyIntervalContract)

Each HourlyIntervalContract interval: name (interval name, e.g. “Lunch”), open and close (start and end time, date-span format).

Areas and module visibility

  • areas — an array of strings with area/floor names.
  • moduleVisibility (ModulesVisibility) — which modules are hidden: tablesHidden, reserveHidden, waitlistHidden, timelineHidden, serversHidden, guestBookHidden.
Terminal window
curl https://api.hostmeapp.com/api/core/admin/restaurants/123/settings \
-H "Authorization: Bearer $TOKEN"

Changing settings (PUT /settings) is an administrative operation. Partners are advised to read settings rather than overwrite them, so as not to wipe the venue’s configuration.


Extended configuration

GET /restaurants/{restaurantId}/config

Returns RestaurantConfigurationContract — besides settings it includes the reservation, waitlist and payment blocks. For a partner this provides the constraints under which online booking operates.

ParameterInType
restaurantId *pathinteger

Online booking settings (reservationSettings)

The fields of ReservationSettingsContract most useful to a partner:

FieldTypeDescription
isEnabledbooleanOnline booking is enabled
maxAdvanceBookingDaysintegerHow many days ahead a booking can be made
bookingMinimumNoticeMinutesintegerMinimum lead time before the reservation
bookingCutOffTimedate-spanCutoff time for accepting reservations
minPartySize / maxPartySizeintegerMin/max party size
minGuestsPerReservation / maxGuestsPerReservationinteger?Guest limits per reservation
maxBookingsPerSlot / hardMaxBookingsPerSlotinteger?Reservation limit per slot
defaultMaxCoversPerSlotinteger?Cover limit per slot
reservationHoursarrayReservation hours by day (WeekDayOpenHoursContract)
reservationHoursStepintegerSlot step, minutes
approvalRequiredbooleanReservation approval required
approvalSizeintegerParty size from which approval is required
allowGuestSelectTablesbooleanGuest can choose a table
availableOnlineAreasbooleanArea selection is available online
currencystringCurrency (for deposits/prepayments)
cancellationOptionsarrayCancellation reasons (CancellationOptionContract: name, note, isDefault)
additionalInfoobjectAvailable requests/attributes (AdditionalInfoContract: highChair, vip, allergy, vegetarian, etc.)
noShowFeeEnabledbooleanNo-show fee enabled
creditCardChargeEnabledbooleanCard charging enabled
onlinePaymentMethodobjectPayment methods (PaymentMethodContract: card/cash/invoice for reservations and delivery)

The reservationSettings object is very large (deposits, slot exceptions, table states, online ordering, UI customization). Only the fields that matter for a reservation integration are listed here. See the full structure in Swagger UI.

Other configuration blocks

BlockWhat it contains
waitingSettingsWaitlist settings: enabled, autoCall, maximumHoldTime, position/status messages
paymentSettingsSMS limits, subscription plans (plans)
guestTagsGuest tags (id, name, color)
Terminal window
curl https://api.hostmeapp.com/api/core/admin/restaurants/123/config \
-H "Authorization: Bearer $TOKEN"

Other endpoints of the Restaurant tag

The remaining operations are mostly administrative and are not required in a typical partner integration. A brief overview:

PurposeEndpoint
Reservation change auditGET /restaurants/{restaurantId}/bookings/{bookingId}
Restaurant activity logGET /restaurants/{restaurantId}/audit
Onboarding statusGET /restaurants/{restaurantId}/onboarding/status
Company / related venuesGET /restaurants/{restaurantId}/company
Restaurant searchGET /restaurants/{restaurantId}/search
Create restaurantPOST /restaurants (multipart/form-data)
Update profilePUT /restaurants/{restaurantId}
DeleteDELETE /restaurants/{restaurantId}

These endpoints are documented in Swagger UI. For creating a venue through partner onboarding there is a separate VendorSignup flow — see App Registration.


Possible errors — ProblemDetails, codes 400/401/403/404. For the general rules see Conventions and the Errors section.