Skip to main content

Property Data Importer Fields Available

Every field the Property Data Importer accepts across the five models, what it takes, and which ones are required.

The Property Data Importer brings property, reservation, guest, space, and rate plan data into Bookboost from an external system. This is the field reference: what each field is called, what it accepts, and which ones are required.

Read the required-field rules first. Four of the five models accept more than one field as their identifier, so "required" means "one of these", not "all of these". Getting that wrong is the most common reason a mapping fails before anything else is looked at.

Fields containing a colon, such as address:city, are nested data that create or update a related record. They are listed with their prefix.

Property model fields

id (Required*)

Unique identifier for the property. Either id or name must be provided.

  • PROP-001

  • 12345

  • hotel-downtown-nyc

  • property_abc123

Note: Required if name is not provided.

name (Required*)

Name of the property. Either id or name must be provided.

  • Grand Hotel Downtown

  • Beachside Resort & Spa

  • City Center Hotel

  • Mountain View Lodge

Note: Required if id is not provided.

Reservation model fields

id (Required*)

Unique identifier for the reservation. Either id or booking_reference must be provided.

  • RES-2024-001234

  • 12345678

  • booking-abc-xyz-123

  • 20240115-001

Note: Required if booking_reference is not provided.

booking_reference (Required*)

Booking reference number from the source system. Either id or booking_reference must be provided.

  • BK-2024-001234

  • ABC123XYZ

  • 1234567890

  • WEB-2024-01-15-001

Note: Required if id is not provided.

status (Optional)

Current status of the reservation. Bookboost normalises common variations, so you do not have to reformat your source values.

  • confirmed → normalised to expected

  • checkin / checked in / check_in / check-in → normalised to checked_in

  • checkout / checked out / check_out / check-out → normalised to checked_out

  • due in / duein / due_in / due-in → normalised to due_in

  • due out / dueout / due_out / due-out → normalised to due_out

  • no show / noshow / no-show → normalised to no_show

  • canceled → normalised to cancelled

  • Accepted as they are: enquired, requested, transferred, waitlisted, other

Format: String, 2 to 16 characters

market_segment (Optional)

Market segment classification for the reservation.

  • Group

  • Business

  • Leisure

  • Corporate

  • Individual

  • Family

Format: String, max 255 characters

market_category (Optional)

Market category classification.

  • Promotion

  • Non-Promotion

  • Standard

  • Premium

  • Discount

Format: String, max 255 characters

channel_segment (Optional)

Channel segment through which the reservation was made.

  • Messaging

  • Phone

  • Channel Manager

  • Direct

  • Online

  • Walk-in

Format: String, max 255 characters

channel_category (Optional)

Specific channel category or booking source.

  • Bookingcom

  • Expedia

  • Airbnb

  • HomeAway

  • Agoda

  • Website

  • Maps

  • Chatbot

  • Whatsapp

  • Facebook

  • WeChat

  • Siteminder

  • BookingEngine

  • SMX

  • OKTA

Format: String, max 255 characters

agency_name (Optional)

Name of the travel or booking agency.

  • ABC Travel Agency

  • Global Travel Services

  • Corporate Travel Solutions

  • Vacation Experts Inc.

Format: String, max 255 characters

iata_code (Optional)

IATA code for the travel agency.

  • 12345678

  • ABC12345

  • 98765432

Format: String, max 255 characters

arrival_date_time (Optional)

Date and time of guest arrival.

  • 2024-01-15 14:00:00

  • 2024-01-15T14:00:00Z

  • 2024-01-15

  • 15/01/2024 14:00

  • 2024-01-15 2:00 PM

Format: Any common date or date-time format

departure_date_time (Optional)

Date and time of guest departure.

  • 2024-01-20 11:00:00

  • 2024-01-20T11:00:00Z

  • 2024-01-20

  • 20/01/2024 11:00

  • 2024-01-20 11:00 AM

Format: Any common date or date-time format

number_of_units (Optional)

Number of units, meaning rooms or spaces, in the reservation.

  • 1

  • 2

  • 5

  • 10

Format: Integer

number_of_adults (Optional)

