Skip to main content

NYC Banned Hidden Hotel Fees and Surprise Card Holds: A Compliance and Bookkeeping Guide

Published 11 min readMike ThriftMike Thrift
NYC Banned Hidden Hotel Fees and Surprise Card Holds: A Compliance and Bookkeeping Guide

If you run a small hotel, inn, or bed-and-breakfast that takes bookings from New York City residents, the nightly rate you advertise is no longer just marketing — it is a legal commitment. Since February 21, 2026, New York City treats advertising a room price without clearly showing the all-in total as a deceptive trade practice, and it goes one step further than the federal rule by policing the surprise credit card holds that have ambushed guests at check-in for decades.

Here is what the rule requires, how it interacts with the federal junk-fee rule and the city's short-term rental registration law, and how to rework your books so the new all-in pricing does not turn into a reconciliation mess.

What Changed on February 21, 2026

New York City's Department of Consumer and Worker Protection (DCWP) issued a final rule banning hidden junk fees on hotel stays. The headline requirements:

  • Total price must be disclosed upfront. Any advertised, displayed, or offered price for a hotel stay must clearly and conspicuously show the total price, including all mandatory fees. The total must be displayed more prominently than any partial or per-night breakdown.
  • "Resort," "destination," and "hospitality service" fees are in scope. If the guest cannot avoid the charge, it belongs in the total — no matter what you call it. These are the classic fees the rule targets: mandatory per-night surcharges revealed only at checkout.
  • Credit card holds and advance deposits must be disclosed before the guest pays. Hotels must tell guests upfront about incidental holds, security deposits, and prepayment requirements — the amount (or how it is calculated), when it is taken, and when it is released.
  • It reaches beyond the five boroughs. The rule covers offers for stays in New York City and offers made to New York City residents, which means a small inn upstate or in another state that markets to city residents needs to comply on those offers.

The city acted after receiving more than 300 consumer complaints about hidden hotel fees and unexpected holds in 2025 alone. City economists estimate the ban saves New Yorkers up to $35 million a year — plus another $31 million for visitors.

How the NYC Rule Relates to the Federal FTC Rule

The DCWP rule was deliberately modeled on the Federal Trade Commission's Rule on Unfair or Deceptive Fees, finalized in December 2024 and in effect since mid-2025. The FTC rule requires hotels, vacation-rental platforms, and live-event ticket sellers nationwide to show the total price — including all mandatory fees — more prominently than any other price figure. Government taxes and genuine shipping costs may be itemized separately, but unavoidable charges like resort fees and processing fees must be baked into the headline number. The FTC estimated the rule would save consumers roughly 53 million hours of comparison-shopping time a year, worth about $11 billion over a decade.

Two differences matter for small operators:

  1. NYC goes further on holds and deposits. The FTC rule is about the advertised price. The city rule adds explicit transparency duties for incidental authorizations and advance deposits — an area the federal rule does not directly regulate.
  2. Enforcement is local and complaint-driven. A violation of the city rule is a deceptive trade practice under the city's Consumer Protection Law, enforceable by DCWP — the same agency guests already complain to. Even if you are confident about your FTC compliance, review your hold disclosures separately against the city standard.

Major platforms moved early: Airbnb began showing total prices before taxes by default in spring 2025. If most of your bookings come through an online travel agency or marketplace, your listing may already display an all-in price — but you are still responsible for what your own website, emails, and front-desk quotes show.

What Counts as "Mandatory" (and What You Can Still Itemize)

The practical test is simple: can the guest say no to the charge and still get the room? If not, it goes in the total.

Include in the total price:

  • Nightly room rate plus any mandatory per-night fees (resort, destination, amenity, housekeeping, or "service" fees the guest cannot decline)
  • Mandatory per-stay charges (cleaning fees on vacation rentals, mandatory valet or parking where there is no self-park alternative)
  • Any processing or booking fee the guest cannot avoid by choosing another payment method

You may generally list separately:

  • Government-imposed taxes and assessments (occupancy tax, sales tax, Javits Center–style surcharges), as long as you do not misrepresent them as part of your own rate
  • Genuinely optional add-ons the guest affirmatively chooses (minibar, room service, pet fees when the guest brings no pet, parking when free alternatives exist)
  • Refundable holds and deposits — these are not part of the price, but they must be disclosed (see below)

A common trap: relabeling a mandatory fee as a "tax" or "assessment." If it is your charge, call it your charge. Mislabeling invites exactly the deception claim the rule was written to punish.

The Credit Card Hold Rules, in Plain English

Incidental holds are standard practice — most hotels authorize the room total plus 10 to 20 percent at check-in to cover minibar, room service, or damage. What the city now requires is that guests are not surprised by them. Before the guest commits, disclose:

  • The amount or formula ("a $150 incidental authorization per stay" or "room total plus 15%")
  • Which card it hits and when (at check-in vs. at booking, and what happens if the guest wants to use a different card at checkout)
  • When the hold is released (at checkout, within a stated number of days) and that the guest's bank — not you — controls the final release timing
  • Advance deposits separately: amount, due date, refundability, and cancellation deadlines

Write this disclosure once and reuse it everywhere: booking engine, confirmation email, pre-arrival message, and the registration card the guest signs. The registration card signature is your evidence if a guest later disputes the hold with their bank.

If You Host Short-Term Rentals Instead of (or Alongside) Hotel Rooms

