loader image

Hotels & guesthouses · WooCommerce + Stripe

Take the room payment now. Place the security hold closer to check-in.

SecureHold adds Stripe security deposit holds to WooCommerce direct bookings, so you can collect the stay payment normally and create the deposit hold closer to check-in. Release it after checkout, or capture up to the authorized amount when needed.

Free plugin on WordPress.org Works with the WooCommerce Stripe Gateway Version 3.4.6
Guesthouse, 3-night stay #3092
Room, 3 nights Aug 12 – Aug 15
Stay payment
Charged normally at booking
€480
charged
Security deposit
Authorized separately, closer to check-in
€150
pre-authorized
Booked
March
Check-in
Aug 12
Hold created
Aug 10
Check-out
Aug 15
Booked in March. The hold is created August 10, close to check-in, not at booking. Illustrative amounts.

What is a hotel security deposit hold?

A hotel security deposit hold is a temporary card authorization used separately from the room payment. SecureHold adds this workflow to WooCommerce direct bookings through Stripe, so the deposit can be authorized closer to check-in instead of being charged at booking.

Does this fit your setup?

Good fit

  • Direct bookings through WooCommerce
  • Short stays
  • WooCommerce Stripe Gateway
  • Security deposit workflow
  • Check-in date stored in the WooCommerce order or related booking data
  • Manual or scheduled hold creation

Not the right fit

  • OTA bookings that never become WooCommerce orders
  • Front desk terminal-only workflows
  • Hotels using a PMS without WooCommerce
  • Long stays outside the authorization window
  • Businesses looking for full incidental folio management

Security deposit or incidental hold? They are not the same thing.

Security deposit

A defined refundable amount used as financial security for the stay.

What SecureHold handles

Incidental hold

A hotel authorization often used to cover future extras or variable charges during the stay.

SecureHold is designed for the security deposit workflow. It does not manage a hotel folio or increment an authorization as new charges are posted.

The booking can happen months ahead. The hold shouldn't.

A guesthouse stay booked in March for a check-in in August leaves months between the order and the moment the hold actually needs to be active. A hold created at booking would expire long before arrival. The authorization window starts when the hold is created, not when the guest checks in.

Weeks or months of waiting
Hold placed here: close to check-in and through the stay
March
Booking
Aug 10
Hold created
Aug 12
Check-in
Aug 15
Check-out

The hold covers the short period around check-in and the stay, not the whole booking period. Authorization windows vary by card network and transaction type.

How a short stay runs with SecureHold

  1. 01

    Booking

    Guest books directly through WooCommerce.

  2. 02

    Room payment

    The stay payment is handled through the normal WooCommerce checkout workflow.

  3. 03

    Hold creation

    The security deposit hold is created close to check-in, manually or with a supported timing strategy.

  4. 04

    Check-in

    Guest arrives.

  5. 05

    Stay

    The security deposit hold remains active during the short stay.

  6. 06

    Checkout

    The guest leaves and the property is reviewed.

  7. 07

    Release or capture

    Release if no capture is needed.
    Capture up to the authorized amount where contractually justified.
WooCommerce · Orders · #3092 · SecureHold deposit
SecureHold deposit panel on a short-stay WooCommerce booking order: status Authorized, amount, and the Capture and Release actions.

The SecureHold panel on a WooCommerce booking order, showing hold status, amount, and the Capture and Release actions. Demonstration data only.

Best suited to short stays that fit inside the authorization window

1 night Good fit
2 nights Good fit
3 nights Good fit when the hold is created close to check-in
4+ longer stays Increasingly constrained by the authorization window

Authorization windows vary by card network and transaction type. The longer the stay, the less margin you have between hold creation and expiry.

A security deposit hold, not a hotel management system

SecureHold does

  • Create security deposit holds on WooCommerce orders
  • Release holds
  • Capture up to the authorized amount
  • Support partial capture
  • Show deposit status
  • Support manual hold creation
  • Support scheduled / delayed / by-status timing in Pro
  • Work with Stripe Test Mode

SecureHold does not

  • Replace your PMS
  • Replace your booking engine
  • Manage OTA reservations that never enter WooCommerce
  • Manage a hotel folio
  • Post minibar or room-service charges
  • Increment authorizations during the stay
  • Provide a front desk card-present terminal workflow
  • Extend Stripe authorization windows

Built for small accommodation businesses using WooCommerce

Guesthouses

Independently run guesthouses taking direct bookings.

B&Bs

Bed and breakfasts managing their own reservations.

Boutique hotels

Small, independently branded properties.

Inns & small hotels