Number of adults in the reservation.

  • 1

  • 2

  • 4

  • 6

Format: Integer

number_of_children (Optional)

Number of children in the reservation.

  • 0

  • 1

  • 2

  • 3

Format: Integer

start (Optional)

Start date of the reservation.

  • 2024-01-15

  • 2024-01-15 00:00:00

  • 15/01/2024

  • 2024-01-15T00:00:00Z

Format: Date

end (Optional)

End date of the reservation.

  • 2024-01-20

  • 2024-01-20 00:00:00

  • 20/01/2024

  • 2024-01-20T00:00:00Z

Format: Date

currency (Optional)

Currency code for the reservation amounts.

  • USD

  • EUR

  • GBP

  • JPY

  • CAD

  • AUD

  • CHF

Format: ISO 4217 three-letter code

total_gross_amount (Optional)

Total gross amount for the reservation. How it is read depends on your money_in_cents configuration.

  • With money_in_cents set to true: 15000 represents 150.00

  • With money_in_cents set to false: 150.00 is multiplied by 100 and stored as 15000 cents

Format: Integer when money_in_cents is true, otherwise numeric

total_tax (Optional)

Total tax amount for the reservation, in cents.

  • 1500 represents 15.00

  • 2500 represents 25.00

  • 0

Format: Integer

notes (Optional)

General notes about the reservation. Creates a note record attached to it.

  • Guest requested late checkout

  • Allergic to peanuts - please note

  • Celebrating anniversary - room upgrade requested

  • VIP guest - special attention required

Format: String

connector:created (Optional)

When the record was created in the source system.

  • 2024-01-15 10:30:00

  • 2024-01-15T10:30:00Z

  • 2024-01-15

Format: Date or date-time

connector:updated (Optional)

When the record was last updated in the source system.

  • 2024-01-16 14:20:00

  • 2024-01-16T14:20:00Z

  • 2024-01-16

Format: Date or date-time

User model fields

id (Required*)

Unique identifier for the guest. Either id, email, or phone must be provided.

  • USER-001

  • 12345

  • john.doe@example.com, where email is used as the ID

  • +1234567890, where phone is used as the ID

Note: Required if neither email nor phone is provided. Where none is given, Bookboost generates one from the email, phone, or full name.

full_name (Optional)

Full name of the guest. If provided, it is split automatically into first_name and last_name.

  • John Doe

  • Mary Jane Watson

  • Jean-Pierre Dubois

  • Maria Elena Rodriguez

Format: String

first_name (Optional)

First name of the guest.

  • John

  • Mary

  • Jean-Pierre

  • Maria Elena

Format: String

last_name (Optional)

Last name of the guest.

  • Doe

  • Watson

  • Dubois

  • Rodriguez

Format: String

email (Required*)

Email address of the guest. Validated and converted to lowercase. Either id, email, or phone must be provided.

  • john.doe@example.com

  • mary.jane@company.co.uk

  • user+tag@domain.com

  • test_user123@example.org

Format: Valid RFC-compliant email address Note: Required if neither id nor phone is provided.

phone (Required*)

Phone number of the guest. Validated on import. Either id, email, or phone must be provided.

  • +1234567890

  • +44 20 1234 5678

  • +33 1 23 45 67 89

  • (555) 123-4567

  • +1-555-123-4567

Format: Valid phone number Note: Required if neither id nor email is provided.

gender (Optional)

Gender of the guest.

  • Male

  • Female

  • Other

  • Prefer not to say

Format: String

nationality (Optional)

Nationality of the guest. Converted automatically to a country code.

  • United StatesUS

  • United KingdomGB

  • FranceFR

  • GermanyDE

Format: Country name, stored as an ISO country code

language (Optional)

Preferred language of the guest. Converted automatically to an ISO 639 code.

  • Englishen

  • Frenchfr

  • Spanishes

  • Germande

Format: Language name, stored as an ISO 639 code

salutation (Optional)

Salutation or title.

  • Mr.

  • Mrs.

  • Ms.

  • Dr.

  • Prof.

Format: String

birthday (Optional)

Date of birth.

  • 1990-05-15

  • 1985-12-25

  • 15/05/1990

  • 1990-05-15T00:00:00Z

