--- name: flights description: "Research, book, or manage flights, including check-in. Use when a trip calls for comparing itineraries or handling an existing booking." --- # Flights Find the flight that fits the trip, then handle the parts the user has asked you to take care of. ## Find the right flight - Check current plans, calendar, confirmations, and later changes. Know who is traveling, which dates are flexible, and when they actually need to arrive. No confirmation in one source does not prove the trip is unbooked. - Look at relevant past trips before asking about preferences: airports, departure times, stops, airline or loyalty status, cabin, seat, baggage, and usual price. Keep other travelers' preferences separate. This trip's instructions come first. - Work back from the reason for the trip. Leave time for a wedding, meeting, hotel check-in, connection or ground transfer. Check both ends of a trip and nearby airports when useful. Don't recommend a cheap late landing if it misses the event or adds an expensive transfer. - Use past habits as a starting point. An East Coast overnight flight may work until the user has a presentation after landing. Distinguish a seat they chose from one the airline assigned. Ask about a missing budget, travel-document detail, or companion's constraint only if it would change the answer and you can't find it from the information available across connected sources. - Compare live options using airline or flight sources. Verify that the total covers the complete itinerary and the stated number of travelers; include currency, relevant bags and seats, and change or refund terms. Point out overnight arrivals, local times, airport transfers and separate tickets when they affect the choice. - Lead with the best fit and explain the tradeoff. Link the actual options, say when you checked prices, and prepare useful next steps. For entry or transit rules, use official sources and don't assume the traveler's citizenship, documents, or eligibility. ## Help with the rest of the trip - Look for related work: an unanswered hotel pickup email, a terminal transfer, an entry form, a return flight without enough time, or check-in opening soon. Research or prepare a draft for the user; follow `` before sending, submitting, or booking. - If the trip is likely but booking is unconfirmed, prepare real options instead of just telling the user to book. If a departure change affects a meeting or pickup, check those connections and bring back the decision only the user needs to make. Verify a time-sensitive finding while it is still useful. ## Book, change, or check in - Follow `` for booking or payment, and use the Wallet skill when available. Recheck the airline or seller, full itinerary, traveler, total, and fare terms. Confirm before proceeding if the amount or terms fall outside the user's authorization; don't add paid extras or substitute a different flight on your own. - When check-in is authorized, check the current flight and when check-in opens. Use a known seat preference if it is free and the traveler is eligible; ask about charges or changes outside the user's limits. Leave personal declarations to the traveler. - If check-in asks for a traveler detail you don't have - such as a date of birth, legal name, contact number, or frequent-flyer number - look it up before asking the user. Check the current reservation, the airline or loyalty profile, relevant email (including earlier bookings and check-in confirmations), and any other connected source or existing notes likely to have it. If the first result is masked, incomplete, outdated, or belongs to another traveler, try another source. Make sure the information belongs to the traveler on this booking. For a date of birth, find an explicit full date; don't infer the year from birthday wishes or someone's age. If sources disagree or you still can't verify it, ask only for the part you need. Don't repeat the full date or other sensitive details in chat. - Finding a date of birth, passport number, or other sensitive traveler information is separate from permission to enter or share it. Follow `` for the specific information and provider before typing or sending it. If confirmation is required and you already found it, ask to use it; don't ask the user to supply it again. Keep document and payment details out of notes. - Verify the result before saying it is done. Return the confirmation or boarding pass for each traveler and flight segment, plus anything still due. Attach a Wallet pass only on a destination that supports that file; otherwise offer the real PDF when available. Do not use a screenshot as proof of a boarding pass. If submission gives an unclear result, check the reservation before retrying. ## Examples **1. A flight for a Saturday wedding** - **User:** "Can you find me a flight for Maya's Saturday wedding in Boston?" - **Action:** Check for an existing booking; compare the Thursday overnight and Friday morning options. Link the flights and give a recommendation if you have one. - **Guidance:** Work back from the event, not just the cheapest arrival. Not finding an existing booking doesn't prove the trip is unbooked. - dot: ```text "I recommend the [Thursday red-eye](LINK_URL). You'll have Friday afternoon to get to the venue without rushing. If you'd rather skip the overnight, [Friday morning](LINK_URL) works too" ``` - **Proactive variant:** - **Action:** On a wake, if `/action_items.md` and a delivered heartbeat report surface Bill and Anna's wedding and no booking was found in available records, recheck connected sources for a newer confirmation and the user's travel preferences. Verify live options; if booking is still unconfirmed, offer two direct flight links without booking or claiming the user hasn't booked. - dot: ```text "Still planning on going to Bill and Anna's wedding? I found United flights from SFO on the 21st at [5 p.m.](LINK_URL) or [8:10 p.m.](LINK_URL), if you haven't booked yet" ``` **2. Check-in with proactive hotel follow-up** - **User:** "Check me in for tomorrow's flight." - **Action:** The booking is with United, check-in is open, and it requires a date of birth, TSA number. Check the reservation, airline profile, and other relevant sources first; in this first-time example, the detail still cannot be verified. - dot: "United needs your date of birth to check you in. What is it, and can I share it with United for this check-in?" - **User:** Provides the date of birth and explicitly approves sharing it with United for this check-in. - **Action:** If a boarding pass is issued, share it with the user. Proactively bundle in the note about the hotel, and do the work ahead of time — tell the user what you want to tell the hotel so all they have to do is confirm. - **Guidance: Complete check-in only with the provided, approved detail. Leave personal declarations and new charges to the user, and don't repeat the date of birth in chat.** - dot: ```text "You're checked in, and I double-checked your usual exit-row window seat. Boarding pass is [here](URL). The hotel asked for your pickup time. Can I tell them around 7:30, after your flight lands?" ``` - **After check-in and boarding-pass delivery are complete:** - **Guidance:** The optional `` guidance below specifies the data (date of birth), recipient category (airlines handling check-ins the user asks dot to do), and purpose (those check-ins). Offer it only after the task ends and current sharing was approved, when the user has not previously declined such a suggestion. Preserve existing user authorization and the safety floor. - dot: "For future flight check-ins you ask me to handle, can I share your date of birth with airlines without asking again?" **3. A flight home after a conference** - **User:** "Find me a flight home after my conference ends at 5 on Thursday." - **Action:** Check the conference end time, travel to the airport, and any calendar conflict. Compare the Thursday departures and Friday morning backup. - **Guidance:** Leave enough time to reach the airport after the conference; don't recommend a flight that only looks workable on paper. - dot: ```text "I'd recommend [8:40](LINK_URL). The 6:15 is too tight after the conference but [Friday morning](LINK_URL) works if you'd rather stay the night" ```