BlackCat Fleet is a professional airport transfer brand in Taoyuan, specializing in "safe, punctual, and comfortable" airport shuttle experiences. They offer a wide range of vehicles from economy sedans to premium business cars, covering transfer services for both Taoyuan International Airport and Songshan Airport.
For this project, we built a LINE-centric booking platform for BlackCat Fleet. Using LINE LIFF technology, travelers can complete the entire booking process directly within the LINE app — from selecting a vehicle, entering trip details, to confirming the order — all in one seamless flow, without installing any additional app.
The backend is powered by Laravel + GraphQL, while the frontend is built with Astro + Vue 3, delivering high-performance server-side rendering with dynamic interactivity. The admin dashboard is built with Filament, enabling the operations team to manage orders, assign drivers, configure vehicles, and publish announcements in real time.
Before the rebuild, every enquiry had to be answered by an agent in LINE one message at a time — the slower the reply at peak hours, the more customers walked away. Now the customer picks pickup point, vehicle and time slot inside LINE, and the system returns the fare instantly; an agent only reviews it once, before the order is confirmed. The block below is live — click it.
① Customer picks the trip
② Instant quote in LINE
Your estimated fare
NT$1,200
The order enters “pending confirmation” first; it is only booked once an agent reviews it.
This is an interactive illustration. The amounts are fabricated demo figures, not Black Cat’s real rates. The actual pricing tiers and surcharge rules are the client’s confidential business logic and are not disclosed here.
Travelers book in three steps inside LINE — no app download, no account registration. Contact details are pulled straight from their LINE profile name and phone number
Fares are calculated live from pickup and drop-off points, vehicle type and time slot, freeing agents from answering the same pricing question all day. Stops are measured by coordinates rather than address strings, so a tier is never misread from a typo
Flight times are pulled from two independent data sources — when one has no record, the other fills the gap. If an external service goes down it raises a notification, so customers are never left stuck on a form they cannot finish
Orders land in “pending confirmation” first and are only booked once an agent reviews them. However accurate the auto-quote is, one human checkpoint stays in the loop so a mispriced rule never becomes a promise to the customer
Submitting a request sends a card to the customer (with a cancel button) and a full order notice to the operations group at the same time. Confirmed, ready and completed each fire their own push, closing the notification loop
Agents review, assign drivers and track in-progress and completed trips from the back office. The order state machine runs through the whole flow, so the field and the office are always looking at the same record
Landing, form-fill and completed-order are each instrumented, so the back office can see exactly which step customers drop out at — giving every change to the flow a basis in data rather than guesswork
Orders, vehicles, pricing rules, flight settings and reports are all maintainable by the operations team. When an external service misbehaves it raises a notification rather than failing quietly
Using LINE LIFF as the client-side entry point, travelers can open the full booking page directly within LINE after adding the official account as a friend. The system automatically retrieves LINE user information, eliminating the need for a tedious registration process and significantly lowering the booking barrier.
All data exchange between frontend and backend is handled via GraphQL, including booking creation/queries, vehicle information, user management, announcement system, and more. Compared to traditional REST APIs, GraphQL allows the frontend to precisely specify the required fields, reducing unnecessary data transfer and improving loading speed on mobile devices.
The booking form uses a six-step guided design: select trip type (pickup/drop-off) → date & time → passengers & luggage count → add-on services (child seat, name board service) → vehicle & pricing → confirm & submit. Each step includes real-time validation to ensure data completeness.
The back office is built with Filament, supporting order management (including driver assignment and status tracking), vehicle and pricing configuration, announcement publishing, LINE user management, and activity log tracking, enabling the operations team to efficiently manage day-to-day business.
Airport transfers are typically a one-off, last-minute booking scenario — requiring travelers to download an app first raises the friction. With LINE LIFF, travelers add the official account and book directly inside LINE, with no install and no separate sign-up, while also avoiding app-store review and dual-platform maintenance costs.
This project was completed in 2024, covering the LINE LIFF front end, GraphQL API, a six-step booking flow, and a Filament back-office system. Booking platforms with this scope of admin tooling typically take 8–12 weeks, depending on the number of third-party integrations and feature details.
Yes. The GraphQL API architecture, multi-step booking flow, and Filament back office are designed as reusable building blocks — swap the domain logic (vehicles for venues, transfer slots for appointment slots, etc.) and the same foundation extends to other reservation-based services, such as venue rentals, on-site services, or course bookings.
CONTACT US
Whether it's a booking system, LINE integration, or airport transfer platform, we can build a tailored solution for you.
Contact Us