Format: Date

address:address_line1 (Optional)

First line of the guest's address.

  • 123 Main Street

  • 456 Oak Avenue, Apt 4B

  • 789 Park Road

Format: String

address:address_line2 (Optional)

Second line of the guest's address, such as an apartment or suite.

  • Apt 4B

  • Suite 200

  • Building 2, Floor 3

  • P.O. Box 123

Format: String

address:city (Optional)

City.

  • New York

  • London

  • Paris

  • Tokyo

Format: String

address:country (Optional)

Country.

  • United States

  • United Kingdom

  • France

  • Japan

Format: String

address:zip_code (Optional)

ZIP or postal code.

  • 10001

  • SW1A 1AA

  • 75001

  • 100-0001

Format: String

The consent fields below all require consent:consent_code. A consent value with no code attached has nothing to attach itself to. For what the statuses mean, see Consent management essentials.

consent:consent_code (Optional)

Code identifying the consent type. It has to match a consent code that already exists in Bookboost.

  • marketing_email

  • sms_notifications

  • data_processing

  • third_party_sharing

Format: String, must already exist Note: Requires consent:is_granted to be true for the consent to be granted.

consent:is_granted (Optional)

Whether the consent is granted.

  • true / True / TRUE / 1 / yes / Yes → grants consent

  • false / False / FALSE / 0 / no / No → does not grant consent

Format: Boolean

consent:is_pending (Optional)

Whether the consent is pending.

  • true / True / TRUE / 1 / yes / Yes → consent is pending

  • false / False / FALSE / 0 / no / No → consent is not pending

Format: Boolean

consent:requested_at (Optional)

When the consent was requested, for example when a double opt-in confirmation was sent. Use this to bring a historical consent timeline across from a previous system.

  • 2024-01-15 10:30:00

  • 2024-01-15T10:30:00Z

  • 2024-01-15

Format: Date or date-time Note: Requires consent:consent_code. Without it, the date recorded is when the event reached Bookboost, not when it happened.

consent:granted_at (Optional)

When the guest granted the consent. Use this to preserve the original opt-in date during a migration, rather than letting the import date stand in for it.

  • 2024-01-16 09:12:00

  • 2024-01-16T09:12:00Z

  • 2024-01-16

Format: Date or date-time Note: Requires consent:consent_code. Without it, the date recorded is when the event reached Bookboost, not when it happened.

consent:revoked_at (Optional)

When the guest withdrew the consent. Only applies where consent was revoked.

  • 2025-03-02 18:45:00

  • 2025-03-02T18:45:00Z

  • 2025-03-02

Format: Date or date-time Note: Requires consent:consent_code. Leave empty for consents that were never revoked.

Consent status (Optional)

You can import the consent status directly, as an alternative to the consent:is_granted and consent:is_pending booleans. Select the consent status field in the data mapper and map your own column to it.

  • granted

  • pending

  • revoked

  • granted implicit

Note: Requires consent:consent_code. Use either the status field or the booleans for a given consent, never both.

company:name (Optional)

Name of the company associated with the guest.

  • Acme Corporation

  • Tech Solutions Inc.

  • Global Enterprises Ltd.

  • Smith & Associates

Format: String

classification (Optional)

Guest classification or category. Synced with the PMS integration where one is available.

  • VIP

  • Corporate

  • Member

  • Regular

  • Premium

Format: String

loyalty_programs:name (Optional)

Name of the loyalty programme.

  • Gold Rewards

  • Platinum Elite

  • Star Alliance

  • Hotel Rewards Program

Format: String, max 255 characters Note: Required if loyalty_programs:external_membership_id is provided.

loyalty_programs:external_membership_id (Optional)

Membership ID in the loyalty programme.

  • 123456789

  • GOLD-ABC-123

  • PLT-987654

  • MEM-2024-001

Format: String, max 255 characters Note: Required if loyalty_programs:name is provided.

Space model fields

id (Required*)

Unique identifier for the space, meaning a room or unit. Either id or name must be provided.

  • ROOM-101

  • 101

  • Suite-201

  • space_abc123

