Property Data Importer Fields Available

This document provides comprehensive examples for all fields available in the Property Data Importer (PDI) field mapping system.

 

Table of contents

  • Property model fields
  • Reservation model fields
  • User model fields
  • Space model fields
  • RatePlan model fields

Property model fields

id (Required*)

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

Examples:

  • PROP-001
  • 12345
  • hotel-downtown-nyc
  • property_abc123

Note: *Required if name is not provided.

name (Required*)

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

Examples:

  • Grand Hotel Downtown
  • Beachside Resort & Spa
  • City Center Hotel
  • Mountain View Lodge

Note: *Required if id is not provided.


Reservation model fields

id (Required*)

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

Examples:

  • RES-2024-001234
  • 12345678
  • booking-abc-xyz-123
  • 20240115-001

Note: *Required if booking_reference is not provided.

booking_reference (Required*)

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

Examples:

  • BK-2024-001234
  • ABC123XYZ
  • 1234567890
  • WEB-2024-01-15-001

Note: *Required if id is not provided.

status (Optional)

Description: Current status of the reservation. The system normalizes various status formats.

Examples:

  • confirmed → Normalized to expected
  • checkin / checked in / check_in / check-in → Normalized to checked_in
  • checkout / checked out / check_out / check-out → Normalized to checked_out
  • due in / duein / due_in / due-in → Normalized to due_in
  • due out / dueout / due_out / due-out → Normalized to due_out
  • no show / noshow / no-show → Normalized to no_show
  • enquired
  • requested
  • transferred
  • waitlisted
  • canceled → Normalized to cancelled
  • other

Valid values: String, 2-16 characters

market_segment (Optional)

Description: Market segment classification for the reservation.

Examples:

  • Group
  • Business
  • Leisure
  • Corporate
  • Individual
  • Family

Valid values: String, max 255 characters

market_category (Optional)

Description: Market category classification.

Examples:

  • Promotion
  • Non-Promotion
  • Standard
  • Premium
  • Discount

Valid values: String, max 255 characters

channel_segment (Optional)

Description: Channel segment through which the reservation was made.

Examples:

  • Messaging
  • Phone
  • Channel Manager
  • Direct
  • Online
  • Walk-in

Valid values: String, max 255 characters

channel_category (Optional)

Description: Specific channel category or booking source.

Examples:

  • Bookingcom
  • Expedia
  • Airbnb
  • HomeAway
  • Agoda
  • Website
  • Maps
  • Chatbot
  • Whatsapp
  • Facebook
  • WeChat
  • Siteminder
  • BookingEngine
  • SMX
  • OKTA

Valid values: String, max 255 characters

agency_name (Optional)

Description: Name of the travel agency or booking agency.

Examples:

  • ABC Travel Agency
  • Global Travel Services
  • Corporate Travel Solutions
  • Vacation Experts Inc.

Valid values: String, max 255 characters

iata_code (Optional)

Description: IATA (International Air Transport Association) code for the travel agency.

Examples:

  • 12345678
  • ABC12345
  • 98765432

Valid values: String, max 255 characters

arrival_date_time (Optional)

Description: Date and time of guest arrival. Automatically converted to Carbon date object.

Examples:

  • 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 date/time format that Carbon can parse

departure_date_time (Optional)

Description: Date and time of guest departure. Automatically converted to Carbon date object.

Examples:

  • 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 date/time format that Carbon can parse

number_of_units (Optional)

Description: Number of units (rooms/spaces) in the reservation. Automatically converted to integer.

Examples:

  • 1
  • 2
  • 5
  • 10

Format: Integer

number_of_adults (Optional)

Description: Number of adults in the reservation. Automatically converted to integer.

Examples:

  • 1
  • 2
  • 4
  • 6

Format: Integer

number_of_children (Optional)

Description: Number of children in the reservation. Automatically converted to integer.

Examples:

  • 0
  • 1
  • 2
  • 3

Format: Integer

start (Optional)

Description: Start date of the reservation. Automatically converted to Carbon date object.

Examples:

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

Format: Date format (required if provided)

end (Optional)

Description: End date of the reservation. Automatically converted to Carbon date object.

Examples:

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

Format: Date format (required if provided)

currency (Optional)

Description: Currency code for the reservation amounts.

Examples:

  • USD
  • EUR
  • GBP
  • JPY
  • CAD
  • AUD
  • CHF

Format: ISO 4217 currency code (3 letters), max 255 characters

total_gross_amount (Optional)

Description: Total gross amount for the reservation. Automatically converted based on money_in_cents configuration.

Examples:

  • If money_in_cents is true: 15000 (represents $150.00)
  • If money_in_cents is false: 150.00 (automatically multiplied by 100 to become 15000 cents)