Independent inns and small hotels outside chain systems.

Serviced accommodation

Short-stay serviced units booked directly online.

Designed for direct WooCommerce bookings where a short-stay security deposit makes operational sense.

Free does the hold. Pro decides when it happens.

Use Free when you are happy to create the hold manually. Use Pro when you want the hold timing to follow your booking workflow.

Free WordPress.org

Everything needed to run a security deposit hold on a short-stay booking.

  • Stripe security deposit holds
  • Manual hold creation
  • Full or partial capture
  • One-click release
  • Automatic release
  • Deposit status tracking
  • My Deposits customer view
  • Checkout deposit message
  • Customer and admin notifications
  • Stripe test mode
  • HPOS ready
Pro For hold timing

In short-stay bookings, the main Pro argument is timing. Pro decides when the hold is created relative to check-in, instead of relying on someone to do it manually every time.

  • Scheduled hold creation
  • By-Status hold creation
  • Delayed hold creation
  • Product / category deposit rules
  • Rule simulator
  • Logs and diagnostics
  • Email branding

Create the hold when the stay actually needs it

SecureHold offers several ways to decide when the authorization is created. Which one fits depends on how far ahead you take bookings.

Immediate

Free

Hold created when the order is placed.

Only suitable when the stay is already close enough to fit inside the authorization window.

Manual

Free

Create the hold manually shortly before check-in.

Works at any booking lead time, as long as someone remembers to do it.

Scheduled

Pro

Hold created relative to a relevant stored date.

Configuration depends on the data available in the order.

By-Status / Delayed

Pro

Use a WooCommerce order status or a configured delay to decide when the hold is created.

Test the status or delay against your own order flow.

Timing depends on the data stored in your WooCommerce order and booking setup. Test it before going live.

Hotel security deposit questions

No. The room payment and the security deposit are separate operations. The stay is charged normally through your WooCommerce checkout. The security deposit is a Stripe pre-authorization, created separately and typically closer to check-in.

Close enough to check-in that the hold stays active through the intended stay and checkout workflow. Online card authorization windows are time-limited and vary by card network and transaction type, and SecureHold cannot extend a network-defined window.

Manual hold creation is available in the free plugin. Scheduled, By-Status and Delayed timing strategies are part of SecureHold Pro. These strategies read data available on the WooCommerce order, so compatibility with a specific booking plugin should be tested in Stripe Test Mode before going live.

No. A security deposit is a defined, refundable amount used as financial security for the stay. An incidental hold is a hotel authorization often used to cover future extras or variable charges during the stay. SecureHold is designed for the security deposit workflow, not for incidental management.

No. SecureHold is not a hotel folio system. It does not post minibar or room-service charges, and it does not increment an authorization as new charges are added during a stay.

Authorization windows vary by card network and transaction context, so there is no single duration we can promise. SecureHold cannot extend a network-defined window, so the hold needs to be created close enough to check-in to remain active through the stay and checkout.

Longer stays reduce the available margin between hold creation and expiry. A stay that runs long relative to the authorization window can become unsuitable for a single hold. Test the timing against your own stay lengths before relying on it.

Yes. SecureHold supports partial capture up to the authorized amount, and the remaining amount is released. Whether a specific charge is contractually justified depends on your booking terms and the rules that apply to your business.

SecureHold manages the deposit from the WooCommerce order. Booking plugins store dates and booking data differently, so compatibility with a specific setup must be tested in Stripe Test Mode before production.

No. SecureHold adds a security deposit hold workflow to WooCommerce direct bookings. It does not replace a property management system, a booking engine, or a front desk terminal workflow. See how Stripe security deposits work for the underlying mechanism.
Stripe test mode

Test the short-stay workflow before you go live

Use Stripe Test Mode to simulate the whole sequence on your own store, on a short-stay booking, before anything reaches a real guest.

  1. 01Create a WooCommerce booking / order
  2. 02Create the security deposit hold close to check-in
  3. 03See the hold appear
  4. 04Test a release
  5. 05Test a partial or full capture
  6. 06Confirm the timing fits the stay

Free plan available Stripe test mode included Support

SecureHold WP is an independent WooCommerce extension that uses the Stripe API. Not affiliated with, certified by or endorsed by Stripe, Inc. or Automattic Inc. Authorization windows are defined by the card networks and payment method, not by SecureHold. SecureHold does not replace a PMS, booking engine or front desk terminal workflow. Whether you may charge a guest for damage or a policy violation depends on your booking terms and the rules that apply to your business. All amounts on this page are illustrative and are not recommendations.