Note: Required if name is not provided. Where it is missing, Bookboost uses the name value.

name (Required*)

Name of the space. Either id or name must be provided.

  • Deluxe Room 101

  • Suite 201

  • Ocean View Room

  • Penthouse Suite

Note: Required if id is not provided. Where it is missing, Bookboost uses the id value.

state (Optional)

Current state of the space.

  • Available

  • Occupied

  • Out of Order

  • Maintenance

  • Cleaning

Format: String

number (Optional)

Room or space number.

  • 101

  • 201A

  • Suite-301

  • Villa-5

Format: String, max 1024 characters

type:code (Optional)

Code for the space type. This is the primary identifier for a space type, and the type is created or updated when it is provided.

  • DLX

  • STD

  • EXE

  • PRES

  • STU

Format: String, max 64 characters

type:name (Optional)

Name of the space type.

  • Deluxe Room

  • Standard Suite

  • Executive Room

  • Presidential Suite

  • Studio Apartment

Format: String Note: Requires type:code for the type to be created or updated.

type:description (Optional)

Description of the space type.

  • Spacious room with king-size bed and city view

  • Luxury suite with separate living area

  • Standard room with two queen beds

  • Premium accommodation with ocean view balcony

Format: String

RatePlan model fields

id (Required)

Unique identifier for the rate plan. This is the only model where a single field is required outright.

  • RATE-001

  • BAR, for Best Available Rate

  • CORP-2024

  • PROMO-SUMMER

Format: String

name (Optional)

Name of the rate plan.

  • Best Available Rate

  • Corporate Rate 2024

  • Summer Promotion

  • Early Bird Special

  • Weekend Package

Format: String

code (Optional)

Code for the rate plan.

  • BAR

  • CORP

  • PROMO

  • EB

  • WKND

Format: String

description (Optional)

Description of the rate plan.

  • Our best available rate with flexible cancellation

  • Special corporate rate for business travelers

  • Limited time summer promotion with 20% discount

  • Early booking discount for advance reservations

Format: String

Which field is required on each model

Four of the five models accept alternatives, so you need one of the listed fields rather than all of them.

  • Property. id or name

  • Reservation. id or booking_reference

  • User. id, email, or phone

  • Space. id or name

  • RatePlan. id, with no alternative

What the colon prefixes mean

A colon in a field name means the value belongs to a related record rather than to the model itself.

  • address: creates or updates the address on the guest.

  • consent: attaches a consent. The consent code has to exist in Bookboost already.

  • company: creates or updates the company relationship.

  • loyalty_programs: creates or updates the loyalty programme relationship.

  • type: creates or updates the space type.

  • connector: carries metadata about the source system.

What gets converted on the way in

You do not need to normalise these before importing. Bookboost handles them.

  • Dates. Read from a wide range of formats.

  • Integers. number_of_units, number_of_adults, number_of_children, and total_tax are converted to whole numbers.

  • Money. total_gross_amount is read according to your money_in_cents setting.

  • Booleans. Consent fields accept true, TRUE, 1, yes, and their opposites.

  • Email. Validated and lowercased.

  • Phone. Validated for a usable format.

  • Country and language. Converted from names to ISO codes.

  • Reservation status. Common variations are normalised, so checkin, check-in, and checked in all become checked_in.

What this does not do

  • It does not create consents. A consent:consent_code that does not already exist in Bookboost causes the row to fail rather than creating the consent.

  • It does not fill in consent dates for you. Where consent:requested_at, consent:granted_at, and consent:revoked_at are missing, the dates recorded are when the import ran, not when the guest acted.

  • It does not guess the money format. total_gross_amount is read according to money_in_cents, so getting that setting wrong shifts every amount by a factor of a hundred.

  • It does not pair loyalty fields for you. Provide one of the two loyalty fields and the other becomes required.

  • It is not the one-off file import. Uploading a guest list by hand is a different thing. See Import guest data from a file.

What to do next

If you are importing consent, read Consent management essentials first, so the statuses and dates you map mean what you expect them to.

Getting help

Open Help at the bottom of the left menu and choose Talk to Us, or email support@bookboost.io.

Did this answer your question?