The cleanest Magic Import results come from a PDF that's organized by day and event exactly as Magic Import views event fields. Tools like ChatGPT, Claude, and Gemini are great tools for getting a messy itinerary into that shape before you import it. This article walks through the recommended process and gives you a prompt to use with your preferred LLM.
Why This Works
Magic Import does best when every event in the PDF can be clearly sorted into one of the six event types, and each event has an unambiguous date attached to it (a start date, an end date, or both, depending on the type). The field-by-field format above gives Magic Import exactly that โ a labeled event type and a clear date for every entry โ which is why it imports more accurately than a narrative-style itinerary.
A few behaviors are worth knowing going in:
- Flights always import as manual entries. Flight events land on the Add Flight Manually tab rather than as a linked, trackable flight โ to get flight notifications, add a new Flight event, search for the actual flight, then delete the manually imported one.
- Transportation events import with a generic type and can't have their Transfer Type set during import, but it's a quick fix โ just change the type on the tab after the event is created.
- Accommodation events won't appear on the map automatically. Magic Import creates the Accommodation event itself, but a pin only shows up on the map if that property also exists as a Content Page (Property Page) in your Content Library. If the property doesn't have one yet, create it using the option "Create resuseable content" and link it from the event; otherwise the stay will show up in the itinerary but not on the map.
- One event per page is a big factor in a clean import. Each event should have its own page for the cleanest import.
- Blank is fine; invented is not. If the PDF doesn't include a confirmation number, room type, or time, it's better to leave that field blank than to guess. The prompt already tells your LLM to do this, but it's worth a glance when you review the document.
- โ ๏ธ Important: Magic Import ignores the Booked By and Duration fields on flights, so don't worry if your LLM leaves them blank or omits them.
- Always review the PDF document before importing โ check that dates are correct and that descriptions landed in Notes rather than a different field.
The Prompt
Copy and paste the block below into your LLM along with your PDF attached.
I've attached a PDF of a travel itinerary. Please read it in full and convert it into another PDF document formatted for import into Safari Portal's Magic Import, using the following rules.
Rules:
- Extract every event in the itinerary and match it to one of the event types below. If you're unsure of the event type, use an Information event type.
- For each event, list its fields one per line in Field: Value format, keeping the field labels exactly as written. Honor the spacing in the template and the section headers.
- Assign the itinerary's information to the right field: paragraph descriptions and general info go in Notes (or Details); confirmation numbers, contacts, times, and locations go in their own specific fields.
- If a field has no matching information in the PDF, leave the value blank โ do not invent anything. Do not rewrite anything in the itinerary; sort information into the different fields. Preserve what is written exactly. Event Titles should be the name of the property, activity, area, etc.
- Put the events in chronological order. Start a new page (insert a page break) for each new event.
- Output only the formatted itinerary content โ no extra commentary. When you're done, give me the finished content as a downloadable PDF.
Event type templates follow:
----
Event Type: Transportation
Departure Date: [use full date with year]
Departure Time: [12-hour time with AM/PM; convert if needed]
Departure Pickup: [location/place, e.g., "Airport" or "Hotel"]
Arrival Date: [use full date with year]
Arrival Time: [12-hour time with AM/PM; convert if needed]
Arrival Drop-off: [location/place, e.g., "Airport" or "Hotel"]
Details Section
Confirmation Number: [...]
Duration: [...]
Notes: [driver instructions, luggage limits, vehicle details, inclusions]
Event Title: [...]
----
Event Type: Accommodation
Property Name: [...]
Dates of Stay: [start date - end date, with years]
Room Type: [...]
Basis of Stay: [e.g., Full Board, Half Board, B&B]
Arrival Time: [12-hour time with AM/PM; convert if needed]
Departure Time: [12-hour time with AM/PM; convert if needed]
Confirmation Number: [...]
Contacts
Contact Information: [phone / email]
Website: [...]
Location or Address: [Full address; use web search if available]
Notes: [meals, inclusions, Wi-Fi, medical/airstrip info]
----
Event Type: Area
Arrival Date: [use full date with year]
Departure Date: [use full date with year]
Title: [...]
Details: [overview or description of the region or leg]
----
Event Type: Activity
Title: [...]
Start Date: [use full date with year]
Start Time: [12-hour time with AM/PM; convert if needed]
End Time: [12-hour time with AM/PM; convert if needed]
Confirmation Number: [...]
Contact Information: [...]
Website: [...]
Location: [Full address; use web search if available]
Optional Details: [...]
Notes: [what to bring, departure point]
----
Event Type: Info
Title: [...]
Date: [use full date with year]
Notes: [free-time suggestions, general information]
----
Event Type: Flight
Departure Date: [use full date with year]
Departure Time: [12-hour time with AM/PM; convert if needed]
Departing From: [name of airport/location]
Arrival Date: [use full date with year]
Arrival Time: [12-hour time with AM/PM]
Arriving To: [name of airport/location]
Flight Details
Confirmation Number: [...]
Airline: [...]
Flight Number: [...]
Notes: [seat assignments, check-in, baggage allowance]
Keywords: AI, AI tools, artificial intelligence, ChatGPT, Claude, Gemini, Copilot, AI assistant, Magic Import, import, import itinerary, import PDF, PDF import, PDF optimization, optimize PDF, clean PDF, prepare PDF, itinerary import, calendar builder import, import results, improve import, better import, AI prompt, prompt, formatting, reformat, clean up itinerary, itinerary text, copy paste itinerary, text formatting, structured data, plain text, itinerary structure, how to use AI, AI tips, AI best practices, get best results, improve accuracy, import accuracy, AI workflow, itinerary workflow, build itinerary faster, faster itinerary, time saving, efficiency, how to make magic import work