Format: Integer (if money_in_cents) or Numeric (if not)

total_tax (Optional)

Description: Total tax amount for the reservation. Automatically converted to integer.

Examples:

  • 1500 (represents $15.00 in cents)
  • 2500 (represents $25.00 in cents)
  • 0

Format: Integer

notes (Optional)

Description: General notes or comments about the reservation. Creates a note record associated with the reservation.

Examples:

  • Guest requested late checkout
  • Allergic to peanuts - please note
  • Celebrating anniversary - room upgrade requested
  • VIP guest - special attention required

Format: String

connector:created (Optional)

Description: Timestamp when the record was created in the source system. Automatically converted to Carbon date object.

Examples:

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

Format: Date/time format

connector:updated (Optional)

Description: Timestamp when the record was last updated in the source system. Automatically converted to Carbon date object.

Examples:

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

Format: Date/time format


User model fields

id (Required*)

Description: Unique identifier for the user. Either id, email, or phone must be provided.

Examples:

  • USER-001
  • 12345
  • +1234567890 (if phone is used as ID)

Note: *Required if both email and phone are not provided. If not provided, system will auto-generate from email, phone, or full name.

full_name (Optional)

Description: Full name of the user. If provided, will be automatically split into first_name and last_name.

Examples:

  • John Doe
  • Mary Jane Watson
  • Jean-Pierre Dubois
  • Maria Elena Rodriguez

Format: String

first_name (Optional)

Description: First name of the user.

Examples:

  • John
  • Mary
  • Jean-Pierre
  • Maria Elena

Format: String

last_name (Optional)

Description: Last name of the user.

Examples:

  • Doe
  • Watson
  • Dubois
  • Rodriguez

Format: String

email (Required*)

Description: Email address of the user. Automatically validated and converted to lowercase. Either id, email, or phone must be provided.

Examples:

Format: Valid RFC-compliant email address

Note: *Required if both id and phone are not provided.

phone (Required*)

Description: Phone number of the user. Automatically validated. Either id, email, or phone must be provided.

Examples:

  • +1234567890
  • +44 20 1234 5678
  • +33 1 23 45 67 89
  • (555) 123-4567
  • +1-555-123-4567

Format: Valid phone number format (auto-validated)

Note: *Required if both id and email are not provided.

gender (Optional)

Description: Gender of the user.

Examples:

  • Male
  • Female
  • Other
  • Prefer not to say

Format: String

nationality (Optional)

Description: Nationality of the user. Automatically converted to country code.

Examples:

  • United States → Converted to US
  • United Kingdom → Converted to GB
  • France → Converted to FR
  • Germany → Converted to DE

Format: String (country name, automatically converted to ISO country code)

language (Optional)

Description: Preferred language of the user. Automatically converted to ISO 639 language code.

Examples:

  • English → Converted to en
  • French → Converted to fr
  • Spanish → Converted to es
  • German → Converted to de

Format: String (language name, automatically converted to ISO 639 code)

salutation (Optional)

Description: Salutation or title for the user.

Examples:

  • Mr.
  • Mrs.
  • Ms.
  • Dr.
  • Prof.

Format: String

birthday (Optional)

Description: Date of birth of the user.

Examples:

  • 1990-05-15
  • 1985-12-25
  • 15/05/1990
  • 1990-05-15T00:00:00Z

Format: Date format

address:address_line1 (Optional)

Description: First line of the user’s address.

Examples:

  • 123 Main Street
  • 456 Oak Avenue, Apt 4B
  • 789 Park Road

Format: String

address:address_line2 (Optional)

Description: Second line of the user’s address (apartment, suite, etc.).

Examples:

  • Apt 4B
  • Suite 200
  • Building 2, Floor 3
  • P.O. Box 123

Format: String

address:city (Optional)

Description: City of the user’s address.

Examples:

  • New York
  • London
  • Paris
  • Tokyo

Format: String

address:country (Optional)

Description: Country of the user’s address.

Examples:

  • United States
  • United Kingdom
  • France
  • Japan

Format: String

address:zip_code (Optional)

Description: ZIP or postal code of the user’s address.

Examples:

  • 10001
  • SW1A 1AA
  • 75001
  • 100-0001

Format: String

consent:consent_code (Optional)

Description: Code identifying the consent type. Must match an existing consent code in the system.

Examples:

  • marketing_email
  • sms_notifications
  • data_processing
  • third_party_sharing

Format: String (must exist in system)

Note: Requires consent:is_granted to be set to true for the consent to be granted.

consent:is_granted (Optional)

Description: Boolean indicating if consent is granted. Accepts boolean values.

Examples:

  • true / True / TRUE / 1 / yes / Yes → Grants consent
  • false / False / FALSE / 0 / no / No → Does not grant consent

Format: Boolean (automatically mapped)

