Industry-Specific Fields - Lodging

Braintree supports optional fields that can be used to collect lodging-specific industry data on transactions. If a transaction is qualified for the lodging industry transaction format per the card network standards, you may obtain a discounted interchange rate for that transaction. This capability is currently supported for US merchants with Visa and Mastercard transactions.
Important
To ensure that your merchant account is eligible to qualify for these lower interchange rates, contact our Customer Success team.
You can include lodging data fields in the Transaction: Sale call.

ParametersAnchorIcon

Here’s the full list of parameters you can pass for lodging transactions, including those required to qualify for lower interchange rates.
FieldTypeExplanation
industryTypestringThis value must be set to lodging

The industry type. Information for only one industry type may be sent per transaction.
data.checkInDatedateRequired to qualify for reduced interchange

The date for when the customer will check in per the reservation. Values can be passed as YYYYMMDD or YYYY-MM-DD.
data.checkOutDatedateRequired to qualify for reduced interchange

The date for when the customer will check out per the reservation. Values can be passed as YYYYMMDD or YYYY-MM-DD.
data.folioNumberstringRequired to qualify for reduced interchange

An alphanumeric value that references the folio number assigned to the itemized statement assigned to the stay. If specified, folio number must be less than or equal to 12 characters.
data.propertyPhonestringRequired to qualify for reduced interchange

The property phone number or the customer support toll free number for the lodging location or property. If specified, this value must contain exactly 10 numeric characters.
data.roomRatedecimal The rate for the room to be charged per night per the reservation. If specified, this value must be greater than 0.00.
data.roomTaxdecimal The room tax amount to be charged per night per the reservation. If specified, this value must be greater than 0.00.
data.noShowboolean Indicator, true or false, for whether the charge is captured because the customer is a no-show.
data.advancedDepositboolean Indicator, true or false, for whether any advance deposit was paid.
data.fireSafeboolean Indicator, true or false, for whether the lodging facility complies with the Hotel and Motel Fire Safety Act of 1990.
data.additionalChargeobject Multiple additional charges may be specified for a single transaction. Each kind of additional charge may only be specified once per transaction. If specified, each additional charge must include the fields shown below.
data.additionalCharge.kindstringRequired when specifying an additional charge

The type of the additional charge. This value must be specified as one of the following: restaurant, gift_shop, mini_bar, telephone, laundry, or other.
data.additionalCharge.amountstringRequired when specifying an additional charge

The amount of the additional charge.

ExampleAnchorIcon

Below is a full example of passing lodging data on Transaction: Sale.
  1. callback
  2. Promise
gateway.transaction.sale({
    amount: '1200.00',
    paymentMethodNonce: nonceFromTheClient,
    industry: {
        industryType: Transaction.IndustryData.Lodging,
        data: {
            folioNumber: 'A123B45',
            checkInDate: '2014-07-07',
            checkOutDate: '2014-07-11',
            roomRate: '200.00',
            roomTax: '30.00',
            noShow: false,
            advancedDeposit: false,
            fireSafe: true,
            propertyPhone: '1112223333',
            additionalCharges: [
                {
                    kind: Transaction.AdditionalCharge.MiniBar,
                    amount: '80.00'
                },
                {
                    kind: Transaction.AdditionalCharge.Other,
                    amount: '200.00'
                }
            ]
        }
    }
}, (err, result) => {
});

Validation errorsAnchorIcon

Lodging dataAnchorIcon

CodeTextExplanation
`93401`Industry type is invalid.Industry type is invalid.
`93402`Lodging data is empty.Lodging data must be present when the industry type `lodging` is specified.
`93403`Folio number is invalid.Folio number must be less than or equal to 12 characters.
`93404`Check in date is invalid.Check in date must be passed as `YYYYMMDD` or `YYYY-MM-DD`.
`93405`Check out date is invalid.Check out date must be passed as `YYYYMMDD` or `YYYY-MM-DD`.
`93406`Check out date must occur after the check in date.Check out date must occur after the check in date.
`93407`Data fields are unknown.Data fields are unknown.
`93433`Room rate must be greater than zero.The room rate must be an amount greater than 0.00.
`93434`Room rate format is invalid. Room rate amount must be formatted like '10' or '10.00'. If the currency does not use decimal places, the room tax can't include decimal places.
`93435`Room rate is too large.The room rate amount can't be longer than 9 digits.
`93436`Room tax must be greater than zero.The room tax must be an amount greater than 0.00.
`93437`Room tax format is invalid. Room tax must be formatted like '10' or '10.00'. If the currency does not use decimal places, the room tax can't include decimal places.
`93438`Room tax is too large.The room tax amount can't be longer than 9 digits.
`93439`No show indicator is invalid.No show indicator must be true or false.
`93440`Advanced deposit indicator is invalid.Advanced deposit indicator must be true or false.
`93441`Fire safety indicator is invalid.Fire safety indicator must be true or false.
`93442`Property phone is invalid.Property phone must be exactly 10 numeric characters.

Lodging data additional chargesAnchorIcon

CodeTextExplanation
96601Charge kind is invalid.

Charge kind must be one of mini_bar, restaurant, gift_shop, telephone, laundry, or other.

96602Charge kinds must be unique.

Only one additional charge can exist per kind.

96603Charge amount must be greater than zero.

The amount for the charge must be an amount greater than 0.00.

96604Charge amount format is invalid.

Charge amount must be formatted like '10' or '10.00'. If the currency does not use decimal places, the tax amount can't include decimal places.

96605Charge amount is too large.

Charge amount can't be longer than 9 digits.

96606Charge amount is required.

A charge amount must be set if an additional charge is specified.

966996Required attribute is missing

The missing attribute is provided in the error message.

966997Attribute is not in the required format

The attribute and the expected format are provided in the error message.

966998Attribute is not in the list of expected values

The attribute and the expected values are provided in the error message.

966999Attribute is the wrong type

The attribute and the expected types are provided in the error message.