Embeddable Client Components
Description
Our SDK provides you with embeddable UI components to help build your integration with Autohost. For all Verification Components, we embed a Preact micro-app in your own app. For some Admin Components, we mount an iframe.
Here is a quick introductory video on how to get started with our SDK.
Admin Components
These components are used to build out your own dashboard to access information about the reservation in Autohost. These display sensitive information, and require a short-lived secure access token.
Verification Components
Verification Components are user-facing components, that allow you to embed some or all of the Autohost Guest Portal in your own application.
Usage
Create a new client instance. You can also indicate if you want to access the sandbox (develop) environment, or production.
const client = await AutohostSDK.init({
sandbox: true, // defaults to true
reservationId: RESERVATION_ID,
});
Use the client instance to mount a component. Provide a component name and an options object to the component method, and the ID of the DOM element the component will be mounted in.
client.component('COMPONENT_NAME', options).mount('#target');
<div id="target" />
Custom Styles
For all components except for Reservation Results, our UI is fully embedded in your app, and will inherit your CSS styles for all base html elements. You can further customize the appearance of our UI by targeting the classes of our elements. These are prefixed with ah-, such as ah-button, ah-select.
For the Reservation Results component (which renders in an iframe), you can customize styles by:
- Passing a
stylesobject in the options when mounting the component - Overriding CSS Custom Properties to change typography, colors, and spacing globally
- Targeting BEM-style class names for specific element customization
See the Reservation Results section for a complete list of available CSS classes and custom properties.
Some of the class names that appear in our ui are generated by our build proccess, applying styles from our CSS
modules. They are generated at build time, and may be unreliable. documentSelect-module_doctypeSelect__ZqHn2 is
one example. We suggest not using targetting those classes. Use the semantic class names we have added that are
prefixed with ah- instead.
Localization
In all of our Verification Components, we provide translations in the languages in the table below. We automatically detect the best language to use based on the user's browser settings. Alternatively, you can pass a locale property to the options object when you initialize the component.
| Code | Language |
|---|---|
| 'cs' | Czech |
| 'de' | German |
| 'en' | English |
| 'es' | Spanish |
| 'fr' | French |
| 'he' | Hebrew |
| 'it' | Italian |
| 'ja' | Japanese |
| 'pt' | Portuguese |
| 'pt-BR | Portuguese (Brazil) |
Admin Components
Reservation Results
Component Name
ReservationResults
Description
Displays the Autohost verification results for a reservation. This includes:
- Basic reservation information
- Verification status with approve/decline functionality
- ID verification results
- Top verifications
- Concerns and recommendations
- ID document images (if available)
Options
| Name | Type | Description |
|---|---|---|
| reservationId | String | The Autohost ID of the reservation to display. |
| apiToken | String | The temporary API token. More info on how to generate it. |
| styles | Styles (object) | An object of custom CSS styles to apply to the elements on the page. The keys can be the class name of any element on the page. You can inspect the embedded component to see all class names available. |
New Features
The component now includes manual verification controls that allow property managers to:
- Approve or decline reservations
- Add notes to the verification decision
- Select specific reasons for declining a reservation
- View the history of manual verification decisions
Available CSS Classes
The following CSS classes are available for styling. We use BEM (Block, Element, Modifier) naming conventions for consistency and easy targeting.
CSS Custom Properties (Variables)
You can override these CSS custom properties to customize typography across the entire component:
:root {
/* Font Family */
--dashboard-font-family: inherit;
/* Font Sizes */
--dashboard-font-size-xs: 0.75rem; /* 12px - captions, metadata */
--dashboard-font-size-sm: 0.875rem; /* 14px - secondary text, labels */
--dashboard-font-size-base: 1rem; /* 16px - body text */
--dashboard-font-size-md: 1.125rem; /* 18px - emphasized body */
--dashboard-font-size-lg: 1.25rem; /* 20px - section titles */
--dashboard-font-size-xl: 1.5rem; /* 24px - card titles */
--dashboard-font-size-2xl: 1.75rem; /* 28px - large stats */
--dashboard-font-size-3xl: 2rem; /* 32px - hero stats */
/* Font Weights */
--dashboard-font-weight-normal: 400;
--dashboard-font-weight-medium: 500;
--dashboard-font-weight-semibold: 600;
--dashboard-font-weight-bold: 700;
/* Line Heights */
--dashboard-line-height-tight: 1.25;
--dashboard-line-height-normal: 1.5;
--dashboard-line-height-relaxed: 1.75;
/* Letter Spacing */
--dashboard-letter-spacing-tight: -0.025em;
--dashboard-letter-spacing-normal: 0;
--dashboard-letter-spacing-wide: 0.025em;
/* Text Colors */
--dashboard-text-primary: #1a1a1a;
--dashboard-text-secondary: #666666;
--dashboard-text-muted: #999999;
--dashboard-text-inverse: #ffffff;
/* Status Colors */
--dashboard-status-success: #2e7d32;
--dashboard-status-warning: #ed6c02;
--dashboard-status-error: #d32f2f;
--dashboard-status-info: #0288d1;
--dashboard-status-neutral: #757575;
}
Global Typography Classes
These classes are applied to text elements throughout the component and can be targeted for consistent styling:
dashboard__card-title- Card/accordion header titlesdashboard__section-title- Section titles within cardsdashboard__subsection-title- Subsection titlesdashboard__label- Labels in definition lists and formsdashboard__value- Values in definition listsdashboard__body- Body text contentdashboard__caption- Caption and metadata textdashboard__stat-value- Large statistic numbersdashboard__stat-label- Labels for statisticsdashboard__status--success- Success status text (green)dashboard__status--warning- Warning status text (orange)dashboard__status--error- Error status text (red)dashboard__status--info- Info status text (blue)dashboard__status--neutral- Neutral status text (gray)
Main Container
root- The main container of the component
Card Components
card- Base class for all cards/accordionscard_information- Information cardcard_status- Verification status cardcard_top-verifications- Top verifications cardcard_top-concerns- Concerns cardcard_top-recommendations- Recommendations cardcard_report-download- Report download cardcard_id-verification-document- ID verification document cardcard_fraud-detection- Fraud detection cardcard_global-watchlist- Global watchlist cardcard_adverse-media- Adverse media cardcard_error- Error message card
Headers
header- Base class for all headersheader_information- Information section headerheader_status- Status section headerheader_top-verifications- Top verifications headerheader_top-concerns- Concerns section headerheader_top-recommendations- Recommendations headerheader_report-download- Report download headerheader_id-verification-document- ID verification document headerheader_fraud-detection- Fraud detection headerheader_global-watchlist- Global watchlist headerheader_adverse-media- Adverse media headerheader_error- Error message header
Verification Status
verification-status-card- Container for verification statusverification-status-header- Header of verification status sectionverification-status__title- Title text in headerverification-status__content- Main content areaverification-status__list- List containerverification-status__list-item- Individual status itemsverification-status__item--supervised- Supervised decision itemverification-status__item--automatic- Automatic check itemverification-status__item--guest-portal- Guest portal status itemverification-status__item-label- Label text in itemsverification-status__status-text- Status value textverification-status__notes-text- Notes textverification-status__reason-text- Reason textverification-status__guest-portal-status- Guest portal status textverification-status__last-step-text- Last step textverification-status-info- Info icon buttonverification-status-error- Error messageverification-status-actions- Action buttons containerverification-status-approve-btn- Approve buttonverification-status-decline-btn- Decline buttonverification-status-dialog- Status update dialogverification-status-dialog__title- Dialog titleverification-status-dialog__content- Dialog contentverification-status-dialog__description- Dialog description textverification-status-dialog__actions- Dialog action buttonsverification-status-dialog-error- Error message in dialogverification-status-decline-reason- Decline reason selectorverification-status-decline-reason-helper- Helper text for decline reasonverification-status-notes- Notes input fieldverification-status-cancel-btn- Cancel button in dialogverification-status-submit-btn- Submit button in dialog
Definition Lists
definition-list- Container for definition listdefinition-list__item- List item containerdefinition-list__item--alternate- Alternate row styling (even rows)definition-list__item-[label]- Dynamic class based on label (camelCase)definition-list__label- Label containerdefinition-list__label-text- Label text elementdefinition-list__value- Value containerdefinition-list__value-text- Value text elementdefinition-list__extra- Extra content containerdefinition-list__extra-text- Extra text element
Legacy classes (deprecated, use new BEM classes above):
definition-list_item- List item containerdefinition-list_item--text- Text content in list itemsdefinition-list__item--label- Labels in definition listsdefinition-list__item--value- Values in definition listsdefinition-list__item--extra- Extra information in list itemsdefinition-list_item--alternate- Alternate styling for list items
ID Check Section
id-check__title- Section titleid-check__content- Content container
ID Images
id-image_container- Container for ID imagesid-image_container_{type}- Specific container for each image typeid-image- Base class for ID imagesid-image_{type}- Specific class for each image type
Top Concerns
top-concerns__title- Section titletop-concerns__content- Content containertop-concerns__list- List containertop-concerns__item- Individual concern itemstop-concerns__item--empty- Empty state itemtop-concerns__text- Concern texttop-concerns__empty-text- Empty state text
Top Recommendations
top-recommendations__title- Section titletop-recommendations__content- Content containertop-recommendations__list- List containertop-recommendations__item- Individual recommendation itemstop-recommendations__item--empty- Empty state itemtop-recommendations__text- Recommendation texttop-recommendations__empty-text- Empty state text
Top Verifications
top-verifications__title- Section titletop-verifications__content- Content container
Report Download
report-download__title- Section titlereport-download__content- Content containerreport-download__description- Description text
Information Section
information__title- Section titleinformation__content- Content container
Fraud Detection
fraud-detection__title- Section titlefraud-detection__content- Content containerfraud-detection__list- Main list containerfraud-detection__list-item- List itemsfraud-detection__item-label- Label textfraud-detection__item-value- Value textfraud-detection__status- Status textfraud-detection__status-chip- Status chip in headerfraud-detection__location- Location textfraud-detection__device- Device info textfraud-detection__observations- Observations listfraud-detection__subheader- Observations subheaderfraud-detection__observation-item- Individual observationfraud-detection__observation-text- Observation textfraud-detection__no-observations- Empty observations textfraud-detection__geolocation- Geolocation sectionfraud-detection__fingerprints- Fingerprints sectionfraud-detection__section-title- Section titles within cardfraud-detection__stat-card- Stat card containerfraud-detection__stat-value- Stat value (large number)fraud-detection__stat-label- Stat label text
Global Watchlist
global-watchlist__title- Section titleglobal-watchlist__match-chip- Match count chip in headerglobal-watchlist__content- Content containerglobal-watchlist__stat-card- Stats cardglobal-watchlist__stat-value- Stat value (match count)global-watchlist__stat-label- Stat labelglobal-watchlist__info-icon- Info icon buttonglobal-watchlist__section-title- "Watchlist Matches" titleglobal-watchlist__list- Results listglobal-watchlist__list-item- Individual result itemglobal-watchlist__item-header- Item header with nameglobal-watchlist__item-name- Person nameglobal-watchlist__item-source- Source containerglobal-watchlist__item-source-text- Source textglobal-watchlist__item-divider- Divider lineglobal-watchlist__item-details- Details containerglobal-watchlist__detail-label- Detail label (Type, Country, etc.)global-watchlist__detail-value- Detail valueglobal-watchlist__link- View profile linkglobal-watchlist__link-text- Link textglobal-watchlist__aliases-label- "Aliases:" labelglobal-watchlist__item-aliases- Aliases containerglobal-watchlist__alias-chip- Individual alias chipglobal-watchlist__image-container- Image containerglobal-watchlist__item-image- Profile imageglobal-watchlist__item-image-skeleton- Image placeholderglobal-watchlist__image-source- Image source captionglobal-watchlist__empty-state- Empty state containerglobal-watchlist__empty-icon- Empty state iconglobal-watchlist__empty-title- Empty state titleglobal-watchlist__empty-description- Empty state description
Adverse Media
adverse-media__title- Section titleadverse-media__match-chip- Match count chip in headeradverse-media__content- Content containeradverse-media__info-list- Info list (status, topics)adverse-media__info-item- Info list itemadverse-media__info-label- Info labeladverse-media__status- Status textadverse-media__risk-categories- Risk categories containeradverse-media__risk-chip- Risk category chipadverse-media__filter-toggle- Filter toggle linkadverse-media__findings-list- Findings listadverse-media__finding- Individual findingadverse-media__finding-container- Finding containeradverse-media__image-container- Finding image containeradverse-media__image-wrapper- Image wrapperadverse-media__image- Finding imageadverse-media__image-skeleton- Image placeholderadverse-media__finding-content- Finding content containeradverse-media__finding-title- Finding titleadverse-media__finding-summary- Finding summary textadverse-media__finding-categories- Finding categories containeradverse-media__finding-category-chip- Category chipadverse-media__finding-source- Source containeradverse-media__source-link- Source link icon buttonadverse-media__source-domain- Source domain textadverse-media__finding-divider- Divider between findingsadverse-media__empty-state- Empty state containeradverse-media__empty-icon- Empty state iconadverse-media__empty-title- Empty state title
Error State
error__title- Error titleerror__content- Error content containererror__description- Error description texterror__list- Error reasons listerror__list-item- Error reason itemerror__list-item-text- Error reason text
Sex Offenders
Component Name
SexOffenders
Description
Displays the results of the [/docs/knowledge/guest-portal/addons/sex-offender-search](Sex Offender Search). If there are no results, the component does not render any content.
Options
| Name | Type | Description |
|---|---|---|
| reservationId | String | The Autohost ID of the reservation to display. |
| apiToken | String | The temporary API token. More info on how to generate it. |
Verification Components
ID Verification
Component Name
IDV
Description
Embeds the ID verification UI, where the user scans their ID document and submits a selfie.
Options
| Name | Type | Description |
|---|---|---|
| reservationId | String | The Autohost ID of the reservation. |
| callbacks | IDVCallbacks | An object defining callbacks to be fired when certain events occur. See the IDV Component page for more information. |
| primaryColor (optional) | String | The color to use as the primary color for all UI components. |
| locale (optional) | Locales | The language to display the component in. |
| isSinglePage (optional) | Boolean | If true, the Autohost Activity log will show that the user submitted IDV from a Single Page. |
See the IDV page for detailed information.
Selfie Step
Component Name
Selfie
Description
Used in the case when you require a user to re-submit their selfie image. This should always be a stand-alone step used when a selfie submitted as part of IDV is unsatisfactory, not a part of your normal Guest Portal flow.
Options
| Name | Type | Description |
|---|---|---|
| reservationId | String | The Autohost ID of the reservation. |
| callbacks | SelfieCallbacks | An object defining callbacks to be fired when certain events occur. See the IDV Component page for more information. |
| primaryColor (optional) | String | The color to use as the primary color for all UI components. |
| locale (optional) | Locales | The language to display the component in. |
| isSinglePage (optional) | Boolean | If true, the Autohost Activity log will show that the user submitted their Selfie from a Single Page. |
Selfie Callbacks
| Name | Parameters | Event |
|---|---|---|
| onStartImageUpload | User has submitted an image. | |
| onImageUploadComplete | The image has been accepted and verified. | |
| onImageUploadFailed | errorMessage: string | The image has been rejected. This could be because it is illegible, not an image of a person, or there is something else wrong with the image. |
Document Signing
Component Name
ElectronicSignature
Description
The Electronic Signature component enables users to view legal documents and capture digital signatures directly within your application.
Options
| Name | Type | Description |
|---|---|---|
| reservationId | String | The Autohost ID of the reservation. |
| emailSignedCopy | String | Send an email copy of the executed document (default: true) |
| signatureModes (optional) | SignatureMode[] | Available signature capture modes are type and draw. Defaults to ['type']. |
| callbacks (optional) | ElectronicSignatureCallbacks | An object defining callbacks to be fired when certain events occur. |
| primaryColor (optional) | String | The color to use as the primary color for all UI components. |
| locale (optional) | Locales | The language to display the component in. |
See the ElectronicSignature page for detailed information.Ï