consent:is_pending (Optional)

Description: Boolean indicating if consent is pending. Accepts boolean values.

Examples:

  • true / True / TRUE / 1 / yes / Yes → Consent is pending
  • false / False / FALSE / 0 / no / No → Consent is not pending

Format: Boolean (automatically mapped)

company:name (Optional)

Description: Name of the company associated with the user.

Examples:

  • Acme Corporation
  • Tech Solutions Inc.
  • Global Enterprises Ltd.
  • Smith & Associates

Format: String

classification (Optional)

Description: User classification or category. Synced with PMS integration if available.

Examples:

  • VIP
  • Corporate
  • Member
  • Regular
  • Premium

Format: String

loyalty_programs:name (Optional)

Description: Name of the loyalty program. Required if loyalty_programs:external_membership_id is provided.

Examples:

  • Gold Rewards
  • Platinum Elite
  • Star Alliance
  • Hotel Rewards Program

Format: String, max 255 characters

Note: If loyalty_programs:external_membership_id is provided, this field becomes required.

loyalty_programs:external_membership_id (Optional)

Description: External membership ID in the loyalty program. Required if loyalty_programs:name is provided.

Examples:

  • 123456789
  • GOLD-ABC-123
  • PLT-987654
  • MEM-2024-001

Format: String, max 255 characters

Note: If loyalty_programs:name is provided, this field becomes required.


Space model fields

id (Required*)

Description: Unique identifier for the space (room/unit). Either id or name must be provided.

Examples:

  • ROOM-101
  • 101
  • Suite-201
  • space_abc123

Note: *Required if name is not provided. If not provided, system will use name value.

name (Required*)

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

Examples:

  • Deluxe Room 101
  • Suite 201
  • Ocean View Room
  • Penthouse Suite

Note: *Required if id is not provided. If not provided, system will use id value.

state (Optional)

Description: Current state of the space.

Examples:

  • Available
  • Occupied
  • Out of Order
  • Maintenance
  • Cleaning

Format: String

number (Optional)

Description: Room or space number.

Examples:

  • 101
  • 201A
  • Suite-301
  • Villa-5

Format: String, max 1024 characters

type:name (Optional)

Description: Name of the space type.

Examples:

  • Deluxe Room
  • Standard Suite
  • Executive Room
  • Presidential Suite
  • Studio Apartment

Format: String

Note: Requires type:code to be set for the type to be created/updated.

type:code (Optional)

Description: Code for the space type. Used as the unique identifier for the type.

Examples:

  • DLX
  • STD
  • EXE
  • PRES
  • STU

Format: String, max 64 characters

Note: This is the primary identifier for space types. If provided, the type will be created or updated.

type:description (Optional)

Description: Description of the space type.

Examples:

  • 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)

Description: Unique identifier for the rate plan.

Examples:

  • RATE-001
  • BAR (Best Available Rate)
  • CORP-2024
  • PROMO-SUMMER

Format: String

name (Optional)

Description: Name of the rate plan.

Examples:

  • Best Available Rate
  • Corporate Rate 2024
  • Summer Promotion
  • Early Bird Special
  • Weekend Package

Format: String

code (Optional)

Description: Code for the rate plan.

Examples:

  • BAR
  • CORP
  • PROMO
  • EB
  • WKND

Format: String

description (Optional)

Description: Description of the rate plan.

Examples:

  • 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


Field mapping notes

Required fields summary

  • Property: Either id OR name must be provided
  • Reservation: Either id OR booking_reference must be provided
  • User: Either id OR email OR phone must be provided
  • Space: Either id OR name must be provided
  • RatePlan: id is required

Special field prefixes

Fields with colons (:) indicate nested or related data:

  • address:* - Address fields (creates/updates address relationship)
  • consent:* - Consent fields (requires existing consent code in system)
  • company:* - Company fields (creates/updates company relationship)
  • loyalty_programs:* - Loyalty program fields (creates/updates loyalty program relationship)
  • type:* - Space type fields (creates/updates space type relationship)
  • connector:* - Connector metadata fields

Data type conversions

  • Dates: Automatically converted to Carbon date objects from various formats
  • Integers: Fields like number_of_units, number_of_adults, number_of_children, total_tax are automatically converted to integers
  • Money: total_gross_amount is converted based on money_in_cents configuration
  • Booleans: Consent fields accept various boolean representations and are automatically mapped
  • Email: Automatically validated and converted to lowercase
  • Phone: Automatically validated for proper phone number format
  • Country/Language: Automatically converted from names to ISO codes

Status normalization

The status field for reservations accepts various formats and normalizes them to standard values. Common variations are automatically handled (e.g., checkin, check-in, checked in all become checked_in).

Did this answer your question?
😞
😐
🤩