Three overlapping regimes apply to NYC-area short-term rental hosts:

  • All-in pricing applies to you too. The FTC rule expressly covers vacation rentals booked through platforms, and Airbnb-style total-price display is now the norm guests expect. Mirror the all-in total on your direct-booking site and quotes.
  • Local Law 18 registration is still the gatekeeper. Hosts offering stays of fewer than 30 consecutive days in New York City must register with the Mayor's Office of Special Enforcement, and platforms may not process bookings for unregistered hosts. Enforcement has only tightened — a 2026 city review found more than a quarter of approved listings had been converted into illegal entire-home offers. Fines reach $5,000 per violation.
  • Cleaning fees need special care. A mandatory cleaning fee is part of the total price for disclosure purposes, but for your books it is still useful to track it separately from rent (see below), since it offsets turnover costs rather than measuring demand for the room itself.

If you operate outside the city but take NYC guests, you sit under the federal rule at minimum — and under the city rule for offers directed at city residents. Complying with the stricter standard everywhere is cheaper than maintaining two price displays.

Bookkeeping: Rework Your Chart of Accounts for All-In Pricing

All-in pricing changes what the guest sees, but it should not flatten what you track internally. Guests see one total; your ledger should still see the components.

Keep room revenue and fee revenue separate in the ledger

Even when a $25-per-night amenity fee is bundled into the advertised total, post it to its own revenue account (e.g., Income:RoomRevenue vs. Income:MandatoryFees). Why:

  • If you ever drop or renegotiate the fee, you can measure the revenue impact directly.
  • Occupancy-tax auditors often treat mandatory fees as taxable receipts — separate tracking makes the taxable base auditable.
  • Profitability analysis stays honest: a rate increase and a fee increase are different business decisions.

Treat advance deposits as liabilities, not revenue

A non-refundable or advance deposit collected at booking is deferred revenue (a liability) until the guest stays. Post it to something like Liabilities:GuestDeposits and recognize it as revenue at check-in or checkout per your policy. This keeps monthly revenue matched to actual stays and prevents a busy booking month from masquerading as a profitable operating month.

Never book incidental holds as revenue — or at all

A pre-authorization is not a charge. No money moves; the guest's available credit is merely reduced. Do not post holds to revenue, receivables, or cash. The bookkeeping event happens only if the guest actually incurs the charge (minibar, damage) — then post the real charge normally. If your property-management system imports authorizations into the accounting feed, filter them out or park them in a memo/clearing account that always nets to zero, so they never inflate receivables.

Reconcile three sources, not two

Under all-in pricing, the numbers that must tie out every month are:

  1. Your property-management system (what was sold, at what all-in total, and which components)
  2. Your payment processor statements (what was actually captured, net of processing fees — remember, processor fees come out of your side now that you cannot tack on a surprise "processing fee" at checkout)
  3. Your bank deposits (what landed, when — holds that fall off never land, and that is expected)

Build a monthly routine: PMS revenue by component → processor gross → processor net → bank. Investigate breaks the same week, while the front desk still remembers the stay. Common culprits are split-tender checkouts (hold on one card, final charge on another), which release on different timelines, and OTA virtual-card payments that settle days after departure.

Track occupancy taxes on the all-in base

Where mandatory fees are subject to occupancy or sales tax, compute the tax on the fee-inclusive amount and keep a clean audit trail: nightly rate × nights + taxable fees = taxable receipts, by jurisdiction. If you operate in multiple taxing jurisdictions (city plus state, or multiple states for a distributed STR portfolio), track taxable receipts per jurisdiction — a single blended rate will fail the first audit.

Handle disputes and chargebacks deliberately

Total-price display actually helps you win chargebacks: the guest saw and agreed to the full amount upfront. Keep the evidence packet for every disputed stay — the displayed total at booking, the signed registration card with hold terms, and the folio. Post chargebacks to a dedicated expense or contra-revenue account (Expenses:Chargebacks or a separate contra-revenue line) rather than netting them against revenue, so the true dispute rate stays visible. A rising chargeback rate after the pricing change is a signal your disclosures are still confusing somewhere.

A Short Compliance Checklist

  • Every price on your website, booking engine, emails, ads, and front-desk quotes shows the all-in total more prominently than any partial price.
  • Mandatory fees are included in the total; only genuine taxes and optional add-ons are itemized.
  • Hold and deposit terms (amount or formula, timing, release window, refundability) appear before the guest pays — and on the registration card.
  • OTA and platform listings show totals consistent with your direct channel; no channel undercuts the all-in figure with a stripped-down rate.
  • Staff can explain the hold in one sentence at check-in ("We authorize room plus 15% for incidentals; it falls off within X days per your bank").
  • Your PMS posts deposits to a liability account and recognizes revenue at stay, with holds excluded from revenue entirely.
  • Monthly PMS → processor → bank reconciliation runs on schedule, with split-tender stays reviewed.
  • STR hosts: Local Law 18 registration is current, and the listing matches the registered terms.

Simplify Your Financial Management

Moving to all-in pricing is really an exercise in seeing your revenue clearly — total price for the guest, component detail for you. Beancount.io provides plain-text accounting that gives you complete transparency and control over your financial data, so every nightly rate, fee, deposit, and chargeback is traceable down to the transaction. Get started for free and keep your books as honest as your new rate display.

Share this article