Skip to content

UI Components

Vio provides a shared UI component library — @vio/ui-kit — that powers every surface rendering hotel UI, including Vio's own products. Partners on UI Kit Library, AG-UI, and Hosted MCP App integrations get pre-built hotel UI out of the box. When Vio ships a UI improvement, it reaches every partner surface automatically.

See it in action: Vio ChatGPT App

Packages

PackagePurposeUsed by
@vio/ui-kit-coreFramework-agnostic hotel UI componentsAll modes with UI
@vio/ui-kit-reactReact wrapper with callback propsUI Kit Library
@vio/ui-kit-aguiAG-UI event stream wiringAG-UI + UI Kit

Available components

Hotel search results

Displays when search_hotels returns results:

  • Hotel cards — Image, name, star rating, guest rating, price, booking button
  • Interactive map — Mapbox-powered map with hotel pins
  • Search summary — Location, dates, guest count
  • Expand to fullscreen — Desktop and mobile optimized layouts

Hotel detail panel

Displayed when a user clicks on a hotel card or requests more details:

  • Image carousel — Swipeable hotel photos
  • Review summary — AI-generated insights by category
  • Room list — Available room types with amenities and prices
  • Facilities — Grouped amenity list with icons
  • FAQ — Expandable question/answer pairs
  • Location details — Area description, nearby attractions
  • Booking offers — Provider comparison with direct booking links

Additional components

  • VioFilters — Interactive filter controls for facilities, star rating, price range
  • VioCompareTray — Side-by-side hotel comparison
  • VioPriceAlert — Price monitoring setup and confirmation
  • VioMapView — Full map view with hotel pins and clustering

Theming

Components adapt to the host's theme and accept custom brand colors:

  • Light mode — Clean white backgrounds
  • Dark mode — Dark backgrounds with appropriate contrast
  • Brand accent — Configurable via theme.accent
tsx
<VioSearchResults theme={{ accent: '#6001D2' }} />

Responsive design

Components adapt to device type:

  • Desktop — Side-by-side map and list, fullscreen overlays
  • Mobile — Stacked layout, swipeable panels, bottom sheets

Customization levels

LevelDescriptionExample
ThemeColors, fonts, spacingtheme={ accent: '#6001D2' }
Slot overridesReplace specific sub-componentsCustom booking button
HeadlessUse Vio's data hooks with your own componentsFull design control

Integration by mode

UI Kit Library: Import @vio/ui-kit-react components, pass MCP data as props, and implement interaction callbacks.

AG-UI + UI Kit: Import @vio/ui-kit-agui — components render automatically from the AG-UI event stream. No interaction code needed.

Hosted MCP App: UI is fully hosted by Vio. No package installation required.

See Integration Options for details on each mode.

Vio - Book like an insider