Skip to main content

Online Check-In ID Upload That Survives a Weak Connection

Frontdesko's online check-in now shrinks ID photos on the guest's phone and uploads them in small pieces, retrying only the piece that failed. Guests on patchy ferry or bus data need not restart, and a QR name login helps when the booking number fails.

By the Frontdesko team · Last updated: November 9, 2026

Start Live Demo

Can a guest finish ID upload from a ferry with patchy data? A guesthouse example

Illustrative scenario. A 9-room guesthouse by a ferry landing is a made-up property used to show the screens in order. It is not a customer story, and no figures here are real results.

Screen names are as they appear in the Frontdesko guest app. Times are made up to show the order of events.

TimeWhereWhat happens
Tue 07:40Guest phone, on a ferryA guest booked through an OTA and wants to finish pre-check-in before landing. She opens the hotel's QR code and lands on the guest app login.
07:41LoginThe booking number from the OTA email is rejected. Because she opened the app from the hotel's QR, the screen offers Booking number not working? Use your name. She types her full name as on the booking and completes the captcha.
07:43Pre-Check-In ActionsShe taps Upload Documents and adds a passport photo of about 6 MB. The app shrinks it on her phone before sending.
07:44UploadThe ferry passes a dead spot mid-upload. The app waits until the phone is back online, then re-sends only the piece that failed, not the whole photo.
07:46FinishWhen all pieces are in, the app finishes the batch. The documents appear under View Uploaded Documents, and the screen can fill details from the ID.
09:30Front deskThe receptionist finds her ID already on the booking and the check-in at the desk is mostly a key hand-over. This is an example of the flow, not a measured time saving.

The earlier design sent every photo in one request and could fail whole. This page covers what changed; for the wider check-in flow see how to automate hotel check-in and QR code check-in.

How does the upload survive a dropped connection?

Four things happen on the guest's phone and our server, in order:

  1. The photo is shrunk. Photos over about 1.5 MB are scaled to at most 2,000 pixels on the long edge and saved as a JPEG at 85% quality, which is meant to stay readable for the ID check. PDFs, small images and formats the phone cannot decode are sent as they are.
  2. Each file goes in small pieces. Pieces are 256 KB. A failed piece is retried on its own after a delay that grows from one second up to 15, and the app waits for the phone to be online first.
  3. Finishing is safe to repeat. If the reply to the final step is lost, the app asks again and no duplicate documents are created. If a piece went missing, only that piece is re-sent.
  4. Processing is unchanged. Once the pieces are joined, storage and ID reading run as they did for a one-shot upload.

What are the limits of the ID upload?

  • Six tries per piece. If the connection stays down for all of them, the upload stops with an error such as Batch Upload Failed. A new attempt starts that file again from the beginning.
  • Rejected means rejected. If the server refuses a file, for example a wrong type or an oversize file, it is not retried.
  • Up to 10 files per upload and about 16 MB per file as sent by the guest app. The form asks for a JPEG, PNG or WebP image.
  • Pieces are kept for 4 hours while a batch is being finished.
  • Fallback to the old method. If the property's server does not offer piece-by-piece upload, the app uses the earlier all-at-once upload, which is the one that struggles on weak data.
  • No guarantee on speed. A weak signal still means a slow upload. The change is that it should finish rather than start over.

Nothing here replaces checking the guest's identity as local law requires; the upload only gets the document to you.

What if the guest's booking number does not work?

OTA guests often hold a booking number that differs from the one the channel sent to the PMS, so a real stay fails to log in. When the guest opened the app from your hotel QR code, the login screen offers Booking number not working? Use your name. They type their full name exactly as it appears on the booking and complete the captcha.

A name is a weaker secret than a booking number, so the fallback is deliberately narrow:

  • Only for guests who opened the app from that hotel's QR code; emailed links and plain visits do not see the option.
  • Only current stays: in house, or arriving by tomorrow's business date and not yet departed. Past, cancelled and far-future bookings are refused.
  • Full name required. Order, capitals, accents, punctuation and titles are ignored, but a first name alone is rejected.
  • Exactly one match or none. If two current guests share a name, the login fails, and failures look the same as a wrong name.
  • A captcha is required and repeated failures lock the guest out for a while.

Tell guests to use the name from the OTA booking email. If staff re-keyed a different spelling into the PMS, the name will not match. Set up the QR codes as in QR code check-in for hotels; the guest-facing app is described on the guest app page.

What does it cost?

The guest app and online check-in are part of the free product with unlimited rooms, together with the PMS, booking engine and POS. The channel manager and AI assistant are the paid add-ons at $35, $42 or $54 a month by room band. See pricing.

Frequently Asked Questions

Why does ID upload fail on a weak phone connection?

A phone photo of a passport can be 5 to 12 MB, and sending several in one go means a single dropped connection used to fail the whole batch. The guest app now shrinks big photos first and sends each file in small pieces, retrying only the piece that failed.

How are ID photos made smaller before upload?

Photos over about 1.5 MB are scaled so the longest edge is at most 2,000 pixels and saved as a JPEG at 85% quality. PDFs, small images and anything the phone cannot decode are sent unchanged.

What happens if the connection drops during the upload?

The app waits for the phone to come back online, pauses for a short, growing delay of one to 15 seconds, and re-sends only the piece that failed. It tries each piece up to six times. After that the upload stops with an error and the guest presses upload again.

Will the guest's ID be uploaded twice if a reply gets lost?

No. Finishing the batch is safe to repeat, so a lost reply is retried without creating duplicate documents. If the server reports a missing piece, the app re-sends just that piece.

What are the file limits for the online check-in upload?

Up to 10 files per upload, with each file split into at most 64 pieces of 256 KB, so about 16 MB per file as sent by the guest app. The upload form asks for a JPEG, PNG or WebP image.

What if a guest's booking number does not work?

Guests who opened the app from the hotel's QR code can choose Booking number not working? Use your name and type their full name as on the booking. It only works for current stays at that hotel, needs a captcha and fails if two current guests share a name.

Does the QR name login accept any spelling of the name?

Order, capital letters, accents, punctuation and titles such as Mr are ignored, so Jorg Muller matches Mr. Jörg Müller. A first name alone is rejected, and the full name must otherwise match the booking as the channel sent it.

Does this cost extra?

No. The guest app and online check-in are part of the free product with unlimited rooms. Only the channel manager and AI assistant are paid, at $35, $42 or $54 a month by room band.

Let guests finish check-in on their own phone

Free PMS, guest app and booking engine with unlimited rooms. Start with a live demo.

Start Live Demo

See the guest app

Related guides

More on arrivals and check-in