Create Business Trip Application
create_business_trip_applicationCreate a German business trip application form (Dienstreiseantrag) by providing destination, dates, and purpose. The tool determines transport mode and generates a PDF.
Instructions
You are helping fill out a German business-trip application (Dienstreiseantrag).
The applicant is based in Leipzig, Germany. Use the following rules to decide
transport mode, checkboxes, and dates before calling create_business_trip_application.
Do not make up information! E.g. if you don't know the applicant's home address, IBAN,
or other personal details, leave them None or null (not empty string).
You must provide these fields, and you need to reason some of them based on what is
given by the user:
destination (at least postal code + city + country, if not in Germany)
purpose (meeting name or similar)
departure_date
departure_time
business_start_date
business_start_time
business_end_date
business_end_time
return_date
return_time
These fields are optional and not required:
service_unit
applicant_name
department": "Antragsteller.Referat",
office_phone
home_address
additional_home_address
temporary_stay_address
overnight_cost_per_night
private_car_reason (only required if using a private car for traveling)
flight_reason (only required if using a flight for traveling)
private_stay_from
private_stay_until
private_stay_destination
iban
bic
bank_name
explanations
explanations_continuation
application_date If the user didn't provide them, do not fill them! Keep them None / null.
Choosing the transport mode
Destinations inside Germany, or otherwise reachable comfortably by rail in a few hours (e.g. neighbouring countries such as Poland, Czechia, or nearby parts of Austria/Netherlands), should use train + public transport for both legs: set
outbound_train=True,outbound_bus_or_public_transport=True,return_train=True,return_bus_or_public_transport=True.Destinations that are far away, overseas, or would otherwise require a very long train ride (roughly more than half a day of travel each way, e.g. most of Western/Southern Europe onward, or anywhere outside Europe) should use flight instead: set
outbound_flight=Trueandreturn_flight=True. Useflight_reason/flight_reason_continuationto justify the choice if asked.Only select one primary mode per leg unless additional legs (e.g. bus/public transport to/from the airport or station) are genuinely part of the journey.
Estimating departure and return dates/times
Assume the traveller starts and ends every trip in Leipzig. Before setting
departure_date/departure_time and return_date/return_time, estimate the
one-way travel time from Leipzig to the destination (and back):
Nearby destinations reachable within roughly 2-3 hours (e.g. Dresden, Berlin, Halle): same-day travel is fine; departure can be the morning of
business_start_dateand return the evening ofbusiness_end_date.Mid-distance destinations requiring roughly half a day of travel each way (e.g. Paris, Munich to a far corner of Germany, most of Central Europe by train, or a short flight including airport transfer time): if
business_start_timeis in the early morning (roughly before 9-10am), the traveller cannot arrive in time same-day, so setdeparture_dateto the day BEFOREbusiness_start_date(with an afternoon/eveningdeparture_time). Otherwise, an early-morning departure onbusiness_start_dateitself may be reasonable. Apply the same logic symmetrically to the return: ifbusiness_end_timeis late in the day and travel home would take half a day, setreturn_dateto the day AFTERbusiness_end_date; only keep the return on the same day if there is clearly enough remaining time after the business ends.Long-distance/overseas destinations reachable only by flight: budget extra time for airport transfers, check-in, and connections. Set the departure the day before the business start whenever the start time plus necessary travel time would not otherwise be reachable, and similarly delay the return by a day when the business end time is late.
When in doubt, prefer arriving with a comfortable buffer (e.g. arriving the evening before an early-morning meeting) over risking a missed appointment, but avoid padding travel by more than necessary (don't add a full travel day for a destination that's only 1-2 hours away).
Note that departure_date and departure_time must be reasonably BEFORE
business_start_date and business_start_time, and return_date and return_time
must be reasonably AFTER business_end_date and business_end_time.
General notes
Dates accepted by the tool are
YYYY-MM-DDorDD.MM.YYYY; times are free text (e.g. "08:00").Personal fields (home address, IBAN, etc.) fall back to values in
.envif not provided; do not invent these values yourself, ask the user if they are missing and not already on file.Leave fields unset (do not guess) when information is genuinely unknown; blank fields stay empty in the generated PDF for the applicant or office to fill in later.
When the application was created, provide a markdown link to the file, e.g. .
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bic | No | ||
| iban | No | ||
| purpose | Yes | ||
| bank_name | No | ||
| breakfast | No | ||
| department | No | ||
| destination | Yes | ||
| return_date | Yes | ||
| return_time | Yes | ||
| explanations | No | ||
| home_address | No | ||
| office_phone | No | ||
| return_train | No | ||
| service_unit | No | ||
| bahncard_rate | No | ||
| flight_reason | No | ||
| meal_provider | No | ||
| return_flight | No | ||
| travel_end_at | No | ||
| applicant_name | No | ||
| bahncard_class | No | ||
| departure_date | Yes | ||
| departure_time | Yes | ||
| outbound_train | No | ||
| travel_card_to | No | ||
| bahncard_number | No | ||
| outbound_flight | No | ||
| application_date | No | ||
| application_kind | No | ||
| requests_advance | No | ||
| travel_card_from | No | ||
| business_end_date | Yes | ||
| business_end_time | Yes | ||
| employment_status | No | ||
| overnight_payment | No | ||
| private_stay_from | No | ||
| travel_start_from | No | ||
| bonus_program_name | No | ||
| overnight_provider | No | ||
| overnight_required | No | ||
| private_car_reason | No | ||
| private_stay_until | No | ||
| return_private_car | No | ||
| business_start_date | Yes | ||
| business_start_time | Yes | ||
| meals_provided_free | No | ||
| return_official_car | No | ||
| bahncard_valid_until | No | ||
| outbound_private_car | No | ||
| outbound_official_car | No | ||
| has_field_service_role | No | ||
| return_other_transport | No | ||
| temporary_stay_address | No | ||
| additional_home_address | No | ||
| additional_participants | No | ||
| uses_official_air_miles | No | ||
| outbound_other_transport | No | ||
| overnight_cost_per_night | No | ||
| private_stay_destination | No | ||
| explanations_continuation | No | ||
| uses_personal_travel_card | No | ||
| flight_reason_continuation | No | ||
| participates_in_bonus_program | No | ||
| return_bus_or_public_transport | No | ||
| private_car_reason_continuation | No | ||
| return_other_transport_selected | No | ||
| return_passenger_in_private_car | No | ||
| outbound_bus_or_public_transport | No | ||
| outbound_other_transport_selected | No | ||
| outbound_passenger_in_private_car | No | ||
| requests_flight_cost_reimbursement | No | ||
| requests_recognition_for_private_car | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |